/* Ajustements WordPress ; le CSS Astro est isolé dans .fusion-editorial. */
.fusion-editorial { font-family: Inter, Arial, sans-serif; font-size: 1rem; line-height: 1.6; color: #2f241d; overflow-wrap: normal; }
.fusion-editorial img { max-width: 100%; }
.wp-site-blocks > main.fusion-editorial { max-width: none; width: 100%; margin: 0; padding: 0; }
.wp-site-blocks > header, .wp-site-blocks > footer { margin-block: 0; }
.wp-site-blocks > header:has(.fusion-header) { position: sticky; top: var(--fusion-admin-offset, 0px); z-index: 10; }
html:has(body.admin-bar) { --fusion-admin-offset: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) {
 html:has(body.admin-bar) { --fusion-admin-offset: 0px; }
}
html:has(.wp-site-blocks > header .fusion-header) {
 scroll-padding-top: max(2rem, calc(var(--fusion-header-height, 0px) + var(--fusion-admin-offset, 0px) + .5rem));
}
.fusion-editorial .motion-reveal { opacity: 1; transform: none; }
.fusion-editorial .site-header { position: static; }
.fusion-editorial .hero { margin-top: 0; }
.fusion-editorial .header-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .5rem; padding-block: .75rem; }
.fusion-editorial .brand { grid-column: 1; grid-row: 1; min-width: 0; }
.fusion-editorial .fusion-header-actions { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: .5rem; }
.fusion-editorial .fusion-account-links { display: flex; gap: .25rem; }
.fusion-editorial .fusion-account-links a { display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; color: #6b4f3a; border-radius: .4rem; }
.fusion-editorial .fusion-account-links a:hover { background: #ede2d5; }
.fusion-editorial .fusion-account-links a:focus-visible,
.fusion-editorial .nav-list a:focus-visible,
.fusion-editorial .fusion-command-link:focus-visible { outline: 2px solid #6b4f3a; outline-offset: 2px; }
.fusion-editorial .nav-list { flex-wrap: wrap; gap: .25rem .65rem; align-items: center; }
.fusion-editorial .nav-list a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: .4rem .45rem; border-radius: .4rem; }
.fusion-editorial .nav-list a:hover { background: #ede2d5; }
.fusion-editorial .fusion-command-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box; padding: .4rem .8rem; border: 1px solid #6b4f3a; border-radius: .4rem; background: #6b4f3a; color: #fffaf4; font-size: .9rem; font-weight: 600; white-space: nowrap; }
.fusion-editorial .fusion-command-link:hover { background: #503927; border-color: #503927; color: #fffaf4; }
.fusion-editorial .fusion-main-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; }
.fusion-editorial .fusion-main-nav[hidden] { display: none; }
.fusion-editorial .fusion-order-links { display: flex; flex-wrap: wrap; justify-content: center; text-align: center; gap: .5rem 1.5rem; margin-top: 1.5rem; font-size: .85rem; }
.fusion-editorial .fusion-footer-end { display: grid; justify-items: center; gap: 1.5rem; margin-top: 1.5rem; }
.fusion-editorial .fusion-footer-end .fusion-order-links,
.fusion-editorial .fusion-footer-end .footer-signoff { margin: 0; }
.fusion-editorial .fusion-footer-affiliations { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .625rem; }
.fusion-editorial .fusion-footer-affiliations img {
 display: block;
 height: 3rem;
 width: auto;
}
.fusion-editorial .fusion-geoparc-link:focus-visible { outline: 2px solid #6b4f3a; outline-offset: 4px; }
@media (min-width: 72rem) {
 .fusion-editorial .fusion-footer-end { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); column-gap: 0; }
 .fusion-editorial .fusion-footer-end .fusion-order-links { grid-area: 1 / 2; }
 .fusion-editorial .fusion-footer-end .footer-signoff { grid-area: 2 / 2; }
 .fusion-editorial .fusion-footer-affiliations { grid-area: 1 / 3 / 3; justify-self: end; align-self: center; }
}
.fusion-editorial .menu-toggle { display: none; }
.fusion-editorial.has-menu-script .menu-toggle { display: inline-flex; }
.fusion-editorial.has-menu-script .nav-list { flex-direction: column; align-items: stretch; }
.fusion-editorial .footer-avatar { width: 10rem; }
@media (min-width: 75rem) {
 html:has(.wp-site-blocks > header .fusion-header) { --fusion-header-height: 7rem; }
 .fusion-editorial .header-inner { grid-template-columns: auto minmax(0, 1fr) auto; column-gap: .75rem; }
 .fusion-editorial .brand { grid-column: 1; }
 .fusion-editorial .fusion-main-nav { grid-column: 2; grid-row: 1; }
 .fusion-editorial .fusion-header-actions { grid-column: 3; grid-row: 1; }
 .fusion-editorial .fusion-main-nav .nav-list { flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: .25rem; }
 .fusion-editorial .fusion-main-nav .nav-list a { padding-inline: .35rem; white-space: nowrap; }
 .fusion-editorial.has-menu-script .menu-toggle { display: none; }
}
@media (width < 75rem) {
 /* Sans script, le menu ouvert reste dans le flux, même en fenêtre basse. */
 .wp-site-blocks > header:has(.fusion-header:not(.has-menu-script)) { position: static; }
 .fusion-header.has-menu-script .header-inner[data-menu-state="open"] {
  box-sizing: border-box;
  grid-template-rows: auto minmax(0, 1fr);
  max-block-size: calc(100dvh - var(--fusion-admin-offset, 0px) - 1px);
 }
 .fusion-header.has-menu-script [data-menu-state="open"] .fusion-main-nav {
  box-sizing: border-box;
  align-self: stretch;
  min-block-size: 0;
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scroll-padding-block: 6px;
 }
 @media (prefers-reduced-motion: no-preference) {
  .fusion-header.has-menu-script [data-menu-state="open"] .fusion-main-nav {
   animation: mobile-menu-in 180ms ease-out;
  }
 }
 @media (prefers-reduced-motion: reduce) {
  .fusion-header .menu-toggle-box path { transition: none; }
 }
}
@media (max-width: 999px) {
 /* Le volet ouvert passe devant le résumé de panier fixé en bas. */
 .wp-site-blocks > header:has(.fusion-header [data-menu-state="open"]) { z-index: 91; }
}
@media (max-width: 47.99rem) {
 .fusion-editorial .header-inner { width: calc(100% - 1rem); gap: .25rem; }
 .fusion-editorial .brand { gap: .5rem; }
 .fusion-editorial .brand-logo { width: 6rem; height: auto; flex-shrink: 0; }
 .fusion-editorial .brand-tagline { font-size: .8rem; }
 .fusion-editorial .fusion-header-actions { gap: .25rem; }
 .fusion-editorial .fusion-account-links { gap: 0; }
 .fusion-editorial .fusion-command-link { font-size: .85rem; padding-inline: .5rem; }
 .fusion-editorial .menu-toggle { width: 44px; height: 44px; }
}
@media (max-width: 379.99px) {
 .fusion-editorial .brand-logo { width: 5rem; }
}
@media (max-width: 359.99px) {
 .fusion-editorial .header-inner { width: calc(100% - .75rem); gap: .125rem; }
 .fusion-editorial .fusion-command-link { font-size: .8125rem; padding-inline: .35rem; }
 .fusion-editorial .fusion-header-actions { gap: .125rem; }
}
@media (max-width: 349.99px) {
 .fusion-editorial .brand-logo { width: 4rem; }
}
.fusion-editorial .menu-toggle-box { display: block; width: 24px; height: 24px; }
.fusion-editorial .menu-toggle-box path { transition: transform .2s ease, opacity .2s ease; }
.fusion-editorial .menu-toggle-box path:first-child { transform-origin: 12px 4px; }
.fusion-editorial .menu-toggle-box path:last-child { transform-origin: 12px 20px; }
.fusion-editorial [data-menu-state="open"] .menu-toggle-box { shape-rendering: auto; }
.fusion-editorial [data-menu-state="open"] .menu-toggle-box path:first-child { transform: translateY(8px) rotate(45deg); }
.fusion-editorial [data-menu-state="open"] .menu-toggle-box path:nth-child(2) { opacity: 0; }
.fusion-editorial [data-menu-state="open"] .menu-toggle-box path:last-child { transform: translateY(-8px) rotate(-45deg); }
/* Six cartes de gamme de l'accueil : une seule cible sémantique par carte. */
.fusion-editorial .home-tasting__card-link { display: flex; flex-direction: column; height: 100%; border-radius: inherit; color: inherit; text-decoration: none; }
.fusion-editorial .home-tasting__card-link:hover { background: #fff5e8; }
.fusion-editorial .home-tasting__card-link:hover h3 { color: #6b4f3a; }
.fusion-editorial .home-tasting__card-link:focus-visible { outline: 3px solid #6b4f3a; outline-offset: -4px; }
/* Lien de fiche étendu à la carte ; les liens du descriptif restent indépendants. */
.fusion-editorial .painlibre-range-card { position: relative; }
.fusion-editorial .painlibre-range-card .product-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--radius); }
.fusion-editorial .painlibre-range-card .product-card__link:focus-visible { outline: none; }
.fusion-editorial .painlibre-range-card .product-card__link:focus-visible::after { outline: 3px solid #6b4f3a; outline-offset: -4px; }
.fusion-editorial .painlibre-range-card .product-card__content a:not(.product-card__link) { position: relative; z-index: 2; }

/* Repères communs de commande et lieux physiques, F-D-084. */
.painlibre-online-pickup { grid-column: 1 / -1; margin-top: 1.5rem; }
.painlibre-online-pickup__links { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.painlibre-online-pickup .painlibre-pickup-places { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem 2rem; padding-left: 1.25rem; }
.painlibre-online-pickup .painlibre-pickup-places p { margin: .35rem 0 0; }
#retraits-commandes .painlibre-pickup-places > li > strong { font-size: 1.125rem; }
.painlibre-home-modes .painlibre-shared-pickup-lines > span { display: block; }
.fusion-editorial .painlibre-location-hours { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.fusion-editorial .painlibre-location-hours > p { min-width: 0; margin: 0; }
.fusion-editorial .painlibre-bakery-method__row { align-items: start; }
.fusion-editorial .painlibre-guiding-values { margin-top: 2rem; }
.fusion-editorial .painlibre-guiding-values .feature-list--guiding-values { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem 2rem; }
.fusion-editorial .painlibre-guiding-values .feature-list--guiding-values > li { margin: 0; min-width: 0; }
@media (min-width: 63rem) {
 .painlibre-online-pickup .painlibre-pickup-places { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .fusion-editorial .painlibre-guiding-values .feature-list--guiding-values { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 30rem) {
 .page-id-2613 .fusion-editorial .reservation-card__title { flex-wrap: wrap; }
 .page-id-2613 .fusion-editorial .reservation-card__title-icon { width: 5rem; height: 5rem; }
 .page-id-2613 .fusion-editorial .reservation-card__title > span { min-width: 0; overflow-wrap: break-word; }
}

/* F-D-085 : alléger les repères et améliorer leur lecture. */
.painlibre-home-modes .painlibre-shared-pickup-lines > span + span { margin-top: .75rem; }
.fusion-editorial .section.painlibre-reservation-section { padding-top: 1rem; padding-bottom: 1.5rem; }
.fusion-editorial .painlibre-reservation-section .reservation-card__title { margin-top: 0; margin-bottom: .5rem; }
.fusion-editorial .painlibre-reservation-section .reservation-card__title-icon { max-width: 6rem; max-height: 6rem; }
.fusion-editorial .painlibre-reservation-section .card > p:last-child { margin-bottom: 0; }
.page-id-2613 .fusion-editorial .section.contact-page-cards { padding-top: 1.5rem; }
.fusion-editorial .painlibre-contact-card > p:last-child { margin-bottom: 0; }
.fusion-editorial .painlibre-guiding-values .feature-list--guiding-values > li { grid-template-columns: 3rem minmax(0, 1fr); font-size: 1.15rem; }
.fusion-editorial .painlibre-guiding-values .feature-list__icon { width: 3rem; height: 3rem; }
.fusion-editorial .painlibre-guiding-values .feature-list__icon svg { width: 1.65rem; height: 1.65rem; }
.page-id-2612 .fusion-editorial .section-soft + .section { padding-top: 2.5rem; }

@media (prefers-reduced-motion: no-preference) {
 .fusion-editorial .home-motion-pending:not(:focus-within) { opacity: 0; }
}
