/* By Meryame — styles du site
   Blanc dominant, beige en bandes, noir pour le texte. Jost (Futura) partout,
   Cormorant italique uniquement pour la signature et les lettres de l'index. */

:root {
	--bym-blanc: var(--wp--preset--color--blanc, #fff);
	--bym-lin: var(--wp--preset--color--lin, #f6f2ec);
	--bym-sable: var(--wp--preset--color--sable, #e6dcce);
	--bym-taupe: var(--wp--preset--color--taupe, #8e7f6e);
	--bym-noir: var(--wp--preset--color--noir, #201a17);
	--bym-trait: var(--wp--preset--color--trait, #e2d8ca);
	--bym-script: var(--wp--preset--font-family--signature, "Cormorant Garamond", Garamond, serif);
	--bym-sans: var(--wp--preset--font-family--jost, Jost, Futura, sans-serif);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
a { text-underline-offset: 0.22em; text-decoration-thickness: 1px; }
img { height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--bym-noir); outline-offset: 3px; }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* ---------- En-tête ---------- */
.bym-header { position: sticky; top: 0; z-index: 50; background: var(--bym-blanc); border-bottom: 1px solid var(--bym-trait); }
.admin-bar .bym-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .bym-header { top: 0; position: relative; } }
.bym-header-inner { padding-block: 1.1rem; gap: 2rem; }
.bym-logo { margin: 0; font-size: 1rem; font-weight: 400; letter-spacing: 0.38em; text-transform: uppercase; line-height: 1; white-space: nowrap; }
.bym-logo a { text-decoration: none; color: var(--bym-noir); }
.bym-nav a { text-decoration: none; }
.bym-nav .wp-block-navigation-item__content { padding-block: 0.35rem; }
.bym-nav .wp-block-navigation-item__content:hover,
.bym-nav .current-menu-item > .wp-block-navigation-item__content { text-decoration: underline; color: var(--bym-noir); }
.bym-nav .wp-block-navigation__container { gap: 1.9rem; }
.bym-nav .wp-block-navigation__submenu-container { border: 1px solid var(--bym-trait) !important; background: var(--bym-blanc) !important; padding: 0.6rem 0 !important; min-width: 15rem !important; }
.bym-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.45rem 1.2rem !important; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem max(16px, 6vw); }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; font-size: 1.125rem; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: 0.6rem 0 0 1rem !important; }

/* ---------- Mise en page ---------- */
.bym-main { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(4rem, 9vw, 7rem); }
.bym-main--pleine { padding-block: 0; }
.bym-main--pleine > .wp-block-post-content > *:first-child { margin-block-start: 0; }
.bym-page-titre { margin-block: 0 1.75rem; }
.bym-intro { font-size: 1.125rem; color: var(--bym-noir); max-width: 60ch; }
.bym-signature, .is-style-signature { font-family: var(--bym-script); font-style: italic; font-weight: 400; font-size: 1.6rem; line-height: 1.3; letter-spacing: 0; }
.bym-bande { padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.bym-vide { color: var(--bym-taupe); }
.bym-notice { background: var(--bym-lin); padding: 0.9rem 1.1rem; border-left: 2px solid var(--bym-noir); }
.bym-erreur { background: var(--bym-lin); padding: 0.9rem 1.1rem; border-left: 2px solid #9b2c1d; color: #6e1e14; }
.bym-retour { font-size: 0.8125rem; margin-block-end: 1.25rem; }
.bym-retour a { text-decoration: none; color: var(--bym-taupe); }
.bym-retour a:hover { color: var(--bym-noir); }

/* ---------- Boutons ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .2s ease, color .2s ease; cursor: pointer; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--bym-noir); border: 1px solid var(--bym-noir); padding: 0.85rem 1.75rem; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--bym-noir); color: var(--bym-blanc); }
.wp-block-button.is-style-blanc > .wp-block-button__link { background: var(--bym-blanc); color: var(--bym-noir); border-color: var(--bym-blanc); }
.wp-block-button.is-style-blanc > .wp-block-button__link:hover { background: transparent; color: var(--bym-blanc); }
.wp-block-button.is-style-contour-blanc > .wp-block-button__link { background: transparent; color: var(--bym-blanc); border-color: var(--bym-blanc); }
.wp-block-button.is-style-contour-blanc > .wp-block-button__link:hover { background: var(--bym-blanc); color: var(--bym-noir); }
.bym-btn-contour { background: transparent !important; color: var(--bym-noir) !important; }
.bym-btn-contour:hover { background: var(--bym-noir) !important; color: var(--bym-blanc) !important; }

/* ---------- Accueil ---------- */
.bym-hero { color: var(--bym-blanc); padding-block: clamp(3rem, 8vw, 6rem) !important; }
.bym-hero h1 { font-weight: 300; font-size: clamp(2rem, 4.6vw, 3.4rem); color: inherit; margin-block-end: 0.25rem; }
.bym-hero .bym-signature { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin-block: 0 1.75rem; }
.bym-hero--uni { color: var(--bym-noir); }
.bym-hero--uni .wp-block-button.is-style-blanc > .wp-block-button__link { background: var(--bym-noir); color: var(--bym-blanc); border-color: var(--bym-noir); }
.bym-hero--uni .wp-block-button.is-style-contour-blanc > .wp-block-button__link { color: var(--bym-noir); border-color: var(--bym-noir); }
.bym-qui { margin-block: clamp(4rem, 9vw, 7rem) !important; gap: clamp(2rem, 5vw, 5rem); }
.bym-qui .wp-block-media-text__media img { aspect-ratio: 4 / 5; object-fit: cover; }
.bym-qui .wp-block-media-text__content { padding: 0 !important; max-width: 34rem; }
.bym-suivi .bym-intro { margin-block-end: 2.5rem; }
.bym-suivi-grille { gap: 2.5rem 3rem; }
.bym-suivi-item { border-top: 1px solid var(--bym-noir); padding-top: 1.25rem; }
.bym-suivi-item h3 { font-size: 1.125rem; font-weight: 400; margin-block: 0 0.5rem; }
.bym-suivi-item p { margin: 0; color: #2a2724; }
.bym-temoignages { margin-block: clamp(4rem, 9vw, 7rem) !important; }
.bym-temoignages > h2 { margin-block-end: 2.5rem; }
.wp-block-quote { margin: 0; padding: 0; }
.wp-block-quote p { margin-block-end: 1rem; }
.wp-block-quote cite { font-family: var(--bym-sans); font-style: normal; font-size: 0.8125rem; color: var(--bym-taupe); letter-spacing: 0.02em; }
.bym-reseaux-bande .bym-reseaux { justify-content: center; margin-block: 1.75rem 1.5rem; }
.bym-reseaux-bande .bym-wa { text-align: center; }

/* ---------- Réseaux ---------- */
.bym-reseaux { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; font-size: 0.875rem; font-weight: 400; }
.bym-reseaux a { text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }

/* ---------- Pied de page ---------- */
.bym-footer { padding-block: clamp(3rem, 6vw, 4.5rem) 2rem; }
.bym-footer-inner { gap: 2rem; margin-block-end: 3rem; }
.bym-footer-marque { gap: 0.6rem; }
.bym-footer .bym-signature { margin: 0; color: var(--bym-taupe); font-size: 1.35rem; }
.bym-footer-legal { font-size: 0.8125rem; color: var(--bym-taupe); border-top: 1px solid var(--bym-trait); padding-top: 1.5rem; margin: 0; }
.bym-footer-legal a { color: inherit; }

/* ---------- Espace clientes ---------- */
.bym-espace-nav { display: flex; align-items: center; gap: 1.5rem; border-bottom: 1px solid var(--bym-trait); margin-block: -0.5rem 2.25rem; padding-bottom: 0.9rem; font-size: 0.8125rem; font-weight: 400; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.bym-espace-nav::-webkit-scrollbar { display: none; }
.bym-espace-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.5rem; }
.bym-espace-nav a { text-decoration: none; color: var(--bym-taupe); }
.bym-espace-nav a:hover, .bym-espace-nav a[aria-current] { color: var(--bym-noir); text-decoration: underline; }
.bym-espace-nav-home { color: var(--bym-noir) !important; padding-right: 1.5rem; border-right: 1px solid var(--bym-trait); }

.bym-gate { max-width: 26rem; margin-block: 2rem; display: grid; gap: 0.75rem; }
.bym-gate label { font-size: 0.875rem; font-weight: 400; }
.bym-gate-row { display: flex; gap: 0.5rem; }
.bym-gate-row input { flex: 1; min-width: 0; }
.bym-gate-aide { font-size: 0.875rem; color: var(--bym-taupe); }

.bym-tuiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem; margin-block: 2.5rem 2rem; }
.bym-tuile { display: grid; gap: 0.4rem; text-decoration: none; color: var(--bym-noir); }
.bym-tuile-img { display: block; aspect-ratio: 4 / 5; background: var(--bym-sable); overflow: hidden; margin-block-end: 0.6rem; }
.bym-tuile-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.bym-tuile:hover .bym-tuile-img img { transform: scale(1.03); }
.bym-tuile-titre { font-size: 1.0625rem; font-weight: 400; }
.bym-tuile-desc { font-size: 0.8125rem; color: var(--bym-taupe); line-height: 1.5; }
.bym-deconnexion { font-size: 0.8125rem; }
.bym-deconnexion a { color: var(--bym-taupe); }

/* ---------- Formulaires ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="url"], select, textarea {
	font: inherit; font-weight: 300; color: var(--bym-noir); background: var(--bym-blanc); border: 1px solid var(--bym-noir); border-radius: 0; padding: 0.75rem 0.9rem; width: 100%; box-sizing: border-box;
}
textarea { resize: vertical; }
label { display: block; font-size: 0.875rem; font-weight: 400; margin-block-end: 0.35rem; }
.bym-form { margin-block-start: 2rem; }
.bym-form p { margin-block: 0 1.1rem; }
.bym-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; }
.bym-opt { color: var(--bym-taupe); font-weight: 300; }
.bym-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bym-wa { margin-block: 1.5rem; }

/* ---------- Bibliothèque de recettes ---------- */
.bym-lib { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; margin-block-start: 1rem; }
.bym-lib--vos { grid-template-columns: minmax(0, 1fr); }
.bym-lib-cats { position: sticky; top: 6rem; }
.admin-bar .bym-lib-cats { top: 8rem; }
.bym-lib-cats-titre { font-size: 0.8125rem; color: var(--bym-taupe); margin: 0 0 1rem; }
.bym-lib-cats ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.35rem; }
.bym-lib-cats a { text-decoration: none; font-size: 1.0625rem; color: var(--bym-noir); }
.bym-lib-cats a:hover, .bym-lib-cats a[aria-current] { text-decoration: underline; }
.bym-lib-cats-vos { margin-top: 0.9rem; padding-top: 0.9rem; border-top: 1px solid var(--bym-trait); }
.bym-search input { border: 0; border-bottom: 1px solid var(--bym-noir); padding: 0.6rem 0; font-size: 1.125rem; background: transparent; }
.bym-search input::placeholder { color: var(--bym-taupe); }
.bym-search input:focus-visible { outline: none; border-bottom-width: 2px; }
.bym-lib-count { font-size: 0.8125rem; color: var(--bym-taupe); margin: 0.75rem 0 0.5rem; min-height: 1.3em; }
.bym-lettre { margin-block-start: 1.75rem; }
.bym-lettre-titre { font-family: var(--bym-script); font-style: italic; font-size: 1.9rem; font-weight: 400; margin: 0 0 0.25rem; line-height: 1; }
.bym-rec-liste { list-style: none; margin: 0; padding: 0; }
.bym-rec { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--bym-trait); padding-block: 0.8rem; }
.bym-rec > a { display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap; text-decoration: none; color: var(--bym-noir); min-width: 0; }
.bym-rec > a:hover .bym-rec-titre { text-decoration: underline; }
.bym-rec-img { width: 3rem; height: 3rem; object-fit: cover; flex: none; align-self: center; }
.bym-rec-meta { font-size: 0.8125rem; color: var(--bym-taupe); white-space: nowrap; font-variant-numeric: tabular-nums; }
.bym-sign { font-family: var(--bym-script); font-style: italic; color: var(--bym-taupe); font-size: 1.0625rem; letter-spacing: 0; }
.bym-stars { color: var(--bym-noir); letter-spacing: 0.08em; }
.bym-stars-off { color: var(--bym-trait); }
.bym-rating--empty { color: var(--bym-taupe); }

/* ---------- Fiche recette ---------- */
.bym-recette-infos { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.5rem; font-size: 0.875rem; margin-block: -0.75rem 2rem; }
.bym-recette-cats a { color: var(--bym-taupe); }
.bym-recette-note { text-decoration: none; color: var(--bym-noir); }
.bym-recette-photo img { width: 100%; object-fit: cover; }
.bym-recette-actions { margin-block: 2rem 3.5rem; }
.bym-astuce { font-size: 0.875rem; color: var(--bym-taupe); max-width: 52ch; }
.bym-avis { border-top: 1px solid var(--bym-noir); padding-top: 2rem; }
.bym-avis-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.5rem 1.5rem; }
.bym-avis-head h2 { margin: 0; font-size: 1.5rem; }
.bym-avis-moy { margin: 0; font-size: 0.9375rem; }
.bym-avis-liste { list-style: none; padding: 0; margin: 1.5rem 0 2.5rem; }
.bym-avis-item { border-bottom: 1px solid var(--bym-trait); padding-block: 1.1rem; }
.bym-avis-meta { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; align-items: baseline; font-size: 0.8125rem; }
.bym-avis-nom { font-weight: 500; font-size: 0.9375rem; }
.bym-avis-meta time { color: var(--bym-taupe); }
.bym-avis-texte p { margin: 0.4rem 0 0; }
.bym-avis .comment-respond { background: var(--bym-lin); padding: clamp(1.25rem, 4vw, 2rem); margin-top: 1.5rem; }
.bym-avis .comment-reply-title { margin-top: 0; font-size: 1.25rem; }
.bym-avis .comment-form p { margin-block: 0 1rem; }
.bym-note-choix { border: 0; padding: 0; margin: 0 0 1rem; }
.bym-note-choix legend { font-size: 0.875rem; font-weight: 400; margin-bottom: 0.35rem; padding: 0; }
.bym-note-etoiles { display: inline-flex; flex-direction: row-reverse; gap: 0.2rem; }
.bym-note-etoiles input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bym-note-etoiles label { font-size: 1.9rem; line-height: 1; color: var(--bym-sable); cursor: pointer; margin: 0; transition: color .15s ease; }
.bym-note-etoiles label:hover, .bym-note-etoiles label:hover ~ label, .bym-note-etoiles input:checked ~ label { color: var(--bym-noir); }
.bym-note-etoiles input:focus-visible + label { outline: 2px solid var(--bym-noir); outline-offset: 2px; }
.bym-avis .form-submit { margin: 0; }

/* ---------- Menus ---------- */
.bym-menu { margin-block: 1.5rem 3.5rem; }
.bym-menu-titre { font-size: 1.6rem; margin-block: 0 1.25rem; }
.bym-menu-contenu h3 { font-size: 1rem; font-weight: 400; letter-spacing: 0.02em; border-bottom: 1px solid var(--bym-noir); padding-bottom: 0.4rem; margin-block: 2rem 0.6rem; }
.bym-menu-contenu ul { list-style: none; padding: 0; margin: 0; }
.bym-menu-contenu li { padding-block: 0.45rem; border-bottom: 1px solid var(--bym-trait); }
.bym-menu-contenu li a { text-decoration: none; }
.bym-menu-contenu li a:hover { text-decoration: underline; }
.bym-menu-contenu em { font-family: var(--bym-script); color: var(--bym-taupe); font-size: 1.0625rem; margin-left: 0.35rem; }
.bym-archives { border-top: 1px solid var(--bym-noir); padding-top: 2rem; }
.bym-archives h2 { font-size: 1.5rem; margin-top: 0; }
.bym-archives-liste { list-style: none; padding: 0; columns: 2 16rem; column-gap: 3rem; }
.bym-archives-liste li { break-inside: avoid; padding-block: 0.5rem; border-bottom: 1px solid var(--bym-trait); }
.bym-archives-liste a { text-decoration: none; }
.bym-archives-liste a:hover { text-decoration: underline; }

/* ---------- Vidéothèque & animations ---------- */
.bym-ancres { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; font-size: 0.875rem; margin-block: 1rem 2.5rem; }
.bym-ancres a { color: var(--bym-taupe); }
.bym-rubrique { border-top: 1px solid var(--bym-noir); padding-top: 1.5rem; margin-block-end: 3.5rem; scroll-margin-top: 6rem; }
.bym-rubrique h2 { font-size: 1.5rem; margin-block: 0 0.5rem; }
.bym-rubrique-intro { color: var(--bym-taupe); margin-block: 0 1.75rem; }
.bym-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 2rem 1.5rem; }
.bym-carte { display: grid; gap: 0.35rem; align-content: start; text-decoration: none; color: var(--bym-noir); }
.bym-carte-img { display: block; aspect-ratio: 4 / 3; background: var(--bym-lin); overflow: hidden; margin-block-end: 0.5rem; }
.bym-carte-img img { width: 100%; height: 100%; object-fit: cover; }
.bym-carte-titre { font-weight: 400; }
.bym-carte:hover .bym-carte-titre { text-decoration: underline; }
.bym-carte-desc { font-size: 0.8125rem; color: var(--bym-taupe); }
.bym-agenda { list-style: none; padding: 0; margin: 0; }
.bym-agenda-item { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; padding-block: 1.25rem; border-bottom: 1px solid var(--bym-trait); }
.bym-date { display: grid; justify-items: start; line-height: 1.1; }
.bym-date-jour { font-size: 2.2rem; font-weight: 300; }
.bym-date-mois { font-size: 0.8125rem; color: var(--bym-taupe); }
.bym-agenda-txt h3 { font-size: 1.125rem; font-weight: 400; margin: 0 0 0.2rem; }
.bym-agenda-txt h3 a { text-decoration: none; }
.bym-agenda-txt p { margin: 0.2rem 0 0; font-size: 0.9375rem; }
.bym-agenda-quand { color: var(--bym-taupe); font-size: 0.875rem !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
	.bym-tuiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.bym-lib { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
	.bym-lib-cats { position: static; }
	.bym-lib-cats ul { display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 0.4rem; scrollbar-width: none; margin-inline: calc(-1 * max(16px, 4vw)); padding-inline: max(16px, 4vw); }
	.bym-lib-cats ul::-webkit-scrollbar { display: none; }
	.bym-lib-cats li { flex: none; }
	.bym-lib-cats a { display: block; border: 1px solid var(--bym-trait); padding: 0.4rem 0.8rem; font-size: 0.875rem; white-space: nowrap; }
	.bym-lib-cats a[aria-current] { background: var(--bym-noir); color: var(--bym-blanc); border-color: var(--bym-noir); text-decoration: none; }
	.bym-lib-cats-titre { display: none; }
	.bym-lib-cats-vos { margin: 0; padding: 0; border: 0; }
	.bym-rec { flex-direction: column; gap: 0.15rem; }
	.bym-tuiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; }
	.bym-form-grid { grid-template-columns: minmax(0, 1fr); }
	.bym-agenda-item { grid-template-columns: 4rem minmax(0, 1fr); }
	.bym-agenda-btn { grid-column: 2; justify-self: start; }
	.bym-header-inner { padding-block: 0.9rem; }
	.bym-logo { font-size: 0.875rem; letter-spacing: 0.3em; }
}

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

/* ---------- Ajustements ---------- */
.wp-site-blocks > main, .wp-site-blocks > .bym-main, .wp-site-blocks > footer, .wp-site-blocks > .bym-footer { margin-block-start: 0; }
.bym-main--pleine > .wp-block-post-content { margin-block-start: 0; }
.bym-main--pleine > .wp-block-post-content > .alignfull:last-child { margin-block-end: 0; }
.bym-intro { max-width: var(--wp--style--global--content-size, 760px); }
.bym-main--large .bym-intro, .bym-suivi .bym-intro { max-width: 1180px; box-sizing: border-box; padding-right: max(0px, calc(100% - 62ch)); }
.bym-tuile { align-content: start; }
.bym-rec-meta .bym-rating--empty { display: none; }

/* ---------- Bibliothèque en grille photo ---------- */
.bym-rec-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); gap: 2rem 1.25rem; margin-block-start: 0.75rem; }
.bym-rec { display: grid; align-content: start; gap: 0.3rem; border-bottom: 0; padding-block: 0; }
.bym-rec[hidden] { display: none; }
.bym-rec > a { display: grid; gap: 0.35rem; align-items: start; }
.bym-rec-photo { display: block; aspect-ratio: 4 / 5; background: var(--bym-lin); overflow: hidden; margin-block-end: 0.45rem; position: relative; }
.bym-rec-photo img.bym-rec-img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.bym-rec > a:hover .bym-rec-img { transform: scale(1.03); }
.bym-rec-initiale { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--bym-script); font-style: italic; font-size: 3.5rem; color: var(--bym-sable); }
.bym-rec-titre { font-size: 1rem; font-weight: 400; line-height: 1.35; }
.bym-rec .bym-sign { font-size: 1rem; line-height: 1; }
.bym-rec-meta { white-space: normal; }
.bym-lettre { margin-block-start: 2.5rem; }
.bym-lettre-titre { border-bottom: 1px solid var(--bym-trait); padding-bottom: 0.5rem; }
@media (max-width: 781px) {
	.bym-rec-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 0.85rem; }
	.bym-rec { flex-direction: initial; }
	.bym-rec-titre { font-size: 0.9375rem; }
}
.bym-rec { align-items: stretch; justify-content: stretch; }
.bym-rec > a { width: 100%; justify-items: stretch; }
.bym-rec-photo { width: 100%; }

