
#tonys-forside,#tonys-catering{overflow:visible;
  /* Nøytraler, tintet varmt. Aldri ren #000 */
  --paper:#faf7f2;
  --surface:#fffdfa;
  --sand-1:#f4eee4;
  --sand-2:#e6ddd0;
  --sand-3:#d8ccbb;
  --ink:#241d17;
  --ink-soft:#5c5045;
  --ink-faint:#786b5e;
  --ink-faint-mork:#9a8e80;

  /* Merkeaksent */
  --accent:#b52b2b;
  --accent-dark:#8d1f1f;
  --accent-tint:#fdf0ef;

  /* Status */
  --open:#2f6b4f;
  --closed:#8a5a2b;

  /* Typografi */
  --display:"Fraunces",Georgia,serif;
  --body:"Libre Franklin",system-ui,-apple-system,sans-serif;

  /* Spacing, 4px-basis */
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem;
  --s5:1.5rem; --s6:2rem; --s8:3rem; --s10:4rem; --s12:6rem;

  /* Radius, tak 12px */
  --r-sm:6px; --r:10px; --r-lg:12px; --r-full:999px;

  /* Skygger, tintet varmt */
  --sh-sm:0 1px 3px hsl(24 30% 20% / .07), 0 1px 2px hsl(24 30% 20% / .06);
  --sh-md:0 4px 10px -2px hsl(24 30% 20% / .09), 0 2px 4px -2px hsl(24 30% 20% / .06);
  --sh-lg:0 14px 28px -8px hsl(24 30% 20% / .14);

  /* Hoyde pa fast toppmeny, brukes av den klebrige menylinja */
  --navh:76px;

  /* Motion */
  --d1:150ms; --d2:220ms;
  --ease:cubic-bezier(0,0,.3,1);
  overflow:visible;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%} #tonys-forside,#tonys-catering{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow:visible;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}

.wrap{width:100%;max-width:clamp(1180px, 68vw + 320px, 1460px);margin:0 auto;padding:0 clamp(18px, 2.2vw, 40px)}
.narrow{max-width:68ch}

/* Skip-link for tastatur */
.skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:0 0 var(--r) 0
}
.skip:focus{left:0}

:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}

