/*
Theme Name: Вера вкуса
Version: 139
Description: Фирменная тема кафе «Вера вкуса» для WooCommerce
*/
:root{--bg:#0e100c;--panel:#191c15;--panel2:#22271c;--text:#fff;--muted:#b9bdae;--orange:#ff8a00;--green:#a7db2c;--line:#343a2d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}
header{position:sticky;top:0;z-index:20;background:#0e100cf2;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.head{height:76px;display:flex;align-items:center;gap:24px}.brand{margin-right:auto;font-size:22px;font-weight:1000}.brand span{color:var(--orange)}nav{display:flex;gap:20px;font-weight:700}.cart{background:var(--green);color:#10130b;padding:11px 15px;border-radius:12px;font-weight:900}
.hero{padding:72px 0 62px;background:radial-gradient(circle at 82% 25%,#394522 0,transparent 32%),linear-gradient(135deg,#0e100c,#1b2016)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.kicker{color:var(--orange);font-weight:900;letter-spacing:.06em}.hero h1{font-size:clamp(50px,7vw,86px);line-height:.9;margin:13px 0 20px}.lead{font-size:22px;font-weight:800;max-width:650px;margin:0 0 8px}.desc{font-size:18px;color:#d7dacd;max-width:680px}.btn{display:inline-block;margin:16px 8px 0 0;padding:14px 20px;border-radius:12px;background:var(--orange);color:#17120a;font-weight:900}.btn.alt{background:transparent;color:#fff;border:1px solid #59604e}
.trust{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.trust span{background:#191d16;border:1px solid #343a2d;padding:9px 12px;border-radius:99px;color:#e8eadf;font-size:14px}
.food-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:165px 165px;gap:10px}.food-grid img{width:100%;height:100%;object-fit:cover;border-radius:20px;border:1px solid #414837}.food-grid img:first-child{grid-row:1/3}.food-placeholder{grid-row:1/3;grid-column:1/3;min-height:330px;border-radius:26px;background:#20251b;border:1px solid var(--line);display:grid;place-items:center;text-align:center;font-size:25px;color:var(--orange);font-weight:900}
.promo{padding:42px 0;background:linear-gradient(120deg,#ff8a00,#ff9f1f);color:#17110a}.promo-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.promo h2{font-size:clamp(28px,4vw,46px);margin:0 0 8px}.promo p{font-size:17px;margin:0;max-width:650px}.stamps{display:flex;gap:7px;align-items:center}.stamp{width:48px;height:48px;border:3px solid #17110a;border-radius:50%;display:grid;place-items:center;font-weight:1000}.stamp:last-child{background:#17110a;color:#ff9a13;font-size:20px}
.section{padding:56px 0}.section h2{font-size:38px;margin:0 0 8px}.sub{color:var(--muted);margin:0 0 25px}.cats{display:flex;gap:10px;overflow:auto;margin-bottom:25px}.cat{white-space:nowrap;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:99px;font-weight:800}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:18px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:12px;display:flex;flex-direction:column}.woocommerce ul.products li.product img{border-radius:13px;aspect-ratio:1;object-fit:cover}.woocommerce ul.products li.product .woocommerce-loop-product__title{color:#fff;font-size:18px!important}.woocommerce ul.products li.product .price{color:var(--orange)!important;font-size:19px!important;font-weight:900}.woocommerce ul.products li.product .button{margin-top:auto!important;background:var(--green)!important;color:#111!important;border-radius:10px!important;text-align:center}
.preorder{background:#171a14}.preorder-box{padding:34px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#20251a,#151812);display:flex;align-items:center;justify-content:space-between;gap:24px}.preorder-box h2{margin:0 0 8px}.preorder-box p{margin:0;color:#d5d8ca}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.contact-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px}.contact-card h3{font-size:26px;margin-top:0}.contact-row{padding:13px 0;border-bottom:1px solid var(--line)}.contact-row b{display:block;color:var(--orange);margin-bottom:4px}.map{min-height:390px;border:0;border-radius:20px;width:100%;background:#222}
footer{padding:28px 0;border-top:1px solid var(--line);color:var(--muted)}.woocommerce table.shop_table,.woocommerce-checkout-review-order{background:#fff;color:#111}.woocommerce input,.woocommerce textarea,.woocommerce select{background:#fff;color:#111}
@media(max-width:900px){nav{display:none}.hero-grid,.promo-grid,.contact-grid{grid-template-columns:1fr}.stamps{flex-wrap:wrap}.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}.preorder-box{display:block}}
@media(max-width:520px){.wrap{width:calc(100% - 20px)}.brand{font-size:18px}.cart{padding:9px}.hero{padding:46px 0}.food-grid{grid-template-rows:130px 130px}.promo{padding:30px 0}.stamp{width:39px;height:39px}.woocommerce ul.products{grid-template-columns:1fr!important}}


/* v3 — компактная и понятная страница меню */
.woocommerce-products-header{margin-bottom:4px}
.woocommerce-products-header__title.page-title{font-size:40px;line-height:1.05;margin:0 0 12px;color:#fff}
body.woocommerce-shop .section,body.tax-product_cat .section{padding-top:34px}
.vv-menu-intro{font-size:17px;color:#d7dacd;margin:0 0 20px}
.vv-shop-cats{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 28px}
.vv-shop-cat{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-weight:800;color:#fff;transition:.18s ease}
.vv-shop-cat:hover,.vv-shop-cat.active{background:var(--orange);border-color:var(--orange);color:#151008}
.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{display:none!important}
body.woocommerce-shop .woocommerce ul.products,body.tax-product_cat .woocommerce ul.products{margin-top:0!important}
@media(max-width:520px){body.woocommerce-shop .section,body.tax-product_cat .section{padding-top:24px}.woocommerce-products-header__title.page-title{font-size:32px}.vv-menu-intro{font-size:15px}.vv-shop-cats{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.vv-shop-cat{flex:0 0 auto}}


/* v5 — добавки только для шаурмы */
.vv-addon-modal[hidden]{display:none!important}
.vv-addon-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}
.vv-addon-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.vv-addon-box{position:relative;width:min(620px,100%);max-height:min(82vh,760px);overflow:auto;background:#171a14;border:1px solid #3b4133;border-radius:22px;padding:24px;box-shadow:0 26px 80px rgba(0,0,0,.55)}
.vv-addon-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#292e25;color:#fff;font-size:22px;cursor:pointer}
.vv-addon-box h3{margin:0 44px 5px 0;font-size:28px}
.vv-addon-note{margin:0 0 18px;color:#bfc4b5}
.vv-addon-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}
.vv-addon-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#20241d;border:1px solid #343a2d;border-radius:12px;cursor:pointer}
.vv-addon-item:hover{border-color:#ff8a00}
.vv-addon-item span:first-of-type{flex:1}
.vv-addon-item strong{color:#ff9a13;white-space:nowrap}
.vv-addon-item input{width:18px;height:18px;accent-color:#a7db2c}
.vv-addon-total{display:flex;justify-content:space-between;gap:12px;margin:18px 0 0;padding:15px 4px 4px;font-size:17px;border-top:1px solid #343a2d}
.vv-addon-total b{color:#ff9a13}
.vv-addon-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.vv-addon-actions button{min-height:48px;border-radius:12px;border:1px solid #4b5243;font-weight:900;cursor:pointer;font-size:15px}
.vv-addon-skip{background:transparent;color:#fff}
.vv-addon-add{background:#a7db2c;color:#111;border-color:#a7db2c!important}
@media(max-width:560px){.vv-addon-box{padding:20px 14px 14px}.vv-addon-box h3{font-size:23px}.vv-addon-list{grid-template-columns:1fr}.vv-addon-actions{grid-template-columns:1fr}}


/* =========================================================
   v6 — новая корзина + страница акции
   ========================================================= */

/* Общая ширина WooCommerce-страниц */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  max-width:1180px;
  margin:0 auto;
}

/* КОРЗИНА */
body.woocommerce-cart .woocommerce{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
  gap:26px;
  align-items:start;
}
body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce > h1,
body.woocommerce-cart .woocommerce > .woocommerce-cart-form{
  grid-column:1;
}
body.woocommerce-cart .woocommerce > .cart-collaterals{
  grid-column:2;
  grid-row:1 / span 4;
  position:sticky;
  top:96px;
}

body.woocommerce-cart table.shop_table{
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  overflow:hidden;
  background:var(--panel)!important;
  color:#fff!important;
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
body.woocommerce-cart table.shop_table thead{
  background:#23281f;
}
body.woocommerce-cart table.shop_table th{
  color:#f2f4ed!important;
  padding:16px 14px!important;
  font-size:14px;
  border-color:#343a2d!important;
}
body.woocommerce-cart table.shop_table td{
  padding:18px 14px!important;
  border-color:#343a2d!important;
  vertical-align:middle!important;
  color:#fff!important;
}
body.woocommerce-cart td.product-thumbnail{
  width:150px;
}
body.woocommerce-cart td.product-thumbnail img{
  width:128px!important;
  height:128px!important;
  object-fit:contain!important;
  background:#0f110d;
  border-radius:16px;
  padding:6px;
  border:1px solid #363c2f;
}
body.woocommerce-cart td.product-name a{
  font-size:18px;
  font-weight:900;
  color:#fff!important;
}
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{
  color:var(--orange)!important;
  font-weight:900;
  font-size:18px;
}
body.woocommerce-cart td.product-remove a.remove{
  width:34px!important;
  height:34px!important;
  line-height:31px!important;
  border-radius:50%!important;
  background:#2b1d18!important;
  color:#ff8a5c!important;
  font-size:24px!important;
  display:grid!important;
  place-items:center!important;
}

/* Красивое количество */
.vv-qty-wrap{
  display:inline-flex;
  align-items:center;
  background:#0f120d;
  border:1px solid #41483a;
  border-radius:12px;
  overflow:hidden;
  min-height:44px;
}
.vv-qty-btn{
  width:42px;
  height:42px;
  border:0;
  background:#262c22;
  color:#fff;
  font-size:22px;
  font-weight:900;
  cursor:pointer;
}
.vv-qty-btn:hover{background:#32392d}
.vv-qty-wrap .quantity{margin:0!important}
.vv-qty-wrap input.qty{
  width:56px!important;
  height:42px!important;
  margin:0!important;
  padding:0 4px!important;
  border:0!important;
  border-left:1px solid #41483a!important;
  border-right:1px solid #41483a!important;
  border-radius:0!important;
  text-align:center!important;
  background:#151912!important;
  color:#fff!important;
  font-weight:900;
  font-size:16px;
  -moz-appearance:textfield;
}
.vv-qty-wrap input.qty::-webkit-outer-spin-button,
.vv-qty-wrap input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Низ корзины */
body.woocommerce-cart .coupon{
  display:flex!important;
  gap:8px;
}
body.woocommerce-cart .coupon input{
  min-height:44px!important;
  border-radius:10px!important;
}
body.woocommerce-cart button[name="update_cart"]{
  min-height:44px!important;
  border-radius:10px!important;
  background:#2a3026!important;
  color:#fff!important;
}
body.woocommerce-cart .cart_totals{
  width:100%!important;
  float:none!important;
  background:linear-gradient(145deg,#20251b,#171a14)!important;
  border:1px solid #3a4134;
  border-radius:22px;
  padding:24px;
  color:#fff!important;
  box-shadow:0 20px 55px rgba(0,0,0,.22);
}
body.woocommerce-cart .cart_totals h2{
  margin:0 0 14px;
  font-size:28px;
}
body.woocommerce-cart .cart_totals table{
  background:transparent!important;
  border:0!important;
  color:#fff!important;
}
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td{
  background:transparent!important;
  color:#fff!important;
  border-color:#343a2d!important;
}
body.woocommerce-cart .cart_totals .order-total td{
  color:var(--orange)!important;
  font-size:22px;
  font-weight:1000;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background:var(--green)!important;
  color:#10130b!important;
  border-radius:14px!important;
  font-weight:1000!important;
  font-size:18px!important;
  padding:16px 18px!important;
}
body.woocommerce-cart .woocommerce-shipping-destination,
body.woocommerce-cart .woocommerce-shipping-calculator{
  color:#c7cbbf!important;
}

/* Уведомление о добавлении */
.woocommerce-message{
  border:1px solid #394231!important;
  border-top:3px solid var(--green)!important;
  background:#20251b!important;
  color:#fff!important;
  border-radius:14px!important;
}
.woocommerce-message::before{color:var(--green)!important}
.woocommerce-message .button{
  border-radius:10px!important;
  background:#2b3127!important;
  color:#fff!important;
}

/* АКЦИЯ */
.vv-promo-page{
  padding:56px 0 72px;
  background:
    radial-gradient(circle at 85% 18%,rgba(255,138,0,.12),transparent 30%),
    linear-gradient(180deg,#0e100c,#13170f 55%,#0e100c);
}
.vv-promo-hero{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:34px;
  align-items:center;
}
.vv-promo-badge{
  display:inline-block;
  color:var(--orange);
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.vv-promo-hero h1{
  font-size:clamp(42px,6vw,76px);
  line-height:.95;
  margin:12px 0 16px;
}
.vv-promo-hero p{
  font-size:19px;
  color:#d6dacd;
  max-width:700px;
}
.vv-loyalty-card{
  position:relative;
  border-radius:28px;
  padding:28px;
  min-height:360px;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,138,0,.13),transparent 25%),
    #171a14;
  border:1px solid #3a4134;
  box-shadow:0 24px 70px rgba(0,0,0,.3);
  overflow:hidden;
}
.vv-loyalty-card:after{
  content:"";
  position:absolute;
  right:-60px;bottom:-70px;
  width:220px;height:220px;border-radius:50%;
  border:38px solid rgba(255,138,0,.08);
}
.vv-card-top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
}
.vv-card-brand{
  font-weight:1000;
  font-size:28px;
}
.vv-card-brand span{color:var(--orange)}
.vv-card-note{
  color:#c8ccbf;
  text-align:right;
  font-size:13px;
}
.vv-seven-title{
  margin:30px 0 18px;
  font-size:22px;
  font-weight:1000;
}
.vv-seven-stamps{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:9px;
}
.vv-seven-dot{
  aspect-ratio:1;
  border-radius:50%;
  border:3px solid var(--orange);
  display:grid;
  place-items:center;
  font-weight:1000;
  color:#fff;
  background:#0f120d;
}
.vv-seven-dot:last-child{
  background:var(--orange);
  color:#17110a;
  font-size:22px;
}
.vv-card-bottom{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid #343a2d;
  color:#d7dbcf;
}
.vv-promo-steps{
  padding:54px 0 0;
}
.vv-promo-steps h2{
  font-size:36px;
  margin:0 0 22px;
}
.vv-step-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.vv-step{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
}
.vv-step-num{
  width:40px;height:40px;border-radius:50%;
  background:var(--orange);
  color:#17110a;
  display:grid;
  place-items:center;
  font-weight:1000;
  margin-bottom:12px;
}
.vv-step h3{margin:0 0 6px}
.vv-step p{margin:0;color:#c9cdbf}
.vv-terms{
  margin-top:18px;
  padding:22px;
  background:#151812;
  border:1px solid #343a2d;
  border-radius:18px;
}
.vv-terms h3{margin-top:0}
.vv-terms ul{margin-bottom:0;color:#cbd0c2}

@media(max-width:900px){
  body.woocommerce-cart .woocommerce{display:block}
  body.woocommerce-cart .woocommerce > .cart-collaterals{position:static}
  body.woocommerce-cart td.product-thumbnail{width:110px}
  body.woocommerce-cart td.product-thumbnail img{width:96px!important;height:96px!important}
  .vv-promo-hero,.vv-step-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  body.woocommerce-cart table.shop_table_responsive tr td::before{
    color:#aeb4a6!important;
  }
  body.woocommerce-cart table.shop_table_responsive tr{
    background:var(--panel)!important;
    border:1px solid #343a2d!important;
    border-radius:16px!important;
    margin-bottom:14px!important;
    padding:12px!important;
  }
  body.woocommerce-cart td.product-thumbnail{
    display:block!important;
    width:auto!important;
    text-align:left!important;
  }
  body.woocommerce-cart td.product-thumbnail::before{display:none!important}
  body.woocommerce-cart td.product-thumbnail img{
    width:132px!important;height:132px!important;
  }
  .vv-seven-stamps{grid-template-columns:repeat(4,1fr)}
}


/* =========================================================
   v8 — корзина без доставки + аккуратный купон
   ========================================================= */

/* Доставки нет: убираем лишние строки и калькулятор */
body.woocommerce-cart .woocommerce-shipping-destination,
body.woocommerce-cart .woocommerce-shipping-calculator,
body.woocommerce-cart .shipping-calculator-button,
body.woocommerce-cart tr.woocommerce-shipping-totals.shipping{
  display:none!important;
}

/* Купон — нормальная ширина, без обрезания текста */
body.woocommerce-cart .coupon{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto;
  gap:10px!important;
  align-items:center;
  width:min(520px,100%)!important;
}
body.woocommerce-cart .coupon label{
  grid-column:1/-1;
  display:block!important;
  color:#cfd4c6!important;
  font-size:13px;
  margin-bottom:2px;
}
body.woocommerce-cart .coupon input.input-text{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:10px 12px!important;
  border:1px solid #444b3d!important;
  background:#11140f!important;
  color:#fff!important;
  border-radius:10px!important;
}
body.woocommerce-cart .coupon button{
  min-height:44px!important;
  padding:0 16px!important;
  white-space:nowrap!important;
  border-radius:10px!important;
  background:#2b3127!important;
  color:#fff!important;
  font-weight:800!important;
}
body.woocommerce-cart .coupon input::placeholder{
  color:#8f9787!important;
  opacity:1!important;
}

/* На телефоне купон в одну колонку */
@media(max-width:560px){
  body.woocommerce-cart .coupon{
    grid-template-columns:1fr!important;
  }
  body.woocommerce-cart .coupon button{
    width:100%!important;
  }
}


/* =========================================================
   v9 — нестандартный "Вкусный маршрут"
   ========================================================= */

.vv-route-open{
  cursor:pointer;
  position:relative;
}
.vv-route-open:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-5px;
  height:2px;
  background:linear-gradient(90deg,var(--orange),transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:.22s ease;
}
.vv-route-open:hover:after{transform:scaleX(1)}

.vv-route-fab{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9998;
  width:58px;
  height:58px;
  border-radius:18px 18px 18px 6px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg,#ff980f,#ff7a00);
  color:#151009;
  box-shadow:0 14px 38px rgba(255,122,0,.28),0 8px 30px rgba(0,0,0,.35);
  display:grid;
  place-items:center;
  font-size:25px;
  cursor:pointer;
  transform:rotate(-2deg);
  transition:.2s ease;
}
.vv-route-fab:hover{
  transform:translateY(-3px) rotate(2deg) scale(1.03);
}

.vv-route-modal[hidden]{display:none!important}
.vv-route-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:18px;
}
.vv-route-shade{
  position:absolute;
  inset:0;
  background:rgba(5,6,4,.82);
  backdrop-filter:blur(8px);
}
.vv-route-shell{
  position:relative;
  width:min(1040px,100%);
  max-height:88vh;
  overflow:auto;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  border:1px solid #3b4234;
  border-radius:30px;
  background:#11140f;
  box-shadow:0 35px 110px rgba(0,0,0,.62);
}
.vv-route-card{
  position:relative;
  padding:34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,138,0,.14),transparent 30%),
    linear-gradient(160deg,#20251a,#141711 72%);
}
.vv-route-card:before{
  content:"ВЕРА ВКУСА";
  position:absolute;
  right:-40px;
  top:58px;
  transform:rotate(90deg);
  font-size:54px;
  font-weight:1000;
  color:rgba(255,255,255,.035);
  letter-spacing:.04em;
}
.vv-route-kicker{
  color:var(--orange);
  text-transform:uppercase;
  font-weight:1000;
  letter-spacing:.12em;
  font-size:12px;
}
.vv-route-card h2{
  font-size:clamp(34px,5vw,58px);
  line-height:.95;
  margin:12px 0 18px;
}
.vv-route-card h2 span{color:var(--orange)}
.vv-route-lead{
  color:#d7dccf;
  font-size:17px;
  margin-bottom:26px;
}
.vv-route-line{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid #343b2f;
}
.vv-route-line:first-of-type{border-top:0}
.vv-route-icon{
  width:38px;height:38px;
  border-radius:12px;
  display:grid;place-items:center;
  background:#272d23;
  color:var(--orange);
  font-size:18px;
}
.vv-route-line b{display:block;margin-bottom:3px}
.vv-route-line span,.vv-route-line a{color:#cbd0c2}
.vv-route-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.vv-route-btn{
  min-height:46px;
  padding:0 17px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
}
.vv-route-btn.primary{
  background:var(--orange);
  color:#17110a;
}
.vv-route-btn.secondary{
  border:1px solid #4a5144;
  color:#fff;
  background:#1b1f18;
}
.vv-route-map-wrap{
  min-height:560px;
  position:relative;
  background:#20231d;
}
.vv-route-map{
  width:100%;
  height:100%;
  min-height:560px;
  border:0;
  display:block;
  filter:saturate(.85) contrast(1.03);
}
.vv-route-ribbon{
  position:absolute;
  left:20px;
  bottom:20px;
  background:rgba(15,17,13,.9);
  color:#fff;
  border:1px solid #3f4638;
  border-radius:14px;
  padding:10px 13px;
  font-weight:800;
  box-shadow:0 8px 25px rgba(0,0,0,.25);
}
.vv-route-close{
  position:absolute;
  right:14px;
  top:14px;
  z-index:4;
  width:42px;height:42px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:rgba(15,17,13,.88);
  color:#fff;
  font-size:24px;
  cursor:pointer;
}
.vv-route-squiggle{
  width:110px;
  height:8px;
  margin:14px 0 18px;
  background:
    radial-gradient(circle at 4px 4px,var(--orange) 3px,transparent 3.5px) 0 0/16px 8px repeat-x;
  opacity:.9;
}

@media(max-width:820px){
  .vv-route-shell{grid-template-columns:1fr}
  .vv-route-map-wrap,.vv-route-map{min-height:360px}
}
@media(max-width:520px){
  .vv-route-card{padding:26px 18px}
  .vv-route-fab{right:14px;bottom:14px;width:52px;height:52px}
}


/* =========================================================
   v10 — исправление курсора "запрещено" на кнопках маршрута
   ========================================================= */
.vv-route-card:before{
  pointer-events:none!important;
}
.vv-route-btn,
.vv-route-open,
.vv-route-fab,
.vv-route-close{
  cursor:pointer!important;
  pointer-events:auto!important;
  user-select:none;
  -webkit-user-drag:none;
}
.vv-route-btn *{
  pointer-events:none;
}


/* =========================================================
   v11 — убираем красный курсор "запрещено" по всему сайту
   ========================================================= */

/* Поля ввода должны всегда показывать обычный текстовый курсор */
input,
textarea,
select,
.woocommerce input,
.woocommerce textarea,
.woocommerce select,
body.woocommerce-cart .coupon input.input-text{
  cursor:text!important;
  pointer-events:auto!important;
  user-select:text!important;
  -webkit-user-drag:none!important;
}

/* Кнопки и ссылки — обычная рука */
button,
a,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
body.woocommerce-cart .coupon button,
.vv-route-btn,
.vv-route-open,
.vv-route-fab,
.vv-route-close{
  cursor:pointer!important;
  pointer-events:auto!important;
  -webkit-user-drag:none!important;
}

/* Декоративные псевдоэлементы не должны перекрывать клики */
.vv-route-card:before,
.vv-route-open:after{
  pointer-events:none!important;
}

/* Внутри купона ничего не должно перехватывать курсор */
body.woocommerce-cart .coupon,
body.woocommerce-cart .coupon label{
  pointer-events:auto!important;
}


/* =========================================================
   v13 — маршрут: обычная кнопка, без ссылки/перетаскивания
   ========================================================= */
#vvBuildRoute{
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-user-drag:none!important;
  border:0!important;
  font:inherit!important;
}
#vvBuildRoute:hover{
  cursor:pointer!important;
}


/* =========================================================
   v16 — фирменное оформление предзаказа / самовывоз
   ========================================================= */

body.woocommerce-checkout{
  background:
    radial-gradient(circle at 85% 12%,rgba(255,138,0,.10),transparent 30%),
    linear-gradient(180deg,#0e100c,#12160f 60%,#0e100c);
}

body.woocommerce-checkout .section{
  padding-top:44px;
}

body.woocommerce-checkout .woocommerce{
  max-width:1100px;
  margin:0 auto;
}

body.woocommerce-checkout h1{
  font-size:42px;
  margin:0 0 8px;
}

.vv-checkout-intro{
  margin:0 0 26px;
  padding:18px 20px;
  border:1px solid #3a4134;
  border-radius:18px;
  background:linear-gradient(145deg,#1c2118,#141711);
  color:#d7dccf;
  font-size:16px;
}
.vv-checkout-intro strong{color:#fff}
.vv-checkout-intro .vv-accent{color:var(--orange);font-weight:900}

body.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:24px;
  align-items:start;
}

body.woocommerce-checkout #customer_details{
  width:100%;
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  width:100%!important;
  float:none!important;
}
body.woocommerce-checkout #customer_details .col-2{
  margin-top:18px;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  background:linear-gradient(145deg,#1e231a,#171a14);
  border:1px solid #394033;
  border-radius:22px;
  padding:24px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading{
  margin:0 0 18px;
  font-size:26px;
  color:#fff;
}

body.woocommerce-checkout .form-row{
  margin:0 0 16px!important;
  width:100%!important;
  float:none!important;
}
body.woocommerce-checkout .form-row label{
  display:block!important;
  margin-bottom:7px;
  color:#f2f4ed!important;
  font-weight:800;
  font-size:14px;
}
body.woocommerce-checkout .form-row .required{
  color:var(--orange)!important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout input[type="time"]{
  width:100%!important;
  min-height:50px!important;
  padding:12px 14px!important;
  background:#0f120d!important;
  color:#fff!important;
  border:1px solid #42493a!important;
  border-radius:12px!important;
  box-shadow:none!important;
  font-size:16px!important;
}
body.woocommerce-checkout textarea{
  min-height:110px!important;
  resize:vertical;
}
body.woocommerce-checkout input:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus{
  outline:none!important;
  border-color:var(--orange)!important;
  box-shadow:0 0 0 3px rgba(255,138,0,.12)!important;
}

.vv-pickup-card{
  margin:0 0 18px;
  padding:18px;
  border-radius:16px;
  background:#20251b;
  border:1px solid #3b4234;
}
.vv-pickup-card .vv-pickup-title{
  font-size:18px;
  font-weight:1000;
  color:#fff;
  margin-bottom:8px;
}
.vv-pickup-card div{
  color:#cfd4c6;
  margin:5px 0;
}
.vv-pickup-card b{color:var(--orange)}

body.woocommerce-checkout #order_review{
  background:linear-gradient(145deg,#20251b,#171a14);
  border:1px solid #3b4234;
  border-radius:22px;
  padding:24px;
  color:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.20);
  position:sticky;
  top:96px;
}

body.woocommerce-checkout #order_review_heading{
  grid-column:2;
  align-self:end;
  margin:0 0 -8px 0;
}

body.woocommerce-checkout table.shop_table{
  background:transparent!important;
  color:#fff!important;
  border:0!important;
  margin-bottom:16px!important;
}
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td{
  color:#fff!important;
  border-color:#343a2d!important;
  background:transparent!important;
  padding:13px 4px!important;
}
body.woocommerce-checkout table.shop_table .product-name{
  font-weight:800;
}
body.woocommerce-checkout table.shop_table .product-total,
body.woocommerce-checkout .order-total td{
  color:var(--orange)!important;
  font-weight:1000;
}

body.woocommerce-checkout #payment{
  background:#151812!important;
  border:1px solid #343a2d!important;
  border-radius:16px!important;
  color:#fff!important;
}
body.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid #343a2d!important;
}
body.woocommerce-checkout #payment div.payment_box{
  background:#20251b!important;
  color:#d7dccf!important;
}
body.woocommerce-checkout #payment div.payment_box:before{
  border-bottom-color:#20251b!important;
}
body.woocommerce-checkout .payment_method_cod label{
  font-weight:900;
}

body.woocommerce-checkout #place_order{
  width:100%!important;
  min-height:54px!important;
  margin-top:8px!important;
  border-radius:14px!important;
  background:var(--green)!important;
  color:#10130b!important;
  font-size:18px!important;
  font-weight:1000!important;
  box-shadow:0 10px 28px rgba(167,219,44,.16);
}
body.woocommerce-checkout #place_order:hover{
  filter:brightness(1.05);
}

.vv-confirm-note{
  margin:14px 0 0;
  padding:13px 14px;
  border-radius:12px;
  background:#262c22;
  color:#d5d9cd;
  font-size:13px;
  line-height:1.5;
}
.vv-confirm-note strong{color:var(--orange)}

body.woocommerce-checkout .woocommerce-privacy-policy-text{
  color:#aeb4a6;
  font-size:12px;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text a{
  color:var(--orange);
}

/* Купон на оформлении не дублируем — он уже есть в корзине */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon{
  display:none!important;
}

/* Сообщения об ошибках */
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message{
  border-radius:14px!important;
  background:#20251b!important;
  color:#fff!important;
  border-color:#3b4234!important;
}

/* Экран "Спасибо, заказ получен" */
.vv-thankyou-box{
  max-width:760px;
  margin:30px auto;
  padding:32px;
  border-radius:24px;
  background:linear-gradient(145deg,#20251b,#151812);
  border:1px solid #3b4234;
  text-align:center;
}
.vv-thankyou-icon{font-size:58px}
.vv-thankyou-box h2{font-size:32px;margin:10px 0 12px}
.vv-thankyou-box p{color:#d2d7ca;font-size:17px;line-height:1.6}
.vv-thankyou-box strong{color:var(--orange)}

@media(max-width:900px){
  body.woocommerce-checkout form.checkout{grid-template-columns:1fr}
  body.woocommerce-checkout #order_review_heading{grid-column:1;margin-top:8px}
  body.woocommerce-checkout #order_review{position:static}
}
@media(max-width:560px){
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout #order_review{
    padding:18px 14px;
    border-radius:18px;
  }
  body.woocommerce-checkout h1{font-size:34px}
}


/* v17 — нормальный курсор у добавок к шаурме */
.vv-addon-option,
.vv-addon-option label,
.vv-addon-option input[type="checkbox"],
.vv-addon-option input[type="radio"],
.vv-addons label,
.vv-addons input[type="checkbox"],
.vv-addons input[type="radio"],
.shawarma-addons label,
.shawarma-addons input[type="checkbox"],
.shawarma-addons input[type="radio"] {
    cursor: pointer !important;
}

/* Если сам checkbox перекрыт декоративным элементом — курсор всё равно обычный кликабельный */
.vv-addon-option *,
.vv-addons label *,
.shawarma-addons label * {
    cursor: pointer !important;
}


/* =========================================================
   v18 — точное исправление курсора в окне добавок
   Причина: глобальное правило .woocommerce input задавало cursor:text!important
   ========================================================= */
.vv-addon-modal .vv-addon-item,
.vv-addon-modal .vv-addon-item *,
.vv-addon-modal .vv-addon-item input,
.vv-addon-modal .vv-addon-item input[type="checkbox"],
.vv-addon-modal .vv-addon-item span,
.vv-addon-modal .vv-addon-item strong {
    cursor: pointer !important;
}

.vv-addon-modal input[type="checkbox"] {
    cursor: pointer !important;
    pointer-events: auto !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}


/* =========================================================
   v19 — мгновенная корзина + количество на карточках
   ========================================================= */

.vv-card-qty{
  margin-top:auto;
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  min-height:44px;
  border:1px solid #46503b;
  border-radius:11px;
  overflow:hidden;
  background:#11150f;
}
.vv-card-qty button{
  height:44px;
  border:0;
  background:#a7db2c;
  color:#111;
  font-size:22px;
  font-weight:1000;
  cursor:pointer!important;
  padding:0;
}
.vv-card-qty button:hover{filter:brightness(1.06)}
.vv-card-qty .vv-card-qty-value{
  text-align:center;
  color:#fff;
  font-weight:1000;
  font-size:14px;
  white-space:nowrap;
}
.vv-card-qty.vv-loading{
  opacity:.62;
  pointer-events:none;
}

/* WooCommerce иногда оставляет затемняющую blockUI-плашку после AJAX.
   Она не должна блокировать страницу после завершения операции. */
body:not(.processing) > .blockUI.blockOverlay{
  pointer-events:none!important;
}


/* =========================================================
   v20 — корзина: нормальный курсор и удаление без "0"
   ========================================================= */
body.woocommerce-cart .vv-qty-btn,
body.woocommerce-cart .vv-qty-btn:hover,
body.woocommerce-cart .vv-qty-btn:focus,
body.woocommerce-cart .vv-qty-btn:active,
body.woocommerce-cart .product-remove a.remove {
    cursor: pointer !important;
    pointer-events: auto !important;
    -webkit-user-drag: none !important;
}

/* Даже если WooCommerce временно помечает кнопку disabled,
   не показываем знак "запрещено". */
body.woocommerce-cart .vv-qty-btn:disabled {
    cursor: pointer !important;
    opacity: .55;
}


/* =========================================================
   v21 — нормальный курсор в форме оформления заказа
   Убираем старое -webkit-user-drag:none у полей ввода.
   ========================================================= */
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout textarea {
    cursor: text !important;
    pointer-events: auto !important;
    user-select: text !important;
    -webkit-user-select: text !important;
    -webkit-user-drag: auto !important;
}

body.woocommerce-checkout input[type="time"],
body.woocommerce-checkout select {
    cursor: pointer !important;
    pointer-events: auto !important;
    -webkit-user-drag: auto !important;
}

/* Внутренние декоративные элементы полей не должны перехватывать мышь */
body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .form-row .required {
    pointer-events: none;
}


/* v25 — "Ваш заказ" теперь внутри правой карточки */
body.woocommerce-checkout #order_review_heading{
    display:none !important;
}
body.woocommerce-checkout #order_review{
    grid-column:2 !important;
    grid-row:1 !important;
    position:sticky;
    top:96px;
}
body.woocommerce-checkout #order_review::before{
    content:"Ваш заказ";
    display:block;
    color:#fff;
    font-size:26px;
    line-height:1.2;
    font-weight:900;
    margin:0 0 18px;
    padding:0 0 16px;
    border-bottom:1px solid #394033;
}
@media(max-width:900px){
    body.woocommerce-checkout #order_review{
        grid-column:1 !important;
        grid-row:auto !important;
        position:static !important;
    }
}


/* =========================================================
   v26 — нормальный курсор у выбора времени
   ========================================================= */
body.woocommerce-checkout select#vv_pickup_time,
body.woocommerce-checkout select[name="vv_pickup_time"],
body.woocommerce-checkout select#vv_pickup_time:hover,
body.woocommerce-checkout select[name="vv_pickup_time"]:hover,
body.woocommerce-checkout select#vv_pickup_time:focus,
body.woocommerce-checkout select[name="vv_pickup_time"]:focus {
    cursor: default !important;
    pointer-events: auto !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
}

body.woocommerce-checkout select#vv_pickup_time option,
body.woocommerce-checkout select[name="vv_pickup_time"] option {
    cursor: default !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}


/* =========================================================
   v27 — фирменная страница успешного предзаказа
   ========================================================= */
body.woocommerce-order-received{
  background:
    radial-gradient(circle at 85% 12%,rgba(255,138,0,.10),transparent 28%),
    linear-gradient(180deg,#0e100c,#12160f 60%,#0e100c)!important;
  color:#fff!important;
}
.vv-order-success{
  max-width:1080px;
  margin:0 auto;
  padding:52px 18px 72px;
}
.vv-success-hero{
  text-align:center;
  margin-bottom:28px;
}
.vv-success-icon{
  width:82px;height:82px;border-radius:24px;
  margin:0 auto 16px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#b9ec42,#8fc719);
  color:#10130b;
  font-size:44px;
  font-weight:1000;
  box-shadow:0 18px 55px rgba(167,219,44,.18);
}
.vv-success-hero h1{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(34px,5vw,54px);
  line-height:1.05;
}
.vv-success-hero p{
  max-width:780px;
  margin:0 auto;
  color:#cfd4c6;
  font-size:18px;
  line-height:1.55;
}
.vv-success-warning{
  max-width:780px;
  margin:20px auto 0;
  padding:14px 18px;
  border-radius:14px;
  background:#2a2115;
  border:1px solid #5a4627;
  color:#ffe1b3;
  font-weight:900;
}
.vv-success-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:22px;
  align-items:start;
}
.vv-success-card{
  background:linear-gradient(145deg,#20251b,#171a14);
  border:1px solid #3a4134;
  border-radius:22px;
  padding:24px;
  box-shadow:0 20px 55px rgba(0,0,0,.2);
}
.vv-success-card h2{
  margin:0 0 18px;
  font-size:25px;
  color:#fff;
}
.vv-success-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid #343a2d;
}
.vv-success-item:last-child{border-bottom:0}
.vv-success-name{font-weight:900;color:#fff}
.vv-success-meta{margin-top:5px;color:#bfc5b8;font-size:13px;line-height:1.45}
.vv-success-price{color:#ff8a00;font-weight:1000;white-space:nowrap}
.vv-success-line{
  display:flex;justify-content:space-between;gap:16px;
  padding:11px 0;border-bottom:1px solid #343a2d;
  color:#d4d8ce;
}
.vv-success-line strong{color:#fff}
.vv-success-total{
  display:flex;justify-content:space-between;gap:16px;
  margin-top:12px;padding-top:14px;
  border-top:2px solid #41483a;
  font-size:21px;font-weight:1000;
}
.vv-success-total span:last-child{color:#ff8a00}
.vv-success-status{
  display:inline-flex;align-items:center;gap:8px;
  margin-bottom:14px;
  padding:8px 12px;border-radius:999px;
  background:#2a2115;border:1px solid #5a4627;
  color:#ffd9a2;font-size:13px;font-weight:900;
}
.vv-success-pickup{
  margin-top:18px;
  padding:17px;
  border-radius:16px;
  background:#12150f;
  border:1px solid #343b2f;
}
.vv-success-pickup div{margin:7px 0;color:#cfd4c7}
.vv-success-pickup b{color:#ff8a00}
.vv-success-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.vv-success-btn{
  min-height:48px;
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-weight:1000!important;
  text-decoration:none!important;
}
.vv-success-btn.primary{background:#a7db2c;color:#10130b!important}
.vv-success-btn.secondary{background:#252b21;border:1px solid #42493a;color:#fff!important}
.vv-success-foot{
  margin-top:28px;
  text-align:center;
  color:#9da496;
  font-size:13px;
}
@media(max-width:820px){
  .vv-success-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .vv-order-success{padding:30px 10px 52px}
  .vv-success-card{padding:18px 14px}
  .vv-success-actions{grid-template-columns:1fr}
}


/* =========================================================
   v29 — убираем белое/серое затемнение WooCommerce
   ========================================================= */
body.woocommerce-checkout .blockUI.blockOverlay,
body.woocommerce-checkout .blockUI.blockMsg,
body.woocommerce-cart .blockUI.blockOverlay,
body.woocommerce-cart .blockUI.blockMsg {
    background-color: rgba(10,12,9,.78) !important;
    background-image: none !important;
    opacity: 1 !important;
    border: 0 !important;
}

/* Аккуратный фирменный индикатор загрузки вместо белой пелены */
body.woocommerce-checkout .blockUI.blockOverlay::after,
body.woocommerce-cart .blockUI.blockOverlay::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 38px;
    height: 38px;
    margin: -19px 0 0 -19px;
    border: 4px solid rgba(255,255,255,.18);
    border-top-color: #a7db2c;
    border-right-color: #ff8a00;
    border-radius: 50%;
    animation: vvSpin .75s linear infinite;
}

@keyframes vvSpin {
    to { transform: rotate(360deg); }
}

/* Не даём встроенному белому фону BlockUI просвечивать */
body.woocommerce-checkout .processing,
body.woocommerce-cart .processing {
    background: transparent !important;
}


/* =========================================================
   v30 — принудительно заменяем стандартную страницу "Заказ получен"
   ========================================================= */

body.woocommerce-order-received,
body.woocommerce-order-received #page,
body.woocommerce-order-received .site,
body.woocommerce-order-received .site-content,
body.woocommerce-order-received .content-area,
body.woocommerce-order-received main,
body.woocommerce-order-received .woocommerce {
    background:
      radial-gradient(circle at 85% 12%, rgba(255,138,0,.10), transparent 28%),
      linear-gradient(180deg,#0e100c,#12160f 60%,#0e100c) !important;
    color:#fff !important;
}

/* Скрываем стандартные блоки WooCommerce только на странице успешного заказа */
body.woocommerce-order-received .woocommerce-order > p.woocommerce-notice,
body.woocommerce-order-received .woocommerce-order > ul.woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    display:none !important;
}

/* Наш блок */
.vv30-success{
    max-width:1080px;
    margin:0 auto;
    padding:48px 18px 70px;
}
.vv30-hero{text-align:center;margin-bottom:26px}
.vv30-icon{
    width:82px;height:82px;border-radius:24px;
    margin:0 auto 16px;
    display:grid;place-items:center;
    background:linear-gradient(145deg,#b9ec42,#8fc719);
    color:#10130b;font-size:44px;font-weight:1000;
    box-shadow:0 18px 55px rgba(167,219,44,.18);
}
.vv30-hero h1{
    margin:0 0 10px;color:#fff;
    font-size:clamp(34px,5vw,54px);line-height:1.05;
}
.vv30-hero p{
    max-width:780px;margin:0 auto;color:#cfd4c6;
    font-size:18px;line-height:1.55;
}
.vv30-warning{
    max-width:780px;margin:20px auto 0;padding:14px 18px;
    border-radius:14px;background:#2a2115;border:1px solid #5a4627;
    color:#ffe1b3;font-weight:900;
}
.vv30-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:22px;align-items:start;
}
.vv30-card{
    background:linear-gradient(145deg,#20251b,#171a14);
    border:1px solid #3a4134;border-radius:22px;
    padding:24px;box-shadow:0 20px 55px rgba(0,0,0,.2);
}
.vv30-card h2{margin:0 0 18px;font-size:25px;color:#fff}
.vv30-item{
    display:grid;grid-template-columns:1fr auto;gap:14px;
    padding:14px 0;border-bottom:1px solid #343a2d;
}
.vv30-item:last-child{border-bottom:0}
.vv30-name{font-weight:900;color:#fff}
.vv30-meta{margin-top:5px;color:#bfc5b8;font-size:13px;line-height:1.45}
.vv30-price{color:#ff8a00;font-weight:1000;white-space:nowrap}
.vv30-line{
    display:flex;justify-content:space-between;gap:16px;
    padding:11px 0;border-bottom:1px solid #343a2d;color:#d4d8ce;
}
.vv30-line strong{color:#fff}
.vv30-total{
    display:flex;justify-content:space-between;gap:16px;
    margin-top:12px;padding-top:14px;border-top:2px solid #41483a;
    font-size:21px;font-weight:1000;
}
.vv30-total span:last-child{color:#ff8a00}
.vv30-status{
    display:inline-flex;align-items:center;gap:8px;
    margin-bottom:14px;padding:8px 12px;border-radius:999px;
    background:#2a2115;border:1px solid #5a4627;color:#ffd9a2;
    font-size:13px;font-weight:900;
}
.vv30-pickup{
    margin-top:18px;padding:17px;border-radius:16px;
    background:#12150f;border:1px solid #343b2f;
}
.vv30-pickup div{margin:7px 0;color:#cfd4c7}
.vv30-pickup b{color:#ff8a00}
.vv30-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.vv30-btn{
    min-height:48px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    font-weight:1000!important;text-decoration:none!important;
}
.vv30-btn.primary{background:#a7db2c;color:#10130b!important}
.vv30-btn.secondary{background:#252b21;border:1px solid #42493a;color:#fff!important}

@media(max-width:820px){.vv30-grid{grid-template-columns:1fr}}
@media(max-width:520px){
  .vv30-success{padding:30px 10px 52px}
  .vv30-card{padding:18px 14px}
  .vv30-actions{grid-template-columns:1fr}
}


/* v34 — надёжные +/- как обычные ссылки, без AJAX-конфликтов */
.vv-card-qty a.vv-card-minus,
.vv-card-qty a.vv-card-plus,
.vv-card-qty button.vv-card-plus {
    display:flex;
    align-items:center;
    justify-content:center;
    height:44px;
    border:0;
    background:#a7db2c;
    color:#111 !important;
    font-size:22px;
    font-weight:1000;
    cursor:pointer !important;
    text-decoration:none !important;
    padding:0;
}


/* v52 — фото товара в корзине только для просмотра.
   Оно больше не является ссылкой и не вызывает затемнение/переход
   в режиме WordPress Customizer. */
.woocommerce-cart td.product-thumbnail > a,
.woocommerce-cart .product-thumbnail > a {
    pointer-events: none !important;
    cursor: default !important;
}

/* v54 — блок «Популярное» */
.vv-popular{scroll-margin-top:90px}
.vv-popular .section-head{display:flex;align-items:end;justify-content:space-between;gap:20px}
.vv-popular .mini-link{font-weight:800;text-decoration:none}
@media(max-width:700px){
  .vv-popular .section-head{align-items:start;flex-direction:column}
}

/* v55 — «Популярное» компактнее, основное меню не меняем */
.vv-popular .products{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
}
.vv-popular .product-card{min-width:0}
.vv-popular .product-img{
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:16px;
}
.vv-popular .product-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.vv-popular .product-body{padding:12px}
.vv-popular .product-body h3{
    font-size:16px;
    line-height:1.2;
    margin:0 0 8px;
}
.vv-popular .product-bottom{gap:8px}
.vv-popular .btn.small{padding:9px 12px}

@media(max-width:1050px){
    .vv-popular .products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .vv-popular .products{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .vv-popular .product-body{padding:10px}
    .vv-popular .product-body h3{font-size:14px}
}

/* v57 — одинаковый вид кнопок в «Популярном», без серого системного контура */
.vv-popular .vv-popular-button{
    appearance:none;
    -webkit-appearance:none;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    font:inherit;
}
.vv-popular .vv-popular-button:focus,
.vv-popular .vv-popular-button:active{
    outline:0 !important;
    box-shadow:none !important;
}


/* =========================================================
   v59 — мобильный блок «Популярное»
   На телефоне это компактная горизонтальная лента, а не огромные карточки.
   Основное меню и десктоп не меняем.
   ========================================================= */
@media (max-width:700px){
    .vv-popular{
        padding-top:28px !important;
        padding-bottom:28px !important;
        overflow:hidden;
    }

    .vv-popular .section-head{
        display:flex !important;
        flex-direction:row !important;
        align-items:flex-end !important;
        justify-content:space-between !important;
        gap:12px !important;
        margin-bottom:14px !important;
    }

    .vv-popular .section-head .eyebrow{
        font-size:12px !important;
        margin-bottom:2px !important;
    }

    .vv-popular .section-head h2{
        font-size:28px !important;
        line-height:1 !important;
        margin:0 !important;
    }

    .vv-popular .mini-link{
        font-size:12px !important;
        white-space:nowrap !important;
        margin-bottom:2px !important;
    }

    .vv-popular .products{
        display:flex !important;
        grid-template-columns:none !important;
        gap:12px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scroll-snap-type:x mandatory !important;
        -webkit-overflow-scrolling:touch !important;
        padding:2px 2px 10px !important;
        margin:0 !important;
        scrollbar-width:none;
    }

    .vv-popular .products::-webkit-scrollbar{
        display:none;
    }

    .vv-popular .product-card{
        flex:0 0 168px !important;
        width:168px !important;
        max-width:168px !important;
        min-width:168px !important;
        scroll-snap-align:start !important;
        border-radius:16px !important;
        overflow:hidden !important;
    }

    .vv-popular .product-img{
        width:100% !important;
        height:118px !important;
        aspect-ratio:auto !important;
        border-radius:14px !important;
        overflow:hidden !important;
    }

    .vv-popular .product-img img{
        width:100% !important;
        height:118px !important;
        min-height:0 !important;
        max-height:118px !important;
        object-fit:cover !important;
        display:block !important;
    }

    .vv-popular .product-body{
        padding:9px 4px 4px !important;
    }

    .vv-popular .product-body h3{
        font-size:14px !important;
        line-height:1.2 !important;
        min-height:34px !important;
        margin:0 0 6px !important;
    }

    .vv-popular .product-bottom{
        display:block !important;
    }

    .vv-popular .price{
        font-size:14px !important;
        margin-bottom:8px !important;
    }

    .vv-popular .btn.small,
    .vv-popular .vv-popular-button{
        width:100% !important;
        min-height:38px !important;
        padding:8px 8px !important;
        border-radius:11px !important;
        font-size:14px !important;
        line-height:1 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }
}

@media (max-width:380px){
    .vv-popular .product-card{
        flex-basis:154px !important;
        width:154px !important;
        max-width:154px !important;
        min-width:154px !important;
    }
    .vv-popular .product-img,
    .vv-popular .product-img img{
        height:108px !important;
    }
    .vv-popular .section-head h2{
        font-size:25px !important;
    }
    .vv-popular .mini-link{
        display:none !important;
    }
}


/* =========================================================
   v60 — MOBILE FIRST FIX
   Телефон — основной сценарий заказа.
   ========================================================= */
@media (max-width:700px){

  html, body{
    max-width:100%;
    overflow-x:hidden;
  }

  .wrap{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }

  header .head{
    min-height:64px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }

  header .brand{
    font-size:20px!important;
    white-space:nowrap!important;
  }

  header nav{
    display:none!important;
  }

  header .cart{
    font-size:15px!important;
    padding:10px 14px!important;
    border-radius:14px!important;
    white-space:nowrap!important;
  }

  .section{
    padding:30px 0!important;
  }

  .section h2{
    font-size:28px!important;
    line-height:1.08!important;
  }

  .sub{
    font-size:14px!important;
    margin-bottom:16px!important;
  }

  /* Популярное — компактная лента, 2 карточки видны одновременно */
  .vv-popular{
    overflow:hidden!important;
  }

  .vv-popular .section-head{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:14px!important;
  }

  .vv-popular .section-head .eyebrow{
    font-size:12px!important;
    margin-bottom:3px!important;
  }

  .vv-popular .section-head h2{
    font-size:27px!important;
    margin:0!important;
  }

  .vv-popular .mini-link{
    font-size:12px!important;
    line-height:1.15!important;
    margin-bottom:2px!important;
    white-space:nowrap!important;
  }

  .vv-popular .products{
    display:flex!important;
    grid-template-columns:none!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:0 0 8px!important;
    margin:0!important;
    scrollbar-width:none!important;
  }

  .vv-popular .products::-webkit-scrollbar{
    display:none!important;
  }

  .vv-popular .product-card{
    flex:0 0 calc((100vw - 44px)/2)!important;
    width:calc((100vw - 44px)/2)!important;
    min-width:0!important;
    max-width:180px!important;
    scroll-snap-align:start!important;
    overflow:hidden!important;
  }

  .vv-popular .product-img{
    width:100%!important;
    height:110px!important;
    min-height:110px!important;
    max-height:110px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    border-radius:13px!important;
  }

  .vv-popular .product-img img{
    display:block!important;
    width:100%!important;
    height:110px!important;
    min-height:110px!important;
    max-height:110px!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:13px!important;
  }

  .vv-popular .product-body{
    padding:8px 1px 2px!important;
  }

  .vv-popular .product-body h3{
    font-size:14px!important;
    line-height:1.2!important;
    min-height:34px!important;
    margin:0 0 5px!important;
  }

  .vv-popular .price{
    font-size:15px!important;
    margin-bottom:7px!important;
  }

  .vv-popular .product-bottom{
    display:block!important;
  }

  .vv-popular .btn.small,
  .vv-popular .vv-popular-button{
    width:100%!important;
    min-height:38px!important;
    padding:8px 6px!important;
    border-radius:11px!important;
    font-size:14px!important;
  }

  /* Основное меню — нормальные карточки для телефона */
  .woocommerce ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .woocommerce ul.products li.product{
    width:auto!important;
    margin:0!important;
    padding:8px!important;
    border-radius:14px!important;
  }

  .woocommerce ul.products li.product img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    border-radius:10px!important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:14px!important;
    line-height:1.25!important;
    min-height:35px!important;
  }

  .woocommerce ul.products li.product .price{
    font-size:15px!important;
  }

  .woocommerce ul.products li.product .button{
    width:100%!important;
    box-sizing:border-box!important;
    padding:9px 6px!important;
    font-size:13px!important;
    border-radius:10px!important;
  }

  .cats{
    gap:7px!important;
    margin-bottom:16px!important;
    padding-bottom:4px!important;
  }

  .cat{
    font-size:13px!important;
    padding:8px 10px!important;
  }

  .preorder-box{
    padding:20px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  .contact-grid{
    grid-template-columns:1fr!important;
  }

  .contact-card{
    padding:20px!important;
  }

  .map{
    min-height:290px!important;
  }
}

@media (max-width:380px){
  .wrap{
    width:calc(100% - 20px)!important;
  }

  .vv-popular .product-card{
    flex-basis:calc((100vw - 38px)/2)!important;
    width:calc((100vw - 38px)/2)!important;
  }

  .vv-popular .product-img,
  .vv-popular .product-img img{
    height:102px!important;
    min-height:102px!important;
    max-height:102px!important;
  }

  header .brand{
    font-size:18px!important;
  }

  header .cart{
    padding:9px 11px!important;
    font-size:14px!important;
  }
}


/* =========================================================
   v62 — полноценная MOBILE-FIRST версия заказа
   Идея: как в современных food-ordering интерфейсах:
   - компактный hero без огромной галереи
   - сразу "Популярное"
   - горизонтальные категории
   - меню в виде удобных строк-карточек
   - липкая корзина в шапке
   ========================================================= */
@media (max-width:700px){

  html, body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
  }

  body{
    font-size:16px;
  }

  main{
    display:flex;
    flex-direction:column;
  }

  /* На мобильном еда важнее промо-блока */
  .hero{order:1}
  #popular{order:2}
  #menu{order:3}
  #promo{order:4}
  .preorder{order:5}
  #contacts{order:6}

  .wrap{
    width:100%!important;
    max-width:none!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  /* ---------- HEADER ---------- */
  header{
    position:sticky!important;
    top:0!important;
    z-index:999!important;
    backdrop-filter:blur(14px);
  }

  header .head{
    height:62px!important;
    min-height:62px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    gap:10px!important;
  }

  header .brand{
    font-size:18px!important;
    line-height:1!important;
    letter-spacing:-.02em;
  }

  header nav{
    display:none!important;
  }

  header .cart{
    margin-left:auto!important;
    padding:10px 13px!important;
    border-radius:14px!important;
    font-size:14px!important;
    line-height:1!important;
    white-space:nowrap!important;
    box-shadow:0 4px 18px rgba(0,0,0,.22);
  }

  /* ---------- HERO ---------- */
  .hero{
    padding:24px 0 22px!important;
    background:
      radial-gradient(circle at 88% 18%,rgba(167,219,44,.18),transparent 30%),
      linear-gradient(160deg,#0e100c,#161b12)!important;
  }

  .hero-grid{
    display:block!important;
  }

  .hero .kicker{
    font-size:11px!important;
    letter-spacing:.1em!important;
    margin-bottom:7px!important;
  }

  .hero h1{
    font-size:42px!important;
    line-height:.9!important;
    letter-spacing:-.04em!important;
    margin:0 0 13px!important;
  }

  .hero .lead{
    font-size:18px!important;
    line-height:1.25!important;
    margin:0 0 8px!important;
  }

  .hero .desc{
    font-size:14px!important;
    line-height:1.45!important;
    color:#cfd4c6!important;
    margin:0 0 16px!important;
    max-width:33em!important;
  }

  .hero .btn{
    margin:0 8px 8px 0!important;
    padding:12px 14px!important;
    min-height:44px!important;
    border-radius:12px!important;
    font-size:14px!important;
  }

  /* Галерея на мобильном только мешает заказать */
  .hero .food-grid{
    display:none!important;
  }

  .hero .trust{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin-top:10px!important;
  }

  .hero .trust span{
    min-width:0!important;
    padding:8px 9px!important;
    border-radius:12px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }

  .hero .trust span:last-child{
    grid-column:1/-1;
  }

  /* ---------- SECTIONS ---------- */
  .section{
    padding:28px 0!important;
  }

  .section h2{
    font-size:27px!important;
    line-height:1.05!important;
    margin-bottom:6px!important;
  }

  .sub{
    margin:0 0 14px!important;
    font-size:13px!important;
    line-height:1.35!important;
  }

  /* ---------- POPULAR ---------- */
  .vv-popular{
    padding-top:24px!important;
    padding-bottom:22px!important;
    overflow:hidden!important;
  }

  .vv-popular .section-head{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:12px!important;
  }

  .vv-popular .eyebrow{
    font-size:11px!important;
    margin-bottom:3px!important;
  }

  .vv-popular .section-head h2{
    font-size:25px!important;
    margin:0!important;
  }

  .vv-popular .mini-link{
    font-size:11px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    margin-bottom:2px!important;
  }

  .vv-popular .products{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:0 0 7px!important;
    margin:0 -14px!important;
    padding-left:14px!important;
    padding-right:14px!important;
    scrollbar-width:none!important;
  }

  .vv-popular .products::-webkit-scrollbar{
    display:none!important;
  }

  .vv-popular .product-card{
    flex:0 0 148px!important;
    width:148px!important;
    min-width:148px!important;
    max-width:148px!important;
    scroll-snap-align:start!important;
    border:1px solid var(--line)!important;
    background:var(--panel)!important;
    border-radius:15px!important;
    overflow:hidden!important;
  }

  .vv-popular .product-img{
    width:100%!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    aspect-ratio:auto!important;
    border-radius:0!important;
    overflow:hidden!important;
  }

  .vv-popular .product-img img{
    display:block!important;
    width:100%!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    object-fit:cover!important;
    border-radius:0!important;
  }

  .vv-popular .product-body{
    padding:9px!important;
  }

  .vv-popular .product-body h3{
    font-size:13px!important;
    line-height:1.15!important;
    min-height:30px!important;
    margin:0 0 5px!important;
  }

  .vv-popular .price{
    font-size:14px!important;
    font-weight:900!important;
    margin-bottom:7px!important;
  }

  .vv-popular .product-bottom{
    display:block!important;
  }

  .vv-popular .btn.small,
  .vv-popular .vv-popular-button{
    width:100%!important;
    min-height:34px!important;
    padding:7px 6px!important;
    border-radius:9px!important;
    font-size:12px!important;
    margin:0!important;
  }

  /* ---------- MENU ---------- */
  #menu{
    padding-top:22px!important;
  }

  /* категории как в приложении: горизонтальная лента и остаётся сверху */
  #menu .cats{
    position:sticky!important;
    top:62px!important;
    z-index:40!important;
    display:flex!important;
    gap:7px!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    background:rgba(14,16,12,.96)!important;
    backdrop-filter:blur(12px)!important;
    margin:0 -14px 12px!important;
    padding:9px 14px!important;
    border-top:1px solid rgba(255,255,255,.04)!important;
    border-bottom:1px solid var(--line)!important;
    scrollbar-width:none!important;
  }

  #menu .cats::-webkit-scrollbar{
    display:none!important;
  }

  #menu .cat{
    flex:0 0 auto!important;
    padding:8px 11px!important;
    font-size:12px!important;
    border-radius:999px!important;
  }

  /* Вместо огромных плиток — компактные ресторанные строки */
  .woocommerce ul.products{
    display:block!important;
    margin:0!important;
  }

  .woocommerce ul.products li.product{
    width:100%!important;
    min-height:112px!important;
    margin:0 0 10px!important;
    padding:10px!important;
    border-radius:15px!important;
    display:grid!important;
    grid-template-columns:94px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:11px!important;
    row-gap:6px!important;
    background:var(--panel)!important;
    border:1px solid var(--line)!important;
  }

  .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{
    display:grid!important;
    grid-column:1/-1!important;
    grid-template-columns:94px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:11px!important;
    align-items:start!important;
  }

  .woocommerce ul.products li.product img{
    grid-column:1!important;
    grid-row:1/3!important;
    width:94px!important;
    height:94px!important;
    min-width:94px!important;
    max-width:94px!important;
    object-fit:cover!important;
    aspect-ratio:auto!important;
    border-radius:11px!important;
    margin:0!important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    grid-column:2!important;
    grid-row:1!important;
    font-size:15px!important;
    line-height:1.2!important;
    margin:2px 0 5px!important;
    padding:0!important;
    min-height:0!important;
  }

  .woocommerce ul.products li.product .price{
    grid-column:2!important;
    grid-row:2!important;
    font-size:15px!important;
    line-height:1!important;
    margin:0!important;
  }

  .woocommerce ul.products li.product .button{
    grid-column:2!important;
    justify-self:start!important;
    align-self:end!important;
    width:auto!important;
    min-width:102px!important;
    margin:0!important;
    padding:8px 11px!important;
    border-radius:9px!important;
    font-size:12px!important;
    line-height:1!important;
  }

  /* ---------- PROMO ---------- */
  #promo{
    padding:22px 0!important;
  }

  #promo .promo-grid{
    display:block!important;
  }

  #promo h2{
    font-size:23px!important;
    line-height:1.12!important;
    margin-bottom:7px!important;
  }

  #promo p{
    font-size:13px!important;
    line-height:1.4!important;
  }

  #promo .stamps{
    gap:5px!important;
    margin-top:14px!important;
    overflow:hidden!important;
  }

  #promo .stamp{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    border-width:2px!important;
    font-size:12px!important;
  }

  /* ---------- OTHER ---------- */
  .preorder-box{
    padding:18px!important;
    border-radius:16px!important;
    display:block!important;
  }

  .preorder-box h2{
    font-size:23px!important;
  }

  .preorder-box p{
    font-size:13px!important;
    margin-bottom:10px!important;
  }

  .preorder-box .btn{
    margin-top:8px!important;
  }

  .contact-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .contact-card{
    padding:18px!important;
    border-radius:16px!important;
  }

  .contact-card h3{
    font-size:22px!important;
  }

  .map{
    min-height:260px!important;
    border-radius:16px!important;
  }

  footer{
    padding:20px 0!important;
    font-size:12px!important;
  }
}

@media (max-width:380px){
  .vv-popular .product-card{
    flex-basis:140px!important;
    width:140px!important;
    min-width:140px!important;
    max-width:140px!important;
  }

  .vv-popular .product-img,
  .vv-popular .product-img img{
    height:86px!important;
    min-height:86px!important;
    max-height:86px!important;
  }

  .hero h1{
    font-size:38px!important;
  }

  header .brand{
    font-size:17px!important;
  }
}


/* =========================================================
   v63 — исправление двух реальных мобильных проблем:
   1) никакой огромной отдельной страницы товара;
   2) корзина всегда показывает товары, а не текст "магазин в разработке".
   ========================================================= */
@media (max-width:700px){

  /* Главное меню: компактные food-ordering карточки */
  #menu ul.products,
  #menu .woocommerce ul.products{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    margin:0!important;
  }

  #menu ul.products li.product,
  #menu .woocommerce ul.products li.product{
    width:100%!important;
    min-height:104px!important;
    margin:0!important;
    padding:9px!important;
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    grid-template-rows:auto 1fr!important;
    column-gap:10px!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }

  #menu ul.products li.product > a.woocommerce-LoopProduct-link,
  #menu ul.products li.product > a.woocommerce-loop-product__link{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    text-decoration:none!important;
    pointer-events:none!important;
  }

  #menu ul.products li.product img{
    grid-column:1!important;
    grid-row:1/3!important;
    width:88px!important;
    height:88px!important;
    min-width:88px!important;
    min-height:88px!important;
    max-width:88px!important;
    max-height:88px!important;
    object-fit:cover!important;
    margin:0!important;
    border-radius:10px!important;
  }

  #menu ul.products li.product .woocommerce-loop-product__title{
    grid-column:2!important;
    grid-row:1!important;
    font-size:14px!important;
    line-height:1.18!important;
    padding:1px 0 5px!important;
    margin:0!important;
    min-height:0!important;
  }

  #menu ul.products li.product .price{
    grid-column:2!important;
    grid-row:2!important;
    font-size:14px!important;
    margin:0!important;
  }

  #menu ul.products li.product > .button,
  #menu ul.products li.product > .vv-card-controls{
    grid-column:2!important;
    justify-self:start!important;
    align-self:end!important;
  }

  #menu ul.products li.product > .button{
    min-width:96px!important;
    width:auto!important;
    padding:8px 10px!important;
    margin:0!important;
    font-size:12px!important;
  }

  /* Популярное: гарантированно маленькие карточки */
  #popular .products{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    overflow-x:auto!important;
  }

  #popular .product-card{
    flex:0 0 142px!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
  }

  #popular .product-img,
  #popular .product-img img{
    width:142px!important;
    height:88px!important;
    min-height:88px!important;
    max-height:88px!important;
    object-fit:cover!important;
  }

  /* Корзина на телефоне */
  body.woocommerce-cart main.section{
    padding-top:18px!important;
  }
  body.woocommerce-cart .woocommerce{
    width:100%!important;
  }
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals{
    width:100%!important;
    max-width:none!important;
  }
}


/* =========================================================
   v64 — отдельный мобильный интерфейс по паттернам food-ordering:
   featured carousel + sticky category chips + compact menu cards.
   Используем не только ширину, но и coarse pointer, чтобы Telegram WebView
   не обходил мобильные стили из-за необычного viewport.
   ========================================================= */

.vv-popular-mobile{display:none}

@media (max-width:1100px), (hover:none) and (pointer:coarse){

  html,body{
    max-width:100%!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%;
  }

  .wrap{
    width:100%!important;
    max-width:none!important;
    padding-left:14px!important;
    padding-right:14px!important;
    box-sizing:border-box!important;
  }

  /* Desktop popular is hidden completely on phone.
     No inherited giant card can leak through anymore. */
  .vv-popular{
    display:none!important;
  }
  .vv-popular-mobile{
    display:block!important;
    padding:22px 0 18px!important;
    overflow:hidden!important;
  }

  .vv-mobile-section-head{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:12px!important;
  }
  .vv-mobile-section-head .eyebrow{
    font-size:11px!important;
    margin-bottom:3px!important;
  }
  .vv-mobile-section-head h2{
    margin:0!important;
    font-size:26px!important;
    line-height:1!important;
  }
  .vv-mobile-section-head > a{
    font-size:12px!important;
    font-weight:800!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    margin-bottom:2px!important;
  }

  .vv-mobile-popular-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    margin:0 -14px!important;
    padding:0 14px 8px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .vv-mobile-popular-track::-webkit-scrollbar{display:none!important}

  .vv-mobile-popular-card{
    flex:0 0 156px!important;
    width:156px!important;
    min-width:156px!important;
    max-width:156px!important;
    background:var(--panel)!important;
    border:1px solid var(--line)!important;
    border-radius:16px!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    box-sizing:border-box!important;
  }

  .vv-mobile-popular-card > img{
    display:block!important;
    width:100%!important;
    height:98px!important;
    min-height:98px!important;
    max-height:98px!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
  }

  .vv-mobile-popular-info{
    padding:9px!important;
  }
  .vv-mobile-popular-info h3{
    margin:0 0 7px!important;
    min-height:31px!important;
    font-size:13px!important;
    line-height:1.18!important;
  }
  .vv-mobile-popular-bottom{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  .vv-mobile-popular-bottom strong{
    font-size:14px!important;
    line-height:1!important;
  }
  .vv-mobile-add{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:10px!important;
    background:var(--orange)!important;
    color:#111!important;
    display:grid!important;
    place-items:center!important;
    font-size:24px!important;
    font-weight:900!important;
    line-height:1!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }

  /* Header: simple app-like top bar */
  header{
    position:sticky!important;
    top:0!important;
    z-index:999!important;
  }
  header .head{
    min-height:60px!important;
    height:60px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  header nav{display:none!important}
  header .brand{
    font-size:18px!important;
    white-space:nowrap!important;
  }
  header .cart{
    margin-left:auto!important;
    padding:10px 13px!important;
    font-size:14px!important;
    border-radius:13px!important;
    white-space:nowrap!important;
  }

  /* Hero: compact, no giant gallery on mobile */
  .hero{
    padding:24px 0 20px!important;
  }
  .hero-grid{
    display:block!important;
  }
  .hero h1{
    font-size:40px!important;
    line-height:.95!important;
    margin-bottom:12px!important;
  }
  .hero .lead{
    font-size:17px!important;
    line-height:1.25!important;
  }
  .hero .desc{
    font-size:14px!important;
    line-height:1.45!important;
  }
  .hero .food-grid{
    display:none!important;
  }
  .hero .btn{
    min-height:44px!important;
    padding:11px 14px!important;
    font-size:14px!important;
  }

  /* Menu categories like delivery apps */
  #menu{
    padding-top:22px!important;
  }
  #menu .cats{
    position:sticky!important;
    top:60px!important;
    z-index:50!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    overflow-x:auto!important;
    margin:0 -14px 12px!important;
    padding:9px 14px!important;
    background:rgba(14,16,12,.97)!important;
    backdrop-filter:blur(12px)!important;
    border-bottom:1px solid var(--line)!important;
    scrollbar-width:none!important;
  }
  #menu .cats::-webkit-scrollbar{display:none!important}
  #menu .cat{
    flex:0 0 auto!important;
    padding:8px 11px!important;
    font-size:12px!important;
  }

  /* Compact restaurant menu rows */
  #menu .woocommerce ul.products,
  #menu ul.products{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    margin:0!important;
  }
  #menu .woocommerce ul.products li.product,
  #menu ul.products li.product{
    width:100%!important;
    min-height:108px!important;
    margin:0!important;
    padding:9px!important;
    display:grid!important;
    grid-template-columns:90px minmax(0,1fr)!important;
    grid-template-rows:auto 1fr!important;
    column-gap:11px!important;
    border-radius:15px!important;
    box-sizing:border-box!important;
  }

  #menu ul.products li.product > a.woocommerce-LoopProduct-link,
  #menu ul.products li.product > a.woocommerce-loop-product__link{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:90px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:11px!important;
    pointer-events:none!important;
  }
  #menu ul.products li.product img{
    grid-column:1!important;
    grid-row:1/3!important;
    width:90px!important;
    height:90px!important;
    min-width:90px!important;
    min-height:90px!important;
    max-width:90px!important;
    max-height:90px!important;
    object-fit:cover!important;
    margin:0!important;
    border-radius:11px!important;
  }
  #menu ul.products li.product .woocommerce-loop-product__title{
    grid-column:2!important;
    grid-row:1!important;
    margin:1px 0 5px!important;
    padding:0!important;
    font-size:15px!important;
    line-height:1.18!important;
    min-height:0!important;
  }
  #menu ul.products li.product .price{
    grid-column:2!important;
    grid-row:2!important;
    margin:0!important;
    font-size:15px!important;
  }
  #menu ul.products li.product > .button{
    grid-column:2!important;
    width:auto!important;
    min-width:98px!important;
    justify-self:start!important;
    align-self:end!important;
    margin:0!important;
    padding:8px 10px!important;
    font-size:12px!important;
  }

  /* Less marketing before order completion */
  #promo{
    padding:22px 0!important;
  }
  .preorder-box{
    padding:18px!important;
    border-radius:16px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .contact-grid{grid-template-columns:1fr!important}
  .contact-card{padding:18px!important}
  .map{min-height:280px!important}
}

/* Telegram / embedded Android browsers can report ~800-900 CSS px.
   This second guard ensures they still get the mobile layout. */
@media (min-width:701px) and (max-width:1100px){
  .vv-mobile-popular-card{
    flex-basis:170px!important;
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
  }
}


/* =========================================================
   v65 — мобильные карточки меню: количество и кнопка всегда справа,
   на одной логичной вертикали с названием и ценой.
   ========================================================= */
@media (max-width:1100px), (hover:none) and (pointer:coarse){

  #menu ul.products li.product > .vv-card-qty{
    grid-column:2!important;
    grid-row:auto!important;
    justify-self:start!important;
    align-self:end!important;
    width:138px!important;
    max-width:100%!important;
    min-height:38px!important;
    height:38px!important;
    margin:6px 0 0!important;
    grid-template-columns:38px minmax(56px,1fr) 38px!important;
    border-radius:10px!important;
  }

  #menu ul.products li.product > .vv-card-qty a.vv-card-minus,
  #menu ul.products li.product > .vv-card-qty a.vv-card-plus,
  #menu ul.products li.product > .vv-card-qty button.vv-card-plus{
    width:38px!important;
    height:38px!important;
    min-height:38px!important;
    font-size:20px!important;
  }

  #menu ul.products li.product > .vv-card-qty .vv-card-qty-value{
    font-size:13px!important;
    line-height:38px!important;
  }

  #menu ul.products li.product > .button{
    grid-column:2!important;
    justify-self:start!important;
    align-self:end!important;
    margin-top:6px!important;
  }
}


/* =========================================================
   v71 — MOBILE FIRST: интерфейс заказа, а не уменьшенный desktop.
   Паттерн: compact header → featured carousel → sticky categories
   → compact menu cards → fixed cart CTA.
   Desktop >= 901px не меняем.
   ========================================================= */

.vv71-mobile-cart{display:none}

@media (max-width:900px), (hover:none) and (pointer:coarse){

  html{
    scroll-behavior:smooth;
  }

  html, body{
    max-width:100%!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%;
  }

  body{
    padding-bottom:86px!important;
    background:#0e100c!important;
  }

  .wrap{
    width:100%!important;
    max-width:none!important;
    padding-left:14px!important;
    padding-right:14px!important;
    box-sizing:border-box!important;
  }

  /* ----- HEADER ----- */
  header{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    background:rgba(14,16,12,.96)!important;
    backdrop-filter:blur(14px)!important;
    border-bottom:1px solid rgba(255,255,255,.06)!important;
  }

  header .head{
    min-height:58px!important;
    height:58px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }

  header .brand{
    font-size:18px!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
  }

  header nav{
    display:none!important;
  }

  header .cart{
    display:none!important; /* заменена нижней мобильной корзиной */
  }

  /* ----- HERO ----- */
  .hero{
    padding:24px 0 18px!important;
    background:
      radial-gradient(circle at 92% 5%,rgba(167,219,44,.14),transparent 28%),
      linear-gradient(160deg,#0e100c,#151a11)!important;
  }

  .hero-grid{
    display:block!important;
  }

  .hero .food-grid,
  .hero .hero-media,
  .hero .gallery{
    display:none!important;
  }

  .hero .kicker{
    font-size:11px!important;
    margin:0 0 7px!important;
    letter-spacing:.08em!important;
  }

  .hero h1{
    font-size:38px!important;
    line-height:.96!important;
    letter-spacing:-.04em!important;
    margin:0 0 12px!important;
    max-width:9ch!important;
  }

  .hero .lead{
    font-size:17px!important;
    line-height:1.25!important;
    margin:0 0 7px!important;
  }

  .hero .desc{
    font-size:14px!important;
    line-height:1.45!important;
    margin:0 0 14px!important;
    color:#c8cec0!important;
    max-width:36em!important;
  }

  .hero .btn{
    min-height:43px!important;
    padding:10px 13px!important;
    margin:0 7px 7px 0!important;
    border-radius:11px!important;
    font-size:13px!important;
  }

  .hero .trust{
    display:flex!important;
    gap:6px!important;
    overflow-x:auto!important;
    padding:3px 0 2px!important;
    margin-top:5px!important;
    scrollbar-width:none!important;
  }

  .hero .trust::-webkit-scrollbar{display:none!important}

  .hero .trust span{
    flex:0 0 auto!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    font-size:10px!important;
    line-height:1.15!important;
  }

  /* ----- SECTIONS ----- */
  .section{
    padding:24px 0!important;
  }

  .section h2{
    font-size:26px!important;
    line-height:1.05!important;
    margin:0 0 5px!important;
  }

  .sub{
    font-size:13px!important;
    line-height:1.4!important;
    margin:0 0 13px!important;
  }

  /* ----- POPULAR / FEATURED ----- */
  .vv-popular{
    display:none!important;
  }

  .vv-popular-mobile{
    display:block!important;
    padding:22px 0 17px!important;
    overflow:hidden!important;
  }

  .vv-mobile-section-head{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:11px!important;
  }

  .vv-mobile-section-head .eyebrow{
    font-size:10px!important;
    margin-bottom:3px!important;
  }

  .vv-mobile-section-head h2{
    font-size:24px!important;
    margin:0!important;
  }

  .vv-mobile-section-head > a{
    font-size:11px!important;
    white-space:nowrap!important;
    margin-bottom:2px!important;
  }

  .vv-mobile-popular-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    margin:0 -14px!important;
    padding:0 14px 7px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  .vv-mobile-popular-track::-webkit-scrollbar{display:none!important}

  .vv-mobile-popular-card{
    flex:0 0 148px!important;
    width:148px!important;
    min-width:148px!important;
    max-width:148px!important;
    background:#191d16!important;
    border:1px solid #30362b!important;
    border-radius:15px!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    box-sizing:border-box!important;
  }

  .vv-mobile-popular-card > img{
    display:block!important;
    width:100%!important;
    height:94px!important;
    min-height:94px!important;
    max-height:94px!important;
    object-fit:cover!important;
    margin:0!important;
  }

  .vv-mobile-popular-info{
    padding:8px!important;
  }

  .vv-mobile-popular-info h3{
    min-height:30px!important;
    margin:0 0 6px!important;
    font-size:13px!important;
    line-height:1.16!important;
  }

  .vv-mobile-popular-bottom{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
  }

  .vv-mobile-popular-bottom strong{
    font-size:14px!important;
    line-height:1!important;
  }

  .vv-mobile-add{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:9px!important;
    display:grid!important;
    place-items:center!important;
    background:var(--orange)!important;
    color:#111!important;
    font-size:21px!important;
    font-weight:900!important;
    line-height:1!important;
  }

  /* ----- MENU CATEGORIES ----- */
  #menu{
    padding-top:18px!important;
  }

  #menu .cats{
    position:sticky!important;
    top:58px!important;
    z-index:60!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    overflow-x:auto!important;
    margin:0 -14px 11px!important;
    padding:8px 14px!important;
    background:rgba(14,16,12,.97)!important;
    backdrop-filter:blur(12px)!important;
    border-top:1px solid rgba(255,255,255,.04)!important;
    border-bottom:1px solid #2b3127!important;
    scrollbar-width:none!important;
  }

  #menu .cats::-webkit-scrollbar{display:none!important}

  #menu .cat{
    flex:0 0 auto!important;
    padding:7px 10px!important;
    font-size:12px!important;
    line-height:1!important;
    border-radius:999px!important;
  }

  /* ----- MENU ITEMS ----- */
  #menu .woocommerce ul.products,
  #menu ul.products{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    margin:0!important;
  }

  #menu .woocommerce ul.products li.product,
  #menu ul.products li.product{
    width:100%!important;
    min-height:106px!important;
    margin:0!important;
    padding:9px!important;
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    grid-template-rows:auto 1fr auto!important;
    column-gap:10px!important;
    row-gap:2px!important;
    border-radius:14px!important;
    background:#191d16!important;
    border:1px solid #30362b!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  #menu ul.products li.product > a.woocommerce-LoopProduct-link,
  #menu ul.products li.product > a.woocommerce-loop-product__link{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    pointer-events:none!important;
    text-decoration:none!important;
  }

  #menu ul.products li.product img{
    grid-column:1!important;
    grid-row:1/3!important;
    width:88px!important;
    height:88px!important;
    min-width:88px!important;
    min-height:88px!important;
    max-width:88px!important;
    max-height:88px!important;
    object-fit:cover!important;
    margin:0!important;
    border-radius:10px!important;
  }

  #menu ul.products li.product .woocommerce-loop-product__title{
    grid-column:2!important;
    grid-row:1!important;
    min-height:0!important;
    margin:1px 0 4px!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1.18!important;
  }

  #menu ul.products li.product .price{
    grid-column:2!important;
    grid-row:2!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1!important;
  }

  #menu ul.products li.product > .button{
    grid-column:2!important;
    justify-self:start!important;
    align-self:end!important;
    min-width:96px!important;
    width:auto!important;
    margin:4px 0 0!important;
    padding:8px 10px!important;
    border-radius:9px!important;
    font-size:12px!important;
    line-height:1!important;
  }

  #menu ul.products li.product > .vv-card-qty{
    grid-column:2!important;
    justify-self:start!important;
    align-self:end!important;
    width:132px!important;
    min-height:36px!important;
    height:36px!important;
    margin:4px 0 0!important;
    grid-template-columns:36px minmax(54px,1fr) 36px!important;
    border-radius:9px!important;
  }

  #menu ul.products li.product > .vv-card-qty a.vv-card-minus,
  #menu ul.products li.product > .vv-card-qty a.vv-card-plus,
  #menu ul.products li.product > .vv-card-qty button.vv-card-plus{
    width:36px!important;
    height:36px!important;
    min-height:36px!important;
    font-size:19px!important;
  }

  #menu ul.products li.product > .vv-card-qty .vv-card-qty-value{
    font-size:12px!important;
    line-height:36px!important;
  }

  /* ----- PROMO AND CONTACTS ----- */
  #promo{
    padding:20px 0!important;
  }

  #promo .promo-grid{
    display:block!important;
  }

  #promo h2{
    font-size:22px!important;
  }

  #promo p{
    font-size:13px!important;
  }

  #promo .stamp{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border-width:2px!important;
    font-size:11px!important;
  }

  .preorder-box{
    padding:17px!important;
    border-radius:15px!important;
    display:block!important;
  }

  .preorder-box h2{
    font-size:22px!important;
  }

  .preorder-box p{
    font-size:13px!important;
    margin-bottom:10px!important;
  }

  .contact-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .contact-card{
    padding:17px!important;
    border-radius:15px!important;
  }

  .map{
    min-height:250px!important;
    border-radius:15px!important;
  }

  /* ----- STICKY BOTTOM CART ----- */
  .vv71-mobile-cart{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    z-index:2147482000!important;
    min-height:58px!important;
    padding:8px 12px!important;
    border-radius:17px!important;
    background:#a7db2c!important;
    color:#111!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    text-decoration:none!important;
    box-shadow:0 14px 42px rgba(0,0,0,.42)!important;
    box-sizing:border-box!important;
  }

  .vv71-mobile-cart:not(.has-items){
    background:#20251c!important;
    color:#d9ddcf!important;
    border:1px solid #394032!important;
  }

  .vv71-mobile-cart-left{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
  }

  .vv71-mobile-cart-icon{
    width:36px!important;
    height:36px!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(0,0,0,.12)!important;
    border-radius:11px!important;
    font-size:18px!important;
  }

  .vv71-mobile-cart b{
    display:block!important;
    font-size:14px!important;
    line-height:1.1!important;
  }

  .vv71-mobile-cart small{
    display:block!important;
    margin-top:3px!important;
    font-size:10px!important;
    line-height:1!important;
    opacity:.72!important;
  }

  .vv71-mobile-cart-total{
    flex:0 0 auto!important;
    font-size:15px!important;
    white-space:nowrap!important;
  }
}

