/* ==========================================================================
   WootFishing — styles du thème (site + éditeur)
   Couleurs/polices : déclarées dans theme.json (variables --wp--preset--*).
   ========================================================================== */

:root {
	--wf-ink: var(--wp--preset--color--ink, #0A0A0A);
	--wf-paper: var(--wp--preset--color--paper, #F3F2F2);
	--wf-warm: var(--wp--preset--color--paper-warm, #F2EFE9);
	--wf-white: var(--wp--preset--color--hero-white, #FAFAF8);
	--wf-t2: var(--wp--preset--color--text-2, #4A4843);
	--wf-t3: var(--wp--preset--color--text-3, #6A6862);
	--wf-t4: var(--wp--preset--color--text-4, #9A978F);
	--wf-rule: var(--wp--preset--color--rule, #DDD9D1);
	--wf-border: var(--wp--preset--color--border, #CFCBC3);
	--wf-stepnum: var(--wp--preset--color--step-num, #C6C1B7);
	--wf-display: var(--wp--preset--font-family--gabarito, 'Gabarito', system-ui, sans-serif);
	--wf-text: var(--wp--preset--font-family--hanken-grotesk, 'Hanken Grotesk', system-ui, sans-serif);
	--wf-gutter: clamp(20px, 4.2vw, 60px);
	/* Marge latérale : le fond des sections est pleine largeur, le contenu reste centré (1320 px max) */
	--wf-pad: max(var(--wf-gutter), calc((100% - 1320px) / 2));
	--wf-header-h: 72px;
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--wf-ink); color: var(--wf-white); }
img { max-width: 100%; height: auto; }

/* Pleine largeur : fond #F3F2F2 ; seul le contenu est limité à 1320 px (voir --wf-pad) */
.wp-site-blocks {
	max-width: none;
	margin: 0;
	background: var(--wf-paper);
	overflow-x: clip;
}
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > main { flex: 1 0 auto; }

/* Sections : marges latérales communes */
.wf-section { padding-left: var(--wf-pad); padding-right: var(--wf-pad); box-sizing: border-box; }
.wf-section :where(p, h1, h2, h3, h4, figure) { margin: 0; }
.wf-section :where(h2) { text-wrap: balance; }

/* Éléments communs ---------------------------------------------------------- */
.wf-eyebrow {
	margin: 0 0 28px;
	font-size: 17px; font-weight: 700; line-height: 1.4;
	letter-spacing: .2em; text-transform: uppercase;
	color: var(--wf-t3);
}
.wf-label {
	margin: 0 0 20px;
	font-size: 11px; font-weight: 600; line-height: 1.4;
	letter-spacing: .18em; text-transform: uppercase;
	color: var(--wf-t4);
}
.wf-muted { margin: 0; font-size: 14px; color: var(--wf-t3); }
.wf-dim { opacity: .6; }
.wf-link-line { margin: 0; font-size: 14px; font-weight: 600; }
.wf-link-line a { display: inline-block; padding-bottom: 3px; border-bottom: 1px solid var(--wf-ink); color: var(--wf-ink); }
.wf-link-line a:hover { color: var(--wf-t3); border-color: var(--wf-t3); }

.wf-section h2.wp-block-heading,
.wf-section h2 {
	font-family: var(--wf-display); font-weight: 800;
	letter-spacing: -.042em; line-height: .92;
}

/* Boutons -------------------------------------------------------------------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.wp-block-button__link, .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 56px; box-sizing: border-box;
	padding: 0 36px;
	border: 1px solid transparent; border-radius: 999px;
	background: var(--wf-ink); color: var(--wf-paper);
	font-family: var(--wf-text); font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.wp-block-button__link:hover, .wp-element-button:hover { background: #2A2822; color: var(--wf-paper); }
.wp-block-button__link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.wf-btn-ghost .wp-block-button__link { background: rgba(243, 242, 242, .35); border-color: var(--wf-ink); color: var(--wf-ink); }
.wf-btn-ghost .wp-block-button__link:hover { background: var(--wf-ink); color: var(--wf-paper); }
.wf-btn-outline .wp-block-button__link { min-height: 52px; padding: 0 32px; background: transparent; border-color: var(--wf-border); color: var(--wf-ink); }
.wf-btn-outline .wp-block-button__link:hover { background: var(--wf-ink); border-color: var(--wf-ink); color: var(--wf-white); }
.wf-btn-ghost-light .wp-block-button__link { min-height: 48px; padding: 0 26px; background: transparent; border-color: rgba(250, 250, 248, .45); color: var(--wf-white); font-size: 14px; font-weight: 500; }
.wf-btn-ghost-light .wp-block-button__link:hover { background: var(--wf-paper); border-color: var(--wf-paper); color: var(--wf-ink); }

/* ==========================================================================
   EN-TÊTE
   ========================================================================== */
.wf-header {
	position: fixed; top: 0; z-index: 50;
	left: 0; right: 0; width: 100%;
	border-bottom: 1px solid transparent;
	transition: background-color .35s ease, border-color .35s ease;
}
.admin-bar .wf-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wf-header { top: 46px; } }
/* Sous 600px la barre d'administration défile avec la page : l'en-tête remonte en haut une fois défilé. */
@media (max-width: 600px) { .admin-bar .wf-header.is-scrolled { top: 0; } }

.wf-header__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 40px;
	box-sizing: border-box; width: 100%; max-width: none;
	padding: clamp(18px, 2.08vw, 30px) var(--wf-pad);
	transition: padding .35s ease;
}
.wf-header.is-scrolled,
.wf-inner .wf-header {
	background: rgba(243, 242, 242, .94);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	border-bottom-color: var(--wf-rule);
}
.wf-header.is-scrolled .wf-header__inner,
.wf-inner .wf-header__inner { padding-top: 15px; padding-bottom: 15px; }

.wf-header__logo { flex: none; width: 46px; margin: 0; line-height: 0; transition: opacity .3s ease; }
.wf-header__logo img { width: 38px; height: 38px; object-fit: contain; }

.wf-header__tools { display: flex; align-items: center; gap: 16px; flex: none; }

/* Hero (barre non défilée) : menu centré exactement sur la page — colonne gauche vide et colonne droite de même largeur */
@media (min-width: 1280px) {
	.wf-overhero .wf-header:not(.is-scrolled) .wf-header__logo { flex: 1 1 0; min-width: 46px; }
	.wf-overhero .wf-header:not(.is-scrolled) .wf-nav { flex: none; }
	.wf-overhero .wf-header:not(.is-scrolled) .wf-header__tools { flex: 1 1 0; justify-content: flex-end; }
}

/* Navigation principale */
.wf-nav { flex: 0 1 auto; }
.wf-nav .wp-block-navigation__container { gap: 32px; flex-wrap: nowrap; }
.wf-nav .wp-block-navigation-item__content {
	position: relative; padding: 4px 0;
	font-size: 15px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: var(--wf-ink);
	white-space: nowrap;
}
.wf-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 50%; right: 50%; bottom: -3px; height: 1.5px;
	background: var(--wf-ink); opacity: 0;
	transition: left .28s ease, right .28s ease, opacity .28s ease;
}
.wf-nav .wp-block-navigation-item__content:hover { color: var(--wf-ink); }
.wf-nav .wp-block-navigation-item__content:hover::after,
.wf-nav .wp-block-navigation-item__content[aria-current="page"]::after { left: 0; right: 0; opacity: 1; }
.wf-nav .wp-block-navigation-item__content[aria-current="page"] { color: var(--wf-ink); }
.wf-home .wf-nav .wp-block-navigation__container > li:first-child > .wp-block-navigation-item__content { color: var(--wf-ink); }
.wf-home .wf-nav .wp-block-navigation__container > li:first-child > .wp-block-navigation-item__content::after { left: 0; right: 0; opacity: 1; }
.wf-overhero .wf-header:not(.is-scrolled) .wf-nav,
.wf-overhero .wf-header:not(.is-scrolled) .wf-langnav { text-shadow: 0 1px 14px rgba(243, 242, 242, .55); }

/* Éléments réservés au tiroir mobile */
.wf-drawer-only { display: none !important; }

/* Sélecteur de langues (Polylang) */
.wf-langnav .wp-block-navigation__container { gap: 0; flex-wrap: nowrap; }
.wf-langnav .wp-block-navigation-item,
.wf-langnav .lang-item { display: flex; align-items: center; }
.wf-langnav .lang-item a,
.wf-langnav .wp-block-navigation-item__content {
	padding: 0; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	color: rgba(10, 10, 10, .6);
}
.wf-langnav .lang-item a:hover,
.wf-langnav .current-lang a,
.wf-langnav .current-lang .wp-block-navigation-item__content { color: var(--wf-ink); }
/* Une seule langue publiée : pas de sélecteur (il réapparaît dès qu'une traduction NL / EN existe). */
.wf-langnav:not(:has(.lang-item + .lang-item)),
.wf-nav .wp-block-navigation__container:not(:has(.lang-item + .lang-item)) .lang-item { display: none !important; }
.wf-langnav .lang-item + .lang-item::before { content: "/"; padding: 0 7px; font-size: 12px; font-weight: 600; color: rgba(10, 10, 10, .6); }

/* Bouton burger : visible sous 1280 px */
.wf-nav .wp-block-navigation__responsive-container-open {
	align-items: center; justify-content: center;
	width: 42px; height: 42px; padding: 0;
	border: 1px solid rgba(10, 10, 10, .32); border-radius: 999px;
	background: transparent; color: var(--wf-ink);
	transition: background .25s ease, color .25s ease;
}
.wf-nav .wp-block-navigation__responsive-container-open:hover { background: var(--wf-ink); color: var(--wf-paper); }
.wf-nav .wp-block-navigation__responsive-container-open svg { width: 18px; height: 18px; }

@media (max-width: 1279px) {
	.wf-header__inner { gap: 20px; }
	.wf-header__logo { order: 1; margin-right: auto; }
	.wf-header__tools { order: 2; }
	.wf-nav { order: 3; }
	.wf-header__tools .wf-langnav { display: none; }
	.wf-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.wf-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* Tiroir (menu ouvert) */
.wf-header .wf-nav .wp-block-navigation__responsive-container.is-menu-open {
	text-shadow: none;
	display: block;
	padding: 0;
	background: rgba(10, 10, 10, .45) !important;
	color: var(--wf-ink) !important;
	z-index: 100000;
}
/* Menu ouvert : le flou de l'en-tête défilé enfermerait le tiroir (position fixed) dans la hauteur
   de l'en-tête ; on le retire et on passe l'en-tête au-dessus de la barre d'administration. */
.wf-header:has(.wp-block-navigation__responsive-container.is-menu-open) { z-index: 100001; -webkit-backdrop-filter: none; backdrop-filter: none; }
.wf-header .wf-nav .is-menu-open .wp-block-navigation__responsive-close { max-width: none; margin: 0; height: 100%; }
.wf-header .wf-nav .is-menu-open .wp-block-navigation__responsive-dialog {
	position: absolute; top: 0; right: 0; bottom: 0;
	box-sizing: border-box; width: min(400px, 86vw); margin: 0;
	display: flex; flex-direction: column;
	padding: 18px 26px 30px;
	background: var(--wf-paper);
	box-shadow: -24px 0 60px rgba(10, 10, 10, .18);
	overflow-y: auto;
}
/* Téléphone : tiroir plein écran, sinon le logo de la page reste visible à côté de celui du tiroir. */
@media (max-width: 600px) {
	.wf-header .wf-nav .is-menu-open .wp-block-navigation__responsive-dialog { width: 100%; box-shadow: none; }
}
.wf-header .wf-nav .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: ""; display: block; flex: none;
	width: 40px; height: 40px; margin-bottom: 30px;
	background: url("../images/logo-w.png") center / contain no-repeat;
}
.wf-header .wf-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute; top: 18px; right: 26px;
	display: flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0;
	border: 1px solid rgba(10, 10, 10, .32); border-radius: 999px;
	background: transparent; color: var(--wf-ink);
}
.wf-header .wf-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover { background: var(--wf-ink); color: var(--wf-paper); }
.wf-header .wf-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding: 0; flex: 1; display: flex; flex-direction: column; }
.wf-header .wf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	display: grid; flex: 1; width: 100%; padding: 0; gap: 0; align-items: stretch; align-content: start;
	grid-template-columns: 1fr auto auto auto 1fr;
	grid-template-rows: repeat(9, min-content) 1fr min-content;
}
.wf-header .wf-nav .is-menu-open .wp-block-navigation-item { grid-column: 1 / -1; width: 100%; }
.wf-header .wf-nav .is-menu-open .wp-block-navigation-item__content {
	width: 100%; box-sizing: border-box;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 15px 0; border-bottom: 1px solid var(--wf-rule);
	font-family: var(--wf-display); font-weight: 700; font-size: 26px; line-height: 1.2; letter-spacing: -.02em; text-transform: none;
	color: var(--wf-ink);
}
.wf-header .wf-nav .is-menu-open .wp-block-navigation-item__content::after {
	position: static; height: auto; width: auto; background: none; opacity: 1;
	content: "→"; font-family: var(--wf-text); font-size: 18px; font-weight: 400; color: var(--wf-t4);
}
.wf-header .wf-nav .is-menu-open .wp-block-navigation-item__content:hover { color: var(--wf-t2); }
.wf-header .wf-nav .is-menu-open .wf-drawer-only { display: flex !important; }
.wf-header .wf-nav .is-menu-open .wf-drawer-cta { grid-row: 10; align-self: end; padding-top: 30px; }
.wf-header .wf-nav .is-menu-open .wf-drawer-cta .wp-block-navigation-item__content {
	justify-content: center; height: 54px; padding: 0; border: 0; border-radius: 999px;
	background: var(--wf-ink); color: var(--wf-paper);
	font-family: var(--wf-text); font-size: 15px; font-weight: 600; letter-spacing: 0;
}
.wf-header .wf-nav .is-menu-open .wf-drawer-cta .wp-block-navigation-item__content::after { content: none; }
.wf-header .wf-nav .is-menu-open .wf-drawer-cta .wp-block-navigation-item__content:hover { background: #2A2822; color: var(--wf-paper); }
.wf-nav .wp-block-polylang-navigation-language-switcher { display: none; }
.wf-header .wf-nav .is-menu-open .wp-block-polylang-navigation-language-switcher { display: inline-flex; flex-direction: row; grid-column: auto; grid-row: 11; width: auto; align-items: center; }
.wf-header .wf-nav .is-menu-open :not(.wp-block-polylang-navigation-language-switcher) + .wp-block-polylang-navigation-language-switcher { grid-column: 2; }
.wf-header .wf-nav .is-menu-open :not(.wp-block-polylang-navigation-language-switcher) + .wp-block-polylang-navigation-language-switcher + .wp-block-polylang-navigation-language-switcher { grid-column: 3; }
.wf-header .wf-nav .is-menu-open :not(.wp-block-polylang-navigation-language-switcher) + .wp-block-polylang-navigation-language-switcher + .wp-block-polylang-navigation-language-switcher + .wp-block-polylang-navigation-language-switcher { grid-column: 4; }
.wf-header .wf-nav .is-menu-open .wp-block-polylang-navigation-language-switcher .wp-block-navigation-item__content {
	display: inline; padding: 24px 0 0; border: 0;
	font-family: var(--wf-text); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(10, 10, 10, .6);
}
.wf-header .wf-nav .is-menu-open .wp-block-polylang-navigation-language-switcher .wp-block-navigation-item__content::after { content: none; }
.wf-header .wf-nav .is-menu-open .wp-block-polylang-navigation-language-switcher + .wp-block-polylang-navigation-language-switcher::before { content: "/"; padding: 24px 10px 0; font-size: 13px; font-weight: 600; color: rgba(10, 10, 10, .6); }
.wf-header .wf-nav .is-menu-open .current-lang .wp-block-navigation-item__content { color: var(--wf-ink); }

/* Mini-panier */
.wf-header__tools .wc-block-mini-cart { display: flex; }
.wf-header__tools .wc-block-mini-cart__button {
	position: relative; display: flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; padding: 0;
	border: 1px solid rgba(10, 10, 10, .32); border-radius: 999px;
	background: transparent; color: var(--wf-ink);
	transition: background .25s ease, color .25s ease;
}
.wf-header__tools .wc-block-mini-cart__button:hover { background: var(--wf-ink); color: var(--wf-paper); }
.wf-header__tools .wc-block-mini-cart__amount { display: none; }
.wf-header__tools .wc-block-mini-cart__quantity-badge { position: static; display: flex; padding: 0; }
.wf-header__tools .wc-block-mini-cart__icon { width: 17px; height: 17px; }
.wf-header__tools .wc-block-mini-cart__button .wc-block-mini-cart__badge {
	position: absolute; top: -4px; right: -4px; left: auto; transform: none;
	display: flex; align-items: center; justify-content: center;
	min-width: 18px; height: 18px; margin: 0; padding: 0 4px; box-sizing: border-box;
	border-radius: 999px; background: var(--wf-ink) !important; color: var(--wf-paper) !important;
	font-size: 10px; font-weight: 600; line-height: 1;
}

/* ==========================================================================
   HERO
   ========================================================================== */
.wf-hero {
	position: relative; overflow: hidden;
	height: clamp(700px, 100vh, 940px);
	background: #D9D5CD;
}
.wf-hero__slides { position: absolute; inset: 0; }
.wf-hero__slide.wp-block-cover {
	position: absolute; inset: 0; min-height: 0; padding: 0;
	background: #D9D5CD;
	opacity: 0; transition: opacity 1.1s ease;
	overflow: hidden;
}
/* 1re diapo et 1er texte visibles dès le chargement (pas de fondu depuis le fond) ; masqués seulement quand une autre diapo prend le relais. */
.wf-hero__slide:first-child { opacity: 1; }
.wf-js .wf-hero.is-init .wf-hero__slide:first-child:not(.is-active) { opacity: 0; }
.wf-js .wf-hero__slide.is-active { opacity: 1; }
.wf-hero__slide .wp-block-cover__image-background { transition: transform 0s linear 1.2s; }
.wf-js .wf-hero__slide.is-active .wp-block-cover__image-background { transform: scale(1.07); transition: transform 7s linear; }
.wf-hero__slide .wp-block-cover__video-background { transform: none !important; }

.wf-hero__veil {
	position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		radial-gradient(ellipse 46% 44% at 50% 50%, rgba(243, 242, 242, .5) 0%, rgba(243, 242, 242, 0) 72%),
		linear-gradient(180deg, rgba(243, 242, 242, .62) 0%, rgba(243, 242, 242, .14) 22%, rgba(243, 242, 242, .06) 70%, rgba(243, 242, 242, 0) 100%);
}
.wf-hero__content {
	position: absolute; inset: 0; z-index: 2;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	box-sizing: border-box; padding: 72px var(--wf-pad) 0;
	text-align: center; pointer-events: none;
}
/* Écrans peu hauts : le lien « Réparation » ne doit pas passer sous les repères de slides */
@media (min-width: 720px) and (max-height: 880px) {
	.wf-hero__content { padding-bottom: 76px; }
}
.wf-hero__content a, .wf-hero__content .wp-block-buttons { pointer-events: auto; }
.wf-hero__logo { margin: 0 0 clamp(20px, 2.4vw, 34px); }
.wf-hero__logo img { height: clamp(140px, 18.75vw, 270px); width: auto; object-fit: contain; }

.wf-hero__texts { display: grid; justify-items: center; margin-bottom: 34px; }
.wf-hero__text { grid-area: 1 / 1; display: flex; flex-direction: column; align-items: center; opacity: 0; transition: opacity .6s ease; }
.wf-hero__text:first-child { opacity: 1; }
.wf-js .wf-hero.is-init .wf-hero__text:first-child:not(.is-active) { opacity: 0; }
.wf-js .wf-hero__text.is-active { opacity: 1; }
.wf-hero__label { display: none; }
.wf-hero__title {
	margin: 0 0 18px; color: var(--wf-ink);
	font-family: var(--wf-display); font-weight: 800;
	font-size: clamp(34px, 3.89vw, 56px); line-height: .92; letter-spacing: -.042em;
	text-shadow: 0 1px 26px rgba(243, 242, 242, .6);
}
.wf-hero__sub {
	margin: 0; max-width: 760px; color: var(--wf-ink);
	font-family: var(--wf-display); font-weight: 500;
	font-size: clamp(20px, 1.67vw, 24px); line-height: 1.3; letter-spacing: -.02em; text-wrap: balance;
	text-shadow: 0 1px 22px rgba(243, 242, 242, .6);
}
.wf-hero__buttons { justify-content: center; }
.wf-hero__note {
	margin: 16px 0 0; font-size: 13px; font-weight: 600; color: rgba(10, 10, 10, .72);
	text-shadow: 0 1px 14px rgba(243, 242, 242, .6);
}
.wf-hero__repair { margin: 18px 0 0; font-size: 14px; color: rgba(10, 10, 10, .78); pointer-events: auto; }
.wf-hero__repair a { margin-left: 4px; padding-bottom: 2px; border-bottom: 1px solid currentColor; font-weight: 600; color: inherit; }
.wf-hero__repair a:hover { color: var(--wf-ink); }

/* Téléphone : petit logo en haut, textes et boutons en bas — le centre reste libre pour la photo et le leurre entier
   de la vidéo portrait (hero-leurre-mobile.mp4). Même mise en page pour les deux diapos : rien ne bouge au changement. */
@media (max-width: 600px) {
	/* Logo et textes remontés de 1,5 cm (57 px) ; le logo reste sous l'en-tête (79 px). */
	.wf-hero__content { justify-content: flex-start; padding-top: max(84px, calc(clamp(104px, 17vh, 162px) - 57px)); padding-bottom: 121px; }
	.wf-hero__logo { margin-bottom: 0; }
	.wf-hero__logo img { height: clamp(120px, 20.5vh, 190px); }
	.wf-hero__texts { margin-top: auto; margin-bottom: 22px; }
	.wf-hero__title { font-size: 32px; margin-bottom: 10px; }
	.wf-hero__sub { font-size: 17px; }
	.wf-hero__repair { display: none; }
	.wf-hero__note { font-weight: 700; color: var(--wf-ink); text-shadow: 0 0 10px rgba(243, 242, 242, .95), 0 0 3px rgba(243, 242, 242, .9); }
	/* Écrans peu hauts : la vidéo remonte un peu pour que les hameçons ne touchent pas le titre */
	.wf-hero.is-video .wf-hero__slide .wp-block-cover__video-background { transform: translateY(-5%) scale(1.1) !important; }
}
/* Petits téléphones (peu hauts) : logo limité pour ne pas chevaucher le leurre */
@media (max-width: 600px) and (max-height: 780px) {
	.wf-hero__content { padding-top: 84px; padding-bottom: 64px; } /* pas de place pour remonter les textes : le titre toucherait le leurre */
	.wf-hero__logo img { height: 134px; }
}
@media (max-width: 600px) and (min-height: 820px) {
	.wf-hero.is-video .wf-hero__slide .wp-block-cover__video-background { transform: none !important; }
}

/* Repères de slides (créés par le script) */
.wf-hero__dots {
	position: absolute; left: 50%; bottom: clamp(20px, 2.8vw, 40px); transform: translateX(-50%); z-index: 3;
	display: flex; gap: clamp(10px, 1.7vw, 24px);
}
.wf-hero__dot {
	display: flex; flex-direction: column; gap: 8px;
	width: clamp(64px, 8vw, 116px); padding: 6px 0;
	border: 0; background: transparent; color: var(--wf-ink); text-align: left; cursor: pointer;
	font-family: var(--wf-text); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	opacity: .55; transition: opacity .2s ease;
}
.wf-hero__dot:hover, .wf-hero__dot[aria-selected="true"] { opacity: 1; }
.wf-hero__dot-bar { position: relative; display: block; width: 100%; height: 2px; background: rgba(10, 10, 10, .22); overflow: hidden; }
.wf-hero__dot-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--wf-ink); }
.wf-hero__dot[aria-selected="true"] .wf-hero__dot-fill { width: 100%; transition: width 6s linear; }
.wf-hero.is-paused .wf-hero__dot-fill { transition: none; }

@media (max-width: 719px) {
	.wf-hero__buttons { flex-direction: column; }
}

/* ==========================================================================
   SAVOIR-FAIRE
   ========================================================================== */
.wf-craft { padding-top: clamp(72px, 8.33vw, 120px); padding-bottom: clamp(66px, 7.64vw, 110px); background: var(--wf-paper); }
.wf-craft__head { max-width: 940px; margin-bottom: 68px; }
.wf-craft__title { font-size: clamp(41px, 4.86vw, 70px); }
.wf-craft__cols.wp-block-columns {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: clamp(32px, 4.2vw, 60px); align-items: start; margin: 0;
}
.wf-craft__cols > .wp-block-column { flex-basis: auto !important; flex-grow: 0; min-width: 0; }
.wf-craft__media { position: sticky; top: 96px; height: clamp(360px, 57vw, 820px); border-radius: 3px; overflow: hidden; }
.wf-craft__media .wp-block-image, .wf-craft__media img { height: 100%; width: 100%; margin: 0; object-fit: cover; }
@media (max-width: 999px) { .wf-craft__media { position: relative; top: auto; } }
.wf-craft__body { padding-bottom: 8px; }
.wf-craft__lead { margin: 0 0 22px; font-size: 19px; line-height: 1.55; }
.wf-craft__text { margin: 0 0 44px; font-size: 17px; line-height: 1.6; color: var(--wf-t2); }
.wf-craft__item { display: flex; flex-wrap: wrap; gap: 8px 26px; padding: 22px 0; border-top: 1px solid #E4E1DB; }
.wf-craft__item h3 { flex: 0 0 168px; margin: 0; font-family: var(--wf-display); font-weight: 700; font-size: 18px; letter-spacing: -.01em; }
.wf-craft__item p { flex: 1 1 240px; margin: 0; font-size: 15px; line-height: 1.6; color: var(--wf-t2); }

/* ==========================================================================
   CITATION PARALLAXE
   ========================================================================== */
.wf-quote.wp-block-cover {
	min-height: clamp(440px, 43vw, 620px); padding: 0 var(--wf-pad); box-sizing: border-box;
	background-color: var(--wf-ink);
}
.wf-quote .wp-block-cover__image-background { background-size: cover; background-position: center 30%; }
.wf-quote .wp-block-cover__inner-container { width: 100%; text-align: center; }
.wf-quote__text {
	margin: 0 auto; max-width: 960px; color: var(--wf-white);
	font-family: var(--wf-display); font-weight: 700;
	font-size: clamp(32px, 3.89vw, 56px); line-height: 1.06; letter-spacing: -.035em; text-wrap: balance;
}
.wf-quote__author { margin: 34px 0 0; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: rgba(250, 250, 248, .7); }

/* ==========================================================================
   COMMENT ÇA FONCTIONNE
   ========================================================================== */
.wf-steps { padding-top: clamp(78px, 9.03vw, 130px); padding-bottom: clamp(72px, 8.33vw, 120px); }
.wf-steps__head { display: flex; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; gap: 60px; margin-bottom: 74px; }
.wf-steps__intro { max-width: 720px; }
.wf-steps__intro .wf-eyebrow { margin-bottom: 26px; }
.wf-steps__title { font-size: clamp(41px, 4.86vw, 70px); line-height: .94; }
.wf-steps__delay { flex: none; text-align: right; }
.wf-steps__delay-big { margin: 0 0 6px; font-family: var(--wf-display); font-weight: 700; font-size: clamp(20px, 2.08vw, 30px); line-height: 1; letter-spacing: -.025em; }
.wf-steps__delay-small { margin: 0; font-size: 14px; color: var(--wf-t3); }
@media (max-width: 899px) { .wf-steps__delay { text-align: left; } }

.wf-step { display: flex; flex-wrap: wrap; align-items: center; gap: 14px clamp(24px, 3.5vw, 50px); padding: clamp(24px, 2.4vw, 34px) 0; border-top: 1px solid var(--wf-rule); }
.wf-step__num {
	flex: 0 0 auto; min-width: clamp(56px, 9vw, 130px); margin: 0;
	font-family: var(--wf-display); font-weight: 800; font-size: clamp(45px, 5.42vw, 78px); line-height: .8; letter-spacing: -.05em;
	color: var(--wf-stepnum);
}
.wf-step__main { flex: 1 1 520px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px clamp(24px, 3.5vw, 50px); }
.wf-step__title { flex: 0 1 340px; margin: 0; font-family: var(--wf-display); font-weight: 700; font-size: clamp(20px, 2.22vw, 32px); letter-spacing: -.03em; line-height: 1.1; }
.wf-step__body { flex: 1 1 280px; max-width: 640px; }
.wf-step__body p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--wf-t2); }
.wf-step__body .wf-step__note { margin: 14px 0 0; padding-left: 14px; border-left: 1px solid var(--wf-stepnum); font-size: 13px; line-height: 1.55; color: var(--wf-t3); }
.wf-steps__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding-top: 44px; border-top: 1px solid var(--wf-rule); }

