/* Bohey — front-end and editor styles.
   Colours, fonts and sizes come from theme.json (--wp--preset--*); this file only adds what theme.json cannot express.
   Masks (logo arc, wolf) and icons are small SVG files in assets/images. */

/* ===== Tokens ===== */
:root {
	--kraft: var(--wp--preset--color--kraft);
	--papier: var(--wp--preset--color--papier);
	--encre: var(--wp--preset--color--encre);
	--brun: var(--wp--preset--color--brun);
	--bois: var(--wp--preset--color--bois);
	--bois-fonce: var(--wp--preset--color--bois-fonce);
	--accent: var(--wp--preset--color--accent);
	--accent-clair: var(--wp--preset--color--accent-clair);
	--rouge: var(--wp--preset--color--rouge);
	--rouge-fonce: var(--wp--preset--color--rouge-fonce);
	--vert: var(--wp--preset--color--vert);
	--creme: var(--wp--preset--color--creme);
	--creme-grise: var(--wp--preset--color--creme-grise);
	--ombre: var(--wp--preset--shadow--douce);
	--gouttiere: var(--wp--style--root--padding-left, 1rem);
	--max: 1200px;
	--courbe: 40px;
	--grain: url(../images/grain.svg);
	--grain-clair: url(../images/grain-clair.svg);
	--m-haut: url(../images/colline-haut.svg);
	--m-bas: url(../images/colline-bas.svg);
	--m-loup: url(../images/loup-masque.svg);
	--m-pattes: url(../images/pattes.svg);
	--i-tel: url(../images/ico-tel.svg);
	--i-cal: url(../images/ico-cal.svg);
	--i-carte: url(../images/ico-carte.svg);
	--m-blazeridge: url(../images/blazeridge.svg);
	--i-fleche: url(../images/ico-fleche.svg);
	--i-verre: url(../images/verre-creme.svg);
}
@media (min-width: 900px) { :root { --courbe: 80px; } }

/* ===== Base ===== */
body { background-image: var(--grain); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, .wp-block-heading, .wp-block-post-title { font-variation-settings: "SOFT" 100, "WONK" 0; }
/* Links: underlined only on hover and keyboard focus (Mathias, 26/10/2026; theme.json sets « none » at rest).
   The hover rule has the weight of a bare « a » and comes after the global styles, so it wins over them, while links
   with their own look (buttons, cards, menus: a class) keep it. In the text of a page a link differs from the words
   around it by less than 3:1 (accent on encre: 2.6), so it is also semi-bold: never told apart by colour alone
   (WCAG 1.4.1). Menus, banner and footer are outside the page content and keep their weight. */
a { text-decoration: none; text-underline-offset: .18em; text-decoration-thickness: 1.5px; }
a:where(:hover, :focus-visible) { text-decoration: underline; }
:where(.wp-block-post-content) :where(p, li, dd, td, figcaption, blockquote) > a:where(:not([class])) { font-weight: 600; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--accent-clair); outline-offset: 3px; box-shadow: 0 0 0 6px var(--bois-fonce); border-radius: 4px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; margin: -1px; }
img { height: auto; }

/* Script accent (« Il était une fois… », « La légende »…) */
.is-style-manuscrit { font-family: var(--wp--preset--font-family--kalam); font-weight: 700; color: var(--accent); font-size: clamp(1.4rem, 1.2rem + .8vw, 1.85rem); line-height: 1.1; }
.wp-block-cover .is-style-manuscrit, .bohey-pied .is-style-manuscrit { color: var(--accent-clair); }
:where(.wp-block-cover, .bohey-chemins__tete) .is-style-manuscrit + .wp-block-heading { margin-top: .3rem; }

/* ===== Buttons ===== */
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 52px; }
.wp-block-button.is-style-contour-creme .wp-block-button__link { background: transparent; border-color: var(--creme); color: var(--creme); }
.wp-block-button.is-style-contour-creme .wp-block-button__link:hover { background: var(--creme); color: var(--bois-fonce); }
.wp-block-button.is-style-contour-bois .wp-block-button__link { background: transparent; border-color: var(--bois); color: var(--bois); }
.wp-block-button.is-style-contour-bois .wp-block-button__link:hover { background: var(--bois); color: var(--creme); }
.bohey-ico-cal .wp-block-button__link::before, .bohey-ico-tel .wp-block-button__link::before, .bohey-ico-carte .wp-block-button__link::before {
	content: ""; flex: none; width: 1.25em; height: 1.25em; background: currentColor;
	-webkit-mask: var(--i-cal) center / contain no-repeat; mask: var(--i-cal) center / contain no-repeat;
	translate: 0 -.03em; /* Source Sans 3 sets its capitals slightly (.02 to .05em, depending on pixel rounding) above the middle of a line-height 1 box; with another button font, measure again and adjust or remove (D-041) */
}
.bohey-ico-tel .wp-block-button__link::before { -webkit-mask-image: var(--i-tel); mask-image: var(--i-tel); }
.bohey-ico-carte .wp-block-button__link::before { -webkit-mask-image: var(--i-carte); mask-image: var(--i-carte); }

