/* =========================================================================
   Guide Finance — charte 2026 « vert sapin + or »
   Titres : Fraunces (variable, OFL) · Texte : Manrope (variable, OFL)
   Polices auto-hébergées dans le plugin (pas d'appel à Google Fonts).
   ========================================================================= */

@font-face {
	font-family: "GF Serif";
	src: url("fonts/fraunces.woff2") format("woff2-variations"), url("fonts/fraunces.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "GF Sans";
	src: url("fonts/manrope.woff2") format("woff2-variations"), url("fonts/manrope.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}

/* Palette : on redéfinit les couleurs globales d'Astra, tout le thème suit */
:root,
:root body {
	--ast-global-color-0: #0f3d2e;
	--ast-global-color-1: #1a5a43;
	--ast-global-color-2: #13261e;
	--ast-global-color-3: #3a3f3b;
	--ast-global-color-4: #f7f4ec;
	--ast-global-color-5: #ffffff;
	--ast-global-color-6: #e3dccb;
	--ast-global-color-7: #0b2e22;
	--ast-global-color-8: #1b1b1b;

	--gf-green: #0f3d2e;
	--gf-green-2: #1a5a43;
	--gf-leaf: #3e8e6a;
	--gf-gold: #c8a24a;
	--gf-gold-2: #b38b30;
	--gf-gold-text: #8a6a1f;
	--gf-cream: #f7f4ec;
	--gf-soft: #efe9db;
	--gf-line: #e3dccb;
	--gf-heading: #13261e;
	--gf-text: #3a3f3b;
	--gf-muted: #6b6f68;
	--gf-dark: #0b2e22;

	--gf-serif: "GF Serif", "Iowan Old Style", Georgia, serif;
	--gf-sans: "GF Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--gf-radius: 18px;
	--gf-shadow: 0 1px 2px rgba(19, 38, 30, .05), 0 10px 30px rgba(19, 38, 30, .07);
	--gf-shadow-hover: 0 2px 4px rgba(19, 38, 30, .06), 0 18px 44px rgba(19, 38, 30, .13);
}

/* -------------------------------------------------------------------------
   Typographie
   ---------------------------------------------------------------------- */
body,
button, input, select, textarea,
.ast-button, .button, .wp-block-button__link,
#page :is(p, li, a, span, div, td, th, dt, dd, label, figcaption, time, small, strong, em, b, blockquote, cite, input, button) {
	font-family: var(--gf-sans) !important;
}
#page :is(h1, h2, h3, h4, h5, h6, .site-title, .entry-title, .ast-archive-title, .widget-title, .gf-prefooter__name, .gf-stats__grid dd),
#page :is(h1, h2, h3, h4, h5, h6, .site-title, .entry-title, .ast-archive-title) * {
	font-family: var(--gf-serif) !important;
	font-optical-sizing: auto;
	font-weight: 600;
	letter-spacing: -.015em;
}
body { color: var(--gf-text); font-size: 16px; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
#page p { font-weight: 450; }
#page strong, #page b { font-weight: 700; }

::selection { background: var(--gf-gold); color: var(--gf-green); }

/* Liens et boutons */
#page a { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }
#page .wp-block-button__link,
#page .ast-button,
#page .button,
#page input[type="submit"] {
	border-radius: 999px !important;
	font-weight: 700 !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
	transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease !important;
}
#page .wp-block-button__link::first-letter,
#page .wp-block-button__link .uagb-inline-editing::first-letter { text-transform: uppercase; }
#page .wp-block-button__link .uagb-inline-editing { display: inline-block; }
#page .wp-block-button__link:hover,
#page .ast-button:hover { transform: translateY(-1px); }

/* Sections sombres : boutons or */
.gf-dark .wp-block-button__link {
	background: var(--gf-gold) !important;
	color: var(--gf-green) !important;
	border-color: var(--gf-gold) !important;
	box-shadow: 0 8px 24px rgba(200, 162, 74, .25) !important;
}
.gf-dark .wp-block-button__link:hover { background: #d8b45c !important; }

/* -------------------------------------------------------------------------
   En-tête
   ---------------------------------------------------------------------- */
#masthead {
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(247, 244, 236, .9) !important;
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	backdrop-filter: saturate(160%) blur(12px);
	border-bottom: 1px solid var(--gf-line);
}
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { .admin-bar #masthead { top: 0; } }
#masthead .main-header-bar,
#masthead .ast-primary-header-bar,
#masthead .ast-mobile-header-wrap .ast-primary-header-bar,
#masthead .site-primary-header-wrap { background: transparent !important; border: 0 !important; }

.gf-logo-link { display: inline-flex; line-height: 0; }
.gf-logo { width: 48px; height: 48px; display: block; transition: transform .2s ease; }
.gf-logo-link:hover .gf-logo { transform: rotate(-4deg) scale(1.04); }
@media (max-width: 544px) { .gf-logo { width: 40px; height: 40px; } }

#masthead .site-title,
#masthead .site-title a {
	color: var(--gf-green) !important;
	font-size: 25px !important;
	line-height: 1.1 !important;
	font-weight: 650 !important;
	letter-spacing: -.02em;
}
#masthead .site-description {
	color: var(--gf-muted) !important;
	font-size: 13px !important;
	font-weight: 500;
	margin-top: 2px;
}
@media (max-width: 544px) {
	#masthead .site-title, #masthead .site-title a { font-size: 21px !important; }
	#masthead .site-description { display: none; }
}