/* ==========================================================================
   RÉALISATIONS (carrousel)
   ========================================================================== */
.wf-reals { padding: clamp(60px, 6vw, 90px) var(--wf-pad); box-sizing: border-box; }
.wf-reals__head { display: flex; align-items: flex-start; flex-wrap: wrap; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.wf-reals .wf-eyebrow { margin-bottom: 22px; color: rgba(250, 250, 248, .8); }
.wf-reals__title { margin: 0; color: var(--wf-white); font-size: clamp(41px, 4.86vw, 70px); line-height: .9; }
.wf-rod { margin-bottom: 48px; }
.wf-rod__title { margin: 0 0 10px; color: var(--wf-white); font-family: var(--wf-display); font-weight: 700; font-size: clamp(20px, 2.08vw, 30px); letter-spacing: -.025em; line-height: 1.2; }
.wf-rod__meta { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: rgba(250, 250, 248, .8); }

/* Version carrousel (script actif) */
.wf-js .wf-reals { position: relative; height: clamp(760px, 61vw, 880px); padding: 0; overflow: hidden; }
.wf-js .wf-reals::after {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(10, 10, 10, .55) 0%, rgba(10, 10, 10, .05) 40%, rgba(10, 10, 10, .85) 100%);
}
.wf-js .wf-reals__head {
	position: absolute; z-index: 2; margin: 0;
	top: clamp(40px, 5.3vw, 76px); left: var(--wf-pad); right: var(--wf-pad);
}
.wf-js .wf-reals__rods { position: absolute; inset: 0; }
.wf-js .wf-rod { display: none; position: absolute; inset: 0; margin: 0; }
.wf-js .wf-rod.is-current { display: block; }
.wf-js .wf-rod__title, .wf-js .wf-rod__meta { display: none; }
.wf-js .wf-rod__gallery { position: absolute; inset: 0; display: block; margin: 0; }
.wf-js .wf-rod__gallery .wp-block-image { position: absolute !important; inset: 0; width: 100% !important; margin: 0 !important; opacity: 0; transition: opacity .6s ease; flex: none; }
.wf-js .wf-rod__gallery .wp-block-image.is-current { opacity: 1; }
.wf-js .wf-rod__gallery .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.wf-js .wf-rod__gallery .wp-block-image::before { content: none !important; }