/* ---------- En-tête : icônes et recherche ---------- */
.bym-header-droite { gap: 1.75rem; }
.bym-icones { display: flex; align-items: center; gap: 0.9rem; }
.bym-icone { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; background: none; border: 0; padding: 0; color: var(--bym-noir); cursor: pointer; }
.bym-icone:hover { color: var(--bym-taupe); }
.bym-recherche { display: flex; gap: 0.75rem; align-items: center; max-width: 1180px; margin: 0 auto; padding-block: 0 1.1rem; }
.bym-recherche[hidden] { display: none; }
.bym-recherche input { flex: 1; min-width: 0; border: 0; border-bottom: 1px solid var(--bym-noir); padding: 0.6rem 0; font-size: 1.125rem; }
.bym-recherche input:focus-visible { outline: none; border-bottom-width: 2px; }
.bym-recherche-fermer { background: none; border: 0; font-size: 1.75rem; line-height: 1; cursor: pointer; color: var(--bym-taupe); padding: 0 0.25rem; }
.bym-nav .wp-block-navigation__container { gap: 1.6rem; }
.bym-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: nowrap; }

/* Menu en mode « burger » dès que la largeur ne suffit plus. */
@media (max-width: 1180px) {
	.bym-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.bym-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.bym-header-droite { gap: 0.5rem; }
	.bym-icones { order: -1; }
}
@media (max-width: 781px) {
	.bym-recherche { flex-wrap: wrap; }
	.bym-recherche .wp-element-button { order: 3; }
}

/* ---------- Onglets utiles ---------- */
.bym-utiles { font-size: 0.875rem; color: var(--bym-taupe); margin-block: 0 1rem; }
.bym-courses h3 { font-size: 1rem; font-weight: 400; border-bottom: 1px solid var(--bym-noir); padding-bottom: 0.4rem; margin-block: 2rem 0.4rem; }
.bym-courses ul { list-style: none; padding: 0; margin: 0; columns: 2 16rem; column-gap: 2.5rem; }
.bym-courses li { break-inside: avoid; display: flex; gap: 0.75rem; align-items: baseline; padding-block: 0.45rem; border-bottom: 1px solid var(--bym-trait); cursor: pointer; user-select: none; }
.bym-courses li::before { content: ""; flex: none; width: 0.9rem; height: 0.9rem; border: 1px solid var(--bym-noir); transform: translateY(0.12rem); }
.bym-courses li.is-coche { color: var(--bym-taupe); text-decoration: line-through; }
.bym-courses li.is-coche::before { background: var(--bym-noir); box-shadow: inset 0 0 0 2px var(--bym-blanc); }
.bym-courses li:focus-visible { outline: 2px solid var(--bym-noir); outline-offset: 2px; }
.bym-courses-reset { margin-top: 2rem; }
.bym-saison { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1.25rem; margin-block-start: 1rem; }
.bym-mois { border-top: 1px solid var(--bym-noir); padding-top: 1rem; }
.bym-mois--actuel { background: var(--bym-lin); border-top-width: 2px; padding: 1.25rem; grid-column: 1 / -1; }
.bym-mois-nom { font-size: 1.375rem; margin: 0 0 0.75rem; display: flex; align-items: baseline; gap: 0.75rem; flex-wrap: wrap; }
.bym-mois-badge { font-family: var(--bym-script); font-style: italic; font-size: 1.1rem; color: var(--bym-taupe); }
.bym-mois h3 { font-size: 0.8125rem; font-weight: 400; color: var(--bym-taupe); margin: 0.75rem 0 0.15rem; }
.bym-mois p { margin: 0; font-size: 0.9375rem; line-height: 1.6; }

/* Menu burger ouvert : aligné à gauche, rubriques et sous-rubriques lisibles. */
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.4rem !important; padding-top: 1rem; width: 100%; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 1.375rem; font-weight: 300; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 0.5rem 0 0 0 !important; gap: 0.15rem !important; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 0.9375rem !important; color: var(--bym-taupe); padding: 0.25rem 0 !important; }
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
@media (min-width: 782px) {
	.bym-espace-nav { flex-wrap: wrap; white-space: normal; }
	.bym-espace-nav ul { flex-wrap: wrap; gap: 0.5rem 1.5rem; }
}

/* =========================================================================
   Direction éditoriale v2 : serif de caractère, capitales espacées, brun espresso
   ========================================================================= */
:root {
	--bym-display: var(--wp--preset--font-family--display, "Instrument Serif", serif);
	--bym-espresso: var(--wp--preset--color--espresso, #201a17);
	--bym-creme: var(--wp--preset--color--creme, #f4f0ea);
	--bym-track: 0.16em;
}
h1 em, h2 em, .bym-logo em { font-style: italic; text-transform: none; }
.bym-label { font-family: var(--bym-sans); font-size: 0.7rem !important; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; margin-block-end: 1rem; }

/* Bandeau d'annonce */
.bym-annonce { background: var(--bym-espresso); color: var(--bym-creme); position: relative; text-align: center; padding: 0.6rem 3rem; }
.bym-annonce[hidden] { display: none; }
.bym-annonce p { margin: 0; font-size: 0.66rem; letter-spacing: var(--bym-track); text-transform: uppercase; font-weight: 400; }
.bym-annonce a { color: inherit; text-decoration: none; }
.bym-annonce a span { border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.bym-annonce-fermer { position: absolute; right: max(12px, 2vw); top: 50%; transform: translateY(-50%); background: none; border: 0; color: inherit; font-size: 1.2rem; cursor: pointer; line-height: 1; }

/* En-tête */
.bym-header-inner { padding-block: 1.25rem; gap: 2rem; }
.bym-logo { display: inline-flex; flex-direction: column; align-items: flex-start; text-decoration: none; color: var(--bym-noir); font-family: var(--bym-display); font-size: 2.05rem; line-height: 0.9; letter-spacing: 0.01em; text-transform: none; white-space: nowrap; }
.bym-logo:hover { color: var(--bym-noir); }
.bym-logo-sous { font-family: var(--bym-sans); font-size: 0.52rem; letter-spacing: 0.34em; text-transform: uppercase; margin-top: 0.45rem; padding-left: 0.1em; }
.bym-nav .wp-block-navigation__container { gap: 2rem; }
.bym-nav .wp-block-navigation-item__content:hover, .bym-nav .current-menu-item > .wp-block-navigation-item__content { text-decoration: none; box-shadow: inset 0 -1px 0 currentColor; }
.bym-nav .wp-block-navigation__submenu-container { text-transform: none; letter-spacing: 0.02em; font-size: 0.8125rem; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--bym-display); font-size: 1.9rem; letter-spacing: 0.02em; }

/* Titres de pages */
.bym-page-titre { font-size: clamp(2.4rem, 5vw, 4rem); line-height: 0.95; margin-block: 0 2rem; }
.bym-espace-nav { text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.66rem; }
.bym-espace-nav-home { font-weight: 500; }

/* Accueil : hero */
.bym-hero { color: var(--bym-creme); padding-block: clamp(4rem, 9vw, 7rem) !important; }
.bym-hero .wp-block-cover__inner-container { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: max(16px, 4vw); box-sizing: border-box; }
.bym-hero .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: auto !important; max-width: 46rem; }
.bym-hero h1 { font-size: clamp(2.8rem, 6.4vw, 5.6rem); line-height: 0.92; margin-block: 0 1.5rem; color: inherit; }
.bym-hero-txt { font-size: 1.0625rem; max-width: 34ch !important; margin-block-end: 2.25rem; opacity: 0.92; }
.bym-hero .wp-block-buttons { gap: 0.9rem; }

/* Bande des atouts */
.bym-atouts { padding-block: 2.25rem; }
.bym-atouts-grille { gap: 1.5rem 2rem; }
.bym-atout { gap: 1.1rem; }
.bym-atout svg { flex: none; opacity: 0.9; }
.bym-atout p { margin: 0; font-size: 0.8rem; line-height: 1.6; opacity: 0.8; }
.bym-atout strong { display: inline-block; font-weight: 500; font-size: 0.68rem; letter-spacing: var(--bym-track); text-transform: uppercase; opacity: 1; margin-bottom: 0.2rem; color: var(--bym-creme); }

/* Sections */
.bym-section { padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
.bym-titre-ligne { display: flex; align-items: center; justify-content: center; gap: 1.5rem; font-family: var(--bym-display); font-size: clamp(1.3rem, 2.4vw, 1.75rem); text-transform: uppercase; letter-spacing: 0.14em; text-align: center; margin-block: 0 2.5rem !important; }
.bym-titre-ligne::before, .bym-titre-ligne::after { content: ""; flex: 0 1 5rem; height: 1px; background: currentColor; opacity: 0.4; }

/* Tuiles catégories */
.bym-cat-tuiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.75rem; }
.bym-cat-tuile { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--bym-espresso); color: var(--bym-creme); text-decoration: none; }
.bym-cat-tuile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.bym-cat-tuile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.62) 100%); }
.bym-cat-tuile:hover img { transform: scale(1.04); }
.bym-cat-tuile-txt { position: absolute; left: 0; right: 0; bottom: 1.4rem; z-index: 1; display: grid; justify-items: center; gap: 0.45rem; text-align: center; padding-inline: 0.75rem; }
.bym-cat-tuile-nom { font-family: var(--bym-display); font-size: clamp(1.25rem, 1.9vw, 1.65rem); text-transform: uppercase; letter-spacing: 0.06em; line-height: 1; }
.bym-cat-tuile-cta { font-size: 0.6rem; letter-spacing: 0.22em; text-transform: uppercase; }

/* Dernières recettes */
.bym-nouveautes h2 { margin-block-start: 0; }
.bym-recentes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.bym-recentes a { display: grid; gap: 0.4rem; text-decoration: none; color: var(--bym-noir); }
.bym-recentes .bym-rec-photo { aspect-ratio: 4 / 5; }
.bym-rec-cat { font-size: 0.75rem; color: var(--bym-taupe); }

/* Cartes recettes : noms en petites capitales */
.bym-rec-titre { font-size: 0.72rem !important; font-weight: 500 !important; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.5 !important; }
.bym-lib-cats a { font-family: var(--bym-display); font-size: 1.35rem; line-height: 1.15; }
.bym-lib-cats-titre, .bym-lib-count { text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.62rem; }

/* Qui suis-je */
.bym-qui { margin-block: 0 !important; min-height: 34rem; }
.bym-qui .wp-block-media-text__media img { filter: grayscale(0.15); }
.bym-qui .wp-block-media-text__content { padding: clamp(2.5rem, 7vw, 6rem) !important; max-width: 40rem; }
.bym-qui h2 { margin-block: 0 1.5rem; }
.bym-lien-souligne a { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 0.3rem; }

/* Témoignages */
.bym-temoignages .wp-block-quote { text-align: center; }
.bym-temoignages .wp-block-quote cite { display: block; margin-top: 0.75rem; text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.62rem; }

/* Bandeau rejoindre */
.bym-rejoindre { padding-block-start: 0; }
.bym-rejoindre-boite { border: 1px solid var(--bym-trait); padding: 1.75rem 2rem; gap: 1.5rem; background: var(--bym-blanc); }
.bym-rejoindre-txt { margin: 0; font-size: 0.875rem; }
.bym-rejoindre-txt strong { font-weight: 500; font-size: 0.72rem; letter-spacing: var(--bym-track); text-transform: uppercase; }
.bym-rejoindre .bym-reseaux { justify-content: center; margin-top: 1.75rem; text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.66rem; }

/* Pied de page sombre */
.bym-footer { padding-block: clamp(3.5rem, 6vw, 5rem) 1.75rem; }
.bym-footer a { color: var(--bym-creme); }
.bym-logo--footer { color: var(--bym-creme); font-size: 2rem; margin-bottom: 1.25rem; }
.bym-footer-txt { font-size: 0.8125rem; opacity: 0.75; max-width: 30ch; }
.bym-footer-titre { font-size: 0.66rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; margin-block: 0 1rem; }
.bym-footer-liens { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; font-size: 0.8125rem; }
.bym-footer-liens a { text-decoration: none; opacity: 0.8; }
.bym-footer-liens a:hover { opacity: 1; text-decoration: underline; }
.bym-footer .bym-reseaux { margin-top: 1.25rem; text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.62rem; }
.bym-footer-legal { border-top-color: rgba(244, 240, 234, 0.18) !important; color: rgba(244, 240, 234, 0.6) !important; font-size: 0.72rem !important; margin-top: 3rem !important; }

@media (max-width: 1000px) {
	.bym-recentes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.bym-logo { font-size: 1.6rem; }
	.bym-logo-sous { font-size: 0.48rem; letter-spacing: 0.28em; }
	.bym-annonce { padding-inline: 2.5rem; }
	.bym-cat-tuiles { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 68%; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * max(16px, 4vw)); padding-inline: max(16px, 4vw); scrollbar-width: none; }
	.bym-cat-tuiles::-webkit-scrollbar { display: none; }
	.bym-cat-tuile { scroll-snap-align: start; }
	.bym-qui { min-height: 0; }
	.bym-qui .wp-block-media-text__media { min-height: 22rem; }
	.bym-titre-ligne::before, .bym-titre-ligne::after { flex-basis: 1.5rem; }
}

.bym-logo-nom { display: block; }
.bym-atout strong { white-space: nowrap; }
.bym-temoignages { padding-bottom: clamp(2.5rem, 5vw, 4rem); }

/* Hero en deux images */
.bym-hero-duo { margin-block: 0 !important; gap: 0.5rem !important; padding-inline: 0.5rem; padding-top: 0.5rem; }
.bym-hero-duo > .wp-block-column { flex-basis: 50% !important; }
.bym-hero-panneau { color: var(--bym-creme); padding-block: 2.5rem !important; }
.bym-hero-panneau .wp-block-cover__image-background { transition: transform 1.2s ease; }
.bym-hero-panneau:hover .wp-block-cover__image-background { transform: scale(1.03); }
.bym-hero-panneau .bym-label { margin-block-end: 1rem; }
.bym-manifeste { text-align: center; }
.bym-manifeste h1 { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 0.95; margin-block: 0 1.75rem; }
.bym-manifeste-txt { font-size: 0.95rem; max-width: 58ch; margin-inline: auto !important; color: #2a2724; }
.bym-manifeste-signature { margin-top: 1.75rem; color: var(--bym-taupe); }
@media (max-width: 781px) {
	.bym-hero-duo { flex-wrap: nowrap !important; }
	.bym-hero-duo > .wp-block-column { flex-basis: 50% !important; }
	.bym-hero-panneau { min-height: 62vh !important; padding-inline: 0.5rem !important; }
	.bym-hero-panneau .wp-element-button { padding: 0.8rem 0.9rem; font-size: 0.6rem; letter-spacing: 0.1em; }
	.bym-hero-panneau .bym-label { font-size: 0.58rem !important; letter-spacing: 0.14em; }
}
.bym-hero-panneau::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.6) 100%); z-index: 1; pointer-events: none; }
.bym-hero-panneau .wp-block-cover__inner-container { position: relative; z-index: 2; }
.bym-manifeste h1 { font-size: clamp(2.6rem, 6.2vw, 5.4rem); line-height: 0.98; }
.bym-manifeste-txt { text-align: left; font-size: 0.875rem; line-height: 1.75; max-width: 68ch; }

/* Police des titres : Noto Serif Display extra-condensée (proche Studio Blonde) */
h1, h2, .bym-logo, .bym-titre-ligne, .bym-cat-tuile-nom, .bym-lib-cats a, .bym-mois-nom, .wp-block-quote, .bym-lettre-titre, .bym-rec-initiale { font-stretch: 62.5%; }
h1, h2 { font-weight: 380; letter-spacing: -0.005em; }
.bym-logo { font-weight: 400; font-size: 2.3rem; }
.bym-titre-ligne { font-weight: 400; }
.bym-cat-tuile-nom { font-weight: 420; font-size: clamp(1.4rem, 2.1vw, 1.9rem); }
.bym-lib-cats a { font-weight: 380; font-size: 1.45rem; }
.wp-block-quote p { font-weight: 350; }
.bym-hero-panneau .wp-block-cover__inner-container { z-index: 2 !important; }

