/* =============================================================================
   Pizzeria Vesuvio — putsning.css
   Sidspecifik finish ovanpå shared.css. shared.css rörs aldrig härifrån.

   Tonen: vedugn, tegel, stearinljus. Varmt papper som botten, glödröd accent,
   espressosvart för de mörka banden. Rubriker i Fraunces, brödtext i Inter.
   Klassprefix: .v-*  (v som i Vesuvio) så inget krockar med shared.css.
   ============================================================================= */

/* ── 0. Grund ─────────────────────────────────────────────────────────────── */

/* scroll-padding = klistrig navrad + kategorirad, så en ankarlänk i menyn
   inte landar bakom dem. Justeras i @media nedan där raderna byter höjd. */
html{scroll-behavior:smooth;scroll-padding-top:136px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#FBF7F0}

.rrw{
  --v-ink:#170E07;          /* espresso — mörka band och footer */
  --v-cream:#F5EADA;        /* text på mörkt */
  --v-gold:#C08A2E;         /* eldsken — etiketter på mörkt */
  --v-ember:#E0672F;        /* glöden i ugnen */
  --v-max:1200px;
  --v-pad:clamp(20px,5vw,72px);
  --v-rule:color-mix(in oklab,var(--c-text) 15%,transparent);
  --v-rule-light:rgba(245,234,218,.16);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.rrw a{text-decoration:none;color:inherit}
.rrw img{display:block;max-width:100%}
.rrw ::selection{background:var(--c-accent);color:var(--c-on-accent)}
.rrw :focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}

/* ── 1. Typografi ─────────────────────────────────────────────────────────── */

.rrw h1,.rrw h2,.rrw h3,.rrw h4{font-optical-sizing:auto}

.rrw .v-display{
  margin:0;font-family:var(--c-heading);font-weight:600;
  font-size:clamp(42px,7.2vw,102px);line-height:.94;letter-spacing:-.035em;
  text-wrap:balance;
}
.rrw .v-display em{font-style:italic;font-weight:400;letter-spacing:-.02em}

.rrw .v-h2{
  margin:0 0 18px;font-family:var(--c-heading);font-weight:600;color:var(--c-head);
  font-size:clamp(29px,4.3vw,58px);line-height:1.03;letter-spacing:-.03em;text-wrap:balance;
}
.rrw .v-h3{
  margin:0 0 9px;font-family:var(--c-heading);font-weight:600;color:var(--c-head);
  font-size:clamp(20px,2.2vw,27px);line-height:1.16;letter-spacing:-.018em;
}

/* Etikett med streck framför — går igen i varje sektionsingress */
.rrw .v-eyebrow{
  display:flex;align-items:center;gap:13px;margin:0 0 18px;
  font-family:var(--c-body);font-size:11px;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;color:var(--c-accent);
}
.rrw .v-eyebrow::before{content:"";flex:none;width:clamp(22px,4vw,46px);height:1px;background:currentColor;opacity:.6}
.rrw .v-eyebrow.is-light{color:var(--v-gold)}

.rrw .v-lead{
  margin:0;max-width:54ch;font-size:clamp(16px,1.2vw,18.5px);line-height:1.72;
  color:color-mix(in oklab,var(--c-text) 80%,transparent);
}
.rrw .v-body{
  margin:0 0 15px;max-width:58ch;font-size:15.5px;line-height:1.76;
  color:color-mix(in oklab,var(--c-text) 78%,transparent);
}
.rrw .v-body:last-child{margin-bottom:0}

/* ── 2. Knappar och länkar ────────────────────────────────────────────────── */

.rrw .v-btn{
  display:inline-flex;align-items:center;gap:10px;padding:15px 26px;
  font-family:var(--c-body);font-size:11.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
  background:var(--c-accent);color:var(--c-on-accent);
  border:1px solid var(--c-accent);border-radius:2px;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.rrw .v-btn:hover{background:var(--v-ink);border-color:var(--v-ink);color:var(--v-cream);transform:translateY(-2px)}
.rrw .v-btn--ghost{background:transparent;color:var(--c-text);border-color:var(--v-rule)}
.rrw .v-btn--ghost:hover{background:var(--c-text);border-color:var(--c-text);color:var(--c-bg)}
.rrw .v-btn--light{background:transparent;color:var(--v-cream);border-color:color-mix(in oklab,var(--v-cream) 45%,transparent)}
.rrw .v-btn--light:hover{background:var(--v-cream);border-color:var(--v-cream);color:var(--v-ink)}
.rrw .v-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,3vw,34px)}