/* ---------- Knapper ---------- */
.btn,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 26px;border-radius:var(--r);
  font-family:var(--body);font-weight:600;font-size:1.0625rem;
  text-decoration:none;border:0;cursor:pointer;
  transition:background var(--d2) var(--ease),transform var(--d1) var(--ease),border-color var(--d2) var(--ease)
}
.btn{background:var(--accent);color:#fff}
.btn:hover{background:var(--accent-dark)}
.btn:active{transform:translateY(1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--sand-3)}
.btn-ghost:hover{background:var(--sand-1);border-color:var(--ink-faint)}
.btn-ghost:active{transform:translateY(1px)}

/* ---------- Topplinje ---------- */
.topbar{
  background:var(--ink);color:var(--sand-1);
  font-size:.875rem;padding:9px 0
}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;justify-content:center}
.status{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.led{width:8px;height:8px;border-radius:50%;background:var(--ink-faint);flex:none}
.led.on{background:#5fd39a;box-shadow:0 0 0 3px hsl(152 50% 60% / .25)}
.led.off{background:#e08a4a}

/* ---------- Navigasjon ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:hsl(38 40% 97% / .92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--sand-2)
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand .logo{display:block;width:212px;max-width:52vw}
.brand .logo svg{width:100%;height:auto;display:block}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.band{position:relative;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--sh-lg);margin-top:var(--s8)}
.band img{width:100%;height:auto;display:block;aspect-ratio:1250/380;object-fit:cover}
.band .cap{position:absolute;inset:auto 0 0 0;padding:var(--s6);background:linear-gradient(to top,hsl(24 30% 12% / .82),transparent);color:#fff}
.band .cap h3{font-size:clamp(1.3rem,2.6vw,1.9rem);color:#fff;margin-bottom:6px}
.band .cap p{color:#e8ded0;font-size:.9375rem;max-width:52ch}
.pop{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--s5)}
.card{background:var(--surface);border:1px solid var(--sand-2);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--d2) var(--ease),box-shadow var(--d2) var(--ease)}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.card .body{padding:var(--s4) var(--s5) var(--s5)}
.card .t{font-weight:600;margin-bottom:3px}
.card .s{font-size:.875rem;color:var(--ink-soft)}
.card .p{font-family:var(--display);font-weight:600;font-size:1.25rem;margin-top:10px;font-variant-numeric:tabular-nums}
.brand .mark-unused{
  width:46px;height:46px;border-radius:var(--r-sm);flex:none;
  background:var(--accent-tint);border:1px solid var(--sand-2);
  display:grid;place-items:center;
  font-family:var(--display);font-weight:700;color:var(--accent);font-size:1.35rem;line-height:1
}
.brand .name{font-family:var(--display);font-weight:700;font-size:1.3rem;letter-spacing:-.015em}
.brand .kicker{
  display:block;font-family:var(--body);font-weight:500;
  font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)
}
.nav nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.nav nav a{
  text-decoration:none;color:var(--ink-soft);font-weight:500;font-size:.9375rem;
  padding:13px 0;display:inline-block;border-bottom:2px solid transparent;
  transition:color var(--d1) var(--ease),border-color var(--d1) var(--ease)
}
.nav nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.nav .tel{white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- Hero ---------- */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(520px, 84vh, 980px);display:flex;align-items:stretch
}
.hero .bg{position:absolute;inset:0;z-index:-2}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:62% 55%}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg,
      hsl(24 34% 8% / .95) 0%, hsl(24 34% 8% / .92) 48%,
      hsl(24 34% 8% / .74) 74%, hsl(24 34% 8% / .34) 100%),
    linear-gradient(to top, hsl(24 34% 8% / .80) 0%, hsl(24 34% 8% / .55) 16%, hsl(24 34% 8% / .18) 42%, hsl(24 34% 8% / .10) 100%)
}
.hero .wrap{
  display:grid;grid-template-rows:1fr auto;
  padding-top:var(--s10);padding-bottom:0
}
.hero .inner{max-width:min(52rem, 62%);align-self:center}
.hero .cta-row .btn,.hero .cta-row .btn-ghost{font-size:clamp(1rem, .25vw + .95rem, 1.1875rem);padding:clamp(14px,1vw,20px) clamp(22px,1.6vw,34px)}
.hero-fakta{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:var(--s4) var(--s6);align-items:baseline;
  border-top:1px solid hsl(38 30% 92% / .22);
  padding:var(--s5) 0;margin-top:var(--s8)
}
.hero-fakta div{color:#ded3c3;font-size:.8125rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600}
.hero-fakta div b{display:block;color:#fff;font-family:var(--display);font-size:clamp(1rem, .28vw + .92rem, 1.25rem);
  letter-spacing:0;text-transform:none;font-weight:600;margin-top:5px}
.eyebrow{
  font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);font-weight:600;margin-bottom:var(--s4)
}
.hero .eyebrow{color:#f8cfcf;font-size:clamp(.75rem, .16vw + .72rem, .875rem)}
.hero h1{font-size:clamp(2.375rem, 4.4vw + 0.4rem, 5.5rem);color:#fff;margin-bottom:var(--s5);max-width:19ch}
.hero .lede{color:#f0e7dc;font-size:clamp(1.0625rem, .55vw + .87rem, 1.5rem);line-height:1.55;max-width:54ch;margin-bottom:var(--s6)}
.hero .btn-ghost{color:#fff;border-color:hsl(38 30% 92% / .5);background:hsl(24 34% 9% / .25)}
.hero .btn-ghost:hover{background:hsl(38 30% 92% / .14);border-color:#fff}
.tel-nr{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:var(--s6)}
.meta{display:flex;flex-wrap:wrap;gap:6px 26px;font-size:.9375rem;color:var(--ink-soft)}
.meta b{color:var(--ink);font-weight:600}

.shot{
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);
  background:linear-gradient(150deg,var(--sand-1),var(--sand-3));
  aspect-ratio:4/5;display:flex;align-items:flex-end;
}
.shot .ph{
  padding:18px;width:100%;
  background:linear-gradient(to top,hsl(24 25% 18% / .55),transparent);
  color:#fff;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase
}

/* ---------- Bestillingsstripe ---------- */
.order{background:var(--ink);color:var(--sand-1);padding:var(--s8) 0}
.order .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s6)}
.order h2{font-size:1.5rem;color:#fff;margin-bottom:var(--s2)}
.order .tel-big{
  font-family:var(--display);font-weight:700;font-size:clamp(2rem,4.6vw,2.9rem);
  color:#fff;text-decoration:none;font-variant-numeric:tabular-nums;
  display:inline-block;letter-spacing:-.02em;
  border-bottom:3px solid var(--accent);padding-bottom:2px;
  transition:color var(--d2) var(--ease)
}
.order .tel-big:hover{color:var(--accent)}
.order p{color:#c8bdad;font-size:.9375rem}
.order .lbl{
  font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint-mork);font-weight:600;margin-bottom:var(--s3)
}

/* ---------- Seksjoner ---------- */
section{scroll-margin-top:90px}
.sec{padding:var(--s12) 0}
#meny > .wrap,#om > .wrap{max-width:1180px}
.sec-head{margin-bottom:var(--s8);max-width:60ch}
.sec-head h2{font-size:clamp(1.9rem,3.8vw,2.7rem);margin-bottom:var(--s4)}
.sec-head p{color:var(--ink-soft)}

/* ---------- Menykort ---------- */
.menu-nav{
  position:sticky;top:var(--navh);z-index:40;
  display:flex;gap:8px;margin-bottom:var(--s8);
  padding:13px clamp(18px, 2.2vw, 40px);
  margin-left:calc(-1 * clamp(18px, 2.2vw, 40px));margin-right:calc(-1 * clamp(18px, 2.2vw, 40px));
  background:hsl(38 40% 97% / .94);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  overflow-x:auto;overscroll-behavior-x:contain;
  scrollbar-width:none;-ms-overflow-style:none;
  scroll-snap-type:x proximity;
  transition:border-color var(--d2) var(--ease),box-shadow var(--d2) var(--ease)
}
.menu-nav::-webkit-scrollbar{display:none}
.menu-nav.stuck{
  border-bottom-color:var(--sand-2);
  box-shadow:0 8px 16px -12px hsl(24 30% 20% / .45)
}
.menu-nav .chip{flex:none;scroll-snap-align:center}
.chip[aria-current="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.chip[aria-current="true"]:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.chip{
  display:inline-flex;align-items:center;min-height:44px;padding:0 18px;
  border-radius:var(--r-full);border:1.5px solid var(--sand-2);
  background:var(--surface);color:var(--ink-soft);
  font-size:.9375rem;font-weight:500;text-decoration:none;
  transition:border-color var(--d1) var(--ease),color var(--d1) var(--ease),background var(--d1) var(--ease)
}
.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}

.cat{margin-bottom:var(--s10);scroll-margin-top:158px}
.subkat{
  font-family:var(--body);font-weight:700;font-size:.8125rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);margin:var(--s6) 0 var(--s2);
  padding-bottom:5px;border-bottom:1px solid var(--sand-2)
}
.subkat span{font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--ink-faint);font-size:.75rem}
.cat h3{
  font-size:1.5rem;margin-bottom:var(--s2);
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap
}
.cat h3 span{
  font-family:var(--body);font-size:.75rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)
}
.cat > p{color:var(--ink-soft);font-size:.9375rem;margin-bottom:var(--s5);max-width:60ch}