/* ===== Curved section edges: the section is cut along the logo's arc (no flat-colour overlay, see D-008) ===== */
.is-style-bord-bas {
	-webkit-mask-image: linear-gradient(#000 0 0), var(--m-bas); mask-image: linear-gradient(#000 0 0), var(--m-bas);
	-webkit-mask-size: 100% calc(100% - var(--courbe) + 1px), 100% var(--courbe); mask-size: 100% calc(100% - var(--courbe) + 1px), 100% var(--courbe);
	-webkit-mask-position: top, bottom; mask-position: top, bottom;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.is-style-bord-haut-bas {
	-webkit-mask-image: var(--m-haut), linear-gradient(#000 0 0), var(--m-bas); mask-image: var(--m-haut), linear-gradient(#000 0 0), var(--m-bas);
	-webkit-mask-size: 100% var(--courbe), 100% calc(100% - 2 * var(--courbe) + 2px), 100% var(--courbe); mask-size: 100% var(--courbe), 100% calc(100% - 2 * var(--courbe) + 2px), 100% var(--courbe);
	-webkit-mask-position: top, center, bottom; mask-position: top, center, bottom;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}

/* ===== Header ===== */
/* Room left for the WordPress toolbar when logged in; on phones (600 px and less) the toolbar scrolls away with the page. */
:root { --barre: var(--wp-admin--admin-bar--height, 0px); }
@media (max-width: 600px) { :root { --barre: 0px; } }
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--barre); z-index: 40; }
.wp-site-blocks > main { margin-block-start: 0; } /* the first photo starts right under the header (no root block gap) */
.wp-site-blocks > .bohey-bandeau, .wp-site-blocks > .bohey-bandeau + header { margin-block: 0; } /* announcement banner (bohey-core) right above the header; it scrolls away */
.bohey-entete { position: relative; background: var(--grain), rgba(244, 232, 214, .96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(75, 52, 39, .15); }
.bohey-entete__in { min-height: 76px; gap: 14px !important; }
.bohey-entete .bohey-logo { margin: 0 auto 0 0 !important; }
.bohey-entete .bohey-logo img { width: 186px !important; }
.bohey-entete__resa { display: none !important; }
.bohey-entete .wp-block-button__link { min-height: 46px; padding: .85em 1.2em; font-size: .92rem; }
.bohey-entete .bohey-langues { order: 2; }
.bohey-entete .bohey-menu--principal { order: 3; }
/* From 1100 px: taller header, larger logo, the Réserver button; the full menu needs about 1 170 px of content, so it
   only replaces the ☰ button from 1280 px (in between: logo · FR · Réserver · ☰). */
.bohey-entete .wp-block-button__link, .bohey-menu--principal .bohey-menu__liste a { white-space: nowrap; }
@media (min-width: 1100px) {
	.bohey-entete__in { min-height: 96px; }
	.bohey-entete .bohey-logo img { width: 232px !important; }
	.bohey-entete__resa { display: flex !important; order: 3; }
	.bohey-entete .bohey-langues { order: 2; }
	.bohey-entete .bohey-menu--principal { order: 4; }
}
@media (min-width: 1280px) {
	.bohey-entete__resa { order: 4; }
	.bohey-entete .bohey-langues { order: 3; }
	.bohey-entete .bohey-menu--principal { order: 2; }
}

/* Menus (bohey/menu) */
.bohey-menu__liste { list-style: none; margin: 0; padding: 0; }
.bohey-menu__vide, .bohey-langues__vide { margin: 0; font-size: .85rem; color: var(--brun); }
.bohey-menu__bouton { display: inline-grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 6px; background: var(--bois); color: var(--creme); cursor: pointer; }
.bohey-menu--principal .bohey-menu__liste a { display: block; color: var(--encre); text-decoration: none; }
@media (max-width: 1279px) {
	.bohey-menu--repli .bohey-menu__panneau { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--bois-fonce); padding: 8px var(--gouttiere) 18px; box-shadow: 0 18px 30px rgba(0, 0, 0, .25); }
	.bohey-menu--repli .bohey-menu__panneau.is-open { display: block; }
	.bohey-menu--repli .bohey-menu__liste a { padding: 13px 0; border-bottom: 1px solid rgba(255, 227, 184, .15); color: var(--creme); font: 700 1.4rem/1.2 var(--wp--preset--font-family--fraunces); font-variation-settings: "SOFT" 100; }
	.bohey-menu--repli .bohey-menu__liste [aria-current="page"] { color: var(--accent-clair); }
}
@media (min-width: 1280px) {
	.bohey-menu__bouton { display: none; }
	.bohey-menu--principal .bohey-menu__liste { display: flex; gap: 2px; }
	.bohey-menu--principal .bohey-menu__liste a { padding: .55em .8em; font-weight: 600; font-size: .98rem; letter-spacing: .06em; text-transform: uppercase; border-bottom: 2px solid transparent; }
	.bohey-menu--principal .bohey-menu__liste a:hover, .bohey-menu--principal .bohey-menu__liste [aria-current="page"] { border-color: var(--rouge); }
}

/* Language switcher (bohey/langues): a « globe + FR » button (<summary>) that unfolds the languages, each in its own
   language, the current one in bold. Same height and corners as the Réserver button next to it. */
.bohey-langues { position: relative; margin: 0; }
.bohey-langues__bouton { display: inline-flex; align-items: center; gap: .4em; min-height: 46px; padding: 0 .75em; border: 1.5px solid rgba(75, 52, 39, .28); border-radius: 6px; color: var(--encre); font-weight: 700; font-size: .92rem; letter-spacing: .04em; list-style: none; cursor: pointer; user-select: none; transition: background-color .15s, border-color .15s; }
.bohey-langues__bouton::-webkit-details-marker { display: none; }
.bohey-langues__bouton:hover, .bohey-langues[open] .bohey-langues__bouton { border-color: rgba(75, 52, 39, .5); background: var(--papier); }
.bohey-langues__globe { flex: none; width: 1.25em; height: 1.25em; }
.bohey-langues__chevron { flex: none; width: .85em; height: .85em; color: var(--brun); transition: transform .15s; }
.bohey-langues[open] .bohey-langues__chevron { transform: rotate(180deg); }
.bohey-langues__liste { position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; min-width: 11rem; margin: 0; padding: 6px; list-style: none; border-radius: 12px; background: var(--papier); box-shadow: 0 0 0 1px rgba(75, 52, 39, .12), 0 16px 32px -12px rgba(43, 30, 22, .35); }
.bohey-langues__liste a { display: block; padding: .6em .9em; border-radius: 8px; color: var(--encre); font-size: 1.05rem; text-decoration: none; }
.bohey-langues__liste a:hover, .bohey-langues__liste a:focus-visible { background: var(--kraft); text-decoration: none; }
.bohey-langues__liste a[aria-current] { font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .bohey-langues__bouton, .bohey-langues__chevron { transition: none; } }

/* ===== Front page: full-width sections, no gap between them ===== */
.bohey-contenu-accueil > * { margin-block: 0 !important; }
.bohey-section { padding-block: 56px; }
@media (min-width: 900px) { .bohey-section { padding-block: 96px; } }
/* Plats du jour: wolf tracks lead to the slate (the slate itself: plats-du-jour.css) */
.bohey-section-une { padding-block: 40px 0; }
.bohey-section-une:not(:has(.bohey-une)), .bohey-evenement-zone:not(:has(.bohey-evenement)) { display: none; } /* nothing to show (or plugin off): no empty room */
.bohey-section-pdj { padding-bottom: 0; }
.bohey-section-avis:not(:has(.bohey-avis-liste)) { display: none; } /* no testimonial yet (or plugin off): no empty section */
.bohey-section-pdj:not(:has(.bohey-pdj)) { display: none; } /* plugin switched off: no empty section with lone paw prints */
.bohey-section-pdj::before { content: ""; display: block; width: 176px; height: 39px; margin: 0 auto 18px; background: var(--accent); -webkit-mask: var(--m-pattes) center / contain no-repeat; mask: var(--m-pattes) center / contain no-repeat; opacity: .6; }
.bohey-section__tete { text-align: center; max-width: 760px; margin-inline: auto !important; margin-bottom: 28px !important; }

/* Shared: a cover used as a photo band */
.bohey-hero, .bohey-legende, .bohey-tuile, .bohey-entete-page { color: var(--creme); }
.bohey-hero .wp-block-cover__background, .bohey-legende .wp-block-cover__background, .bohey-tuile .wp-block-cover__background, .bohey-entete-page .wp-block-cover__background { opacity: 1 !important; }
.bohey-hero h1, .bohey-legende h2, .bohey-tuile h3, .bohey-entete-page h1 { color: var(--creme); }

/* ===== Hero ===== */
.bohey-hero { min-height: 640px !important; padding: 0 !important; align-items: flex-end !important; background-color: var(--bois-fonce); }
.bohey-hero .wp-block-cover__image-background { object-position: 50% 30%; }
.bohey-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(47, 33, 26, .05) 22%, rgba(47, 33, 26, .86) 52%, rgba(47, 33, 26, .98) 74%) !important; }
.bohey-hero .wp-block-cover__inner-container { padding: 0 var(--gouttiere) calc(var(--courbe) + 44px); }
.bohey-hero__contenu { max-width: var(--max); margin-inline: auto; }
.bohey-hero h1 { max-width: 11ch; margin-block: 0 .45em; }
.bohey-hero__intro { color: var(--creme-grise); font-size: 1.1rem; max-width: 40ch; }
.bohey-hero .wp-block-buttons { margin-top: 26px; gap: 12px; }
.bohey-hero .wp-block-button { flex: 1 1 100%; }
.bohey-hero .wp-block-button__link { width: 100%; }
/* Phones and tablets: the fixed "Appeler / Réserver" bar already offers both buttons (kept visible in the editor) */
@media (max-width: 1023px) { body:not(.editor-styles-wrapper) .bohey-hero .wp-block-buttons { display: none; } }
@media (min-width: 900px) {
	.bohey-hero { min-height: 660px !important; align-items: center !important; }
	.bohey-hero .wp-block-cover__image-background { object-position: 70% 55%; }
	.bohey-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(47, 33, 26, .97) 0%, rgba(47, 33, 26, .9) 34%, rgba(47, 33, 26, .35) 62%, rgba(47, 33, 26, .05) 100%) !important; }
	.bohey-hero .wp-block-cover__inner-container { padding: 88px var(--gouttiere) 150px; }
	.bohey-hero__intro { font-size: 1.25rem; }
	.bohey-hero .wp-block-button { flex: 0 0 auto; }
	.bohey-hero .wp-block-button__link { width: auto; }
}