#masthead .main-header-menu .menu-link {
	color: var(--gf-heading) !important;
	font-weight: 600;
	font-size: 15px;
}
#masthead .main-header-menu .menu-item:hover > .menu-link,
#masthead .main-header-menu .current-menu-item > .menu-link,
#masthead .main-header-menu .current-menu-ancestor > .menu-link { color: var(--gf-green) !important; }
.main-header-menu > .menu-item > .menu-link::after { background: var(--gf-gold) !important; height: 2px; }
#masthead .main-header-menu .sub-menu {
	border: 1px solid var(--gf-line) !important;
	border-radius: 14px;
	box-shadow: var(--gf-shadow-hover);
	padding: 8px;
	background: #fff;
}
#masthead .main-header-menu .sub-menu .menu-link { border-radius: 8px; padding: .6em 1em; }
#masthead .main-header-menu .sub-menu .menu-link:hover { background: var(--gf-cream); }
#masthead .ast-mobile-menu-trigger-minimal,
#masthead .menu-toggle { color: var(--gf-green) !important; border-color: var(--gf-line) !important; border-radius: 10px; }

/* -------------------------------------------------------------------------
   Fond général
   ---------------------------------------------------------------------- */
/* (pas de fond sur #content : certaines sections Spectra sont en z-index -1) */
body,
body.ast-separate-container { background-color: var(--gf-cream) !important; }

/* -------------------------------------------------------------------------
   ACCUEIL — hero
   ---------------------------------------------------------------------- */
.gf-hero {
	background: radial-gradient(1100px 520px at 85% 15%, rgba(200, 162, 74, .14), transparent 60%),
		radial-gradient(800px 500px at 0% 100%, rgba(62, 142, 106, .25), transparent 60%),
		var(--gf-green) !important;
}
.gf-hero .uagb-container__shape path { fill: var(--gf-cream) !important; }
.gf-hero :is(h1, h2, .uagb-heading-text, .uagb-ifb-title) { color: var(--gf-cream) !important; font-weight: 600 !important; }
.gf-hero :is(h1, .uagb-ifb-title) { font-size: clamp(38px, 5vw, 62px) !important; line-height: 1.05 !important; letter-spacing: -.025em !important; }
.gf-hero :is(p, .uagb-ifb-desc, .uagb-desc-text) { color: #d5e0d9 !important; font-size: 18px !important; line-height: 1.6 !important; }
.gf-hero :is(.uagb-ifb-title-prefix, .uagb-highlight, .gf-eyebrow, h6, h5) { color: var(--gf-gold) !important; letter-spacing: .14em !important; }
#page .gf-illu {
	display: block;
	width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
	aspect-ratio: auto !important;
	max-width: 560px;
	margin: 0 auto;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: none !important;
}
.gf-illu-wrap,
.gf-illu-wrap figure,
.gf-illu-wrap .wp-block-uagb-image__figure {
	border: 0 !important;
	box-shadow: none !important;
	background: none !important;
	border-radius: 0 !important;
	overflow: visible !important;
}
.gf-illu-wrap::before, .gf-illu-wrap::after,
.gf-illu-wrap figure::before, .gf-illu-wrap figure::after { display: none !important; }

