/* =========================================================================
   Le WooD — styles complémentaires au theme.json
   Couleurs : bois foncé #3A2416 · bois #6B4026 · abricot #F4A85C (logo) · crème #FBF6EE
   ========================================================================= */

:root {
	--wood-encre: var(--wp--preset--color--encre, #24160D);
	--wood-bois-fonce: var(--wp--preset--color--bois-fonce, #3A2416);
	--wood-bois: var(--wp--preset--color--bois, #6B4026);
	--wood-abricot: var(--wp--preset--color--abricot, #F4A85C);
	--wood-abricot-fonce: var(--wp--preset--color--abricot-fonce, #A85A1C);
	--wood-sable: var(--wp--preset--color--sable, #F1E6D6);
	--wood-creme: var(--wp--preset--color--creme, #FBF6EE);
	--wood-canal: var(--wp--preset--color--canal, #2E5A55);
	--wood-ligne: rgba(58, 36, 22, .16);
	--wood-ombre: 0 18px 40px -24px rgba(36, 22, 13, .45);
	--wood-etiquette: var(--wp--preset--font-family--etiquette, Oswald, sans-serif);
	--wood-titre: var(--wp--preset--font-family--titre, Georgia, serif);
	--wood-hauteur-entete: 76px;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--wood-hauteur-entete) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wood-abricot); color: var(--wood-encre); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--wood-abricot-fonce); outline-offset: 3px; }
img { height: auto; }

/* Grain de bois très léger sur les fonds sombres */
.wood-grain { position: relative; isolation: isolate; }
.wood-grain::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
	background-image:
		repeating-linear-gradient(97deg, rgba(255,255,255,.018) 0 2px, transparent 2px 9px),
		repeating-linear-gradient(93deg, rgba(0,0,0,.08) 0 1px, transparent 1px 23px),
		radial-gradient(120% 80% at 50% 0%, rgba(244,168,92,.10), transparent 60%);
}

/* ---------- Éléments typographiques ---------- */

.wood-surtitre {
	font-family: var(--wood-etiquette);
	font-size: .82rem !important; font-weight: 500 !important;
	letter-spacing: .22em; text-transform: uppercase;
	color: var(--wood-abricot-fonce) !important;
	display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem !important;
}
.wood-surtitre::before { content: ""; width: 2.25rem; height: 2px; background: currentColor; flex: none; }
.has-text-align-center.wood-surtitre, .wood-surtitre.is-centre { justify-content: center; }
.wood-section--sombre .wood-surtitre, .wood-heros .wood-surtitre { color: var(--wood-abricot) !important; }

.wood-chapo { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--wood-bois); }
.wood-note { font-size: .875rem; color: #6b5a4d; }
.wood-section--sombre .wood-note { color: rgba(251, 246, 238, .7); }
.wood-section--sombre .wood-chapo, .wood-heros .wood-chapo { color: rgba(251, 246, 238, .86); }

em.wood-accent, .wood-accent { font-style: italic; color: var(--wood-abricot-fonce); }
.wood-section--sombre .wood-accent, .wood-heros .wood-accent { color: var(--wood-abricot); }

/* ---------- Boutons ---------- */

.wood-bouton, .wp-block-button.is-style-outline > .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	font-family: var(--wood-etiquette); font-size: 1rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase;
	padding: .85rem 1.6rem; border-radius: 999px; text-decoration: none; cursor: pointer;
	border: 2px solid var(--wood-abricot); transition: background-color .2s, color .2s, border-color .2s, transform .2s;
}
.wood-bouton--plein { background: var(--wood-abricot); color: var(--wood-encre); }
.wood-bouton--plein:hover { background: var(--wood-bois-fonce); border-color: var(--wood-bois-fonce); color: var(--wood-creme); }
.wood-bouton--contour, .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: inherit; border-color: currentColor; }
.wood-bouton--contour:hover, .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wood-abricot); border-color: var(--wood-abricot); color: var(--wood-encre); }
.wp-block-button__link { border: 2px solid var(--wood-abricot); transition: background-color .2s, color .2s, border-color .2s; }
:where(.wood-section--clair, .wood-section--sable, .wood-contenu) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--wood-bois-fonce); border-color: var(--wood-bois-fonce); color: var(--wood-creme); }

/* ---------- En-tête ---------- */

.wood-entete {
	position: sticky; top: 0; z-index: 50;
	background: transparent; isolation: isolate;
	border-bottom: 1px solid transparent; transition: border-color .25s, box-shadow .25s;
}
/* Le flou est porté par un pseudo-élément : un backdrop-filter sur l'en-tête lui-même
   enfermerait le menu mobile plein écran dans la hauteur de l'en-tête. */