/* ===== Three paths: photo tiles ===== */
.bohey-chemins .bohey-section__tete::before { content: ""; display: block; width: 176px; height: 39px; margin: 0 auto 12px; background: var(--accent); -webkit-mask: var(--m-pattes) center / contain no-repeat; mask: var(--m-pattes) center / contain no-repeat; opacity: .6; } /* wolf tracks, in the accent colour (summer / winter) */
.bohey-chemins__tuiles { gap: 16px !important; margin-block: 0 !important; }
.bohey-tuile { position: relative; min-height: 240px !important; padding: 0 !important; align-items: flex-end !important; border-radius: 12px; overflow: hidden; box-shadow: var(--ombre); }
.bohey-tuile .wp-block-cover__image-background { transition: transform .4s; }
.bohey-tuile:hover .wp-block-cover__image-background { transform: scale(1.04); }
.bohey-tuile .wp-block-cover__background { background: linear-gradient(180deg, rgba(47, 33, 26, 0) 25%, rgba(47, 33, 26, .92) 100%) !important; }
.bohey-tuile .wp-block-cover__inner-container { padding: 20px 22px; }
.bohey-tuile .wp-block-cover__inner-container > * { margin-block: 0; }
.bohey-tuile__num { font: italic 600 2.2rem/1 var(--wp--preset--font-family--fraunces); font-variation-settings: "SOFT" 100, "WONK" 1; color: var(--accent-clair); margin-bottom: 4px !important; }
.bohey-tuile__titre { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 1.55rem !important; }
.bohey-tuile__titre::after { content: ""; flex: none; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: var(--i-fleche) center / contain no-repeat; mask: var(--i-fleche) center / contain no-repeat; transition: transform .15s; }
.bohey-tuile:hover .bohey-tuile__titre::after { transform: translateX(4px); }
.bohey-tuile__titre a { color: inherit; text-decoration: none; }
.bohey-tuile__titre a::after { content: ""; position: absolute; inset: -100vh -100vw; } /* whole tile clickable (clipped by the tile) */
.bohey-tuile p:not(.bohey-tuile__num) { color: var(--creme-grise); font-size: .98rem; line-height: 1.45; margin-top: 4px; }
@media (min-width: 782px) { .bohey-chemins__tuiles { gap: 24px !important; } .bohey-tuile { min-height: 400px !important; } }

