/* =====================================================================
   Soft Resto — Page restaurant immersive (onglets, verre dépoli)
   Dépend de soft-resto-menu.css (jetons, boutons, cartes de repas).
   ===================================================================== */

.sr-page {
    position: relative;
    isolation: isolate;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 0 calc(60px + var(--sr-fill, 0px));
    color: var(--sr-ink);
    -webkit-font-smoothing: antialiased;
    overflow-x: clip; /* contient le fond flouté sans casser les éléments collants */
}
.sr-page *, .sr-page *::before, .sr-page *::after { box-sizing: border-box; }
.sr-page { font-size: 15px; line-height: 1.5; }
.sr-page ul, .sr-page ol { list-style: none !important; margin: 0; padding: 0 !important; }
.sr-page li { margin: 0; }
.sr-page p { margin-top: 0; }
.sr-page .sr-muted { font-size: 14px; line-height: 1.5; }
.sr-page img { max-width: 100%; }

/* Fond d'ambiance : la photo du restaurant, très floutée, sous tout le contenu */
.sr-page__ambient {
    position: absolute;
    inset: 0 0 auto;
    height: min(1700px, 100%);
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(40% 30% at 15% 10%, rgba(255, 153, 51, .55), transparent 70%),
        radial-gradient(35% 28% at 85% 22%, rgba(255, 197, 61, .45), transparent 70%),
        radial-gradient(45% 35% at 55% 60%, rgba(255, 119, 0, .25), transparent 70%);
    -webkit-mask-image: radial-gradient(130% 75% at 50% 0%, #000 35%, transparent 78%);
    mask-image: radial-gradient(130% 75% at 50% 0%, #000 35%, transparent 78%);
}
.sr-page__ambient[style]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--sr-ambient) center top / cover no-repeat;
    filter: blur(70px) saturate(1.6);
    opacity: .5;
    transform: scale(1.15);
}

.sr-ico { width: 20px; height: 20px; flex: none; }

/* ---------------------------------------------------------------------
   En-tête
   --------------------------------------------------------------------- */

.sr-hero { position: relative; }
.sr-hero__media {
    position: relative;
    height: clamp(230px, 38vw, 440px);
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #ffb066, #ff7700 55%, #b34700);
    box-shadow: 0 30px 60px -20px rgba(29, 33, 48, .35);
}
.sr-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .05) 30%, rgba(0, 0, 0, .45));
}
.sr-hero__img { width: 100%; height: 100% !important; object-fit: cover; display: block; animation: sr-kenburns 18s ease-out both; }
@keyframes sr-kenburns { from { transform: scale(1.08); } to { transform: scale(1); } }
.sr-hero--nocover .sr-hero__media {
    background:
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .25) 0 2px, transparent 3px) 0 0 / 26px 26px,
        linear-gradient(135deg, #ffb066, #ff7700 55%, #b34700);
}

.sr-hero__inner { position: relative; z-index: 2; margin: -110px 14px 0; }
@media (min-width: 900px) {
    .sr-hero__media { height: 220px; }
    .sr-hero__inner { margin: -48px 36px 0; }
}

.sr-hero__card {
    padding: 20px 20px 18px;
    border-radius: 28px;
    background: rgba(255, 255, 255, .72);
    -webkit-backdrop-filter: blur(24px) saturate(170%);
    backdrop-filter: blur(24px) saturate(170%);
    border: 1px solid rgba(255, 255, 255, .85);
    box-shadow: 0 24px 50px -12px rgba(29, 33, 48, .25), inset 0 1px 0 #fff;
}
@media (min-width: 900px) { .sr-hero__card { padding: 26px 30px 24px; } }