.wood-entete::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: rgba(251, 246, 238, .94); backdrop-filter: saturate(140%) blur(10px); -webkit-backdrop-filter: saturate(140%) blur(10px);
}
.admin-bar .wood-entete { top: 32px; }
@media (max-width: 782px) { .admin-bar .wood-entete { top: 0; } }
.wood-entete.is-defile { border-color: var(--wood-ligne); box-shadow: 0 8px 24px -18px rgba(36,22,13,.5); }
.wood-entete__barre { min-height: var(--wood-hauteur-entete); gap: 1.25rem !important; }
.wood-entete__marque { display: flex; align-items: center; gap: .65rem; text-decoration: none !important; flex: none; }
.wood-entete__marque img { display: block; }
.wood-entete__icone { width: 46px; }
.wood-entete__nom { width: 128px; }
.wood-entete .wp-block-navigation { gap: 1.6rem; }
.wood-entete .wp-block-navigation a { text-decoration: none; color: var(--wood-bois-fonce); padding: .35rem 0; position: relative; }
.wood-entete .wp-block-navigation a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--wood-abricot);
	transform: scaleX(0); transform-origin: left; transition: transform .25s;
}
.wood-entete .wp-block-navigation a:hover::after,
.wood-entete .wp-block-navigation .current-menu-item > a::after,
.wood-entete .wp-block-navigation a[aria-current="page"]::after { transform: scaleX(1); }
.wood-entete__actions { display: flex; align-items: center; gap: 1rem; flex: none; }
.wood-entete__tel { font-family: var(--wood-etiquette); letter-spacing: .06em; text-decoration: none !important; color: var(--wood-bois-fonce) !important; white-space: nowrap; }
.wood-entete__actions .wood-bouton { padding: .6rem 1.15rem; font-size: .9rem; }
@media (max-width: 1080px) { .wood-entete__tel { display: none; } }
@media (max-width: 600px) {
	:root { --wood-hauteur-entete: 64px; }
	.wood-entete__nom { width: 104px; }
	.wood-entete__icone { width: 38px; }
	.wood-entete__actions { display: none; }
}
/* Menu mobile plein écran */
.wood-entete .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wood-bois-fonce) !important; color: var(--wood-creme) !important; padding: 2rem clamp(1rem, 6vw, 3rem);
}
.wood-entete .wp-block-navigation__responsive-container.is-menu-open a { color: var(--wood-creme) !important; font-family: var(--wood-titre); font-size: 2rem; text-transform: none; letter-spacing: 0; }
.wood-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1.1rem; padding-top: 3rem; }
.wood-entete .wp-block-navigation__responsive-container-open svg,
.wood-entete .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }

.wood-annonce {
	margin: 0; padding: .55rem 1rem; text-align: center; background: var(--wood-abricot); color: var(--wood-encre);
	font-family: var(--wood-etiquette); letter-spacing: .06em; font-size: .9rem;
}

/* ---------- Sections ---------- */

.wood-section { padding-block: var(--wp--preset--spacing--60) !important; margin-block-start: 0 !important; }
.wood-section--clair { background: var(--wood-creme); }
.wood-section--sable { background: var(--wood-sable); }
.wood-section--sombre { background: var(--wood-bois-fonce); color: var(--wood-creme); }
.wood-section--sombre :where(h1, h2, h3, h4) { color: var(--wood-creme); }
.wood-section--sombre a:not(.wood-bouton):not(.wp-block-button__link) { color: var(--wood-abricot); }
.wood-section--abricot { background: var(--wood-abricot); color: var(--wood-encre); }
.wood-section--abricot :where(h1, h2, h3) { color: var(--wood-encre); }
.wood-section--abricot .wp-block-button__link { background: var(--wood-bois-fonce); color: var(--wood-creme); border-color: var(--wood-bois-fonce); }
.wood-section--abricot .wp-block-button__link:hover { background: var(--wood-creme); color: var(--wood-bois-fonce); border-color: var(--wood-creme); }
.wood-section--abricot .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wood-encre); border-color: var(--wood-encre); }
.wood-section--abricot .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wood-encre); color: var(--wood-creme); }
main > .wood-section:first-child, .wp-block-post-content > .wood-section:first-child { margin-top: 0 !important; }

/* ---------- Héros d'accueil ---------- */