/* ===== The legend band (wolf photo) ===== */
.bohey-legende { padding: 0 !important; min-height: 0 !important; flex-direction: column; align-items: stretch !important; background-color: var(--bois-fonce); }
.bohey-legende img.wp-block-cover__image-background { position: relative; inset: auto; height: 260px; object-position: 38% 40%; }
.bohey-legende .wp-block-cover__background { background: linear-gradient(180deg, transparent 0, transparent 150px, var(--bois-fonce) 262px) !important; }
.bohey-legende .wp-block-cover__inner-container { padding: 4px var(--gouttiere) calc(var(--courbe) + 48px); }
.bohey-legende__contenu { max-width: var(--max); margin-inline: auto; }
.bohey-legende h2 { max-width: 14ch; margin-block: 0 .45em; }
.bohey-legende .wp-block-quote { color: var(--creme); max-width: 40ch; margin: 0 0 22px; }
.bohey-legende .wp-block-quote p { margin: 0; }
.bohey-legende p { color: var(--creme-grise); max-width: 44ch; }
.bohey-legende a { color: var(--accent-clair); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; font-size: .98rem; }
@media (min-width: 900px) {
	.bohey-legende { min-height: 620px !important; justify-content: center !important; }
	.bohey-legende img.wp-block-cover__image-background { position: absolute; inset: 0; height: 100%; object-position: 30% 57%; } /* default framing; the editor focal point (inline style) wins */
	.bohey-legende .wp-block-cover__background { background: linear-gradient(90deg, transparent 35%, rgba(47, 33, 26, .75) 58%, rgba(47, 33, 26, .95) 80%) !important; }
	.bohey-legende .wp-block-cover__inner-container { padding: 90px var(--gouttiere) 150px; }
	.bohey-legende__texte { margin-left: auto; width: min(100%, 470px); }
}