.sr-hero__eyebrow { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.sr-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(29, 33, 48, .07);
    color: var(--sr-ink-2) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    line-height: 1.2;
}
.sr-pill .sr-ico { width: 14px; height: 14px; }
a.sr-pill:hover { background: rgba(29, 33, 48, .12); }
.sr-pill--solid { background: #fff; border: 1px solid rgba(29, 33, 48, .1); padding: 7px 14px; font-size: 14px; }
.sr-pill--solid:hover { border-color: var(--sr-accent); color: var(--sr-accent-ink) !important; }

.sr-page .sr-hero__title {
    margin: 0 0 12px;
    font-size: clamp(27px, 4.4vw, 44px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--sr-ink);
    text-transform: none;
}

.sr-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-bottom: 16px; }
.sr-hero__stat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--sr-ink-2) !important;
    font-size: 14.5px;
    font-weight: 600;
    text-decoration: none !important;
}
.sr-hero__stat .sr-ico { width: 18px; height: 18px; color: var(--sr-muted); }
.sr-hero__stat strong { font-size: 16px; font-weight: 800; color: var(--sr-ink); }
.sr-hero__stat span { color: var(--sr-muted); }
a.sr-hero__stat .sr-ico { color: #f5a623; fill: #f5a623; }
a.sr-hero__stat:hover strong { color: var(--sr-accent-ink); }
.sr-heart { color: var(--sr-accent-ink); font-size: 16px; }

/* Statut en direct */
.sr-live {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 800;
}
.sr-live.is-open { background: var(--sr-ok-soft); color: #0f5a33; }
.sr-live.is-closed { background: #fdecec; color: #8f1b21; }
.sr-live__dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.sr-live.is-open .sr-live__dot::after {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid currentColor;
    animation: sr-ping 1.8s var(--sr-ease) infinite;
}
@keyframes sr-ping { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(1.8); opacity: 0; } }

/* Actions rapides */
.sr-hero__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }

.sr-page .sr-act {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: none;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 13px 0 11px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(29, 33, 48, .1) !important;
    background: #fff !important;
    color: var(--sr-ink) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: 0 3px 10px rgba(29, 33, 48, .06) !important;
    transition: transform .15s var(--sr-ease), border-color .2s, box-shadow .2s !important;
    cursor: pointer;
}
.sr-page .sr-act:hover {
    transform: translateY(-2px);
    border-color: rgba(29, 33, 48, .2) !important;
    background: #fff !important;
    color: var(--sr-ink) !important;
    box-shadow: 0 10px 20px rgba(29, 33, 48, .1) !important;
}
.sr-page .sr-act .sr-ico { width: 16px; height: 16px; }
.sr-page .sr-act i { font-size: 14px !important; margin: 0 !important; color: var(--sr-accent-ink); width: 16px; text-align: center; }
.sr-page .sr-act--wa .sr-ico { color: #12a150; }
.sr-page .sr-act.active { border-color: rgba(255, 119, 0, .4) !important; background: var(--sr-accent-soft) !important; }
.sr-page .sr-act.is-pop i { animation: sr-heartpop .45s var(--sr-ease); }
@keyframes sr-heartpop { 40% { transform: scale(1.45); } }

/* ---------------------------------------------------------------------
   Onglets collants
   --------------------------------------------------------------------- */

.sr-tabs-wrap {
    position: sticky;
    top: var(--sr-top, 0px);
    z-index: 40;
    margin: 22px 0 8px;
    padding: 8px 0;
    transition: padding .2s;
}
.sr-tabs-bar {
    position: relative;
    display: flex;
    gap: 4px;
    padding: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .7);
    -webkit-backdrop-filter: blur(20px) saturate(170%);
    backdrop-filter: blur(20px) saturate(170%);
    border: 1px solid rgba(255, 255, 255, .85);
    box-shadow: 0 10px 30px rgba(29, 33, 48, .08);
    overflow-x: auto;
    scrollbar-width: none;
}
.sr-tabs-bar::-webkit-scrollbar { display: none; }
.sr-tabs-wrap.is-stuck .sr-tabs-bar { box-shadow: 0 14px 34px rgba(29, 33, 48, .16); background: rgba(255, 255, 255, .82); }

.sr-page .sr-tabs-bar__tab {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1 0 auto;
    min-height: 46px;
    padding: 0 16px;
    border-radius: 999px;
    color: var(--sr-ink-2) !important;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color .25s;
}
.sr-page .sr-tabs-bar__tab:hover { color: var(--sr-ink) !important; }
.sr-page .sr-tabs-bar__tab.is-active { color: #fff !important; }
.sr-tabs-bar__tab .sr-ico { width: 18px; height: 18px; }
.sr-tabs-bar__count {
    min-width: 22px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(29, 33, 48, .08);
    font-size: 12px;
    text-align: center;
    transition: background-color .25s;
}
.sr-tabs-bar__tab.is-active .sr-tabs-bar__count { background: rgba(255, 255, 255, .22); }
.sr-tabs-bar__ink {
    position: absolute;
    z-index: 0;
    top: 6px;
    left: 0;
    bottom: 6px;
    width: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--sr-accent), #ffa040);
    box-shadow: 0 8px 20px rgba(255, 119, 0, .35);
    transition: transform .4s var(--sr-ease), width .4s var(--sr-ease);
}
.sr-page:not(.is-tabbed) .sr-tabs-bar__ink { display: none; }

@media (max-width: 520px) {
    .sr-page .sr-tabs-bar__tab { padding: 0 12px; font-size: 14px; flex: 1 0 auto; }
    .sr-tabs-bar__tab .sr-ico { display: none; }
}

/* ---------------------------------------------------------------------
   Panneaux
   --------------------------------------------------------------------- */

/* Sections : toutes visibles, séparées par un grand espace, chacune ouverte par un grand titre */
.sr-sections { position: relative; }
.sr-sec {
    position: relative;
    margin-top: clamp(72px, 9vw, 100px);
    scroll-margin-top: calc(var(--sr-top, 0px) + var(--sr-tabs-h, 0px) + 10px);
    outline: none;
}
/* Le menu n'a pas de grand titre : il se rapproche de la barre de navigation. */
.sr-sections > .sr-sec--menu:first-child { margin-top: 14px; }

.sr-page .sr-sec__title {
    position: relative;
    margin: 0 0 30px;
    padding: 0 0 18px;
    font-size: clamp(32px, 5.6vw, 54px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -0.025em;
    color: var(--sr-ink);
    text-transform: none;
}
.sr-page .sr-sec__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 64px;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--sr-accent), #ffb066);
}

