/* New Palace — mobil först (390 px), sedan 768 / 900 / 1200 */

/* Typsnitt på sajten själv (latin inkl. åäö, variabla woff2). Jost 400–600, Playfair Display 500–600 + italic 500. */
@font-face{font-family:"Jost";font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/jost-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:500 600;font-display:swap;src:url("../fonts/playfair-display-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:500;font-display:swap;src:url("../fonts/playfair-display-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --ink:#14110a; --ink-2:#1e1910; --cream:#fbf6ea; --paper:#f3e9d2;
  --text:#3a2810; --muted:#5b4324; --gold:#cda24e; --gold-dark:#806213; /* mörkad från #8a6a15: 5,3:1 på cream, 4,7:1 på paper */
  --gold-text:#7a5c10; /* guld för små etiketter på ljust (AA även på --paper) */
  --aegean:#1f4f8f; --aegean-light:#9cbcf0;
  --line:rgba(138,106,21,.28); --line-dark:rgba(205,162,78,.2);
  --on-dark:rgba(251,246,234,.82); --on-dark-dim:rgba(251,246,234,.64);
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Jost","Segoe UI",system-ui,sans-serif;
  --gutter:clamp(20px,6vw,64px); --header:64px; --callbar:0px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 12px)}
body{margin:0;background:var(--cream);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:var(--callbar)}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
h1,h2{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-.005em;text-wrap:balance}
p{text-wrap:pretty}
em{font-style:italic}
:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}
.on-dark :focus-visible,.site-header :focus-visible,.site-footer :focus-visible,.callbar :focus-visible,.mobile-menu :focus-visible{outline-color:var(--gold)}
::selection{background:rgba(205,162,78,.3)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:calc(1240px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:fixed;left:12px;top:12px;z-index:200;transform:translateY(-200%);padding:12px 18px;background:var(--gold);color:var(--ink);font-weight:600;transition:transform .2s}
.skip:focus{transform:none}

/* Typo-hjälpare */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.8rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text)}
.on-dark .eyebrow{color:var(--gold)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.title{font-size:clamp(2.1rem,7.4vw,3.4rem);color:var(--text)}
.on-dark .title{color:var(--cream)}
.title em{color:var(--gold-dark)}
.on-dark .title em{color:var(--gold)}
.lede{font-size:1.06rem;color:var(--muted);max-width:52ch}
.on-dark .lede{color:var(--on-dark)}
.small{font-size:.9rem;color:var(--muted)}
.on-dark .small{color:var(--on-dark-dim)}

/* Knappar — kvadratiska */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:1px solid transparent;border-radius:0;font-size:.84rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s}
.btn svg{width:18px;height:18px;flex:none}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--cream)}
.btn-ghost{border-color:rgba(251,246,234,.6);color:var(--cream);background:rgba(20,17,10,.25)}
.btn-ghost:hover{border-color:var(--cream);background:rgba(251,246,234,.12)}
.btn-dark{background:var(--text);color:var(--cream)}
.btn-dark:hover{background:var(--gold-dark)}
.btn-outline{border-color:rgba(122,92,16,.55);color:var(--gold-text)}
.btn-outline:hover{border-color:var(--text);color:var(--text)}
.btn-aegean{background:var(--aegean);color:var(--cream)}
.btn-aegean:hover{background:#173d70}
.text-link{display:inline-flex;align-items:center;min-height:44px;gap:8px;font-size:.84rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.on-dark .text-link{color:var(--gold)}
.text-link:hover{color:var(--text)}
.on-dark .text-link:hover{color:var(--cream)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header);background:var(--ink);border-bottom:1px solid var(--line-dark);color:var(--cream)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:11px;min-height:44px;flex:none}
.brand svg{width:32px;height:32px}
.brand-text{display:grid;gap:3px;line-height:1}
.brand-name{font-family:var(--serif);font-weight:500;font-size:1.02rem;letter-spacing:.16em;color:var(--cream);white-space:nowrap}
.brand-sub{font-size:.66rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.nav{display:none}
.header-actions{display:flex;align-items:center;gap:8px}
.lang{display:flex;border:1px solid var(--line-dark)}
.lang-btn{min-width:44px;min-height:44px;padding:0 8px;border:0;background:transparent;color:var(--on-dark-dim);font-size:.78rem;font-weight:500;letter-spacing:.14em}
.lang-btn[aria-pressed="true"]{background:var(--gold);color:var(--ink)}
.header-book{display:none}
.burger{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-dark);background:transparent;color:var(--gold)}
.burger svg{width:20px;height:20px}
.mobile-menu{position:fixed;inset:var(--header) 0 0;z-index:49;overflow-y:auto;background:var(--ink);color:var(--cream);padding:28px var(--gutter) 120px;display:grid;align-content:start;gap:6px}
.mobile-menu a.mm-link{display:flex;align-items:center;min-height:52px;font-family:var(--serif);font-size:1.7rem;border-bottom:1px solid var(--line-dark)}
.mobile-menu a.mm-link[aria-current="page"]{color:var(--gold)}
.mobile-menu .mm-foot{display:grid;gap:14px;margin-top:22px}
.mobile-menu .status{margin-top:4px}
body.menu-open{overflow:hidden}

/* Öppet nu-chip */
.status{display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:4px 14px 4px 12px;border:1px solid rgba(251,246,234,.28);background:rgba(20,17,10,.55);color:var(--cream);font-size:.86rem;font-weight:500;letter-spacing:.06em}
.status-dot{width:9px;height:9px;border-radius:50%;background:#9a9a9a;flex:none}
.status.is-open .status-dot{background:#4cc36b;box-shadow:0 0 0 0 rgba(76,195,107,.6);animation:pulse 2s infinite}
.status.is-closed .status-dot{background:#e0564a}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(76,195,107,0)}100%{box-shadow:0 0 0 0 rgba(76,195,107,0)}}
.status-light{border-color:var(--line);background:var(--paper);color:var(--text)}

main{padding-top:var(--header)}

/* Hero */
.hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:calc(100svh - var(--header));min-height:calc(100dvh - var(--header));background:var(--ink);color:var(--cream);overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;animation:heroZoom 1.6s var(--ease) both}
/* Rummet syns i övre halvan; mörkt nedtill (mobil) och nedtill + vänster (dator) bakom texten */
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,17,10,.26) 0%,rgba(20,17,10,.06) 16%,rgba(20,17,10,.4) 26%,rgba(20,17,10,.84) 35%,rgba(20,17,10,.95) 100%)}
.hero-content{display:grid;gap:14px;justify-items:start;padding-block:28px 76px}
.hero h1{font-size:clamp(2.55rem,11vw,5.8rem);line-height:1.02;color:var(--cream);max-width:14ch}
.hero h1 em{display:block;color:var(--gold)}
.hero .lede{color:var(--on-dark);max-width:44ch}
.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:4px}
.hero-actions .btn{padding:0 12px}
.hero-sub{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px}
.rating{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--on-dark)}
.rating svg{width:15px;height:15px;fill:var(--gold)}
.hero-content>*{animation:rise .8s var(--ease) both}
.hero-content>*:nth-child(2){animation-delay:.08s}.hero-content>*:nth-child(3){animation-delay:.16s}.hero-content>*:nth-child(4){animation-delay:.24s}.hero-content>*:nth-child(5){animation-delay:.32s}.hero-content>*:nth-child(6){animation-delay:.4s}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.foot-col a{min-width:44px}