.dish{
  padding:var(--s5) 0;border-bottom:1px solid var(--sand-2);
  display:grid;grid-template-columns:1fr auto;gap:var(--s3) var(--s6);align-items:start
}
.dish:last-child{border-bottom:0}
.dish .nm{font-weight:600;font-size:1.0625rem;margin-bottom:4px}
.dish .nm .num{color:var(--ink-faint);font-weight:500;margin-right:6px;font-variant-numeric:tabular-nums}
.dish .desc{color:var(--ink-soft);font-size:.9375rem;max-width:56ch}
.dish .single{
  font-family:var(--display);font-weight:600;font-size:1.375rem;
  font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2
}

/* Fire-pris-strukturen. Denne er hele nøtta på mobil */
.prices{display:flex;flex-wrap:wrap;gap:6px;justify-self:end;max-width:340px;justify-content:flex-end}
.price{
  display:inline-flex;align-items:baseline;gap:7px;
  padding:7px 13px;border-radius:var(--r-sm);
  background:var(--sand-1);border:1px solid var(--sand-2);
  font-size:.8125rem;white-space:nowrap
}
.price .k{color:var(--ink-soft);font-weight:500}
.price .v{font-weight:700;font-variant-numeric:tabular-nums;font-size:.9375rem}
.price.hl{background:var(--accent-tint);border-color:#f2cfcd}
.price.hl .v{color:var(--accent)}

.alg{
  display:inline-flex;align-items:center;gap:5px;margin-top:8px;
  font-size:.75rem;color:var(--ink-faint);
  font-variant-numeric:tabular-nums
}
.tag-new{
  display:inline-block;margin-left:8px;padding:2px 9px;border-radius:var(--r-full);
  background:var(--accent);color:#fff;
  font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  vertical-align:middle
}

/* ---------- Allergen-boks ---------- */
details.alg-box{
  margin-top:var(--s8);background:var(--surface);
  border:1px solid var(--sand-2);border-radius:var(--r-lg);
  padding:var(--s5) var(--s6)
}
details.alg-box summary{
  cursor:pointer;font-weight:600;list-style:none;
  display:flex;align-items:center;gap:10px;min-height:44px
}
details.alg-box summary::-webkit-details-marker{display:none}
details.alg-box summary::after{
  content:"+";margin-left:auto;font-family:var(--display);font-size:1.5rem;
  color:var(--accent);line-height:1
}
details.alg-box[open] summary::after{content:"–"}
.alg-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:var(--s3) var(--s5);margin-top:var(--s5);
  font-size:.9375rem;color:var(--ink-soft)
}
.alg-grid b{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:6px}