.wf-reals__bar {
	position: absolute; z-index: 2; display: flex; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; gap: 60px;
	left: var(--wf-pad); right: var(--wf-pad); bottom: clamp(28px, 3.9vw, 56px);
}
.wf-reals__info { max-width: 600px; }
.wf-reals__info-title { margin: 0 0 10px; white-space: pre-line; line-height: 1.15; font-family: var(--wf-display); font-weight: 700; font-size: clamp(20px, 2.08vw, 30px); letter-spacing: -.025em; color: var(--wf-white); }
.wf-reals__info-meta { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(250, 250, 248, .8); }
.wf-reals__thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.wf-reals__thumb {
	width: 72px; height: 50px; padding: 0; overflow: hidden;
	border: 1.5px solid rgba(250, 250, 248, .25); border-radius: 2px; background: var(--wf-ink);
	cursor: pointer; opacity: .6; transition: opacity .2s ease, border-color .2s ease;
}
.wf-reals__thumb:hover, .wf-reals__thumb.is-current { opacity: 1; }
.wf-reals__thumb.is-current { border-color: var(--wf-white); }
.wf-reals__thumb span { display: block; width: 100%; height: 100%; background-size: cover; background-position: center; }
.wf-reals__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; }
.wf-reals__count { font-size: 14px; font-variant-numeric: tabular-nums; color: rgba(250, 250, 248, .72); }
.wf-reals__progress { position: relative; width: clamp(70px, 14vw, 200px); height: 2px; background: rgba(250, 250, 248, .22); }
.wf-reals__progress span { position: absolute; left: 0; top: 0; height: 2px; background: var(--wf-paper); transition: width .4s ease; }
.wf-arrows { display: flex; gap: 10px; }
.wf-arrow {
	display: flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; padding: 0; cursor: pointer;
	border: 1px solid rgba(250, 250, 248, .45); border-radius: 999px; background: transparent; color: var(--wf-white);
	transition: background .2s ease, color .2s ease;
}
.wf-arrow:hover { background: var(--wf-paper); color: var(--wf-ink); }
.wf-arrow--next { border-color: var(--wf-white); background: var(--wf-paper); color: var(--wf-ink); }
.wf-arrow--next:hover { background: #E6E3DD; }

/* ==========================================================================
   LEURRES EN BOIS
   ========================================================================== */
.wf-lures { padding-top: clamp(78px, 9.03vw, 130px); padding-bottom: clamp(72px, 8.33vw, 120px); background: var(--wf-paper); }
.wf-lures__head { display: flex; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; gap: 60px; margin-bottom: 56px; }
.wf-lures__intro { max-width: 780px; }
.wf-lures__intro .wf-eyebrow { margin-bottom: 26px; }
.wf-lures__title { font-size: clamp(41px, 4.86vw, 70px); line-height: .94; }
.wf-lures__lead { margin: 0; max-width: 480px; font-size: 16px; line-height: 1.6; color: var(--wf-t2); }
.wf-lures__cols.wp-block-columns {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 26px; margin: 0;
}
.wf-lures__cols > .wp-block-column { flex-basis: auto !important; flex-grow: 0; min-width: 0; }
.wf-lures__cols .wp-block-image { height: clamp(320px, 36vw, 520px); margin: 0 0 20px; }
.wf-lures__cols .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.wf-lures__cap { padding-top: 16px; border-top: 1px solid var(--wf-rule); }
.wf-lures__cap h3 { margin: 0 0 8px; font-family: var(--wf-display); font-weight: 700; font-size: 22px; letter-spacing: -.025em; }
.wf-lures__cap p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--wf-t2); }
.wf-lures__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 50px; }
.wf-lures__cta .wp-block-button__link { min-height: 54px; padding: 0 34px; }