.sr-glass {
    border-radius: 24px;
    background: var(--sr-glass-bg);
    -webkit-backdrop-filter: var(--sr-blur);
    backdrop-filter: var(--sr-blur);
    border: 1px solid var(--sr-glass-line);
    box-shadow: 0 10px 30px rgba(29, 33, 48, .07), inset 0 1px 0 rgba(255, 255, 255, .8);
}

.sr-page .sr-h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--sr-ink);
    text-transform: none;
}
.sr-page .sr-h3 { margin: 22px 0 12px; font-size: 17px; font-weight: 800; color: var(--sr-ink); text-transform: none; }
.sr-page .sr-h2 .sr-ico { color: var(--sr-accent-ink); }

.sr-empty-state { padding: 36px 24px; text-align: center; }
.sr-empty-state__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 12px;
    border-radius: 22px;
    background: var(--sr-accent-soft);
    color: var(--sr-accent-ink);
}
.sr-empty-state__icon .sr-ico { width: 30px; height: 30px; }
.sr-empty-state h3 { margin: 0 0 6px; font-size: 19px; font-weight: 800; }
.sr-empty-state p { margin: 0 auto 16px; max-width: 42ch; color: var(--sr-muted); }

.sr-flash { margin: 0 0 16px; padding: 14px 18px; color: #0f5a33; font-weight: 700; background: rgba(231, 245, 237, .85); }

/* --- À propos --- */
.sr-about { display: grid; gap: 16px; }
@media (min-width: 900px) {
    .sr-about { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; }
}
.sr-about__story { padding: 24px; }
.sr-prose { font-size: 15.5px; line-height: 1.7; color: var(--sr-ink-2); }
.sr-prose p { margin: 0 0 12px; }
.sr-clamp { max-height: 14.5em; overflow: hidden; position: relative; transition: max-height .4s var(--sr-ease); }
.sr-clamp:not(.is-open)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 64px;
    background: linear-gradient(transparent, rgba(255, 255, 255, .95));
}
.sr-clamp.is-open { max-height: none; }
.sr-specialties { display: flex; flex-wrap: wrap; gap: 8px; }