/* ---------- Om oss ---------- */
.about{background:var(--sand-1)}
.about .grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s10);align-items:center}
.about .shot{aspect-ratio:5/4}
.stats{display:flex;flex-wrap:wrap;gap:var(--s8);margin-top:var(--s6)}
.stat .n{font-family:var(--display);font-size:2.4rem;font-weight:700;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.stat .l{font-size:.875rem;color:var(--ink-soft);margin-top:6px}

/* ---------- Praktisk ---------- */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s6)}
.info{
  background:var(--surface);border:1px solid var(--sand-2);
  border-radius:var(--r-lg);padding:var(--s6)
}
.info h3{font-size:1.1875rem;margin-bottom:var(--s4)}
.info p,.info a{color:var(--ink-soft);font-size:.9375rem;text-decoration:none}
.info a{color:var(--accent);font-weight:500;display:inline-block;padding:5px 0}
.info a:hover{text-decoration:underline;text-underline-offset:3px}
.hours-row{
  display:flex;justify-content:space-between;gap:20px;
  padding:9px 0;border-bottom:1px solid var(--sand-2);font-size:.9375rem
}
.hours-row:last-child{border-bottom:0}
.hours-row b{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:#c8bdad;padding:var(--s10) 0 var(--s6);font-size:.9375rem}
footer .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s6) var(--s8);margin-bottom:var(--s8)}
footer h4{
  color:#fff;font-family:var(--body);font-size:.6875rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;margin:0 0 var(--s4)
}
footer a{color:#c8bdad;text-decoration:none;display:inline-block;padding:4px 0}
footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.legal{
  border-top:1px solid #3a322a;padding-top:var(--s5);font-size:.8125rem;color:var(--ink-faint-mork);
  display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline;justify-content:space-between
}
.byline{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.byline a{
  color:#a1968a;text-decoration:none;font-weight:600;
  border-bottom:1px solid #4a4138;padding-bottom:1px;
  transition:color var(--d2) var(--ease),border-color var(--d2) var(--ease)
}
.byline a:hover{color:#fff;border-bottom-color:#fff;text-decoration:none}
.byline .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none}

/* ---------- Mobil ---------- */
@media (max-width:920px){
  .about .grid{grid-template-columns:1fr;gap:var(--s6)}
  .sec{padding:var(--s8) 0}
}
@media (max-width:760px){
  .nav nav{display:none}
}
@media (max-width:620px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .cat{scroll-margin-top:148px}
  .dish{grid-template-columns:1fr;gap:var(--s3)}
  .dish .single{justify-self:start;font-size:1.25rem}
  .prices{justify-self:start;justify-content:flex-start;max-width:none}
  .cta-row .btn,.cta-row .btn-ghost{flex:1 1 100%}
  .hero{min-height:auto;align-items:stretch}
  .hero .inner{max-width:none}
  .hero .wrap{padding-top:var(--s8);padding-bottom:var(--s8)}
  .hero::after{background:linear-gradient(to top,
    hsl(24 34% 9% / .96) 34%, hsl(24 34% 9% / .85) 70%, hsl(24 34% 9% / .70) 100%)}
  .hero .bg img{object-position:60% 45%}
  .hero .wrap{padding-bottom:0}
  .hero h1{max-width:none}
  .hero .lede{font-size:1.0625rem}
  .hero-fakta{grid-template-columns:1fr 1fr;gap:var(--s4) var(--s5);margin-top:var(--s6);padding:var(--s4) 0}
  .brand .name{font-size:1.15rem}
  .brand .logo{width:172px;max-width:43vw}
  .nav .wrap{gap:10px}
  .nav .tel{padding-left:15px;padding-right:15px;font-size:.9375rem}
}


/* ---------- Verktoy over menyen ---------- */
.menu-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:var(--s4)}
.searchwrap{flex:1 1 280px;min-width:220px;position:relative}
.search{
  width:100%;min-height:52px;padding:0 18px 0 44px;
  border:1.5px solid var(--sand-2);border-radius:var(--r);
  background:var(--surface) no-repeat 15px center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238a7d6f' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
  font-family:var(--body);font-size:1rem;color:var(--ink);
  transition:border-color var(--d1) var(--ease)
}
.search::placeholder{color:var(--ink-faint)}
.search:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-tint)}
.search::-webkit-search-cancel-button{cursor:pointer}

