    /* ─────────────────────────────────────────────
       DESKTOP: fixed slideshow (unchanged)
    ───────────────────────────────────────────── */
    @media (min-width: 601px) {
      html, body { overflow: hidden; }

      #slideshow {
        position: fixed;
        inset: 0;
        display: grid;
        grid-template-rows: auto 1fr auto;
        touch-action: none;
      }

      .slide {
        position: absolute;
        inset: 0;
        display: none;
        flex-direction: column;
        opacity: 0;
        transition: opacity .6s ease;
      }
      .slide.active {
        display: flex;
        opacity: 1;
      }
      .slide-inner {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 3rem 5vw;
        overflow: hidden;
      }

      #topbar {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1.5rem;
        padding: .9rem 2.5rem;
        background: rgba(0,0,0,.35);
        border-bottom: 1px solid rgba(255,255,255,.08);
        z-index: 10;
      }
      #restaurant-nav {
        position: fixed;
        inset: 0;
        z-index: 30;
        display: none;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(1.5rem, 4vh, 3rem);
        padding: clamp(5rem, 10vh, 8rem) 6vw;
        background: rgba(18, 27, 28, .94);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
      }
      #restaurant-nav.is-open { display: flex; }
      .restaurant-nav-heading {
        color: rgba(232,220,200,.68);
        font: 500 clamp(.72rem, 1.2vw, .9rem)/1 'DM Sans', sans-serif;
        letter-spacing: .25em;
        text-transform: uppercase;
      }
      .restaurant-nav-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(.8rem, 1.8vw, 1.4rem);
        width: min(100%, 1080px);
      }
      .restaurant-nav-button {
        appearance: none;
        min-height: clamp(7.5rem, 20vh, 11rem);
        border: 1px solid rgba(255,255,255,.16);
        border-radius: .75rem;
        padding: 1.25rem;
        background: rgba(255,255,255,.055);
        color: var(--cream);
        font: 400 clamp(1.35rem, 2.7vw, 2.3rem)/1.1 'Playfair Display', serif;
        letter-spacing: .03em;
        cursor: pointer;
        transition: color .2s, background .2s, border-color .2s, transform .2s;
      }
      .restaurant-nav-button:hover,
      .restaurant-nav-button:focus-visible {
        color: var(--cream);
        background: rgba(255,255,255,.12);
        border-color: rgba(255,255,255,.32);
        transform: translateY(-3px);
        outline: none;
      }
      .restaurant-nav-button.active {
        border-color: rgba(185,79,42,.7);
        box-shadow: inset 0 0 0 1px rgba(185,79,42,.3);
      }
      .restaurant-nav-button.menu-unavailable {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: rgba(255,255,255,.5);
        cursor: not-allowed;
      }
      .restaurant-nav-button.menu-unavailable:hover,
      .restaurant-nav-button.menu-unavailable:focus-visible {
        background: rgba(255,255,255,.055);
        border-color: rgba(255,255,255,.16);
        transform: none;
      }
      .restaurant-nav-status {
        max-width: 16rem;
        margin-top: .8rem;
        color: rgba(232,220,200,.5);
        font: 400 .68rem/1.4 'DM Sans', sans-serif;
        letter-spacing: .04em;
        text-align: center;
      }
      .comparison-nav-button {
        appearance: none;
        border: 1px solid rgba(185,79,42,.7);
        border-radius: 999px;
        padding: .85rem 1.4rem;
        background: rgba(185,79,42,.14);
        color: var(--cream);
        cursor: pointer;
        font: 500 .8rem/1 'DM Sans', sans-serif;
        letter-spacing: .12em;
        text-transform: uppercase;
      }
      .comparison-nav-button:hover,
      .comparison-nav-button:focus-visible {
        background: rgba(185,79,42,.28);
        outline: none;
      }
      #restaurant-picker-toggle {
        position: fixed;
        left: 50%;
        bottom: 1.5rem;
        z-index: 20;
        transform: translateX(-50%);
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 999px;
        padding: .9rem 1.65rem;
        background: rgba(16,20,20,.72);
        color: rgba(255,255,255,.82);
        font: 500 .86rem/1 'DM Sans', sans-serif;
        letter-spacing: .12em;
        text-transform: uppercase;
        cursor: pointer;
        backdrop-filter: blur(8px);
      }
      #restaurant-picker-toggle:hover,
      #restaurant-picker-toggle:focus-visible {
        background: rgba(255,255,255,.14);
        outline: none;
      }
      #restaurant-nav.is-open + #restaurant-picker-toggle,
      #slideshow.is-autoplaying #restaurant-picker-toggle { display: none; }
      #slideshow.is-autoplaying #restaurant-nav { display: none; }
      @media (max-width: 800px) {
        .restaurant-nav-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .desktop-day-button { min-width: 2.2rem; padding: .4rem .35rem; }
      }
      #topbar .date {
        font-size: .8rem;
        color: var(--warm);
        opacity: .75;
        font-weight: 300;
      }
      #desktop-day-picker {
        display: flex;
        position: absolute;
        left: 50%;
        align-items: center;
        gap: .3rem;
        transform: translateX(-50%);
      }
      .desktop-day-button {
        appearance: none;
        min-width: 2.65rem;
        border: 1px solid transparent;
        border-radius: 999px;
        padding: .45rem .55rem;
        background: transparent;
        color: rgba(255,255,255,.55);
        cursor: pointer;
        font: 500 .72rem/1 'DM Sans', sans-serif;
        transition: color .2s, background .2s, border-color .2s;
      }
      .desktop-day-button:hover,
      .desktop-day-button:focus-visible {
        border-color: rgba(255,255,255,.22);
        background: rgba(255,255,255,.1);
        color: var(--cream);
        outline: none;
      }
      .desktop-day-button.active {
        border-color: var(--rust);
        background: var(--rust);
        color: var(--cream);
      }
      .desktop-day-button.hidden { display: none; }
      #topbar-date { margin-left: auto; }

      #progress-wrap {
        height: 4px;
        background: rgba(255,255,255,.1);
        position: relative;
        z-index: 10;
        opacity: 0;
        transition: opacity .25s ease;
      }
      #slideshow.is-autoplaying #progress-wrap { opacity: 1; }
      #progress-bar {
        height: 100%;
        background: var(--rust);
        width: 0%;
        transition: width linear;
      }

      #dots { display: none; }
      .dot {
        width: 7px; height: 7px;
        border-radius: 50%;
        background: rgba(255,255,255,.2);
        transition: background .3s;
        cursor: pointer;
        display: none;
      }
      .dot.visible { display: block; }
      .dot.active { background: var(--rust); }

      /* Mobile-only elements hidden on desktop */
      .mobile-fade-divider { display: none; }
      #mobile-topbar { display: none; }
      #mobile-scroll-hint { display: none; }
    }
    /* ── GASTIS SLIDE ── */
    #slide-gastis { background: #1a0f08; position: relative; }
    #slide-gastis .slide-inner { position: static; }
    #slide-gastis .slide-inner {
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .gastis-eyebrow {
      font-size: .7rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(185,79,42,.8);
      margin-bottom: 1.2rem;
    }
    .gastis-logo {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1rem, 2vw, 1.4rem);
      letter-spacing: .25em;
      text-transform: uppercase;
      color: rgba(255,255,255,.7);
      margin-bottom: 3rem;
    }
    .gastis-dishes-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .6rem;
      margin-bottom: 2.5rem;
      width: 100%;
    }
    .gastis-dish-big {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.2rem, 4.5vw, 3.8rem);
      line-height: 1.1;
      color: var(--cream);
    }
    .gastis-dish-sep {
      font-size: clamp(1rem, 2vw, 1.5rem);
      color: rgba(255,255,255,0.15);
      margin: .2rem 0;
    }
    .gastis-includes {
      display: inline-flex;
      gap: 1.2rem;
      align-items: center;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      padding: .55rem 1.8rem;
      font-size: clamp(.7rem, 1.3vw, .85rem);
      color: rgba(255,255,255,.5);
      letter-spacing: .08em;
      text-transform: uppercase;
      flex-wrap: wrap;
      justify-content: center;
    }
    .gastis-includes span { color: rgba(255,255,255,.2); }
    .gastis-price-note {
      margin-top: 1.2rem;
      font-size: .75rem;
      color: rgba(255,255,255,.25);
    }
    #gastis-status { color: var(--muted); font-size: 1.1rem; }

    .gastis-badge {
      position: absolute;
      bottom: 1.8rem;
      right: 2rem;
      width: 64px;
      opacity: .35;
      pointer-events: none;
      user-select: none;
    }
    @media (max-width: 600px) {
      .gastis-badge { bottom: 2.5rem; right: 1.4rem; width: 56px; }
    }

    /* ── SUBWAY SLIDE ── */
    #slide-subway { background: #0A1A0E; }
    #slide-subway .slide-inner {
      align-items: center;
      justify-content: center;
      text-align: center;
      gap: 0;
    }
    .subway-eyebrow {
      font-size: .7rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(255,198,0,.7);
      margin-bottom: 1.2rem;
    }
    .subway-logo {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1rem, 2vw, 1.4rem);
      letter-spacing: .25em;
      text-transform: uppercase;
      color: rgba(255,255,255,.7);
      margin-bottom: 3rem;
    }
    .subway-sub-name {
      font-family: 'Playfair Display', serif;
      font-size: clamp(4rem, 10vw, 8rem);
      line-height: 1;
      color: #FFC600;
      margin-bottom: 2rem;
    }
    .subway-price {
      display: inline-block;
      background: #008C15;
      color: #fff;
      font-size: clamp(1.1rem, 2.5vw, 1.6rem);
      font-weight: 600;
      padding: .6rem 2.5rem;
      border-radius: 999px;
      letter-spacing: .06em;
      margin-bottom: 1rem;
    }
    .subway-note {
      font-size: clamp(.75rem, 1.5vw, .95rem);
      color: rgba(255,255,255,.3);
    }

    /* ── ICA SLIDE ── */
    #slide-ica { background: #0e1a12; }
    #slide-ica .slide-inner {
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .ica-eyebrow {
      font-size: .7rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(255,120,30,.7);
      margin-bottom: 1.2rem;
    }
    .ica-logo {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1rem, 2vw, 1.4rem);
      letter-spacing: .25em;
      text-transform: uppercase;
      color: rgba(255,255,255,.7);
      margin-bottom: 3rem;
    }
    .ica-dishes-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .6rem;
      margin-bottom: 2.5rem;
      width: 100%;
    }
    .ica-dish-big {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.2rem, 4.5vw, 3.8rem);
      line-height: 1.1;
      color: var(--cream);
    }
    .ica-dish-sep {
      font-size: clamp(1rem, 2vw, 1.5rem);
      color: rgba(255,255,255,.2);
      margin: .2rem 0;
    }
    .ica-extras-row {
      display: inline-flex;
      gap: 1.2rem;
      align-items: center;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      padding: .55rem 1.8rem;
      font-size: clamp(.7rem, 1.3vw, .85rem);
      color: rgba(255,255,255,.5);
      letter-spacing: .08em;
      text-transform: uppercase;
      flex-wrap: wrap;
      justify-content: center;
    }
    .ica-extras-row span { color: rgba(255,255,255,.2); }
    .ica-price-note {
      margin-top: 1.2rem;
      font-size: .75rem;
      color: rgba(255,255,255,.25);
    }
    #ica-loading { color: var(--muted); font-size: 1.1rem; }

    /* ── BASTARD BURGERS SLIDE ── */
    #slide-bastard { background: #111; }
    #slide-bastard .slide-inner {
      justify-content: center;
      align-items: center;
      text-align: center;
      gap: 0;
    }
    .bastard-eyebrow {
      font-size: .65rem;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: rgba(255,255,255,.35);
      margin-bottom: 1rem;
    }
    .bastard-logo {
      font-family: 'Playfair Display', serif;
      font-size: clamp(.9rem, 1.8vw, 1.2rem);
      letter-spacing: .3em;
      text-transform: uppercase;
      color: rgba(255,255,255,.7);
      margin-bottom: 2.5rem;
    }
    .bastard-burger-name {
      font-family: 'Playfair Display', serif;
      font-size: clamp(3.5rem, 9vw, 7rem);
      line-height: 1;
      color: #fff;
      margin-bottom: 1.5rem;
    }
    .bastard-desc {
      max-width: 600px;
      font-size: clamp(.85rem, 1.6vw, 1.1rem);
      color: rgba(255,255,255,.45);
      line-height: 1.6;
      margin: 0 auto 2rem;
    }
    .bastard-includes {
      display: inline-flex;
      gap: 1.2rem;
      align-items: center;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      padding: .55rem 1.8rem;
      font-size: clamp(.7rem, 1.3vw, .85rem);
      color: rgba(255,255,255,.5);
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .bastard-includes span { color: rgba(255,255,255,.2); }

    /* ── STADSHOTELL SLIDE ── */
    #slide-stadshotell { background: #111827; }
    #slide-stadshotell .slide-inner,
    #slide-brunns-salonger .slide-inner,
    #slide-prastgatan .slide-inner {
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .stads-eyebrow {
      font-size: .65rem;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: rgba(180,160,120,.6);
      margin-bottom: 1rem;
    }
    .stads-logo {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1rem, 2vw, 1.4rem);
      letter-spacing: .25em;
      text-transform: uppercase;
      color: rgba(255,255,255,.7);
      margin-bottom: 3rem;
    }
    .stads-dishes-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .5rem;
      margin-bottom: 2.5rem;
      width: 100%;
      max-width: 800px;
    }
    .stads-dish-big {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 5vw, 4rem);
      line-height: 1.1;
      color: #e8dcc8;
    }
    .stads-dish-sep {
      font-size: clamp(.9rem, 1.8vw, 1.3rem);
      color: rgba(255,255,255,.15);
      margin: .15rem 0;
    }
    .stads-includes {
      display: inline-flex;
      gap: 1.2rem;
      align-items: center;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      padding: .55rem 1.8rem;
      font-size: clamp(.65rem, 1.2vw, .82rem);
      color: rgba(255,255,255,.4);
      letter-spacing: .08em;
      text-transform: uppercase;
      flex-wrap: wrap;
      justify-content: center;
    }
    .stads-includes span { color: rgba(255,255,255,.15); }
    .stads-price-note {
      margin-top: 1.2rem;
      font-size: .75rem;
      color: rgba(255,255,255,.2);
    }
    .stads-error { color: var(--muted); font-size: 1rem; }

    /* ── BRUNNS SALONGER SLIDE ── */
    #slide-brunns-salonger .slide-inner {
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    #slide-brunns-salonger .stads-logo { margin-bottom: 3rem; }
    .brunns-dishes-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .6rem;
      margin-bottom: 2.5rem;
      width: 100%;
    }
    .brunns-dish-type {
      color: rgba(180,160,120,.7);
      font-size: .65rem;
      font-weight: 500;
      letter-spacing: .2em;
      text-transform: uppercase;
      margin-bottom: -.2rem;
    }
    .brunns-dish-big {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.2rem, 4.5vw, 3.8rem);
      line-height: 1.1;
      color: var(--cream);
    }
    .brunns-dish-sep {
      font-size: clamp(1rem, 2vw, 1.5rem);
      color: rgba(255,255,255,.2);
      margin: .2rem 0;
    }
    .brunns-extras-row {
      display: inline-flex;
      gap: 1.2rem;
      align-items: center;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      padding: .55rem 1.8rem;
      font-size: clamp(.7rem, 1.3vw, .85rem);
      color: rgba(255,255,255,.5);
      letter-spacing: .08em;
      text-transform: uppercase;
      flex-wrap: wrap;
      justify-content: center;
    }
    .brunns-extras-row span { color: rgba(255,255,255,.2); }
    .brunns-price-note { margin-top: 1.2rem; }

    /* Canonical menu renderer shared by all dynamic restaurant slides. */
    .canonical-menu { width: 100%; }
    .canonical-menu-dishes {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .5rem;
      width: 100%;
      margin-bottom: 2rem;
    }
    .canonical-menu-dish { width: 100%; }
    .canonical-menu-category {
      color: rgba(180,160,120,.7);
      font-size: .65rem;
      font-weight: 500;
      letter-spacing: .2em;
      text-transform: uppercase;
      margin-bottom: .2rem;
    }
    .canonical-menu-name {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 4.5vw, 3.8rem);
      line-height: 1.1;
      color: var(--cream);
    }
    .canonical-menu-separator { color: rgba(255,255,255,.18); font-size: 1.2rem; }
    .canonical-menu-note {
      display: inline-flex;
      padding: .55rem 1.3rem;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      color: rgba(255,255,255,.5);
      background: rgba(255,255,255,.06);
      font-size: clamp(.7rem, 1.3vw, .85rem);
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .canonical-menu-price { margin-top: 1.2rem; color: rgba(255,255,255,.3); font-size: .75rem; }
    .canonical-menu-empty { color: var(--muted); font-size: 1rem; }
    .canonical-menu-empty-action {
      display: inline-block;
      margin-top: 1rem;
      border: 1px solid rgba(185,79,42,.7);
      border-radius: 999px;
      padding: .65rem .9rem;
      background: rgba(185,79,42,.14);
      color: var(--cream);
      cursor: pointer;
      font: 500 .7rem/1 'DM Sans', sans-serif;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .canonical-menu-freshness {
      margin-top: 1.1rem;
      color: rgba(232,220,200,.42);
      font-size: .68rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .theme-stadshotell .canonical-menu-name { color: #e8dcc8; }
    .theme-prastgatan .canonical-menu-name { color: #f1dfc5; }

    /* ── DESKTOP DISH COMPARISON ── */
    #slide-comparison { background: #172326; }
    #slide-comparison .slide-inner {
      justify-content: flex-start;
      align-items: center;
      overflow: auto;
      padding-top: clamp(2rem, 6vh, 4.5rem);
      padding-bottom: clamp(2rem, 6vh, 4.5rem);
    }
    .comparison-heading {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.1rem, 4vw, 4rem);
      color: var(--cream);
      text-align: center;
      margin-bottom: .45rem;
    }
    .comparison-subheading {
      color: rgba(232,220,200,.62);
      font-size: .8rem;
      letter-spacing: .11em;
      text-align: center;
      text-transform: uppercase;
      margin-bottom: 1.5rem;
    }
    .comparison-filters {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: .55rem;
      margin-bottom: clamp(1.5rem, 4vh, 3rem);
    }
    .comparison-filter {
      appearance: none;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 999px;
      padding: .55rem 1rem;
      background: rgba(255,255,255,.05);
      color: rgba(255,255,255,.68);
      cursor: pointer;
      font: 500 .74rem/1 'DM Sans', sans-serif;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .comparison-filter:hover,
    .comparison-filter:focus-visible,
    .comparison-filter.active {
      border-color: rgba(185,79,42,.85);
      background: rgba(185,79,42,.22);
      color: var(--cream);
      outline: none;
    }
    .comparison-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
      gap: 1rem;
      width: 100%;
    }
    #comparison-content { width: min(100%, 1100px); }
    .comparison-card {
      min-height: 10rem;
      padding: 1.2rem;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: .75rem;
      background: rgba(255,255,255,.055);
    }
    button.comparison-card {
      width: 100%;
      color: inherit;
      text-align: left;
      cursor: pointer;
    }
    button.comparison-card:hover,
    button.comparison-card:focus-visible {
      border-color: rgba(185,79,42,.85);
      background: rgba(185,79,42,.13);
      outline: none;
    }
    .comparison-distance {
      display: block;
      margin: -.15rem 0 .7rem;
      color: rgba(232,220,200,.48);
      font-size: .68rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .comparison-slot { visibility: hidden; }
    .comparison-restaurant {
      color: rgba(232,220,200,.58);
      font-size: .66rem;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
      margin-bottom: .7rem;
    }
    .comparison-dish {
      color: var(--cream);
      font: 400 clamp(1.05rem, 1.8vw, 1.45rem)/1.25 'Playfair Display', serif;
    }
    .comparison-dish + .comparison-dish {
      border-top: 1px solid rgba(255,255,255,.11);
      margin-top: .8rem;
      padding-top: .8rem;
    }
    .comparison-status {
      color: rgba(232,220,200,.55);
      font-size: .9rem;
      line-height: 1.45;
    }
    .comparison-empty {
      color: rgba(232,220,200,.64);
      font-size: 1rem;
      text-align: center;
    }

    /* ── PROGRESS BAR (desktop only) ── */
    #progress-wrap {
      height: 4px;
      background: rgba(255,255,255,.1);
      position: relative;
      z-index: 10;
    }
    #progress-bar {
      height: 100%;
      background: var(--rust);
      width: 0%;
      transition: width linear;
    }

    /* ── DOTS (desktop only) ── */
    #dots {
      position: fixed;
      bottom: 1.2rem;
      left: 50%;
      transform: translateX(-50%);
      display: none;
      gap: .55rem;
      z-index: 20;
    }
    #slideshow.is-autoplaying + #dots { display: flex; }
    .dot {
      width: 7px; height: 7px;
      border-radius: 50%;
      background: rgba(255,255,255,.2);
      transition: background .3s;
      cursor: pointer;
    }
    .dot.active { background: var(--rust); }

    /* ── DESKTOP RESTAURANT LIST + IDLE SLIDESHOW ── */
    @media (min-width: 601px) {
      html, body { overflow: auto; background: #fff; color: #111; }
      body.desktop-list-mode #mobile-restaurant-nav { display: block; position: relative; inset: auto; min-height: 100vh; padding: clamp(2.5rem, 7vw, 6rem) max(5vw, calc((100vw - 1120px) / 2)); background: #fff; color: #111; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-start-heading { display: flex; flex-direction: column; gap: .45rem; margin-bottom: 2rem; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-start-kicker, body.desktop-list-mode #mobile-restaurant-nav #mobile-menu-date, body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-meta { color: #666; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-start-heading strong { font: 700 clamp(2.2rem, 5vw, 4.5rem)/1 'Playfair Display', serif; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-start-controls { display: flex; gap: .65rem; margin: 0 0 2rem; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-start-day-select { border: 1px solid #111; border-radius: .35rem; background: #fff; color: #111; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-restaurant-nav-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #111; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-restaurant-card { border-bottom: 1px solid #111; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-restaurant-nav-button { display: block; width: 100%; padding: 1.5rem 0; border: 0; background: transparent; color: #111; text-align: left; cursor: pointer; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-restaurant-name { display: block; font: 700 clamp(1.5rem, 2.8vw, 2.35rem)/1.15 'Playfair Display', serif; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-headline { display: block; margin-top: .45rem; font-size: clamp(1rem, 1.7vw, 1.35rem); }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more { margin: 0 0 1.25rem; color: #111; cursor: pointer; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more-list { margin-bottom: 1.25rem; }
      body.desktop-list-mode #slideshow { display: none; }
      body:not(.desktop-list-mode) #mobile-restaurant-nav { display: none; }
      #slideshow.is-autoplaying { background: #fff; }
      #slideshow.is-autoplaying #topbar { background: #fff; border-color: #111; }
      #slideshow.is-autoplaying .slide, #slideshow.is-autoplaying .slide[style] { background: #fff !important; }
      #slideshow.is-autoplaying .slide *, #slideshow.is-autoplaying #topbar * { color: #111 !important; }
      #slideshow.is-autoplaying #progress-wrap { background: #ddd; }
      #slideshow.is-autoplaying #progress-bar { background: #111; }
      body.desktop-list-mode #mobile-return-to-start-button,
      body.desktop-list-mode #mobile-restaurant-select,
      body.desktop-list-mode .mobile-sort-controls { display: none !important; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        min-height: 2.25rem;
        margin: .15rem 0 1.35rem;
        border: 1px solid #111;
        border-radius: 999px;
        padding: .35rem .7rem .35rem .4rem;
        background: #fff;
        color: transparent;
        font: 500 .82rem/1 'DM Sans', sans-serif;
        cursor: pointer;
        transition: background .16s ease, color .16s ease;
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more[hidden] { display: none; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more::before {
        content: "+";
        display: inline-grid;
        place-items: center;
        width: 1.1rem;
        height: 1.1rem;
        border-radius: 50%;
        background: #111;
        color: #fff;
        font-size: 1rem;
        line-height: 1;
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more::after {
        content: attr(data-count) " rätter";
        color: #111;
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more:hover,
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more:focus-visible {
        background: #111;
        outline: none;
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more:hover::before,
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more:focus-visible::before {
        background: #fff;
        color: #111;
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more:hover::after,
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more:focus-visible::after { color: #fff; }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more[aria-expanded="true"]::before {
        content: "−";
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more[aria-expanded="true"]::after {
        content: "Dölj rätter";
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-more-list {
        margin: 0 0 1.5rem;
        border: 0;
        padding: .15rem 0 .1rem;
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-additional-dish {
        position: relative;
        padding: .45rem 0 .45rem 1.35rem;
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-additional-dish + .mobile-menu-additional-dish {
        margin-top: .8rem;
        border: 0;
      }
      body.desktop-list-mode #mobile-restaurant-nav .mobile-menu-additional-dish::before {
        content: "•";
        position: absolute;
        left: .2rem;
        top: .4rem;
        color: #111;
      }
      #slideshow.is-autoplaying #desktop-day-picker { display: none !important; }
    }