.rrw .v-link{
  display:inline-flex;align-items:center;gap:9px;padding-bottom:5px;
  font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--c-accent);border-bottom:1px solid color-mix(in oklab,var(--c-accent) 38%,transparent);
  transition:gap .2s,border-color .2s;
}
.rrw .v-link::after{content:"→";font-size:13px;letter-spacing:0}
.rrw .v-link:hover{gap:15px;border-color:var(--c-accent)}

@media(prefers-reduced-motion:reduce){
  .rrw .v-btn:hover{transform:none}
  .rrw .v-link{transition:none}
}

/* ── 3. Navigering ────────────────────────────────────────────────────────── */

.rrw .v-nav{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;gap:clamp(14px,2.4vw,34px);
  padding:13px var(--v-pad);
  background:color-mix(in oklab,var(--c-bg) 90%,transparent);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid var(--v-rule);
}
.rrw .v-brand{display:inline-flex;align-items:center;gap:12px;flex:none}

/* Vulkanen: trapets med glöd i toppen, ritad i CSS så den skalar rent */
.rrw .v-mark{position:relative;width:30px;height:30px;flex:none}
.rrw .v-mark::before{
  content:"";position:absolute;left:0;bottom:0;width:30px;height:21px;
  background:linear-gradient(178deg,var(--v-ember),var(--c-accent) 48%,var(--v-ink));
  clip-path:polygon(37% 0,63% 0,100% 100%,0 100%);
}
.rrw .v-mark::after{
  content:"";position:absolute;left:50%;top:1px;width:8px;height:8px;margin-left:-4px;
  border-radius:50%;background:var(--v-ember);
  box-shadow:0 0 12px 2px color-mix(in oklab,var(--v-ember) 55%,transparent);
}
.rrw .v-brand-txt{display:flex;flex-direction:column;line-height:1}
.rrw .v-brand-txt b{
  font-family:var(--c-heading);font-size:20px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--c-head);
}
.rrw .v-brand-txt i{
  margin-top:5px;font-style:normal;font-size:9px;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--c-accent);
}

.rrw .v-nav-links{display:flex;align-items:center;gap:clamp(15px,2.2vw,32px);margin-left:auto}
.rrw .v-nav-links a{
  position:relative;padding:6px 0;font-size:11.5px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:color-mix(in oklab,var(--c-text) 70%,transparent);transition:color .18s;
}
.rrw .v-nav-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
  background:var(--c-accent);transition:right .28s cubic-bezier(.22,1,.36,1);
}
.rrw .v-nav-links a:hover{color:var(--c-head)}
.rrw .v-nav-links a:hover::after,.rrw .v-nav-links a.is-on::after{right:0}
.rrw .v-nav-links a.is-on{color:var(--c-head)}
.rrw .v-nav .v-btn{flex:none;padding:12px 20px;font-size:10.5px;letter-spacing:.14em}

/* ── 4. Hero ──────────────────────────────────────────────────────────────── */

.rrw .v-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:min(92vh,880px);display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--v-ink);
}
.rrw .v-hero-media{
  position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 45%;
  transform:scale(1.05);animation:v-slowzoom 24s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes v-slowzoom{to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.rrw .v-hero-media{animation:none;transform:none}}

/* Två lager: ett från vänster så rubriken alltid har botten, ett från golvet
   så faktaraden längst ned står lika stadigt oavsett vad bilden gör där. */
.rrw .v-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(96deg,rgba(12,7,3,.88) 0%,rgba(12,7,3,.64) 40%,rgba(12,7,3,.16) 72%,rgba(12,7,3,.4) 100%),
    linear-gradient(0deg,rgba(12,7,3,.78) 0%,rgba(12,7,3,0) 55%);
}
.rrw .v-hero-inner{
  position:relative;width:100%;max-width:var(--v-max);margin-inline:auto;
  padding:clamp(86px,13vw,160px) var(--v-pad) clamp(32px,4.5vw,54px);
}
.rrw .v-hero .v-display{color:var(--v-cream);max-width:14ch}
.rrw .v-hero .v-display em{color:var(--v-gold)}
.rrw .v-hero-lead{
  margin-top:clamp(18px,2.4vw,28px);max-width:44ch;
  font-size:clamp(15.5px,1.25vw,18px);line-height:1.74;
  color:color-mix(in oklab,var(--v-cream) 80%,transparent);
}

