/* Светлая тема для «Раки КРД / Барракуда+». Загружается последней. */
:root {
  --bg: #f7f8f6;
  --bg-2: #ffffff;
  --bg-3: #f2f5f1;
  --line: rgba(37, 31, 27, 0.10);
  --line-2: rgba(37, 31, 27, 0.18);
  --white: #251f1b;
  --mute: #645d57;
  --mute-2: #6b625c;
  --neon: #bc321e;
  --neon-2: #086c62;
  --neon-3: #c34b2e;
  --lime: #247345;
  --grad: linear-gradient(110deg, #bd301c, #cc4026);
  --grad-2: linear-gradient(120deg, #086c62, #08766c);
  --glow-n: 0 14px 34px rgba(215, 55, 28, 0.20);
  --glow-c: 0 14px 34px rgba(8, 126, 117, 0.18);
}

body {
  background:
    radial-gradient(900px 480px at 0% 0%, rgba(230, 63, 37, .07), transparent 65%),
    var(--bg);
}

.top,
.top.small {
  background: rgba(255, 255, 255, .90);
  border-bottom-color: rgba(37, 31, 27, .08);
  box-shadow: 0 10px 34px rgba(65, 47, 34, .06);
}

@supports not (backdrop-filter: blur(1px)) {
  .top { background: rgba(255, 255, 255, .94); }
}

.brand img,
.foot__logo {
  filter: none;
}

.brand b { font-size: 14px; }
.brand b em { color: var(--neon); text-shadow: none; }
.brand i { letter-spacing: .12em; }
.nav a:hover { color: var(--white); background: rgba(230, 63, 37, .07); }
.burger { color: var(--white); }

.btn--out,
.nav .btn--out,
.nav .btn--out:hover {
  background: #fff;
  color: var(--white);
}

.hero {
  min-height: auto;
  background: linear-gradient(145deg, #fff 0%, #fff 53%, #f5eee8 100%);
  border-bottom: 1px solid var(--line);
}

.hero__in { padding-top: clamp(42px, 6vw, 84px); }
.hero__grid { min-height: 620px; }
.hero__bg {
  inset: 34px 0 34px 52%;
  border-radius: 44px 0 0 44px;
  box-shadow: -30px 30px 80px rgba(87, 48, 27, .13);
}
.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.08) contrast(1.02);
  transform: none;
}
.hero__bg::after {
  background: linear-gradient(90deg, rgba(255,255,255,.60), transparent 32%),
              linear-gradient(0deg, rgba(37,31,27,.13), transparent 42%);
}
.hero h1 .red { filter: none; animation: none; }
.live {
  color: #1f6c40;
  background: #edf8f0;
  border-color: rgba(36, 115, 69, .22);
}
.live i { background: #2b8b53; color: #2b8b53; }
.tickline { box-shadow: none; }
.hero__now { color: var(--white); }

.herocol { align-self: end; }
.shot {
  border: 5px solid rgba(255,255,255,.92);
  box-shadow: 0 22px 60px rgba(43, 29, 19, .20);
}
.shot img { aspect-ratio: 16 / 8; }
.shot figcaption { color: #fff; background: linear-gradient(0deg, rgba(30,22,17,.80), transparent); }
.callcard {
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(16px);
  border-color: rgba(37, 31, 27, .10);
  box-shadow: 0 22px 62px rgba(66, 44, 29, .14);
}
.cselect__btn,
.cselect__list { background: #fff; }
.facts div,
.home-scroll-stable .hero .facts div,
.home-scroll-stable .hero .callcard {
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 36px rgba(63, 43, 29, .07);
}
.facts div:hover { box-shadow: 0 16px 38px rgba(8, 126, 117, .12); }
.fic--red { color: #d93820; background: #fff0ed; box-shadow: none; }
.fic--amber { color: #a64e1e; background: #fff3e6; box-shadow: none; }
.fic--sea { color: #087e75; background: #eaf8f6; box-shadow: none; }
.fic--dill { color: #247345; background: #edf8f0; box-shadow: none; }

.ticker { background: linear-gradient(90deg, #fff3ed, #eef8f6, #fff3ed); }
.glow { opacity: .16; filter: blur(90px); }

.detail,
.six,
.party,
.score {
  background: #fff;
  box-shadow: 0 24px 70px rgba(70, 49, 34, .08);
}
.detail__row div,
.qty__box,
.party__res,
.ord__bar,
.var,
.fld input {
  background: #f7f8f6;
}
.node[aria-pressed="true"] .node__ph { box-shadow: 0 10px 28px rgba(230, 63, 37, .20); animation: none; }
.total b,
.six__n,
.party__kg,
.dish__price { filter: none; }

.paper {
  background: #fff;
  border-radius: 44px 44px 0 0;
  box-shadow: 0 -18px 50px rgba(61, 46, 36, .04);
}
.item,
.st,
.adv,
.rev,
.bar,
.faq details,
.locseo a,
.var {
  background: #fff;
  box-shadow: 0 10px 30px rgba(62, 44, 31, .055);
}
.item:hover,
a.item:hover {
  background: #fff8f4;
  box-shadow: 0 16px 38px rgba(211, 64, 31, .10);
}
.st:hover,
.adv:hover,
.rev:hover,
.bar:hover { box-shadow: 0 16px 40px rgba(52, 40, 30, .10); }
.stars { filter: none; letter-spacing: .02em; font-family: var(--disp); font-weight: 700; }
.tags span { background: #f6f7f5; }
.status--on { color: #247345; }
.status--on i { background: #2b8b53; color: #2b8b53; }
.map { box-shadow: 0 18px 48px rgba(55, 42, 33, .10); }

.opt__in {
  background: linear-gradient(125deg, #d93820, #ef6a2c);
  box-shadow: 0 28px 65px rgba(198, 51, 28, .22);
}
.opt .btn:hover { background: #251f1b; color: #fff; }

footer { background: #f0f2ef; }
.drawer__bg { background: rgba(37,31,27,.52); }
.drawer__panel { background: #fff; box-shadow: -30px 0 80px rgba(37,31,27,.16); }
.drawer__head,
.drawer__foot { background: #fff; }
.ord__seg button[aria-pressed="true"] { color: #fff; }

@media (max-width: 1220px) {
  .top,
  .top.small { background: #fff; }
  .nav.open { background: #fff; }
  .nav__card { background: #f7f8f6; }
  .nav__q { background: #fff; color: var(--white); }
  .hero__grid { min-height: auto; }
  .hero__bg {
    inset: auto 0 0 0;
    height: 46%;
    border-radius: 34px 34px 0 0;
    opacity: .28;
    box-shadow: none;
  }
  .hero__bg::after { background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.55) 52%, #fff 100%); }
  .hero__in { padding-top: 34px; }
  .hero__grid { grid-template-columns: 1fr; }
  .home-scroll-stable .hero__bg img { filter: saturate(1.02); }
}

@media (max-width: 720px) {
  .brand b { font-size: 11px; }
  .brand i { display: none; }
  .hero__bg { height: 42%; opacity: .20; }
  .facts { grid-template-columns: 1fr 1fr; }
  .facts div { align-items: flex-start; }
  .paper { border-radius: 28px 28px 0 0; }
}

@media (max-width: 420px) {
  .brand span { display: none; }
  .facts { grid-template-columns: 1fr; }
}

/* Unified light layout: every card controls its own text and available space. */
:root {
  color-scheme: light;
  --c-muted: var(--mute);
  --c-amber: var(--neon);
  --c-sea: var(--neon-2);
  --pad: clamp(18px, 4vw, 56px);
  --maxw: 1360px;
}
body { background: #f6f7f5; }
body::before, .pat::before { content: none; }
h1, h2, h3 { line-height: 1.16; letter-spacing: -.035em; overflow-wrap: anywhere; }
h1 { font-size: clamp(28px, 3.7vw, 54px); }
h2 { font-size: clamp(26px, 3.2vw, 44px); }
h3 { font-size: 20px; }
section { padding-block: clamp(48px, 6vw, 88px); }
.head { margin-bottom: 32px; }
.head .lead, h2 + .lead { margin-top: 18px; }
.lead { font-size: 17px; line-height: 1.7; }
.eyebrow { font: 600 13px/1.5 var(--txt); letter-spacing: .1em; }
.reveal, .reveal.in { opacity: 1; transform: none; transition: none; }
.glow, .tickline { display: none; }
:is(.hero__grid,.facts,.detail,.vars,.var,.party,.six,.steps,.advs,.nums,.revs,.bars,.foot,.dish,.bhero__grid,.binfo,.others,.menu,.opt__in) > * { min-width: 0; }
p, .lead, .item__n, .other b, .locseo b, .bar__a, .var__d, .cart__hint { overflow-wrap: anywhere; }
.btn { max-width: 100%; min-height: 48px; padding: 14px 22px; font: 600 15px/1.4 var(--txt); letter-spacing: 0; text-transform: none; text-align: center; white-space: normal; }
.btn--sm { min-height: 44px; padding: 11px 18px; font-size: 14px; }
.btn--red::after { content: none; }
.btn--red, .btn.addbtn--big { color: #fff; background: var(--grad); }
.btn--red:hover, .btn.addbtn--big:hover, .btn.addbtn--big.done { color: #fff; background: #a92b19; box-shadow: 0 8px 22px #bc321e24; }
.dish .hero__cta .btn.addbtn--big {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  min-width: 164px;
  min-height: 50px;
  padding: 14px 24px;
  border-radius: 999px;
  white-space: nowrap;
}
.btn--out:hover { background: #eef5f2; color: #086c62; box-shadow: none; }
.top__in, .top.small .top__in { gap: 16px; height: 80px; }
.brand { gap: 10px; min-width: 0; }
.brand img, .top.small .brand img { width: 64px; }
.brand b { font-size: 12px; line-height: 1.4; letter-spacing: -.01em; }
.brand i { font: 400 11px/1.4 var(--txt); letter-spacing: .025em; }
.nav { font: 600 14px/1.3 var(--txt); letter-spacing: 0; text-transform: none; gap: 0; }
.nav a, .ndrop__btn { font: inherit; letter-spacing: inherit; text-transform: inherit; padding: 11px 12px; white-space: nowrap; }
.top__tel { font: 650 15px/1.4 var(--txt); padding: 11px 15px; box-shadow: none; }
.cartbtn--head { padding: 11px 14px; flex-shrink: 0; font: 600 14px/1.4 var(--txt); letter-spacing: 0; text-transform: none; }
.cartbtn--head.has, .cartbtn--head.has:hover { color: #fff; }
.drop, .cselect__list { background: #fff; color: var(--white); box-shadow: 0 16px 50px #25362f1f; }
.drop::before { background: #fff; }
.drop__all:hover, .nav .drop__all:hover, .filters .chip[aria-pressed="true"] { color: #fff; }
.drop--wide { min-width: 0; width: 390px; }
.drop__grid { grid-template-columns: 1fr; }
.drop__t { font: 500 13px/1.5 var(--txt); }
.dmi .dmi__ic.fic--red { color: #bc321e; }
.dmi .dmi__ic.fic--amber { color: #8b491a; }
.dmi .dmi__ic.fic--sea { color: #086c62; }
.dmi .dmi__ic.fic--dill { color: #247345; }
.hero { display: block; background: #fff; overflow: visible; padding: 0; }
.hero__bg { display: none; }
.hero__in { padding-top: 46px; }
.hero__grid { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); min-height: 0; gap: clamp(28px,4vw,56px); align-items: center; padding-bottom: 36px; }
.hero h1 { font-size: clamp(32px,3.7vw,52px); line-height: 1.13; margin-top: 0; text-transform: none; }
.hero h1 .red { color: var(--neon); background: none; }
.hero__sub { max-width: 46ch; margin: 22px 0 18px; font-size: 18px; line-height: 1.65; }
.hero__now { min-height: 0; font-size: 14px; margin-bottom: 24px; }
.hero__cta { gap: 10px; }
.live { font: 600 13px/1.5 var(--txt); letter-spacing: .015em; text-transform: none; padding: 7px 12px; margin-bottom: 20px; gap: 8px; flex-wrap: nowrap; }
.live i { flex-shrink: 0; animation: none; }
.herocol { align-self: stretch; gap: 16px; }
.shot { display: block; border: 0; border-radius: 24px; box-shadow: none; }
.shot img { aspect-ratio: 16 / 9; filter: none; }
.shot figcaption { padding: 24px 20px 14px; font-size: 14px; }
.shot figcaption .ic { color: #fff; }
.callcard, .home-scroll-stable .hero .callcard { padding: 24px; border-radius: 24px; background: #f5f7f4; box-shadow: none; backdrop-filter: none; }
.callcard__t { font: 650 13px/1.4 var(--txt); letter-spacing: .04em; margin-bottom: 12px; }
.callcard__phone { font-family: var(--txt); font-size: clamp(23px,2.4vw,32px); font-weight: 800; line-height: 1.25; white-space: nowrap; margin: 18px 0 8px; letter-spacing: -.02em; }
.callcard__meta { min-height: 0; font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
.cselect__btn { font: 600 15px/1.45 var(--txt); padding: 12px 14px; white-space: normal; }
.cselect__cur { min-width: 0; overflow-wrap: anywhere; }
.facts { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding-bottom: 34px; }
.facts div, .home-scroll-stable .hero .facts div { background: #fff; box-shadow: none; border: 1px solid #e1e6df; border-radius: 18px; padding: 18px 16px; gap: 12px; align-items: flex-start; }
.facts div > span:last-child { min-width: 0; }
.facts b { color: #251f1b; font: 750 clamp(16px,1.4vw,20px)/1.3 var(--txt); overflow-wrap: anywhere; }
.facts span { font-size: 13px; line-height: 1.5; }
.facts .fic { width: 36px; height: 36px; border-radius: 12px; font-size: 20px; }
.facts .fic--red { color: #bc321e; }
.facts .fic--amber { color: #8b491a; }
.facts .fic--sea { color: #086c62; }
.facts .fic--dill { color: #247345; }
.ticker { background: #edf2ec; padding-block: 14px; transform: none; }
.ticker__row { animation: none; justify-content: center; width: auto; }
.ticker__row span { font: 550 14px/1.6 var(--txt); white-space: normal; text-align: center; }
.ticker__row span + span { display: none; }
.detail { border-radius: 28px; gap: 28px; padding: 28px; }
.detail__row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.detail__row div { min-width: 0; padding: 14px 12px; }
.detail__row span { font: 500 12px/1.4 var(--txt); letter-spacing: 0; text-transform: none; align-items: flex-start; }
.detail__row b { font: 750 17px/1.4 var(--txt); white-space: normal; overflow-wrap: anywhere; }
.var { grid-template-columns: 118px minmax(0,1fr); gap: 16px; padding: 16px; border-radius: 20px; }
.var__b { min-width: 0; gap: 8px; }
.var__p, .var:first-child .var__p, .item__p, .dish__price, .total b, .party__kg, .six__n { color: var(--neon); background: none; filter: none; line-height: 1.25; }
.var:first-child .var__p { color: var(--neon-2); }
.var__p { font-size: 26px; }
.var__one, .var__d, .var__no { font-size: 14px; }
.var__no { white-space: normal; }
.var__badge { font: 650 12px/1.4 var(--txt); padding: 5px 9px; letter-spacing: 0; }
.var:first-child .var__badge { color: #fff; box-shadow: none; }
.var--out { opacity: 1; background: #f3f3f0; }
.var--out .var__ph { opacity: .65; }
.six { flex-wrap: wrap; gap: 24px; padding: 24px 28px; }
.six__n { font-size: 48px; }
.six__t { font: 650 17px/1.4 var(--txt); }
.six__t span { font-size: 14px; }
.party { padding: 32px; border-radius: 28px; gap: 32px; }
.party h2 { font-size: clamp(26px,2.7vw,38px); }
.party__res { background: #f1f5ef; padding: 26px; border-radius: 22px; }
.party__mode { flex-wrap: wrap; }
.party__mode button { font: 600 14px/1.4 var(--txt); letter-spacing: 0; padding: 11px 16px; }
.party__mode button[aria-pressed="true"] { color: #fff; background: var(--grad-2); }
.party__kg { font-size: clamp(24px,2.4vw,34px); }
.party__list li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: baseline; font-size: 14px; }
.party__list li b { font: 750 17px/1.5 var(--txt); white-space: nowrap; }
.paper { border-radius: 0; box-shadow: none; }
.tabs { flex-wrap: wrap; overflow: visible; gap: 10px; }
.tab { font: 600 15px/1.4 var(--txt); letter-spacing: 0; text-transform: none; padding: 12px 20px; white-space: normal; }
.menu { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.item, a.item { display: grid; grid-template-columns: 92px minmax(0,1fr) auto; grid-template-rows: auto auto; gap: 8px 16px; padding: 18px; border-radius: 22px; box-shadow: none; }
.item__ph { grid-column: 1; grid-row: 1 / 3; width: 92px; height: 92px; }
.item__b { grid-column: 2 / 4; grid-row: 1; padding-right: 8px; }
.item__n { font-size: 16px; line-height: 1.45; }
.item__d { font-size: 13px; line-height: 1.5; }
.item__p { grid-column: 2; grid-row: 2; justify-self: start; text-align: left; min-width: 0; font-size: 20px; }
.item__act { grid-column: 3; grid-row: 2; justify-self: end; margin-left: 0; }
.item__out { display: block; white-space: normal; text-align: right; max-width: 78px; font-size: 12px; line-height: 1.4; }
.addbtn { width: 42px; height: 42px; background: #f1f5ef; color: #086c62; }
.paper .addbtn:hover, .paper .addbtn.done { color: #fff; }
.nums > div { background: #fff; padding: 24px; }
.nums b { font: 800 clamp(26px,2.3vw,36px)/1.2 var(--txt); overflow-wrap: anywhere; }
.nums span { font-size: 14px; }
.st h3, .adv b { font: 700 20px/1.35 var(--txt); }
.st p, .adv span, .rev p { font-size: 16px; line-height: 1.65; }
.opt__in { grid-template-columns: minmax(0,1fr) auto; gap: 32px; padding: 40px; border-radius: 28px; background: #a9301f; color: #fff; box-shadow: none; }
.opt h2 { max-width: 20ch; font-size: clamp(26px,3vw,40px); color: #fff; }
.opt p { color: #fff; font-size: 16px; }
.opt .btn { font: 750 20px/1.4 var(--txt); color: #992a1a; box-shadow: none; white-space: nowrap; }
.faq summary { font: 650 18px/1.45 var(--txt); }
.faq p { font-size: 16px; }
.locseo { display: grid; grid-template-columns: minmax(0,1fr); }
.locseo a { min-width: 0; max-width: 100%; padding: 24px; }
.locseo b { font: 700 20px/1.4 var(--txt); }
.locseo span { font-size: 15px; }
.bar__a { font-size: clamp(22px,2.5vw,30px); line-height: 1.25; }
.bar__t { font: 750 24px/1.3 var(--txt); }
.bar__d, .status, .bar__links a { font-size: 14px; }
.bhero h1, .dish h1 { font-size: clamp(27px,3.4vw,46px); line-height: 1.18; text-transform: none; }
.bhero__grid, .dish { gap: 36px; align-items: start; }
.binfo div { background: #fff; }
.binfo span { font: 500 13px/1.45 var(--txt); letter-spacing: 0; text-transform: none; }
.binfo b { font: 750 18px/1.4 var(--txt); overflow-wrap: anywhere; }
.crumbs { flex-wrap: wrap; font: 550 13px/1.5 var(--txt); letter-spacing: .025em; }
.dish__ph { box-shadow: none; border-radius: 26px; }
.dish__price { font-size: clamp(32px,4vw,48px); }
.dish__meta, .dish__note { font-size: 15px; }
.dish__note { margin-block: 20px; }
.other { background: #fff; border-color: var(--line-2); }
.other b { font: 650 17px/1.4 var(--txt); }
.other span { font-size: 14px; color: var(--mute); }
.rakiopts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.rakiopt { display: grid; grid-template-columns: 150px minmax(0,1fr); align-items: start; gap: 20px; padding: 22px; background: #fff; border: 1px solid #dce2d8; border-radius: 24px; }
.rakiopt > * { min-width: 0; }
.rakiopt img { width: 150px; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 16px; }
.rakiopt h3 { font: 750 21px/1.35 var(--txt); }
.rakiopt p { font-size: 15px; line-height: 1.6; }
.rakiopt > div > strong { display: block; font: 800 26px/1.3 var(--txt); color: var(--neon); }
.rakiopt .packnote { margin: 12px 0; padding: 10px 12px; background: #f1f5ef; border-radius: 12px; }
.rakiopt .packnote strong { font: 600 14px/1.5 var(--txt); color: var(--mute); }
.rakiopt .btn.addbtn { display: flex; width: 100%; height: auto; min-height: 48px; padding: 12px 14px; margin-top: 16px; font: 650 15px/1.4 var(--txt); color: #fff; background: var(--grad); border-radius: 14px; white-space: normal; }
.rakiopt .btn.addbtn .ic { display: none; }
.foot { gap: 32px; }
.foot h4 { font: 700 14px/1.4 var(--txt); }
.foot a, .foot > div > span { font-size: 15px; line-height: 1.65; }
.foot a > span { white-space: normal; }
.drawer__panel { width: min(100%,560px); }
.drawer__head, .drawer__body, .drawer__foot { padding-inline: 24px; }
.drawer__head h3 { font: 750 23px/1.3 var(--txt); }
.ord__seg button { font: 650 15px/1.4 var(--txt); letter-spacing: 0; text-transform: none; }
.ord__label, .fld > span, .mailnote { font-size: 13px; }
.fld input { min-width: 0; font-size: 16px; background: #f6f7f5; }
.ord__err { color: #a52419; font-size: 14px; }
.cart__row { flex-wrap: wrap; }
.cart__row > .btn { width: 100%; }
.ci__n { min-width: 0; overflow-wrap: anywhere; font-size: 16px; }
.ci__n span { font-size: 13px; }
.ci__p { font: 750 18px/1.4 var(--txt); white-space: nowrap; }
.cart__sum b { color: var(--neon); background: none; font: 800 30px/1.3 var(--txt); }
body.locked .fab, body.locked .cartbtn:not(.cartbtn--head) { display: none; }
.cartbtn:not(.cartbtn--head) { background: #086c62; color: #fff; border-color: #086c62; box-shadow: 0 8px 24px #086c6226; font: 650 15px/1.4 var(--txt); letter-spacing: 0; text-transform: none; }
.cartbtn:not(.cartbtn--head) b { background: #fff; color: #086c62; }
.fab { font: 650 15px/1.4 var(--txt); letter-spacing: 0; text-transform: none; padding: 14px 22px; box-shadow: 0 8px 24px #bc321e26; }
.sizepages a { background: #fff; border-color: #dce2d8; font-size: 14px; }
@media (min-width: 1221px) {
  .detail { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .dish { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
}
@media (max-width: 1220px) {
  .hero__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .nav.open > a, .ndrop__btn { font: 650 17px/1.4 var(--txt); white-space: normal; border-radius: 0; }
  .nav .nav__q { white-space: normal; font: 600 14px/1.45 var(--txt); }
  .drop--wide { width: 100%; }
  .nav .btn { font: 600 15px/1.4 var(--txt); white-space: normal; }
  .nav .dmi { white-space: normal; }
  .nav__label { font-size: 12px; }
  .facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail { grid-template-columns: 1fr; }
  .rakiopt { grid-template-columns: 1fr; }
  .rakiopt img { width: 100%; aspect-ratio: 16/10; }
  .vars { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .var { grid-template-columns: 1fr; align-content: start; }
  .var__ph img { aspect-ratio: 16/9; }
  .party { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .opt__in { grid-template-columns: 1fr; }
  .opt .btn { width: fit-content; }
}
@media (max-width: 800px) {
  .top__in, .top.small .top__in { gap: 12px; }
  .brand i { display: none; }
  .brand b { font-size: 11px; max-width: 160px; white-space: normal; }
  .hero__grid { grid-template-columns: 1fr; gap: 28px; }
  .hero h1 { font-size: clamp(28px,6.1vw,44px); max-width: 22ch; }
  .hero__sub { max-width: 52ch; }
  .herocol { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: stretch; }
  .shot img { height: 100%; aspect-ratio: auto; }
  .callcard { padding: 20px; }
  .callcard__phone { font-size: 22px; }
  .menu { grid-template-columns: 1fr; }
  .party { grid-template-columns: 1fr; }
  .bhero__grid, .dish { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 80px; }
  .top__in, .top.small .top__in { height: 72px; gap: 10px; }
  .brand img, .top.small .brand img { width: 50px; }
  .brand span { display: block; }
  .brand b { font-size: 10px; max-width: 145px; }
  .top .nav.open, .top.small .nav.open { height: calc(100svh - 73px); }
  .top__tel { display: none; }
  .cartbtn--head { padding: 10px; }
  .hero__in { padding-top: 30px; }
  .hero h1 { font-size: clamp(27px,6.3vw,36px); line-height: 1.17; }
  .hero__sub { font-size: 16px; }
  .hero__cta .btn { flex: 1 1 150px; }
  .herocol { grid-template-columns: 1fr; }
  .shot img { aspect-ratio: 16/10; height: auto; }
  .shot figcaption { font-size: 13px; }
  .callcard__phone { font-size: clamp(24px,7.4vw,30px); }
  .callcard__row .btn { flex: 1 1 115px; }
  .facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .facts div { flex-direction: column; padding: 16px 14px; gap: 10px; }
  .facts b { font-size: 17px; }
  .facts span { font-size: 13px; }
  .ticker { padding: 14px 20px; }
  .ticker__row span { font-size: 13px; }
  .detail { padding: 20px; border-radius: 24px; gap: 24px; }
  .detail__row { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .detail__row div { padding: 12px 9px; }
  .detail__row div:last-child { grid-column: auto; }
  .detail__row span .ic { display: none; }
  .detail__row b { font-size: 16px; }
  .vars { grid-template-columns: 1fr; }
  .rakiopts { grid-template-columns: 1fr; }
  .var { grid-template-columns: 100px minmax(0,1fr); gap: 14px; padding: 14px; }
  .var__ph img { aspect-ratio: 1/1; }
  .var__badge { top: 6px; left: 6px; font-size: 11px; padding: 4px 7px; }
  .var__p { font: 800 25px/1.3 var(--txt); }
  .var__add { width: 100%; padding: 10px 12px; font-size: 14px; }
  .var__row { gap: 5px; }
  .six { padding: 22px; gap: 18px; }
  .six__x { display: none; }
  .six__item { width: 100%; }
  .six .btn { width: 100%; }
  .party, .party__res { padding: 22px; }
  .party__mode button { flex: 1 1 160px; }
  .item, a.item { grid-template-columns: 76px minmax(0,1fr) auto; padding: 14px; gap: 8px 12px; }
  .item__ph { width: 76px; height: 76px; }
  .item__b { padding-right: 0; }
  .item__p { font: 800 20px/1.3 var(--txt); }
  .nums { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nums > div { padding: 20px 16px; }
  .nums b { font-size: 25px; }
  .nums span { font-size: 13px; }
  .opt__in { padding: 28px 22px; gap: 18px; }
  .opt .btn { width: 100%; font-size: 18px; padding-inline: 16px; }
  .faq summary { font-size: 17px; }
  .bar { padding: 24px; }
  .drawer__head, .drawer__body, .drawer__foot { padding-inline: 18px; }
  .ord__seg { gap: 6px; }
  .ord__seg button { padding: 12px 8px; font-size: 14px; gap: 6px; }
  .ci { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
  .ci__n { grid-column: 1 / -1; }
  .ci__q { grid-column: 1; }
  .ci__p { grid-column: 2; }
  .foot { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 370px) {
  .brand b { max-width: 128px; font-size: 9px; }
  .brand { gap: 7px; }
  .brand img, .top.small .brand img { width: 42px; }
  .facts b { font-size: 16px; }
  .detail__row { grid-template-columns: 1fr; }
  .detail__row div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
  .detail__row b { margin-top: 0; }
  .var { grid-template-columns: 1fr; }
  .var__ph img { aspect-ratio: 16/9; }
  .party { padding: 18px; }
  .party__res { padding: 18px; }
  .party__list li { grid-template-columns: 1fr; gap: 2px; }
  .nums { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}

/* Final contrast and narrow-screen safeguards. */
.btn--out { border-color: #bccac0; }
.btn--out:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 3px solid #086c62;
  outline-offset: 4px;
}
.opt .btn:hover { background: #251f1b; color: #fff; }
.opt .btn .ic, .btn--red .ic, .tab[aria-selected="true"] .ic,
.kinds button[aria-pressed="true"] .ic, .ord__seg button[aria-pressed="true"] .ic {
  color: inherit;
}
.cart__sum b, .score__n { color: #bc321e; background: none; filter: none; }
.menu { display: grid; column-count: auto; align-items: stretch; }
.item { margin: 0; }
.item__p { white-space: normal; overflow-wrap: normal; }
.item__p small { white-space: nowrap; }
.var__badge { max-width: calc(100% - 12px); white-space: normal; overflow-wrap: anywhere; }
.var__no { max-width: 100%; }
.ci { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
.ci__n { grid-column: 1 / -1; min-width: 0; overflow-wrap: anywhere; }
.ci__q { justify-self: start; }
.ci__q button { width: 40px; height: 40px; flex-shrink: 0; background: #f1f5ef; }
.ci__p { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.cart__sum { gap: 12px; flex-wrap: wrap; }
.drawer__panel { max-height: 100dvh; }
.drawer__head, .drawer__foot { flex-shrink: 0; }
.drawer__body { min-height: 0; overscroll-behavior: contain; }
.fld, .ord__bar, .ord__seg, .cart__row { min-width: 0; }
.cartbtn--head { max-width: 180px; }
.cartbtn__sum { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .dish .hero__cta .btn.addbtn--big { flex: 1 1 100%; width: 100%; }
  .item, a.item { grid-template-columns: 64px minmax(0,1fr) 42px; }
  .item__ph { width: 64px; height: 64px; }
  .item__p { font-size: 18px; }
  .item__out { max-width: 100%; }
  .item:has(.item__out) .item__p { grid-column: 2 / 4; }
  .item:has(.item__out) .item__act { grid-column: 2 / 4; grid-row: 3; justify-self: start; }
  .item:has(.item__out) .item__out { text-align: left; }
  .cartbtn--head { max-width: 64px; }
  .cartbtn--head .cartbtn__sum { display: none; }
  .drawer__foot { max-height: 55dvh; overflow-y: auto; }
  .qty, .total, .kinds { flex-wrap: wrap; gap: 12px; }
  .detail__badge { max-width: calc(100% - 32px); white-space: normal; }
}