/* ==========================================================================
   MERCH
   ========================================================================== */
.wf-merch-wrap { padding-bottom: clamp(72px, 8.33vw, 120px); background: var(--wf-paper); }
.wf-merch.wp-block-media-text {
	display: grid; grid-template-columns: 1fr 1fr; align-items: center;
	gap: clamp(32px, 4.2vw, 60px);
	padding-top: 56px; border-top: 1px solid var(--wf-rule);
}
.wf-merch .wp-block-media-text__media { grid-column: 1; grid-row: 1; height: clamp(300px, 32vw, 460px); margin: 0; }
.wf-merch .wp-block-media-text__media img { width: 100%; height: 100%; object-fit: cover; }
.wf-merch .wp-block-media-text__content { grid-column: 2; grid-row: 1; padding: 0; }
.wf-merch.wp-block-media-text:has(.wp-block-media-text__media:empty) { grid-template-columns: 1fr; }
.wf-merch.wp-block-media-text:has(.wp-block-media-text__media:empty) .wp-block-media-text__media { display: none; }
.wf-merch.wp-block-media-text:has(.wp-block-media-text__media:empty) .wp-block-media-text__content { grid-column: 1; }
.wf-merch .wf-eyebrow { margin-bottom: 22px; }
.wf-merch__title { margin: 0 0 22px; font-size: clamp(41px, 4.86vw, 70px); line-height: .94; }
.wf-merch__text { margin: 0 0 34px; max-width: 440px; font-size: 17px; line-height: 1.6; color: var(--wf-t2); }
@media (max-width: 899px) {
	.wf-merch.wp-block-media-text { grid-template-columns: 1fr; }
	.wf-merch .wp-block-media-text__content { grid-column: 1; grid-row: 2; }
}

