*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b0d0f;color:#f5f5f2;font:15px/1.5 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.container{max-width:1180px;margin:auto;padding:0 22px}.header{position:sticky;top:0;z-index:20;background:rgba(11,13,15,.94);border-bottom:1px solid #25282b;backdrop-filter:blur(10px)}.nav{height:76px;display:flex;align-items:center;gap:35px}.brand img{width:150px;display:block}.nav nav{display:flex;gap:25px;flex:1}.nav nav a{color:#b9bdc0}.nav nav a:hover{color:#fff}.cart-open{border:1px solid #3a3d40;background:#171a1d;color:#fff;padding:10px 14px;border-radius:12px;cursor:pointer}.cart-open b{background:#e53935;padding:2px 7px;border-radius:9px;margin:0 4px}.hero{min-height:520px;background:radial-gradient(circle at 70% 30%,#33231e,#0b0d0f 48%);display:flex;align-items:center}.hero-inner{width:100%;padding-top:40px;padding-bottom:40px}.eyebrow{color:#e34b43;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700}.hero h1{font-size:clamp(45px,7vw,82px);line-height:.98;margin:18px 0}.hero h1 em{font-style:normal;color:#e44a42}.hero p{max-width:570px;color:#aeb2b5;font-size:18px}.hero-btn,.checkout,.add{display:inline-block;background:#e53935;color:#fff;border:0;border-radius:12px;padding:13px 19px;font-weight:700;cursor:pointer}.menu{padding-top:85px;padding-bottom:100px}.section-head h2,.about h2,.contacts h2{font-size:40px;margin:8px 0 30px}.categories{display:flex;gap:8px;overflow:auto;padding-bottom:22px}.categories button{white-space:nowrap;background:#15181b;color:#aeb2b5;border:1px solid #292d30;border-radius:999px;padding:10px 17px;cursor:pointer}.categories button.active{background:#e53935;border-color:#e53935;color:#fff}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product{background:#14171a;border:1px solid #24282b;border-radius:18px;overflow:hidden}.pic{height:200px;background:#202428;display:flex;align-items:center;justify-content:center;font-size:65px;overflow:hidden;position:relative}.pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.pbody{padding:18px;background:#14171a;position:relative;z-index:1;min-height:150px}.pbody h3{font-size:21px;line-height:1.2;margin:6px 0 7px}.pbody p{height:auto;min-height:44px;max-height:66px;line-height:1.45;color:#969b9f;margin:0 0 16px;overflow:hidden}.pbody small{color:#e34b43}.pfoot{display:flex;align-items:center;justify-content:space-between}.pfoot>b{font-size:20px}.qty{display:flex;align-items:center;gap:9px}.qty button{width:34px;height:34px;border:0;border-radius:10px;background:#292d30;color:#fff;font-size:21px;cursor:pointer}.qty span{min-width:20px;text-align:center;font-weight:700}.about{background:#131619;border-top:1px solid #24282b;border-bottom:1px solid #24282b;padding:85px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about p{font-size:20px;color:#b4b8bb}.features{display:flex;flex-wrap:wrap;gap:10px}.features span{padding:9px 13px;background:#1c2023;border-radius:9px}.contacts{padding:70px 22px}.contacts h2{margin-bottom:8px}footer{border-top:1px solid #24282b;padding:30px 0}footer .container{display:flex;justify-content:space-between;align-items:center;color:#777}footer img{width:125px}.overlay{position:fixed;inset:0;background:#0008;z-index:30}.cart-drawer{position:fixed;right:0;top:0;bottom:0;width:min(460px,100%);background:#111416;z-index:31;transform:translateX(100%);transition:.2s;display:flex;flex-direction:column;border-left:1px solid #2a2e31}.cart-drawer.open{transform:none}.cart-head{padding:20px;border-bottom:1px solid #292d30;display:flex;justify-content:space-between}.cart-head h2{margin:0}.cart-head button{background:none;border:0;color:#fff;font-size:32px;cursor:pointer}.cart-items{padding:18px;overflow:auto;flex:1}.cart-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #25292c}.mini{width:58px;height:58px;background:#25292c;border-radius:10px;overflow:hidden;display:grid;place-items:center}.mini img{width:100%;height:100%;object-fit:cover}.ci{flex:1;display:flex;flex-direction:column}.ci span{color:#9da2a5}.cart-bottom{padding:18px;border-top:1px solid #292d30}.sum{display:flex;justify-content:space-between;font-size:20px;margin-bottom:15px}.order-form{display:flex;flex-direction:column;gap:10px}.form-title{font-size:14px;font-weight:800;margin-bottom:2px}.field{display:flex;flex-direction:column;gap:5px}.field span{font-size:12px;color:#9da2a5;font-weight:700}.field input,.field textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid #303438;background:#181b1e;color:#fff;outline:none;resize:vertical;font:inherit;transition:.15s}.field input::placeholder,.field textarea::placeholder{color:#666d71}.field input:focus,.field textarea:focus{border-color:#e53935;box-shadow:0 0 0 3px #e5393520}.checkout{width:100%;margin-top:3px;display:flex;align-items:center;justify-content:center;gap:8px}.checkout span{font-size:20px}.empty{text-align:center;color:#999;padding:70px 10px}.empty span{display:block;margin-top:8px;color:#666}@media(max-width:800px){.nav nav{display:none}.products{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr;gap:10px}}@media(max-width:520px){.products{grid-template-columns:1fr}.pic{height:190px}.hero{min-height:460px}.section-head h2,.about h2,.contacts h2{font-size:32px}}