@media (max-width:360px){
  .hero h1{font-size:34px!important}
  .vv-mobile-popular-card{
    flex-basis:140px!important;
    width:140px!important;
    min-width:140px!important;
    max-width:140px!important;
  }
}

/* v72 local SEO */
.vv72-local-seo{padding:34px 0;border-top:1px solid rgba(255,255,255,.08);background:#11140f}.vv72-local-seo h2{margin:0 0 10px;font-size:28px}.vv72-local-seo p{max-width:850px;margin:0;color:#cbd0c4;line-height:1.65}.vv72-seo-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vv72-seo-facts span,.vv72-seo-facts a{padding:9px 12px;border:1px solid #343a30;border-radius:10px;background:#191d16;color:#eef1e9;text-decoration:none;font-size:13px}@media(max-width:900px),(hover:none) and (pointer:coarse){.vv72-local-seo{padding:24px 0 96px}.vv72-local-seo h2{font-size:23px}.vv72-local-seo p{font-size:13px;line-height:1.55}.vv72-seo-facts{display:grid;grid-template-columns:1fr;gap:7px}}


/* v73 — кнопки доставки Яндекс Еда / Деливери */
.vv73-delivery{padding:42px 0;background:#11140f}.vv73-delivery-box{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#1d2118,#141711)}.vv73-delivery-copy{max-width:620px}.vv73-delivery .eyebrow{color:var(--orange);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.vv73-delivery h2{margin:6px 0 8px;font-size:32px}.vv73-delivery p{margin:0;color:#d5d8ca}.vv73-delivery-actions{display:grid;grid-template-columns:1fr;gap:10px;min-width:310px}.vv73-delivery-btn{min-height:58px;padding:10px 16px;border-radius:14px;display:flex;align-items:center;gap:12px;font-weight:900;transition:transform .15s ease,filter .15s ease}.vv73-delivery-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.vv73-delivery-btn span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:18px;font-weight:1000}.vv73-yandex{background:#ffdd2d;color:#151515}.vv73-yandex span{background:#fff;color:#e11}.vv73-delivery-market{background:#a7db2c;color:#10130b}.vv73-delivery-market span{background:#10130b;color:#a7db2c}@media(max-width:900px),(hover:none) and (pointer:coarse){.vv73-delivery{padding:28px 0}.vv73-delivery-box{display:block;padding:20px}.vv73-delivery h2{font-size:25px}.vv73-delivery p{font-size:14px}.vv73-delivery-actions{min-width:0;margin-top:18px}.vv73-delivery-btn{min-height:60px;width:100%;justify-content:flex-start}}


/* v74 — исправление клика и курсора кнопок доставки */
.vv73-delivery-btn,
.vv73-delivery-btn:link,
.vv73-delivery-btn:visited,
.vv73-delivery-btn:hover,
.vv73-delivery-btn:active{
  cursor:pointer!important;
  pointer-events:auto!important;
  text-decoration:none!important;
}
.vv73-delivery-btn *{pointer-events:none!important;}

/* v75 — доставка в верхнем меню + компактное окно выбора сервиса */
.vv75-delivery-open{cursor:pointer}
.vv75-delivery-modal[hidden]{display:none!important}
.vv75-delivery-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.vv75-delivery-shade{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}
.vv75-delivery-card{position:relative;width:min(440px,100%);background:#151a12;border:1px solid rgba(166,224,39,.24);border-radius:20px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.55);color:#fff}
.vv75-delivery-close{position:absolute;right:13px;top:10px;border:0;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:7px}
.vv75-delivery-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ff9800;font-weight:800;margin-bottom:8px}
.vv75-delivery-card h2{font-size:25px;line-height:1.12;margin:0 32px 9px 0;color:#fff}
.vv75-delivery-card p{margin:0 0 18px;color:#cbd2c6;font-size:14px;line-height:1.5}
.vv75-delivery-choices{display:grid;gap:10px}
.vv75-delivery-choice{display:flex;align-items:center;gap:12px;text-decoration:none!important;border-radius:12px;padding:13px 14px;font-weight:800;cursor:pointer;transition:transform .15s ease,filter .15s ease}
.vv75-delivery-choice:hover{transform:translateY(-1px);filter:brightness(1.05)}
.vv75-delivery-choice span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:900;flex:0 0 30px}
.vv75-delivery-choice.yandex{background:#ffdc3d;color:#171717}
.vv75-delivery-choice.yandex span{background:#fff;color:#f22}
.vv75-delivery-choice.delivery{background:#a8e72d;color:#10150b}
.vv75-delivery-choice.delivery span{background:#10150b;color:#a8e72d}
.vv75-delivery-note{display:block;margin-top:13px;color:#929b8e;font-size:11px;text-align:center}
@media(max-width:700px){.vv75-delivery-card{padding:23px 18px}.vv75-delivery-card h2{font-size:22px}}

/* v76 — гарантированный курсор и клики в окне доставки */
.vv75-delivery-choice,
.vv75-delivery-choice:hover,
.vv75-delivery-choice:focus,
.vv75-delivery-choice:active{
  width:100%;
  border:0;
  font:inherit;
  text-align:left;
  cursor:pointer!important;
  pointer-events:auto!important;
  -webkit-appearance:none;
  appearance:none;
}
.vv75-delivery-choice *{pointer-events:none!important;cursor:pointer!important;}
.vv75-delivery-card{pointer-events:auto!important;}

/* v77 — выгодный самовывоз в окне доставки */
.vv75-delivery-card .vv77-pickup-box{margin:0 0 16px;padding:14px 15px;border:1px solid rgba(255,152,0,.35);border-radius:14px;background:rgba(255,152,0,.07)}
.vv75-delivery-card .vv77-pickup-title{display:block;margin-bottom:5px;color:#fff;font-size:16px;font-weight:900}
.vv75-delivery-card .vv77-pickup-text{margin:0 0 11px;color:#d9ded4;font-size:13px;line-height:1.45}
.vv77-pickup-btn{width:100%;min-height:48px;border:0;border-radius:11px;background:#ff9418;color:#17120c;font:inherit;font-weight:900;cursor:pointer!important;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important}
.vv77-pickup-btn:hover,.vv77-pickup-btn:focus,.vv77-pickup-btn:active{cursor:pointer!important;filter:brightness(1.06)}
.vv77-pickup-btn *{pointer-events:none!important}
.vv75-delivery-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:#8f988b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.vv75-delivery-divider:before,.vv75-delivery-divider:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.09)}

/* v78 — ссылки доставки открываются отдельной вкладкой, включая предпросмотр WordPress */
.vv75-delivery-choice{cursor:pointer!important;}
.vv75-delivery-choice *{cursor:pointer!important;}

/* v79 — клики доставки обходят iframe предпросмотра WordPress */
.vv75-delivery-choice,.vv73-delivery-btn{cursor:pointer!important;pointer-events:auto!important;}

/* v80 — delivery buttons are real buttons to bypass WordPress Customizer iframe interception */
.vv75-delivery-choice,.vv73-delivery-btn{border:0;font:inherit;text-align:left;-webkit-appearance:none;appearance:none;cursor:pointer!important;}
.vv82-search-seo{padding:38px 0;background:#12150f;border-top:1px solid var(--line)}.vv82-search-seo h2{margin:0 0 10px;font-size:clamp(25px,3vw,34px)}.vv82-search-seo p{max-width:920px;color:#d7dacd}.vv82-search-links a{color:var(--orange);font-weight:900}

/* v84 — единый стандарт фото товаров: показываем изображение целиком, без обрезки */
.woocommerce ul.products li.product img,
.vv-popular .product-img img,
.vv-popular .product-card .product-img img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #11130f !important;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.vv-popular .product-img {
  background: #11130f !important;
  overflow: hidden !important;
}


/* v85 — dynamic hero + complete menu cards */
.food-grid .vv85-hero-product{display:block;width:100%;height:100%;padding:0;border:1px solid #414837;border-radius:20px;background:#11130f;overflow:hidden;cursor:pointer;min-width:0}
.food-grid .vv85-hero-product:first-child{grid-row:1/3}
.food-grid .vv85-hero-product img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border:0!important;border-radius:0!important;background:#11130f!important}
#menu ul.products li.product .woocommerce-loop-product__title{display:block!important;visibility:visible!important;opacity:1!important;color:#fff!important}
#menu ul.products li.product .price{display:block!important;visibility:visible!important;opacity:1!important;color:var(--orange)!important}
#menu ul.products li.product{scroll-margin-top:110px}
#menu ul.products li.product.vv85-highlight{outline:2px solid var(--orange);box-shadow:0 0 0 5px rgba(255,138,0,.15)}
@media(max-width:900px),(hover:none) and (pointer:coarse){.food-grid .vv85-hero-product img{object-fit:contain!important}}

/* v88 — финальные правила карточек главного меню: фото целиком + всегда видимые название/цена. */
#menu .vv88-home-menu ul.products li.product > a.woocommerce-loop-product__link{
  display:flex!important; flex-direction:column!important; pointer-events:auto!important; min-width:0!important;
}
#menu .vv88-home-menu ul.products li.product img{
  width:100%!important; height:auto!important; aspect-ratio:1/1!important; object-fit:contain!important; object-position:center!important;
  background:#11130f!important; margin:0 0 10px!important; border-radius:12px!important;
}
#menu .vv88-home-menu ul.products li.product .woocommerce-loop-product__title{
  display:block!important; visibility:visible!important; opacity:1!important; position:static!important;
  color:#fff!important; font-size:16px!important; line-height:1.25!important; font-weight:800!important; margin:0 0 7px!important; padding:0!important;
}
#menu .vv88-home-menu ul.products li.product .price{
  display:block!important; visibility:visible!important; opacity:1!important; position:static!important;
  color:var(--orange)!important; font-size:17px!important; line-height:1.2!important; font-weight:900!important; margin:0 0 10px!important;
}
@media(max-width:900px),(hover:none) and (pointer:coarse){
  #menu .vv88-home-menu ul.products li.product{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;grid-template-rows:auto auto 1fr!important;column-gap:10px!important;min-height:108px!important;}
  #menu .vv88-home-menu ul.products li.product > a.woocommerce-loop-product__link{grid-column:1/-1!important;display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:10px!important;}
  #menu .vv88-home-menu ul.products li.product img{grid-column:1!important;grid-row:1/3!important;width:88px!important;height:88px!important;min-width:88px!important;max-width:88px!important;object-fit:contain!important;margin:0!important;}
  #menu .vv88-home-menu ul.products li.product .woocommerce-loop-product__title{grid-column:2!important;grid-row:1!important;font-size:14px!important;margin:1px 0 6px!important;}
  #menu .vv88-home-menu ul.products li.product .price{grid-column:2!important;grid-row:2!important;font-size:14px!important;margin:0!important;}
  #menu .vv88-home-menu ul.products li.product > .button,#menu .vv88-home-menu ul.products li.product > .vv-card-qty{grid-column:2!important;justify-self:start!important;}
}
/* v88 — отдельный товар: штатное quantity внутри аккуратного +/- блока. */
.single-product form.cart{display:flex!important;align-items:stretch!important;gap:10px!important;flex-wrap:wrap!important;background:transparent!important;}
.single-product .vv88-single-qty{display:grid!important;grid-template-columns:42px 56px 42px!important;height:46px!important;border:1px solid #4a523f!important;border-radius:10px!important;overflow:hidden!important;background:#171b14!important;}
.single-product .vv88-single-qty button{border:0!important;background:#252b20!important;color:#fff!important;font-size:22px!important;font-weight:900!important;cursor:pointer!important;}
.single-product .vv88-single-qty .quantity{margin:0!important;width:56px!important;}
.single-product .vv88-single-qty input.qty{width:56px!important;height:46px!important;margin:0!important;border:0!important;border-radius:0!important;text-align:center!important;background:#11130f!important;color:#fff!important;font-weight:800!important;}
.single-product form.cart .single_add_to_cart_button{min-height:46px!important;padding:0 28px!important;border-radius:10px!important;background:var(--green)!important;color:#111!important;font-weight:900!important;}

/* v91 — категории без полосы прокрутки и без обрезания. */
body.woocommerce-shop .vv-shop-cats,
body.tax-product_cat .vv-shop-cats{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  overflow:visible!important;
  max-width:100%!important;
  padding-bottom:0!important;
}
body.woocommerce-shop .vv-shop-cat,
body.tax-product_cat .vv-shop-cat{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* v91 — карточки магазина/категорий: фото + название + цена + кнопка. */
body.woocommerce-shop .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
body.woocommerce-shop .woocommerce ul.products li.product > a.woocommerce-loop-product__link,
body.tax-product_cat .woocommerce ul.products li.product > a.woocommerce-loop-product__link{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  background:#11130f!important;
}
body.woocommerce-shop .woocommerce ul.products li.product img,
body.tax-product_cat .woocommerce ul.products li.product img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 0 10px!important;
  background:#11130f!important;
}
body.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  height:auto!important;
  min-height:0!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:800!important;
  margin:0 0 7px!important;
  padding:0!important;
}
body.woocommerce-shop .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  height:auto!important;
  color:var(--orange)!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:900!important;
  margin:0 0 10px!important;
}
body.woocommerce-shop .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button{
  margin-top:auto!important;
}

/* v92 — final category bar: no scrollbar and no clipped categories at any viewport. */
#menu .cats,
body.woocommerce-shop .vv-shop-cats,
body.tax-product_cat .vv-shop-cats{
  display:flex!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  white-space:normal!important;
  max-width:100%!important;
  height:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
#menu .cats::-webkit-scrollbar,
body.woocommerce-shop .vv-shop-cats::-webkit-scrollbar,
body.tax-product_cat .vv-shop-cats::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
#menu .cat,
body.woocommerce-shop .vv-shop-cat,
body.tax-product_cat .vv-shop-cat{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* v92 — archive cards: title and price are part of the card and cannot be clipped by the image link. */
body.woocommerce-shop ul.products li.product > a.woocommerce-loop-product__link,
body.tax-product_cat ul.products li.product > a.woocommerce-loop-product__link{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}
body.woocommerce-shop ul.products li.product > a.woocommerce-loop-product__link img,
body.tax-product_cat ul.products li.product > a.woocommerce-loop-product__link img{
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
}
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  transform:none!important;
  clip:auto!important;
  clip-path:none!important;
  max-height:none!important;
  overflow:visible!important;
}

/* v93 product copy */
.vv93-product-copy{color:#dfe3d7;font-size:16px;line-height:1.65;margin:14px 0 18px;max-width:760px}

/* v96 — SEO-текст категории после товаров. */
.vv96-category-seo{margin:34px 0 8px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#12150f}.vv96-category-seo h2{margin:0 0 9px;font-size:22px;line-height:1.2}.vv96-category-seo p{margin:0;color:#d7dacd;line-height:1.6;max-width:900px}.vv96-category-seo .vv96-category-local{margin-top:8px;color:#aeb5a5;font-size:13px}@media(max-width:600px){.vv96-category-seo{margin-top:24px;padding:17px 16px}.vv96-category-seo h2{font-size:19px}.vv96-category-seo p{font-size:14px}}


/* v97 — точечные улучшения карточек и формы отзывов */
.vv97-product-link{color:inherit;text-decoration:none}
.vv97-product-image-link{display:block}
.single-product #review_form #submit{appearance:none!important;border:0!important;border-radius:12px!important;background:var(--orange)!important;color:#17120a!important;padding:14px 22px!important;min-height:48px!important;font-size:16px!important;font-weight:900!important;cursor:pointer!important;box-shadow:none!important}
.single-product #review_form #submit:hover{filter:brightness(1.05)}
.single-product #review_form #submit:disabled{opacity:.72!important;cursor:wait!important}
.vv97-review-notice{margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:#fff;font-weight:700}
.vv97-review-notice.is-success{border-color:var(--green)}
.vv97-review-notice.is-error{border-color:var(--orange)}


/* v99 — карточки «Похожие»: всегда показываем кликабельное название и цену. */
.single-product .related.products ul.products li.product > a.woocommerce-loop-product__link,
.single-product .related.products ul.products li.product > a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  pointer-events:auto!important;
}
.single-product .related.products ul.products li.product img{
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  margin:0 0 10px!important;
}
.single-product .related.products ul.products li.product .woocommerce-loop-product__title{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:800!important;
  margin:0 0 7px!important;
  padding:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.single-product .related.products ul.products li.product .price{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  color:var(--orange)!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:900!important;
  margin:0 0 10px!important;
  max-height:none!important;
  overflow:visible!important;
}

/* v100 — mobile polish only. Desktop styles intentionally untouched. */
@media (max-width:900px), (hover:none) and (pointer:coarse){
  /* Popular cards: the image is wrapped in a link since v97, so size the image inside that link. */
  .vv-mobile-popular-card > .vv97-product-image-link{
    display:block!important;
    width:100%!important;
    height:112px!important;
    overflow:hidden!important;
    background:#11130f!important;
  }
  .vv-mobile-popular-card > .vv97-product-image-link img{
    display:block!important;
    width:100%!important;
    height:112px!important;
    min-height:112px!important;
    max-height:112px!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
  }
  .vv-mobile-popular-info{padding:9px 10px 10px!important}
  .vv-mobile-popular-info h3{
    min-height:32px!important;
    max-height:32px!important;
    overflow:hidden!important;
    margin:0 0 8px!important;
    font-size:13px!important;
    line-height:16px!important;
  }
  .vv-mobile-popular-bottom strong{font-size:15px!important}
  .vv-mobile-add{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    border-radius:10px!important;
  }

  /* Bottom cart: keep it useful without covering so much of the page. */
  .vv71-mobile-cart{
    left:10px!important;
    right:10px!important;
    min-height:52px!important;
    padding:6px 10px!important;
    border-radius:15px!important;
  }
  .vv71-mobile-cart-icon{
    width:32px!important;
    height:32px!important;
    font-size:16px!important;
    border-radius:9px!important;
  }
  .vv71-mobile-cart b{font-size:13px!important}
  .vv71-mobile-cart small{font-size:9px!important;margin-top:2px!important}
  .vv71-mobile-cart-total{font-size:14px!important}
}

/* =========================================================
   v101 — mobile: route pin stays above the fixed cart bar.
   Desktop positioning is intentionally unchanged.
   ========================================================= */
@media (max-width:900px), (hover:none) and (pointer:coarse){
  .vv-route-fab{
    right:14px!important;
    bottom:calc(78px + env(safe-area-inset-bottom))!important;
    z-index:2147482001!important;
    width:50px!important;
    height:50px!important;
    border-radius:15px 15px 15px 6px!important;
    font-size:21px!important;
  }
}