.sr-facts { display: grid; gap: 12px; }
.sr-fact { display: flex; align-items: center; gap: 14px; padding: 16px 18px; text-decoration: none !important; color: var(--sr-ink) !important; }
.sr-fact__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: #fff;
    color: var(--sr-accent-ink);
    box-shadow: 0 4px 12px rgba(29, 33, 48, .08);
}
.sr-fact__label { display: block; font-size: 12.5px; font-weight: 700; color: var(--sr-muted); margin-bottom: 2px; }
.sr-fact strong { font-size: 15.5px; font-weight: 800; overflow-wrap: anywhere; }
.sr-fact--link:hover { transform: translateY(-2px); transition: transform .2s var(--sr-ease); }

/* --- Carrousel photos (sous l'en-tête) : 2,5 images visibles sur mobile, 5,5 sur ordinateur --- */
.sr-strip { --g: 10px; --h: 128px; position: relative; margin-top: 22px; }
.sr-strip__track {
    display: flex;
    gap: var(--g);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 2px 0 4px;
}
.sr-strip__track::-webkit-scrollbar { display: none; }
.sr-strip__item {
    position: relative;
    flex: 0 0 calc((100% - 2 * var(--g)) / 2.5);
    height: var(--h);
    border-radius: 18px;
    overflow: hidden;
    scroll-snap-align: start;
    background: var(--sr-soft);
    box-shadow: 0 8px 20px rgba(29, 33, 48, .1);
}
.sr-strip__img { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform .5s var(--sr-ease); }
.sr-strip__item:hover .sr-strip__img { transform: scale(1.06); }
@media (min-width: 900px) {
    .sr-strip { --h: 168px; }
    .sr-strip__item { flex-basis: calc((100% - 5 * var(--g)) / 5.5); }
}
/* Peu de photos : elles se partagent la ligne au lieu de rester minuscules. */
.sr-strip[data-count="1"] .sr-strip__item, .sr-strip[data-count="2"] .sr-strip__item { flex-grow: 1; }
@media (min-width: 900px) {
    .sr-strip[data-count="3"] .sr-strip__item, .sr-strip[data-count="4"] .sr-strip__item, .sr-strip[data-count="5"] .sr-strip__item { flex-grow: 1; }
}