/* Faktarad */
.facts-strip{background:var(--cream)}
.facts-strip .facts{padding-top:28px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;padding-block:22px 30px;border-bottom:1px solid var(--line)}
.fact{display:grid;gap:2px;min-height:44px;align-content:start}
.fact-label{font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.fact-value{font-size:1rem;color:var(--text)}
a.fact:hover .fact-value{color:var(--gold-dark)}

/* Sektioner */
.section{padding-block:clamp(56px,11vw,120px)}
.section-cream{background:var(--cream)}
.section-paper{background:var(--paper)}
.section-dark{background:var(--ink);color:var(--cream)}
.section-head{display:grid;gap:14px;margin-bottom:clamp(28px,5vw,48px)}

/* Favoriter */
.fav-layout{display:grid;gap:34px}
.fav-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 16px}
.fav-img{aspect-ratio:4/5;overflow:hidden;background:var(--paper)}
.fav-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.fav-card:hover .fav-img img{transform:scale(1.04)}
/* Mobil: namn överst, pris under på alla kort. Från 600 px: samma rad, priset bryts aldrig. */
.fav-row{display:grid;gap:2px;padding-top:10px;margin-top:12px;border-top:1px solid var(--line)}
.fav-name{font-family:var(--serif);font-weight:500;font-size:1.14rem;line-height:1.25}
.fav-price{font-family:var(--serif);font-weight:600;color:var(--gold-text);white-space:nowrap}
.fav-desc{margin-top:4px;font-size:.92rem;line-height:1.45;color:var(--muted)}