/* Police des titres : Carefree Serif */
h1, h2, .bym-logo, .bym-titre-ligne, .bym-cat-tuile-nom, .bym-lib-cats a, .bym-mois-nom, .wp-block-quote, .bym-lettre-titre, .bym-rec-initiale { font-stretch: normal; }
h1, h2 { font-weight: 300; letter-spacing: 0; }
h1 em, h2 em { margin-right: 0.12em; }
.bym-logo { font-weight: 400; font-size: 2.4rem; }
.bym-titre-ligne { font-weight: 300; }
.bym-cat-tuile-nom { font-weight: 400; }
.bym-lib-cats a { font-weight: 300; }
.wp-block-quote p { font-weight: 300; }
h1, h2, .bym-logo-nom, .bym-titre-ligne, .bym-cat-tuile-nom, .bym-lib-cats a, .bym-mois-nom, .wp-block-quote p { word-spacing: 0.14em; }

/* ---------- Fiche recette (v2.3) ---------- */
.bym-recette > * { max-width: 1180px; }
.bym-rt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-block: clamp(1.5rem, 4vw, 3rem) clamp(2.5rem, 6vw, 4.5rem); }
.bym-rt-texte .bym-retour { margin: 0 0 1.75rem; }
.bym-rt-titre { font-size: clamp(2.4rem, 5.2vw, 4.4rem); line-height: 1; margin: 0 0 1.5rem; }
.bym-rt .bym-recette-infos { margin: 0 0 1.75rem; }
.bym-rt-params { list-style: none; padding: 0; margin: 0 0 2rem; display: flex; flex-wrap: wrap; gap: 0; border-block: 1px solid var(--bym-trait); }
.bym-rt-params li { padding: 0.9rem 1.75rem 0.9rem 0; margin-right: 1.75rem; border-right: 1px solid var(--bym-trait); font-size: 0.9375rem; }
.bym-rt-params li:last-child { border-right: 0; margin-right: 0; }
.bym-rt-params .bym-label { display: block; margin-bottom: 0.15rem; }
.bym-rt-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin: 0; }
.bym-lien-souligne-a { font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; }
.bym-rt-photo { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bym-lin); }
.bym-rt-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.bym-rc { display: grid; grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.4fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-block: clamp(2.5rem, 6vw, 4.5rem); border-top: 1px solid var(--bym-noir); }
.bym-rc.bym-rc-sans-ingr { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.bym-rc-titre { font-size: clamp(1.9rem, 3vw, 2.5rem); margin: 0 0 1.5rem; }
.bym-ingr { background: var(--bym-lin); padding: clamp(1.5rem, 3vw, 2.25rem); position: sticky; top: 6.5rem; }
.bym-ingr-portions { font-family: var(--bym-script); font-style: italic; color: var(--bym-taupe); font-size: 1.125rem; margin: -0.75rem 0 1rem; }
.bym-ingr-groupe { font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; margin: 1.5rem 0 0.25rem; }
.bym-ingr-liste { list-style: none; padding: 0; margin: 0; }
.bym-ingr-liste li { position: relative; padding: 0.7rem 0 0.7rem 1.9rem; border-bottom: 1px solid var(--bym-sable); font-size: 0.9375rem; line-height: 1.4; cursor: pointer; user-select: none; }
.bym-ingr-liste li::before { content: ""; position: absolute; left: 0; top: 0.85rem; width: 0.95rem; height: 0.95rem; border: 1px solid var(--bym-taupe); background: var(--bym-blanc); }
.bym-ingr-liste li.is-coche { color: var(--bym-taupe); text-decoration: line-through; }
.bym-ingr-liste li.is-coche::before { background: var(--bym-noir); border-color: var(--bym-noir); box-shadow: inset 0 0 0 2px var(--bym-blanc); }
.bym-ingr-aide { font-size: 0.75rem; color: var(--bym-taupe); margin: 1rem 0 0; }
.bym-prep-intro { margin-bottom: 2rem; }
.bym-etapes { list-style: none; counter-reset: etape; padding: 0; margin: 0 0 2.5rem; }
.bym-etapes li { counter-increment: etape; position: relative; padding: 0 0 1.4rem 3.5rem; margin-bottom: 1.4rem; border-bottom: 1px solid var(--bym-trait); }
.bym-etapes li::before { content: counter(etape, decimal-leading-zero); position: absolute; left: 0; top: -0.3rem; font-family: var(--bym-display); font-size: 1.75rem; line-height: 1; font-weight: 300; }
.bym-prep-cookidoo { border: 1px solid var(--bym-trait); padding: clamp(1.5rem, 3vw, 2.25rem); }
.bym-prep-cookidoo .bym-label { margin-top: 0; }
.bym-prep-cookidoo .bym-astuce { font-size: 0.8125rem; color: var(--bym-taupe); margin-bottom: 0; }
.bym-recette .bym-avis { max-width: 860px; margin-inline: auto; padding-block: clamp(2.5rem, 6vw, 4rem); }
.bym-recette .bym-avis-head h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); }
.bym-recette .bym-avis .comment-reply-title { font-family: var(--bym-display); font-weight: 300; text-transform: uppercase; font-size: 1.75rem; text-align: center; }
@media (max-width: 860px) {
	.bym-rt, .bym-rc { grid-template-columns: minmax(0, 1fr); }
	.bym-rt-photo { order: -1; aspect-ratio: 4 / 3; }
	.bym-ingr { position: static; }
}
.bym-recette .wp-element-button { display: inline-block; line-height: 1.5; text-align: center; }
@media (max-width: 600px) {
	.bym-rt-params { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bym-rt-params li { padding: 0.8rem 0.6rem 0.8rem 0; margin-right: 0.6rem; font-size: 0.875rem; }
	.bym-rt-params .bym-label { font-size: 0.62rem; letter-spacing: 0.1em; }
	.bym-recette .wp-element-button { padding-inline: 1.25rem; }
}

/* Avis clientes (accueil) */
.bym-temoignages h2 { color: var(--bym-blanc); margin-bottom: 0.5rem; }
.bym-temoignages .bym-label { color: var(--bym-sable); margin-bottom: clamp(2rem, 4vw, 3rem); }
.bym-avis-grille { gap: 1.25rem !important; align-items: stretch; }
@media (min-width: 1100px) { .bym-avis-grille { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
.bym-avis-carte { padding: clamp(1.5rem, 2.5vw, 2rem); display: flex; flex-direction: column; gap: 0.9rem; box-shadow: 0 18px 40px rgba(0,0,0,.25); }
.bym-avis-carte > * { margin: 0 !important; }
.bym-avis-carte-tete { display: flex; align-items: center; gap: 0.85rem; font-size: 0.9375rem; color: #555; }
.bym-avis-carte-tete u { color: var(--bym-noir); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.bym-avis-ini { flex: 0 0 auto; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--bym-sable); display: grid; place-items: center; font-family: var(--bym-display); font-size: 1.35rem; color: var(--bym-noir); }
.bym-avis-carte-etoiles { font-size: 1.2rem; letter-spacing: 0.08em; color: var(--bym-noir); line-height: 1; }
.bym-avis-carte-texte { font-size: 1rem; line-height: 1.55; font-weight: 400; color: #222; }
.bym-footer-legal a { color: inherit; }

/* Bulle WhatsApp */
.bym-wa-bulle { position: fixed; right: max(16px, 2vw); bottom: max(16px, 2vw); z-index: 60; display: inline-flex; align-items: center; gap: 0.6rem; height: 3.5rem; padding: 0 1.25rem 0 0.9rem; border-radius: 999px; background: #25D366; color: #fff !important; text-decoration: none; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500; box-shadow: 0 10px 28px rgba(0,0,0,.22); transition: transform .2s ease; }
.bym-wa-bulle:hover { transform: translateY(-2px); color: #fff; }
@media (max-width: 600px) { .bym-wa-bulle { width: 3.5rem; padding: 0; justify-content: center; } .bym-wa-txt { display: none; } }
/* Recettes offertes sur l'accueil */
.bym-recentes.bym-recentes-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 781px) { .bym-recentes.bym-recentes-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; } .bym-recentes-3 .bym-rec-titre { font-size: 0.75rem; } }

/* ---------- v2.5 ---------- */
/* Points forts centrés */
.bym-atouts-grille { display: grid !important; grid-template-columns: repeat(4, auto) !important; justify-content: center; gap: 1.5rem clamp(2rem, 5vw, 4.5rem) !important; }
@media (max-width: 900px) { .bym-atouts-grille { grid-template-columns: repeat(2, auto) !important; justify-content: start; } }
@media (max-width: 520px) { .bym-atouts-grille { grid-template-columns: 1fr !important; } }

/* Catégories : toutes, en défilement horizontal */
.bym-cat-defile { position: relative; }
.bym-cat-defile .bym-cat-tuiles { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 3rem) / 5); gap: 0.75rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
.bym-cat-defile .bym-cat-tuiles::-webkit-scrollbar { display: none; }
.bym-cat-defile .bym-cat-tuile { scroll-snap-align: start; }
.bym-cat-fleche { position: absolute; top: 50%; z-index: 3; width: 3rem; height: 3rem; margin-top: -1.5rem; border-radius: 50%; border: 0; background: var(--bym-blanc); color: var(--bym-noir); font-size: 1.1rem; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.18); transition: opacity .2s ease; }
.bym-cat-prec { left: -1.5rem; }
.bym-cat-suiv { right: -1.5rem; }
.bym-cat-fleche[disabled] { opacity: 0; pointer-events: none; }
@media (max-width: 1100px) { .bym-cat-defile .bym-cat-tuiles { grid-auto-columns: calc((100% - 1.5rem) / 3); } .bym-cat-prec { left: 0.5rem; } .bym-cat-suiv { right: 0.5rem; } }
@media (max-width: 781px) { .bym-cat-defile .bym-cat-tuiles { grid-auto-columns: 68%; margin-inline: calc(-1 * max(16px, 4vw)); padding-inline: max(16px, 4vw); scroll-padding-inline: max(16px, 4vw); } .bym-cat-fleche { display: none; } }

/* Avis : bandeau animé (CSS seul) */
.bym-defile { overflow: hidden; margin-inline: calc(-1 * max(16px, 4vw)); }
.bym-defile-piste { display: flex; width: max-content; gap: 1.25rem; padding-block: 0.5rem 2rem; animation: bym-defile var(--bym-defile-duree, 120s) linear infinite; }
.bym-defile-copie { display: flex; gap: 1.25rem; }
.bym-defile:hover .bym-defile-piste, .bym-defile:focus-within .bym-defile-piste { animation-play-state: paused; }
.bym-defile .bym-avis-carte { width: min(22rem, 78vw); flex: 0 0 auto; }
@keyframes bym-defile { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 0.625rem)); } }
@media (prefers-reduced-motion: reduce) { .bym-defile-piste { animation: none; } .bym-defile { overflow-x: auto; } .bym-defile-copie { display: none; } }
.bym-defile-pied { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 2rem; margin: 1rem 0 0; font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bym-sable); }
.bym-defile-pied .wp-element-button { background: transparent; color: var(--bym-blanc); border-color: var(--bym-blanc); }
.bym-defile-pied .wp-element-button:hover { background: var(--bym-blanc); color: var(--bym-noir); }
.bym-etoile-vide { color: var(--bym-sable); }

/* Page Avis clientes */
.bym-avis-resume { text-align: center; padding-block: 1rem 3rem; }
.bym-avis-moyenne { font-family: var(--bym-display); font-size: clamp(4rem, 9vw, 6.5rem); font-weight: 300; line-height: 1; margin: 0; }
.bym-avis-moyenne span { font-size: 0.4em; color: var(--bym-taupe); }
.bym-avis-resume .bym-avis-carte-etoiles { font-size: 1.4rem; margin: 0.5rem 0; }
.bym-avis-mur { columns: 3 20rem; column-gap: 1.25rem; }
.bym-avis-mur .bym-avis-carte { break-inside: avoid; margin-bottom: 1.25rem; background: var(--bym-lin); box-shadow: none; }
.bym-avis-mur .bym-avis-carte-texte p { margin: 0 0 0.75rem; font-size: 0.9375rem; }
.bym-avis-mur .bym-avis-carte-texte p:last-child { margin-bottom: 0; }
.bym-avis-form { max-width: 760px; margin: clamp(3rem, 7vw, 5rem) auto 0; padding: clamp(1.5rem, 4vw, 2.75rem); border: 1px solid var(--bym-trait); }
.bym-avis-form h2 { text-align: center; margin-top: 0; }
.bym-form-note { font-size: 0.8125rem; color: var(--bym-taupe); }

/* Bien démarrer : vidéo + guide */
.bym-demarrer { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--bym-lin); margin-block: 1rem 3rem; }
.bym-demarrer h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin: 0.25rem 0 1.25rem; }
.bym-demarrer .bym-label { margin: 0; }
.bym-video-ratio { position: relative; aspect-ratio: 16 / 9; background: #000; }
.bym-video-ratio iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.bym-demarrer-guide { display: grid; gap: 1.25rem; }
.bym-guide-cover { display: block; max-width: 13rem; box-shadow: 0 14px 34px rgba(43,35,30,.22); }
.bym-guide-cover img { display: block; width: 100%; height: auto; }
.bym-demarrer-guide h3 { margin: 0.25rem 0 0.5rem; }
@media (max-width: 860px) { .bym-demarrer { grid-template-columns: 1fr; } }
.bym-defile .bym-avis-carte, .bym-avis-carte { background: var(--bym-blanc); color: var(--bym-noir); }
.bym-avis-mur .bym-avis-carte { background: var(--bym-lin); }

/* Trois recettes offertes : une grande + deux en dessous */
.bym-nouveautes h2 { margin-bottom: 0.75rem; }
.bym-nouveautes-sous { max-width: 34rem; margin-inline: auto !important; margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
.bym-recentes.bym-recentes-vedette { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.75rem, 3vw, 2.5rem) 1.25rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.bym-recentes-vedette li:first-child { grid-column: 1 / -1; }
.bym-recentes-vedette .bym-rec-photo { aspect-ratio: 4 / 3; overflow: hidden; }
.bym-recentes-vedette li:first-child .bym-rec-photo { aspect-ratio: 16 / 8; }
.bym-recentes-vedette .bym-rec-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.bym-recentes-vedette a:hover .bym-rec-photo img { transform: scale(1.03); }
.bym-recentes-vedette a { text-align: center; justify-items: center; gap: 0.5rem; }
.bym-recentes-vedette .bym-rec-titre { margin-top: 0.6rem; }
@media (max-width: 600px) { .bym-recentes.bym-recentes-vedette { grid-template-columns: 1fr; } .bym-recentes-vedette li:first-child .bym-rec-photo { aspect-ratio: 4 / 3; } }

/* Pop-up newsletter */
.bym-nl { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 16px; }
.bym-nl[hidden] { display: none; }
.bym-nl-fond { position: absolute; inset: 0; background: rgba(43,35,30,.55); animation: bym-nl-in .3s ease; }
.bym-nl-boite { position: relative; display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); width: min(760px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: var(--bym-blanc); box-shadow: 0 30px 80px rgba(0,0,0,.3); animation: bym-nl-up .45s cubic-bezier(.2,.7,.2,1); }
.bym-nl-visuel { background: var(--bym-sable) center / cover no-repeat; min-height: 100%; position: relative; }
.bym-nl-visuel span { position: absolute; left: 1rem; top: 1rem; background: var(--bym-blanc); padding: 0.35rem 0.8rem; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; }
.bym-nl-corps { padding: clamp(1.5rem, 4vw, 2.5rem); }
.bym-nl-corps h2 { font-size: clamp(1.8rem, 4vw, 2.4rem); margin: 0.3rem 0 0.8rem; }
.bym-nl-corps > p { font-size: 0.9375rem; }
.bym-nl-form { display: grid; gap: 0.6rem; margin-top: 1rem; }
.bym-nl-form input[type=text], .bym-nl-form input[type=email] { width: 100%; padding: 0.85rem 1rem; border: 1px solid var(--bym-noir); background: var(--bym-blanc); font: inherit; }
.bym-nl-accord { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.75rem; color: var(--bym-taupe); line-height: 1.4; }
.bym-nl-accord input { margin-top: 0.15rem; }
.bym-nl-msg { font-size: 0.8125rem; margin: 0; min-height: 1em; }
.bym-nl-x { position: absolute; top: 0.4rem; right: 0.6rem; z-index: 2; border: 0; background: none; font-size: 1.8rem; line-height: 1; cursor: pointer; color: var(--bym-noir); }
.bym-nl-merci { font-size: 1rem; }
.bym-nl-ouvert body { overflow: hidden; }
@keyframes bym-nl-in { from { opacity: 0; } }
@keyframes bym-nl-up { from { opacity: 0; transform: translateY(24px); } }
@media (max-width: 640px) { .bym-nl-boite { grid-template-columns: 1fr; } .bym-nl-visuel { min-height: 9rem; } }
@media (prefers-reduced-motion: reduce) { .bym-nl-fond, .bym-nl-boite { animation: none; } }

/* Page Offre */
.bym-offre-cartes { gap: 1rem !important; margin-block: 1.5rem 2rem; }
.bym-offre-carte { background: var(--bym-lin); padding: clamp(1.25rem, 3vw, 2rem); }
.bym-offre-carte .bym-label { margin: 0 0 0.4rem; }
.bym-offre-carte h3 { margin: 0 0 0.6rem; }
.bym-offre-carte p:last-child { margin-bottom: 0; font-size: 0.9375rem; }
.bym-offre-visuels { margin-top: clamp(2rem, 5vw, 3.5rem); gap: 1rem !important; }
.bym-offre-visuels img { box-shadow: 0 14px 40px rgba(43,35,30,.12); }
.bym-offre-mentions { font-size: 0.75rem; color: var(--bym-taupe); line-height: 1.5; }

/* Icône liste de courses */
.bym-icone-panier { position: relative; }
.bym-panier-compteur { position: absolute; top: -4px; right: -7px; min-width: 1.05rem; height: 1.05rem; padding: 0 0.25rem; border-radius: 1rem; background: var(--bym-noir); color: var(--bym-blanc); font-size: 0.6rem; line-height: 1.05rem; text-align: center; font-weight: 500; }
.bym-panier-compteur[hidden] { display: none; }

/* Bouton recette → liste */
.bym-panier-ajout { width: 100%; margin-top: 1.25rem; }
.bym-panier-ok { font-size: 0.8125rem; margin: 0.6rem 0 0; text-align: center; }

/* Page Liste de courses */
.bym-panier { margin-block: 1rem 3rem; }
.bym-panier-tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; border-bottom: 1px solid var(--bym-noir); padding-bottom: 1rem; }
.bym-panier-vues { display: inline-flex; border: 1px solid var(--bym-noir); }
.bym-panier-vues button { border: 0; background: none; padding: 0.6rem 1.1rem; font: inherit; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; color: var(--bym-noir); }
.bym-panier-vues button[aria-selected="true"] { background: var(--bym-noir); color: var(--bym-blanc); }
.bym-panier-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.bym-panier-btn { border: 1px solid var(--bym-trait); background: var(--bym-blanc); padding: 0.55rem 0.9rem; font: inherit; font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; color: var(--bym-noir); }
.bym-panier-btn:hover { border-color: var(--bym-noir); }
.bym-panier-ajouter { display: flex; gap: 0.5rem; margin: 1.25rem 0; }
.bym-panier-ajouter input { flex: 1; padding: 0.8rem 1rem; border: 1px solid var(--bym-trait); font: inherit; }
.bym-panier-recette, .bym-panier-rayon, .bym-panier-coches { background: var(--bym-lin); margin-bottom: 0.75rem; }
.bym-panier-recette summary, .bym-panier-coches summary { display: flex; align-items: center; gap: 0.9rem; padding: 0.9rem 1.1rem; cursor: pointer; list-style: none; }
.bym-panier-recette summary::-webkit-details-marker { display: none; }
.bym-panier-recette summary img { width: 3.2rem; height: 3.2rem; object-fit: cover; }
.bym-panier-rt { flex: 1; display: grid; }
.bym-panier-rt a { color: var(--bym-noir); text-decoration: none; font-weight: 500; }
.bym-panier-rt small { color: var(--bym-taupe); font-size: 0.75rem; }
.bym-panier-suppr-r { border: 0; background: none; font: inherit; font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bym-taupe); cursor: pointer; text-decoration: underline; }
.bym-panier-rayon h3 { font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; margin: 0; padding: 0.9rem 1.1rem 0.2rem; }
.bym-panier ul { list-style: none; margin: 0; padding: 0 1.1rem 0.6rem; }
.bym-panier li { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; border-top: 1px solid var(--bym-sable); }
.bym-panier li label { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 0; cursor: pointer; flex: 1; font-size: 0.9375rem; }
.bym-panier li input { width: 1.05rem; height: 1.05rem; accent-color: #201a17; }
.bym-panier li.is-coche span { text-decoration: line-through; color: var(--bym-taupe); }
.bym-panier-suppr { border: 0; background: none; font-size: 1.2rem; color: var(--bym-taupe); cursor: pointer; padding: 0.2rem 0.4rem; }
.bym-panier-coches summary { font-size: 0.8125rem; color: var(--bym-taupe); }
.bym-panier-vide-txt { padding: 2rem; text-align: center; background: var(--bym-lin); }
.bym-panier-pied { text-align: right; }
.bym-placard-titre { margin-top: clamp(2.5rem, 6vw, 4rem); }

/* Calendrier de saison */
.bym-cal-mois { display: flex; gap: 0.35rem; overflow-x: auto; scrollbar-width: none; padding-bottom: 0.25rem; margin-bottom: 2rem; position: sticky; top: 4.6rem; z-index: 5; background: var(--bym-blanc); padding-top: 0.5rem; }
.bym-cal-mois::-webkit-scrollbar { display: none; }
.bym-cal-onglet { flex: 1 0 auto; min-width: 3.6rem; border: 1px solid var(--bym-trait); background: var(--bym-blanc); padding: 0.7rem 0.5rem; font: inherit; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; color: var(--bym-noir); }
.bym-cal-onglet[aria-selected="true"] { background: var(--bym-noir); color: var(--bym-blanc); border-color: var(--bym-noir); }
.bym-cal-tete { text-align: center; margin-bottom: 2.5rem; }
.bym-cal-tete h2 { font-size: clamp(2.6rem, 6vw, 4.4rem); margin: 0.2rem 0 0.4rem; }
.bym-cal-compte { color: var(--bym-taupe); margin: 0 0 0.8rem; }
.bym-cal-legende { font-size: 0.8125rem; color: var(--bym-taupe); display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem 0.6rem; align-items: center; }
.bym-cal-type { margin-bottom: 2.5rem; }
.bym-cal-type-titre { font-family: var(--bym-display); font-weight: 300; text-transform: uppercase; font-size: clamp(1.8rem, 3.5vw, 2.4rem); border-bottom: 1px solid var(--bym-noir); padding-bottom: 0.5rem; margin: 0 0 1.5rem; }
.bym-cal-famille h4 { font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500; margin: 1.75rem 0 0.9rem; color: var(--bym-taupe); }
.bym-cal-grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: 0.75rem; }
.bym-cal-item { position: relative; background: var(--bym-lin); padding: 0.9rem 0.6rem 0.8rem; text-align: center; display: grid; justify-items: center; gap: 0.5rem; }
.bym-cal-photo { width: 100%; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; }
.bym-cal-photo img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; transition: transform .5s ease; }
.bym-cal-item:hover .bym-cal-photo img { transform: scale(1.06); }
.bym-cal-item--photo .bym-cal-photo { border-radius: 50%; width: 82%; }
.bym-cal-item--photo .bym-cal-photo img { mix-blend-mode: normal; }
.bym-cal-ini { font-family: var(--bym-display); font-size: 2.5rem; color: var(--bym-taupe); }
.bym-cal-nom { font-size: 0.875rem; font-weight: 500; line-height: 1.2; }
.bym-cal-tag { display: inline-block; font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.2rem 0.45rem; }
.bym-cal-item .bym-cal-tag { position: absolute; top: 0.45rem; left: 0.45rem; }
.bym-cal-tag--new { background: var(--bym-noir); color: var(--bym-blanc); }
.bym-cal-tag--fin { background: var(--bym-sable); color: var(--bym-noir); }
@media (max-width: 600px) { .bym-cal-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; } .bym-cal-nom { font-size: 0.75rem; } .bym-cal-item .bym-cal-tag { font-size: 0.5rem; } }