.sr-strip__btn {
    display: none !important;
    position: absolute !important;
    top: 50% !important;
    z-index: 3;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    margin-top: -20px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .88) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, .9) !important;
    box-shadow: 0 8px 20px rgba(29, 33, 48, .2) !important;
    color: var(--sr-ink) !important;
    cursor: pointer;
    transition: opacity .2s, transform .15s !important;
}
.sr-strip__btn svg { width: 18px; height: 18px; }
.sr-strip__btn--prev { left: -12px !important; }
.sr-strip__btn--next { right: -12px !important; }
.sr-strip__btn:hover { transform: scale(1.08); background: #fff !important; }
@media (min-width: 900px) {
    .sr-strip:not(.no-scroll) .sr-strip__btn { display: inline-flex !important; }
    .sr-strip.at-start .sr-strip__btn--prev, .sr-strip.at-end .sr-strip__btn--next { display: none !important; }
}

/* --- Avis --- */
.sr-reviews { display: grid; gap: 16px; }
@media (min-width: 900px) {
    .sr-reviews { grid-template-columns: 360px minmax(0, 1fr); align-items: start; }
    .sr-reviews__side { position: sticky; top: calc(var(--sr-top, 0px) + var(--sr-tabs-h, 0px) + 12px); }
}
.sr-reviews__side { display: grid; gap: 16px; }

.sr-score { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; padding: 22px; }
.sr-score__ring {
    --p: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 104px;
    height: 104px;
    border-radius: 50%;
    background:
        radial-gradient(closest-side, #fff 76%, transparent 77%),
        conic-gradient(var(--sr-accent) calc(var(--p) * 1%), rgba(29, 33, 48, .08) 0);
}
.sr-score__ring strong { font-size: 32px; font-weight: 800; line-height: 1; }
.sr-score__ring span { font-size: 13px; font-weight: 700; color: var(--sr-muted); }
.sr-score__title { margin: 0 0 4px; font-size: 20px; font-weight: 800; }
.sr-score__text p { margin: 0; }
.sr-dist { grid-column: 1 / -1; display: grid; gap: 8px; margin: 4px 0 0 !important; }
.sr-dist li { display: grid; grid-template-columns: 82px 1fr 26px; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 600; color: var(--sr-ink-2); }
.sr-dist__bar { height: 8px; border-radius: 999px; background: rgba(29, 33, 48, .08); overflow: hidden; }
.sr-dist__bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #ffb066, var(--sr-accent)); }
.sr-dist__n { text-align: right; color: var(--sr-muted); }

.sr-review-form { padding: 22px; }
.sr-review-form .sr-h3 { margin-top: 0; }

.sr-rate { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; }
.sr-rate__opt { position: relative; cursor: pointer; margin: 0; }
.sr-rate__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sr-rate__opt span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border-radius: 12px;
    background: #fff;
    border: 1.5px solid rgba(29, 33, 48, .1);
    font-weight: 800;
    font-size: 15px;
    color: var(--sr-ink-2);
    transition: all .15s;
}
.sr-rate__opt:hover span { border-color: var(--sr-accent); }
.sr-rate__opt input:checked + span { background: var(--sr-accent); border-color: var(--sr-accent); color: #fff; transform: translateY(-2px); box-shadow: 0 6px 14px rgba(255, 119, 0, .3); }
.sr-rate__opt input:focus-visible + span { outline: 3px solid rgba(255, 119, 0, .45); outline-offset: 2px; }

.sr-drop {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px;
    border: 1.5px dashed rgba(29, 33, 48, .2);
    border-radius: 16px;
    background: rgba(255, 255, 255, .6);
    color: var(--sr-ink-2);
    font-weight: 700;
    font-size: 14.5px;
    cursor: pointer;
    transition: border-color .2s, background-color .2s;
}
.sr-drop:hover { border-color: var(--sr-accent); }
.sr-drop.has-files { border-style: solid; border-color: var(--sr-ok); background: var(--sr-ok-soft); color: #0f5a33; }
.sr-drop input { position: absolute; opacity: 0; width: 1px; height: 1px; }

.sr-reviews__list { display: grid; gap: 14px; }
.sr-review { padding: 18px 20px; }
.sr-review__head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.sr-review__avatar { width: 46px !important; height: 46px !important; border-radius: 50% !important; flex: none; box-shadow: 0 0 0 3px #fff; }
.sr-review__who { flex: 1; display: grid; gap: 2px; min-width: 0; }
.sr-review__who strong { font-size: 15.5px; font-weight: 800; }
.sr-review__who .sr-muted { font-size: 13px; }
.sr-review__note {
    display: inline-flex;
    align-items: baseline;
    gap: 1px;
    padding: 6px 12px;
    border-radius: 14px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}
.sr-review__note small { font-size: 12px; font-weight: 700; opacity: .7; }
.sr-review__note--high { background: var(--sr-ok-soft); color: #0f5a33; }
.sr-review__note--mid { background: var(--sr-warn-soft); color: #6f3d04; }
.sr-review__note--low { background: #fdecec; color: #8f1b21; }
.sr-review__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--sr-ink-2); }
.sr-review__photos { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.sr-review__photos img { width: 76px; height: 76px; object-fit: cover; border-radius: 14px; display: block; }
.sr-review__report { margin-top: 6px; }

/* --- Infos pratiques --- */
.sr-infos { display: grid; gap: 16px; }
@media (min-width: 900px) { .sr-infos { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; } }
.sr-infos__side { display: grid; gap: 16px; }
.sr-hours, .sr-contact, .sr-where { padding: 22px; }
.sr-hours__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.sr-hours__head .sr-h2 { margin: 0; }
.sr-hours__list li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}
.sr-hours__list li:nth-child(odd) { background: rgba(255, 255, 255, .45); }
.sr-hours__list li.is-today { background: #fff; font-weight: 800; box-shadow: 0 6px 16px rgba(29, 33, 48, .08); }
.sr-hours__list em { font-style: normal; font-size: 12px; font-weight: 800; color: var(--sr-accent-ink); margin-left: 6px; }

.sr-contact__row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    margin: 0 -14px;
    border-radius: 14px;
    color: var(--sr-ink) !important;
    font-weight: 700;
    text-decoration: none !important;
    overflow-wrap: anywhere;
}
.sr-contact__row:hover { background: rgba(255, 255, 255, .7); }
.sr-contact__row .sr-ico { color: var(--sr-accent-ink); }
.sr-where p { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-weight: 700; }
.sr-where p .sr-ico { color: var(--sr-accent-ink); }
.sr-where__note { margin: 12px 0 0 !important; font-weight: 600 !important; font-size: 14px; }

/* --- Suggestions --- */
.sr-suggest { overflow: hidden; }
.sr-suggest__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(250px, 1fr);
    gap: 16px;
    overflow-x: auto;
    padding: 4px 2px 14px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}
.sr-suggest__track > * { scroll-snap-align: start; }
@media (min-width: 1000px) { .sr-suggest__track { grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; } }

@media (prefers-reduced-motion: reduce) {
    .sr-hero__img, .sr-panel.is-entering, .sr-live__dot::after, .sr-tabs-bar__ink { animation: none !important; transition: none !important; }
}

/* Le thème impose parfois « display » sur section/nav, ce qui annule l'attribut hidden. */
.sr-page [hidden], .sr-page [hidden].sr-btn { display: none !important; }

/* Pages restaurant : on retire la barre de titre du thème (notre en-tête la remplace)
   et le remplissage vertical du conteneur de contenu. */
body.sr-restaurant-page { --wd-content-layout-padding: 0px; }
body.sr-restaurant-page .page-title,
body.sr-restaurant-page .wd-page-title,
body.sr-restaurant-page .page-title-default { display: none !important; }
body.sr-restaurant-page .wd-content-layout,
body.sr-restaurant-page .site-content,
body.sr-restaurant-page .content-layout-wrapper { padding-top: 0 !important; margin-top: 0 !important; }

/* Adresse */
.sr-fact__sub { display: block; margin-top: 2px; font-size: 13.5px; font-weight: 600; color: var(--sr-muted); }
.sr-page .sr-where .sr-where__addr { align-items: flex-start; }
.sr-where__addr .sr-ico { margin-top: 2px; }
.sr-where__addr > span { display: grid; gap: 3px; min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.sr-where__addr strong { font-weight: 800; }
.sr-where__landmark { font-style: normal; font-weight: 600; color: var(--sr-ink-2); }
.sr-where__landmark::before { content: "↳ "; color: var(--sr-accent-ink); }
