/*
 Theme Name:   SpaGonflable
 Description:  Theme enfant de GeneratePress pour SpaGonflable.org
 Template:     generatepress
 Version:      1.0
 Text Domain:  spagonflable
*/

:root {
	--spa-bleu: #0a7fa0;
	--spa-cyan: #10b5dd;
	--spa-nuit: #384a77;
	--spa-fond: #eef8fb;
	--spa-trait: #d5e4ea;
	--spa-texte: #2b3345;
}

body {
	color: var(--spa-texte);
	font-size: 18px;
	line-height: 1.6;
}

a { color: var(--spa-bleu); }
a:hover, a:focus { color: var(--spa-nuit); }

h1, h2, h3, h4, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4 {
	color: var(--spa-nuit);
	font-weight: 700;
	line-height: 1.2;
}
h1, .entry-content h1 { font-size: 40px; }
.entry-content h2 { font-size: 30px; margin-top: 1.8em; }
.entry-content h3 { font-size: 23px; margin-top: 1.4em; }
.entry-content h4 { font-size: 19px; }
.entry-content p { text-align: left !important; }

.inside-article { margin-left: auto; margin-right: auto; max-width: 860px; }
.su-button-center { margin-bottom: 26px !important; margin-top: 26px !important; }

.entry-content img { border-radius: 12px; height: auto; max-width: 100%; }
.entry-content img.aligncenter, .entry-content img.wp-image-1184 { display: block; margin-left: auto; margin-right: auto; }
.featured-image img { border-radius: 14px; max-height: 420px; object-fit: cover; width: 100%; }
.entry-content img[width="64"], .entry-content img[width="50"], .entry-content img[width="48"], .entry-content img[width="32"] { border-radius: 0; }
.entry-content hr { background: var(--spa-trait); border: 0; height: 2px; margin: 2.4em 0; }

/* Entete */
.site-logo img, .site-header .header-image { height: auto; max-height: 52px; width: auto; }
.inside-header { padding: 14px 20px; }
.main-navigation .main-nav ul li a {
	color: var(--spa-nuit);
	font-size: 13px;
	font-weight: 700;
	line-height: 46px;
	padding-left: 8px;
	padding-right: 8px;
	text-transform: uppercase;
}
.main-navigation .main-nav ul li.menu-item-has-children > a { padding-right: 2px; }
.main-navigation, .main-navigation ul ul { background: #fff; }
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a { background: transparent; color: var(--spa-bleu); }
.main-navigation ul ul { border-radius: 0 0 10px 10px; box-shadow: 0 10px 24px rgba(56, 74, 119, .14); width: 260px; }
.main-navigation .main-nav ul ul li a { font-size: 14px; font-weight: 600; line-height: 1.35; padding-bottom: 11px; padding-top: 11px; text-transform: none; }

/* Boutons */
a.su-button, a.spa-bouton {
	background: var(--spa-bleu) !important;
	border: 0 !important;
	border-radius: 10px !important;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	transition: background .15s ease;
}
a.su-button:hover, a.spa-bouton:hover { background: var(--spa-nuit) !important; }
a.su-button span {
	background: none !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 18px !important;
	line-height: 1.3 !important;
	padding: 13px 26px !important;
	text-shadow: none !important;
}
a.spa-bouton { display: inline-block; font-size: 17px; line-height: 1.3; padding: 12px 22px; text-align: center; }

/* Bloc produit */
.spa-carte {
	background: var(--spa-fond);
	border-radius: 14px;
	margin: 26px 0;
	padding: 22px 26px;
}
.spa-carte-titre { color: var(--spa-nuit); font-size: 20px; font-weight: 700; line-height: 1.3; margin: 0 0 10px; }
.spa-carte-texte { font-size: 17px; margin: 0 0 16px; }
.spa-carte-texte ul { margin: 0 0 0 20px; }
.spa-carte-texte li { margin-bottom: 4px; }
.spa-carte-texte p:last-child { margin-bottom: 0; }

/* Tableaux : premiere colonne a gauche, le reste centre, jamais de defilement de toute la page */
.spa-cadre { border: 1px solid var(--spa-trait); border-radius: 12px; margin: 26px 0; overflow-x: auto; }
.entry-content .spa-table { border: 0; border-collapse: collapse; display: table; font-size: 16px; margin: 0; min-width: 560px; overflow: visible; width: 100%; }
.spa-table th, .spa-table td { border: 0; border-bottom: 1px solid var(--spa-trait); padding: 11px 14px; text-align: center; vertical-align: middle; }
.spa-table th:first-child, .spa-table td:first-child { color: var(--spa-nuit); font-weight: 700; text-align: left; }
.spa-table thead th { background: var(--spa-nuit); color: #fff; font-weight: 700; }
.spa-table thead th:first-child { color: #fff; }
.spa-table tr:last-child td { border-bottom: 0; }
.spa-table ul { list-style: none; margin: 0; }
.spa-table a.spa-bouton { font-size: 15px; padding: 9px 14px; }
.entry-content table:not(.spa-table) { border-collapse: collapse; display: block; font-size: 16px; max-width: 100%; overflow-x: auto; }
.entry-content table:not(.spa-table) td, .entry-content table:not(.spa-table) th { border: 1px solid var(--spa-trait); padding: 9px 12px; }

/* Sommaire */
#toc_container { background: var(--spa-fond); border: 0; border-radius: 12px; padding: 16px 20px; }

/* Pied de page */
.site-footer .footer-widgets { background: var(--spa-nuit); color: #fff; }
.site-footer .footer-widgets a { color: #fff; }
.site-footer .footer-widgets a:hover { text-decoration: underline; }
.site-footer .footer-widgets .widget-title { color: #fff; font-size: 19px; font-weight: 700; }
.site-footer .footer-widgets ul { font-size: 16px; }
.site-footer .footer-widgets li { margin-bottom: 6px; }
.site-info { background: #2c3a5f; color: #fff; font-size: 15px; }
.site-info a { color: #fff; text-decoration: underline; }

@media (max-width: 768px) {
	body { font-size: 17px; }
	h1, .entry-content h1 { font-size: 30px; }
	.entry-content h2 { font-size: 25px; }
	.entry-content h3 { font-size: 21px; }
	.entry-content .alignleft, .entry-content .alignright { float: none; margin-left: 0; margin-right: 0; }
	.spa-carte { padding: 18px; }
	.main-navigation .main-nav ul li a { font-size: 16px; line-height: 50px; }
	.main-navigation .main-nav ul ul li a { line-height: 1.35; }
	a.su-button { display: block !important; width: 100% !important; }
}