/* ==========================================================================
   PRODUITS PHARES
   ========================================================================== */
.wf-products { padding-top: clamp(66px, 7.64vw, 110px); padding-bottom: clamp(72px, 8.33vw, 120px); }
.wf-products__head { display: flex; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; gap: 20px 40px; margin-bottom: 40px; }
.wf-products .wf-eyebrow { margin-bottom: 26px; }
.wf-products__title { font-size: clamp(32px, 3.89vw, 56px); line-height: .95; letter-spacing: -.042em; }
.wf-products__all { margin: 0 0 0 auto; font-size: 14px; font-weight: 600; }
.wf-products__all a { padding-bottom: 3px; border-bottom: 1px solid var(--wf-ink); color: var(--wf-ink); }
.wf-products__all a:hover { color: var(--wf-t3); border-color: var(--wf-t3); }
.wf-products__list { border-bottom: 1px solid var(--wf-rule); }

/* Liste de produits (bloc WooCommerce « Collection de produits ») */
.wf-products .wc-block-product-template { display: block; margin: 0; padding: 0; list-style: none; }
.wf-products .wc-block-product {
	position: relative; margin: 0; padding: 22px 0; list-style: none;
	display: grid; align-items: center; gap: 0 36px;
	grid-template-columns: 120px 320px minmax(0, 1fr) 120px 130px;
	grid-template-areas: "img title sum cat price";
	border-top: 1px solid var(--wf-rule);
	transition: background .2s ease;
}
.wf-products .wc-block-product:hover { background: var(--wf-paper); }
.wf-products .wc-block-components-product-image { grid-area: img; width: 100%; height: clamp(64px, 6.7vw, 96px); margin: 0; }
.wf-products .wc-block-components-product-image a { display: block; height: 100%; }
.wf-products .wc-block-components-product-image img { width: 100%; height: 100%; aspect-ratio: auto !important; object-fit: contain; mix-blend-mode: multiply; }
.wf-products .wp-block-post-title {
	grid-area: title; margin: 0;
	font-family: var(--wf-display); font-weight: 700; font-size: clamp(20px, 1.81vw, 26px); letter-spacing: -.025em; line-height: 1.2;
}
.wf-products .wp-block-post-title a { color: var(--wf-ink); }
.wf-products .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.wf-products .wp-block-woocommerce-product-summary { grid-area: sum; font-size: 15px; line-height: 1.5; color: var(--wf-t2); }
.wf-products .wp-block-woocommerce-product-summary p { margin: 0; }
.wf-products .wp-block-post-terms { grid-area: cat; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--wf-t4); }
.wf-products .wp-block-post-terms a { color: inherit; pointer-events: none; }
.wf-products .wp-block-woocommerce-product-price {
	grid-area: price; justify-self: end; margin-right: 52px;
	font-family: var(--wf-display); font-weight: 700; font-size: 20px; color: var(--wf-ink);
}
.wf-products .wc-block-components-product-price { font-size: inherit; color: inherit; }
.wf-products .wc-block-product::after {
	content: "→"; grid-area: price; justify-self: end;
	display: flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border: 1px solid var(--wf-border); border-radius: 999px; font-size: 14px;
}
@media (max-width: 999px) {
	.wf-products .wc-block-product {
		grid-template-columns: 96px minmax(0, 1fr) auto; gap: 4px 24px;
		grid-template-areas: "img title price" "img sum price";
	}
	.wf-products .wp-block-post-terms { display: none; }
	.wf-products .wp-block-woocommerce-product-summary { font-size: 14px; line-height: 1.45; }
}
@media (max-width: 719px) {
	.wf-products .wc-block-product { grid-template-columns: 64px minmax(0, 1fr) auto; gap: 4px 14px; }
}

/* ==========================================================================
   À PROPOS
   ========================================================================== */
