/* ══════════════════════════════════════════════════════════
   Carte Restaurant — frontend
   Toutes les couleurs, polices et tailles viennent des variables
   --rc-* générées par l'onglet Style (inline dans le <head>).
   Les valeurs après la virgule sont des secours si la variable manque.
══════════════════════════════════════════════════════════ */

.rc-wrap {
    --rc-bw: calc(var(--rc-border-width, 1px));
    font-family: var(--rc-font-body, inherit);
    font-size: var(--rc-text-size, 13px);
    color: var(--rc-body, #6a5a4a);
    max-width: var(--rc-max-width, 860px);
    margin: 0 auto;
    line-height: 1.5;
    box-sizing: border-box;
}
.rc-wrap *, .rc-wrap *::before, .rc-wrap *::after { box-sizing: border-box; }
.rc-wrap .rc-is-hidden { display: none !important; }
.rc-wrap [hidden] { display: none !important; }

/* ── Remise à zéro des boutons (les thèmes stylent souvent tous les <button>) ── */
.rc-wrap button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: auto;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-shadow: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    background-image: none !important;
    font-family: var(--rc-font-body, inherit) !important;
    line-height: 1.4 !important;
    cursor: pointer;
}
.rc-wrap button:focus-visible,
.rc-wrap [role="option"]:focus-visible {
    outline: 2px solid var(--rc-primary, #424b3d) !important;
    outline-offset: 2px;
}

/* ══ BARRE DE NAVIGATION (dropdown unique) ══ */
.rc-toolbar {
    display: flex;
    justify-content: center;
    margin-bottom: 1.6rem;
    position: relative;
    z-index: 50;
}

.rc-dd { position: relative; display: inline-block; min-width: 260px; }

.rc-wrap .rc-dd-btn {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: var(--rc-text-size, 13px) !important;
    font-weight: 500 !important;
    color: var(--rc-primary, #424b3d) !important;
    background-color: var(--rc-card-bg, #fff) !important;
    border: 1.5px solid var(--rc-primary, #424b3d) !important;
    border-radius: var(--rc-radius-btn, 30px) !important;
    padding: 8px 20px !important;
    text-align: left;
    transition: background-color .2s;
}
.rc-wrap .rc-dd-btn:hover,
.rc-wrap .rc-dd-btn:focus { background-color: var(--rc-hover, #f3f4f1) !important; color: var(--rc-primary, #424b3d) !important; }

.rc-chevron { flex-shrink: 0; transition: transform .2s; }
.rc-dd-btn[aria-expanded="true"] .rc-chevron,
.rc-chip[aria-expanded="true"] .rc-chevron { transform: rotate(180deg); }

.rc-dd-list,
.rc-mdd-list {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: var(--rc-card-bg, #fff);
    border: 1.5px solid var(--rc-border, #e8dfd2);
    border-radius: min(12px, calc(var(--rc-radius-card, 10px) + 2px));
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
    /* thème sombre : voir .rc-theme-dark ci-dessous */
    z-index: 9999;
    padding: 6px 0;
    max-height: 360px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0;
}

.rc-dd-item,
.rc-mdd-item {
    display: block;
    font-size: var(--rc-text-size, 13px);
    font-weight: 500;
    color: var(--rc-primary, #424b3d);
    padding: 9px 18px;
    cursor: pointer;
    line-height: 1.4;
    margin: 0;
    text-align: left;
    user-select: none;
}
.rc-dd-item:hover,
.rc-mdd-item:hover { background: var(--rc-hover, #f3f4f1); }
.rc-dd-item.is-active { background: var(--rc-primary, #424b3d); color: var(--rc-on-primary, #fff); }
.rc-dd-item.rc-dd-sep { border-top: 1px solid var(--rc-border, #e8dfd2); margin-top: 4px; padding-top: 11px; }

/* ── Bouton PDF allergènes ── */
.rc-pdf-bar { display: flex; justify-content: center; margin: -0.8rem 0 1.6rem; }
.rc-wrap .rc-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--rc-text-size, 13px);
    font-weight: 500;
    color: var(--rc-on-primary, #fff) !important;
    background: var(--rc-primary, #424b3d);
    border: 1.5px solid var(--rc-primary, #424b3d);
    border-radius: var(--rc-radius-btn, 30px);
    padding: 8px 20px;
    text-decoration: none !important;
    line-height: 1.4;
    transition: opacity .2s;
}
.rc-wrap .rc-pdf-btn:hover { opacity: .88; }

/* [carte_pdf] : boutons autonomes, placés n'importe où sur le site */
.rc-wrap.rc-pdf-standalone { max-width: none; margin: 1rem 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.rc-wrap.rc-pdf-left  { justify-content: flex-start; }
.rc-wrap.rc-pdf-right { justify-content: flex-end; }
.rc-wrap .rc-pdf-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--rc-primary, #424b3d) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.rc-wrap .rc-pdf-link:hover { opacity: .8; }

/* ══ SECTIONS ══ */
.rc-section { margin-bottom: 2.2rem; }
.rc-wrap .rc-section-title {
    font-family: var(--rc-font-title, inherit);
    font-size: var(--rc-title-size, 32px);
    font-weight: var(--rc-title-weight, 700);
    text-transform: var(--rc-title-transform, uppercase);
    color: var(--rc-title, #1d1d1d);
    border-bottom: 2px solid var(--rc-border, #e8dfd2);
    padding: 0 0 7px;
    margin: 0 0 12px;
    line-height: 1.2;
    letter-spacing: normal;
}
.rc-view-single .rc-section-title { display: none; }
.rc-wrap .rc-section-desc {
    font-size: var(--rc-text-size, 13px);
    color: var(--rc-muted, #9a8878);
    font-style: italic;
    margin: -4px 0 14px;
    line-height: 1.6;
}

/* ══ ÉLÉMENTS (plats, boissons) ══ */
.rc-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: var(--rc-card-bg, #fff);
    border: var(--rc-bw) solid var(--rc-border, #e8dfd2);
    border-radius: var(--rc-radius-card, 10px);
    padding: 14px 16px;
    margin-bottom: 8px;
    transition: border-color .2s;
}
.rc-item:hover { border-color: var(--rc-border-hover, #c8b89a); }
.rc-item-main { flex: 1; min-width: 0; }

.rc-name-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; margin-bottom: 4px; }
.rc-name {
    font-size: var(--rc-name-size, 15px);
    font-weight: 700;
    color: var(--rc-name, #2c1f0e);
    line-height: 1.35;
}
.rc-wrap .rc-desc {
    font-size: var(--rc-text-size, 13px);
    color: var(--rc-body, #6a5a4a);
    margin: 3px 0 6px;
    line-height: 1.6;
}
.rc-wrap .rc-meta {
    font-size: calc(var(--rc-text-size, 13px) - 1px);
    color: var(--rc-muted, #9a8878);
    margin: 0;
    line-height: 1.5;
}

/* Badges */
.rc-badges { display: inline-flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.rc-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    padding: 2px 9px;
    border-radius: 20px;
    white-space: nowrap;
    line-height: 1.5;
}
.rc-badge--vege    { background: var(--rc-b-vege-bg, #eaf3de);    color: var(--rc-b-vege-fg, #27500a); }
.rc-badge--typique { background: var(--rc-b-typique-bg, #faeeda); color: var(--rc-b-typique-fg, #633806); }
.rc-badge--bio     { background: var(--rc-b-bio-bg, #eaf3de);     color: var(--rc-b-bio-fg, #27500a); }
.rc-badge--sa      { background: var(--rc-b-sa-bg, #faeeda);      color: var(--rc-b-sa-fg, #633806); }
.rc-badge--mil     { background: var(--rc-b-mil-bg, #f5f0ea);     color: var(--rc-b-mil-fg, #7a5c38); }
.rc-badge--alg     { background: var(--rc-b-alg-bg, #fcebeb);     color: var(--rc-b-alg-fg, #a32d2d); padding: 1px 8px; }

/* Recette dépliable */
.rc-wrap .rc-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: transparent !important;
    border: 1px solid var(--rc-border-hover, #c8b89a) !important;
    border-radius: min(6px, var(--rc-radius-btn, 30px)) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--rc-body, #6a5a4a) !important;
    padding: 4px 12px !important;
    margin: 0 0 8px !important;
    transition: background-color .2s;
}
.rc-wrap .rc-toggle:hover { background: var(--rc-accent-bg, #fdf7ef) !important; }
.rc-toggle[aria-expanded="true"] .rc-chevron { transform: rotate(180deg); }
.rc-detail {
    background: var(--rc-accent-bg, #fdf7ef);
    border-left: 3px solid var(--rc-accent, #d0a060);
    border-radius: 0 6px 6px 0;
    padding: 10px 14px;
    font-size: 12px;
    color: var(--rc-body, #6a5a4a);
    line-height: 1.7;
    margin-bottom: 8px;
}

/* Allergènes */
.rc-algs { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 6px; }
.rc-algs-label { font-size: 11px; color: var(--rc-muted, #9a8878); }

/* Colonne prix */
.rc-price-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex-shrink: 0;
    min-width: 80px;
    margin-top: 2px;
    text-align: right;
}
.rc-price-line { display: flex; align-items: baseline; justify-content: flex-end; gap: 8px; }
.rc-size { font-size: 12px; color: var(--rc-muted, #9a8878); white-space: nowrap; }
.rc-price {
    font-size: var(--rc-name-size, 15px);
    font-weight: 700;
    color: var(--rc-price, #2c1f0e);
    white-space: nowrap;
}

/* ══ FORMULES ══ */
.rc-formule {
    background: var(--rc-card-bg, #fff);
    border: calc(var(--rc-bw) + 1px) solid var(--rc-border, #e8dfd2);
    border-radius: calc(var(--rc-radius-card, 10px) + 2px);
    padding: 20px 22px;
    margin-bottom: 16px;
}
.rc-formule-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1.5px solid var(--rc-accent, #d0a060);
}
.rc-formule-name {
    font-family: var(--rc-font-title, inherit);
    font-size: calc(var(--rc-title-size, 32px) * .8);
    font-weight: var(--rc-title-weight, 700);
    color: var(--rc-name, #2c1f0e);
    line-height: 1.2;
}
.rc-formule-desc { font-size: var(--rc-text-size, 13px); color: var(--rc-muted, #9a8878); margin-top: 4px; font-style: italic; }
.rc-formule-price { font-size: var(--rc-name-size, 15px); font-weight: 700; color: var(--rc-price, #2c1f0e); white-space: nowrap; flex-shrink: 0; }
.rc-formule-section { margin-bottom: 14px; }
.rc-formule-section:last-child { margin-bottom: 0; }
.rc-formule-section-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--rc-primary, #424b3d);
    margin-bottom: 6px;
}
.rc-wrap .rc-formule-choices {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rc-wrap .rc-formule-choices li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 0 14px !important;
    position: relative;
    font-size: var(--rc-text-size, 13px);
    color: var(--rc-body, #6a5a4a);
    line-height: 1.5;
    background: none !important;
}
.rc-wrap .rc-formule-choices li::marker { content: ""; }
.rc-wrap .rc-formule-choices li::before {
    content: "·";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--rc-primary, #424b3d);
    font-weight: 700;
}

/* ══ VINS — filtres ══ */
.rc-filters { margin-bottom: 1.2rem; position: relative; z-index: 50; }
.rc-filters-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: .7rem; }
.rc-mdd { position: relative; }
.rc-mdd-list { right: auto; min-width: 220px; }
.rc-mdd-item { display: flex; align-items: center; gap: 9px; white-space: nowrap; padding: 8px 16px; }

.rc-wrap .rc-chip {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    font-size: var(--rc-text-size, 13px) !important;
    font-weight: 500 !important;
    color: var(--rc-primary, #424b3d) !important;
    background: var(--rc-card-bg, #fff) !important;
    border: 1.5px solid var(--rc-primary, #424b3d) !important;
    border-radius: var(--rc-radius-btn, 30px) !important;
    padding: 7px 16px !important;
    white-space: nowrap;
    transition: background-color .15s;
}
.rc-wrap .rc-chip:hover { background: var(--rc-hover, #f3f4f1) !important; }
.rc-wrap .rc-chip.has-value,
.rc-wrap .rc-chip[aria-pressed="true"] {
    background: var(--rc-primary, #424b3d) !important;
    color: var(--rc-on-primary, #fff) !important;
}
.rc-wrap .rc-chip--bio { border-color: var(--rc-b-bio-fg, #27500a) !important; color: var(--rc-b-bio-fg, #27500a) !important; }
.rc-wrap .rc-chip--bio:hover { background: var(--rc-b-bio-bg, #eaf3de) !important; }
.rc-wrap .rc-chip--bio[aria-pressed="true"] { background: var(--rc-b-bio-fg, #27500a) !important; color: #fff !important; }

.rc-check {
    width: 15px;
    height: 15px;
    border-radius: 3px;
    border: 1.5px solid var(--rc-border-hover, #c8b89a);
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.rc-mdd-item[aria-selected="true"] .rc-check { background: var(--rc-primary, #424b3d); border-color: var(--rc-primary, #424b3d); }
.rc-mdd-item[aria-selected="true"] .rc-check::after {
    content: "";
    width: 7px;
    height: 4px;
    border-left: 1.6px solid var(--rc-on-primary, #fff);
    border-bottom: 1.6px solid var(--rc-on-primary, #fff);
    transform: rotate(-45deg) translate(1px, -1px);
}

.rc-tags { display: flex; flex-wrap: wrap; gap: 6px; min-height: 4px; }
.rc-wrap .rc-tag,
.rc-wrap .rc-clear {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    font-size: 11px !important;
    font-weight: 500 !important;
    padding: 3px 10px 3px 12px !important;
    border-radius: 20px !important;
    background: var(--rc-hover, #f3f4f1) !important;
    border: 1px solid var(--rc-border, #e8dfd2) !important;
    color: var(--rc-primary, #424b3d) !important;
}
.rc-wrap .rc-clear { background: transparent !important; color: var(--rc-muted, #9a8878) !important; }
.rc-wrap .rc-tag:hover,
.rc-wrap .rc-clear:hover { border-color: var(--rc-border-hover, #c8b89a) !important; }
.rc-tag-x { font-size: 12px; color: var(--rc-muted, #9a8878); }

/* Pagination */
.rc-perpage { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 1.2rem; }
.rc-perpage-label,
.rc-count { font-size: 12px; font-weight: 500; color: var(--rc-muted, #9a8878); }
.rc-count { margin-left: 6px; }
.rc-wrap .rc-perpage-btn {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--rc-primary, #424b3d) !important;
    background: var(--rc-card-bg, #fff) !important;
    border: 1.5px solid var(--rc-border, #e8dfd2) !important;
    border-radius: 20px !important;
    padding: 4px 13px !important;
    transition: background-color .15s, border-color .15s;
}
.rc-wrap .rc-perpage-btn:hover { border-color: var(--rc-border-hover, #c8b89a) !important; background: var(--rc-hover, #f3f4f1) !important; }
.rc-wrap .rc-perpage-btn.is-active {
    background: var(--rc-primary, #424b3d) !important;
    border-color: var(--rc-primary, #424b3d) !important;
    color: var(--rc-on-primary, #fff) !important;
}

.rc-more-wrap { text-align: center; margin: 1.6rem 0 1rem; }
.rc-wrap .rc-more {
    font-size: var(--rc-text-size, 13px) !important;
    font-weight: 600 !important;
    color: var(--rc-primary, #424b3d) !important;
    background: var(--rc-card-bg, #fff) !important;
    border: 1.5px solid var(--rc-primary, #424b3d) !important;
    border-radius: var(--rc-radius-btn, 30px) !important;
    padding: 10px 28px !important;
    transition: background-color .15s, color .15s;
}
.rc-wrap .rc-more:hover { background: var(--rc-primary, #424b3d) !important; color: var(--rc-on-primary, #fff) !important; }

/* ══ VINS — lignes ══ */
.rc-wrap .rc-region-title {
    font-family: var(--rc-font-body, inherit);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--rc-muted, #9a8878);
    margin: 18px 0 8px 2px;
    padding: 0;
    border: 0;
}
.rc-wrap .rc-subregion-title {
    font-family: var(--rc-font-body, inherit);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--rc-muted, #9a8878);
    opacity: .85;
    margin: 12px 0 6px 2px;
    padding: 0;
    border: 0;
}
.rc-wine {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--rc-card-bg, #fff);
    border: var(--rc-bw) solid var(--rc-border, #e8dfd2);
    border-radius: calc(var(--rc-radius-card, 10px) * .8);
    padding: 8px 14px;
    margin-bottom: 5px;
    transition: border-color .2s;
    min-width: 0;
}
.rc-wine:hover { border-color: var(--rc-border-hover, #c8b89a); }
.rc-wine-main { display: flex; align-items: center; gap: 7px; flex: 1; min-width: 0; flex-wrap: wrap; }
.rc-wrap .rc-picto {
    width: var(--rc-picto-size, 18px);
    height: var(--rc-picto-size, 18px);
    object-fit: contain;
    flex-shrink: 0;
    margin: 0;
    border: 0;
    box-shadow: none;
}
.rc-wine-app { font-size: 11px; color: var(--rc-muted, #9a8878); white-space: nowrap; flex-shrink: 0; }
.rc-wine-name {
    font-size: calc(var(--rc-name-size, 15px) - 2px);
    font-weight: 700;
    color: var(--rc-name, #2c1f0e);
    min-width: 0;
}
.rc-wine .rc-badge { font-size: 10px; padding: 1px 7px; }
.rc-wine .rc-price-col { flex-direction: row; align-items: center; gap: 12px; min-width: 0; margin: 0 0 0 auto; }
.rc-wine .rc-price-line { gap: 4px; }
.rc-wine .rc-size { font-size: 11px; }
.rc-wine .rc-price { font-size: calc(var(--rc-name-size, 15px) - 2px); }

/* ══ NOTES ══ */
.rc-wrap .rc-note {
    margin: 1.6rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid var(--rc-border, #e8dfd2);
    font-size: 12px;
    color: var(--rc-muted, #9a8878);
    text-align: center;
    font-style: italic;
    line-height: 1.8;
}
.rc-wrap .rc-empty { color: var(--rc-muted, #9a8878); font-style: italic; text-align: center; }

/* ══ NAVIGATION EN ONGLETS (option « Style de navigation : Onglets ») ══ */
.rc-nav-tabs .rc-toolbar { display: block; margin-bottom: 2rem; }
.rc-tabs-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; border-bottom: 1px solid var(--rc-border, #e8dfd2); }
.rc-tabs-scroll::-webkit-scrollbar { display: none; }
.rc-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 clamp(1rem, 3vw, 2.25rem); min-width: 100%; width: max-content; max-width: 100%; margin: 0 auto; }
.rc-wrap .rc-tab {
    position: relative;
    flex: 0 0 auto;
    padding: .95rem .15rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-family: var(--rc-font-title, inherit) !important;
    font-size: calc(var(--rc-text-size, 13px) + 2px) !important;
    font-weight: var(--rc-title-weight, 600) !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: var(--rc-muted, #9a8878) !important;
    white-space: nowrap;
    transition: color .25s;
}
.rc-wrap .rc-tab::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
    background: var(--rc-primary, #424b3d); transform: scaleX(0); transform-origin: center; transition: transform .3s ease;
}
.rc-wrap .rc-tab:hover,
.rc-wrap .rc-tab:focus { color: var(--rc-primary, #424b3d) !important; background: transparent !important; }
.rc-wrap .rc-tab.is-active { color: var(--rc-primary, #424b3d) !important; }
.rc-wrap .rc-tab.is-active::after { transform: scaleX(1); }
.rc-wrap .rc-tab.rc-tab-sep { margin-left: clamp(.5rem, 2vw, 1.25rem); }
@media (prefers-reduced-motion: reduce) { .rc-wrap .rc-tab, .rc-wrap .rc-tab::after { transition: none; } }


/* ══ MISE EN PAGE « CARTE ÉPURÉE EN COLONNES » (layout="carte") ══
   Les éléments deviennent de simples lignes (nom · prix, description dessous) posées sur un panneau
   et réparties en colonnes, comme une carte imprimée. */
.rc-layout-carte .rc-body {
    background: var(--rc-panel-bg, #f7f3ec);
    padding: clamp(1.25rem, 3vw, 2.75rem);
    display: grid;
    grid-template-columns: repeat(var(--rc-gcols, var(--rc-cols, 2)), minmax(0, 1fr));
    gap: clamp(1.75rem, 3vw, 2.75rem) clamp(1.75rem, 3.5vw, 3.25rem);
    align-items: start;
    grid-auto-flow: row dense;
}
/* Chaque rubrique reste d'un seul tenant ; ses plats se répartissent sur --rc-span colonnes selon leur nombre */
.rc-layout-carte .rc-section {
    margin: 0;
    grid-column: span var(--rc-span, 1);
    column-count: var(--rc-span, 1);
    column-gap: clamp(1.5rem, 3vw, 2.75rem);
    min-width: 0;
}
.rc-layout-carte .rc-section .rc-section-title,
.rc-layout-carte .rc-section .rc-section-desc { column-span: all; }
.rc-wrap.rc-layout-carte .rc-section-title {
    font-size: var(--rc-title-size, 32px);
    letter-spacing: .16em;
    border-bottom: 0;
    padding: 0;
    margin: 0 0 1.1rem;
    break-after: avoid;
}
.rc-wrap.rc-layout-carte .rc-section-desc { margin: -.4rem 0 1.3rem; break-after: avoid; }
.rc-layout-carte .rc-section.rc-boxed {
    border: var(--rc-bw) solid var(--rc-border-hover, #c8b89a);
    padding: clamp(1rem, 2vw, 1.6rem);
    break-inside: avoid;
}
.rc-layout-carte .rc-item {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0 0 1.15rem;
    gap: .9rem;
    break-inside: avoid;
}
.rc-layout-carte .rc-item:hover { border-color: transparent; }
.rc-layout-carte .rc-name { font-weight: 500; }
.rc-layout-carte .rc-name-row { margin-bottom: 2px; flex-direction: column; align-items: flex-start; gap: 4px; }
.rc-layout-carte .rc-name-row .rc-badges { margin-top: 1px; }
.rc-wrap.rc-layout-carte .rc-desc { margin: 2px 0 0; }
.rc-layout-carte .rc-price-col { padding-top: 1px; flex-shrink: 0; }
.rc-layout-carte .rc-name { text-wrap: balance; }
.rc-layout-carte .rc-formule {
    grid-column: span var(--rc-span, 1);
    background: var(--rc-card-bg, #fff);
    border: var(--rc-bw) solid var(--rc-border-hover, #c8b89a);
    border-radius: 0;
    padding: clamp(1.1rem, 2vw, 1.75rem);
    margin: 0;
    min-width: 0;
}
.rc-wrap.rc-layout-carte .rc-formule-name {
    font-family: var(--rc-font-title, inherit);
    font-size: var(--rc-title-size, 32px);
    font-weight: var(--rc-title-weight, 400);
    text-transform: var(--rc-title-transform, uppercase);
    letter-spacing: .16em;
    color: var(--rc-title, #1d1d1d);
    line-height: 1.2;
}
.rc-layout-carte .rc-formule-desc { margin-top: .6rem; font-size: calc(var(--rc-text-size, 13px) + 2px); color: var(--rc-body, #6a5a4a); line-height: 1.55; }
.rc-layout-carte .rc-formule-head { margin-bottom: 1.4rem; padding-bottom: 1.1rem; border-bottom-color: var(--rc-accent, #d0a060); }
.rc-layout-carte .rc-formule-price { font-size: calc(var(--rc-name-size, 15px) + 4px); font-weight: 600; color: var(--rc-price, #2c1f0e); }
.rc-layout-carte .rc-formule-section { margin-bottom: 1.4rem; }
.rc-layout-carte .rc-formule-section-title {
    font-size: calc(var(--rc-text-size, 13px) + 1px);
    letter-spacing: .14em;
    color: var(--rc-primary, #424b3d);
    margin-bottom: .6rem;
}
.rc-wrap.rc-layout-carte .rc-formule-choices { gap: .45rem; }
.rc-wrap.rc-layout-carte .rc-formule-choices li {
    font-size: calc(var(--rc-name-size, 15px) + 1px);
    color: var(--rc-name, #2c1f0e);
    line-height: 1.5;
    padding-left: 1.1rem !important;
}
.rc-wrap.rc-layout-carte .rc-formule-choices li::before { font-size: 1.2em; line-height: 1.25; }
.rc-layout-carte .rc-toggle { margin-bottom: 4px !important; }
/* Formules dans une colonne étroite : titre au-dessus du prix, pas de débordement */
.rc-layout-carte .rc-formule-head { flex-direction: column; align-items: flex-start; gap: 6px; }
.rc-layout-carte .rc-formule-price { white-space: normal; }
.rc-layout-carte .rc-formule-name { overflow-wrap: anywhere; }
@media (max-width: 760px) {
    .rc-layout-carte .rc-body { grid-template-columns: 1fr !important; }
    .rc-layout-carte .rc-section, .rc-layout-carte .rc-formule { grid-column: auto !important; column-count: 1 !important; }
}

/* ══ THÈME SOMBRE : ajustements hors variables ══ */
.rc-theme-dark .rc-dd-list,
.rc-theme-dark .rc-mdd-list { box-shadow: 0 10px 32px rgba(0, 0, 0, .55); }
.rc-theme-dark .rc-picto { filter: brightness(1.15); }
.rc-theme-dark .rc-chevron { color: currentColor; }

/* ══ RESPONSIVE ══ */
@media (max-width: 560px) {
    .rc-tabs { flex-wrap: nowrap; justify-content: flex-start; width: max-content; }
    .rc-dd { min-width: 0; width: 100%; }
    .rc-item { padding: 12px 13px; gap: 10px; }
    .rc-price-col { min-width: 0; }
    .rc-wine { flex-wrap: wrap; gap: 6px; }
    .rc-wine .rc-price-col { margin-left: 0; width: 100%; justify-content: flex-end; }
    .rc-formule { padding: 16px; }
    .rc-formule-head { flex-direction: column; gap: 6px; }
    .rc-filters-row { gap: 6px; }
    .rc-mdd-list { min-width: 200px; max-width: calc(100vw - 32px); }
}
