/* ============================================================================
   THÈME ACCORDION — VARIANTE HERBIER / PLANCHE BOTANIQUE  (Yngredient)
   ----------------------------------------------------------------------------
   Surcharge claire, éditoriale, inspirée d'une planche d'herbier / fiche de
   dégustation. Chargée APRÈS accordion.css, et SCOPÉE à la classe body
   .theme-accordion--herbier : l'accordéon sombre classique et la variante crème
   ne sont donc jamais affectés. Le thème herbier réutilise 100% du CSS
   structurel + du JS accordion. Ne modifie aucune structure HTML ni aucun JS :
   uniquement l'habillage couleur + typographie.

   Palette :
     papier      #fdfbf6   fond principal
     carte       #f5f3ef   surfaces (sections, cartes)
     olive       #464c3a   titres / accent principal
     olive-soft  #6b6f60   sous-titres, corps secondaire
     brique      #7a5348   accent chaud, labels mono
     brique-soft #9a7568
     or          #c9a96e   filets, surlignage, focus
     ligne       #e2ded2 / #d3cec0   bordures
     encre       #3a3d33   texte principal
     muted       #83836f   texte discret

   Typographie :
     display  Fraunces (titres — serif éditorial)
     body     Inter (corps)
     mono     IBM Plex Mono (numéros, kickers, labels)
   Les fontes sont chargées via <link> conditionnel dans carte.php.
   ============================================================================ */