/* Stående etikett i högerkanten — kostar ingen plats och ger djup åt bilden */
.rrw .v-hero-rail{
  position:absolute;right:clamp(14px,2.2vw,30px);top:50%;z-index:2;
  transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;
  display:flex;align-items:center;gap:18px;
  font-size:10px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;
  color:color-mix(in oklab,var(--v-cream) 58%,transparent);
}
.rrw .v-hero-rail::before{content:"";width:1px;height:clamp(40px,8vw,92px);background:currentColor;opacity:.5}

.rrw .v-hero-facts{
  position:relative;z-index:2;list-style:none;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,44px);
  width:100%;max-width:var(--v-max);margin-inline:auto;
  padding:0 var(--v-pad) clamp(28px,4vw,46px);
}
.rrw .v-hero-facts li{padding-top:18px;border-top:1px solid color-mix(in oklab,var(--v-cream) 32%,transparent)}
.rrw .v-hero-facts b{
  display:block;margin-bottom:7px;font-family:var(--c-heading);font-weight:600;
  font-size:clamp(21px,2.6vw,34px);line-height:1;letter-spacing:-.025em;color:var(--v-cream);
}
.rrw .v-hero-facts span{
  font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--v-gold);
}

/* ── 5. Löpande band ──────────────────────────────────────────────────────── */

.rrw .v-ticker{overflow:hidden;padding:16px 0;background:var(--v-ink);border-block:1px solid var(--v-rule-light)}
.rrw .v-ticker-track{display:flex;width:max-content;animation:v-ticker 38s linear infinite}
@keyframes v-ticker{to{transform:translateX(-50%)}}
.rrw .v-ticker:hover .v-ticker-track{animation-play-state:paused}
.rrw .v-ticker-run{display:flex;align-items:center;flex:none}
.rrw .v-ticker-run span{
  display:inline-flex;align-items:center;gap:clamp(26px,4vw,56px);
  padding-right:clamp(26px,4vw,56px);white-space:nowrap;
  font-family:var(--c-heading);font-style:italic;font-weight:400;
  font-size:clamp(15px,1.5vw,20px);color:color-mix(in oklab,var(--v-cream) 88%,transparent);
}
.rrw .v-ticker-run span::after{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--v-ember)}
@media(prefers-reduced-motion:reduce){.rrw .v-ticker-track{animation:none}}

/* ── 6. Sektioner och band ────────────────────────────────────────────────── */

.rrw .v-sec{max-width:var(--v-max);margin-inline:auto;padding:clamp(58px,8.4vw,130px) var(--v-pad)}
.rrw .v-sec--tight{padding-block:clamp(42px,5.4vw,76px)}
.rrw .v-band{background:var(--c-bg-muted)}
.rrw .v-band--dark{background:var(--v-ink)}
.rrw .v-band--dark .v-h2,.rrw .v-band--dark .v-h3{color:var(--v-cream)}
.rrw .v-band--dark .v-lead,.rrw .v-band--dark .v-body{color:color-mix(in oklab,var(--v-cream) 76%,transparent)}

.rrw .v-sec-head{max-width:60ch;margin-bottom:clamp(30px,4vw,54px)}
.rrw .v-sec-head.is-centered{margin-inline:auto;text-align:center}
.rrw .v-sec-head.is-centered .v-eyebrow{justify-content:center}
.rrw .v-sec-head.is-centered .v-lead{margin-inline:auto}

/* Bild mot text, halva mot halva */
.rrw .v-split{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,5.4vw,84px);align-items:center;
}
.rrw .v-split-media{
  aspect-ratio:4/5;border-radius:2px;background-size:cover;background-position:center;
  box-shadow:0 44px 74px -46px rgba(23,14,7,.78);
}
.rrw .v-split--reverse .v-split-media{order:2}

/* ── 7. Hantverket: stillastående rubrik, stegen rullar förbi ─────────────── */

.rrw .v-craft{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(30px,6vw,96px);align-items:start;
}
.rrw .v-craft-aside{position:sticky;top:104px}
.rrw .v-craft-aside .v-lead{margin-bottom:26px}