.wf-about { padding-top: clamp(72px, 8.33vw, 120px); padding-bottom: clamp(78px, 9.03vw, 130px); background: var(--wf-paper); }
.wf-about__head { max-width: 940px; margin-bottom: clamp(44px, 4.7vw, 68px); }
.wf-about__inner { max-width: 820px; margin: 0 auto; text-align: center; }
.wf-about__inner > .wp-block-image { height: clamp(300px, 32vw, 460px); margin: 0 0 46px; }
.wf-about__inner > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.wf-about .wf-eyebrow { margin-bottom: 28px; }
.wf-about__title { margin: 0; font-size: clamp(41px, 4.86vw, 70px); line-height: .94; }
.wf-about__heading { margin: 0 0 28px; font-family: var(--wf-display); font-weight: 800; font-size: clamp(34px, 4.03vw, 58px); line-height: .96; letter-spacing: -.042em; text-wrap: balance; }
.wf-about__lead { margin: 0 0 22px; font-family: var(--wf-display); font-weight: 500; font-size: clamp(20px, 1.67vw, 24px); line-height: 1.35; letter-spacing: -.02em; text-wrap: balance; }
.wf-about__text { margin: 0 0 18px; font-size: 17px; line-height: 1.65; color: var(--wf-t2); }
.wf-about__text:last-of-type { margin-bottom: 34px; }
.wf-about__signature { margin: 0 0 34px; font-family: 'Nothing You Could Do', cursive; font-size: clamp(20px, 2.08vw, 30px); line-height: 1.3; }

/* ==========================================================================
   AVIS
   ========================================================================== */
.wf-reviews { position: relative; padding-top: clamp(72px, 8.33vw, 120px); padding-bottom: clamp(72px, 8.33vw, 120px); }
.wf-reviews__eyebrow { margin: 0 0 60px; color: rgba(250, 250, 248, .66); }
.wf-reviews__pos {
	position: absolute; right: var(--wf-pad); top: clamp(72px, 8.33vw, 120px);
	margin: 0; font-size: 13px; line-height: 1.6; color: rgba(250, 250, 248, .5);
}
.wf-reviews__list { position: relative; }
.wf-review__quote {
	margin: 0 0 40px; max-width: 1140px; color: var(--wf-white);
	font-family: var(--wf-display); font-weight: 700; font-size: clamp(35px, 4.17vw, 60px); line-height: 1.06; letter-spacing: -.04em; text-wrap: balance;
}
.wf-review__body { margin: 0 0 44px; max-width: 720px; font-size: 18px; line-height: 1.65; color: rgba(250, 250, 248, .74); }
.wf-review__who { padding-top: 26px; border-top: 1px solid rgba(250, 250, 248, .16); }
.wf-review__name { margin: 0 0 4px; font-size: 16px; font-weight: 600; }
.wf-review__meta { margin: 0; font-size: 14px; color: rgba(250, 250, 248, .6); }
.wf-js .wf-review { display: none; }
.wf-js .wf-review.is-current { display: block; }
.wf-reviews__controls { position: absolute; right: 0; bottom: 0; }
.wf-reviews__controls .wf-arrow { width: 52px; height: 52px; border-color: rgba(250, 250, 248, .35); }
.wf-reviews__controls .wf-arrow--next { border-color: var(--wf-white); }
.wf-review + .wf-review { margin-top: 56px; }
.wf-js .wf-review + .wf-review { margin-top: 0; }

/* ==========================================================================
   FAQ
   ========================================================================== */
.wf-faq { padding-top: clamp(72px, 8.33vw, 120px); padding-bottom: clamp(72px, 8.33vw, 120px); background: var(--wf-paper); }
.wf-faq__head { display: flex; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; gap: 40px; margin-bottom: 50px; }
.wf-faq__title { font-size: clamp(32px, 3.89vw, 56px); line-height: .95; }
.wf-faq__list { counter-reset: faq; }
.wf-faq__list .wp-block-details { counter-increment: faq; border-top: 1px solid var(--wf-rule); }
.wf-faq__list .wp-block-details:last-child { border-bottom: 1px solid var(--wf-rule); }
.wf-faq__list summary {
	display: grid; grid-template-columns: 56px minmax(0, 1fr) 44px; gap: 36px; align-items: center;
	padding: 26px 0; cursor: pointer; list-style: none;
	font-family: var(--wf-display); font-weight: 700; font-size: clamp(20px, 1.67vw, 24px); line-height: 1.2; letter-spacing: -.025em;
	color: var(--wf-ink);
}
.wf-faq__list summary::-webkit-details-marker { display: none; }
.wf-faq__list summary:hover { color: var(--wf-t2); }
.wf-faq__list summary::before {
	content: counter(faq, decimal-leading-zero);
	font-family: var(--wf-text); font-size: 13px; font-weight: 600; letter-spacing: 0; color: var(--wf-t4);
}
.wf-faq__list summary::after {
	content: ""; justify-self: end; width: 40px; height: 40px; box-sizing: border-box;
	border: 1px solid var(--wf-border); border-radius: 999px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230A0A0A' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 16px no-repeat;
	transition: transform .25s ease;
}
.wf-faq__list details[open] > summary::after { transform: rotate(45deg); }
.wf-faq__list details > :not(summary) {
	margin: -6px 0 0; padding: 0 80px 30px 92px; max-width: 860px;
	font-size: 16px; line-height: 1.65; color: var(--wf-t2);
}
@media (max-width: 719px) {
	.wf-faq__list summary { grid-template-columns: 26px minmax(0, 1fr) 40px; gap: 14px; }
	.wf-faq__list details > :not(summary) { padding: 0 0 26px 40px; }
}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.wf-contact { padding-top: clamp(72px, 8.33vw, 120px); padding-bottom: clamp(72px, 8.33vw, 120px); }
.wf-contact__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: clamp(48px, 6.25vw, 90px); }
.wf-contact .wf-eyebrow { margin-bottom: 26px; color: rgba(250, 250, 248, .66); }
.wf-contact__title { margin: 0 0 20px; color: var(--wf-white); font-size: clamp(41px, 4.86vw, 70px); line-height: .94; }
.wf-contact__intro { margin: 0 0 46px; max-width: 480px; font-size: 17px; line-height: 1.6; color: rgba(250, 250, 248, .7); }
.wf-contact__info { display: grid; gap: 34px; align-content: start; }
.wf-contact__block { padding-top: 22px; border-top: 1px solid rgba(250, 250, 248, .16); }
.wf-contact .wf-label { margin-bottom: 10px; color: rgba(250, 250, 248, .5); letter-spacing: .16em; }
.wf-contact__line { margin: 0; font-size: 17px; line-height: 1.55; }

/* Formulaire Contact Form 7 */
.wf-contact .wpcf7 form { margin: 0; }
.wf-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 26px; }
.wf-field { display: block; }
.wf-field--full { grid-column: 1 / -1; }
.wf-field__label { display: block; margin-bottom: 10px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(250, 250, 248, .5); }
.wf-req { margin-left: 4px; color: var(--wf-white); }
.wf-contact .wpcf7-form-control-wrap { display: block; }
.wf-contact .wpcf7 input[type="text"],
.wf-contact .wpcf7 input[type="email"],
.wf-contact .wpcf7 select,
.wf-contact .wpcf7 textarea {
	display: block; width: 100%; box-sizing: border-box; height: 52px; padding: 0 2px; margin: 0;
	border: 0; border-bottom: 1px solid rgba(250, 250, 248, .3); border-radius: 0; background: transparent;
	font-family: inherit; font-size: 16px; color: var(--wf-white);
	-webkit-appearance: none; appearance: none;
}
.wf-contact .wpcf7 textarea { height: auto; min-height: 120px; padding: 12px 2px; line-height: 1.5; resize: vertical; }
.wf-contact .wpcf7 select {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23FAFAF8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 4px center / 14px no-repeat;
	padding-right: 28px;
}
.wf-contact .wpcf7 select option { color: var(--wf-ink); background: var(--wf-paper); }
.wf-contact .wpcf7 ::placeholder { color: rgba(250, 250, 248, .4); opacity: 1; }
.wf-contact .wpcf7 input:focus,
.wf-contact .wpcf7 select:focus,
.wf-contact .wpcf7 textarea:focus { outline: 0; border-bottom-color: var(--wf-white); }
.wf-consent { margin-top: 32px; font-size: 14px; line-height: 1.55; color: rgba(250, 250, 248, .78); }
.wf-consent .wpcf7-list-item { display: block; margin: 0; }
.wf-consent label { display: flex; align-items: flex-start; gap: 14px; cursor: pointer; }
.wf-consent input[type="checkbox"] { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--wf-paper); cursor: pointer; }
.wf-consent a { color: var(--wf-white); text-decoration: underline; text-underline-offset: 3px; }
.wf-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 28px; }
.wf-form-actions p { margin: 0; }
.wf-form-note { margin: 0; font-size: 13px; color: rgba(250, 250, 248, .55); }
.wf-contact .wpcf7 input[type="submit"] {
	height: 56px; padding: 0 36px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--wf-paper); color: var(--wf-ink);
	font-family: var(--wf-text); font-size: 15px; font-weight: 600;
	transition: background .2s ease;
}
.wf-contact .wpcf7 input[type="submit"]:hover { background: #E6E3DD; }
.wf-contact .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13px; color: var(--wf-white); }
.wf-contact .wpcf7 form .wpcf7-response-output { margin: 24px 0 0; padding: 12px 16px; border: 1px solid rgba(250, 250, 248, .4); border-radius: 3px; font-size: 14px; color: var(--wf-white); }
.wf-contact .wpcf7-spinner { background-color: rgba(250, 250, 248, .4); }