/* ===== Practical info ===== */
.bohey-infos__colonnes { gap: 28px !important; }
.bohey-infos .wp-block-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin-top: 20px; }
.bohey-infos .wp-block-list li { padding: .3em .8em; border: 1.5px solid rgba(106, 82, 67, .35); border-radius: 999px; font-size: .92rem; font-weight: 600; color: var(--bois); }
.bohey-infos__adresse p { margin: 0 0 6px; }
@media (min-width: 782px) { .bohey-infos__colonnes { gap: 56px !important; } }

.wp-block-image.is-style-polaroid { background: var(--papier); padding: 10px 10px 0; box-shadow: var(--ombre); border-radius: 4px; transform: rotate(1deg); }
.wp-block-image.is-style-polaroid img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.wp-block-image.is-style-polaroid figcaption { margin: 0; padding: 10px 6px 12px; font: 400 1.1rem/1.3 var(--wp--preset--font-family--kalam); color: var(--brun); text-align: center; }

/* ===== Centre Bohey ===== */
.bohey-centre { padding-block: 0 24px; }
.bohey-centre__ligne { display: grid; gap: 16px; align-items: center; padding: 26px 0; border-top: 2px solid rgba(75, 52, 39, .2); border-bottom: 2px solid rgba(75, 52, 39, .2); }
.bohey-centre__ligne::before { content: ""; width: 60px; height: 60px; border-radius: 50%; background: var(--bois) var(--i-verre) center / 28px no-repeat; }
.bohey-centre__ligne > * { margin: 0 !important; }
.bohey-centre h2 { font-size: 1.7rem; margin-bottom: .2em !important; }
.bohey-centre p { color: var(--brun); margin: 0; }
.bohey-centre__lien a { font-weight: 700; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; font-size: .98rem; }
@media (min-width: 900px) { .bohey-centre__ligne { grid-template-columns: auto 1fr auto; gap: 28px; padding: 30px 0; } }

/* ===== Inner pages ===== */
.bohey-entete-page { min-height: 300px !important; padding: 48px 0 calc(var(--courbe) + 40px) !important; align-items: center !important; background-color: var(--bois-fonce); }
.bohey-entete-page .wp-block-cover__background { background: rgba(47, 33, 26, .84) !important; }
.bohey-entete-page .wp-block-cover__inner-container { padding-inline: var(--gouttiere); }
.bohey-entete-page .wp-block-cover__inner-container > * { max-width: var(--max); margin-inline: auto; }
.bohey-entete-page .wp-block-post-title { font-size: clamp(2.4rem, 1.6rem + 3vw, 4rem); margin-bottom: .3em; }
.bohey-entete-page .wp-block-post-excerpt, .bohey-entete-page .wp-block-post-date, .bohey-entete-page .wp-block-query-title + p { color: var(--creme-grise); }
.bohey-entete-page .wp-block-post-excerpt__excerpt { max-width: 52ch; margin: 0; }
@media (min-width: 900px) {
	.bohey-entete-page { min-height: 380px !important; padding: 80px 0 calc(var(--courbe) + 56px) !important; }
	.bohey-entete-page .wp-block-cover__background { background: linear-gradient(90deg, rgba(47, 33, 26, .96) 0%, rgba(47, 33, 26, .88) 45%, rgba(47, 33, 26, .45) 100%) !important; }
}
.bohey-page-contenu { padding-block: 40px 72px; }
.bohey-evenement-zone { padding-top: 40px; }
.bohey-evenement-zone + .bohey-page-contenu { padding-top: 24px; }
main:has(.bohey-evenement) .bohey-entete-page .wp-block-post-date { display: none; } /* an event shows its own date, not the publication date */
.bohey-cartes-articles { gap: 24px; }
.bohey-cartes-articles .wp-block-post { background: var(--papier); border-radius: 12px; overflow: hidden; box-shadow: var(--ombre); }
.bohey-cartes-articles .wp-block-post > *:not(.wp-block-post-featured-image) { padding-inline: 20px; }
.bohey-cartes-articles .wp-block-post-title { font-size: 1.4rem; }
.bohey-cartes-articles .wp-block-post-featured-image { margin: 0; }