.algfilter{position:relative;flex:none}
.algfilter summary{
  display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:0 20px;
  border:1.5px solid var(--sand-2);border-radius:var(--r);background:var(--surface);
  color:var(--ink-soft);font-size:.9375rem;font-weight:500;cursor:pointer;list-style:none;
  transition:border-color var(--d1) var(--ease),color var(--d1) var(--ease)
}
.algfilter summary::-webkit-details-marker{display:none}
.algfilter summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--d2) var(--ease)}
.algfilter[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.algfilter summary:hover{border-color:var(--accent);color:var(--accent)}
.algfilter.on summary{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}
.algf-grid{
  position:absolute;z-index:45;top:calc(100% + 8px);left:0;min-width:280px;
  display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;
  background:var(--surface);border:1px solid var(--sand-2);border-radius:var(--r-lg);
  padding:16px 18px;box-shadow:var(--sh-lg)
}
.algf{display:flex;align-items:center;gap:9px;min-height:44px;font-size:.9375rem;cursor:pointer;color:var(--ink-soft)}
.algf input{width:19px;height:19px;accent-color:var(--accent);cursor:pointer;flex:none}
.algf:hover span{color:var(--accent)}
.resetfull{grid-column:1/-1;justify-self:start;margin-top:4px}
.reset{
  background:none;border:0;color:var(--accent);font-family:var(--body);font-size:.9375rem;
  font-weight:600;cursor:pointer;padding:8px 4px;text-decoration:underline;text-underline-offset:3px;min-height:44px
}
.treff{font-size:.875rem;color:var(--ink-faint);margin-bottom:var(--s4);min-height:1.2em}
.ingen{
  text-align:center;color:var(--ink-soft);padding:var(--s8) 0;
  display:flex;flex-direction:column;align-items:center;gap:6px
}
.dish[hidden],.cat[hidden]{display:none !important}

@media (max-width:620px){
  .menu-tools{gap:8px}
  .algfilter{flex:1 1 100%}
  .algfilter summary{justify-content:space-between;width:100%}
  .algf-grid{left:0;right:0;min-width:0;grid-template-columns:1fr 1fr}
  .print-btn{margin-left:0 !important;flex:1 1 100%;justify-content:center}
}

/* ---------- Utskrift og PDF ---------- */
.print-btn{
  display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 18px;
  border-radius:var(--r-full);border:1.5px solid var(--sand-2);background:var(--surface);
  color:var(--ink-soft);font-family:var(--body);font-size:.9375rem;font-weight:500;
  cursor:pointer;margin-left:auto;flex:none;
  transition:border-color var(--d1) var(--ease),color var(--d1) var(--ease)
}
.print-btn:hover{border-color:var(--accent);color:var(--accent)}
.print-head{display:none}

@media print{
  @page{size:A4;margin:14mm 12mm}

  .topbar,.nav,.hero,.order,#populaert,.about,#finn,footer,
  .menu-nav,.print-btn,.skip,.menu-tools,.treff,.ingen{display:none !important} #tonys-forside,#tonys-catering{background:#fff !important;color:#1a1a1a !important;font-size:9.5pt}
  .sec{padding:0 !important}
  .wrap{max-width:none;padding:0}
  section{scroll-margin-top:0}

  .print-head{
    display:flex !important;align-items:flex-start;justify-content:space-between;
    gap:16pt;padding-bottom:8pt;margin-bottom:12pt;
    border-bottom:1.5pt solid #1a1a1a
  }
  .print-head .ph-logo{width:150pt}
  .print-head .ph-logo svg{width:100%;height:auto}
  .print-head .ph-info{text-align:right;font-size:9pt;line-height:1.45}
  .print-head .ph-info .tel{font-size:15pt;font-weight:700;font-family:var(--display);letter-spacing:-.01em}

  #meny > .wrap > .sec-head{margin-bottom:10pt}
  #meny .sec-head h2{display:none}
  #meny .sec-head p{font-size:8.5pt;color:#444}

  #meny > .wrap{column-count:2;column-gap:14mm}
  .cat{break-inside:auto;margin-bottom:10pt;scroll-margin-top:0}
  .cat h3{font-size:12pt;margin-bottom:3pt;break-after:avoid}
  .cat > p{font-size:8pt;color:#555;margin-bottom:5pt}

  .dish{
    padding:3.5pt 0;gap:4pt 10pt;break-inside:avoid;
    border-bottom:.4pt solid #ccc;align-items:baseline
  }
  .dish .nm{font-size:9.5pt;margin-bottom:1pt}
  .dish .desc{font-size:8pt;color:#444;max-width:none}
  .dish .single{font-size:11pt;font-family:var(--display)}
  .alg{font-size:7pt;color:#666;margin-top:2pt}
  .tag-new{background:none !important;color:#1a1a1a !important;border:.6pt solid #1a1a1a;font-size:6pt;padding:1pt 4pt}

  .prices{max-width:none;justify-self:end;gap:3pt}
  .price{background:none !important;border:.4pt solid #bbb;padding:1.5pt 5pt;font-size:7.5pt}
  .price.hl{border-color:#1a1a1a;border-width:.8pt}
  .price .v{font-size:8pt}

  details.alg-box{
    border:.8pt solid #1a1a1a;border-radius:0;padding:6pt 8pt;margin-top:8pt;
    break-inside:avoid;background:none
  }
  details.alg-box summary{font-size:9pt;min-height:0}
  details.alg-box summary::after{content:"" !important}
  details.alg-box .alg-grid{display:block;columns:2;font-size:8pt;margin-top:4pt}
  details.alg-box .alg-grid div{break-inside:avoid;padding:.5pt 0}
  details.alg-box p{font-size:8pt}


  /* Retter opp spaltebrekk og trange prisrader pa papir */
  #meny > .wrap > .sec-head{column-span:all}
  .dish{gap:2pt 10pt}
  .dish .single{justify-self:end}
  /* Bare retter med fire priser stables, resten holder pris til hoyre */
  .dish:has(.prices){grid-template-columns:1fr !important}
  .prices{justify-self:start !important;justify-content:flex-start !important;margin-top:3pt}
  .dish .nm{text-wrap:balance}

  a{text-decoration:none;color:inherit}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;transition-duration:.01ms!important;
    scroll-behavior:auto!important
  }
}
#tonys-forside .kat-bilde{width:64px;height:64px;border-radius:14px;object-fit:cover;flex:0 0 auto;box-shadow:0 2px 8px rgba(0,0,0,.14)}
#tonys-forside .cat>h3,#tonys-forside h4.subkat{display:flex;align-items:center;gap:14px}
@media(max-width:480px){#tonys-forside .kat-bilde{width:52px;height:52px;border-radius:12px}}
#tonys-forside .rv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:32px}
#tonys-forside .rv-kort{margin:0;padding:26px 24px;background:#fff;border:1px solid rgba(43,33,25,.09);border-radius:18px;box-shadow:0 2px 10px rgba(43,33,25,.05);display:flex;flex-direction:column;gap:14px}
#tonys-forside .rv-stj{color:#e0a020;font-size:1.05rem;letter-spacing:3px;line-height:1}
#tonys-forside .rv-anb{color:#1f7a4d;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
#tonys-forside .rv-kort blockquote{margin:0;font-size:1.02rem;line-height:1.6;color:var(--ink)}
#tonys-forside .rv-kort figcaption{margin-top:auto;font-weight:700;color:var(--ink)}
#tonys-forside .rv-kort figcaption span{display:block;font-weight:400;font-size:.85rem;color:var(--ink-faint);margin-top:2px}
#tonys-forside .rv-kilde{margin-top:26px;font-size:.9rem;color:var(--ink-faint)}
#tonys-forside .rv-kilde a{color:inherit}

#tonys-catering .cat-bilde{margin:8px 0 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--sand-2)}
#tonys-catering .cat-bilde img{display:block;width:100%;height:auto;aspect-ratio:1247/467;object-fit:cover}
#tonys-catering .cat-steg{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:26px 0 0;padding:0;list-style:none}
#tonys-catering .cat-steg li{background:var(--surface);border:1px solid var(--sand-2);border-radius:var(--r-lg);padding:22px 24px}
#tonys-catering .cat-steg p{margin:0}
#tonys-catering .cat-nr{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-full);background:var(--accent-tint);color:var(--accent-dark);font-weight:700;font-size:14px;margin-bottom:12px}
#tonys-catering .cat-fakta{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:26px}
#tonys-catering .cat-fakta div{background:var(--sand-1);border-radius:var(--r-lg);padding:16px 18px}
#tonys-catering .cat-fakta span{display:block;font-size:11px;font-weight:600;letter-spacing:1.54px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
#tonys-catering .cat-fakta b{font-size:16px;font-weight:600;color:var(--ink)}
#tonys-catering .cat-lenker{display:flex;flex-wrap:wrap;gap:22px;margin-top:20px}
#tonys-catering .cat-lenker a{color:var(--accent-dark);font-weight:600}
#tonys-catering .cat-ingress{font-size:19px;color:var(--ink-soft);max-width:58ch;margin-bottom:0}
#tonys-catering .sec .lbl{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin:0 0 10px}
#tonys-catering .sec h1{font-size:clamp(2.4rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 18px}
#tonys-catering .sec h2{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 18px}
#tonys-catering .sec h3{font-size:1.25rem;line-height:1.2;margin:0 0 8px}
#tonys-catering .sec p{max-width:62ch;margin:0 0 16px}
#tonys-catering .sec p:last-child{margin-bottom:0}
#tonys-catering .order h2{margin:0 0 12px}
#tonys-catering .order .lbl{margin:0 0 10px}
#tonys-catering .order p{margin:0}

/* ---------- Mobilmeny ---------- */
#tonys-forside .meny-bryter,#tonys-catering .meny-bryter{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
#tonys-forside .meny-knapp,#tonys-catering .meny-knapp{display:none}
@media (max-width:900px){
  #tonys-forside .nav .wrap,#tonys-catering .nav .wrap{position:relative}
  #tonys-forside .meny-knapp,#tonys-catering .meny-knapp{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;margin-left:auto;margin-right:10px;cursor:pointer;border-radius:8px}
  #tonys-forside .meny-knapp span,#tonys-catering .meny-knapp span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px}
  #tonys-forside .nav nav,#tonys-catering .nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-top:1px solid var(--sand-2);border-bottom:1px solid var(--sand-2);box-shadow:var(--sh-md);z-index:60}
  #tonys-forside .meny-bryter:checked ~ nav,#tonys-catering .meny-bryter:checked ~ nav{display:block}
  #tonys-forside .nav nav ul,#tonys-catering .nav nav ul{display:block;list-style:none;margin:0;padding:8px 0}
  #tonys-forside .nav nav li,#tonys-catering .nav nav li{margin:0}
  #tonys-forside .nav nav a,#tonys-catering .nav nav a{display:block;padding:14px 24px;font-size:17px;color:var(--ink)}
}