.rrw .v-step{
  display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);
  gap:clamp(18px,2.8vw,36px);align-items:start;
  padding:clamp(26px,3.6vw,52px) 0;border-top:1px solid var(--v-rule);
}
.rrw .v-step:first-child{border-top:0;padding-top:0}
.rrw .v-step:last-child{padding-bottom:0}
.rrw .v-step-shot{
  aspect-ratio:4/5;background-size:cover;background-position:center;border-radius:2px;
  box-shadow:0 26px 46px -28px rgba(23,14,7,.75);
}
.rrw .v-step-nr{
  display:block;margin-bottom:11px;font-family:var(--c-body);
  font-size:11px;font-weight:700;letter-spacing:.24em;color:var(--c-accent);
}

/* ── 8. Rummet: två bilder som överlappar, texten i ytterspalten ──────────── */

.rrw .v-collage{display:grid;grid-template-columns:repeat(12,1fr);align-items:center}
.rrw .v-collage-main{
  grid-column:1/7;grid-row:1;aspect-ratio:16/11;border-radius:2px;
  background-size:cover;background-position:center;
  box-shadow:0 44px 72px -44px rgba(23,14,7,.8);
}
.rrw .v-collage-sub{
  grid-column:4/8;grid-row:1;z-index:2;align-self:end;
  transform:translateY(clamp(30px,5vw,76px));
  aspect-ratio:1;border-radius:2px;border:9px solid var(--c-bg);
  background-size:cover;background-position:center;
  box-shadow:0 32px 60px -32px rgba(23,14,7,.75);
}
.rrw .v-collage-txt{grid-column:8/13;grid-row:1;padding-left:clamp(24px,3vw,46px)}
.rrw .v-collage-txt .v-h2{font-size:clamp(26px,3vw,42px)}
.rrw .v-collage-txt .v-body{max-width:34ch}
.rrw .v-sec--collage{padding-bottom:clamp(90px,12vw,190px)}

/* ── 9. Värdeord ──────────────────────────────────────────────────────────── */

.rrw .v-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3.6vw,54px)}
.rrw .v-value{padding-top:20px;border-top:2px solid var(--c-accent)}
.rrw .v-value p{margin:0;font-size:15px;line-height:1.72;color:color-mix(in oklab,var(--c-text) 76%,transparent)}
.rrw .v-band--dark .v-value{border-top-color:var(--v-gold)}
.rrw .v-band--dark .v-value p{color:color-mix(in oklab,var(--v-cream) 74%,transparent)}

/* ── 10. Bildremsa ───────────────────────────────────────────────────────── */

.rrw .v-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,20px)}
.rrw .v-strip > div{aspect-ratio:1;border-radius:2px;background-size:cover;background-position:center}
.rrw .v-strip > div:nth-child(2){transform:translateY(clamp(14px,2.6vw,36px))}

/* ── 11. Boka: bild mot mörk panel ───────────────────────────────────────── */

.rrw .v-reserve{display:grid;grid-template-columns:1.05fr 1fr;min-height:clamp(420px,50vw,560px)}
.rrw .v-reserve-media{background-size:cover;background-position:center}
.rrw .v-reserve-panel{
  position:relative;overflow:hidden;background:var(--v-ink);color:var(--v-cream);
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(40px,5.6vw,88px) clamp(28px,5vw,72px);
}
/* Glöden från ugnen, som en varm fläck i panelens hörn */
.rrw .v-reserve-panel::before{
  content:"";position:absolute;right:-150px;top:-150px;width:400px;height:400px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,color-mix(in oklab,var(--v-ember) 40%,transparent),transparent 68%);
}
.rrw .v-reserve-panel > *{position:relative}
.rrw .v-reserve-panel .v-h2{color:var(--v-cream)}
.rrw .v-reserve-panel .v-body{color:color-mix(in oklab,var(--v-cream) 76%,transparent)}

/* ── 12. Öppettider ──────────────────────────────────────────────────────── */