.wood-heros {
	background: var(--wood-bois-fonce); color: var(--wood-creme);
	padding-block: clamp(3.5rem, 9vw, 7rem) clamp(3rem, 7vw, 5.5rem) !important; overflow: hidden; margin-top: 0 !important;
}
.wood-heros::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	width: min(980px, 140vw); aspect-ratio: 1; right: -22%; top: 50%; transform: translateY(-50%);
	background: url(../images/cernes.svg) center / contain no-repeat; opacity: .13;
}
.wood-heros__logo { margin: 0 auto 1.5rem !important; }
.wood-heros__logo img { width: min(440px, 78vw); display: block; margin-inline: auto; filter: drop-shadow(0 12px 30px rgba(0,0,0,.35)); }
.wood-heros h1 { color: var(--wood-creme); font-size: clamp(1.6rem, 3.4vw, 2.6rem); font-weight: 500; max-width: 24ch; margin-inline: auto !important; line-height: 1.2; }
.wood-heros .wp-block-buttons { margin-top: 2rem !important; }
.wood-heros .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wood-creme); border-color: rgba(251, 246, 238, .55); }
.wood-heros .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--wood-creme); border-color: var(--wood-creme); color: var(--wood-bois-fonce); }

.wood-aujourdhui {
	display: inline-flex; align-items: center; gap: .6rem; margin: 1.75rem auto 0 !important;
	padding: .5rem 1rem; border-radius: 999px; border: 1px solid rgba(251, 246, 238, .22); background: rgba(0,0,0,.18);
	font-family: var(--wood-etiquette); letter-spacing: .06em; font-size: .92rem;
}
.wood-heros .wood-aujourdhui { display: flex; width: fit-content; }
.wood-aujourdhui__point { width: .55rem; height: .55rem; border-radius: 50%; background: #b9a796; flex: none; }
.wood-aujourdhui.is-ouvert .wood-aujourdhui__point { background: #7ed492; box-shadow: 0 0 0 4px rgba(126, 212, 146, .2); }
.wood-aujourdhui.is-bientot .wood-aujourdhui__point { background: var(--wood-abricot); }

/* ---------- L'esprit WooD ---------- */

.wood-faits { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--wood-ligne); border: 1px solid var(--wood-ligne); border-radius: 18px; overflow: hidden; }
.wood-faits li { background: var(--wood-creme); padding: 1.5rem 1.4rem; }
.wood-faits strong { font-variant-numeric: lining-nums; display: block; font-family: var(--wood-titre); font-size: 2.1rem; font-weight: 600; line-height: 1.05; color: var(--wood-bois-fonce); margin-bottom: .35rem; }
.wood-faits span { font-size: .95rem; color: var(--wood-bois); }
@media (max-width: 480px) { .wood-faits strong { font-size: 1.6rem; } .wood-faits li { padding: 1.1rem 1rem; } }

/* ---------- Signatures ---------- */

.wood-signatures { list-style: none; padding: 0; margin: 2.5rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.25rem; }
.wood-signature {
	background: var(--wood-creme); border-radius: 18px; padding: 1.75rem 1.5rem 1.6rem; border: 1px solid var(--wood-ligne);
	position: relative; transition: transform .25s, box-shadow .25s;
}
.wood-signature:hover { transform: translateY(-4px); box-shadow: var(--wood-ombre); }
.wood-signature__num { font-family: var(--wood-titre); font-style: italic; font-size: 2.6rem; line-height: 1; color: var(--wood-abricot); display: block; margin-bottom: 1.25rem; }
.wood-signature__photo { width: calc(100% + 3rem); max-width: none; margin: -1.75rem -1.5rem 1.25rem; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px 18px 0 0; display: block; }
.wood-signature h3 { font-size: 1.35rem; margin: 0 0 .5rem; }
.wood-signature p { margin: 0; font-size: .95rem; color: var(--wood-bois); }

/* ---------- La carte ---------- */

.wood-carte-nav { position: sticky; top: calc(var(--wood-hauteur-entete) + 8px); z-index: 5; margin: 0 0 2.5rem; }
.admin-bar .wood-carte-nav { top: calc(var(--wood-hauteur-entete) + 40px); }
.wood-carte-nav ul { list-style: none; margin: 0; padding: .4rem; display: flex; gap: .35rem; overflow-x: auto; scrollbar-width: none; background: rgba(241, 230, 214, .95); backdrop-filter: blur(8px); border-radius: 999px; width: fit-content; max-width: 100%; margin-inline: auto; }
.wood-carte-nav a { display: block; white-space: nowrap; padding: .5rem 1.05rem; border-radius: 999px; text-decoration: none; font-family: var(--wood-etiquette); letter-spacing: .08em; text-transform: uppercase; font-size: .88rem; color: var(--wood-bois-fonce); }
.wood-carte-nav a:hover { background: var(--wood-abricot); }
.wood-rubrique { margin-bottom: 3.25rem; }
.wood-rubrique__titre { font-size: clamp(1.8rem, 3vw, 2.4rem) !important; display: flex; align-items: center; gap: 1rem; margin: 0 0 .5rem; }
.wood-rubrique__titre::after { content: ""; flex: 1; height: 1px; background: var(--wood-ligne); }
.wood-rubrique__desc { margin: 0 0 1rem; color: var(--wood-bois); font-style: italic; }
.wood-plats { list-style: none; margin: 0; padding: 0; }
.wood-plat { padding: 1.05rem 0; border-bottom: 1px dashed var(--wood-ligne); }
.wood-plat__ligne { display: flex; align-items: baseline; gap: .6rem; }
.wood-plat__nom { margin: 0; font-family: var(--wood-titre); font-size: 1.22rem; font-weight: 600; color: var(--wood-bois-fonce); }
.wood-plat__points { flex: 1; border-bottom: 2px dotted rgba(107, 64, 38, .35); transform: translateY(-.3rem); min-width: 1.5rem; }
.wood-plat__prix { font-family: var(--wood-etiquette); font-size: 1.1rem; letter-spacing: .04em; color: var(--wood-abricot-fonce); white-space: nowrap; }
.wood-plat__desc { margin: .3rem 0 0; color: #5e4a3c; max-width: 60ch; }
.wood-plat__mentions { margin: .25rem 0 0; font-size: .8rem; color: #8a7565; }
.wood-badge { display: inline-block; vertical-align: middle; font-family: var(--wood-etiquette); font-size: .68rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; padding: .18rem .5rem; border-radius: 999px; background: var(--wood-abricot); color: var(--wood-encre); text-decoration: none; }
.wood-badge--vege { background: #dfe9d8; color: #2d5a25; border-radius: 50%; width: 1.4rem; height: 1.4rem; padding: 0; text-align: center; line-height: 1.4rem; letter-spacing: 0; }
.wood-plat.is-signature .wood-plat__nom { color: var(--wood-bois); }

/* ---------- Horaires & infos ---------- */

.wood-horaires { width: 100%; border-collapse: collapse; font-size: 1rem; }
.wood-horaires th, .wood-horaires td { padding: .6rem 0; border-bottom: 1px solid var(--wood-ligne); text-align: left; vertical-align: top; }
.wood-horaires th { font-weight: 500; padding-right: 1rem; white-space: nowrap; }
.wood-horaires td { text-align: right; font-variant-numeric: tabular-nums lining-nums; }
.wood-plage { display: block; white-space: nowrap; }
.wood-horaires td.is-ferme { color: #8a7565; font-style: italic; }
.wood-horaires tr.is-aujourdhui th, .wood-horaires tr.is-aujourdhui td { font-weight: 700; color: var(--wood-bois-fonce); }
.wood-section--sombre .wood-horaires th, .wood-section--sombre .wood-horaires td { border-color: rgba(251,246,238,.14); }
.wood-section--sombre .wood-horaires tr.is-aujourdhui th, .wood-section--sombre .wood-horaires tr.is-aujourdhui td { color: var(--wood-abricot); }
.wood-section--sombre .wood-horaires td.is-ferme { color: rgba(251,246,238,.55); }
.wood-pastille { display: inline-block; font-family: var(--wood-etiquette); font-size: .66rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; padding: .12rem .45rem; border-radius: 999px; background: var(--wood-abricot); color: var(--wood-encre); vertical-align: middle; }

.wood-carte-info { background: var(--wood-creme); border: 1px solid var(--wood-ligne); border-radius: 18px; padding: clamp(1.25rem, 3vw, 2rem) !important; height: 100%; }
.wood-carte-info h3 { font-size: 1.4rem; margin-top: 0; }
.wood-section--sable .wood-carte-info { background: var(--wood-creme); }

.wood-plan { position: relative; border-radius: 18px; overflow: hidden; min-height: 320px; height: 100%; background: var(--wood-bois-fonce); }
.wood-plan::before { content: ""; position: absolute; width: 85%; aspect-ratio: 1; right: -30%; bottom: -30%; background: url(../images/cernes.svg) center / contain no-repeat; opacity: .35; }
.wood-plan iframe { z-index: 2; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.wood-plan__voile { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .9rem; padding: 1.5rem; text-align: center; color: var(--wood-creme); background: linear-gradient(180deg, rgba(36,22,13,.55), rgba(36,22,13,.8)); }
.wood-plan__voile p { margin: 0; font-family: var(--wood-titre); font-size: 1.2rem; max-width: 26ch; }
.wood-plan__bouton { font: inherit; font-family: var(--wood-etiquette); letter-spacing: .08em; text-transform: uppercase; border: 2px solid var(--wood-abricot); background: var(--wood-abricot); color: var(--wood-encre); border-radius: 999px; padding: .7rem 1.3rem; cursor: pointer; }
.wood-plan__bouton:hover { background: transparent; color: var(--wood-creme); }
.wood-plan__voile a { color: var(--wood-creme) !important; font-size: .9rem; }

.wood-reseaux { list-style: none; padding: 0; margin: 0; display: flex; gap: .6rem; }
.wood-reseaux a { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid currentColor; color: inherit; transition: background-color .2s, color .2s; }
.wood-reseaux a:hover { background: var(--wood-abricot); border-color: var(--wood-abricot); color: var(--wood-encre) !important; }
.wood-reseaux svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }

/* ---------- Bandeau titre des pages ---------- */

.wood-bandeau {
	background: var(--wood-bois-fonce); color: var(--wood-creme); overflow: hidden; margin-top: 0 !important;
	padding-block: clamp(3rem, 8vw, 5.5rem) clamp(2.5rem, 6vw, 4rem) !important;
}
.wood-bandeau::after { content: ""; position: absolute; z-index: -1; width: 620px; aspect-ratio: 1; right: -180px; top: -140px; background: url(../images/cernes.svg) center / contain no-repeat; opacity: .14; pointer-events: none; }
.wood-bandeau h1 { color: var(--wood-creme) !important; font-size: var(--wp--preset--font-size--huge) !important; margin: 0; }
.wood-bandeau .wp-block-post-excerpt { max-width: 56ch; margin-top: 1rem; }
.wood-bandeau .wp-block-post-excerpt__excerpt { font-size: var(--wp--preset--font-size--large); color: rgba(251, 246, 238, .82); margin: 0; }

.wood-contenu { padding-block: var(--wp--preset--spacing--60) !important; }
.wood-contenu > .wood-section:last-child, .wood-contenu > .alignfull:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--60)) !important; }

/* ---------- Formulaires ---------- */

.wood-formulaire { background: var(--wood-creme); border: 1px solid var(--wood-ligne); border-radius: 22px; padding: clamp(1.25rem, 4vw, 2.5rem); box-shadow: var(--wood-ombre); }
.wood-formulaire p { margin: 0 0 1.1rem; }
.wood-formulaire label { display: block; font-weight: 600; font-size: .92rem; margin-bottom: .35rem; color: var(--wood-bois-fonce); }
.wood-formulaire :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="number"], select, textarea) {
	width: 100%; box-sizing: border-box; font: inherit; color: var(--wood-encre);
	background: #fff; border: 1.5px solid rgba(58, 36, 22, .25); border-radius: 12px; padding: .75rem .9rem; min-height: 3rem;
	transition: border-color .2s, box-shadow .2s;
}
.wood-formulaire :is(input, select, textarea):focus { outline: none; border-color: var(--wood-abricot-fonce); box-shadow: 0 0 0 4px rgba(244, 168, 92, .3); }
.wood-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 1rem; }
.wood-grille--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 600px) { .wood-grille, .wood-grille--2 { grid-template-columns: 1fr; } }
.wood-consent label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .9rem; }
.wood-consent input { margin-top: .25rem; width: 1.1rem; height: 1.1rem; accent-color: var(--wood-bois); flex: none; }
.wood-formulaire button { width: 100%; }
.wood-pot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wood-alerte { padding: 1rem 1.25rem; border-radius: 14px; margin: 0 0 1.25rem; font-weight: 500; }
.wood-alerte--ok { background: #e3efdc; color: #23461d; border: 1px solid #b9d3ac; }
.wood-alerte--erreur { background: #fbe3d9; color: #7a2a12; border: 1px solid #efb9a3; }

/* ---------- Liste des soirées ---------- */

.wood-soirees .wp-block-post { background: rgba(251,246,238,.06); border: 1px solid rgba(251,246,238,.14); border-radius: 18px; padding: 1.5rem; }
.wood-soirees .wp-block-post-title { font-size: 1.35rem; margin: .25rem 0 .5rem; }
.wood-soirees .wp-block-post-title a { color: var(--wood-creme) !important; text-decoration: none; }
.wood-soirees .wp-block-post-date { font-family: var(--wood-etiquette); letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; color: var(--wood-abricot); }
.wood-soirees .wp-block-post-featured-image img { border-radius: 12px; aspect-ratio: 4/3; object-fit: cover; }

/* ---------- Pied de page ---------- */

.wood-pied { background: var(--wood-encre); color: rgba(251, 246, 238, .8); padding-block: var(--wp--preset--spacing--60) 2rem !important; margin-top: 0 !important; font-size: .95rem; }
.wood-pied :where(h2, h3, h4) { color: var(--wood-creme); font-family: var(--wood-etiquette); font-size: .9rem !important; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 1rem; }
.wood-pied a { color: var(--wood-creme); }
.wood-pied a:hover { color: var(--wood-abricot); }
.wood-pied__logo img { width: 190px; display: block; }
.wood-pied__bas { border-top: 1px solid rgba(251, 246, 238, .12); margin-top: 3rem !important; padding-top: 1.5rem; font-size: .85rem; gap: .5rem 1.5rem !important; }
.wood-pied__bas p { margin: 0; }
.wood-pied .wood-horaires { font-size: .9rem; }
.wood-pied .wood-horaires th, .wood-pied .wood-horaires td { border-color: rgba(251,246,238,.1); padding: .35rem 0; }
.wood-pied .wood-horaires tr.is-aujourdhui th, .wood-pied .wood-horaires tr.is-aujourdhui td { color: var(--wood-abricot); }
.wood-pied .wood-horaires td.is-ferme { color: rgba(251,246,238,.45); }

/* ---------- Barre d'actions mobile ---------- */

.wood-barre-mobile { display: none; }
@media (max-width: 781px) {
	body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
	.wood-barre-mobile {
		display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; z-index: 60; left: 0; right: 0; bottom: 0;
		padding: .45rem .5rem calc(.45rem + env(safe-area-inset-bottom)); gap: .4rem;
		background: rgba(36, 22, 13, .97); box-shadow: 0 -10px 30px -12px rgba(0,0,0,.4);
	}
	.wood-barre-mobile a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; min-height: 52px; border-radius: 12px; text-decoration: none; color: var(--wood-creme); font-family: var(--wood-etiquette); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
	.wood-barre-mobile a.is-principal { background: var(--wood-abricot); color: var(--wood-encre); }
	.wood-barre-mobile svg { width: 1.3rem; height: 1.3rem; fill: currentColor; }
}

/* ---------- Divers ---------- */

.wood-cadre-logo img { width: 100%; max-width: 360px; display: block; margin-inline: auto; }
.wood-liste-coches { list-style: none; padding: 0; }
.wood-liste-coches li { padding-left: 1.9rem; position: relative; margin-bottom: .6rem; }
.wood-liste-coches li::before { content: ""; position: absolute; left: 0; top: .45em; width: 1rem; height: 1rem; border-radius: 50%; background: var(--wood-abricot) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='%2324160D' stroke-width='2' fill='none'/%3E%3C/svg%3E") center / 100% no-repeat; }
mark { background: #fde6c9; padding: 0 .2em; }
.wp-block-post-content > :first-child.alignfull { margin-top: 0; }

/* Raccords entre en-tête, contenu et pied de page (pas de bande vide) */
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.wp-site-blocks > main, .wp-site-blocks main.wp-block-group { margin-block: 0 !important; }
.wood-pied ul:not(.wood-reseaux) { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.wood-pied .wood-reseaux { margin-top: 1.25rem; }
.wood-pied a { text-underline-offset: 3px; }

.wood-carte-info > * { margin-block: 0; }
.wood-carte-info > * + * { margin-block-start: .9rem; }
.wood-carte-info > h3:not(:first-child) { margin-block-start: 1.9rem; }
.wood-contenu > :not(.wood-section) + .wood-section { margin-block-start: var(--wp--preset--spacing--50) !important; }
#wood-heure + .wood-note:empty { display: none; }
#wood-heure + .wood-note { margin: .4rem 0 0; color: var(--wood-abricot-fonce); }

@media (max-width: 600px) {
	.wood-heros__logo img { width: min(280px, 64vw); }
	.wood-heros h1 { font-size: 1.45rem; }
}