/* ===== Inner pages: sections (patterns « Bohey : pages », filled by the bohey-import plugin) ===== */
.bohey-bloc { padding-block: 28px; }
@media (min-width: 900px) { .bohey-bloc { padding-block: 48px; } }
.bohey-page-contenu > .bohey-bloc:first-child { padding-top: 8px; }
.bohey-bloc .bohey-section__tete { margin-bottom: 24px !important; }
.bohey-bloc .bohey-section__tete > p:not(.is-style-manuscrit) { color: var(--brun); }

/* Text and photo, side by side (the photo first on large screens with --inverse) */
.bohey-texte-photo__colonnes { gap: 28px !important; align-items: center !important; }
@media (min-width: 782px) { .bohey-texte-photo__colonnes { gap: 64px !important; } }
.bohey-texte-photo .is-style-manuscrit { margin-bottom: 0; }
.bohey-texte-photo .is-style-manuscrit + .wp-block-heading { margin-top: .3rem; }
.bohey-texte-photo p { max-width: 60ch; }
.bohey-texte-photo .wp-block-buttons { margin-top: 22px; }
.bohey-texte-photo--inverse .wp-block-image.is-style-polaroid { transform: rotate(-1deg); }
@media (max-width: 781px) { .bohey-texte-photo--inverse .bohey-texte-photo__colonnes { flex-direction: column-reverse; } } /* text first on phones */

/* List as chips (block style « Pastilles ») */
.wp-block-list.is-style-pastilles { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin-top: 18px; }
.wp-block-list.is-style-pastilles li { padding: .3em .8em; border: 1.5px solid rgba(106, 82, 67, .35); border-radius: 999px; font-size: .92rem; font-weight: 600; color: var(--bois); }

/* Key figures */
.bohey-chiffres__grille { gap: 14px !important; }
.bohey-chiffre { padding: 22px 16px !important; border-radius: 12px; background: var(--papier); box-shadow: var(--ombre); text-align: center; }
.bohey-chiffre > * { margin: 0 !important; }
.bohey-chiffre__nombre { font: 700 clamp(2.2rem, 1.8rem + 1.6vw, 3.1rem)/1 var(--wp--preset--font-family--fraunces); font-variation-settings: "SOFT" 100; color: var(--accent); }
.bohey-chiffre__texte { margin-top: 8px !important; color: var(--brun); font-weight: 600; line-height: 1.3; }

/* Steps (I., II., III.) */
.bohey-etapes__grille { gap: 14px !important; }
.bohey-etape { padding: 24px 22px !important; border-radius: 12px; background: var(--papier); box-shadow: var(--ombre); }
.bohey-etape > * { margin-block: 0 !important; }
.bohey-etape__num { font: italic 600 2.2rem/1 var(--wp--preset--font-family--fraunces); font-variation-settings: "SOFT" 100, "WONK" 1; color: var(--accent); }
.bohey-etape h3 { margin-top: 10px !important; font-size: 1.35rem; }
.bohey-etape p:not(.bohey-etape__num) { margin-top: 6px !important; color: var(--brun); }

/* Call to book or to ask: a dark wood card */
.bohey-appel__carte { padding: 36px 22px !important; border-radius: 16px; background: var(--bois-fonce) var(--grain-clair); color: var(--creme); text-align: center; }
.bohey-appel__carte > * { margin-inline: auto; }
.bohey-appel__carte .is-style-manuscrit { color: var(--accent-clair); margin-bottom: 0; }
.bohey-appel__carte .wp-block-heading { color: var(--creme); margin-top: .3rem; }
.bohey-appel__carte p:not(.is-style-manuscrit) { max-width: 52ch; color: var(--creme-grise); }
.bohey-appel__carte .wp-block-buttons { justify-content: center; margin-top: 22px; }
@media (min-width: 900px) { .bohey-appel__carte { padding: 56px 48px !important; } }

/* Cards (ARS Groupe family, places to visit…) */
.bohey-cartes__grille { gap: 14px !important; }
.bohey-carte-info { display: flex; flex-direction: column; padding: 22px !important; border-radius: 12px; background: var(--papier); box-shadow: var(--ombre); }
.bohey-carte-info > * { margin-block: 0 !important; }
.bohey-carte-info h3 { font-size: 1.3rem; }
.bohey-carte-info p { margin-top: 6px !important; color: var(--brun); }
.bohey-carte-info ul { margin-top: 8px !important; padding-left: 1.1em; color: var(--brun); }
.bohey-carte-info .bohey-carte-info__lien { margin-top: auto !important; padding-top: 12px; color: var(--accent); }
.bohey-carte-info__lien a { font-weight: 700; font-size: .92rem; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }

/* Link tiles in a grid (« La maison ») */
.bohey-tuiles__grille { gap: 16px !important; } /* no wider than the block gap (1.25rem): the grid counts on it to fit its columns */
.bohey-tuiles__grille .bohey-tuile { min-height: 260px !important; margin: 0 !important; }
@media (min-width: 782px) { .bohey-tuiles__grille .bohey-tuile { min-height: 320px !important; } }