.rrw .v-hours{margin:clamp(22px,2.8vw,32px) 0 0;font-variant-numeric:tabular-nums}
.rrw .v-hours > div{
  display:flex;align-items:baseline;gap:16px;padding:12px 0;
  border-top:1px solid var(--v-rule);
}
.rrw .v-hours > div:last-child{border-bottom:1px solid var(--v-rule)}
.rrw .v-hours dt{flex:none;font-size:14px;font-weight:500}
.rrw .v-hours dd{
  margin:0 0 0 auto;font-family:var(--c-heading);font-size:16px;font-weight:600;
  letter-spacing:-.01em;color:var(--c-accent);
}
.rrw .v-band--dark .v-hours > div,.rrw .v-reserve-panel .v-hours > div{border-color:var(--v-rule-light)}
.rrw .v-band--dark .v-hours > div:last-child,.rrw .v-reserve-panel .v-hours > div:last-child{border-bottom-color:var(--v-rule-light)}
.rrw .v-band--dark .v-hours dd,.rrw .v-reserve-panel .v-hours dd{color:var(--v-gold)}

.rrw .v-note{
  margin:18px 0 0;font-size:12.5px;line-height:1.7;
  color:color-mix(in oklab,var(--c-text) 58%,transparent);
}
.rrw .v-reserve-panel .v-note,.rrw .v-band--dark .v-note{color:color-mix(in oklab,var(--v-cream) 55%,transparent)}
.rrw .v-note a{border-bottom:1px solid currentColor}

/* ── 13. Sidhuvud för undersidor ─────────────────────────────────────────── */

.rrw .v-pagehead{
  position:relative;isolation:isolate;overflow:hidden;background:var(--v-ink);
  min-height:clamp(290px,40vw,450px);display:flex;align-items:flex-end;
}
.rrw .v-pagehead-media{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center}
.rrw .v-pagehead::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(0deg,rgba(12,7,3,.88) 0%,rgba(12,7,3,.34) 58%,rgba(12,7,3,.52) 100%);
}
.rrw .v-pagehead-inner{
  width:100%;max-width:var(--v-max);margin-inline:auto;
  padding:clamp(56px,8vw,92px) var(--v-pad) clamp(30px,4vw,52px);
}
.rrw .v-pagehead h1{
  margin:0;font-family:var(--c-heading);font-weight:600;color:var(--v-cream);
  font-size:clamp(38px,6.2vw,82px);line-height:.97;letter-spacing:-.035em;
}
/* :not(.v-eyebrow) — annars skulle etiketten ovanför rubriken ärva
   ingressens ljusa färg i stället för att stå kvar i guld. */
.rrw .v-pagehead p:not(.v-eyebrow){
  margin:16px 0 0;max-width:46ch;font-size:clamp(15px,1.2vw,17px);line-height:1.72;
  color:color-mix(in oklab,var(--v-cream) 78%,transparent);
}

/* ── 14. Menysidan ───────────────────────────────────────────────────────── */

/* Systembannern som markerar exempelinnehåll: behålls, men dämpas till en
   diskret notis i stället för ett rött fält tvärs över sidan. */
.rrw .content-placeholder-banner{
  background:var(--c-bg-muted);color:color-mix(in oklab,var(--c-text) 66%,transparent);
  border-bottom:1px solid var(--v-rule);text-align:left;
  padding:12px var(--v-pad);font-size:10.5px;font-weight:600;letter-spacing:.16em;
}

.rrw .catbar{
  position:sticky;top:64px;z-index:40;
  justify-content:center;flex-wrap:wrap;gap:clamp(12px,2.4vw,30px);
  padding:14px var(--v-pad);
  background:color-mix(in oklab,var(--c-bg) 92%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--v-rule);
}
.rrw .catbar .ct,.rrw .catbar.cs-pills .ct{
  padding:8px 2px;background:transparent;border:0;border-radius:0;
  border-bottom:1.5px solid transparent;
  font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:color-mix(in oklab,var(--c-text) 58%,transparent);
  transition:color .18s,border-color .18s;
}
.rrw .catbar .ct:hover{color:var(--c-head)}
.rrw .catbar .ct.on,.rrw .catbar.cs-pills .ct.on{
  background:transparent;color:var(--c-accent);border-bottom-color:var(--c-accent);
}

.rrw .menu-scroll{max-height:none;overflow:visible}
.rrw .menu-body.sec{
  max-width:var(--v-max);margin-inline:auto;
  padding:clamp(46px,6vw,88px) var(--v-pad) clamp(58px,8vw,116px);
}