body.theme-accordion.theme-accordion--herbier {
    background: var(--hb-paper, #fdfbf6);
    color: #3a3d33;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    /* léger grain de papier via double dégradé très discret */
    background-image:
        radial-gradient(1200px 800px at 15% -10%, rgba(201,169,110,.06), transparent 60%),
        radial-gradient(900px 700px at 100% 0%, rgba(122,83,72,.04), transparent 55%);
    background-attachment: fixed;
}

.theme-accordion--herbier {
    --hb-paper:#fdfbf6;
    --hb-card:#f5f3ef;
    --hb-olive:#464c3a;
    --hb-olive-soft:#6b6f60;
    --hb-brick:#7a5348;
    --hb-brick-soft:#9a7568;
    --hb-gold:#c9a96e;
    --hb-line:#e2ded2;
    --hb-line-strong:#d3cec0;
    --hb-ink:#3a3d33;
    --hb-muted:#83836f;
    --hb-taupe:#cac6b3;
    --hb-display:'Fraunces', Georgia, serif;
    --hb-body:'Inter', system-ui, -apple-system, sans-serif;
    --hb-mono:'IBM Plex Mono', ui-monospace, monospace;
}

/* En-tête principal ---------------------------------------------------------- */
.theme-accordion--herbier .acc-header h1,
.theme-accordion--herbier .acc-page-name {
    font-family: var(--hb-display);
    color: var(--hb-olive);
    text-shadow: none;
    font-weight: 340;
    letter-spacing: -.01em;
}
.theme-accordion--herbier .acc-header .acc-subtitle {
    font-family: var(--hb-mono);
    color: var(--hb-brick);
    font-size: .72rem;
    letter-spacing: .16em;
    text-transform: uppercase;
}
/* Filet or sous le titre, signature « planche » */
.theme-accordion--herbier .acc-page-header::after {
    content: '';
    display: block;
    width: 78px; height: 2px;
    margin: 1rem auto 0;
    background: var(--hb-gold);
}

/* Barre de recherche (sticky) ----------------------------------------------- */
.theme-accordion--herbier .acc-search-bar {
    background: rgba(253,251,246,.86);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--hb-line);
}
.theme-accordion--herbier .acc-search-input,
.theme-accordion--herbier .acc-quick-nav select {
    background: #fff;
    border: 1px solid var(--hb-line-strong);
    border-radius: 12px;
    color: var(--hb-ink);
    font-family: var(--hb-body, 'Inter', sans-serif);
    box-shadow: 0 1px 2px rgba(70,60,40,.04);
}
.theme-accordion--herbier .acc-search-input::placeholder { color: var(--hb-muted); }
.theme-accordion--herbier .acc-search-input:focus,
.theme-accordion--herbier .acc-quick-nav select:focus {
    border-color: var(--hb-gold);
    background: #fffdf8;
    box-shadow: 0 0 0 3px rgba(201,169,110,.16);
}
.theme-accordion--herbier .acc-quick-nav select {
    font-family: var(--hb-mono);
    font-size: .82rem;
    letter-spacing: .02em;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='8'%3E%3Cpath%20d='M1%201l5%205%205-5'%20stroke='%23c9a96e'%20stroke-width='1.5'%20fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 12px 8px;
}
.theme-accordion--herbier .acc-quick-nav select option { background: #fffdf8; color: var(--hb-ink); }
.theme-accordion--herbier .acc-quick-nav select option:checked,
.theme-accordion--herbier .acc-quick-nav select option:hover { background: var(--hb-olive); color: var(--hb-paper); }

/* Sections (planches) -------------------------------------------------------- */
.theme-accordion--herbier .acc-section {
    background: var(--hb-card);
    border: 1px solid var(--hb-line);
    border-radius: 18px;
    box-shadow: 0 16px 34px -26px rgba(70,60,40,.35);
    margin-bottom: 1rem;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.theme-accordion--herbier .acc-section:hover {
    border-color: var(--hb-line-strong);
}
.theme-accordion--herbier .acc-section-header {
    background: transparent;
}
.theme-accordion--herbier .acc-section-header:hover {
    background: rgba(201,169,110,.06);
}
.theme-accordion--herbier .acc-section-header h2 {
    font-family: var(--hb-display);
    color: var(--hb-olive);
    font-weight: 440;
    letter-spacing: -.01em;
}
/* Numérotation mono discrète type « axe 01 » devant chaque section */
.theme-accordion--herbier .acc-section-header::after {
    color: var(--hb-brick);
    font-family: var(--hb-mono);
    font-weight: 400;
}
.theme-accordion--herbier .acc-section.acc-highlight { animation: accFlashHerbier 1.6s ease; }
@keyframes accFlashHerbier {
    0%,100% { box-shadow: 0 16px 34px -26px rgba(70,60,40,.35); }
    30%,60% { box-shadow: 0 0 26px rgba(201,169,110,.5); }
}
.theme-accordion--herbier .acc-section-description {
    font-family: var(--hb-display);
    font-style: italic;
    color: var(--hb-olive-soft);
    border-left: 2px solid var(--hb-gold);
    background: rgba(201,169,110,.06);
}

/* Sous-sections -------------------------------------------------------------- */
.theme-accordion--herbier .acc-subsection {
    background: #f2efe6;
    border: 1px solid var(--hb-line-strong);
    border-radius: 12px;
}
.theme-accordion--herbier .acc-subsection-header { background: transparent; }
.theme-accordion--herbier .acc-subsection-header:hover { background: rgba(122,83,72,.05); }
.theme-accordion--herbier .acc-subsection-header h3 {
    font-family: var(--hb-display);
    color: var(--hb-brick);
    font-weight: 440;
}
.theme-accordion--herbier .acc-subsection-header::after { color: var(--hb-brick-soft); }

/* Items ---------------------------------------------------------------------- */
.theme-accordion--herbier .acc-item { border-bottom: 1px solid var(--hb-line); }
.theme-accordion--herbier .acc-item-title {
    font-family: var(--hb-display);
    font-weight: 440;
    color: var(--hb-ink);
}
.theme-accordion--herbier .acc-item-subtitle {
    color: var(--hb-olive-soft);
    font-style: normal;
}
.theme-accordion--herbier .acc-item-price {
    font-family: var(--hb-mono);
    font-weight: 500;
    color: var(--hb-brick);
    letter-spacing: -.01em;
}
.theme-accordion--herbier .acc-item-thumb {
    border: 1px solid var(--hb-line-strong);
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(70,60,40,.12);
}
.theme-accordion--herbier .acc-item-thumb:hover { border-color: var(--hb-gold); }

/* Variantes (tableau de volumes) -------------------------------------------- */
.theme-accordion--herbier .acc-variant-row {
    background: rgba(201,169,110,.07);
    border-left: 2px solid rgba(201,169,110,.5);
    border-radius: 8px;
}
.theme-accordion--herbier .acc-variant-volume { font-family: var(--hb-mono); color: var(--hb-olive-soft); font-size: .82rem; }
.theme-accordion--herbier .acc-variant-price { font-family: var(--hb-mono); color: var(--hb-brick); }

/* Détail item ---------------------------------------------------------------- */
.theme-accordion--herbier .acc-item.acc-detail-open .acc-item-detail {
    border-top: 1px dashed var(--hb-line-strong);
}
.theme-accordion--herbier .acc-item-detail-img { border: 1px solid var(--hb-line-strong); border-radius: 10px; }
.theme-accordion--herbier .acc-item-detail-info strong { color: var(--hb-brick); }
.theme-accordion--herbier .acc-item-detail-meta { font-family: var(--hb-mono); color: var(--hb-muted); font-size: .78rem; letter-spacing: .02em; }
.theme-accordion--herbier .acc-item-detail-meta span::before { color: var(--hb-gold); }

/* Recherche : surlignage + aucun résultat ----------------------------------- */
.theme-accordion--herbier mark { background: rgba(201,169,110,.35); color: inherit; }
.theme-accordion--herbier .acc-no-results,
.theme-accordion--herbier .acc-loading {
    font-family: var(--hb-display);
    font-style: italic;
    color: var(--hb-olive-soft);
}

/* Bouton Infos + panneau ---------------------------------------------------- */
.theme-accordion--herbier .acc-info-button {
    background: var(--hb-olive);
    border: 1px solid var(--hb-olive);
    color: var(--hb-paper);
    border-radius: 999px;
}
.theme-accordion--herbier .acc-info-button:hover {
    background: #363b2c;
    border-color: #363b2c;
}
.theme-accordion--herbier .acc-info-button::before { color: var(--hb-gold); }
.theme-accordion--herbier .acc-info-panel {
    background: var(--hb-paper);
    border-left: 1px solid var(--hb-line-strong);
    box-shadow: -2px 0 30px rgba(70,60,40,.18);
    color: var(--hb-ink);
}
.theme-accordion--herbier .acc-info-panel-close { color: var(--hb-brick); }
.theme-accordion--herbier .acc-restaurant-info h2,
.theme-accordion--herbier .acc-info-section h3 {
    font-family: var(--hb-display);
    color: var(--hb-olive);
    font-weight: 440;
}
.theme-accordion--herbier .acc-info-section p { color: var(--hb-olive-soft); }
.theme-accordion--herbier .acc-info-section a { color: var(--hb-brick); }
.theme-accordion--herbier .acc-hours-table tr { border-bottom: 1px solid var(--hb-line); }
.theme-accordion--herbier .acc-hours-table td { font-family: var(--hb-mono); color: var(--hb-olive-soft); font-size: .82rem; }
.theme-accordion--herbier .acc-hours-table td:last-child { color: var(--hb-ink); }
.theme-accordion--herbier .acc-social-links a {
    color: var(--hb-brick);
    border: 1px solid var(--hb-line-strong);
    border-radius: 999px;
}
.theme-accordion--herbier .acc-social-links a:hover {
    background: rgba(201,169,110,.14);
    border-color: var(--hb-gold);
}

/* Retour en haut ------------------------------------------------------------- */
.theme-accordion--herbier .acc-back-to-top {
    background: var(--hb-olive);
    color: var(--hb-paper);
    box-shadow: 0 4px 14px rgba(70,60,40,.28);
}
.theme-accordion--herbier .acc-back-to-top:hover { background: #363b2c; }

/* Footer --------------------------------------------------------------------- */
.theme-accordion--herbier .acc-footer {
    border-top: 1px solid var(--hb-line);
    color: var(--hb-muted);
    font-family: var(--hb-mono);
    font-size: .78rem;
    letter-spacing: .02em;
}

/* Mode tableau --------------------------------------------------------------- */
.theme-accordion--herbier .acc-section-variants-table thead th {
    font-family: var(--hb-mono);
    color: var(--hb-brick);
}
.theme-accordion--herbier .acc-section-variants-table tbody td { font-variant-numeric: tabular-nums; }
.theme-accordion--herbier .acc-section-variants-table tbody td.acc-vt-price { font-family: var(--hb-mono); }
.theme-accordion--herbier .acc-section-variants-table tbody td.acc-vt-empty { color: rgba(58,61,51,.25); }

/* ============================================================================
   COMPLÉMENTS — fenêtre contact, modal image, popups toast
   (mêmes cibles que la variante crème, adaptées à la palette herbier)
   ============================================================================ */

/* --- Fenêtre contact (#yrFab + .yr-modal) --- */
.theme-accordion--herbier #yrFab { background: var(--hb-olive); color: var(--hb-paper); }
.theme-accordion--herbier #yrFab:hover { box-shadow: 0 10px 30px rgba(70,60,40,0.32); }
.theme-accordion--herbier .yr-modal {
    background: var(--hb-paper);
    color: var(--hb-ink);
    border-color: var(--hb-line-strong);
}
.theme-accordion--herbier .yr-modal h2 { font-family: var(--hb-display); color: var(--hb-olive); }
.theme-accordion--herbier .yr-sub { color: var(--hb-muted); }
.theme-accordion--herbier .yr-field label { color: var(--hb-olive-soft); }
.theme-accordion--herbier .yr-field input,
.theme-accordion--herbier .yr-field textarea {
    background: #fffdf8;
    border: 1px solid var(--hb-line-strong);
    color: var(--hb-ink);
}
.theme-accordion--herbier .yr-field input:focus,
.theme-accordion--herbier .yr-field textarea:focus { border-color: var(--hb-gold); }
.theme-accordion--herbier .yr-close { color: var(--hb-muted); }
.theme-accordion--herbier .yr-close:hover { color: var(--hb-brick); }
.theme-accordion--herbier .yr-status--error { color: #b0563f; }
.theme-accordion--herbier .yr-status--success { color: #55765a; }
.theme-accordion--herbier #yrSubmit { background: var(--hb-olive); color: var(--hb-paper); }

/* Switch réservation */
.theme-accordion--herbier .yr-switch-slider { background: var(--hb-taupe, #cac6b3); }
.theme-accordion--herbier .yr-switch input:checked + .yr-switch-slider { background: var(--hb-olive); }
.theme-accordion--herbier .yr-resa-label { color: var(--hb-olive); }

/* Téléphone */
.theme-accordion--herbier .yr-phone { color: var(--hb-olive); }
.theme-accordion--herbier .yr-phone strong { color: var(--hb-olive); }

/* --- Modal image --- */
.theme-accordion--herbier .img-modal-overlay { background: rgba(58,61,51,0.5); }
.theme-accordion--herbier .img-modal-inner img {
    box-shadow: 0 24px 80px rgba(58,61,51,0.32), 0 0 0 1px rgba(201,169,110,0.3);
}
.theme-accordion--herbier .img-modal-name { font-family: var(--hb-display); color: var(--hb-brick); }
.theme-accordion--herbier .img-modal-close {
    background: #fffdf8;
    border: 1px solid var(--hb-line-strong);
    color: var(--hb-brick);
    box-shadow: 0 4px 14px rgba(58,61,51,0.22);
}
.theme-accordion--herbier .img-modal-close:hover {
    background: var(--hb-olive);
    color: var(--hb-paper);
    border-color: var(--hb-olive);
}

/* --- Popups toast --- */
.theme-accordion--herbier .popup {
    background: linear-gradient(135deg, #fffdf8, var(--hb-card));
    border: 1px solid var(--hb-line-strong);
    border-left-width: 4px;
    color: var(--hb-ink);
    box-shadow: 0 8px 30px rgba(58,61,51,0.16);
}
.theme-accordion--herbier .popup-title { font-family: var(--hb-display); color: var(--hb-brick); }
.theme-accordion--herbier .popup-message { color: var(--hb-olive-soft); }
.theme-accordion--herbier .popup-close { color: var(--hb-muted); }
