/*
 * MOHU_CONVERSION_STOREFRONT_V1
 * Namespaced presentation layer for the public Vitaminovy servis.
 * No cart, checkout, price, availability or order logic lives here.
 */
.vs-store {
  --vs-ink: #142016;
  --vs-muted: #667066;
  --vs-green: #2f7d32;
  --vs-green-dark: #1f5f25;
  --vs-green-soft: #eaf3e5;
  --vs-cream: #f7f2e7;
  --vs-paper: #fff;
  --vs-line: #e3ddcf;
  --vs-gold: #c99b32;
  --vs-header: #0c1510;
  --vs-header-soft: #142019;
  --vs-danger: #b42318;
  --vs-radius: 16px;
  --vs-shadow: 0 18px 46px rgba(31, 48, 31, .09);
  margin: 0;
  min-height: 100vh;
  color: var(--vs-ink);
  background: var(--vs-cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.55;
  overflow-x: hidden;
}

.vs-store *, .vs-store *::before, .vs-store *::after { box-sizing: border-box; }
.vs-store a { color: inherit; text-decoration: none; }
.vs-store button, .vs-store input, .vs-store select, .vs-store textarea { font: inherit; }
.vs-store svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.vs-store img { max-width: 100%; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Header */
.vs-header { position:sticky; top:0; z-index:100; color:#f8fbf7; background:rgba(12,21,16,.97); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(15px); }
.vs-header__inner { width:min(1540px,calc(100% - 48px)); min-height:78px; margin:auto; display:grid; grid-template-columns:300px minmax(280px,620px) 1fr; align-items:center; gap:28px; }
.vs-brand { display:inline-flex; align-items:center; gap:12px; min-width:0; }
.vs-brand__mark { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; color:#fff; background:var(--vs-green); border-radius:13px; box-shadow:0 10px 28px rgba(47,125,50,.28); }
.vs-brand__mark svg { width:24px; height:24px; }
.vs-brand strong, .vs-brand small { display:block; }
.vs-brand strong { color:#fff; font-size:18px; font-weight:750; line-height:1.1; letter-spacing:-.02em; }
.vs-brand small { margin-top:4px; color:#aab8ad; font-size:10px; font-weight:650; letter-spacing:.09em; text-transform:uppercase; }
.vs-search { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:8px; min-height:46px; padding-left:14px; background:#fff; border:1px solid transparent; border-radius:12px; }
.vs-search:focus-within { border-color:#6da871; box-shadow:0 0 0 3px rgba(77,139,82,.18); }
.vs-search svg { width:18px; color:#778079; }
.vs-search input { min-width:0; height:44px; padding:0; color:var(--vs-ink); background:transparent; border:0; outline:0; }
.vs-search button { align-self:stretch; padding:0 18px; color:#fff; background:var(--vs-green); border:0; border-radius:0 11px 11px 0; font-weight:750; cursor:pointer; }
.vs-header__actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.vs-phone, .vs-cart { display:flex; align-items:center; gap:9px; min-height:48px; padding:7px 11px; border:1px solid rgba(255,255,255,.12); border-radius:12px; }
.vs-phone:hover, .vs-cart:hover { background:rgba(255,255,255,.06); }
.vs-phone svg, .vs-cart svg { flex:0 0 21px; width:21px; color:#8cc78f; }
.vs-phone small, .vs-phone strong, .vs-cart small, .vs-cart strong { display:block; white-space:nowrap; }
.vs-phone small, .vs-cart small { color:#94a197; font-size:9px; line-height:1.1; text-transform:uppercase; letter-spacing:.08em; }
.vs-phone strong, .vs-cart strong { margin-top:3px; color:#fff; font-size:12px; line-height:1.1; }
.vs-cart { position:relative; }
.vs-cart b { display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; color:#fff; background:var(--vs-green); border-radius:999px; font-size:11px; }
.vs-nav-toggle { display:none; width:46px; height:46px; padding:11px; background:transparent; border:1px solid rgba(255,255,255,.16); border-radius:11px; cursor:pointer; }
.vs-nav-toggle > span:not(.sr-only) { display:block; width:100%; height:2px; margin:4px 0; background:#fff; border-radius:2px; }
.vs-nav { background:var(--vs-header-soft); border-top:1px solid rgba(255,255,255,.06); }
.vs-nav__inner { width:min(1540px,calc(100% - 48px)); min-height:46px; margin:auto; display:flex; align-items:center; justify-content:center; gap:4px; }
.vs-nav a { display:flex; align-items:center; min-height:38px; padding:0 15px; color:#c8d2ca; border-radius:9px; font-size:12px; font-weight:700; white-space:nowrap; }
.vs-nav a:hover, .vs-nav a.is-active { color:#fff; background:rgba(255,255,255,.08); }
.vs-nav a.is-active { box-shadow:inset 0 -2px 0 var(--vs-green); }

/* Main storefront */
.vs-main { min-height:65vh; }
.vs-storefront { width:min(1540px,calc(100% - 48px)); margin:0 auto; padding:24px 0 72px; }
.vs-hero { position:relative; min-height:365px; display:flex; align-items:center; overflow:hidden; border-radius:22px; color:#fff; background:#18301f url("/mohu-public-assets/vitaminovy-servis/hero-main.jpg") center 45%/cover no-repeat; box-shadow:var(--vs-shadow); }
.vs-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,18,11,.92) 0%,rgba(8,18,11,.72) 43%,rgba(8,18,11,.12) 76%); }
.vs-hero__content { position:relative; z-index:1; max-width:760px; padding:48px 56px; }
.vs-eyebrow { margin:0 0 10px; color:var(--vs-green); font-size:11px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.vs-hero .vs-eyebrow { color:#aed7ad; }
.vs-hero h1, .vs-page-hero h1 { margin:0; font-size:clamp(42px,4.6vw,70px); font-weight:720; line-height:.98; letter-spacing:-.055em; }
.vs-hero h1 span { color:#dfeccd; }
.vs-hero__content > p:not(.vs-eyebrow) { max-width:650px; margin:18px 0 0; color:#d7e0d8; font-size:17px; line-height:1.55; }
.vs-hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.vs-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border:1px solid transparent; border-radius:11px; font-weight:780; cursor:pointer; }
.vs-button--primary { color:#fff!important; background:var(--vs-green)!important; border-color:var(--vs-green)!important; }
.vs-button--primary:hover { background:var(--vs-green-dark)!important; }
.vs-button--ghost { color:#fff; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.22); }
.vs-hero__note { position:absolute; z-index:1; right:28px; bottom:26px; width:260px; padding:17px; background:rgba(12,21,16,.82); border:1px solid rgba(255,255,255,.16); border-radius:14px; backdrop-filter:blur(12px); }
.vs-hero__note strong, .vs-hero__note span { display:block; }
.vs-hero__note strong { color:#fff; }
.vs-hero__note span { margin-top:4px; color:#bcc8be; font-size:12px; }

.vs-info-bar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:18px 0 0; overflow:hidden; background:#fff; border:1px solid var(--vs-line); border-radius:15px; box-shadow:0 10px 30px rgba(31,48,31,.05); }
.vs-info-bar > div { min-height:88px; display:flex; align-items:center; justify-content:center; gap:13px; padding:18px 22px; border-left:1px solid var(--vs-line); }
.vs-info-bar > div:first-child { border-left:0; }
.vs-info-bar svg { flex:0 0 26px; width:26px; color:var(--vs-green); }
.vs-info-bar small, .vs-info-bar strong { display:block; }
.vs-info-bar small { color:var(--vs-muted); font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.vs-info-bar strong { margin-top:4px; color:var(--vs-ink); font-size:14px; }

.vs-products { padding-top:44px; scroll-margin-top:140px; }
.vs-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:20px; }
.vs-section-head h2, .vs-newsletter h2 { margin:0; color:var(--vs-ink); font-size:clamp(30px,3vw,44px); line-height:1.06; letter-spacing:-.04em; }
.vs-section-head > div > p:last-child { max-width:720px; margin:8px 0 0; color:var(--vs-muted); }
.vs-text-link { flex:0 0 auto; color:var(--vs-green)!important; font-weight:780; }
.vs-text-link::after { content:" →"; }
.vs-product-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.vs-product-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; background:var(--vs-paper); border:1px solid var(--vs-line); border-radius:var(--vs-radius); box-shadow:0 12px 34px rgba(36,52,35,.06); transition:transform .2s ease,box-shadow .2s ease; }
.vs-product-card:hover { transform:translateY(-3px); box-shadow:var(--vs-shadow); }
.vs-product-card__media { position:relative; aspect-ratio:4/3; overflow:hidden; background:#e9eee5; }
.vs-product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.vs-product-card:hover .vs-product-card__media img { transform:scale(1.035); }
.vs-product-card__placeholder { display:grid; place-items:center; width:100%; height:100%; color:#8ca18c; }
.vs-product-card__placeholder svg { width:50px; }
.vs-product-card__badge { position:absolute; left:12px; top:12px; display:inline-flex; align-items:center; min-height:28px; padding:0 10px; color:#285e2d; background:#edf6e9; border:1px solid rgba(47,125,50,.18); border-radius:999px; font-size:9px; font-weight:820; letter-spacing:.06em; text-transform:uppercase; }
.vs-product-card__body { flex:1; display:flex; flex-direction:column; padding:17px; }
.vs-product-card__category { margin:0; color:var(--vs-green); font-size:10px; font-weight:760; letter-spacing:.07em; text-transform:uppercase; }
.vs-product-card h3 { min-height:2.6em; margin:7px 0 0; color:var(--vs-ink); font-size:18px; font-weight:760; line-height:1.28; letter-spacing:-.025em; }
.vs-product-card__description { display:-webkit-box; min-height:3.9em; margin:9px 0 0; overflow:hidden; color:var(--vs-muted); font-size:12px; line-height:1.45; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.vs-product-card__price { margin-top:auto; padding-top:16px; }
.vs-product-card__price strong { display:block; color:var(--vs-ink); font-size:23px; line-height:1; letter-spacing:-.03em; }
.vs-product-card__price span { display:block; margin-top:5px; color:var(--vs-muted); font-size:11px; }
.vs-product-card__form { display:grid; gap:10px; margin-top:14px; }
.vs-product-card__form > label { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--vs-muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.vs-quantity { display:grid; grid-template-columns:34px 42px 34px; height:36px; overflow:hidden; background:#fff; border:1px solid var(--vs-line); border-radius:9px; }
.vs-quantity button { padding:0; color:var(--vs-green); background:#f5f7f2; border:0; cursor:pointer; font-size:18px; }
.vs-quantity input { width:42px; min-width:0; padding:0; color:var(--vs-ink); background:#fff; border:0; outline:0; text-align:center; font-weight:750; appearance:textfield; }
.vs-quantity input::-webkit-inner-spin-button { appearance:none; }
.vs-product-card__add { min-height:48px; display:flex; align-items:center; justify-content:center; gap:8px; padding:0 12px; color:#fff; background:var(--vs-green); border:0; border-radius:10px; font-weight:800; cursor:pointer; }
.vs-product-card__add:hover { background:var(--vs-green-dark); }
.vs-product-card__add svg { width:18px; }
.vs-empty { padding:52px 24px; text-align:center; background:#fff; border:1px solid var(--vs-line); border-radius:var(--vs-radius); }
.vs-empty h3 { margin:0; font-size:26px; }
.vs-empty p { color:var(--vs-muted); }

.vs-after-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:54px; }
.vs-after-products article { min-height:230px; padding:28px; background:#fff; border:1px solid var(--vs-line); border-radius:var(--vs-radius); }
.vs-after-products h3 { margin:0; font-size:24px; line-height:1.15; letter-spacing:-.03em; }
.vs-after-products article > p:not(.vs-eyebrow) { color:var(--vs-muted); }
.vs-after-products a { color:var(--vs-green); font-weight:780; }
.vs-newsletter { display:grid; grid-template-columns:1fr minmax(360px,.8fr); gap:42px; align-items:center; margin-top:18px; padding:34px; color:#fff; background:var(--vs-header); border-radius:var(--vs-radius); }
.vs-newsletter .vs-eyebrow { color:#9fd09f; }
.vs-newsletter h2 { color:#fff; }
.vs-newsletter p { color:#bac5bc; }
.vs-newsletter form { display:grid; grid-template-columns:1fr auto; gap:10px; }
.vs-newsletter input[type="email"] { min-width:0; min-height:48px; padding:0 14px; color:var(--vs-ink); background:#fff; border:0; border-radius:10px; }
.vs-newsletter label { grid-column:1/-1; display:flex; gap:8px; align-items:flex-start; color:#b7c2b8; font-size:10px; }
.vs-newsletter label input { margin-top:3px; }

/* Shared secondary pages */
.vs-page-hero { min-height:245px; display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:38px 42px; color:#fff; background:linear-gradient(115deg,#17351e,#2d6632); border-radius:20px; }
.vs-page-hero > div { max-width:820px; }
.vs-page-hero .vs-eyebrow { color:#b8dfb6; }
.vs-page-hero > div > p:last-child { max-width:720px; margin:15px 0 0; color:#d6e5d6; }
.vs-page-hero > strong { flex:0 0 auto; padding:12px 16px; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:999px; }

/* Existing cart markup, visually consolidated without changing its logic. */
.vs-store .cart-shell, .vs-store .checkout-shell { width:min(1320px,calc(100% - 48px))!important; margin:0 auto!important; padding:28px 0 70px!important; }
.vs-store .cart-shell .page-hero, .vs-store .checkout-hero { min-height:210px!important; padding:36px 40px!important; color:var(--vs-ink)!important; background:linear-gradient(90deg,rgba(255,255,255,.93),rgba(255,255,255,.72)),url("/mohu-public-assets/vitaminovy-servis/hero-main.jpg") center/cover!important; border:1px solid var(--vs-line)!important; border-radius:18px!important; box-shadow:var(--vs-shadow)!important; }
.vs-store .cart-shell .page-hero h1, .vs-store .checkout-hero h1 { color:var(--vs-ink)!important; font-size:clamp(34px,4vw,54px)!important; }
.vs-store .cart-shell .page-hero p, .vs-store .checkout-hero p { color:var(--vs-muted)!important; }
.vs-store .cart-layout, .vs-store .checkout-layout { grid-template-columns:minmax(0,1fr) 360px!important; gap:18px!important; }
.vs-store .cart-shell .panel, .vs-store .checkout-shell .panel { background:#fff!important; border:1px solid var(--vs-line)!important; border-radius:16px!important; box-shadow:var(--vs-shadow)!important; }
.vs-store .cart-shell .panel-head, .vs-store .checkout-shell .panel-inner { border-color:var(--vs-line)!important; }
.vs-store .cart-item { border-color:var(--vs-line)!important; }
.vs-store .cart-item .item-img { border-radius:12px!important; }
.vs-store .cart-item .item-title, .vs-store .cart-shell h2, .vs-store .checkout-shell h2 { color:var(--vs-ink)!important; font-family:inherit!important; font-weight:760!important; }
.vs-store .cart-item .item-sub, .vs-store .sum-row, .vs-store .cart-shell .panel-head span { color:var(--vs-muted)!important; }
.vs-store .qty-form input, .vs-store .checkout-shell input, .vs-store .checkout-shell textarea, .vs-store .checkout-shell select { color:var(--vs-ink)!important; background:#fff!important; border:1px solid var(--vs-line)!important; }
.vs-store .checkout-btn, .vs-store .checkout-shell .submit, .vs-store .btn-green { min-height:48px!important; color:#fff!important; background:var(--vs-green)!important; border-radius:10px!important; }
.vs-store .secondary-btn, .vs-store .btn-white { min-height:44px!important; color:var(--vs-green)!important; background:#fff!important; border:1px solid var(--vs-line)!important; border-radius:10px!important; }
.vs-store .trust-line { gap:16px!important; }
.vs-store .trust { background:#fff!important; border:1px solid var(--vs-line)!important; border-radius:14px!important; }

/* Existing info and delivery pages. */
.vs-store .vs-category-page, .vs-store .delivery-page { padding:32px 24px 72px!important; color:var(--vs-ink)!important; background:var(--vs-cream)!important; }
.vs-store .vs-category-shell, .vs-store .delivery-wrap { width:min(1320px,100%)!important; }
.vs-store .vs-category-hero { min-height:280px!important; color:#fff!important; background:linear-gradient(115deg,#17351e,#2d6632)!important; border-radius:20px!important; }
.vs-store .vs-product-preview, .vs-store .vs-process-card, .vs-store .vs-status-bar, .vs-store .delivery-map-shell, .vs-store .delivery-card, .vs-store .outside-zone { color:var(--vs-ink)!important; background:#fff!important; border-color:var(--vs-line)!important; border-radius:16px!important; box-shadow:var(--vs-shadow)!important; }
.vs-store .delivery-header h1 { color:var(--vs-ink)!important; font-family:inherit!important; font-size:clamp(38px,5vw,60px)!important; }
.vs-store .delivery-header p, .vs-store .delivery-product { color:var(--vs-muted)!important; }

/* Standalone live checkout uses the same palette and spacing. */
.vs-checkout-body.vs-store { background:var(--vs-cream)!important; }
.vs-checkout-body .top-strip { display:none!important; }
.vs-checkout-body .site-header { color:#fff!important; background:var(--vs-header)!important; border-color:rgba(255,255,255,.1)!important; }
.vs-checkout-body .site-header .header-inner { max-width:1540px!important; min-height:78px!important; padding:12px 24px!important; }
.vs-checkout-body .site-header .brand-icon { background:var(--vs-green)!important; box-shadow:none!important; }
.vs-checkout-body .site-header .search { min-height:46px!important; border:0!important; border-radius:12px!important; }
.vs-checkout-body .site-header .search button { background:var(--vs-green)!important; }
.vs-checkout-body .site-header .cart-pill { min-height:48px!important; }
.vs-checkout-body .nav { background:var(--vs-header-soft)!important; border-color:rgba(255,255,255,.08)!important; }
.vs-checkout-body .nav a.active { color:#fff!important; background:rgba(255,255,255,.08)!important; }
.vs-checkout-body .page { max-width:1320px!important; padding:28px 24px 72px!important; }
.vs-checkout-body .hero { min-height:210px!important; padding:34px 38px!important; color:var(--vs-ink)!important; background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.72)),url("/mohu-public-assets/vitaminovy-servis/hero-main.jpg") center/cover!important; border:1px solid var(--vs-line)!important; border-radius:18px!important; box-shadow:var(--vs-shadow)!important; }
.vs-checkout-body .hero h1 { color:var(--vs-ink)!important; font-family:inherit!important; font-size:clamp(34px,4vw,54px)!important; }
.vs-checkout-body .hero p { color:var(--vs-muted)!important; }
.vs-checkout-body .checkout-grid { gap:18px!important; }
.vs-checkout-body .card, .vs-checkout-body .summary, .vs-checkout-body .vs-account-gate, .vs-checkout-body .vs-one-delivery-box { color:var(--vs-ink)!important; background:#fff!important; border:1px solid var(--vs-line)!important; border-radius:16px!important; box-shadow:var(--vs-shadow)!important; }
.vs-checkout-body .card-head, .vs-checkout-body .form-body { border-color:var(--vs-line)!important; }
.vs-checkout-body .field input, .vs-checkout-body .field textarea, .vs-checkout-body .field select { min-height:48px!important; color:var(--vs-ink)!important; background:#fff!important; border:1px solid var(--vs-line)!important; border-radius:10px!important; }
.vs-checkout-body .choice { color:var(--vs-ink)!important; background:#fff!important; border-color:var(--vs-line)!important; }
.vs-checkout-body .choice:has(input:checked) { background:var(--vs-green-soft)!important; border-color:var(--vs-green)!important; }
.vs-checkout-body .submit { min-height:52px!important; color:#fff!important; background:var(--vs-green)!important; border-radius:11px!important; }

/* Footer */
.vs-footer { color:#d5ddd6; background:var(--vs-header); border-top:1px solid rgba(255,255,255,.08); }
.vs-footer__inner { width:min(1540px,calc(100% - 48px)); margin:auto; display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:44px; padding:48px 0; }
.vs-footer p { max-width:390px; color:#98a69b; font-size:13px; }
.vs-footer__inner > div:not(:first-child) { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.vs-footer__inner > div > strong { margin-bottom:5px; color:#fff; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.vs-footer__inner a, .vs-footer__inner span { color:#aeb9b0; font-size:13px; }
.vs-footer__inner a:hover { color:#fff; }

@media (max-width: 1280px) {
  .vs-header__inner { grid-template-columns:250px minmax(240px,1fr) auto; }
  .vs-phone span { display:none; }
  .vs-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .vs-hero__content { padding:44px; }
}

@media (max-width: 980px) {
  .vs-header__inner { width:min(100% - 32px,900px); grid-template-columns:1fr auto; gap:14px; padding:10px 0; }
  .vs-search { grid-column:1/-1; grid-row:2; }
  .vs-nav-toggle { display:block; }
  .vs-nav { display:none; }
  .vs-nav.is-open { display:block; }
  .vs-nav__inner { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px 16px 16px; }
  .vs-nav a { justify-content:center; min-height:44px; }
  .vs-storefront { width:min(100% - 32px,920px); }
  .vs-hero { min-height:330px; }
  .vs-hero__note { display:none; }
  .vs-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .vs-after-products { grid-template-columns:1fr; }
  .vs-after-products article { min-height:0; }
  .vs-newsletter { grid-template-columns:1fr; }
  .vs-store .cart-layout, .vs-store .checkout-layout, .vs-checkout-body .checkout-grid { grid-template-columns:1fr!important; }
  .vs-footer__inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .vs-header { position:relative; }
  .vs-header__inner { grid-template-columns:1fr; }
  .vs-brand { justify-self:center; }
  .vs-header__actions { width:100%; display:grid; grid-template-columns:1fr 1fr 46px; }
  .vs-phone, .vs-cart { justify-content:center; min-width:0; }
  .vs-phone span, .vs-cart span { display:block; min-width:0; }
  .vs-phone strong, .vs-cart strong { overflow:hidden; text-overflow:ellipsis; }
  .vs-search { grid-row:auto; }
  .vs-storefront { width:calc(100% - 24px); padding-top:12px; }
  .vs-hero { min-height:290px; border-radius:16px; }
  .vs-hero__content { padding:28px 24px; }
  .vs-hero h1 { font-size:clamp(38px,11vw,54px); }
  .vs-hero__content > p:not(.vs-eyebrow) { font-size:14px; }
  .vs-info-bar { grid-template-columns:1fr; }
  .vs-info-bar > div { min-height:72px; justify-content:flex-start; border-left:0; border-top:1px solid var(--vs-line); }
  .vs-info-bar > div:first-child { border-top:0; }
  .vs-products { padding-top:34px; }
  .vs-section-head { display:block; }
  .vs-text-link { display:inline-block; margin-top:10px; }
  .vs-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vs-page-hero { display:block; padding:28px 24px; }
  .vs-page-hero > strong { display:inline-flex; margin-top:18px; }
  .vs-store .cart-shell, .vs-store .checkout-shell { width:calc(100% - 24px)!important; }
  .vs-store .cart-item { grid-template-columns:72px minmax(0,1fr)!important; gap:12px!important; }
  .vs-store .cart-item .qty-form, .vs-store .cart-item .price { grid-column:2!important; }
  .vs-store .delivery-cards { grid-template-columns:1fr!important; }
  .vs-checkout-body .site-header .header-inner { grid-template-columns:1fr!important; }
  .vs-checkout-body .site-header .search { width:100%!important; }
  .vs-footer__inner { grid-template-columns:1fr; gap:26px; }
}

@media (max-width: 520px) {
  .vs-header__inner { width:calc(100% - 20px); }
  .vs-brand { justify-self:start; }
  .vs-brand__mark { flex-basis:38px; width:38px; height:38px; }
  .vs-brand strong { font-size:16px; }
  .vs-header__actions { grid-template-columns:1fr 1fr; }
  .vs-nav-toggle { grid-column:1/-1; width:100%; }
  .vs-phone, .vs-cart { padding:7px 8px; }
  .vs-phone svg, .vs-cart svg { width:18px; flex-basis:18px; }
  .vs-phone strong, .vs-cart strong { font-size:10px; }
  .vs-search { grid-template-columns:20px 1fr; padding:0 12px; }
  .vs-search button { grid-column:1/-1; min-height:44px; margin:0 -12px; border-radius:0 0 11px 11px; }
  .vs-nav__inner { grid-template-columns:1fr; }
  .vs-hero { min-height:270px; background-position:58% center; }
  .vs-hero__content { padding:24px 20px; }
  .vs-hero__actions { display:grid; }
  .vs-button { width:100%; min-height:48px; }
  .vs-product-grid { grid-template-columns:1fr; }
  .vs-product-card h3 { min-height:0; }
  .vs-product-card__description { min-height:0; }
  .vs-newsletter { padding:24px 18px; }
  .vs-newsletter form { grid-template-columns:1fr; }
  .vs-newsletter label { grid-column:1; }
  .vs-footer__inner { width:calc(100% - 32px); }
}