/* Två spalter per kategori på stora skärmar — rubriken spänner över båda */
.rrw .mcat{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 clamp(30px,5vw,72px);
  margin-bottom:clamp(40px,5.4vw,80px);
}
.rrw .mcat:last-child{margin-bottom:0}
.rrw .mcat > .cat{grid-column:1/-1}
.rrw .mcat > div:not(.cat){padding:16px 0;border-top:1px solid var(--v-rule)}

.rrw .mv-dotted .cat-classic{
  margin:0 0 clamp(20px,2.8vw,34px);gap:clamp(16px,3vw,30px);
  font-family:var(--c-heading);font-weight:600;color:var(--c-head);
  font-size:clamp(24px,3.2vw,40px);letter-spacing:-.028em;
}
.rrw .mv-dotted .cat-classic::before,.rrw .mv-dotted .cat-classic::after{background:var(--v-rule)}

.rrw .menu .it{align-items:baseline;gap:8px;margin:0}
.rrw .menu .it .nm{
  font-family:var(--c-heading);font-weight:600;color:var(--c-head);
  font-size:clamp(17px,1.5vw,20px);letter-spacing:-.012em;
}
.rrw .menu .it .pr{
  font-family:var(--c-heading);font-weight:600;font-size:16px;
  color:var(--c-accent);font-variant-numeric:tabular-nums;
}
.rrw .mv-dotted .it .leader{
  margin:0 12px;top:-4px;
  border-bottom:1px dotted color-mix(in oklab,var(--c-text) 34%,transparent);
}
.rrw .menu .it .ds,.rrw .menu .ds{
  margin:7px 0 0;max-width:46ch;opacity:1;
  font-size:13.5px;line-height:1.6;color:color-mix(in oklab,var(--c-text) 60%,transparent);
}

/* ── 15. Kontaktsidan ────────────────────────────────────────────────────── */

.rrw .v-contact{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(30px,5vw,84px);align-items:start;
}
.rrw .v-info{margin:0}
.rrw .v-info > div{
  display:grid;grid-template-columns:clamp(92px,12vw,132px) minmax(0,1fr);
  gap:16px;align-items:baseline;padding:19px 0;border-top:1px solid var(--v-rule);
}
.rrw .v-info > div:last-child{border-bottom:1px solid var(--v-rule)}
.rrw .v-info dt{
  font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--c-accent);
}
.rrw .v-info dd{margin:0;font-size:16px;line-height:1.65;color:var(--c-text)}
.rrw .v-info dd a{border-bottom:1px solid var(--v-rule);transition:color .18s,border-color .18s}
.rrw .v-info dd a:hover{color:var(--c-accent);border-bottom-color:var(--c-accent)}

.rrw .v-card{
  background:var(--c-bg-muted);border:1px solid var(--v-rule);border-radius:3px;
  padding:clamp(26px,3.4vw,42px);
}
.rrw .v-card .v-hours{margin-top:6px}

.rrw .v-figure{
  aspect-ratio:21/9;border-radius:2px;background-size:cover;background-position:center;
  box-shadow:0 44px 72px -46px rgba(23,14,7,.75);
}

/* ── 16. Footer ──────────────────────────────────────────────────────────── */

.rrw .v-foot{background:var(--v-ink);color:var(--v-cream);padding:0}
.rrw .v-foot-inner{
  max-width:var(--v-max);margin-inline:auto;
  padding:clamp(48px,6.4vw,92px) var(--v-pad) clamp(34px,4vw,54px);
  display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.4fr;gap:clamp(26px,4vw,58px);
}
.rrw .v-foot h4{
  margin:0 0 17px;font-family:var(--c-body);font-size:10.5px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--v-gold);
}
.rrw .v-foot p,.rrw .v-foot a,.rrw .v-foot span,.rrw .v-foot dt,.rrw .v-foot dd{
  font-size:14px;line-height:1.75;opacity:1;
  color:color-mix(in oklab,var(--v-cream) 78%,transparent);
}
.rrw .v-foot a{transition:color .18s}
.rrw .v-foot a:hover{color:var(--v-ember)}
.rrw .v-foot .v-mark::before{
  background:linear-gradient(178deg,var(--v-ember),var(--c-accent) 52%,color-mix(in oklab,var(--v-cream) 62%,transparent));
}
.rrw .v-foot-brand b{
  display:block;margin:15px 0 11px;font-family:var(--c-heading);font-size:21px;
  font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--v-cream);
}
.rrw .v-foot-brand p{max-width:30ch}
.rrw .v-foot-nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.rrw .v-foot-hours{margin:0}
.rrw .v-foot-hours > div{display:flex;justify-content:space-between;gap:18px;padding:4px 0}
.rrw .v-foot-hours dt{flex:none}
.rrw .v-foot-hours dd{margin:0;color:var(--v-cream);font-variant-numeric:tabular-nums}
.rrw .v-foot .v-foot-note{
  margin-top:17px;font-size:12.5px;line-height:1.68;
  color:color-mix(in oklab,var(--v-cream) 54%,transparent);
}
.rrw .v-foot-base{
  max-width:var(--v-max);margin-inline:auto;
  padding:20px var(--v-pad) 36px;border-top:1px solid var(--v-rule-light);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 26px;
}
.rrw .v-foot-base span{font-size:12px;color:color-mix(in oklab,var(--v-cream) 52%,transparent)}