/* Student */
.student .section-head{position:relative;padding-right:92px}
.stamp{position:absolute;top:-8px;right:0;width:86px;height:86px;color:var(--aegean);transform:rotate(-12deg)}
.student .eyebrow{color:var(--aegean)}
.student .title em{color:var(--aegean)}
.student-grid{display:grid;gap:16px}
.student-card{display:grid;gap:10px;align-content:start;padding:24px 22px;background:var(--cream);border-top:2px solid var(--gold)}
.student-card h3{font-family:var(--serif);font-weight:500;font-size:1.45rem;color:var(--text)}
.student-card p{color:var(--muted)}
.card-icon{width:44px;height:44px;color:var(--aegean)}
.student .actions{margin-top:28px}
.example-tag{justify-self:start;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--aegean);border:1px solid rgba(31,79,143,.4);padding:2px 8px}

/* Delad bild + text */
.split{display:grid}
.split-media{position:relative;min-height:300px;background:var(--ink-2);overflow:hidden}
.split-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-body{display:grid;gap:16px;align-content:center;padding:48px var(--gutter)}
.big-price{display:flex;align-items:baseline;gap:8px;font-family:var(--serif);color:var(--gold);line-height:1}
.big-price b{font-weight:500;font-size:clamp(3.4rem,14vw,5.4rem)}
.big-price span{font-family:var(--sans);font-size:1rem;letter-spacing:.14em;text-transform:uppercase}
.on-light .big-price{color:var(--text)}
.on-light .big-price span{color:var(--gold-text)}
.meta{font-size:.84rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.on-light .meta{color:var(--gold-text)}

/* Matlåda efter lunchen — mobil: rubrik, beställning, affisch. Från 900 px: affischen till vänster. */
.leftover-grid{display:grid;gap:32px;grid-template-areas:"head" "card" "poster"}
.leftover-head{grid-area:head;display:grid;gap:14px;max-width:54ch}
.lo-card{grid-area:card;position:relative;display:grid;gap:20px;padding:22px 18px 24px;background:var(--ink-2);color:var(--cream);border:1px solid rgba(205,162,78,.55);outline:1px solid rgba(205,162,78,.18);outline-offset:-7px;box-shadow:0 30px 60px -30px rgba(20,17,10,.6)}
.lo-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px}
.status.is-soon .status-dot{background:var(--gold);animation:lo-glow 2s infinite}
@keyframes lo-glow{0%{box-shadow:0 0 0 0 rgba(205,162,78,.6)}70%{box-shadow:0 0 0 8px rgba(205,162,78,0)}100%{box-shadow:0 0 0 0 rgba(205,162,78,0)}}
.lo-clock{display:flex;align-items:baseline;gap:10px}
.lo-clock-label{font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-dim)}
.lo-clock-num{font-family:var(--serif);font-size:clamp(1.9rem,8vw,2.5rem);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.lo-clock-num b{font-weight:500}
.lo-form{gap:0}
.lo-step{display:grid;gap:14px;padding-block:20px;border-top:1px solid var(--line-dark)}
.lo-step-t{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.3rem;line-height:1.2;color:var(--cream)}
.lo-n{display:grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid var(--gold);border-radius:50%;font-family:var(--sans);font-size:.8rem;font-weight:600;color:var(--gold)}
.lo-qty-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.lo-stepper{display:inline-flex;align-items:stretch;border:1px solid rgba(205,162,78,.55)}
.lo-step-btn{display:grid;place-items:center;width:48px;height:56px;border:0;background:transparent;color:var(--gold);cursor:pointer;transition:background-color .2s,color .2s}
.lo-step-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.lo-step-btn:hover:not(:disabled){background:rgba(205,162,78,.14);color:var(--cream)}
.lo-step-btn:disabled{color:rgba(251,246,234,.3);cursor:default}
.lo-stepper input{width:56px;border:0;border-inline:1px solid rgba(205,162,78,.35);border-radius:0;background:transparent;color:var(--cream);text-align:center;font-family:var(--serif);font-size:1.7rem;appearance:textfield;-moz-appearance:textfield}
.lo-stepper input::-webkit-inner-spin-button,.lo-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.lo-stepper input:focus-visible,.lo-step-btn:focus-visible,.lo-slot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.lo-total{display:flex;align-items:baseline;gap:8px;font-family:var(--serif);color:var(--gold);line-height:1}
.lo-total b{display:inline-block;font-weight:500;font-size:clamp(2.8rem,12vw,4.4rem);font-variant-numeric:tabular-nums}
.lo-total span{font-family:var(--sans);font-size:.95rem;letter-spacing:.14em;text-transform:uppercase}
.lo-total b.is-bump{animation:lo-bump .4s var(--ease)}
@keyframes lo-bump{40%{transform:scale(1.14)}100%{transform:none}}
.lo-saved{font-size:.95rem;color:var(--on-dark)}
.lo-day{display:flex;align-items:center;gap:10px;font-size:1.02rem;color:var(--cream)}
.lo-day svg{width:20px;height:20px;color:var(--gold);flex:none}
.lo-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lo-slot{min-height:48px;padding:4px 6px;border:1px solid rgba(251,246,234,.3);border-radius:0;background:transparent;color:var(--cream);font-size:.95rem;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.lo-slot:hover:not(:disabled){border-color:var(--gold)}
.lo-slot[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.lo-slot:disabled{opacity:.4;cursor:default;text-decoration:line-through}
.lo-card .field label{color:var(--gold)}
.lo-card .field input{color:var(--cream);border-bottom-color:rgba(205,162,78,.55)}
.lo-card .field input:focus{outline-color:var(--gold);border-color:var(--cream)}
.lo-card .field-error{color:#ffb4a8}
.lo-card .field.has-error input{border-color:#ff8f80}
.lo-card .form-error{margin-bottom:12px}
.lo-submit{width:100%;min-height:60px;margin-top:6px;padding:10px 16px;white-space:normal;text-align:center;font-size:.9rem;letter-spacing:.1em;line-height:1.3}
.lo-fine{margin-top:12px;font-size:.9rem;color:var(--on-dark);text-align:center}
.lo-card .consent{margin-top:8px;font-size:.84rem;color:var(--on-dark-dim);text-align:center}
.lo-card .consent a{color:var(--gold)}
.lo-done{gap:12px;padding:6px 0 0;border:0;background:transparent;color:var(--cream)}
.lo-done h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,6vw,2.4rem);line-height:1.1;color:var(--cream)}
.lo-done .eyebrow{color:var(--gold)}
.lo-done .small{color:var(--on-dark)}
.lo-check{width:64px;height:64px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lo-check circle{stroke-dasharray:151;stroke-dashoffset:151;animation:lo-draw .7s var(--ease) forwards}
.lo-check path{stroke-dasharray:36;stroke-dashoffset:36;animation:lo-draw .45s .55s var(--ease) forwards}
@keyframes lo-draw{to{stroke-dashoffset:0}}
.leftover-poster{grid-area:poster;justify-self:center;width:100%;max-width:400px;margin:0}
.leftover-poster img{display:block;width:100%;height:auto;border:1px solid var(--line);background:var(--paper);box-shadow:0 30px 60px -28px rgba(20,17,10,.55);transform:rotate(-1.5deg);transition:transform .6s var(--ease)}
.leftover-poster:hover img{transform:none}

/* Fars dag */
.farsdag-grid{display:grid;gap:36px;align-items:center}
.farsdag-body{display:grid;gap:16px;justify-items:start}
.farsdag-poster{display:block;width:100%;max-width:560px;justify-self:center;border:1px solid var(--line-dark);box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}
.farsdag-poster img{display:block;width:100%;height:auto}

/* Källaren */
.cellar{display:grid;gap:30px}
.cellar-card{position:relative;padding:28px 22px;border:1px solid rgba(205,162,78,.45);background:var(--ink-2);color:var(--cream)}
.cellar-card>svg{width:54px;height:54px;margin-bottom:14px}
.fact-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding:11px 0;border-bottom:1px solid var(--line-dark);font-size:.98rem}
.fact-list li span:first-child{color:var(--on-dark-dim)}
.fact-list li span:last-child{text-align:right}

/* Om oss */
.about{display:grid;gap:34px;align-items:center}
.about-body{display:grid;gap:18px;max-width:52ch}
.about-body p{color:var(--text)}
.about-body p+p{color:var(--muted)}
.about-img{aspect-ratio:4/5;overflow:hidden;background:var(--paper)}
.about-img img{width:100%;height:100%;object-fit:cover}
.wide-figure{background:var(--ink);color:var(--on-dark-dim)}
.wide-figure .wide-img{height:clamp(240px,52vw,620px);overflow:hidden}
.wide-figure img{width:100%;height:100%;object-fit:cover}
.wide-figure figcaption{padding-block:16px 30px;font-style:italic;font-size:.98rem}

/* CTA-band längst ner */
.cta-band{background:var(--ink-2);color:var(--cream);padding-block:clamp(48px,9vw,90px);border-top:1px solid var(--line-dark)}
.cta-inner{display:grid;gap:22px}
.cta-inner .actions .btn{flex:1 1 200px}

/* Footer */
.site-footer{background:var(--ink);color:var(--on-dark);padding-block:56px 28px;font-size:.98rem}
.foot-grid{display:grid;gap:36px}
.foot-brand{display:grid;gap:12px;justify-items:start}
.foot-brand svg{width:48px;height:48px}
.foot-brand strong{font-family:var(--serif);font-weight:500;font-size:1.3rem;letter-spacing:.16em;color:var(--cream)}
.foot-brand p{color:var(--on-dark-dim);max-width:30ch;font-style:italic}
.foot-col{display:grid;gap:10px;align-content:start}
.foot-col h2{font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.foot-col a{display:inline-flex;align-items:center;min-height:44px}
.foot-col a:hover{color:var(--gold)}
.foot-links{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.hours li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:9px 0;border-bottom:1px solid var(--line)}
.on-dark .hours li,.site-footer .hours li{border-color:var(--line-dark)}
.hours li span:first-child{color:var(--muted)}
.site-footer .hours li span:first-child{color:var(--on-dark-dim)}
.site-footer .small{color:var(--on-dark-dim)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:40px;padding-top:18px;border-top:1px solid var(--line-dark);font-size:.8rem;letter-spacing:.08em;color:var(--on-dark-dim)}
.foot-credit a{display:inline-block;padding-block:4px;margin-block:-4px;color:var(--on-dark);text-decoration:underline;text-underline-offset:3px}
.foot-credit a:hover{color:var(--gold)}

/* Mobil knapprad */
.callbar{position:fixed;inset:auto 0 0;z-index:45;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(20,17,10,.97);border-top:1px solid var(--line-dark)}
.callbar .btn{min-height:52px;padding:0 8px;letter-spacing:.06em;font-size:.9rem;text-transform:none}
.callbar .btn-ghost{background:transparent}
body{--callbar:calc(68px + env(safe-area-inset-bottom))}

/* Undersidor */
.page-head{display:grid;gap:14px;padding-block:clamp(40px,8vw,84px) clamp(24px,4vw,38px);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(2.2rem,11vw,5rem);line-height:1;color:var(--text);min-width:0;overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3{overflow-wrap:break-word}
.on-dark .page-head{border-color:var(--line-dark)}
.on-dark .page-head h1{color:var(--cream)}

/* Meny */
.menu-bar{position:sticky;top:var(--header);z-index:20;background:var(--cream);box-shadow:0 1px 0 var(--line)}
.menu-bar-inner{display:grid;gap:4px;padding-block:8px 4px}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.chip{min-height:44px;padding:0 14px;border:1px solid rgba(31,79,143,.45);background:transparent;color:var(--aegean);font-size:.84rem;font-weight:500;letter-spacing:.04em}
.chip[aria-pressed="true"]{background:var(--aegean);border-color:var(--aegean);color:var(--cream)}
.menu-count{font-size:.86rem;color:var(--muted);padding-left:4px}
.menu-jump{display:flex;gap:2px 18px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
.menu-jump::-webkit-scrollbar{display:none}
.menu-jump a{display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.menu-jump a:hover{color:var(--text)}
.menu-sec{display:grid;gap:24px;padding-block:clamp(40px,7vw,76px);border-top:1px solid var(--line);scroll-margin-top:calc(var(--header) + 120px)}
.menu-sec:first-of-type{border-top:0}
.menu-aside{display:grid;gap:14px;align-content:start}
.menu-kicker{display:flex;align-items:center;gap:12px;font-size:.78rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.menu-kicker svg{width:36px;height:36px;flex:none}
.menu-aside h2{font-size:clamp(2rem,7vw,2.8rem);color:var(--text)}
.menu-note{font-style:italic;color:var(--muted);max-width:36ch}
.menu-img{aspect-ratio:16/9;overflow:hidden;background:var(--paper)}
.menu-img img{width:100%;height:100%;object-fit:cover}
.menu-list li{display:grid;grid-template-columns:auto 1fr auto;column-gap:10px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.item-name{font-family:var(--serif);font-weight:500;font-size:1.18rem;color:var(--text)}
.dots{border-bottom:1px dotted rgba(122,92,16,.55);transform:translateY(-5px)}
.item-price{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--gold-text);white-space:nowrap}
.item-desc{grid-column:1/-1;margin-top:3px;font-size:.95rem;line-height:1.45;color:var(--muted);max-width:62ch}
.menu-empty{padding:30px 0;color:var(--muted)}

/* Dryck */
.drinks-grid{display:grid;gap:40px;padding-block:clamp(32px,6vw,60px) 0}
.drink-sec{display:grid;gap:14px;align-content:start}
.drink-sec h2{font-family:var(--sans);font-size:.84rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);padding-bottom:12px;border-bottom:1px solid var(--line-dark)}
.drink-note{font-style:italic;color:var(--gold)}
.drink-list{display:grid;gap:12px}
.drink-list li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:baseline}
.drink-list .d-name{color:var(--cream)}
.drink-list .d-price{font-family:var(--serif);font-weight:600;color:var(--gold);white-space:nowrap}
.drink-list .d-desc{grid-column:1/-1;font-size:.92rem;font-style:italic;color:var(--on-dark-dim)}

/* Lunch */
.lunch-grid{display:grid;gap:40px;padding-block:clamp(32px,6vw,60px)}
.lunch-info{display:grid;gap:16px;align-content:start}
.lunch-prices{max-width:30rem}
.lunch-prices li{padding:10px 0}
.lunch-prices .item-name{font-size:1.05rem}
.stack{display:grid;gap:26px;align-content:start}
.boxed{display:grid;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.boxed h2,.label-h{font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.photo{overflow:hidden;background:var(--paper)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo-45{aspect-ratio:4/5}
.week-lunch{padding-block:clamp(40px,7vw,80px);background:var(--ink)}
.week-inner{display:grid;gap:28px}
.week-lunch .section-head{margin-bottom:0;align-content:start}
.week-lunch .title{font-size:clamp(2.6rem,10vw,4.6rem)}
.week-poster{display:block;width:100%;max-width:683px;justify-self:center;border:1px solid var(--line-dark);background:var(--ink);box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}

/* Boka */
.tabs{display:grid;gap:10px;margin-top:28px}
.tab{display:grid;gap:4px;min-height:64px;padding:14px 18px;text-align:left;border:1px solid rgba(122,92,16,.45);background:transparent}
.tab-label{font-size:.86rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
.tab-note{font-size:.95rem;color:var(--muted)}
.tab[aria-selected="true"]{background:var(--text);border-color:var(--text)}
.tab[aria-selected="true"] .tab-label{color:var(--gold)}
.tab[aria-selected="true"] .tab-note{color:var(--on-dark)}
.book-grid{display:grid;gap:44px;padding-block:32px clamp(56px,9vw,110px)}
.panel-title{font-size:clamp(1.8rem,6vw,2.4rem);color:var(--text);margin-bottom:22px}
.form{display:grid;gap:22px}
.form-row{display:grid;gap:22px}
.field{display:grid;gap:6px}
.field label{font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:8px 2px;border:0;border-bottom:1px solid rgba(122,92,16,.55);border-radius:0;background:transparent;color:var(--text);font-size:1.02rem;appearance:none;-webkit-appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--gold-text) 50%),linear-gradient(135deg,var(--gold-text) 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 8px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold-dark);outline-offset:2px;border-color:var(--text)}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#a3261b}
.field-error{font-size:.88rem;color:#a3261b}
.opt{font-weight:400;letter-spacing:.04em;text-transform:none}
.consent{font-size:.9rem;color:var(--muted)}
.consent a{color:var(--gold-text);text-decoration:underline;text-underline-offset:3px}
.form-note{font-style:italic;color:var(--muted);font-size:.95rem}
.form-error{padding:14px 16px;border-left:3px solid #a3261b;background:#f6e3dc;color:#5e1a12}
.form-error a{font-weight:600;text-decoration:underline}
.form-done{display:grid;gap:14px;padding:26px 22px;border:1px solid var(--line);background:var(--paper)}
.form-done h2{font-size:1.9rem;color:var(--text)}
.botcheck{display:none!important}
.call-big{font-family:var(--serif);font-size:clamp(1.8rem,7vw,2.3rem);color:var(--text);display:inline-flex;min-height:44px;align-items:center}
.call-big:hover{color:var(--gold-dark)}

/* Kontakt */
.contact-grid{display:grid;gap:40px;padding-block:clamp(32px,6vw,60px) clamp(56px,9vw,110px)}
.address{font-family:var(--serif);font-size:1.4rem;line-height:1.4;color:var(--text)}

/* Integritetspolicy */
.prose{max-width:68ch;padding-block:32px clamp(56px,9vw,110px);display:grid;gap:14px}
.prose h2{font-size:1.6rem;color:var(--text);margin-top:18px}
.prose ul{list-style:disc;padding-left:22px;display:grid;gap:6px}
.prose a{color:var(--gold-text);text-decoration:underline}

/* Reveal — bara när JS finns */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}

/* Små telefoner (< 390 px): headern får plats med logga, SV/EN och hamburgare */
@media (max-width:389px){
  .site-header .wrap{padding-inline:14px}
  .header-inner{gap:8px}
  .header-actions{gap:6px}
  .brand{gap:8px}
  .brand svg{width:28px;height:28px}
  .brand-name{font-size:.84rem;letter-spacing:.1em}
  .brand-sub{font-size:.6rem;letter-spacing:.2em}
}
/* ≥ 600 */
@media (min-width:600px){
  .hero-actions{display:flex;flex-wrap:wrap;width:auto}
  .hero-actions .btn{padding:0 30px}
  .facts{grid-template-columns:repeat(4,1fr)}
  .fav-grid{gap:30px 22px}
  .fav-row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:10px}
  .fav-name{min-width:0}
  .form-row{grid-template-columns:1fr 1fr}
  .form-row.three{grid-template-columns:1fr 1fr 1fr}
  .tabs{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .drinks-grid{grid-template-columns:1fr 1fr;column-gap:48px}
  .lo-card{padding:30px 32px 32px}
  .lo-slots{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* ≥ 900 */
@media (min-width:900px){
  :root{--header:72px}
  .nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px);margin-inline:auto}
  .nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark)}
  .nav a:hover{color:var(--cream)}
  .nav a[aria-current="page"]{color:var(--gold)}
  .nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--gold)}
  .header-book{display:inline-flex;min-height:44px;padding:0 20px}
  .burger,.mobile-menu,.callbar{display:none!important}
  body{--callbar:0px}
  .hero-content{padding-block:60px 110px}
  .hero-shade{background:linear-gradient(180deg,rgba(20,17,10,.2) 0%,rgba(20,17,10,.03) 30%,rgba(20,17,10,.5) 55%,rgba(20,17,10,.92) 100%),radial-gradient(ellipse 70% 62% at 16% 66%,rgba(20,17,10,.9) 0%,rgba(20,17,10,.82) 55%,rgba(20,17,10,0) 100%)}
  .fav-layout{grid-template-columns:minmax(240px,1fr) 2.6fr;gap:60px;align-items:start}
  .fav-grid{grid-template-columns:repeat(4,1fr)}
  .student-grid{grid-template-columns:repeat(3,1fr);gap:24px}
  .stamp{width:118px;height:118px;right:4%}
  .split{grid-template-columns:1fr 1fr}
  .split-media{min-height:560px}
  .split-body{padding:80px clamp(40px,6vw,96px)}
  .leftover-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"poster head" "poster card";column-gap:clamp(48px,6vw,96px);row-gap:28px;align-items:start}
  .leftover-poster{position:sticky;top:calc(var(--header) + 40px);max-width:440px;justify-self:start}
  .lo-card{padding:34px 40px 36px}
  .cellar{grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
  .about{grid-template-columns:1.1fr 1fr;gap:80px}
  .cta-inner{grid-template-columns:1.2fr 1fr;align-items:end}
  .cta-inner .actions .btn{flex:0 1 auto}
  .foot-grid{grid-template-columns:1.1fr 1fr 1.2fr 1fr}
  .menu-bar-inner{grid-template-columns:auto 1fr;align-items:center;column-gap:26px;padding-block:6px}
  .menu-bar-inner{grid-template-columns:auto minmax(0,1fr)}
  .menu-jump{margin:0;padding:0;gap:2px 13px}
  .menu-jump a{letter-spacing:.06em;font-size:.74rem}
  .menu-img{aspect-ratio:4/3}
  .menu-jump a:first-child{margin-left:auto}
  .menu-sec{grid-template-columns:minmax(240px,1fr) 2.2fr;gap:60px;scroll-margin-top:calc(var(--header) + 70px)}
  .drinks-grid{grid-template-columns:repeat(3,1fr)}
  .lunch-grid,.book-grid,.contact-grid{grid-template-columns:1.1fr 1fr;gap:72px}
  .week-inner{grid-template-columns:minmax(240px,1fr) minmax(0,683px);gap:60px;align-items:start}
  .week-lunch .section-head{position:sticky;top:calc(var(--header) + 32px)}
  .week-poster{justify-self:end}
  .farsdag-grid{grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(48px,6vw,96px)}
  .farsdag-poster{justify-self:end}
}
@media (min-width:1200px){
  .menu-bar-inner{grid-template-columns:auto 1fr}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
  .lo-check circle,.lo-check path{stroke-dashoffset:0}
  .leftover-poster img{transform:none}
}
