/* ==========================================================================
   Evok — header + footer statiques pour le site forms
   Reproduit sobrement l'identite Evok Collection (logo, footer bleu fonce).
   ========================================================================== */

/* ---- Reset : la marge par defaut du navigateur (8px) n'est plus annulee
        par le theme car global-styles est dequeued par le plugin ---- */
body {
	margin: 0;
}

/* ---- Pas de defilement horizontal sur mobile ----
   Filet de securite : la cause principale (la gouttiere negative de 80px du
   bloc newsletter) est corrigee dans evok-footer.css, mais un contenu large
   colle par le client (tableau, image, iframe) provoquerait le meme decalage.
   Rien n'est en position:sticky sur ce site — le header est en position:fixed,
   que overflow-x n'affecte pas. ---- */
@media (max-width:767px) {
	html, body { overflow-x: hidden; max-width: 100%; }
}

/* ---- Masque le header/footer du theme par defaut (themes blocs TT2->TT5
        + fallback themes classiques). Le header/footer Evok sont injectes
        HORS de .wp-site-blocks, donc jamais concernes par ces regles. ---- */
.wp-site-blocks > header,
.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part:first-child,
header#masthead,
footer#colophon,
.site-header,
.site-footer {
	display: none !important;
}

/* ---- Contenu des pages dans un container type Evok ----
   Meme conteneur que le theme Evok : fluide, gouttiere 20px puis 40px
   au-dela de 768px, plafonne a 1440px a partir de 1200px. Le theme
   n'utilise pas les paliers Bootstrap — voir evok-footer.css. ---- */
.wp-site-blocks main {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	font-family: 'Futura PT', Arial, sans-serif;
	color: #121212;
}
@media (min-width:768px)  { .wp-site-blocks main { padding-left: 40px; padding-right: 40px; } }
@media (min-width:1200px) { .wp-site-blocks main { max-width: 1440px; } }

/* neutralise la contrainte de largeur TT25 (content-size) et les paddings
   globaux internes : c'est le container ci-dessus qui fait foi */
.wp-site-blocks main.is-layout-constrained > * { max-width: none; }
.wp-site-blocks main :where(.is-layout-constrained) > * { max-width: none; }
.wp-site-blocks main .has-global-padding { padding-left: 0; padding-right: 0; }

/* le titre WP de la page est masque quand le bloc formulaire a son propre
   titre (classe posee par body_class dans evok-forms.php) */
body.evok-hide-page-title .wp-site-blocks main h1.wp-block-post-title,
body.evok-hide-page-title .wp-site-blocks main .wp-block-post-title,
body.evok-hide-page-title .wp-site-blocks main > h1.wp-block-heading {
	display: none;
}

/* les containers des blocs Evok injectes dans le main (deja un container)
   ne doivent pas doubler le padding lateral */
.wp-site-blocks main .evok-site-footer .container {
	padding-left: 0;
	padding-right: 0;
}

/* titres facon Evok (Portrait light, comme le site principal) */
.wp-site-blocks main h1,
.wp-site-blocks main h2,
.wp-site-blocks main h3 {
	font-family: 'Portrait', Georgia, serif;
	font-weight: 300;
	color: #121212;
}
.wp-site-blocks main h1 { font-size: 50px; line-height: 48px; }
.wp-site-blocks main h2 { font-size: 48px; line-height: normal; }
.wp-site-blocks main h3 { font-size: 35px; line-height: normal; }
@media (max-width:767px) {
	.wp-site-blocks main h1 { font-size: 40px; line-height: normal; }
	.wp-site-blocks main h2 { font-size: 40px; }
	.wp-site-blocks main h3 { font-size: 30px; }
}

/* ---- Header Evok ---- */
.evok-chrome-header {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 22px 20px;
	background: #ffffff;
	border-bottom: 1px solid rgba(18, 18, 18, .12);
}
.evok-chrome-header__logo {
	display: inline-flex;
}
.evok-chrome-header__logo img {
	display: block;
	height: 52px;
	width: auto;
}

/* ---- Footer Evok ---- */
.evok-chrome-footer {
	background: #13294B;
	color: #fff;
	font-family: 'Futura PT', Arial, sans-serif;
	padding: 50px 20px 42px;
	margin-top: 64px;
}
.evok-chrome-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
}
.evok-chrome-footer__logo img {
	display: block;
	height: 60px;
	width: auto;
}

/* reseaux */
.evok-chrome-footer__social {
	display: flex;
	gap: 22px;
}
.evok-chrome-footer__social a {
	display: inline-flex;
	color: #fff;
	opacity: .85;
	transition: opacity .3s ease;
}
.evok-chrome-footer__social a:hover {
	opacity: 1;
}

/* liens legaux */
.evok-chrome-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 28px;
}
.evok-chrome-footer__legal a {
	position: relative;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	letter-spacing: .02em;
}
.evok-chrome-footer__legal a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 0;
	height: 1px;
	background: #fff;
	transition: width .35s ease;
}
.evok-chrome-footer__legal a:hover::after {
	width: 100%;
}

/* copyright */
.evok-chrome-footer__copy {
	margin: 0;
	font-size: 13px;
	letter-spacing: .04em;
	color: rgba(255, 255, 255, .6);
}

@media (max-width: 767px) {
	.evok-chrome-header__logo img { height: 44px; }
	.evok-chrome-footer { padding: 40px 20px 34px; margin-top: 48px; }
	.evok-chrome-footer__logo img { height: 52px; }
}