/* ── 17. Responsivt ──────────────────────────────────────────────────────── */

@media(max-width:1024px){
  .rrw .v-craft{grid-template-columns:1fr;gap:clamp(28px,5vw,44px)}
  .rrw .v-craft-aside{position:static}
  .rrw .v-foot-inner{grid-template-columns:1fr 1fr;gap:36px}
}

@media(max-width:820px){
  /* Navigeringen bryts i två rader: varumärke + boka överst, länkarna under.
     Inget göms — raden rullar i sidled om den inte får plats. */
  .rrw .v-nav{flex-wrap:wrap;gap:10px;padding:11px var(--v-pad) 0}
  .rrw .v-nav .v-btn{margin-left:auto}
  .rrw .v-nav-links{
    order:3;width:100%;margin:0;gap:22px;padding:11px 0;
    overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--v-rule);
  }
  .rrw .v-nav-links::-webkit-scrollbar{display:none}

  .rrw .v-hero{min-height:auto}
  .rrw .v-hero-rail{display:none}
  .rrw .v-hero-facts{grid-template-columns:1fr;gap:0}
  .rrw .v-hero-facts li{display:flex;align-items:baseline;gap:14px;padding:13px 0}
  .rrw .v-hero-facts b{margin:0;font-size:22px}
  .rrw .v-hero-facts span{margin-left:auto;text-align:right}

  .rrw .v-step{grid-template-columns:1fr;gap:18px}
  .rrw .v-step-shot{aspect-ratio:16/10}

  .rrw .v-collage{display:flex;flex-direction:column}
  .rrw .v-collage-main{aspect-ratio:16/11}
  .rrw .v-collage-sub{width:62%;align-self:flex-end;margin-top:-16%;transform:none;border-width:7px}
  .rrw .v-collage-txt{padding-left:0;margin-top:clamp(24px,5vw,40px)}
  .rrw .v-sec--collage{padding-bottom:clamp(58px,8.4vw,130px)}

  .rrw .v-values{grid-template-columns:1fr;gap:26px}
  .rrw .v-split{grid-template-columns:1fr;gap:clamp(24px,5vw,38px)}
  .rrw .v-split-media,.rrw .v-split--reverse .v-split-media{order:0;aspect-ratio:16/11}
  .rrw .v-contact{grid-template-columns:1fr}
  .rrw .v-reserve{grid-template-columns:1fr}
  .rrw .v-reserve-media{min-height:280px}
  .rrw .v-figure{aspect-ratio:16/10}

  .rrw .catbar{position:static;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}
  .rrw .mcat{grid-template-columns:1fr}

  /* navraden är två rader här, och kategoriraden rullar med sidan */
  html{scroll-padding-top:116px}
}

@media(max-width:560px){
  .rrw .v-brand-txt b{font-size:17px}
  .rrw .v-strip{grid-template-columns:1fr 1fr}
  .rrw .v-strip > div:nth-child(2){transform:none}
  .rrw .v-strip > div:nth-child(3){grid-column:1/-1;aspect-ratio:16/9}
  .rrw .v-foot-inner{grid-template-columns:1fr;gap:32px}
  .rrw .v-actions .v-btn{flex:1 1 100%;justify-content:center}
}