/* A story (the wolf legend): narrow column, drop cap, wolf tracks between the chapters */
.bohey-recit__texte { max-width: 680px; margin-inline: auto; }
.bohey-recit__texte p { font-size: 1.12rem; line-height: 1.75; }
.bohey-recit__texte .bohey-recit__chapo { font: 600 clamp(1.25rem, 1.15rem + .4vw, 1.45rem)/1.5 var(--wp--preset--font-family--fraunces); font-variation-settings: "SOFT" 100; color: var(--bois); }
.bohey-recit__texte .bohey-recit__chapo::first-letter { float: left; margin: .08em .12em 0 0; font-size: 3.4em; line-height: .8; color: var(--accent); }
.bohey-recit__texte h2 { margin-top: 1.6em !important; text-align: center; font: 700 clamp(1.45rem, 1.3rem + .6vw, 1.8rem)/1.2 var(--wp--preset--font-family--kalam); font-variation-settings: normal; color: var(--accent); }
.bohey-recit__texte h2::before { content: ""; display: block; width: 120px; height: 27px; margin: 0 auto 10px; background: var(--accent); -webkit-mask: var(--m-pattes) center / contain no-repeat; mask: var(--m-pattes) center / contain no-repeat; opacity: .55; }

/* Legal text (privacy policy), after Apple's: centred intro, then fold-out panels with thin rules, « + » turning into « × ».
   Any details block of a page gets the panel look, so a panel added in the editor matches. */
.bohey-juridique > .bohey-juridique__intro, .bohey-juridique > .bohey-volets { max-width: 820px; }
.bohey-juridique__intro { max-width: 640px !important; margin-bottom: 40px !important; text-align: center; }
.bohey-juridique__intro p { font-size: 1.08rem; line-height: 1.65; color: var(--brun); }
.bohey-juridique__intro .bohey-juridique__date { font-weight: 700; color: var(--encre); }
.bohey-page-contenu .wp-block-details { margin: 0 !important; border-top: 1px solid rgba(43, 30, 22, .16); interpolate-size: allow-keywords; }
.bohey-page-contenu .wp-block-details:last-child { border-bottom: 1px solid rgba(43, 30, 22, .16); }
.bohey-page-contenu .wp-block-details > summary {
	display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; cursor: pointer; list-style: none;
	font: 600 clamp(1.2rem, 1.05rem + .6vw, 1.55rem)/1.25 var(--wp--preset--font-family--fraunces); font-variation-settings: "SOFT" 100, "WONK" 0; color: var(--encre);
}
.bohey-page-contenu .wp-block-details > summary::-webkit-details-marker { display: none; }
.bohey-page-contenu .wp-block-details > summary::after { /* the « + »: two bars, a quarter turn plus 45° makes the « × » */
	content: ""; flex: none; width: 18px; height: 18px; color: var(--brun);
	background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
	transition: transform .3s ease;
}
.bohey-page-contenu .wp-block-details > summary:hover, .bohey-page-contenu .wp-block-details > summary:hover::after { color: var(--accent); }
.bohey-page-contenu .wp-block-details[open] > summary::after { transform: rotate(135deg); }
.bohey-page-contenu .wp-block-details::details-content { height: 0; overflow: clip; transition: height .35s ease, content-visibility .35s allow-discrete; }
.bohey-page-contenu .wp-block-details[open]::details-content { height: auto; }
.bohey-page-contenu .wp-block-details > :not(summary) { max-width: 72ch; margin-block: 0 1em; }
.bohey-page-contenu .wp-block-details > :last-child { margin-bottom: 28px; }
.bohey-page-contenu .wp-block-details h3 { margin-top: 1.6em !important; font-size: 1.15rem; color: var(--bois); }
.bohey-page-contenu .wp-block-details > summary + h3 { margin-top: .2em !important; }
.bohey-page-contenu .wp-block-details ul, .bohey-page-contenu .wp-block-details ol { padding-left: 1.3em; }
.bohey-page-contenu .wp-block-details li + li { margin-top: .35em; }
@media print { .bohey-page-contenu .wp-block-details::details-content { height: auto; content-visibility: visible; } .bohey-page-contenu .wp-block-details > summary::after { display: none; } }