/* Impression : liste ou calendrier seulement */
@media print {
	html.bym-imprime-liste body *, html.bym-imprime-cal body * { visibility: hidden; }
	html.bym-imprime-liste .bym-panier-contenu, html.bym-imprime-liste .bym-panier-contenu *, html.bym-imprime-cal .bym-cal-panneau:not([hidden]), html.bym-imprime-cal .bym-cal-panneau:not([hidden]) * { visibility: visible; }
	html.bym-imprime-liste .bym-panier-contenu, html.bym-imprime-cal .bym-cal-panneau:not([hidden]) { position: absolute; left: 0; top: 0; width: 100%; }
	.bym-panier-suppr, .bym-panier-suppr-r, .bym-cal-imprimer, .bym-wa-bulle, .bym-nl { display: none !important; }
	.bym-cal-grille { grid-template-columns: repeat(6, 1fr) !important; }
	.bym-cal-item, .bym-panier-recette { break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Votre espace VIP */
.bym-vip-section { background: var(--bym-lin); }
.bym-vip { text-align: center; max-width: 1180px; margin-inline: auto; }
.bym-vip .bym-label { margin: 0 0 0.4rem; }
.bym-vip h2 { margin: 0 0 clamp(1.75rem, 3vw, 2.5rem); text-transform: none; font-size: clamp(2.2rem, 4vw, 3rem); }
.bym-vip-tuiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(0.6rem, 1.2vw, 1rem); }
.bym-vip-tuile { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 6px; background: #201a17; color: #fff; text-decoration: none; box-shadow: 0 10px 30px rgba(32,26,23,.14); }
.bym-vip-tuile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.bym-vip-tuile::after { content: ""; position: absolute; inset: 0; background: rgba(32,26,23,.5); transition: background .4s ease; }
.bym-vip-tuile:hover::after { background: rgba(32,26,23,.35); }
.bym-vip-tuile:hover img { transform: scale(1.05); }
.bym-vip-txt { position: absolute; inset: 0; align-content: center; z-index: 1; color: #fff; text-shadow: 0 1px 12px rgba(0,0,0,.25); display: grid; justify-items: center; gap: 0.45rem; font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500; }
.bym-vip-fleche { font-size: 1.1rem; letter-spacing: 0; transition: transform .3s ease; }
.bym-vip-tuile:hover .bym-vip-fleche { transform: translateX(5px); }
.bym-vip-cta { margin-top: clamp(2rem, 4vw, 2.75rem); }
.bym-vip-cta p { margin: 0 0 1rem; }
.bym-vip-boutons { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 1.75rem; }
.bym-vip-lien { font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: var(--bym-noir); }
@media (max-width: 900px) { .bym-vip-tuiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .bym-vip-tuiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bym-vip-tuile:last-child { grid-column: 1 / -1; aspect-ratio: 2 / 1; } }

/* Ton Thermomix en vidéo */
.bym-yt { text-align: center; }
.bym-yt h2 { margin: 0 0 0.75rem; }
.bym-yt-sous { max-width: 38rem; margin: 0 auto clamp(2rem, 4vw, 3rem) !important; color: #555; }
.bym-yt-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(0.9rem, 2vw, 1.75rem); }
.bym-yt-carte { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; background: #e9e4dc; text-decoration: none; color: var(--bym-noir); box-shadow: 0 10px 30px rgba(43,35,30,.08); }
.bym-yt-carte img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.85) brightness(1.08); opacity: .55; transition: filter .5s ease, opacity .5s ease, transform .8s ease; }
.bym-yt-carte::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.15), rgba(246,242,236,.55)); transition: opacity .5s ease; }
.bym-yt-carte:hover img { filter: none; opacity: 1; transform: scale(1.03); }
.bym-yt-carte:hover::after { opacity: .2; }
.bym-yt-info { position: absolute; left: 1.1rem; bottom: 1rem; z-index: 1; display: flex; align-items: center; gap: 0.9rem; text-align: left; }
.bym-yt-play { width: 3.1rem; height: 3.1rem; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: #e62117; color: #fff; }
.bym-yt-info strong { display: block; font-size: 1.15rem; font-weight: 500; line-height: 1.2; }
.bym-yt-info span span { font-size: 0.875rem; color: #444; }
.bym-yt-cta { margin-top: clamp(1.75rem, 3vw, 2.5rem) !important; }
@media (max-width: 860px) { .bym-yt-grille { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; } .bym-yt-carte { scroll-snap-align: start; } }


/* Vidéos verrouillées */
button.bym-yt-carte { border: 0; padding: 0; width: 100%; font: inherit; cursor: not-allowed; }
.bym-yt-verrou img { filter: grayscale(1) brightness(1.1) !important; opacity: .45 !important; transform: none !important; }
.bym-yt-verrou:hover::after { opacity: 1 !important; }
.bym-yt-verrou .bym-yt-play { background: #8e8e8e; }
.bym-yt--ouvert .bym-yt-carte img { filter: grayscale(.6); opacity: .8; }
.bym-yt-msg { margin: 1.25rem auto 0 !important; display: inline-block; background: var(--bym-noir); color: var(--bym-blanc); padding: 0.9rem 1.25rem; font-size: 0.875rem; }
.bym-yt-msg a { color: var(--bym-blanc); }
.bym-yt-msg[hidden] { display: none; }
.bym-flash { animation: bym-flash .5s ease; } @keyframes bym-flash { 0% { transform: translateY(6px); opacity: 0; } }

/* Vidéos : toujours grisées + badge « Espace abonnées » */
.bym-yt-verrou img { filter: grayscale(1) brightness(1.05) !important; opacity: .5 !important; }
.bym-yt-verrou .bym-yt-play { background: #8e8e8e; color: #fff; }
.bym-yt-badge { position: absolute; top: .9rem; right: .9rem; z-index: 1; display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .7rem; border-radius: 999px; background: rgba(32,26,23,.85); color: #fff; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; }
.bym-yt-badge svg { width: 13px; height: 13px; }
.bym-yt-msg { background: #201a17; color: #fff; border-radius: 6px; }

/* Fiches mémo : liste */
.bym-fiches { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: clamp(0.9rem, 2vw, 1.5rem); margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.bym-fiche { display: flex; flex-direction: column; gap: .5rem; padding: clamp(1.4rem, 2.5vw, 2rem); min-height: 15rem; background: var(--bym-lin); border: 1px solid #e2d8ca; border-radius: 6px; color: #201a17; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease, background .3s ease; }
.bym-fiche:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(32,26,23,.1); background: #fff; }
.bym-fiche-num { font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; color: #8e7f6e; }
.bym-fiche-titre { font-family: var(--wp--preset--font-family--display); font-size: clamp(1.7rem, 2.5vw, 2.1rem); line-height: 1.02; text-transform: uppercase; }
.bym-fiche-titre em { display: block; text-transform: none; }
.bym-fiche-ctx { font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: #8e7f6e; }
.bym-fiche-lire { margin-top: auto; padding-top: .9rem; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; }
.bym-fiche-lire span { display: inline-block; transition: transform .3s ease; }
.bym-fiche:hover .bym-fiche-lire span { transform: translateX(5px); }
/* Fiches mémo : fiche complète */
.bym-fm { max-width: 1180px; margin: clamp(1rem, 3vw, 2rem) auto 0; }
.bym-fm-tete { text-align: center; max-width: 46rem; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.bym-fm-tete .bym-label { margin: 0 0 .6rem; }
.bym-fm-titre { margin: 0; font-size: clamp(2.8rem, 6vw, 4.6rem); line-height: .95; }
.bym-fm-titre em { display: block; text-transform: none; font-size: .82em; margin-top: .1em; }
.bym-fm-ctx { margin: 1rem 0 0; font-size: .8rem; letter-spacing: .28em; text-transform: uppercase; color: #8e7f6e; }
.bym-fm-intro { margin: 1.4rem auto 0; font-size: 1.15rem; max-width: 34rem; }
.bym-fm-etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--bym-fm-n, 4), minmax(0, 1fr)); gap: clamp(.9rem, 2vw, 1.5rem); }
.bym-fm-etape { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; padding: 2.4rem clamp(1rem, 1.6vw, 1.4rem) clamp(1rem, 1.6vw, 1.4rem); margin-top: 1.4rem; background: var(--bym-lin); border-radius: 8px; }
.bym-fm-num { position: absolute; top: -1.4rem; left: 50%; transform: translateX(-50%); width: 2.8rem; height: 2.8rem; display: grid; place-items: center; border-radius: 50%; background: #201a17; color: #fff; font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; box-shadow: 0 0 0 5px #fff; }
.bym-fm-txt { margin: 0; font-size: 1rem; line-height: 1.45; min-height: 4.4em; }
.bym-fm-txt strong { font-weight: 500; }
.bym-fm-img { margin: auto 0 0; width: 100%; }
.bym-fm-img img { display: block; width: 100%; max-width: 15rem; height: auto; margin: 0 auto; border-radius: 10px; box-shadow: 0 12px 28px rgba(32,26,23,.12); }
.bym-fm-conseil { display: flex; gap: 1.25rem; align-items: flex-start; margin: clamp(2rem, 4vw, 3rem) auto 0; max-width: 46rem; padding: clamp(1.4rem, 3vw, 2rem); background: #201a17; color: #f4f0ea; border-radius: 8px; }
.bym-fm-ampoule { flex: 0 0 auto; width: 3.4rem; height: 3.4rem; display: grid; place-items: center; border-radius: 50%; background: rgba(244,240,234,.1); }
.bym-fm-conseil p { margin: 0; font-size: 1.05rem; }
.bym-fm-conseil strong { font-weight: 500; color: #fff; }
.bym-fm-conseil .bym-fm-conseil-titre { font-family: var(--wp--preset--font-family--signature); font-style: italic; font-size: 1.8rem; line-height: 1.1; margin-bottom: .35rem; }
.bym-fm-signature { text-align: center; margin: clamp(2rem, 4vw, 2.75rem) 0 0; font-family: var(--wp--preset--font-family--signature); font-style: italic; font-size: clamp(1.6rem, 3vw, 2.1rem); }
.bym-fm-actions { text-align: center; margin: 1.25rem 0 0; }
.bym-fm-imprimer { background: none; border: 0; border-bottom: 1px solid currentColor; padding: 0 0 2px; font: inherit; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; cursor: pointer; color: #201a17; }
@media (max-width: 900px) { .bym-fm-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .bym-fm-etapes { grid-template-columns: 1fr; } .bym-fm-txt { min-height: 0; } }
@media print { .bym-espace-nav, .bym-retour, .bym-fm-actions, header, footer, .bym-wa-bulle { display: none !important; } .bym-fm-etape { break-inside: avoid; } .bym-fm-etapes { grid-template-columns: repeat(var(--bym-fm-n, 4), 1fr) !important; } }
/* Qui suis-je : photo moins zoomée */
@media (min-width: 782px) {
	.bym-qui.wp-block-media-text { grid-template-columns: 40% 1fr !important; min-height: clamp(38rem, 50vw, 54rem); }
}
.bym-qui .wp-block-media-text__media img { object-position: 50% 30% !important; }

/* Sous-menus : pas de trait sous l'élément actif */
.bym-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.bym-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { box-shadow: none !important; text-decoration: none !important; }
.bym-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { font-weight: 500; }

/* Astuces : onglets */
.bym-astuces-onglets { display: flex; flex-wrap: wrap; gap: .5rem; margin: clamp(1.25rem, 3vw, 2rem) 0 0; }
.bym-astuces-onglets button { appearance: none; border: 1px solid #e2d8ca; background: #fff; color: #201a17; padding: .7rem 1.2rem; border-radius: 999px; font: inherit; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; cursor: pointer; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.bym-astuces-onglets button:hover { border-color: #201a17; }
.bym-astuces-onglets button.is-actif { background: #201a17; color: #fff; border-color: #201a17; }
.bym-fiche[hidden] { display: none; }
.bym-astuces-vide { margin-top: 1.5rem; }
@media (max-width: 600px) { .bym-astuces-onglets { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * max(16px, 4vw)); padding-inline: max(16px, 4vw); } .bym-astuces-onglets button { flex: 0 0 auto; } }
/* Astuces : captures toutes à la même taille */
.bym-fm-img--tel { position: relative; width: min(100%, 14.5rem); margin: auto auto 0; padding: 9px; background: #151110; border-radius: 2.5rem; box-shadow: 0 0 0 1px #3a322d inset, 0 18px 36px rgba(32,26,23,.22); }
.bym-fm-img--tel img { display: block; width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 39 / 94 !important; object-fit: contain !important; object-position: center top !important; border-radius: 1.95rem !important; box-shadow: none !important; background: #fff; }
.bym-fm-txt { min-height: 4.4em; }

/* Astuces : dégradé de la palette, du beige au marron foncé */
.bym-fm-etape:not(:has(.bym-fm-img)) { padding-bottom: 2rem; }
.bym-fm-etape:not(:has(.bym-fm-img)) .bym-fm-txt { min-height: 0; font-size: 1.05rem; }
.bym-fiche:nth-child(4n+1) { background: #f6f2ec; }
.bym-fiche:nth-child(4n+2) { background: #e6dcce; }
.bym-fiche:nth-child(4n+3) { background: #8e7f6e; color: #fff; border-color: #8e7f6e; }
.bym-fiche:nth-child(4n+4) { background: #201a17; color: #f4f0ea; border-color: #201a17; }
.bym-fiche:nth-child(4n+3) .bym-fiche-num, .bym-fiche:nth-child(4n+3) .bym-fiche-ctx, .bym-fiche:nth-child(4n+4) .bym-fiche-num, .bym-fiche:nth-child(4n+4) .bym-fiche-ctx { color: rgba(255,255,255,.72); }
.bym-fiche:nth-child(4n+3):hover, .bym-fiche:nth-child(4n+4):hover { background: #2b231e; }
.bym-fiche:nth-child(4n+1):hover, .bym-fiche:nth-child(4n+2):hover { background: #fff; }

/* Astuces : photos d'illustration */
.bym-fm-img--photo { width: 100%; margin: auto 0 0; }
.bym-fm-img--photo img { display: block; width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 4 / 3 !important; object-fit: cover !important; border-radius: 6px !important; box-shadow: none !important; }

/* Astuces : compteurs + petit dessin dans le coin */
.bym-astuces-onglets button span { opacity: .55; margin-left: .25rem; }
.bym-astuces-compte { margin: 1.1rem 0 0; font-size: .85rem; color: #8e7f6e; }
.bym-astuces-compte span { font-weight: 500; }
.bym-fiches { margin-top: 1rem; }
.bym-fiche { position: relative; overflow: hidden; }
.bym-fiche-dessin { position: absolute; top: 1.1rem; right: 1.1rem; width: 3.6rem; height: 3.6rem; opacity: .55; transition: transform .4s ease, opacity .4s ease; }
.bym-fiche:hover .bym-fiche-dessin { transform: rotate(-8deg) scale(1.08); opacity: .85; }
.bym-fiche .bym-fiche-num { padding-right: 4rem; }
/* Astuces : comme la version validée (sans compteurs) */
.bym-astuces-onglets button span, .bym-astuces-compte { display: none; }
.bym-fiches { margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.bym-fiche-dessin { width: 3rem; height: 3rem; top: 1rem; right: 1rem; }
.bym-fiche .bym-fiche-num { padding-right: 3.2rem; white-space: nowrap; }
/* Astuces : au survol, la carte fonce juste un peu */
.bym-fiche { transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease; }
.bym-fiche:nth-child(4n+1):hover { background: #ebe3d7; }
.bym-fiche:nth-child(4n+2):hover { background: #d8ccba; }
.bym-fiche:nth-child(4n+3):hover { background: #7d6f60; }
.bym-fiche:nth-child(4n+4):hover { background: #2f2723; }

/* Astuces : petits dessins d'illustration */
.bym-fm-img--dessin { width: 100%; margin: auto 0 0; aspect-ratio: 4 / 3; display: grid; place-items: center; background: #fff; border-radius: 6px; color: #8e7f6e; }
.bym-fm-img--dessin svg { width: 58%; height: auto; }
.bym-fm-etape:hover .bym-fm-img--dessin svg { transform: rotate(-4deg) scale(1.04); }
.bym-fm-img--dessin svg { transition: transform .4s ease; }

/* Pages légales */
.bym-legal { max-width: 46rem; }
.bym-legal h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); margin: 2.4rem 0 .7rem; }
.bym-legal p { margin: 0 0 1rem; }
.bym-legal-intro { font-size: 1.08rem; }
.bym-legal-alerte { background: #fff4d6; border-left: 3px solid #c99a2e; padding: .8rem 1rem; font-size: .9rem; }
.bym-legal-table { overflow-x: auto; margin: 0 0 1rem; }
.bym-legal table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.bym-legal th, .bym-legal td { text-align: left; vertical-align: top; padding: .75rem .8rem; border-bottom: 1px solid #e2d8ca; }
.bym-legal th { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; background: #f6f2ec; }
@media (max-width: 640px) { .bym-legal thead { display: none; } .bym-legal tr { display: block; border: 1px solid #e2d8ca; border-radius: 6px; margin-bottom: .8rem; } .bym-legal td { display: block; border: 0; padding: .35rem .9rem; } .bym-legal td::before { content: attr(data-l); display: block; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #8e7f6e; } }
.bym-legal-maj { font-size: .8rem; color: #8e7f6e; margin-top: 2rem; }
.bym-rgpd { font-size: .75rem; color: #8e7f6e; margin: .6rem 0 0; }
.bym-rgpd a, .bym-nl-accord a { color: inherit; }

/* Footer v3 */
.bym-footer-cols { gap: clamp(1.5rem, 4vw, 3.5rem) !important; }
.bym-footer-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; margin-top: clamp(2.5rem, 5vw, 3.5rem); padding-top: 1.4rem; border-top: 1px solid rgba(244,240,234,.18); font-size: .72rem; color: rgba(244,240,234,.6); }
.bym-footer-bas p { margin: 0; }
.bym-footer-bas a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.bym-footer-bas a:hover { color: #f4f0ea; }
@media (max-width: 781px) { .bym-footer-cols { display: grid !important; grid-template-columns: 1fr 1fr; } .bym-footer-cols > .wp-block-column:first-child { grid-column: 1 / -1; } }
/* Menus de la semaine : cartes jour par jour */
.bym-semaine { margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.bym-semaine-tete { text-align: center; padding: clamp(2rem, 4vw, 3rem) 1rem clamp(1.5rem, 3vw, 2rem); background: #f6f2ec; border-radius: 10px; }
.bym-semaine-tete .bym-label { margin: 0 0 .5rem; }
.bym-semaine-titre { margin: 0 !important; font-family: var(--wp--preset--font-family--display); font-weight: 300; font-size: clamp(2.2rem, 5vw, 3.6rem) !important; line-height: 1; text-transform: uppercase; }
.bym-semaine-meta { margin: .8rem 0 0; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: #8e7f6e; }
.bym-semaine-jours { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.bym-semaine-jours a { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; border: 1px solid #d9ccba; background: #fff; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; text-decoration: none; color: #201a17; transition: background .25s ease, color .25s ease; }
.bym-semaine-jours a:hover, .bym-semaine-jours a.is-auj { background: #201a17; color: #fff; border-color: #201a17; }
.bym-semaine-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: clamp(.9rem, 2vw, 1.4rem); margin-top: clamp(1.2rem, 2.5vw, 1.8rem); }
.bym-jour { scroll-margin-top: 7rem; display: flex; flex-direction: column; background: #fff; border: 1px solid #e2d8ca; border-radius: 10px; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.bym-jour:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(32,26,23,.1); }
.bym-jour.is-auj { border-color: #201a17; box-shadow: 0 0 0 1px #201a17; }
.bym-jour-photo { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #f6f2ec; display: grid; place-items: center; color: #b9aa96; }
.bym-jour-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.bym-jour:hover .bym-jour-photo img { transform: scale(1.04); }
.bym-jour-photo > svg { width: 38%; height: auto; }
.bym-jour-badge { position: absolute; top: .8rem; left: .8rem; background: #201a17; color: #fff; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; padding: .4rem .7rem; border-radius: 999px; }
.bym-jour-corps { padding: 1.1rem 1.2rem 1.3rem; }
.bym-jour-nom { margin: 0 0 .8rem !important; font-family: var(--wp--preset--font-family--display) !important; font-weight: 300 !important; font-size: 1.7rem !important; line-height: 1 !important; text-transform: uppercase; }
.bym-jour-nom span { display: block; margin-top: .3rem; font-family: var(--wp--preset--font-family--jost); font-size: .68rem; letter-spacing: .18em; color: #8e7f6e; }
.bym-jour-recettes { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.bym-jour-recettes li { position: relative; padding-left: 1rem; font-size: .92rem; line-height: 1.35; }
.bym-jour-recettes li::before { content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; border-radius: 50%; background: #c9b9a3; }
.bym-jour-recettes a { color: #201a17; text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .3s ease; }
.bym-jour-recettes a:hover { background-size: 100% 1px; }
.bym-jour-by { display: inline-block; font-family: var(--wp--preset--font-family--signature); font-size: .95rem; color: #8e7f6e; }
.bym-jour-note { margin: 0; font-size: .9rem; color: #555; }
/* Archives */
.bym-archives { margin-top: clamp(3rem, 6vw, 4.5rem); }
.bym-archives h2 { margin: 0 0 1.2rem; }
.bym-archives-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .9rem; }
.bym-archive { display: flex; flex-direction: column; gap: .7rem; padding: 1rem; background: #f6f2ec; border-radius: 10px; color: #201a17; text-decoration: none; transition: background .3s ease; }
.bym-archive:hover { background: #ebe3d7; }
.bym-archive-imgs { display: flex; }
.bym-archive-imgs img { width: 3rem; height: 3rem; object-fit: cover; border-radius: 50%; border: 2px solid #f6f2ec; margin-right: -.6rem; }
.bym-archive-titre { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; line-height: 1.05; text-transform: uppercase; }
.bym-archive-lire { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: #8e7f6e; }
.bym-jour:nth-child(4n+1) .bym-jour-photo--dessin { background: #f6f2ec; color: #b9aa96; }
.bym-jour:nth-child(4n+2) .bym-jour-photo--dessin { background: #e6dcce; color: #8e7f6e; }
.bym-jour:nth-child(4n+3) .bym-jour-photo--dessin { background: #8e7f6e; color: #f6f2ec; }
.bym-jour:nth-child(4n+4) .bym-jour-photo--dessin { background: #201a17; color: #c9b9a3; }
.bym-jour-photo--dessin > svg { transition: transform .4s ease; }
.bym-jour:hover .bym-jour-photo--dessin > svg { transform: rotate(-6deg) scale(1.06); }
/* Menus v2 : onglets jour + cartes recettes photo */
.bym-semaine-jours button { position: relative; display: grid; place-items: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; border: 1px solid #d9ccba; background: #fff; font: inherit; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; color: #201a17; cursor: pointer; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.bym-semaine-jours button:hover { border-color: #201a17; }
.bym-semaine-jours button.is-actif { background: #201a17; color: #fff; border-color: #201a17; }
.bym-point { position: absolute; bottom: -.45rem; left: 50%; transform: translateX(-50%); width: 6px; height: 6px; border-radius: 50%; background: #8e7f6e; }
.bym-jour-panneau { margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.bym-apparait { animation: bym-apparait .45s ease both; }
@keyframes bym-apparait { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.bym-jour-titre { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem .9rem; margin: 0 0 1.2rem !important; font-family: var(--wp--preset--font-family--display) !important; font-weight: 300 !important; font-size: clamp(2rem, 4vw, 2.8rem) !important; line-height: 1 !important; text-transform: uppercase; }
.bym-jour-titre em { font-size: .55em; text-transform: none; color: #8e7f6e; }
.bym-jour-titre .bym-jour-badge { position: static; align-self: center; }
.bym-jour-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: clamp(.9rem, 2vw, 1.5rem); }
.bym-plat { display: flex; flex-direction: column; background: #fff; border: 1px solid #e2d8ca; border-radius: 10px; overflow: hidden; color: #201a17; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease; }
a.bym-plat:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(32,26,23,.12); }
.bym-plat-photo { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: #f6f2ec; }
.bym-plat-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
a.bym-plat:hover .bym-plat-photo img { transform: scale(1.05); }
.bym-plat-photo--dessin { color: #b9aa96; }
.bym-plat-photo--dessin svg { width: 34%; height: auto; }
.bym-plat-corps { display: flex; flex-direction: column; gap: .4rem; padding: 1.1rem 1.25rem 1.3rem; }
.bym-plat-nom { font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; line-height: 1.08; text-transform: uppercase; }
.bym-plat-lire { margin-top: .4rem; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: #8e7f6e; }
.bym-plat--note .bym-plat-nom { font-family: var(--wp--preset--font-family--signature); font-style: italic; text-transform: none; font-size: 1.5rem; }

.bym-semaine-jours .bym-jours-tout { width: auto; padding: 0 1.2rem; border-radius: 999px; }
.bym-jour-panneau + .bym-jour-panneau { margin-top: clamp(2.25rem, 4vw, 3.25rem); }

/* Menus : deux jours par ligne en vue semaine */
.bym-semaine-panneaux { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2.25rem); margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.bym-semaine-panneaux .bym-jour-panneau, .bym-jour-panneau + .bym-jour-panneau { margin-top: 0; }
.bym-semaine-panneaux .bym-jour-cartes { grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); }
.bym-semaine-panneaux .bym-plat-nom { font-size: 1.3rem; }
.bym-semaine.is-filtre .bym-semaine-panneaux { grid-template-columns: 1fr; }
.bym-semaine.is-filtre .bym-jour-cartes { grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }
.bym-semaine.is-filtre .bym-plat-nom { font-size: 1.5rem; }
@media (max-width: 900px) { .bym-semaine-panneaux { grid-template-columns: 1fr; } }

/* Menus précédents : liste claire par mois */
.bym-archives h2 { margin-bottom: .4rem; }
.bym-archives-mois { margin: 1.8rem 0 .6rem !important; font-family: var(--wp--preset--font-family--jost) !important; font-size: .7rem !important; letter-spacing: .2em; text-transform: uppercase; font-weight: 500 !important; color: #8e7f6e; }
.bym-archives-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.5rem, 4vw, 3rem); border-top: 1px solid #e2d8ca; }
.bym-archive, .bym-archive:hover { display: flex; align-items: center; gap: 1rem; padding: .9rem .25rem; background: none; border-radius: 0; border-bottom: 1px solid #e2d8ca; flex-direction: row; }
.bym-archive-img { flex: 0 0 auto; width: 3.6rem; height: 3.6rem; border-radius: 8px; overflow: hidden; display: grid; place-items: center; background: #f6f2ec; color: #b9aa96; }
.bym-archive-img img { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; margin: 0; border-radius: 0; }
.bym-archive-img svg { width: 60%; height: auto; }
.bym-archive-txt { flex: 1; display: flex; flex-direction: column; gap: .2rem; }
.bym-archive-titre { font-family: var(--wp--preset--font-family--jost); font-size: 1.05rem; font-weight: 400; text-transform: none; line-height: 1.25; color: #201a17; }
.bym-archive-meta { font-size: .78rem; color: #8e7f6e; }
.bym-archive-fleche { color: #8e7f6e; transition: transform .3s ease; }
.bym-archive:hover .bym-archive-fleche { transform: translateX(5px); color: #201a17; }
.bym-archive:hover .bym-archive-titre { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) { .bym-archives-liste { grid-template-columns: 1fr; } }

/* Qui suis-je : texte chaleureux */
.bym-qui .bym-qui-chapo { font-family: var(--wp--preset--font-family--signature); font-style: italic; font-size: 1.35rem; line-height: 1.3; color: #8e7f6e; margin-top: -.4rem; }
.bym-qui strong { font-weight: 500; }
.bym-qui-points { list-style: none; margin: 1.4rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.bym-qui-points li { padding: .5rem .9rem; border: 1px solid #d9ccba; border-radius: 999px; font-size: .78rem; letter-spacing: .04em; background: #fff; }
.bym-qui .bym-qui-signature { font-family: var(--wp--preset--font-family--signature); font-style: italic; font-size: 1.3rem; line-height: 1.35; }

/* Menus précédents : voyage dans le temps */
.bym-voyage { margin-top: clamp(3.5rem, 7vw, 5rem); padding-top: clamp(2.5rem, 5vw, 3.5rem); border-top: 1px solid #e2d8ca; }
.bym-voyage-tete { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.bym-voyage-tete .bym-label { margin: 0 0 .4rem; }
.bym-voyage-tete h2 { margin: 0 !important; }
.bym-voyage-fleches { display: flex; gap: .5rem; }
.bym-voyage-fleches button { width: 2.8rem; height: 2.8rem; border-radius: 50%; border: 1px solid #d9ccba; background: #fff; color: #201a17; font-size: 1.1rem; cursor: pointer; transition: background .25s ease, color .25s ease; }
.bym-voyage-fleches button:hover { background: #201a17; color: #fff; border-color: #201a17; }
.bym-voyage-mois { display: flex; gap: .45rem; overflow-x: auto; scrollbar-width: none; margin: 1.2rem 0 1rem; }
.bym-voyage-mois button { flex: 0 0 auto; padding: .55rem 1rem; border-radius: 999px; border: 1px solid #e2d8ca; background: #fff; font: inherit; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: #201a17; cursor: pointer; }
.bym-voyage-mois button.is-actif { background: #201a17; color: #fff; border-color: #201a17; }
.bym-voyage-piste { display: flex; gap: clamp(.8rem, 1.6vw, 1.2rem); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: .4rem .2rem 1.2rem; scrollbar-width: thin; }
.bym-voyage-carte { flex: 0 0 clamp(15rem, 24vw, 17.5rem); scroll-snap-align: start; position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 12px; overflow: hidden; background: #e6dcce; color: #fff; text-decoration: none; transition: transform .35s ease, box-shadow .35s ease; }
.bym-voyage-carte[hidden] { display: none; }
.bym-voyage-carte:hover { transform: translateY(-4px) rotate(-.6deg); box-shadow: 0 18px 38px rgba(32,26,23,.22); }
.bym-voyage-carte.is-ouvert { box-shadow: 0 0 0 3px #201a17; }
.bym-voyage-mosaique { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 2px; background: #fff; }
.bym-voyage-mosaique img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.bym-voyage-carte:hover .bym-voyage-mosaique img { transform: scale(1.06); }
.bym-voyage-mosaique.n1 img { grid-column: 1 / -1; grid-row: 1 / -1; }
.bym-voyage-mosaique.n2 img { grid-row: 1 / -1; }
.bym-voyage-mosaique.n3 img:first-child { grid-row: 1 / -1; }
.bym-voyage-info { position: absolute; left: 0; right: 0; bottom: 0; padding: 3.5rem 1.1rem 1.1rem; background: linear-gradient(180deg, rgba(32,26,23,0), rgba(32,26,23,.85) 55%); display: flex; flex-direction: column; gap: .35rem; }
.bym-voyage-titre { font-family: var(--wp--preset--font-family--display); font-size: 1.75rem; line-height: 1; text-transform: uppercase; }
.bym-voyage-meta { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; opacity: .85; }
.bym-voyage-detail:not(:empty) { margin-top: 1.5rem; padding: clamp(1rem, 2.5vw, 1.75rem); border-radius: 12px; background: #fbf9f6; border: 1px solid #e2d8ca; animation: bym-apparait .45s ease both; scroll-margin-top: 6rem; }
.bym-voyage-detail .bym-semaine { margin-top: 0; }
.bym-voyage-chargement { text-align: center; color: #8e7f6e; }
.bym-voyage-fermer { text-align: center; margin: 1.5rem 0 0; }
.bym-voyage-fermer button { background: none; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; cursor: pointer; color: #201a17; padding: 0 0 2px; }
@media (max-width: 600px) { .bym-voyage-fleches { display: none; } .bym-voyage-carte { flex-basis: 72%; } }

/* Recette : préparation, cuisson, portions bien visibles */
.bym-rt-params li { font-family: var(--wp--preset--font-family--display); font-size: clamp(1.5rem, 2.4vw, 1.9rem); line-height: 1.1; padding-block: 1.1rem; }
.bym-rt-params .bym-label { font-family: var(--wp--preset--font-family--jost); font-size: .68rem; letter-spacing: .18em; color: #8e7f6e; margin-bottom: .45rem; }
.bym-plat-temps { font-size: .78rem; color: #8e7f6e; }
/* Crédit agence toujours visible (au-dessus de la bulle WhatsApp) */
.bym-footer { padding-bottom: 6.5rem !important; }
.bym-footer-bas p:last-child a { color: #f4f0ea; font-weight: 500; }
@media (max-width: 781px) { .bym-footer-bas { flex-direction: column; align-items: center; text-align: center; gap: .7rem; } .bym-footer { padding-bottom: 7.5rem !important; } }

/* Calendrier : recettes liées */
.bym-cal-item { position: relative; }
.bym-cal-rec { margin-top: .35rem; }
.bym-cal-rec summary { list-style: none; display: inline-block; cursor: pointer; padding: .3rem .7rem; border-radius: 999px; background: #201a17; color: #fff; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; }
.bym-cal-rec summary::-webkit-details-marker { display: none; }
.bym-cal-rec[open] summary { background: #8e7f6e; }
.bym-cal-rec ul { position: absolute; z-index: 5; left: 50%; transform: translateX(-50%); top: 100%; margin: .4rem 0 0; padding: .6rem; width: 15rem; list-style: none; background: #fff; border: 1px solid #e2d8ca; border-radius: 8px; box-shadow: 0 14px 30px rgba(32,26,23,.15); text-align: left; }
.bym-cal-rec li { margin: 0; }
.bym-cal-rec a { display: block; padding: .45rem .55rem; border-radius: 6px; font-size: .85rem; line-height: 1.3; color: #201a17; text-decoration: none; }
.bym-cal-rec a:hover { background: #f6f2ec; }
.bym-cal-rec-tout a { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; color: #8e7f6e; }
@media print { .bym-cal-rec { display: none !important; } }
/* Voyage v2 : carte carrée, 4 photos carrées, voile qui s'éclaircit au survol */
.bym-voyage-carte { aspect-ratio: 1 / 1; flex-basis: clamp(15rem, 24vw, 17.5rem); }
.bym-voyage-mosaique { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.bym-voyage-mosaique img, .bym-voyage-mosaique.n1 img, .bym-voyage-mosaique.n2 img, .bym-voyage-mosaique.n3 img:first-child { grid-column: auto; grid-row: auto; min-width: 0; min-height: 0; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.bym-voyage-mosaique::after { content: ""; position: absolute; inset: 0; background: rgba(32,26,23,.5); transition: background .4s ease; pointer-events: none; }
.bym-voyage-carte:hover .bym-voyage-mosaique::after, .bym-voyage-carte:focus-visible .bym-voyage-mosaique::after { background: rgba(32,26,23,.12); }
.bym-voyage-info { background: linear-gradient(180deg, rgba(32,26,23,0), rgba(32,26,23,.55) 60%); }
.bym-qui h2.wp-block-heading { white-space: nowrap; font-size: clamp(1.7rem, 3.4vw, 3rem); }
@media (max-width: 420px) { .bym-qui h2.wp-block-heading { font-size: 1.55rem; } }
.bym-cal-rec-titre { display: none; }
@media (max-width: 782px) {
	.bym-cal-rec[open]::before { content: ""; position: fixed; inset: 0; z-index: 99998; background: rgba(32,26,23,.45); animation: bym-apparait .25s ease both; }
	.bym-cal-rec ul { position: fixed; z-index: 99999; left: 0; right: 0; top: auto; bottom: 0; transform: none; width: auto; max-height: 70vh; overflow-y: auto; margin: 0; padding: .6rem 1rem calc(1.2rem + env(safe-area-inset-bottom)); border: 0; border-radius: 18px 18px 0 0; box-shadow: 0 -10px 30px rgba(32,26,23,.2); animation: bym-cal-monte .3s ease both; }
	.bym-cal-rec-titre { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem .55rem .8rem; margin-bottom: .3rem; border-bottom: 1px solid #efe7dc; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: #8e7f6e; }
	.bym-cal-rec-x { width: 2.2rem; height: 2.2rem; flex: 0 0 auto; border-radius: 50%; border: 1px solid #e2d8ca; background: #fff; color: #201a17; font-size: 1.3rem; line-height: 1; cursor: pointer; }
	.bym-cal-rec a { font-size: 1rem; padding: .8rem .55rem; border-bottom: 1px solid #f3eee6; border-radius: 0; }
	.bym-cal-rec li:last-child a { border-bottom: 0; }
	.bym-cal-rec-tout a { font-size: .72rem; }
	.bym-cal-rec summary { font-size: .58rem; padding: .35rem .65rem; }
}
@keyframes bym-cal-monte { from { transform: translateY(100%); } to { transform: none; } }
/* Astuces : illustrations en couleur */
.bym-fm-img--dessin img.bym-illu { width: 100%; height: 100%; object-fit: contain; display: block; transition: transform .4s ease; }
.bym-fm-img--dessin:has(img.bym-illu) { background: #fff; padding: .4rem; }
.bym-fm-etape:hover .bym-fm-img--dessin img.bym-illu { transform: scale(1.03); }
/* Recette : image de chaque ingrédient */
.bym-ingr-liste li:has(.bym-ingr-ico) { display: flex; align-items: center; gap: .7rem; }
.bym-ingr-ico { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; object-fit: contain; mix-blend-mode: multiply; }
.bym-ingr-liste li.is-coche .bym-ingr-ico { opacity: .45; filter: grayscale(1); }
/* Bibliothèque : filtres niveau / temps / ingrédient */
.bym-filtres { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0 1rem; align-items: center; }
.bym-filtre select, .bym-filtre input { font: inherit; font-size: .8rem; color: #201a17; background: #fff; border: 1px solid #e2d8ca; border-radius: 999px; padding: .55rem 1rem; height: 2.6rem; }
.bym-filtre select { appearance: none; -webkit-appearance: none; padding-right: 2.1rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23201a17' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .9rem center / .65rem; cursor: pointer; }
.bym-filtre select.is-actif { background-color: #201a17; color: #fff; border-color: #201a17; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E"); }
.bym-filtre--ing { flex: 1 1 15rem; }
.bym-filtre--ing input { width: 100%; padding-left: 2.4rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e7f6e' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 12h16a8 6 0 0 1-16 0z'/%3E%3Cpath d='M15 4l-4 7'/%3E%3C/svg%3E") no-repeat .9rem center / 1.1rem; }
.bym-filtres-raz { background: none; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: #8e7f6e; cursor: pointer; padding: 0 0 2px; }
.bym-lib-cats-titre--niv { margin-top: 1.6rem; }
.bym-lib-niv { list-style: none; padding: 0; margin: 0; }
.bym-rec-infos { display: block; font-size: .7rem; letter-spacing: .08em; color: #8e7f6e; margin-top: .2rem; }
@media (max-width: 600px) { .bym-filtre:not(.bym-filtre--ing) { flex: 1 1 calc(33% - .5rem); } .bym-filtre select { width: 100%; padding-left: .8rem; font-size: .75rem; } }
/* Recette : appareils et ustensiles en bas */
.bym-rc-plus { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.2rem; padding-block: 0 clamp(2.5rem, 6vw, 4rem); }
.bym-rc-carte { background: #fbf9f6; border: 1px solid #ece4d8; border-radius: 14px; padding: 1.4rem 1.6rem; }
.bym-rc-carte h3 { font-size: 1.35rem; margin: 0 0 1rem; }
.bym-rc-app, .bym-rc-ust { list-style: none; margin: 0; padding: 0; }
.bym-rc-app li { display: flex; align-items: center; gap: 1rem; padding: .35rem 0; font-size: .95rem; }
.bym-rc-app img { width: 3.2rem; height: 3.2rem; object-fit: contain; }
.bym-rc-ust li { position: relative; padding: .45rem 0 .45rem 1.1rem; font-size: .95rem; border-bottom: 1px solid #efe7dc; }
.bym-rc-ust li:last-child { border-bottom: 0; }
.bym-rc-ust li::before { content: ""; position: absolute; left: 0; top: 1rem; width: .4rem; height: .4rem; border-radius: 50%; background: #8e7f6e; }
/* Mon frigo */
.bym-frigo-tete { background: #f6f2ec; border-radius: 16px; padding: clamp(1.5rem, 4vw, 2.75rem); text-align: center; }
.bym-frigo-tete h2 { margin: .2rem 0 .5rem; font-size: clamp(2rem, 5vw, 3rem); }
.bym-frigo-tete h2 em { font-family: var(--bym-script); text-transform: none; }
.bym-frigo-tete > p { margin: 0 auto 1.2rem; max-width: 34rem; color: #5a4f47; }
.bym-frigo-saisie { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; max-width: 46rem; margin: 0 auto; background: #fff; border: 1px solid #e2d8ca; border-radius: 999px; padding: .45rem .5rem .45rem 1rem; }
.bym-frigo-saisie input { flex: 1 1 10rem; border: 0; outline: 0; font: inherit; font-size: 1rem; background: transparent; min-width: 8rem; padding: .4rem 0; }
.bym-frigo-ajout { width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 0; background: #201a17; color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.bym-frigo-choix { display: contents; list-style: none; }
.bym-frigo-choix li { display: inline-flex; align-items: center; gap: .35rem; background: #201a17; color: #fff; border-radius: 999px; padding: .25rem .4rem .25rem .3rem; font-size: .85rem; }
.bym-frigo-choix img { width: 1.6rem; height: 1.6rem; object-fit: contain; background: #fff; border-radius: 50%; padding: 2px; }
.bym-frigo-choix button { background: none; border: 0; color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 .2rem; }
.bym-frigo-idees { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin: 1rem 0 0; font-size: .8rem; color: #8e7f6e; align-items: center; }
.bym-frigo-idees button { display: inline-flex; align-items: center; gap: .3rem; background: #fff; border: 1px solid #e2d8ca; border-radius: 999px; padding: .3rem .7rem .3rem .35rem; font: inherit; font-size: .8rem; color: #201a17; cursor: pointer; }
.bym-frigo-idees button:hover { border-color: #201a17; }
.bym-frigo-idees img { width: 1.5rem; height: 1.5rem; object-fit: contain; }
.bym-frigo-res h3 { margin: 2.2rem 0 1rem; font-size: 1.5rem; display: flex; align-items: baseline; gap: .6rem; }
.bym-frigo-res h3 span { font-size: .8rem; color: #8e7f6e; font-family: inherit; }
.bym-frigo-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 1rem; }
.bym-frigo-carte { display: block; text-decoration: none; color: #201a17; }
.bym-frigo-photo { position: relative; display: block; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #e6dcce; }
.bym-frigo-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.bym-frigo-carte:hover .bym-frigo-photo img { transform: scale(1.05); }
.bym-frigo-score { position: absolute; top: .6rem; left: .6rem; background: #201a17; color: #fff; font-size: .68rem; letter-spacing: .1em; padding: .3rem .6rem; border-radius: 999px; }
.bym-frigo-titre { display: block; margin-top: .6rem; font-weight: 500; line-height: 1.3; }
.bym-frigo-meta { display: block; font-size: .72rem; color: #8e7f6e; margin-top: .15rem; }
@media (max-width: 600px) { .bym-frigo-grille { grid-template-columns: repeat(2, 1fr); gap: .7rem; } .bym-frigo-saisie { border-radius: 18px; } }
.bym-rc-app { display: flex; flex-wrap: wrap; gap: .4rem 2rem; }
.bym-rc-plus { grid-template-columns: repeat(auto-fit, minmax(18rem, max-content)); }
.bym-frigo-tuto { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; max-width: 56rem; margin: 0 auto 1.4rem; padding: 0; text-align: left; }
.bym-frigo-tuto li { display: flex; gap: .7rem; align-items: flex-start; background: #fff; border-radius: 12px; padding: .9rem 1rem; }
.bym-frigo-tuto span { flex: 0 0 auto; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #201a17; color: #fff; display: grid; place-items: center; font-size: .8rem; }
.bym-frigo-tuto p { margin: 0; font-size: .85rem; line-height: 1.45; color: #5a4f47; }
.bym-frigo-tuto strong { color: #201a17; font-weight: 600; }
@media (max-width: 900px) { .bym-frigo-tuto { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .bym-frigo-tuto { grid-template-columns: 1fr; gap: .5rem; } .bym-frigo-tuto li { padding: .7rem .9rem; } }
.bym-frigo-saisie { position: relative; }
.bym-frigo-sugg { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + .4rem); margin: 0; padding: .4rem; list-style: none; background: #fff; border: 1px solid #e2d8ca; border-radius: 14px; box-shadow: 0 16px 34px rgba(32,26,23,.14); text-align: left; max-height: 22rem; overflow-y: auto; }
.bym-frigo-sugg li { display: flex; align-items: center; gap: .7rem; padding: .5rem .7rem; border-radius: 9px; cursor: pointer; font-size: .95rem; color: #5a4f47; }
.bym-frigo-sugg li b { color: #201a17; font-weight: 600; }
.bym-frigo-sugg li:hover, .bym-frigo-sugg li.is-sel { background: #f6f2ec; }
.bym-frigo-sugg img, .bym-frigo-sugg i { width: 1.9rem; height: 1.9rem; object-fit: contain; flex: 0 0 auto; }
.bym-frigo-sugg i { border-radius: 50%; background: #f1ede6; }
.bym-frigo-info { margin: 2rem 0 0; padding: 1rem 1.3rem; border-radius: 12px; background: #fbf9f6; border: 1px solid #e2d8ca; border-left: 4px solid #201a17; font-size: .95rem; color: #5a4f47; line-height: 1.5; }
.bym-frigo-info strong { color: #201a17; display: block; margin-bottom: .15rem; }
/* Accueil : bannière « Mon frigo » */
.bym-frigo-ban { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; background: #201a17; color: #f6f2ec; border-radius: 20px; padding: clamp(1.8rem, 4.5vw, 3.5rem); overflow: hidden; position: relative; }
.bym-frigo-ban .bym-label { color: #c9b8a3; }
.bym-frigo-ban h2 { color: #fff; margin: .3rem 0 .8rem; font-size: clamp(2.1rem, 4.6vw, 3.4rem); line-height: 1; }
.bym-frigo-ban h2 em { font-family: var(--bym-script); text-transform: none; color: #e6dcce; }
.bym-frigo-ban-txt > p { color: #d9cfc2; max-width: 32rem; margin: 0 0 1.2rem; line-height: 1.6; }
.bym-frigo-ban-demo { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 0 0 1.5rem; }
.bym-frigo-ban-demo span { display: inline-flex; align-items: center; gap: .35rem; background: #fff; color: #201a17; border-radius: 999px; padding: .3rem .8rem .3rem .35rem; font-size: .85rem; animation: bym-pop .5s ease both; }
.bym-frigo-ban-demo span:nth-child(2) { animation-delay: .15s; } .bym-frigo-ban-demo span:nth-child(3) { animation-delay: .3s; }
.bym-frigo-ban-demo img { width: 1.6rem; height: 1.6rem; object-fit: contain; }
.bym-frigo-ban-demo b { font-weight: 400; font-size: .85rem; color: #c9b8a3; margin-left: .3rem; }
@keyframes bym-pop { from { opacity: 0; transform: translateY(6px) scale(.95); } to { opacity: 1; transform: none; } }
.bym-frigo-ban-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin: 0; }
.bym-frigo-ban .wp-element-button { background: #f6f2ec; color: #201a17; }
.bym-frigo-ban .wp-element-button:hover { background: #fff; }
.bym-frigo-ban-lien { color: #f6f2ec; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.bym-frigo-ban-note { display: flex; align-items: center; gap: .45rem; margin: 1.1rem 0 0; font-size: .8rem; color: #a99a88; }
.bym-frigo-ban-photos { position: relative; height: clamp(16rem, 30vw, 22rem); }
.bym-frigo-ban-ph { position: absolute; margin: 0; width: 52%; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,.35); background: #3a312b; transition: transform .5s ease; }
.bym-frigo-ban-ph img { width: 100%; height: 100%; object-fit: cover; }
.bym-frigo-ban-ph figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.6rem .7rem .6rem; font-size: .75rem; color: #fff; background: linear-gradient(180deg, transparent, rgba(32,26,23,.85)); }
.bym-frigo-ban-ph--1 { left: 0; top: 12%; transform: rotate(-6deg); }
.bym-frigo-ban-ph--2 { left: 24%; top: 0; z-index: 2; transform: rotate(2deg); }
.bym-frigo-ban-ph--3 { right: 0; top: 16%; transform: rotate(7deg); }
.bym-frigo-ban:hover .bym-frigo-ban-ph--1 { transform: rotate(-9deg) translateX(-6px); }
.bym-frigo-ban:hover .bym-frigo-ban-ph--3 { transform: rotate(10deg) translateX(6px); }
@media (max-width: 800px) { .bym-frigo-ban { grid-template-columns: 1fr; } .bym-frigo-ban-photos { height: 15rem; order: -1; } .bym-frigo-ban-ph { width: 46%; } }
/* Bannière frigo v2 : fond taupe, angles droits, 3 photos alignées */
.bym-frigo-ban { background: #8e7f6e; border-radius: 0; color: #fff; grid-template-columns: 1fr 1fr; }
.bym-frigo-ban .bym-label { color: #f6f2ec; }
.bym-frigo-ban h2 em { color: #fff; }
.bym-frigo-ban-txt > p { color: #f6f2ec; }
.bym-frigo-ban-demo span { border-radius: 0; }
.bym-frigo-ban-demo b { color: #f6f2ec; }
.bym-frigo-ban .wp-element-button { background: #201a17; color: #fff; border-radius: 0; }
.bym-frigo-ban .wp-element-button:hover { background: #000; }
.bym-frigo-ban-note { color: #f1ebe2; }
.bym-frigo-ban-photos { height: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.bym-frigo-ban-ph, .bym-frigo-ban-ph--1, .bym-frigo-ban-ph--2, .bym-frigo-ban-ph--3 { position: relative; inset: auto; width: auto; transform: none; border-radius: 0; box-shadow: none; aspect-ratio: 3 / 4; background: #7a6c5d; }
.bym-frigo-ban-ph img { transition: transform .6s ease; }
.bym-frigo-ban:hover .bym-frigo-ban-ph--1, .bym-frigo-ban:hover .bym-frigo-ban-ph--3 { transform: none; }
.bym-frigo-ban-ph:hover img { transform: scale(1.05); }
.bym-frigo-ban-ph figcaption { font-size: .72rem; line-height: 1.3; padding: 2rem .6rem .6rem; background: linear-gradient(180deg, transparent, rgba(32,26,23,.75)); }
@media (max-width: 800px) { .bym-frigo-ban { grid-template-columns: 1fr; } .bym-frigo-ban-photos { order: -1; height: auto; gap: .5rem; } .bym-frigo-ban-ph { width: auto; } }
/* Bannière frigo v3 : pleine largeur, 3 photos en éventail animées */
.bym-frigo-section { background: #8e7f6e; overflow: hidden; }
.bym-frigo-ban { background: transparent; padding: clamp(1rem, 3vw, 2rem) 0; }
.bym-frigo-ban-photos { display: block; position: relative; height: clamp(18rem, 30vw, 24rem); }
.bym-frigo-ban-ph, .bym-frigo-ban-ph--1, .bym-frigo-ban-ph--2, .bym-frigo-ban-ph--3 { position: absolute; width: 44%; aspect-ratio: 3 / 4; border: .45rem solid #f6f2ec; box-shadow: 0 22px 40px rgba(32,26,23,.35); background: #f6f2ec; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.bym-frigo-ban-ph--1 { left: 2%; top: 14%; --r: -8deg; transform: rotate(var(--r)); animation: bym-flotte 6s ease-in-out infinite; }
.bym-frigo-ban-ph--2 { left: 28%; top: 0; z-index: 2; --r: 2deg; transform: rotate(var(--r)); animation: bym-flotte 6s ease-in-out -2s infinite; }
.bym-frigo-ban-ph--3 { left: 54%; top: 16%; --r: 9deg; transform: rotate(var(--r)); animation: bym-flotte 6s ease-in-out -4s infinite; }
@keyframes bym-flotte { 0%, 100% { transform: rotate(var(--r)) translateY(0); } 50% { transform: rotate(calc(var(--r) * 1.3)) translateY(-10px); } }
.bym-frigo-ban:hover .bym-frigo-ban-ph { animation-play-state: paused; }
.bym-frigo-ban:hover .bym-frigo-ban-ph--1 { transform: rotate(-12deg) translateX(-14px); }
.bym-frigo-ban:hover .bym-frigo-ban-ph--3 { transform: rotate(13deg) translateX(14px); }
.bym-frigo-ban-ph:hover { z-index: 3; }
.bym-frigo-ban-ph figcaption { background: linear-gradient(180deg, transparent, rgba(32,26,23,.8)); }
.bym-frigo-ban-demo span { animation: bym-pop .5s ease both, bym-pulse 3s ease-in-out 1.2s infinite; }
@keyframes bym-pulse { 0%, 100% { transform: none; } 50% { transform: translateY(-3px); } }
.bym-frigo-ban-demo span:nth-child(2) { animation-delay: .15s, 1.6s; } .bym-frigo-ban-demo span:nth-child(3) { animation-delay: .3s, 2s; }
@media (max-width: 800px) { .bym-frigo-ban-photos { height: 17rem; } .bym-frigo-ban-ph, .bym-frigo-ban-ph--1, .bym-frigo-ban-ph--2, .bym-frigo-ban-ph--3 { width: 40%; } .bym-frigo-ban-ph--1 { left: 4%; } .bym-frigo-ban-ph--2 { left: 30%; } .bym-frigo-ban-ph--3 { left: 56%; } }
@media (prefers-reduced-motion: reduce) { .bym-frigo-ban-ph, .bym-frigo-ban-demo span { animation: none !important; } }
.bym-frigo-ban-ph, .bym-frigo-ban-ph--1, .bym-frigo-ban-ph--2, .bym-frigo-ban-ph--3 { width: 35%; }
.bym-frigo-ban-ph--1 { left: 3%; top: 14%; } .bym-frigo-ban-ph--2 { left: 32%; top: 2%; } .bym-frigo-ban-ph--3 { left: 61%; top: 16%; }
.bym-frigo-ban-photos { height: clamp(17rem, 26vw, 21rem); }
@media (max-width: 800px) { .bym-frigo-ban-photos { height: 15rem; } .bym-frigo-ban-ph, .bym-frigo-ban-ph--1, .bym-frigo-ban-ph--2, .bym-frigo-ban-ph--3 { width: 33%; } .bym-frigo-ban-ph--1 { left: 3%; } .bym-frigo-ban-ph--2 { left: 33%; } .bym-frigo-ban-ph--3 { left: 63%; } }
.bym-lib-cats-top a { font-weight: 500; }
.bym-rating-num { font-weight: 500; color: #201a17; }
.bym-date--bientot .bym-date-jour { font-size: 1.1rem; line-height: 1.2; }
/* Page Animations v2 */
.bym-anim-onglets { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 0 0 clamp(2rem, 5vw, 3rem); }
.bym-anim-onglets a { display: flex; align-items: center; gap: .8rem; padding: 1rem 1.1rem; background: #f6f2ec; color: #201a17; text-decoration: none; border: 1px solid transparent; transition: background .3s ease, transform .3s ease, border-color .3s ease; }
.bym-anim-onglets a:hover { background: #fff; border-color: #e2d8ca; transform: translateY(-3px); }
.bym-anim-onglets svg { width: 2.2rem; height: 2.2rem; color: #8e7f6e; flex: 0 0 auto; }
.bym-anim-onglets span { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; line-height: 1.35; }
.bym-anim-onglets b { margin-left: auto; min-width: 1.8rem; height: 1.8rem; border-radius: 50%; display: grid; place-items: center; background: #201a17; color: #fff; font-size: .75rem; font-weight: 500; }
.bym-anim-rub { margin: 0 0 clamp(2.5rem, 6vw, 4rem); scroll-margin-top: 7rem; }
.bym-anim-tete { display: flex; align-items: center; gap: 1.1rem; padding-bottom: 1rem; margin-bottom: 1.2rem; border-bottom: 1px solid #201a17; }
.bym-anim-ico { width: 4rem; height: 4rem; flex: 0 0 auto; border-radius: 50%; background: #e6dcce; color: #201a17; display: grid; place-items: center; animation: bym-flotte2 5s ease-in-out infinite; }
.bym-anim-ico svg { width: 2.3rem; height: 2.3rem; }
@keyframes bym-flotte2 { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(-4deg); } }
.bym-anim-tete h2 { margin: 0 !important; font-size: clamp(1.7rem, 3.6vw, 2.4rem); }
.bym-anim-tete p { margin: .2rem 0 0; color: #8e7f6e; }
.bym-anim-carte { display: grid; grid-template-columns: 6.5rem 1fr auto; gap: 1.4rem; align-items: center; padding: 1.2rem; margin-bottom: .9rem; background: #fff; border: 1px solid #ece4d8; transition: transform .35s ease, box-shadow .35s ease; animation: bym-monte .6s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--i) * .12s); }
.bym-anim-carte:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(32,26,23,.12); }
@keyframes bym-monte { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.bym-anim-date { background: #201a17; color: #fff; text-align: center; padding: .9rem .4rem; display: flex; flex-direction: column; gap: .15rem; }
.bym-anim-jsem, .bym-anim-mois { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: #e6dcce; }
.bym-anim-jour { font-family: var(--wp--preset--font-family--display); font-size: 2.6rem; line-height: 1; }
.bym-anim-date--vide { background: #8e7f6e; }
.bym-anim-badge { display: inline-block; font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; padding: .3rem .65rem; background: #f6f2ec; color: #201a17; margin-bottom: .5rem; }
.is-bientot .bym-anim-badge { background: #201a17; color: #fff; animation: bym-pouls 2s ease-in-out infinite; }
@keyframes bym-pouls { 0%, 100% { box-shadow: 0 0 0 0 rgba(32,26,23,.35); } 50% { box-shadow: 0 0 0 6px rgba(32,26,23,0); } }
.bym-anim-corps h3 { margin: 0 0 .25rem; font-size: 1.25rem; font-weight: 500; font-family: inherit; text-transform: none; letter-spacing: 0; }
.bym-anim-corps h3 a { color: #201a17; text-decoration: none; }
.bym-anim-quand { margin: 0 0 .4rem; font-size: .85rem; color: #8e7f6e; }
.bym-anim-txt { margin: 0 0 .6rem; font-size: .92rem; line-height: 1.55; color: #4a3d34; }
.bym-anim-plus { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: #201a17; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.bym-anim-jauge { height: .45rem; background: #efe7dc; margin: .2rem 0 .8rem; max-width: 26rem; overflow: hidden; }
.bym-anim-jauge span { display: block; height: 100%; width: var(--p); background: linear-gradient(90deg, #8e7f6e, #201a17); animation: bym-jauge 1.4s cubic-bezier(.2,.7,.2,1) .3s both; }
@keyframes bym-jauge { from { width: 0; } }
.bym-anim-btn { white-space: nowrap; }
.bym-anim-vide { padding: 1.4rem; background: #f6f2ec; color: #8e7f6e; margin: 0; }
@media (max-width: 700px) {
	.bym-anim-onglets { grid-template-columns: 1fr; gap: .5rem; }
	.bym-anim-carte { grid-template-columns: 4.6rem 1fr; gap: 1rem; padding: 1rem; }
	.bym-anim-jour { font-size: 2rem; }
	.bym-anim-btn { grid-column: 1 / -1; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .bym-anim-carte, .bym-anim-ico, .is-bientot .bym-anim-badge, .bym-anim-jauge span { animation: none !important; } }
.bym-anim-hero { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; background: #8e7f6e; color: #fff; padding: clamp(1.5rem, 4vw, 2.5rem); margin: 0 0 1.2rem; position: relative; overflow: hidden; }
.bym-anim-hero::after { content: ""; position: absolute; width: 18rem; height: 18rem; border-radius: 50%; right: -5rem; top: -7rem; background: rgba(255,255,255,.07); animation: bym-flotte2 8s ease-in-out infinite; }
.bym-anim-hero .bym-label { color: #f1ebe2; }
.bym-anim-hero h2 { color: #fff; margin: .2rem 0 .3rem !important; font-size: clamp(1.9rem, 4vw, 2.8rem); }
.bym-anim-hero-txt > p:not(.bym-label) { margin: 0 0 1rem; color: #f6f2ec; }
.bym-anim-hero .wp-element-button { background: #201a17; color: #fff; }
.bym-anim-rebours { display: flex; gap: .6rem; position: relative; z-index: 1; }
.bym-anim-rebours div { width: 4.6rem; padding: .7rem 0 .55rem; background: #f6f2ec; color: #201a17; text-align: center; }
.bym-anim-rebours b { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 2.1rem; line-height: 1; }
.bym-anim-rebours span { font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: #8e7f6e; }
.bym-anim-rebours b.is-tic { animation: bym-tic .45s ease; }
@keyframes bym-tic { from { transform: translateY(-6px); opacity: .3; } to { transform: none; opacity: 1; } }
@media (max-width: 700px) { .bym-anim-hero { grid-template-columns: 1fr; } .bym-anim-rebours div { flex: 1; width: auto; } }

/* Fiche animation : bannière photo pleine largeur */
.bym-ev-page .bym-retour { margin-bottom: 1rem; }
.bym-ev-hero-wrap { margin-block: 0 !important; }
.bym-ev-hero { position: relative; overflow: hidden; background: #201a17; color: #fff; min-height: clamp(30rem, 70vh, 40rem); display: flex; align-items: flex-end; }
.bym-ev-photos { position: absolute; inset: 0; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 4px; }
.bym-ev-photos figure { margin: 0; overflow: hidden; opacity: 0; animation: bym-ev-in 1s ease forwards; animation-delay: calc(var(--k) * .18s); }
.bym-ev-photos img { width: 100%; height: 100%; object-fit: cover; display: block; animation: bym-ev-zoom 18s ease-in-out infinite alternate; animation-delay: calc(var(--k) * -6s); }
.bym-ev-voile { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(32,26,23,.92) 0%, rgba(32,26,23,.72) 42%, rgba(32,26,23,.25) 100%), linear-gradient(0deg, rgba(32,26,23,.6), transparent 55%); }
.bym-ev-contenu { position: relative; z-index: 1; width: min(100% - 2 * max(16px, 4vw), 75rem); margin: 0 auto; padding: 4rem 0 3rem; }
.bym-ev-contenu > * { opacity: 0; animation: bym-ev-monte .7s ease forwards; }
.bym-ev-contenu > *:nth-child(2) { animation-delay: .12s; } .bym-ev-contenu > *:nth-child(3) { animation-delay: .24s; } .bym-ev-contenu > *:nth-child(4) { animation-delay: .36s; } .bym-ev-contenu > *:nth-child(5) { animation-delay: .48s; } .bym-ev-contenu > *:nth-child(6) { animation-delay: .6s; }
.bym-ev-type { display: flex; align-items: center; gap: .6rem; margin: 0 0 .8rem; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: #e6dcce; }
.bym-ev-type svg { width: 2.4rem; height: 2.4rem; padding: .45rem; background: #f6f2ec; color: #201a17; border-radius: 50%; animation: bym-flotte2 5s ease-in-out infinite; }
.bym-ev-titre { color: #fff !important; font-size: clamp(2.6rem, 7vw, 5.2rem) !important; line-height: .95 !important; margin: 0 0 1.1rem !important; max-width: 14ch; }
.bym-ev-quand { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin: 0 0 1.4rem; color: #f6f2ec; font-size: 1.05rem; }
.bym-ev-quand .bym-anim-badge { margin: 0; background: #f6f2ec; color: #201a17; }
.bym-ev-hero.is-bientot .bym-anim-badge { animation: bym-pulse 1.6s ease-in-out infinite; }
.bym-ev-rebours { margin: 0 0 1.3rem; }
.bym-ev-jauge { max-width: 22rem; margin: 0 0 1.5rem; background: rgba(255,255,255,.2); }
.bym-ev-cta { margin: 0; }
.bym-ev-cta .wp-element-button { background: #f6f2ec; color: #201a17; }
.bym-ev-cta .wp-element-button:hover { background: #e6dcce; }
@keyframes bym-ev-in { to { opacity: 1; } }
@keyframes bym-ev-zoom { from { transform: scale(1); } to { transform: scale(1.12); } }
@keyframes bym-ev-monte { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
/* Détails sous la bannière */
.bym-ev-details { padding-top: 3rem; }
.bym-ev-details .wp-block-post-content { font-size: 1.06rem; }
.bym-ev-details .wp-block-post-content > p:first-child { font-family: var(--wp--preset--font-family--display); font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.15; text-transform: uppercase; color: #201a17; }
.bym-ev-details ul, .bym-ev-details ol { list-style: none; padding: 0; margin: 1.6rem 0; display: grid; gap: .8rem; counter-reset: ev; }
.bym-ev-details li { counter-increment: ev; position: relative; background: #f6f2ec; padding: 1.1rem 1.2rem 1.1rem 4.2rem; min-height: 3.4rem; display: flex; align-items: center; opacity: 0; animation: bym-ev-monte .6s ease forwards; animation-delay: calc(.6s + var(--n, 0) * .12s); }
.bym-ev-details li:nth-child(2) { --n: 1; } .bym-ev-details li:nth-child(3) { --n: 2; } .bym-ev-details li:nth-child(4) { --n: 3; } .bym-ev-details li:nth-child(5) { --n: 4; }
.bym-ev-details li::before { content: counter(ev); position: absolute; left: 0; top: 0; bottom: 0; width: 3rem; display: grid; place-items: center; background: #201a17; color: #f6f2ec; font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; }
.bym-ev-details .wp-block-post-content > p:last-child { background: #8e7f6e; color: #fff; padding: 1.3rem 1.4rem; margin-top: 1.6rem; }
.bym-ev-details .wp-block-post-content > p:last-child strong { color: #fff; }
@media (max-width: 760px) {
	.bym-ev-hero { min-height: 36rem; }
	.bym-ev-photos { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
	.bym-ev-photos figure:first-child { grid-row: span 2; }
	.bym-ev-voile { background: linear-gradient(0deg, rgba(32,26,23,.95) 0%, rgba(32,26,23,.75) 55%, rgba(32,26,23,.3) 100%); }
	.bym-ev-contenu { padding: 8rem 0 2rem; }
}
@media (prefers-reduced-motion: reduce) { .bym-ev-photos figure, .bym-ev-contenu > *, .bym-ev-details li { animation: none; opacity: 1; } .bym-ev-photos img, .bym-ev-type svg { animation: none; } }

/* Bannière photo HD en haut des pages */
.bym-main:has(> .bym-bandeau) { padding-top: 0; }
.bym-main > .bym-bandeau { margin-block: 0 clamp(2rem, 5vw, 3.5rem) !important; }
.bym-bandeau { position: relative; overflow: hidden; height: clamp(17rem, 42vw, 30rem); background: #201a17; display: flex; align-items: flex-end; }
.bym-bandeau-img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; animation: bym-bandeau-zoom 22s ease-out both; }
.bym-bandeau-voile { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(32,26,23,.78) 0%, rgba(32,26,23,.35) 45%, rgba(32,26,23,.08) 100%); }
.bym-bandeau-in { position: relative; z-index: 1; width: min(100% - 2 * max(16px, 4vw), 1180px); margin: 0 auto; padding-bottom: clamp(1.6rem, 4vw, 3rem); }
.bym-bandeau-label { margin: 0 0 .5rem; color: #e6dcce; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; animation: bym-ev-monte .7s ease .15s both; }
.bym-bandeau-titre { color: #fff !important; margin: 0 !important; font-size: clamp(2.6rem, 8vw, 5.6rem) !important; line-height: .95 !important; animation: bym-ev-monte .8s ease .3s both; }
@keyframes bym-bandeau-zoom { from { transform: scale(1.12); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .bym-bandeau-img, .bym-bandeau-label, .bym-bandeau-titre { animation: none; } }
.bym-main.bym-ev-page { padding-top: 0; }
.bym-ev-page > .bym-ev-hero-wrap { margin-bottom: clamp(2rem, 5vw, 3.5rem) !important; }
.bym-ev-details { padding-top: 1.5rem; }
/* Bannière animation : une seule grande photo HD */
.bym-ev-photos { grid-template-columns: 1fr !important; grid-template-rows: 1fr !important; }
.bym-ev-photos figure:first-child { grid-row: auto !important; }
.bym-ev-photos img { animation: bym-bandeau-zoom 22s ease-out both; }
.bym-ev-voile { background: linear-gradient(90deg, rgba(32,26,23,.9) 0%, rgba(32,26,23,.65) 45%, rgba(32,26,23,.15) 100%); }
@media (max-width: 760px) { .bym-ev-voile { background: linear-gradient(0deg, rgba(32,26,23,.94) 0%, rgba(32,26,23,.7) 60%, rgba(32,26,23,.25) 100%); } }
/* Bannière Offre TM7 : l'appareil en entier à droite */
.bym-bandeau--split { background: #201a17; }
.bym-bandeau--split .bym-bandeau-img { left: auto; right: 0; width: 52%; }
.bym-bandeau--split .bym-bandeau-voile { background: linear-gradient(90deg, #201a17 0%, #201a17 46%, rgba(32,26,23,.55) 52%, rgba(32,26,23,0) 70%); }
@media (max-width: 760px) {
	.bym-bandeau--split .bym-bandeau-img { width: 100%; }
	.bym-bandeau--split .bym-bandeau-voile { background: linear-gradient(0deg, rgba(32,26,23,.85) 0%, rgba(32,26,23,.3) 50%, rgba(32,26,23,0) 100%); }
}
@media (min-width: 761px) {
	.bym-bandeau--split { height: clamp(22rem, 38vw, 34rem); }
	.bym-bandeau--split .bym-bandeau-img { width: auto !important; max-width: none; right: 7vw; object-fit: contain; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 80%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 80%, transparent 100%); }
	.bym-bandeau--split .bym-bandeau-voile { background: linear-gradient(0deg, rgba(32,26,23,.35), transparent 40%); }
}

/* Hero accueil : voile plus foncé, et sur mobile une image au-dessus de l'autre */
.bym-hero-panneau::after { background: linear-gradient(180deg, rgba(32,26,23,.18) 0%, rgba(32,26,23,.32) 45%, rgba(32,26,23,.78) 100%) !important; }
@media (max-width: 781px) {
	.bym-hero-duo { flex-wrap: wrap !important; flex-direction: column; gap: 0.5rem !important; }
	.bym-hero-duo > .wp-block-column { flex-basis: 100% !important; width: 100%; }
	.bym-hero-panneau { min-height: 72svh !important; padding-inline: 1.25rem !important; padding-block: 2.25rem !important; }
	.bym-hero-panneau .wp-element-button { padding: 1rem 1.6rem; font-size: 0.72rem; letter-spacing: 0.16em; }
	.bym-hero-panneau .bym-label { font-size: 0.72rem !important; letter-spacing: 0.2em; }
}
/* Atouts : 2 colonnes sur mobile, icône au-dessus */
@media (max-width: 600px) {
	.bym-atouts-grille { grid-template-columns: 1fr 1fr !important; gap: 2rem 1rem !important; justify-content: stretch; }
	.bym-atout { flex-direction: column !important; align-items: center !important; text-align: center; gap: 0.7rem !important; }
	.bym-atout strong { white-space: normal; font-size: 0.62rem; line-height: 1.4; }
	.bym-atout p { font-size: 0.78rem; }
}
/* Bannière frigo sur mobile : texte centré en haut, photos en dessous */
@media (max-width: 800px) {
	.bym-frigo-ban-txt { order: 1; text-align: center; }
	.bym-frigo-ban-photos { order: 2 !important; margin-top: 1rem; }
	.bym-frigo-ban-txt > p { margin-inline: auto; }
	.bym-frigo-ban-demo, .bym-frigo-ban-cta, .bym-frigo-ban-note { justify-content: center; }
}
/* Mobile : flèche qui invite à faire glisser les catégories */
@media (max-width: 781px) {
	.bym-cat-defile .bym-cat-suiv { display: grid; place-items: center; right: .6rem; width: 2.6rem; height: 2.6rem; margin-top: -1.3rem; animation: bym-glisse 1.6s ease-in-out infinite; }
	.bym-cat-defile::after { content: "Fais glisser  →"; display: block; text-align: center; margin-top: 1rem; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: #8e7f6e; animation: bym-glisse 1.6s ease-in-out infinite; }
}
@keyframes bym-glisse { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(6px); } }
/* Qui suis-je : photo plus haute sur mobile */
@media (max-width: 781px) {
	.bym-qui .wp-block-media-text__media { min-height: 0 !important; height: auto !important; }
	.bym-qui .wp-block-media-text__media img { aspect-ratio: 4 / 5 !important; height: auto !important; min-height: 0 !important; object-fit: cover; object-position: 50% 20%; }
	/* Les 3 points sur une seule ligne */
	.bym-qui-points { flex-wrap: nowrap; gap: .35rem; }
	.bym-qui-points li { flex: 1 1 0; text-align: center; padding: .55rem .4rem; font-size: .64rem; letter-spacing: 0; line-height: 1.3; display: flex; align-items: center; justify-content: center; }
}
/* Pied de page mobile : rubriques en menu déroulant */
@media (max-width: 781px) {
	.bym-footer-titre.is-acc { display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 1.1rem 0; margin: 0 !important; border-bottom: 1px solid rgba(246,242,236,.15); }
	.bym-footer-titre.is-acc::after { content: "+"; font-size: 1.2rem; font-weight: 300; letter-spacing: 0; transition: transform .3s ease; }
	.bym-footer-titre.is-acc.is-open::after { transform: rotate(45deg); }
	.bym-footer-titre.is-acc + .bym-footer-liens { max-height: 0; overflow: hidden; margin: 0 !important; padding-block: 0 !important; transition: max-height .4s ease, padding .4s ease; }
	.bym-footer-titre.is-acc.is-open + .bym-footer-liens { max-height: 40rem; padding-block: .6rem 1rem !important; }
	.wp-block-column:has(> .bym-footer-titre.is-acc) { flex-basis: 100% !important; }
}
/* Catégories de la bibliothèque : on voit qu'on peut faire défiler */
@media (max-width: 781px) {
	.bym-scroll-wrap { position: relative; }
	.bym-scroll-wrap::after { content: "→"; position: absolute; right: calc(-1 * max(16px, 4vw)); top: 0; bottom: .4rem; width: 4.5rem; display: flex; align-items: center; justify-content: flex-end; padding-right: max(12px, 3vw); font-size: 1.15rem; color: #201a17; background: linear-gradient(90deg, rgba(255,255,255,0), #fff 55%); pointer-events: none; transition: opacity .3s ease; animation: bym-glisse 1.6s ease-in-out infinite; }
	.bym-scroll-wrap.is-fin::after { opacity: 0; }
}
/* Menu « Mon espace » sur mobile : tout visible, en grille */
@media (max-width: 781px) {
	.bym-espace-nav { display: block !important; overflow: visible !important; white-space: normal !important; padding-bottom: 1rem; }
	.bym-espace-nav-home { display: block; border-right: 0 !important; padding: 0 0 .7rem !important; margin-bottom: .7rem; border-bottom: 1px solid var(--bym-trait); }
	.bym-espace-nav ul { display: grid !important; grid-template-columns: repeat(3, auto); justify-content: space-between; gap: .75rem 1rem !important; flex-wrap: wrap; }
	.bym-espace-nav ul a { font-size: .6rem; letter-spacing: .1em; white-space: nowrap; }
}
@media (max-width: 380px) { .bym-espace-nav ul { grid-template-columns: repeat(2, auto); } }
@media (max-width: 781px) {
	.bym-espace-nav ul { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; justify-content: stretch; }
	.bym-espace-nav ul a { white-space: normal; display: block; line-height: 1.35; }
}
@media (max-width: 781px) {
	.wp-block-columns:has(.bym-footer-titre.is-acc) { flex-direction: column !important; flex-wrap: nowrap !important; gap: 0 !important; }
	.wp-block-columns:has(.bym-footer-titre.is-acc) > .wp-block-column { width: 100% !important; flex-basis: auto !important; }
}
/* Catégories de la bibliothèque : toutes visibles, sur plusieurs lignes */
@media (max-width: 781px) {
	.bym-lib-cats ul { flex-wrap: wrap !important; overflow: visible !important; margin-inline: 0 !important; padding-inline: 0 !important; gap: .4rem !important; }
	.bym-lib-cats ul a { font-size: .95rem !important; padding: .35rem .65rem !important; }
	.bym-scroll-wrap::after { display: none !important; }
}
/* Mobile : plus de défilement horizontal caché, tout est visible sur plusieurs lignes */
@media (max-width: 781px) {
	.bym-cat-defile .bym-cat-tuiles, .bym-cat-tuiles { grid-auto-flow: row !important; grid-template-columns: 1fr 1fr !important; grid-auto-columns: auto !important; overflow: visible !important; margin-inline: 0 !important; padding-inline: 0 !important; gap: .5rem !important; scroll-snap-type: none !important; }
	.bym-cat-defile .bym-cat-fleche, .bym-cat-defile .bym-cat-suiv { display: none !important; }
	.bym-cat-defile::after { content: none !important; }
	.bym-cat-tuile-nom { font-size: 1.15rem !important; }
	.bym-cal-mois { display: grid !important; grid-template-columns: repeat(6, 1fr); overflow: visible !important; gap: .3rem !important; }
	.bym-cal-mois > * { min-width: 0 !important; padding-inline: 0 !important; text-align: center; }
	.bym-astuces-onglets { flex-wrap: wrap !important; overflow: visible !important; margin-inline: 0 !important; padding-inline: 0 !important; }
}

/* === Retours mobile du 20/10 === */
/* Qui suis-je : la photo ne recouvre plus le texte */
@media (max-width: 781px) {
	.bym-qui .wp-block-media-text__media { position: relative !important; aspect-ratio: 4 / 5; height: auto !important; min-height: 0 !important; }
	.bym-qui .wp-block-media-text__media img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; object-position: 50% 20%; }
}
/* Pastilles : coins droits */
.bym-qui-points li { border-radius: 0 !important; }
/* Pied de page : rubriques les unes sous les autres */
@media (max-width: 781px) {
	.bym-footer-cols { grid-template-columns: 1fr !important; row-gap: 0 !important; }
	.bym-footer-cols > .wp-block-column:first-child { margin-bottom: 1.5rem; }
}
/* Atouts : apparition animée, icône qui flotte */
.bym-atout { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; transition-delay: calc(var(--n, 0) * .12s); }
.bym-atout.is-vu { opacity: 1; transform: none; }
.bym-atout.is-vu svg { animation: bym-flotte 3.2s ease-in-out infinite; animation-delay: calc(var(--n, 0) * .3s); }
@keyframes bym-flotte { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) { .bym-atout { opacity: 1; transform: none; } .bym-atout svg { animation: none !important; } }
/* Vidéos : flèche qui invite à faire glisser */
@media (max-width: 860px) {
	.bym-yt-defile { position: relative; }
	.bym-yt-defile::after { content: "→"; position: absolute; right: -.4rem; top: 40%; width: 2.6rem; height: 2.6rem; display: grid; place-items: center; background: #fff; color: #201a17; border-radius: 50%; box-shadow: 0 6px 18px rgba(0,0,0,.18); font-size: 1.1rem; pointer-events: none; transition: opacity .3s ease; animation: bym-glisse 1.6s ease-in-out infinite; }
	.bym-yt-defile.is-fin::after { opacity: 0; }
	.bym-yt-indice { display: block; text-align: center; margin: .9rem 0 0; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: #8e7f6e; }
}
@media (min-width: 861px) { .bym-yt-indice { display: none; } }

/* Bannières sur ordinateur : photo pleine largeur, plus haute pour mieux cadrer */
@media (min-width: 900px) {
	.bym-bandeau:not(.bym-bandeau--split) { height: clamp(26rem, 40vw, 38rem); }
}
/* Qui suis-je : texte resserré */
.bym-qui .wp-block-media-text__content > * { margin-block: 0 !important; }
.bym-qui .wp-block-media-text__content > * + * { margin-top: .9rem !important; }
.bym-qui .wp-block-media-text__content h2 { margin-top: .35rem !important; }
.bym-qui .wp-block-media-text__content p { line-height: 1.55; }
.bym-qui .bym-qui-chapo { line-height: 1.25; }
.bym-qui-points { margin: 1.1rem 0 !important; }
@media (max-width: 781px) { .bym-qui .wp-block-media-text__content { padding-block: 2.5rem !important; } .bym-qui .wp-block-media-text__content p { font-size: .95rem; } }
/* Menu mobile : sous-menus repliables */
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .has-child.bym-acc > .wp-block-navigation__submenu-container { display: none !important; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .has-child.bym-acc.is-open > .wp-block-navigation__submenu-container { display: flex !important; animation: bym-ev-monte .35s ease both; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .has-child.bym-acc { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; width: 100%; }
.bym-nav .wp-block-navigation__responsive-container.is-menu-open .has-child.bym-acc > .wp-block-navigation__submenu-container { flex-basis: 100%; }
.bym-sous-btn { margin-left: auto; width: 2.6rem; height: 2.6rem; border: 1px solid #e6dcce; background: none; color: #201a17; font-size: 1.3rem; font-weight: 300; line-height: 1; cursor: pointer; transition: transform .3s ease; }
.has-child.is-open > .bym-sous-btn { background: #201a17; color: #fff; border-color: #201a17; }
.bym-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .bym-sous-btn { display: none; }

/* Recherche : cartes recettes */
.bym-res { margin-block-start: 1.5rem; }
.bym-res .bym-lib-count { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #8e7f6e; margin: 0 0 .5rem; }
.bym-recherche-code { background: #f6f2ec; border-left: 3px solid #201a17; padding: .9rem 1.1rem; margin: .5rem 0 1.25rem; }
.bym-recherche-code a { color: #201a17; font-weight: 500; text-underline-offset: 3px; }
.bym-recherche-autres { font-size: 1.4rem; margin: 3rem 0 .75rem; }
.bym-recherche-liens { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.bym-recherche-liens a { color: #201a17; text-underline-offset: 3px; }

/* Accueil : bandeau unique « accompagnement » */
.bym-hero-accomp.wp-block-cover { padding: 0; }
.bym-hero-accomp .wp-block-cover__background { background: linear-gradient(90deg, rgba(32,26,23,.86) 0%, rgba(32,26,23,.62) 42%, rgba(32,26,23,.12) 100%) !important; opacity: 1 !important; }
.bym-hero-accomp .wp-block-cover__inner-container { width: 100%; max-width: 1180px !important; margin-inline: auto; padding: 4rem clamp(1.25rem, 5vw, 3rem); box-sizing: border-box; }
.bym-hero-accomp-txt { max-width: 38rem; }
.bym-hero-accomp .bym-label { color: #e6dcce; letter-spacing: .22em; margin: 0 0 1.4rem; font-size: .78rem; }
.bym-hero-accomp-titre.wp-block-heading { color: #fff; font-size: clamp(2.5rem, 5.2vw, 4.6rem); line-height: 1.02; margin: 0 0 1.5rem; }
.bym-hero-accomp-titre em { display: inline-block; margin-top: .15em; color: #e6dcce; text-transform: none; font-size: .92em; }
.bym-hero-accomp-intro { color: #f1ebe3; font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.7; max-width: 33rem; margin: 0 0 2.2rem; }
.bym-hero-accomp-btns { gap: .8rem; }
.bym-hero-accomp .bym-btn-clair .wp-block-button__link { background: #f6f2ec; color: #201a17; border: 1px solid #f6f2ec; }
.bym-hero-accomp .bym-btn-clair .wp-block-button__link:hover { background: #fff; }
.bym-hero-accomp .bym-btn-contour .wp-block-button__link { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.85); }
.bym-hero-accomp .bym-btn-contour .wp-block-button__link:hover { background: rgba(255,255,255,.12); }
.bym-manifeste .bym-manifeste-titre { font-size: clamp(2.2rem, 4.4vw, 3.6rem); }
@media (max-width: 781px) {
	.bym-hero-accomp.wp-block-cover { display: block; min-height: 0 !important; background: #201a17; padding: 0; }
	.bym-hero-accomp .wp-block-cover__image-background { position: relative !important; display: block; width: 100% !important; height: 50svh !important; object-position: 50% 82% !important; }
	.bym-hero-accomp .wp-block-cover__background { top: 0; bottom: auto; height: 50svh; background: linear-gradient(180deg, rgba(32,26,23,0) 55%, rgba(32,26,23,.95) 100%) !important; }
	.bym-hero-accomp .wp-block-cover__inner-container { position: relative; padding: .5rem 1.25rem 2.5rem; margin-top: -3.5rem; }
	.bym-hero-accomp .bym-label { font-size: .68rem; margin-bottom: 1rem; }
	.bym-hero-accomp-titre.wp-block-heading { font-size: 2.35rem; }
	.bym-hero-accomp-intro { font-size: .98rem; margin-bottom: 1.6rem; }
	.bym-hero-accomp-btns { flex-direction: column; align-items: stretch; }
	.bym-hero-accomp-btns .wp-block-button { width: 100%; }
	.bym-hero-accomp-btns .wp-block-button__link { width: 100%; text-align: center; }
}

/* Bande défilante sous le bandeau de l'accueil */
.bym-ticker { background: #e6dcce; color: #201a17; overflow: hidden; padding: .85rem 0; border-block: 1px solid rgba(32,26,23,.08); }
.bym-ticker-rail { display: flex; width: max-content; animation: bym-ticker 42s linear infinite; }
.bym-ticker:hover .bym-ticker-rail { animation-play-state: paused; }
.bym-ticker-piste { display: flex; align-items: center; flex-shrink: 0; }
.bym-ticker-item { white-space: nowrap; padding: 0 1.8rem; line-height: 1; display: inline-flex; align-items: baseline; gap: .55em; }
.bym-ticker-item b { font-family: "Carefree Serif", serif; font-weight: 400; text-transform: uppercase; font-size: clamp(1.05rem, 1.45vw, 1.3rem); letter-spacing: .06em; word-spacing: .18em; }
.bym-ticker-item i { font-family: "Cormorant Garamond", Cormorant, serif; font-style: italic; font-size: clamp(1.1rem, 1.5vw, 1.35rem); }
.bym-ticker-sep { font-size: .6rem; color: #8e7f6e; }
@keyframes bym-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .bym-ticker-rail { animation-duration: 140s; } }
@media (max-width: 781px) { .bym-ticker { padding: .7rem 0; } .bym-ticker-item { padding: 0 1.2rem; } .bym-ticker-rail { animation-duration: 28s; } }

/* Contact : WhatsApp avec indicatif */
.bym-wa-champ { margin-block: 0 1.1rem; grid-column: 1 / -1; }
.bym-form-grid > p:has(#bym_sujet) { grid-column: 1 / -1; }
.bym-wa-champ > label { display: block; }
.bym-wa-ligne { display: grid; grid-template-columns: 16rem 1fr; gap: .6rem; }
.bym-wa-ligne select, .bym-wa-ligne input { width: 100%; min-width: 0; }
.bym-wa-champ .bym-form-note { display: block; margin-top: .35rem; }
@media (max-width: 781px) { .bym-wa-ligne { grid-template-columns: 1fr; } }