/* Réseaux sociaux */
.wf-social.wp-block-social-links { gap: 10px; margin: 0; padding: 0; }
.wf-social .wp-social-link { margin: 0; background: transparent !important; }
.wf-social .wp-social-link a {
	display: flex; align-items: center; justify-content: center; padding: 0;
	width: 44px; height: 44px; border: 1px solid rgba(250, 250, 248, .3); border-radius: 999px;
	color: var(--wf-white) !important; transition: background .2s ease, color .2s ease;
}
.wf-social .wp-social-link a:hover { background: var(--wf-paper); color: var(--wf-ink) !important; }
.wf-social .wp-social-link svg { width: 18px; height: 18px; }

/* ==========================================================================
   PIED DE PAGE
   ========================================================================== */
.wf-footer { box-sizing: border-box; padding: clamp(48px, 5.56vw, 80px) var(--wf-pad) clamp(22px, 2.5vw, 36px); background: var(--wf-warm); color: var(--wf-ink); }
.wf-footer :where(p) { margin: 0; }
.wf-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 44px 60px; padding-bottom: 64px; }
.wf-footer__logo { margin: 0 0 24px; }
.wf-footer__logo img { display: block; height: 130px; width: auto; object-fit: contain; }
.wf-footer__about { max-width: 300px; font-size: 15px; line-height: 1.6; color: var(--wf-t2); }
.wf-footer .wf-label { margin-bottom: 20px; }
.wf-footer__nav .wp-block-navigation__container { gap: 12px; align-items: flex-start; }
.wf-footer__nav .wp-block-navigation-item__content { padding: 0; font-size: 15px; line-height: 1.33; color: var(--wf-ink); }
.wf-footer__nav .wp-block-navigation-item__content:hover { color: var(--wf-t3); }
.wf-footer__contact { margin-bottom: 22px !important; font-size: 15px; line-height: 1.6; }
.wf-footer .wf-social { gap: 8px; }
.wf-footer .wf-social .wp-social-link a { width: 40px; height: 40px; border-color: var(--wf-border); color: var(--wf-ink) !important; }
.wf-footer .wf-social .wp-social-link a:hover { background: var(--wf-ink); color: var(--wf-warm) !important; }
.wf-footer__bottom {
	display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px 30px;
	padding-top: 24px; border-top: 1px solid var(--wf-rule); font-size: 13px; color: var(--wf-t3);
}
.wf-footer__credit a { color: var(--wf-t3); text-decoration: none; }
.wf-footer__credit a:hover { color: var(--wf-ink); }
@media (min-width: 820px) {
	.wf-footer__bottom { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wf-footer__bottom > :nth-child(2) { text-align: center; }
	.wf-footer__bottom > :nth-child(3) { text-align: right; }
}
.wf-langnav--footer .lang-item a,
.wf-langnav--footer .wp-block-navigation-item__content { font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--wf-t3); }
.wf-langnav--footer .wp-block-navigation__container { gap: 12px; }
.wf-langnav--footer .current-lang a,
.wf-langnav--footer .current-lang .wp-block-navigation-item__content { color: var(--wf-ink); }
.wf-langnav--footer .lang-item + .lang-item::before { content: none; }

/* ==========================================================================
   PAGES INTÉRIEURES / WOOCOMMERCE
   ========================================================================== */
.wf-main { display: block; }
.wf-main.wf-page {
	box-sizing: border-box;
	padding: calc(var(--wf-header-h) + clamp(40px, 5vw, 80px)) 0 clamp(72px, 8.33vw, 120px);
}
.admin-bar .wf-main.wf-page { padding-top: calc(var(--wf-header-h) + clamp(40px, 5vw, 80px)); }
.wf-page__title {
	margin: 0 0 clamp(28px, 3vw, 48px);
	font-family: var(--wf-display); font-weight: 800;
	font-size: clamp(38px, 4.58vw, 66px); line-height: .94; letter-spacing: -.042em; text-wrap: balance;
}
.wf-page__title--list { font-size: clamp(26px, 2.6vw, 38px); margin-bottom: 12px; }
.wf-page .wp-block-post-content { font-size: 17px; line-height: 1.65; color: var(--wf-t2); }
.wf-page .wp-block-post-content > * + * { margin-top: 1.2em; }
.wf-page .wp-block-post-content h2,
.wf-page .wp-block-post-content h3 { margin-top: 1.8em; color: var(--wf-ink); }
.wf-page .wp-block-post-content h2 { font-size: clamp(26px, 2.6vw, 38px); }
.wf-page .wp-block-post-content h3 { font-size: 22px; }
.wf-page .wp-block-post-content a { text-decoration: underline; text-underline-offset: 3px; }
.wf-404 { text-align: left; }
.wf-404 .wp-block-buttons { margin-top: 28px; }

/* Boutique / produit (gabarits WooCommerce classiques) */
.wf-shop .woocommerce-products-header__title { font-family: var(--wf-display); font-weight: 800; font-size: clamp(38px, 4.58vw, 66px); letter-spacing: -.042em; line-height: .94; margin: 0 0 32px; }
.wf-shop ul.products { gap: 40px 26px; }
.wf-shop ul.products li.product .woocommerce-loop-product__title { font-family: var(--wf-display); font-weight: 700; font-size: 20px; letter-spacing: -.025em; }
.wf-shop .price { font-family: var(--wf-display); font-weight: 700; color: var(--wf-ink); }
.wf-shop .button, .wf-shop button.button, .wf-shop .single_add_to_cart_button {
	border-radius: 999px; background: var(--wf-ink); color: var(--wf-paper);
	font-family: var(--wf-text); font-weight: 600; padding: 16px 32px;
}
.wf-shop .product .product_title { font-family: var(--wf-display); font-weight: 800; letter-spacing: -.04em; line-height: .98; }
.wf-shop .woocommerce-breadcrumb { font-size: 13px; color: var(--wf-t3); }

/* Tiroir : pas d'ombre de texte héritée du hero */
.wf-header .wf-nav .is-menu-open,
.wf-header .wf-nav .is-menu-open * { text-shadow: none !important; }

/* Champs de formulaire des pages intérieures (avis produit, compte, panier…) */
.wf-page input[type="text"], .wf-page input[type="email"], .wf-page input[type="tel"], .wf-page input[type="password"], .wf-page input[type="number"],
.wf-page select, .wf-page textarea {
	box-sizing: border-box; max-width: 100%; padding: 12px 14px;
	border: 1px solid var(--wf-border); border-radius: 3px; background: transparent;
	font-family: var(--wf-text); font-size: 16px; color: var(--wf-ink);
}
.wf-page input:focus, .wf-page select:focus, .wf-page textarea:focus { outline: 2px solid var(--wf-ink); outline-offset: 1px; }