/* ===== Footer: the hill and the wolf are cut in the footer itself ===== */
.bohey-pied {
	--zone: 200px; --cf: 60px; --loup-x: 50%; --loup-y: 22px;
	position: relative; background: var(--bois-fonce) var(--grain-clair); color: var(--creme); padding-top: calc(var(--zone) + 30px) !important; padding-bottom: 28px !important; margin-top: 24px;
	-webkit-mask-image: var(--m-loup), var(--m-haut), linear-gradient(#000 0 0); mask-image: var(--m-loup), var(--m-haut), linear-gradient(#000 0 0);
	-webkit-mask-size: 80px 130px, 100% var(--cf), 100% calc(100% - var(--zone) + 1px); mask-size: 80px 130px, 100% var(--cf), 100% calc(100% - var(--zone) + 1px);
	-webkit-mask-position: var(--loup-x) var(--loup-y), 0 calc(var(--zone) - var(--cf)), 0 100%; mask-position: var(--loup-x) var(--loup-y), 0 calc(var(--zone) - var(--cf)), 0 100%;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
@media (min-width: 900px) { .bohey-pied { --cf: 90px; --loup-x: 72%; --loup-y: 10px; } }
.bohey-pied a { color: var(--creme); }
.bohey-pied a:hover { color: var(--accent-clair); }
.bohey-pied__colonnes { gap: 28px !important; }
.bohey-pied .bohey-logo img { width: 150px !important; } /* "Le Bohey" only: the wolf already stands on the hill above */
.bohey-pied h2 { font: 700 1.05rem/1.2 var(--wp--preset--font-family--source-sans) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--accent-clair); margin-bottom: 12px; font-variation-settings: normal; }
.bohey-pied p, .bohey-pied li { color: var(--creme-grise); }
.bohey-pied .bohey-menu__liste { display: grid; gap: 6px; }
/* The other houses of ARS Groupe */
.bohey-pied__groupe { margin-top: 32px !important; font-size: .95rem; }
.bohey-pied__groupe p { margin: 0; color: var(--creme-grise); }
.bohey-pied__groupe a { font-weight: 700; text-decoration: none; }
.bohey-pied__groupe a:hover { text-decoration: underline; }
.bohey-pied__groupe + .bohey-pied__bas { margin-top: 18px !important; }
.bohey-pied__bas { margin-top: 40px !important; padding-top: 18px; border-top: 1px solid rgba(255, 227, 184, .18); font-size: .9rem; gap: 8px 24px !important; }
.bohey-pied__bas p { color: #CDB79A; margin: 0; }
.bohey-credit { white-space: nowrap; }
@media (max-width: 599px) { .bohey-credit { display: block; margin-top: 4px; } .bohey-credit__sep { display: none; } }
.bohey-credit__coeur { color: var(--rouge); }
/* The logo alone is the link; vertical-align: middle centres it on the lowercase letters of the sentence. */
.bohey-credit__lien { display: inline-block; vertical-align: middle; margin-left: .1em; color: var(--creme); line-height: 0; border-radius: 3px; }
.bohey-credit__lien:hover { color: var(--accent-clair); }
.bohey-credit__logo { display: block; width: 1.55em; height: 1.03em; background: currentColor; -webkit-mask: var(--m-blazeridge) center / contain no-repeat; mask: var(--m-blazeridge) center / contain no-repeat; }
.bohey-pied .bohey-menu--legal .bohey-menu__liste { display: flex; flex-wrap: wrap; gap: 6px 18px; }
@media (min-width: 782px) { .bohey-pied__colonnes { gap: 40px !important; } }

/* Mobile action bar: a floating card (card radius, not a pill) with Call / Menu / Book at hand; barre.js slides it away while scrolling down.
   Call and Menu are compact (icon above the label), Book stays the wide red button. */
.bohey-barre {
	position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 50;
	display: grid !important; grid-template-columns: 1fr 1fr 1.7fr; gap: 4px !important; margin: 0 !important; padding: 6px !important;
	border: 1px solid rgba(255, 227, 184, .16); border-radius: 16px; background: var(--bois-fonce); box-shadow: 0 14px 30px -10px rgba(43, 30, 22, .55);
	transition: translate .3s ease, opacity .3s ease;
}
.bohey-barre.is-cachee { translate: 0 calc(100% + 24px); opacity: 0; pointer-events: none; }
.bohey-barre .wp-block-button, .bohey-barre .wp-block-button__link { width: 100%; }
.bohey-barre .wp-block-button__link { min-height: 50px; padding: 0 .6em; border-radius: 11px; text-transform: none; letter-spacing: .01em; font-size: 1.05rem; }
.bohey-barre .is-style-contour-creme .wp-block-button__link { flex-direction: column; gap: 4px; padding: 0 .2em; border-color: transparent; font-size: .82rem; font-weight: 600; }
.bohey-barre .is-style-contour-creme .wp-block-button__link::before { width: 1.55em; height: 1.55em; translate: none; }
.bohey-barre .is-style-contour-creme .wp-block-button__link:hover { background: rgba(255, 227, 184, .1); color: var(--creme); }
/* Room for the floating bar inside the dark footer itself, so no strip of page background shows around the bar */
.bohey-pied { padding-bottom: calc(28px + 88px + env(safe-area-inset-bottom)) !important; }
@media (min-width: 1024px) { .bohey-barre { display: none !important; } .bohey-pied { padding-bottom: 28px !important; } }
.editor-styles-wrapper .bohey-barre { position: static; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