.shop-info{display:flex;flex-direction:column;align-items:flex-end;gap:1px;margin-left:auto;white-space:nowrap;max-width:220px}.shop-info:empty{display:none}.shop-info a{font-weight:800;color:#fff}.shop-info span{font-size:11px;color:#92979b}.hero-contact{display:flex;gap:12px;align-items:center;margin:20px 0}.hero-contact a{font-weight:800;color:#fff}.hero-contact span{color:#9fa4a8}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-card{background:#14171a;border:1px solid #292d30;border-radius:15px;padding:20px;display:flex;flex-direction:column;gap:5px}.contact-card small{color:#e34b43;text-transform:uppercase;letter-spacing:1px}.contact-card b{font-size:18px}.contact-card:hover{border-color:#444}@media(max-width:700px){.shop-info{display:flex;max-width:180px;overflow:hidden}.shop-info a,.shop-info span{overflow:hidden;text-overflow:ellipsis;max-width:100%}.contact-cards{grid-template-columns:1fr}.hero-contact{flex-direction:column;align-items:flex-start;gap:4px}}

.header-search{display:flex;align-items:center;gap:8px;background:#171a1d;border:1px solid #3a3d40;border-radius:14px;padding:7px 12px;width:240px;transition:.25s}
.header-search:focus-within{border-color:#e53935;box-shadow:0 0 0 3px rgba(229,57,53,.15)}
.header-search span{font-size:16px}
.header-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:14px}
.header-search input::placeholder{color:#999}
@media(max-width:900px){
.header-search{width:42px;padding:8px}
.header-search input{display:none}
.header-search:focus-within{width:170px}
.header-search:focus-within input{display:block}
.nav{gap:10px}
}

.delivery-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 6px}
.delivery-option{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid #34383c;border-radius:14px;background:#191c1f;color:#fff;cursor:pointer;transition:.15s}
.delivery-option:hover{border-color:#555}
.delivery-option.active{border-color:#e53935;box-shadow:0 0 0 1px #e53935;background:#241719}
.delivery-icon{font-size:22px}
.delivery-option span:last-child{display:flex;flex-direction:column;gap:2px}
.delivery-option small{color:#9da2a6;font-size:11px;font-weight:400}
#deliveryAddressWrap{transition:.15s}
.checkout-heading{font-size:20px;font-weight:800;margin-bottom:16px}
.checkout-section{margin:0 0 15px}
.checkout-label{font-weight:750;margin-bottom:8px}
.field{display:grid;gap:7px;margin-bottom:13px}
.field>span{font-weight:700;font-size:13px}
.product.disabled .add{background:#2b2f32;color:#9da2a6;cursor:not-allowed;font-size:12px;padding:10px 12px}
@media(max-width:480px){.delivery-choice{grid-template-columns:1fr}}

.product.disabled .add{background:#2b2f32;color:#9da2a6;cursor:not-allowed;font-size:12px;padding:10px 12px}


/* V35 — красивый комментарий к заказу */
.order-comment{margin:4px 0 14px;padding:0}
.order-comment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.order-comment-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#f3f3f3}
.comment-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#21191a;border:1px solid #382426;font-size:14px}
.comment-optional{font-size:10px;color:#777f83;font-weight:600}
.order-comment textarea{display:block;width:100%;min-height:78px;box-sizing:border-box;padding:12px 13px;border:1px solid #303438;border-radius:12px;background:#141719;color:#fff;outline:none;resize:vertical;font:inherit;font-size:13px;line-height:1.45;transition:border-color .18s,box-shadow .18s,background .18s}
.order-comment textarea::placeholder{color:#687074}
.order-comment textarea:hover{border-color:#42474b;background:#16191b}
.order-comment textarea:focus{border-color:#e53935;background:#17191b;box-shadow:0 0 0 3px rgba(229,57,53,.10)}
.comment-hint{margin-top:6px;padding-left:2px;font-size:10px;color:#656c70}
@media(max-width:420px){.order-comment-head{align-items:flex-start}.order-comment-title{font-size:12px}.comment-optional{font-size:9px}.order-comment textarea{min-height:72px}}

/* V37.3 header contacts */
.shop-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;white-space:nowrap}
.header-phone{font-weight:900;text-decoration:none;cursor:pointer}
.header-phone[href^="tel:"]{color:#fff}
.header-phone[href="#"]{display:none}
@media(max-width:700px){.shop-info{max-width:180px}.header-phone{font-size:13px}.shop-info span{font-size:10px}}


.payment-choice{display:grid;gap:9px}.payment-option{width:100%;display:grid;grid-template-columns:38px 1fr 26px;align-items:center;gap:10px;text-align:left;padding:12px 13px;border:1px solid #303438;border-radius:14px;background:#181b1e;color:#fff;cursor:pointer;transition:.16s;position:relative}.payment-option:hover{border-color:#555b60;transform:translateY(-1px)}.payment-option.active{border-color:#e53935;background:linear-gradient(135deg,#29191b,#181b1e);box-shadow:0 0 0 2px #e5393530}.payment-icon{width:36px;height:36px;border-radius:10px;background:#25292c;display:grid;place-items:center;font-size:20px}.payment-option.active .payment-icon{background:#e53935}.payment-option b{display:block;font-size:14px}.payment-option small{display:block;color:#92989c;font-size:11px;margin-top:2px}.payment-check{width:23px;height:23px;border:1px solid #41464a;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:13px}.payment-option.active .payment-check{background:#e53935;border-color:#e53935;color:#fff}@media(max-width:520px){.payment-option{padding:13px}}
/* Cart checkout improvements */
.cart-bottom{max-height:58vh;overflow-y:auto;scrollbar-width:thin}.cart-items{min-height:80px}.checkout-heading{font-size:20px;font-weight:800;margin-bottom:10px}.checkout-section{margin:0 0 12px}.checkout-label{font-weight:750;margin-bottom:7px}.delivery-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px}.delivery-option{border:1px solid #303438;background:#181b1e;color:#fff;border-radius:12px;padding:11px;text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer}.delivery-option.active{border-color:#e53935;background:#251719;box-shadow:0 0 0 2px #e5393530}.delivery-option small{display:block;color:#969b9f;margin-top:2px}.delivery-icon{font-size:22px}.payment-card{background:#181b1e;border:1px solid #303438;border-radius:12px;padding:11px 13px}.order-form select{appearance:auto}.checkout{position:sticky;bottom:0;z-index:2;box-shadow:0 -10px 20px #111416}.field textarea{max-height:90px}@media(max-width:520px){.cart-bottom{max-height:62vh}.delivery-choice{grid-template-columns:1fr}.checkout{padding:14px}}

/* V38 featured labels and sections */
.featured-section{padding:55px 0 5px}.featured-section .section-head{margin-bottom:20px}.featured-section .section-head h2{margin:6px 0 0}.featured-products{margin-top:0}.pbody{position:relative}.badge{display:inline-flex;align-items:center;margin:0 5px 7px 0;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:800;background:#25292c}.badge.new{background:#24311f}.badge.popular{background:#30291d}.badge.sale{background:#3a1c1d;color:#ffb2ae}.pfoot>b s{color:#777;font-size:13px;font-weight:500;margin-right:5px}.product-flags{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0}.product-flags label,.discount-field{display:flex;align-items:center;gap:7px;background:#181b1e;border:1px solid #303438;border-radius:10px;padding:10px;font-size:13px;cursor:pointer}.product-flags input{accent-color:#e53935}.discount-field{flex-direction:column;align-items:stretch;cursor:default}.discount-field input{margin-top:5px}.featured-section.sale{padding-top:35px}.featured-section.new{padding-top:35px}.featured-section.popular{padding-top:35px}

/* ================= PREMIUM RED THEME ================= */
:root{--accent:#ff3b30;--accent2:#ff5a4f;--bg:#080a0c;--panel:#111519;--panel2:#171c20;--line:#252c31;--muted:#9aa2a8;--glow:rgba(255,59,48,.22)}
body{background:radial-gradient(circle at 15% -10%,rgba(255,59,48,.10),transparent 32%),radial-gradient(circle at 90% 30%,rgba(255,100,70,.06),transparent 28%),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.header{background:rgba(8,10,12,.78);border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 10px 35px rgba(0,0,0,.20)}
.nav{height:82px}.brand img{width:158px}.nav nav a{font-weight:700;transition:.2s}.nav nav a:hover{color:#fff;transform:translateY(-1px)}
.shop-info{border-left:1px solid #252a2e;padding-left:18px}.header-phone{color:#fff!important}.header-phone:hover{color:var(--accent2)!important}
.header-search{background:#111519;border-color:#2b3237;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.cart-open{background:linear-gradient(135deg,#191e22,#111519);border-color:#343b40;box-shadow:0 6px 20px rgba(0,0,0,.2);font-weight:800}.cart-open:hover{border-color:#555;transform:translateY(-1px)}.cart-open b{background:var(--accent);box-shadow:0 0 16px var(--glow)}
.hero{min-height:620px;background:radial-gradient(circle at 74% 36%,rgba(255,69,58,.22),transparent 20%),radial-gradient(circle at 82% 75%,rgba(255,130,80,.09),transparent 30%),linear-gradient(115deg,#090b0d 15%,#101417 58%,#1b1110 100%);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto -10% -70% 35%;height:80%;background:radial-gradient(ellipse,rgba(255,59,48,.13),transparent 65%);pointer-events:none}.hero-inner{position:relative;z-index:1}.eyebrow{color:#ff5b50;letter-spacing:2.5px}.hero h1{font-weight:900;letter-spacing:-3px;text-shadow:0 12px 45px rgba(0,0,0,.45)}.hero h1 em{color:#ff4b43}.hero p{color:#b4bcc1}.hero-btn,.checkout,.add{background:linear-gradient(135deg,#ff493f,#d92520);box-shadow:0 12px 30px rgba(255,59,48,.22);transition:.2s}.hero-btn:hover,.checkout:hover,.add:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 16px 34px rgba(255,59,48,.28)}
.menu{padding-top:100px}.section-head h2,.about h2,.contacts h2{font-weight:900;letter-spacing:-1.5px}.categories{scrollbar-width:none}.categories button{background:#111519;border-color:#2b3237;font-weight:750;transition:.2s}.categories button:hover{border-color:#515960;color:#fff;transform:translateY(-1px)}.categories button.active{background:linear-gradient(135deg,#ff493f,#d92520);box-shadow:0 8px 24px rgba(255,59,48,.18)}
.products{gap:22px}.product{background:linear-gradient(180deg,#151a1e,#101417);border-color:#293137;border-radius:22px;box-shadow:0 16px 45px rgba(0,0,0,.20);transition:transform .2s,border-color .2s,box-shadow .2s}.product:hover{transform:translateY(-5px);border-color:#3d464d;box-shadow:0 22px 55px rgba(0,0,0,.30)}.pic{height:220px;background:linear-gradient(135deg,#20262b,#13181b)}.pic:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.30));pointer-events:none}.pbody{background:transparent;padding:19px}.pbody h3{font-weight:850;letter-spacing:-.3px}.pbody p{color:#929ba1}.pfoot>b{font-size:22px}.qty button{background:#252c31;border:1px solid #343c42;transition:.15s}.qty button:hover{background:#30383e}.product.disabled{opacity:.62;filter:saturate(.6)}
.about{background:linear-gradient(135deg,#0e1215,#13181c);border-color:#252c31}.about p{color:#aeb7bd}.features span{background:#191f23;border:1px solid #2a3237;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.contact-card{background:linear-gradient(135deg,#14191d,#0f1316);border-color:#293137;box-shadow:0 10px 28px rgba(0,0,0,.18)}.contact-card:hover{border-color:#4a5359;transform:translateY(-2px)}
footer{border-color:#252c31;background:#080a0c}.cart-drawer{background:linear-gradient(180deg,#12171a,#0d1012);border-left-color:#30383e;box-shadow:-20px 0 60px rgba(0,0,0,.45)}.cart-head{background:#14191d;border-color:#2a3136}.cart-head button:hover{color:#ff5b50}.cart-row{border-color:#272e33}.mini{background:#1c2226;border:1px solid #2a3237}.field input,.field textarea{background:#151a1d;border-color:#30383e}.field input:hover,.field textarea:hover{border-color:#454e55}.delivery-option,.payment-option{background:#151a1d!important;border-color:#30383e!important}.delivery-option.active,.payment-option.active{border-color:#ff493f!important;background:rgba(255,59,48,.08)!important;box-shadow:0 0 0 1px #ff493f,0 8px 25px rgba(255,59,48,.08)!important}
.featured-section{margin:34px 0 48px}.featured-section h3{font-size:28px;font-weight:900;letter-spacing:-.7px}.featured-section .products{margin-top:14px}.badge{box-shadow:0 5px 15px rgba(0,0,0,.25)!important}

@media(max-width:900px){
  .nav{height:auto;min-height:72px;flex-wrap:wrap;gap:8px;padding-top:10px;padding-bottom:10px}
  .shop-info{display:flex;order:3;width:100%;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#d5dadd}
  .shop-info span,.shop-info a{background:#171d21;border:1px solid #30383e;border-radius:10px;padding:7px 10px;color:#fff;text-decoration:none}
  .header-phone{font-weight:800}
  .header-phone:empty{display:none!important}
  .products{gap:14px}
}
@media(max-width:520px){.header-search{order:4;width:100%;}.header-search input{width:100%;}.cart-open{order:2}.brand img{width:135px}.hero h1{letter-spacing:-2px}.menu{padding-top:70px}.products{gap:14px}.product{border-radius:18px}.pic{height:205px}}

/* Плавная прокрутка к выбранной категории меню */
#products{scroll-margin-top:96px}

/* SUSHIVUSHI mobile menu + mini-roll badge */
.category-line{display:flex;align-items:center;gap:8px;margin:2px 0 6px}.category-line small{display:inline-block}.badge.mini{display:inline-flex;align-items:center;margin:0;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800;line-height:1.2;background:rgba(229,57,53,.12);color:#ff8a84;border:1px solid rgba(229,57,53,.5);box-shadow:0 3px 10px rgba(229,57,53,.08)}
@media(max-width:520px){
  .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .product{border-radius:14px}
  .pic{height:125px}
  .pbody{padding:11px}
  .pbody h3{font-size:14px;line-height:1.15;margin:5px 0}
  .pbody p{font-size:10px;line-height:1.3;min-height:0;max-height:34px;margin:0 0 8px}
  .pbody small{font-size:9px}
  .badge{font-size:8px;padding:4px 5px;margin:0 3px 4px 0;border-radius:6px}
  .pfoot{gap:5px;align-items:flex-end}
  .pfoot>b{font-size:14px}
  .pfoot .add{font-size:10px;padding:8px 7px;border-radius:9px}
  .qty{gap:3px}
  .qty button{width:27px;height:27px;font-size:17px;border-radius:8px}
  .qty span{min-width:15px;font-size:12px}
  .featured-products{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* С мини — аккуратная фирменная плашка */
.category-line .badge.mini{padding:5px 12px;border-radius:10px;font-size:11px;letter-spacing:.2px;font-weight:900;line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:max-content;min-width:max-content;background:linear-gradient(135deg,rgba(229,57,53,.22),rgba(229,57,53,.10));color:#fff;border:1px solid rgba(255,91,80,.65);box-shadow:0 4px 12px rgba(229,57,53,.16),inset 0 1px 0 rgba(255,255,255,.08)}
@media(max-width:520px){.category-line .badge.mini{padding:4px 9px;border-radius:8px;font-size:9px;white-space:nowrap}}

.name-emoji{font-size:.9em;vertical-align:baseline}

/* Unified product labels: Новинка / Популярное / Акция */
.badge.new,.badge.popular,.badge.sale{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 11px;
  margin:0 6px 8px 0;
  border-radius:10px;
  background:rgba(229,57,53,.12);
  color:#fff;
  border:1px solid rgba(255,91,80,.48);
  box-shadow:0 4px 12px rgba(229,57,53,.10);
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.1px;
  white-space:nowrap;
}
.badge.new,.badge.popular,.badge.sale{color:#fff;background:linear-gradient(135deg,rgba(229,57,53,.20),rgba(229,57,53,.10));}
@media(max-width:520px){
  .badge.new,.badge.popular,.badge.sale{min-height:26px;padding:5px 9px;border-radius:9px;font-size:10px;margin-right:4px;margin-bottom:6px}
}

/* V12: mini-roll badge unified with New/Popular/Sale badges */
.badge.mini{display:inline-flex;align-items:center;margin:0 5px 7px 0;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:800;background:#25292c;color:#f5f5f2;border:0;box-shadow:5px 5px 15px rgba(0,0,0,.25);line-height:1.2}
@media(max-width:520px){.badge.mini{font-size:8px;padding:4px 5px;margin:0 3px 4px 0;border-radius:6px}}


/* Рекламные баннеры */
.banner-section{padding-top:24px;padding-bottom:10px;overflow:hidden}.banner-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:0 2px 12px;scrollbar-width:none}.banner-track::-webkit-scrollbar{display:none}.promo-banner{flex:0 0 300px;height:375px;border-radius:18px;overflow:hidden;position:relative;display:block;background:#222;scroll-snap-align:start;box-shadow:0 10px 30px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08)}.promo-banner img{width:100%;height:100%;display:block;object-fit:cover}.promo-banner-overlay{position:absolute;inset:auto 0 0;padding:38px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}.promo-banner-title{font-weight:800;font-size:21px}.promo-banner-subtitle{font-size:13px;margin-top:4px;opacity:.9}.banner-dots{display:flex;justify-content:center;gap:8px;padding:4px 0 8px}.banner-dot{width:8px;height:8px;border-radius:50%;background:#555;border:0;padding:0;cursor:pointer}.banner-dot.active{background:#ddd;transform:scale(1.12)}
@media(max-width:900px){.promo-banner{flex-basis:280px;height:350px}.banner-track{gap:14px}}
@media(max-width:560px){.banner-section{padding-top:12px}.promo-banner{flex-basis:78vw;height:98vw;max-height:390px;border-radius:16px}.promo-banner-title{font-size:18px}}

/* Стили для восстановленного оформления блока зоны доставки */
.delivery-price-hint{margin:-6px 0 10px;color:#9da2a6;font-size:12px}
.field select{width:100%;padding:13px 14px;border-radius:12px;border:1px solid #303438;background:#181b1e;color:#fff;outline:none;font:inherit}
.field select:focus{border-color:#e53935;box-shadow:0 0 0 3px #e5393520}

.checkout-name-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:700px){.checkout-name-grid{grid-template-columns:1fr}}

/* v20: polished cart additions */
.category-line{display:flex;align-items:center;gap:7px;min-height:22px}
.category-line small{color:#8f9599}
.badge.mini{display:inline-flex;align-items:center;height:24px;padding:3px 9px;border-radius:7px;background:#24282c;color:#fff;font-size:11px;font-weight:800;letter-spacing:.2px}
.pdetails{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px;color:#8e9498;font-size:12px}
.pdetails span{padding:5px 8px;background:#1b1f22;border:1px solid #272b2f;border-radius:7px}
.promo-box{margin-top:8px;padding:12px;border:1px solid #292d30;background:#15181b;border-radius:14px}
.promo-title{font-weight:800;font-size:13px;margin-bottom:7px}.promo-row{display:flex;gap:7px}.promo-row input{flex:1;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid #303438;background:#101214;color:#fff}.promo-row button{border:0;border-radius:10px;background:#292d30;color:#fff;padding:0 13px;font-weight:700;cursor:pointer}.promo-message{font-size:12px;color:#79d38a;margin-top:6px;min-height:16px}
.cart-recommendations{margin-top:12px}.rec-title{font-size:13px;font-weight:800;margin-bottom:7px}.rec-list{display:flex;gap:8px;overflow:auto}.rec-item{min-width:190px;flex:1;display:flex;align-items:center;gap:8px;padding:8px;background:#171a1d;border:1px solid #292d30;border-radius:12px}.rec-img{width:42px;height:42px;border-radius:8px;background:#25292c;overflow:hidden;display:grid;place-items:center}.rec-img img{width:100%;height:100%;object-fit:cover}.rec-item>div:nth-child(2){flex:1;min-width:0}.rec-item b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rec-item small{color:#a7adb0}.rec-item button{width:30px;height:30px;border:0;border-radius:9px;background:#e53935;color:#fff;font-size:19px;cursor:pointer}
.order-status-panel{padding:0 22px 80px}.status-card{background:#14171a;border:1px solid #2a2e31;border-radius:20px;padding:26px;box-shadow:0 15px 50px #0004}.status-card h2{margin:7px 0 22px;font-size:28px}.status-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.status-steps div{padding:11px 8px;border-radius:10px;background:#202428;color:#777;text-align:center;font-size:12px;font-weight:800}.status-steps div.done{background:#e53935;color:#fff}.status-detail{margin-top:15px;color:#b6bbbe}.status-close{margin-top:15px;border:1px solid #33383c;background:#1b1f22;color:#fff;border-radius:10px;padding:9px 13px;cursor:pointer}
@media(max-width:700px){.status-steps{grid-template-columns:1fr 1fr}.rec-item{min-width:180px}.promo-row button{padding:0 10px}}

.shop-address{margin-top:14px;padding:14px 18px;max-width:520px;background:#151a1d;border:1px solid #30383e;border-radius:12px;color:#f5f5f2}.shop-address strong{color:#e44a42;margin-right:6px}


/* Адрес магазина всегда виден в верхней панели */
.shop-info .header-address{display:block;color:#f5f5f2;font-size:11px;line-height:1.3;font-weight:700;padding-top:3px;white-space:normal;max-width:235px;}
@media(max-width:900px){.nav{gap:10px}.shop-info{max-width:240px}.shop-info .header-address{font-size:10px;}}
@media(max-width:700px){.shop-info .header-address{max-width:none;width:100%;text-align:center;font-size:11px;}}


/* Обязательный выбор соуса для WOK */
.wok-sauce-modal[hidden]{display:none!important}.wok-sauce-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px}.wok-sauce-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.wok-sauce-panel{position:relative;width:min(100%,440px);padding:30px 24px 22px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:#171717;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.5)}.wok-sauce-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#aaa;font-size:30px;cursor:pointer}.wok-sauce-kicker{color:#d9a35f;font-size:11px;letter-spacing:2px;font-weight:800}.wok-sauce-panel h2{margin:8px 0;font-size:26px}.wok-sauce-panel p{margin:0 0 20px;color:#bdbdbd;font-size:14px;line-height:1.5}.wok-sauce-options{display:grid;gap:10px}.wok-sauce-options button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 15px;border:1px solid #393939;border-radius:14px;background:#222;color:#fff;text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,background .15s}.wok-sauce-options button:hover,.wok-sauce-options button:focus-visible{border-color:#d9a35f;background:#2a261f;outline:none}.wok-sauce-options button>span{font-size:22px}.wok-sauce-options button>b{flex:1;font-size:15px}.wok-sauce-options button>i{display:grid;place-items:center;width:22px;height:22px;border:1px solid #626262;border-radius:50%;color:transparent;font-style:normal}.wok-sauce-options button:hover>i,.wok-sauce-options button:focus-visible>i{border-color:#d9a35f;background:#d9a35f;color:#171717}.wok-sauce-actions{display:flex;justify-content:flex-end;margin-top:18px}.wok-sauce-cancel{border:0;background:transparent;color:#c7c7c7;padding:9px 12px;cursor:pointer}.wok-sauce-label{display:block;margin-top:5px;color:#d9a35f;font-size:12px}.wok-cart-note{color:#d9a35f;font-size:12px;margin-top:4px}


/* Responsive QA pass: phones and tablets */
html{overflow-x:clip}body{min-width:320px}.container{width:100%;min-width:0}.container img{max-width:100%}.nav>*{min-width:0}
button,a,input,select,textarea{touch-action:manipulation}
@media(max-width:900px){.nav{gap:10px}.nav nav{display:none}.shop-info{min-width:0}.hero-inner{padding-top:32px;padding-bottom:32px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:1fr;gap:18px}.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.container{padding-left:14px;padding-right:14px}.nav{height:auto;min-height:68px;flex-wrap:wrap;padding:10px 0;row-gap:8px}.brand img{width:116px}.cart-open{padding:9px 10px;font-size:13px;white-space:nowrap}.header-search{order:4;flex:1 0 100%;width:100%;max-width:none}.header-search input{display:block;width:100%}.header-search:focus-within{width:100%}.shop-info{order:3;max-width:100%;width:auto;flex:1;align-items:flex-end;font-size:11px}.hero{min-height:390px}.hero h1{font-size:clamp(36px,11vw,54px);letter-spacing:-1.5px}.hero p{font-size:15px}.hero-contact{flex-direction:column;align-items:flex-start;gap:5px}.menu{padding-top:52px;padding-bottom:60px}.section-head h2,.about h2,.contacts h2{font-size:29px;letter-spacing:-.7px}.products{grid-template-columns:minmax(0,1fr);gap:12px}.product{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch;border-radius:15px}.pic{height:100%;min-height:142px;max-height:none}.pbody{padding:12px;min-width:0;min-height:0}.pbody h3{font-size:17px}.pbody p{font-size:12px;min-height:0;max-height:3.8em;margin-bottom:10px}.pfoot{gap:8px;align-items:flex-end;flex-wrap:wrap}.pfoot>b{font-size:17px}.qty{gap:5px}.qty button{width:36px;height:36px}.about{padding:48px 0}.about p{font-size:16px}.contact-cards{grid-template-columns:1fr}.contacts{padding:45px 14px}footer .container{gap:14px;flex-wrap:wrap}.cart-drawer{width:100%;max-width:100vw}.cart-head{padding:14px}.cart-items{padding:12px}.cart-bottom{max-height:64dvh;padding:12px;overflow-y:auto;padding-bottom:max(12px,env(safe-area-inset-bottom))}.cart-row{gap:8px}.mini{width:48px;height:48px;flex:0 0 48px}.delivery-choice{grid-template-columns:1fr}.delivery-option,.payment-option{min-height:48px}.order-comment textarea{font-size:16px}}
@media(max-width:380px){.product{grid-template-columns:92px minmax(0,1fr)}.pic{min-height:128px}.pbody{padding:10px}.pfoot{align-items:flex-start;flex-direction:column}.qty{align-self:flex-end}.shop-info{display:none}.cart-open{margin-left:auto}}

/* Временная приостановка онлайн-заказов */
.order-pause-notice{max-width:1200px;margin:16px auto;padding:18px 22px;border:1px solid #e6b7a8;border-radius:14px;background:#fff1ec;color:#792d1a;display:flex;flex-direction:column;gap:5px;text-align:center}.order-pause-notice[hidden]{display:none}.order-pause-notice b{font-size:clamp(18px,2vw,24px)}.order-pause-notice span{font-size:14px}.order-pause-control{margin:16px 0;padding:15px;border:1px solid #e5c1b6;border-radius:12px;background:#fff8f5}.order-pause-label{display:flex!important;align-items:flex-start;gap:10px;cursor:pointer}.order-pause-label input{width:20px;height:20px;flex:0 0 auto;margin-top:2px}.order-pause-label span{display:flex;flex-direction:column;gap:5px}.order-pause-label small{font-weight:400;color:#6b625e;line-height:1.4}

/* Компактный выбор времени готовности заказа */
.scheduled-time-section .field {
  margin-bottom: 10px;
}

.scheduled-time-section .field select {
  min-height: 44px;
  padding: 9px 12px;
  font-size: 15px;
}

.scheduled-time-section #scheduledTimeWrap {
  max-width: 230px;
}

.scheduled-time-section #scheduledTime {
  display: block;
  width: 100%;
  max-width: 230px;
  height: 46px;
  min-height: 46px;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 18px;
  box-sizing: border-box;
  color-scheme: dark;
  cursor: pointer;
}

.scheduled-time-section #scheduledTimeWrap[hidden] {
  display: none !important;
}


/* SUSHIVUSHI MARKETPLACE MOBILE CARDS */
@media (max-width: 600px) {
  .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .products,
  .featured-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
  }

  .product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    overflow: hidden;
    border-radius: 14px;
  }

  .product .pic {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .product .pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .product .pbody {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 10px;
  }

  .product .pbody h3 {
    font-size: 14px;
    line-height: 1.35;
    margin: 0 0 7px;
    overflow-wrap: anywhere;
  }

  .product .pbody p {
    display: none;
  }

  .product .badge {
    font-size: 10px;
    padding: 4px 6px;
    margin: 0 3px 5px 0;
  }

  .product .pfoot {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 9px;
    margin-top: auto;
    min-width: 0;
  }

  .product .pfoot > b {
    font-size: 18px;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .product .qty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    width: 100%;
  }

  .product .qty button {
    width: 38px;
    height: 38px;
    min-width: 0;
    padding: 0;
    border-radius: 10px;
  }

  .menu {
    padding-top: 36px;
  }
}

@media (max-width: 380px) {
  .products,
  .featured-products {
    gap: 8px;
  }

  .product .pbody {
    padding: 8px;
  }

  .product .pbody h3 {
    font-size: 13px;
  }

  .product .pfoot > b {
    font-size: 16px;
  }

  .product .qty button {
    width: 34px;
    height: 36px;
  }
}


/* SUSHIVUSHI MOBILE HEADER CONTACTS */
@media (max-width: 600px) {
  .nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    height: auto;
    min-height: 0;
    padding: 12px 0;
  }

  .brand {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
  }

  .brand img {
    display: block;
    width: 112px;
    max-width: 100%;
    height: auto;
  }

  .cart-open {
    order: 2;
    flex: 0 0 auto;
    margin-left: 0;
  }

  .shop-info {
    order: 3;
    display: flex !important;
    flex: 1 0 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 6px;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 10px 0 0;
    border-left: 0;
    border-top: 1px solid #303438;
    white-space: normal;
    overflow: visible;
  }

  .shop-info .header-phone,
  .shop-info #headerHours,
  .shop-info .header-address,
  .shop-info span {
    display: block;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid #303438;
    border-radius: 10px;
    background: #171d21;
    color: #f5f5f2;
    font-size: 13px;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    text-overflow: clip;
    overflow: visible;
  }

  .shop-info .header-phone {
    font-size: 15px;
    font-weight: 800;
  }

  .shop-info .header-address {
    font-size: 12px;
  }

  .header-search {
    order: 4;
    flex: 1 0 100%;
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .header-search input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
}

@media (max-width: 380px) {
  .shop-info {
    display: flex !important;
  }

  .shop-info .header-phone,
  .shop-info #headerHours,
  .shop-info .header-address,
  .shop-info span {
    font-size: 12px;
  }
}


/* SUSHIVUSHI MOBILE AUTO-HIDE HEADER */
@media (max-width: 600px) {
  .nav {
    position: relative;
    top: auto;
    z-index: 100;
    transform: translateY(0);
    transition: transform .22s ease;
    will-change: transform;
  }

  .nav.mobile-header-hidden {
    transform: translateY(-110%);
    pointer-events: none;
  }
}



/* SUSHIVUSHI MOBILE HEADER AND FLOATING CART FIX */
@media (max-width: 600px) {
  .header {
    position: sticky;
    top: 0;
    z-index: 100;
    transform: translateY(0);
    transition: transform .22s ease;
    will-change: transform;
  }

  .header.mobile-header-hidden {
    transform: translateY(-110%);
    pointer-events: none;
  }

  #openCart.mobile-floating-cart {
    position: fixed !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    right: 12px !important;
    left: auto !important;
    z-index: 200 !important;
    display: block !important;
    width: auto !important;
    max-width: calc(100vw - 24px);
    margin: 0 !important;
    transform: none;
    box-shadow: 0 5px 20px rgba(0,0,0,.35);
  }

  #openCart.mobile-floating-cart:active {
    transform: scale(.97);
  }
}

@media (min-width: 601px) {
  #openCart.mobile-floating-cart {
    position: static;
  }
}


/* MOBILE HEADER SMOOTHNESS AND PRODUCT DESCRIPTIONS */
@media (max-width: 600px) {
  .header {
    transition: transform .38s cubic-bezier(.22,.75,.25,1);
  }

  .header.mobile-header-hidden {
    transform: translate3d(0, -105%, 0);
    pointer-events: none;
  }

  .product .pbody p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: 0;
    max-height: 2.8em;
    height: auto;
    margin: 0 0 10px;
    font-size: 12px;
    line-height: 1.4;
    color: #aeb2b5;
  }
}

/* CLIENT PRODUCT COMPOSITION */
.client-composition-modal[hidden]{display:none!important}
.client-composition-modal{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.76);display:flex;align-items:center;justify-content:center;padding:12px;overflow-y:auto}
.client-composition-panel{position:relative;width:min(100%,500px);max-height:90dvh;overflow-y:auto;background:#171d21;color:#f5f5f2;border:1px solid #343b40;border-radius:18px}
.client-composition-close{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#171d21;color:white;font-size:28px}
.client-composition-photo{height:250px;background:white;display:flex;align-items:center;justify-content:center;font-size:60px}
.client-composition-photo img{width:100%;height:100%;object-fit:contain}
.client-composition-body{padding:20px}
.client-composition-category{color:#b9c0c4}
.client-composition-body h2{margin:8px 0;font-size:24px}
.client-composition-weight{color:#c1c7cb;margin:8px 0}
.client-composition-desc,.client-composition-ingredients{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.client-composition-heading{font-size:16px;margin:18px 0 6px}
body.client-composition-open{overflow:hidden}
@media(max-width:600px){.client-composition-photo{height:55vw;max-height:250px}.client-composition-body{padding:16px}}

/* Надёжное нажатие на крестик корзины */
#closeCart {
  position: relative;
  z-index: 2;
  flex: 0 0 44px;
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  pointer-events: auto;
  touch-action: manipulation;
}

/* Заметная кнопка возврата в корзине */
.cart-head {
  align-items: center;
  gap: 14px;
}
#closeCart {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  width: auto;
  min-width: 100px;
  min-height: 44px;
  padding: 8px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #ff6258;
  border-radius: 12px;
  background: #e53935;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
}
#closeCart:hover {
  background: #c92c28;
}
.cart-head h2 {
  flex: 1;
  text-align: right;
}


/* FIX: корзина поверх шапки сайта */
.overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9998 !important;
}

.cart-drawer {
  position: fixed !important;
  z-index: 9999 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.cart-head {
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
}

.cart-items {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 600px) {
  .cart-drawer {
    width: 100% !important;
    max-width: 100vw !important;
  }

  .cart-bottom {
    max-height: 60dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }
}

/* Исправление корзины в десктопной шапке */
@media (min-width: 601px) {
  .header {
    visibility: visible !important;
  }

  .nav {
    display: flex !important;
    align-items: center !important;
  }

  #openCart {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: max-content !important;
    margin-left: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body:not(.cart-is-open) .header {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}


/* Корзина поверх абсолютно всех элементов сайта */
#overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;
}

#cartDrawer {
  position: fixed !important;
  inset: 0 0 0 auto !important;
  z-index: 2147483647 !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

#cartDrawer.open {
  transform: translateX(0) !important;
}

#cartDrawer .cart-head {
  position: relative !important;
  z-index: 2147483647 !important;
  flex-shrink: 0 !important;
}

#cartDrawer #closeCart {
  position: relative !important;
  z-index: 2147483647 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#cartDrawer .cart-items {
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 600px) {
  #cartDrawer {
    width: 100vw !important;
    max-width: 100vw !important;
  }
}


/* Финальное исправление открытия и закрытия корзины */
#cartDrawer.cart-drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: min(460px, 100vw) !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  z-index: 2147483647 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #111416 !important;
  transition: transform .25s ease !important;
}

#cartDrawer.cart-drawer:not(.open) {
  transform: translateX(101%) !important;
  pointer-events: none !important;
}

#cartDrawer.cart-drawer.open {
  transform: translateX(0) !important;
  pointer-events: auto !important;
}

#overlay[hidden] {
  display: none !important;
}

#overlay:not([hidden]) {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;
}

@media (max-width: 600px) {
  #cartDrawer.cart-drawer {
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* Плавающая корзина поверх сайта */
#openCart.cart-open {
  position: fixed !important;
  right: 24px !important;
  bottom: 24px !important;
  top: auto !important;
  left: auto !important;
  z-index: 2147483645 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 56px !important;
  padding: 14px 22px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #f52f2f !important;
  color: white !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.5) !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#cartDrawer.cart-drawer:not(.open) {
  transform: translateX(101%) !important;
  pointer-events: none !important;
}

#cartDrawer.cart-drawer.open {
  transform: translateX(0) !important;
  pointer-events: auto !important;
}

#overlay[hidden] {
  display: none !important;
}

#overlay:not([hidden]) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;
}

@media (max-width: 600px) {
  #openCart.cart-open {
    right: 14px !important;
    bottom: 14px !important;
  }

  #cartDrawer.cart-drawer {
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* Set composition details in the public product modal */
.client-set-contents{margin-top:22px;padding-top:18px;border-top:1px solid #394146}
.client-set-contents[hidden]{display:none!important}
.client-set-contents h3{font-size:17px;margin:0 0 12px}
.client-set-list{display:grid;gap:9px}
.client-set-item{padding:12px 13px;border:1px solid #343d42;border-radius:12px;background:#20272b}
.client-set-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.client-set-item-top b{font-size:14px;line-height:1.4}
.client-set-item-top span{flex:0 0 auto;color:#c5e5cc;font-weight:750;font-size:13px}
.client-set-item p{margin:6px 0 0;color:#c2c9cd;font-size:13px;line-height:1.5}
.client-set-total{margin:12px 0 0;color:#d9e9dc;font-weight:750;font-size:13px}
.client-set-empty{margin:0;color:#e0c99b;font-size:13px;line-height:1.5}

/* Тёмная сакура — фон только для мобильной версии SUSHI VUSHI */
@media screen and (max-width: 600px) {
  body {
    background-color: #080a0c !important;
    background-image:
      linear-gradient(rgba(5, 6, 8, 0.38), rgba(5, 6, 8, 0.48)),
      url("a05827a4-f50e-4cb6-8f16-6b6e1f63777c.png") !important;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: scroll;
  }
}

/* ================= SUSHI VUSHI MOBILE HEADER V2 ================= */

.mobile-search-toggle {
  display: none;
}

@media (max-width: 600px) {

  .header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    transition: transform .28s ease !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .nav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    grid-template-rows: auto auto auto;
    align-items: center !important;
    gap: 7px 10px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 14px 11px !important;
  }

  .nav nav {
    display: none !important;
  }

  .brand {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    min-width: 0;
  }

  .brand img {
    width: 125px !important;
    max-width: 100%;
  }

  .mobile-search-toggle {
    grid-column: 2;
    grid-row: 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #343b40;
    border-radius: 13px;
    background: #171c20;
    color: #fff;
    font-size: 21px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .shop-info {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 5px 7px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  .shop-info .header-phone,
  .shop-info #headerHours,
  .shop-info #headerDelivery {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 5px 9px !important;
    border: 1px solid #30383e;
    border-radius: 9px;
    background: #151a1e;
    color: #f5f5f2 !important;
    font-size: 11px !important;
    line-height: 1.25;
    white-space: nowrap;
  }

  .shop-info .header-phone {
    font-size: 12px !important;
    font-weight: 850 !important;
    border-color: rgba(255,75,67,.35);
  }

  .shop-info .header-address {
    display: none !important;
  }

  .header-search {
    grid-column: 1 / -1;
    grid-row: 3;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    max-height: 0;
    padding: 0 12px !important;
    margin: 0 !important;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    border: 0 !important;
    transition: max-height .25s ease, opacity .2s ease, padding .25s ease;
  }

  .header.mobile-search-open .header-search {
    max-height: 55px;
    min-height: 43px;
    padding: 7px 12px !important;
    opacity: 1;
    visibility: visible;
    border: 1px solid #343b40 !important;
  }

  .header-search input {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    font-size: 16px !important;
  }

  #openCart.mobile-floating-cart {
    position: fixed !important;
    top: auto !important;
    right: 14px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    z-index: 2147483645 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 28px) !important;
    min-height: 48px !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg,#ff493f,#d92520) !important;
    color: #fff !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.42),0 5px 20px rgba(255,59,48,.22) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    transform: none !important;
  }

  #openCart.mobile-floating-cart b {
    margin: 0 !important;
    padding: 3px 7px !important;
    border-radius: 8px !important;
    background: rgba(0,0,0,.23) !important;
    box-shadow: none !important;
  }

  #openCart.mobile-floating-cart:active {
    transform: scale(.97) !important;
  }

  body {
    padding-bottom: 75px;
  }
}

/* На компьютере мобильная кнопка поиска не нужна */
@media (min-width: 601px) {
  .mobile-search-toggle {
    display: none !important;
  }
}

/* ================= END MOBILE HEADER V2 ================= */


/* ==========================================
   SUSHI VUSHI — COMPACT CART + STICKY CHECKOUT
   ========================================== */

#cartDrawer.cart-drawer {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#cartDrawer .cart-head {
  flex: 0 0 auto !important;
}

#cartDrawer #freeDeliveryProgress {
  flex: 0 0 auto !important;
  margin: 8px 12px !important;
  padding: 9px 12px !important;
  border: 1px solid #343b40 !important;
  border-radius: 12px !important;
  background: #171d21 !important;
}

#cartDrawer .free-delivery-message {
  margin-bottom: 6px !important;
  color: #e7ecef !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

#cartDrawer .free-delivery-track {
  height: 6px !important;
  background: #30383d !important;
}

#cartDrawer .free-delivery-fill {
  background: linear-gradient(90deg, #e53935, #54bd78) !important;
}

#cartDrawer .cart-items {
  flex: 1 1 0 !important;
  min-height: 50px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

#cartDrawer .cart-bottom {
  flex: 0 1 58dvh !important;
  min-height: 0 !important;
  max-height: 58dvh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 10px 14px max(10px, env(safe-area-inset-bottom)) !important;
  background: #111619 !important;
  border-top: 1px solid #343b40 !important;
}

#cartDrawer .order-form {
  order: 1 !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0 2px 8px !important;
}

#cartDrawer .sum {
  order: 2 !important;
  flex: 0 0 auto !important;
  margin: 8px 0 0 !important;
  padding: 12px 2px 2px !important;
  border-top: 1px solid #343b40 !important;
  font-size: 19px !important;
  background: #111619 !important;
}

#cartDrawer .checkout {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: 50px !important;
  margin-top: 12px !important;
  border-radius: 13px !important;
  box-shadow: 0 -5px 18px rgba(0,0,0,.25) !important;
}

#cartDrawer .cart-recommendations {
  margin-top: 8px !important;
}

@media (max-width: 600px) {
  #cartDrawer .cart-bottom {
    flex-basis: 58dvh !important;
    max-height: 58dvh !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #cartDrawer .cart-items {
    padding: 8px 12px !important;
  }

  #cartDrawer .cart-row {
    padding: 8px 0 !important;
  }

  #cartDrawer .checkout {
    min-height: 48px !important;
    font-size: 15px !important;
  }
}

@media (max-height: 700px) {
  #cartDrawer .cart-bottom {
    flex-basis: 52dvh !important;
    max-height: 52dvh !important;
  }
}




/* SUSHI VUSHI — ORDER THANKS MODAL */
.order-thanks-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0,0,0,.78);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease, visibility .18s ease;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.order-thanks-modal.visible {
  opacity: 1;
  visibility: visible;
}
.order-thanks-card {
  box-sizing: border-box;
  width: min(100%, 360px);
  padding: 30px 22px 22px;
  border: 1px solid #394146;
  border-radius: 24px;
  background: linear-gradient(160deg,#1b2226,#101416);
  box-shadow: 0 24px 80px rgba(0,0,0,.55);
  text-align: center;
  transform: translateY(12px) scale(.97);
  transition: transform .18s ease;
}
.order-thanks-modal.visible .order-thanks-card {
  transform: translateY(0) scale(1);
}
.order-thanks-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #203b2c;
  color: #72e49a;
  font-size: 38px;
  font-weight: 800;
}
.order-thanks-card h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 25px;
  line-height: 1.25;
}
.order-thanks-brand {
  margin-bottom: 24px;
  color: #aab5ba;
  font-size: 13px;
  letter-spacing: 2px;
  font-weight: 700;
}
.order-thanks-button {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg,#ff493f,#d92520);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  touch-action: manipulation;
}
.order-thanks-button:active {
  transform: scale(.98);
}
@media (prefers-reduced-motion: reduce) {
  .order-thanks-modal,
  .order-thanks-card {
    transition: none;
  }
}


/* SUSHI VUSHI — SAKURA MOBILE BACKGROUND */
@media (max-width: 768px) {
  body {
    background-color: #080608 !important;
    background-image:
      linear-gradient(rgba(0,0,0,.32), rgba(0,0,0,.42)),
      url('/sakura-sushi.png') !important;
    background-position: center top;
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-attachment: scroll;
  }
}