/* Compositions plein écran insérées dans une page intérieure (Contact, FAQ…) */
.wf-page .wp-block-post-content > .alignfull {
	max-width: none; width: auto;
	color: inherit; font-size: 16px; line-height: 1.6;
}
.wf-page .wp-block-post-content > .alignfull > * + * { margin-top: 0; }

/* Icônes réseaux au trait (comme la maquette) */
.wf-social .wp-social-link svg { display: none; }
.wf-social .wp-social-link a::before {
	content: ""; width: 18px; height: 18px; background: currentColor;
	-webkit-mask: var(--wf-ico) center / contain no-repeat; mask: var(--wf-ico) center / contain no-repeat;
}
.wf-social .wp-social-link-instagram { --wf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='.7' fill='black'/%3E%3C/svg%3E"); }
.wf-social .wp-social-link-facebook { --wf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E"); }
.wf-social .wp-social-link-youtube { --wf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 17a24.1 24.1 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.6 49.6 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.1 24.1 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.6 49.6 0 0 1-16.2 0A2 2 0 0 1 2.5 17'/%3E%3Cpath d='m10 15 5-3-5-3z'/%3E%3C/svg%3E"); }

/* Panier, commande, notifications WooCommerce : charte WootFishing (pas de rouge, pas de vert) */
.wf-page .wp-block-post-title { max-width: none; margin: 0 0 clamp(28px, 3vw, 48px); font-family: var(--wf-display); font-weight: 800; font-size: clamp(38px, 4.58vw, 66px); line-height: .94; letter-spacing: -.042em; }
.wf-page .wc-block-components-notice-banner,
.wf-page .wc-block-components-notice-banner.is-error,
.wf-page .wc-block-components-notice-banner.is-success,
.wf-page .wc-block-components-notice-banner.is-info,
.wf-page .woocommerce-message, .wf-page .woocommerce-info, .wf-page .woocommerce-error {
	margin: 0 0 24px; padding: 16px 20px; box-sizing: border-box;
	border: 1px solid var(--wf-border); border-radius: 3px;
	background: var(--wf-warm); color: var(--wf-ink); font-size: 15px;
}
.wf-page .wc-block-components-notice-banner > svg { flex: none; width: 28px; height: 28px; padding: 4px; box-sizing: border-box; border-radius: 999px; background: var(--wf-ink) !important; fill: var(--wf-paper) !important; }
.wf-page .wc-block-components-notice-banner a { color: var(--wf-ink); text-decoration: underline; text-underline-offset: 3px; }
.wf-page .wc-block-components-notice-banner .wc-block-components-button { color: var(--wf-ink); }
.wf-page .wc-block-components-button:not(.is-link) { border-radius: 999px; }
.wf-page .wc-block-components-text-input input, .wf-page .wc-block-components-combobox input, .wf-page .wc-block-components-select-input select { border-radius: 3px; border-color: var(--wf-border); background: transparent; }
.wf-page .wc-block-components-totals-wrapper, .wf-page .wc-block-cart-items td { border-color: var(--wf-rule); }
.wf-page .wc-block-components-panel, .wf-page .wp-block-woocommerce-checkout-order-summary-block { border-color: var(--wf-rule); border-radius: 3px; }
.wf-page .wc-block-components-product-name { font-family: var(--wf-display); font-weight: 700; letter-spacing: -.02em; color: var(--wf-ink); }
.wf-page .wc-block-cart__totals-title, .wf-page .wc-block-cart-items__header th { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wf-t3); }

/* Compositions insérées dans une page : on garde leurs propres couleurs et marges */
.wf-page .wp-block-post-content .wf-section h2 { margin-top: 0; }
.wf-page .wp-block-post-content .wf-section.has-text-color h2 { color: inherit; }
.wf-page .wp-block-post-content .wf-section:not(.has-text-color) h2 { color: var(--wf-ink); }
.wf-page .wp-block-post-content > .wf-faq:first-child { padding-top: 0; }
.wf-page .wp-block-post-content .wf-section a { text-decoration: none; }
.wf-page .wp-block-post-content .wf-faq a, .wf-page .wp-block-post-content .wf-contact__line a { text-decoration: underline; }
.wf-contact__line a, .wf-footer__contact a, .wf-page .wp-block-post-content .wf-contact__line a { color: inherit; text-decoration: none; }
.wf-contact__line a:hover, .wf-footer__contact a:hover, .wf-page .wp-block-post-content .wf-contact__line a:hover { text-decoration: underline; }
.wf-page .wp-block-post-content > .alignfull:last-child { margin-bottom: calc(-1 * clamp(72px, 8.33vw, 120px)); }
.wf-page .wc-block-components-button, .wf-page .wp-block-button__link, .wf-page .wc-block-components-button * { text-decoration: none !important; }
.wf-page .wc-block-cart__totals-title { font-family: var(--wf-text) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .16em !important; line-height: 1.4 !important; padding: 0 !important; }
.wf-page .wp-block-post-content .wf-contact__title { font-size: clamp(41px, 4.86vw, 70px); }
.wf-page .wp-block-post-content .wf-faq__title { font-size: clamp(32px, 3.89vw, 56px); }

/* Pages intérieures : titre et contenu gardent la marge latérale, les compositions plein écran touchent les bords */
.wf-page .wp-block-post-title,
.wf-page .wp-block-post-content > :not(.alignfull),
.wf-page > :not(.wp-block-post-content) { box-sizing: border-box; padding-left: var(--wf-pad); padding-right: var(--wf-pad); max-width: none; margin-left: 0; margin-right: 0; }
.wf-page .wp-block-post-content > :not(.alignfull):not(.alignwide):not(.wp-block-woocommerce-cart):not(.wp-block-woocommerce-checkout) { max-width: calc(860px + 2 * var(--wf-pad)); }
.wf-page > .wp-block-post-content { max-width: none; margin-left: 0; margin-right: 0; padding: 0; }
.wf-page .wp-block-post-content > .alignfull { width: auto; max-width: none; margin-left: 0; margin-right: 0; }

/* Photos déposées dans la maquette (IMAGES-DEPOSEES.md) : cadrage choisi dans la maquette (zoom / décalage). */
.wf-craft__media img[src*="depose-v2-craft"] { object-position: 2% 50%; }
.wp-block-image:has(> img[src*="depose-lr-collection-v3"]),
.wp-block-image:has(> img[src*="depose-lr-wood-paint"]),
.wp-block-image:has(> img[src*="depose-ap-photo-1"]),
.wp-block-image:has(> img[src*="depose-ap-photo-2"]) { position: relative; overflow: hidden; }
img[src*="depose-lr-collection-v3"] { position: absolute; max-width: none; width: 104.69% !important; height: 125.63% !important; left: -4.69%; top: -10%; }
img[src*="depose-lr-wood-paint"] { position: absolute; max-width: none; width: 115.89% !important; height: 141.95% !important; left: -15.89%; top: -19.34%; }
img[src*="depose-ap-photo-1"] { position: absolute; max-width: none; width: 115.96% !important; height: 132.82% !important; left: -15.96%; top: -7.45%; }
img[src*="depose-ap-photo-2"] { position: absolute; max-width: none; width: 116.17% !important; height: 224.04% !important; left: -16.17%; top: -54.53%; }
.wf-pagehero--left .wf-pagehero__bg img[src*="depose-ap-hero"] { object-position: 50% 50%; }

/* Cannes sur mesure : cadrage fixe sur le sujet (bouchon vert + talons « W ») comme dans Claude Design,
   quelle que soit la largeur de fenêtre. La photo est dimensionnée sur la hauteur de la bannière
   (plafonnée en largeur sur mobile) ; ses bords fondent dans la couleur de fond de la photo. */
.wf-pagehero__bg:has(img[src*="rod-hero"]) { container-type: size; background: #F3F3F2; }
.wf-pagehero .wf-pagehero__bg img.wp-block-cover__image-background[src*="rod-hero"] {
	inset: auto;
	left: 50%;
	top: 46.7%;
	width: min(167cqh, 160cqw);
	height: auto;
	aspect-ratio: 3093 / 4639;
	object-fit: fill;
	transform: translate(-50%, -60%);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent), linear-gradient(180deg, transparent, #000 6%, #000 94%, transparent);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent), linear-gradient(180deg, transparent, #000 6%, #000 94%, transparent);
	mask-composite: intersect;
}