/* Bandeau de réassurance sous le hero */
.gf-trust {
	position: relative;
	z-index: 3;
	max-width: 1140px;
	margin: -46px auto 0;
	padding: 0 20px;
}
.gf-trust ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid var(--gf-line);
	border-radius: var(--gf-radius);
	box-shadow: var(--gf-shadow);
}
.gf-trust li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 22px;
	margin: 0;
	border-left: 1px solid var(--gf-line);
}
.gf-trust li:first-child { border-left: 0; }
.gf-trust strong {
	display: block;
	font-family: var(--gf-serif) !important;
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
	color: var(--gf-green);
}
.gf-trust span { display: block; font-size: 13.5px; line-height: 1.35; color: var(--gf-muted); margin-top: 4px; }
.gf-trust .gf-trust__icon {
	flex: none;
	width: 44px; height: 44px;
	border-radius: 12px;
	background: var(--gf-cream);
	display: grid;
	place-items: center;
}
.gf-trust .gf-trust__icon svg { width: 26px; height: 26px; }
@media (max-width: 921px) {
	.gf-trust ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gf-trust li:nth-child(3) { border-left: 0; }
	.gf-trust li:nth-child(n+3) { border-top: 1px solid var(--gf-line); }
}
@media (max-width: 544px) {
	.gf-trust { margin-top: -28px; }
	.gf-trust li { padding: 14px; gap: 10px; }
	.gf-trust .gf-trust__icon { display: none; }
	.gf-trust strong { font-size: 22px; }
}

/* Sections sombres de l'accueil (Notre différence, appel final) */
.gf-dark { background-color: var(--gf-green) !important; }
.gf-dark :is(h1, h2, h3, .uagb-heading-text, .uagb-ifb-title) { color: var(--gf-cream) !important; }
.gf-dark :is(p, .uagb-ifb-desc, .uagb-desc-text) { color: #d5e0d9 !important; }
.gf-cta { background: radial-gradient(700px 360px at 50% 0%, rgba(200, 162, 74, .18), transparent 70%), var(--gf-green) !important; }

/* Titres de section : petit filet or */
.gf-home .entry-content > .wp-block-uagb-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading h2.uagb-heading-text::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	border-radius: 3px;
	background: var(--gf-gold);
	margin: 16px auto 0;
}

/* Séparateurs Spectra : or */
#page .uagb-separator,
#page .uagb-separator-wrap .uagb-separator { border-color: var(--gf-gold) !important; background-color: transparent; }

/* Illustration « À propos » (accueil) */
.gf-home .gf-about-illu .gf-illu { max-width: 520px; filter: drop-shadow(0 24px 40px rgba(19, 38, 30, .15)); }

/* Témoignages */
.gf-testimonials .uagb-svg-wrapper svg,
.gf-testimonials .uagb-icon-wrapper svg { fill: var(--gf-gold) !important; color: var(--gf-gold) !important; }
.gf-testimonials .uagb-tm__desc { font-family: var(--gf-serif) !important; font-size: 21px !important; line-height: 1.5 !important; color: var(--gf-heading) !important; font-weight: 450; }
.gf-testimonials .uagb-tm__author-name { color: var(--gf-gold-text) !important; font-weight: 700 !important; }

/* Icônes dans les cartes de thématiques */
#page .gf-topics .gf-topic-icon {
	position: absolute !important;
	top: 26px;
	left: 28px;
	width: 54px !important;
	height: 54px !important;
	margin: 0 !important;
	border-radius: 16px;
	background: var(--gf-cream);
	display: grid;
	place-items: center;
	transition: background-color .2s ease, transform .2s ease;
}
.gf-topic-icon svg { width: 30px; height: 30px; }
.gf-topics > .wp-block-uagb-container:hover .gf-topic-icon { background: var(--gf-soft); transform: rotate(-4deg); }
@media (max-width: 544px) {
	#page .gf-topics .gf-topic-icon { top: 20px; left: 20px; width: 52px !important; height: 52px !important; }
}

/* Équipe et images éditoriales : on remplace l'ancien liseré bleu par l'or */
#page .wp-block-uagb-image__figure { border-color: var(--gf-gold) !important; }

/* -------------------------------------------------------------------------
   Pied de page
   ---------------------------------------------------------------------- */
.site-footer,
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap { background-color: var(--gf-dark) !important; border-color: rgba(255, 255, 255, .08) !important; }
.site-footer a { color: var(--gf-gold) !important; }
.gf-prefooter { background: var(--gf-dark) !important; }
.gf-prefooter__logo { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 10px; text-decoration: none !important; }
.gf-prefooter__logo svg { width: 44px; height: 44px; }
.gf-prefooter__logo .gf-prefooter__name { margin: 0 !important; }
.gf-prefooter__title { color: var(--gf-gold) !important; }
