:root {
  --shop-primary: #fe6935;
  --shop-primary-dark: #e55a28;
  --shop-primary-soft: #fff4ef;
  --shop-secondary: #2563eb;
  --shop-secondary-dark: #1d4ed8;
  --shop-success: #10b981;
  --shop-success-soft: #ecfdf5;
  --shop-warning: #f59e0b;
  --shop-bg: #f4f6f9;
  --shop-surface: #ffffff;
  --shop-text: #1f2937;
  --shop-muted: #6b7280;
  --shop-border: #e5e7eb;
  --shop-radius: 10px;
  --shop-radius-lg: 14px;
  --shop-shadow: 0 2px 8px rgba(15,23,42,.06);
  --shop-shadow-md: 0 8px 24px rgba(15,23,42,.08);
  --shop-shadow-lg: 0 16px 40px rgba(15,23,42,.12);
  --shop-font: "primary-font", Tahoma, sans-serif;
  --shop-space-1: 4px;
  --shop-space-2: 8px;
  --shop-space-3: 12px;
  --shop-space-4: 16px;
  --shop-space-5: 24px;
  --shop-space-6: 32px;
  --shop-ease: cubic-bezier(.4,0,.2,1);
  --shop-header-h: 140px;
  --sn-dark: #212529;
  --sn-topbar: #2d3748;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:14px}
body.shop-body{margin:0;background:var(--shop-bg);color:var(--shop-text);font-family:var(--shop-font);line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0)}
body.shop-body.has-mobile-nav{padding-bottom:env(safe-area-inset-bottom,0)}
.shop-main.sn-main{min-height:auto;padding:20px 0 40px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.shop-container{max-width:1336px;margin:0 auto;padding:0 12px}
.shop-header{background:var(--shop-surface);box-shadow:var(--shop-shadow);position:sticky;top:0;z-index:100}
.shop-header__top{padding:12px 0;border-bottom:1px solid var(--shop-border)}
.shop-header__inner{display:flex;align-items:center;gap:12px}
.shop-logo{flex-shrink:0;display:flex;align-items:center;min-width:120px}
.shop-logo img{height:44px;width:auto}
.shop-logo__text{font-size:1.25rem;font-weight:800;color:var(--shop-primary)}
.shop-search{flex:1;display:flex;max-width:640px;margin:0 auto;background:#f0f0f1;border-radius:var(--shop-radius);overflow:hidden;border:1px solid transparent;transition:.2s}
.shop-search:focus-within{border-color:var(--shop-secondary);background:#fff}
.shop-search input{flex:1;border:0;background:transparent;padding:11px 14px;font:inherit;outline:0}
.shop-search button{border:0;background:transparent;padding:0 14px;color:var(--shop-secondary);font-size:1.25rem;cursor:pointer}
.shop-header__actions{display:flex;gap:8px;flex-shrink:0}
.shop-action{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:var(--shop-radius);font-size:.72rem;color:var(--shop-muted);position:relative;transition:.15s}
.shop-action i{font-size:1.35rem;color:var(--shop-text)}
.shop-action:hover{background:#f0f0f1;color:var(--shop-primary)}
.shop-badge{position:absolute;top:0;left:4px;background:var(--shop-primary);color:#fff;font-size:.65rem;min-width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.shop-nav{background:var(--shop-surface)}
.shop-nav__toggle{display:none;border:0;background:transparent;font-size:1.5rem;padding:8px;cursor:pointer}
.shop-nav__list{display:flex;list-style:none;margin:0;padding:8px 0;gap:4px;overflow-x:auto;scrollbar-width:none}
.shop-nav__list::-webkit-scrollbar{display:none}
.shop-nav__list a{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--shop-radius);white-space:nowrap;font-size:.85rem;font-weight:600;color:var(--shop-text);transition:.15s}
.shop-nav__list a:hover{background:#fef2f2;color:var(--shop-primary)}
.shop-main{min-height:60vh;padding:16px 0 32px}
.shop-hero{margin-bottom:16px}
.shop-hero__slide{position:relative;border-radius:var(--shop-radius);overflow:hidden;background:#fff;display:block;line-height:0}
.shop-hero__slide img{width:100%;height:auto;display:block}
.shop-hero__caption{position:absolute;inset:auto 0 0 0;padding:20px 24px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff}
.shop-hero__caption h2{margin:0 0 4px;font-size:1.2rem}
.shop-section{margin-bottom:24px}
.shop-section__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.shop-section__title{font-size:1rem;font-weight:800;margin:0;display:flex;align-items:center;gap:8px}
.shop-section__title::before{content:'';width:4px;height:20px;background:var(--shop-primary);border-radius:2px}
.shop-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}
.shop-cat-card{background:var(--shop-surface);border-radius:var(--shop-radius);padding:12px 8px;text-align:center;box-shadow:var(--shop-shadow);transition:.15s;border:1px solid var(--shop-border)}
.shop-cat-card:hover{transform:translateY(-2px);border-color:var(--shop-secondary)}
.shop-cat-card img{width:56px;height:56px;object-fit:contain;margin:0 auto 8px;border-radius:50%;background:#f5f5f5}
.shop-cat-card span{display:block;font-size:.78rem;font-weight:600;line-height:1.3}
.shop-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.shop-product-card{background:var(--shop-surface);border-radius:var(--shop-radius);overflow:hidden;box-shadow:var(--shop-shadow);display:flex;flex-direction:column;border:1px solid var(--shop-border);transition:.15s}
.shop-product-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}
.shop-product-card__img{position:relative;aspect-ratio:1;background:#fafafa;padding:12px}
.shop-product-card__img img{width:100%;height:100%;object-fit:contain}
.shop-product-card__discount{position:absolute;top:8px;right:8px;background:var(--shop-primary);color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px}
.shop-product-card__body{padding:10px 12px 12px;flex:1;display:flex;flex-direction:column}
.shop-product-card__name{font-size:.82rem;font-weight:600;line-height:1.45;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.shop-product-card__price{font-size:.95rem;font-weight:800;color:var(--shop-text)}
.shop-product-card__old{font-size:.75rem;color:var(--shop-muted);text-decoration:line-through;margin-right:6px}
.shop-product-card__btn{margin-top:10px;width:100%;border:1px solid var(--shop-primary);background:#fff;color:var(--shop-primary);border-radius:var(--shop-radius);padding:8px;font:inherit;font-weight:700;cursor:pointer;transition:.15s}
.shop-product-card__btn:hover{background:var(--shop-primary);color:#fff}
.shop-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--shop-radius);padding:11px 20px;font:inherit;font-weight:700;cursor:pointer;transition:.15s}
.shop-btn--primary{background:var(--shop-primary);color:#fff}
.shop-btn--primary:hover{background:var(--shop-primary-dark)}
.shop-btn--secondary{background:var(--shop-secondary);color:#fff}
.shop-btn--outline{background:#fff;border:1px solid var(--shop-border);color:var(--shop-text)}
.shop-page-head{margin-bottom:16px}
.shop-page-head h1{font-size:1.25rem;margin:0 0 4px}
.shop-breadcrumb{font-size:.78rem;color:var(--shop-muted)}
.shop-breadcrumb a{color:var(--shop-secondary)}
.shop-detail{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:var(--shop-surface);padding:20px;border-radius:var(--shop-radius);box-shadow:var(--shop-shadow)}
.shop-detail__gallery{display:flex;flex-direction:column;gap:10px}
.shop-detail__main-img{background:#fafafa;border-radius:var(--shop-radius);padding:20px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.shop-detail__main-img img{max-height:360px;object-fit:contain}
.shop-detail__thumbs{display:flex;gap:8px;overflow-x:auto}
.shop-detail__thumbs img{width:64px;height:64px;object-fit:contain;border:2px solid var(--shop-border);border-radius:6px;padding:4px;cursor:pointer;background:#fff}
.shop-detail__thumbs img.active{border-color:var(--shop-primary)}
.shop-detail__title{font-size:1.15rem;font-weight:800;margin:0 0 8px;line-height:1.5}
.shop-detail__meta{font-size:.82rem;color:var(--shop-muted);margin-bottom:12px}
.shop-detail__price{font-size:1.35rem;font-weight:800;margin-bottom:16px}
.shop-detail__attrs{margin:16px 0;padding:12px;background:#f9f9fb;border-radius:var(--shop-radius)}
.shop-detail__attrs dt{font-weight:700;font-size:.8rem;color:var(--shop-muted)}
.shop-detail__attrs dd{margin:0 0 8px;font-size:.85rem}
.shop-qty{display:inline-flex;align-items:center;border:1px solid var(--shop-border);border-radius:var(--shop-radius);overflow:hidden}
.shop-qty button{width:36px;height:36px;border:0;background:#f5f5f5;font-size:1.1rem;cursor:pointer}
.shop-qty input{width:48px;border:0;text-align:center;font:inherit;font-weight:700}
.shop-cart-table{width:100%;border-collapse:collapse;background:var(--shop-surface);border-radius:var(--shop-radius);overflow:hidden;box-shadow:var(--shop-shadow)}
.shop-cart-table th,.shop-cart-table td{padding:12px;border-bottom:1px solid var(--shop-border);text-align:right;font-size:.85rem}
.shop-cart-table img{width:64px;height:64px;object-fit:contain;background:#fafafa;border-radius:6px}
.shop-cart-summary{background:var(--shop-surface);padding:16px;border-radius:var(--shop-radius);box-shadow:var(--shop-shadow);position:sticky;top:120px}
.shop-cart-summary__row{display:flex;justify-content:space-between;padding:8px 0;font-size:.88rem}
.shop-cart-summary__row--total{font-weight:800;font-size:1rem;border-top:1px solid var(--shop-border);margin-top:8px;padding-top:12px;color:var(--shop-primary)}
.shop-form .shop-field{margin-bottom:14px}
.shop-form label{display:block;font-size:.82rem;font-weight:700;margin-bottom:4px}
.shop-form input,.shop-form textarea,.shop-form select{width:100%;border:1px solid var(--shop-border);border-radius:var(--shop-radius);padding:10px 12px;font:inherit;background:#fff}
.shop-order-card{background:var(--shop-surface);border-radius:var(--shop-radius);padding:16px;margin-bottom:12px;box-shadow:var(--shop-shadow);border-right:4px solid var(--shop-secondary)}
.shop-order-card__status{display:inline-block;background:#e8f5fe;color:#008eb2;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.shop-timeline{list-style:none;padding:0;margin:16px 0}
.shop-timeline li{padding:8px 0 8px 20px;border-right:2px solid var(--shop-border);position:relative;font-size:.82rem}
.shop-timeline li::before{content:'';width:10px;height:10px;background:var(--shop-secondary);border-radius:50%;position:absolute;right:-6px;top:12px}
.shop-footer{background:#eceff1;margin-top:32px;padding:32px 0 0}
.shop-footer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:24px}
.shop-footer h4{margin:0 0 12px;font-size:.95rem}
.shop-footer ul{list-style:none;padding:0;margin:0}
.shop-footer li{margin-bottom:6px;font-size:.82rem;color:var(--shop-muted)}
.shop-footer a:hover{color:var(--shop-primary)}
.shop-social{display:flex;gap:10px}
.shop-social a{width:36px;height:36px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--shop-primary);box-shadow:var(--shop-shadow)}
.shop-footer__bottom{border-top:1px solid var(--shop-border);padding:14px 0;text-align:center;font-size:.78rem;color:var(--shop-muted)}
.shop-install{position:fixed;bottom:16px;left:16px;z-index:200;background:var(--shop-primary);color:#fff;border:0;border-radius:999px;padding:12px 18px;font:inherit;font-weight:700;box-shadow:0 4px 16px rgba(239,57,78,.4);cursor:pointer;display:flex;align-items:center;gap:8px}
.shop-empty{text-align:center;padding:48px 16px;color:var(--shop-muted)}
.shop-empty i{font-size:3rem;display:block;margin-bottom:12px;color:var(--shop-border)}
.shop-load-more{text-align:center;margin-top:16px}
.shop-split{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
@media(max-width:992px){
  .shop-detail{grid-template-columns:1fr}
  .shop-split{grid-template-columns:1fr}
  .shop-footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .shop-header__inner{flex-wrap:wrap}
  .shop-search-wrap{order:3;flex:1 1 100%;max-width:none;margin-top:8px}
  .shop-action__label{display:none}
  .shop-nav__toggle{display:block}
  .shop-nav__list{display:none;flex-direction:column;padding:0 12px 12px}
  .shop-nav__list.is-open{display:flex}
  .shop-product-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .shop-categories{grid-template-columns:repeat(4,1fr);gap:8px}
  .shop-footer__grid{grid-template-columns:1fr}
}

/* ── Pro theme v3 ── */
.shop-promo{background:linear-gradient(90deg,#ef394e,#d32f42);color:#fff;text-align:center;padding:8px 12px;font-size:.82rem;font-weight:600}
.shop-search-wrap{flex:1;max-width:640px;margin:0 auto;position:relative}
.shop-search-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--shop-border);border-radius:14px;box-shadow:0 12px 36px rgba(15,23,42,.16);z-index:500;max-height:420px;overflow:auto}
.shop-search-suggest__item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #f0f0f1;transition:.12s;text-decoration:none!important;color:inherit}
.shop-search-suggest__item:last-of-type{border-bottom:0}
.shop-search-suggest__item:hover{background:#fef2f2}
.shop-search-suggest__item img{width:52px;height:52px;object-fit:contain;background:#fafafa;border-radius:8px;flex-shrink:0}
.shop-search-suggest__item span{flex:1;font-size:.88rem;font-weight:700;line-height:1.45;min-width:0}
.shop-search-suggest__item strong{font-size:.8rem;color:var(--shop-primary);white-space:nowrap;flex-shrink:0;font-weight:800}
.shop-search-suggest__item strong small{font-size:.68rem;font-weight:700;opacity:.85}
.shop-search-suggest__status{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 14px;font-size:.84rem;font-weight:700;color:var(--shop-muted)}
.shop-search-suggest__status--empty{color:#6b7280}
.shop-search-suggest__status i{font-size:1.1rem;color:var(--shop-primary)}
.shop-search-suggest__all{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 14px;font-size:.82rem;font-weight:800;color:var(--shop-primary);background:linear-gradient(180deg,#fff7ed,#fff);border-top:1px solid #fed7aa;text-decoration:none!important;position:sticky;bottom:0}
.shop-search-suggest__all:hover{background:#ffedd5}
.shop-card{background:var(--shop-surface);border-radius:12px;box-shadow:var(--shop-shadow);border:1px solid var(--shop-border)}
.shop-card--pad{padding:18px}
.shop-catalog-layout{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start}
.shop-filters{position:sticky;top:100px;max-height:calc(100vh - 120px);overflow:hidden;display:flex;flex-direction:column;padding:0;border-radius:var(--shop-radius-lg);border:1px solid var(--shop-border);box-shadow:var(--shop-shadow-md);background:var(--shop-surface)}
.shop-filters__head{display:flex;align-items:center;gap:8px;padding:16px 16px 12px;border-bottom:1px solid var(--shop-border);background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);flex-shrink:0}
.shop-filters__title{font-size:.92rem;margin:0;display:flex;align-items:center;gap:8px;color:var(--shop-text);font-weight:800;flex:1}
.shop-filters__title i{font-size:1.15rem;color:var(--shop-primary);background:var(--shop-primary-soft);width:32px;height:32px;border-radius:10px;position:relative;box-sizing:border-box;flex-shrink:0}
.shop-filters__badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--shop-primary);color:#fff;font-size:.72rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.shop-filters__close{display:none;width:36px;height:36px;border:0;background:#f3f4f6;border-radius:10px;color:var(--shop-muted);font-size:1.35rem;cursor:pointer;align-items:center;justify-content:center;transition:.15s}
.shop-filters__close:hover{background:#fee2e2;color:var(--shop-primary)}
.shop-filter-form{flex:1;overflow:auto;padding:12px 14px 14px;scrollbar-width:thin;scrollbar-color:var(--shop-border) transparent}
.shop-filter-form::-webkit-scrollbar{width:5px}
.shop-filter-form::-webkit-scrollbar-thumb{background:var(--shop-border);border-radius:999px}
.shop-filter-block{border:1px solid var(--shop-border);border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.shop-filter-block:hover{border-color:color-mix(in srgb,var(--shop-primary) 25%,var(--shop-border))}
.shop-filter-block--flat{border:0;background:linear-gradient(135deg,var(--shop-primary-soft) 0%,#fff 100%);padding:12px 14px;margin-bottom:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--shop-primary) 18%,var(--shop-border))}
.shop-filter-block__toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 14px;border:0;background:transparent;font:inherit;font-size:.82rem;font-weight:700;color:var(--shop-text);cursor:pointer;text-align:right;transition:background .15s}
.shop-filter-block__toggle span{display:flex;align-items:center;gap:8px;flex:1}
.shop-filter-block__toggle span i{font-size:1rem;color:var(--shop-secondary);opacity:.85}
.shop-filter-block__chev{font-size:1.1rem;color:var(--shop-muted);transition:transform .2s var(--shop-ease)}
.shop-filter-block.is-open .shop-filter-block__chev{transform:rotate(180deg)}
.shop-filter-block__count{font-style:normal;font-size:.68rem;font-weight:800;background:var(--shop-primary);color:#fff;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;margin-left:4px}
.shop-filter-block__body{padding:0 14px 14px;display:none}
.shop-filter-block.is-open .shop-filter-block__body{display:block}
.shop-filter-block--flat .shop-filter-block__body{display:block;padding:0}
.shop-filter-pills{display:flex;flex-wrap:wrap;gap:8px}
.shop-filter-pill{position:relative;cursor:pointer}
.shop-filter-pill input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.shop-filter-pill span{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;border:1.5px solid var(--shop-border);background:#fafafa;font-size:.78rem;font-weight:600;color:var(--shop-muted);transition:.15s var(--shop-ease);white-space:nowrap}
.shop-filter-pill input:checked+span{background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));border-color:var(--shop-primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--shop-primary) 35%,transparent)}
.shop-filter-pill:hover span{border-color:color-mix(in srgb,var(--shop-primary) 40%,var(--shop-border));color:var(--shop-text)}
.shop-filter-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;margin:0;width:100%}
.shop-filter-switch__label{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--shop-text)}
.shop-filter-switch__label i{color:var(--shop-success);font-size:1.1rem}
.shop-filter-switch input{position:absolute;opacity:0;width:0;height:0}
.shop-filter-switch__track{position:relative;width:48px;height:28px;background:#d1d5db;border-radius:999px;flex-shrink:0;transition:background .2s}
.shop-filter-switch__track::after{content:'';position:absolute;top:3px;right:3px;width:22px;height:22px;background:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:transform .2s var(--shop-ease)}
.shop-filter-switch input:checked+.shop-filter-switch__track{background:linear-gradient(135deg,var(--shop-success),#059669)}
.shop-filter-switch input:checked+.shop-filter-switch__track::after{transform:translateX(-20px)}
.shop-filter-price{display:flex;align-items:flex-end;gap:8px}
.shop-filter-price__field{flex:1;min-width:0}
.shop-filter-price__field label{display:block;font-size:.72rem;font-weight:700;color:var(--shop-muted);margin-bottom:4px}
.shop-filter-price__field input{width:100%;border:1.5px solid var(--shop-border);border-radius:10px;padding:10px 12px;font:inherit;font-weight:700;background:#fafafa;transition:.15s}
.shop-filter-price__field input:focus{border-color:var(--shop-secondary);background:#fff;outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--shop-secondary) 15%,transparent)}
.shop-filter-price__sep{width:12px;height:2px;background:var(--shop-border);border-radius:2px;margin-bottom:18px;flex-shrink:0}
.shop-filter-hint{margin:8px 0 0;font-size:.7rem;color:var(--shop-muted)}
.shop-filter-select-wrap{position:relative}
.shop-filter-select-wrap select{width:100%;appearance:none;-webkit-appearance:none;border:1.5px solid var(--shop-border);border-radius:10px;padding:11px 36px 11px 12px;font:inherit;font-weight:600;background:#fafafa;color:var(--shop-text);cursor:pointer;transition:.15s}
.shop-filter-select-wrap select:focus{border-color:var(--shop-secondary);background:#fff;outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--shop-secondary) 15%,transparent)}
.shop-filter-select-wrap>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:1.1rem;color:var(--shop-muted);pointer-events:none}
.shop-filter-chips{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow:auto;padding:2px;scrollbar-width:thin}
.shop-filter-chip{position:relative;cursor:pointer;display:inline-flex}
.shop-filter-chip input{position:absolute;opacity:0;width:0;height:0}
.shop-filter-chip__text{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;border:1.5px solid var(--shop-border);background:#fafafa;font-size:.76rem;font-weight:600;color:var(--shop-text);transition:.15s var(--shop-ease)}
.shop-filter-chip__count{font-size:.68rem;color:var(--shop-muted);background:#eee;padding:1px 6px;border-radius:999px;margin-right:2px}
.shop-filter-chip input:checked~.shop-filter-chip__text{background:color-mix(in srgb,var(--shop-secondary) 12%,#fff);border-color:var(--shop-secondary);color:var(--shop-secondary-dark);box-shadow:0 2px 8px color-mix(in srgb,var(--shop-secondary) 18%,transparent)}
.shop-filter-chip input:checked~.shop-filter-chip__count{background:var(--shop-secondary);color:#fff}
.shop-filter-chip:hover .shop-filter-chip__text{border-color:color-mix(in srgb,var(--shop-secondary) 45%,var(--shop-border))}
.shop-filters__foot{position:sticky;bottom:0;padding:12px 0 4px;margin-top:4px;background:linear-gradient(180deg,transparent 0%,#fff 24%);display:flex;flex-direction:column;gap:8px}
.shop-filters__apply{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;font-size:.88rem;border-radius:12px;box-shadow:0 4px 14px color-mix(in srgb,var(--shop-primary) 30%,transparent)}
.shop-filters__clear{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;font-size:.78rem;font-weight:700;color:var(--shop-muted);border-radius:10px;transition:.15s}
.shop-filters__clear:hover{background:#f3f4f6;color:var(--shop-primary)}
.shop-filter-mobile-bar{display:none;margin-bottom:12px}
.shop-filter-mobile-bar button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1.5px solid var(--shop-border);border-radius:12px;background:#fff;font:inherit;font-size:.85rem;font-weight:700;color:var(--shop-text);cursor:pointer;box-shadow:var(--shop-shadow);transition:.15s}
.shop-filter-mobile-bar button i{font-size:1.2rem;color:var(--shop-primary)}
.shop-filter-mobile-bar button:hover{border-color:var(--shop-primary);background:var(--shop-primary-soft)}
.shop-filter-mobile-bar__badge{background:var(--shop-primary);color:#fff;font-size:.68rem;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;margin-right:4px}
.shop-filter-backdrop[hidden]{display:none!important;pointer-events:none}
.shop-filter-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:400;backdrop-filter:blur(3px);opacity:0;transition:opacity .25s;display:none}
.shop-sort-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;background:#fff;border:1px solid var(--shop-border);border-radius:12px;box-shadow:var(--shop-shadow);flex-wrap:wrap}
.shop-sort-bar__label{font-size:.82rem;font-weight:700;color:var(--shop-muted);display:flex;align-items:center;gap:6px;flex-shrink:0}
.shop-sort-bar__label i{font-size:1.05rem;color:var(--shop-primary)}
.shop-sort-bar__pills{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.shop-sort-bar__pill{display:inline-flex;padding:8px 16px;border-radius:999px;border:1.5px solid var(--shop-border);background:#fafafa;font-size:.78rem;font-weight:600;color:var(--shop-muted);transition:.15s var(--shop-ease)}
.shop-sort-bar__pill:hover{border-color:color-mix(in srgb,var(--shop-primary) 40%,var(--shop-border));color:var(--shop-text);background:#fff}
.shop-sort-bar__pill.is-active{background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));border-color:var(--shop-primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--shop-primary) 30%,transparent);pointer-events:none}
.shop-active-filters{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:12px 14px;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid var(--shop-border);border-radius:12px;box-shadow:var(--shop-shadow)}
.shop-active-filters__label{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:var(--shop-muted);flex-shrink:0;padding-top:6px}
.shop-active-filters__label i{font-size:1rem;color:var(--shop-primary)}
.shop-active-filters__list{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.shop-active-filter-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 8px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--shop-primary) 22%,var(--shop-border));background:#fff;color:var(--shop-text);font-size:.76rem;font-weight:600;text-decoration:none!important;transition:.15s var(--shop-ease);line-height:1.3}
.shop-active-filter-tag:hover{border-color:var(--shop-primary);background:var(--shop-primary-soft);color:var(--shop-primary)}
.shop-active-filter-tag__label{color:var(--shop-muted);font-weight:700}
.shop-active-filter-tag__text{font-weight:800;color:var(--shop-text)}
.shop-active-filter-tag i{font-size:1.05rem;color:var(--shop-muted);margin-right:2px;transition:.15s}
.shop-active-filter-tag:hover i{color:var(--shop-primary)}
.shop-active-filters__clear{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;color:var(--shop-muted);text-decoration:none!important;padding:6px 10px;border-radius:999px;flex-shrink:0;transition:.15s}
.shop-product-grid.is-filtering{opacity:.55;pointer-events:none;transition:opacity .15s}
.shop-product-card__stock.is-preorder{background:#fff7ed;color:#ea580c}
.shop-stock-badge.is-preorder{background:#fff7ed;color:#ea580c}
.shop-filter-backdrop.is-show{opacity:1}
.shop-result-meta{font-size:.82rem;color:var(--shop-muted);margin:0 0 12px;display:flex;align-items:center;gap:6px}
.shop-result-meta::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--shop-success)}
.shop-filter-attr{margin:12px 0;padding-top:12px;border-top:1px solid var(--shop-border)}
.shop-filter-attr__head{font-size:.82rem;font-weight:700;margin-bottom:8px;color:var(--shop-text)}
.shop-filter-attr__values{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow:auto;padding-left:2px}
.shop-check{display:flex;align-items:center;gap:8px;font-size:.82rem;cursor:pointer;color:var(--shop-text)}
.shop-check input{accent-color:var(--shop-primary)}
.shop-check--sm{font-size:.78rem;align-items:flex-start}
.shop-check--sm small{color:var(--shop-muted);margin-right:auto;white-space:nowrap}
.shop-field--check{margin-bottom:4px}
.shop-filter-form .shop-field{margin-bottom:0}
.shop-filter-form .shop-field label{font-size:.72rem;color:var(--shop-muted);margin-bottom:6px}
.shop-filter-form .shop-field input,.shop-filter-form .shop-field select{border-radius:10px;border:1.5px solid var(--shop-border);background:#fafafa}
.shop-product-tabs{margin-top:8px}
.shop-tabs{display:flex;gap:8px;border-bottom:2px solid var(--shop-border);margin-bottom:16px}
.shop-tabs__btn{background:none;border:none;padding:10px 16px;font:inherit;font-weight:700;color:var(--shop-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}
.shop-tabs__btn.is-active{color:var(--shop-primary);border-bottom-color:var(--shop-primary)}
.shop-tabs__panel{display:none}
.shop-tabs__panel.is-active{display:block}
.shop-detail__desc--short{max-height:4.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.shop-product-card__foot{display:flex;align-items:center;gap:6px;padding:0 10px 10px}
.shop-product-card__foot .shop-product-card__btn{flex:1;margin:0;min-height:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;white-space:nowrap;border-radius:12px;font-size:.78rem}
.shop-product-card__view,.shop-product-card__wish,.shop-product-card__compare{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;padding:0;flex-shrink:0;border:1px solid var(--shop-border);background:#fff;border-radius:12px;font-size:1.05rem;line-height:1;cursor:pointer;transition:.15s var(--shop-ease);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.shop-product-card__view{color:var(--shop-secondary);text-decoration:none!important}
.shop-product-card__wish{color:var(--shop-primary)}
.shop-product-card__compare{color:#4338ca}
.shop-product-card__compare:hover{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}
.shop-product-card__compare.is-active{background:linear-gradient(135deg,#4338ca,#6366f1);border-color:#4338ca;color:#fff;box-shadow:0 4px 12px rgba(99,102,241,.35)}
.shop-product-card__photos{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.55);color:#fff;font-size:.68rem;padding:2px 8px;border-radius:999px;display:flex;align-items:center;gap:4px}
.shop-detail--pro{grid-template-columns:1fr 1fr;gap:28px;padding:24px;border-radius:12px}
.shop-detail__col-info{display:flex;flex-direction:column;gap:10px}
.shop-detail__price-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fef2f2;padding:14px;border-radius:10px}
.shop-detail__old{color:var(--shop-muted);font-size:.9rem}
.shop-detail__off{background:var(--shop-primary);color:#fff;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.shop-stock-badge{font-size:.85rem;font-weight:700;padding:8px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:6px}
.shop-stock-badge.is-in{background:#e8f5e9;color:#2e7d32}
.shop-stock-badge.is-out{background:#ffebee;color:#c62828}
.shop-detail__desc{font-size:.88rem;color:var(--shop-muted);line-height:1.8}
.shop-detail__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.shop-detail__actions--order{margin-top:12px}

/* ── Product page (3-column stage) ── */
.shop-product-page{padding-bottom:24px}
.shop-product-breadcrumb{margin-bottom:10px;font-size:.78rem}
.shop-product-stage{display:grid;grid-template-columns:minmax(180px,210px) minmax(0,1fr) minmax(250px,290px);gap:14px;align-items:start;margin-bottom:20px}
.shop-product-stage__media{position:sticky;top:calc(var(--shop-header-h, 120px) + 10px)}
.shop-gallery-wrap--compact{background:var(--shop-surface);border-radius:14px;padding:10px;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow)}
.shop-gallery-wrap--compact .shop-gallery__main{aspect-ratio:1;padding:8px;min-height:0;max-height:200px;border-radius:10px}
.shop-gallery-wrap--compact .shop-gallery__main img{max-height:180px;max-width:100%}
.shop-gallery-wrap--compact .shop-gallery__hint{font-size:.65rem;padding:4px 8px;bottom:6px;right:6px}
.shop-gallery-wrap--compact .shop-gallery__thumbs{margin-top:6px;gap:5px}
.shop-gallery-wrap--compact .shop-gallery__thumb{width:44px;height:44px;border-radius:8px;padding:2px}
.shop-product-stage__buy{min-width:0}
.shop-product-stage__info{position:sticky;top:calc(var(--shop-header-h, 120px) + 10px);max-height:calc(100vh - var(--shop-header-h, 120px) - 24px);display:flex;flex-direction:column}
.shop-buybox--compact{padding:14px 16px}
.shop-buybox--compact .shop-buybox__title{font-size:1.05rem;margin-bottom:8px;line-height:1.45}
.shop-buybox--compact .shop-buybox__meta{margin-bottom:10px}
.shop-buybox--compact .shop-buybox__tags{margin-bottom:8px}
.shop-buybox__price-stock{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.shop-buybox--compact .shop-buybox__price-card{padding:10px 12px;margin:0;flex:1;min-width:140px}
.shop-buybox--compact .shop-buybox__price{font-size:1.25rem}
.shop-buybox--compact .shop-buybox__stock{margin:0;font-size:.76rem;padding:6px 10px}
.shop-buybox--compact .shop-buybox__purchase{margin-bottom:10px}
.shop-order-panel--compact{padding:12px 14px;margin-bottom:10px;overflow:visible}
.shop-order-panel--compact .shop-order-panel__head{margin-bottom:10px;padding-bottom:8px;gap:10px}
.shop-order-panel--compact .shop-order-panel__icon{width:32px;height:32px;font-size:.95rem;border-radius:9px;flex-shrink:0}
.shop-order-panel--compact .shop-order-panel__title{font-size:.84rem;line-height:1.35}
.shop-order-panel--compact .shop-order-panel__sub{font-size:.66rem;line-height:1.45}
.shop-order-panel--compact .shop-order-panel__body{font-size:.8rem;overflow:visible}
.shop-trust-strip{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px;border-top:1px dashed var(--shop-border);font-size:.68rem;font-weight:700;color:var(--shop-muted)}
.shop-trust-strip span{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f9fafb;border-radius:999px;border:1px solid var(--shop-border)}
.shop-trust-strip i{color:var(--shop-success);font-size:.9rem}
.shop-info-panel{display:flex;flex-direction:column;overflow:hidden;max-height:inherit;flex:1;border-radius:14px;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow-md)}
.shop-info-panel__tabs{flex-shrink:0;padding:8px 8px 0;background:#f9fafb;border-bottom:1px solid var(--shop-border)}
.shop-tabs--mini{gap:4px;margin:0;border:0}
.shop-tabs--mini .shop-tabs__btn{padding:7px 12px;font-size:.74rem;border-radius:8px 8px 0 0;margin:0}
.shop-tabs--mini .shop-tabs__btn em{font-style:normal;font-size:.68rem;background:rgba(0,0,0,.08);padding:1px 6px;border-radius:999px;margin-right:4px}
.shop-tabs--mini .shop-tabs__btn.is-active{background:var(--shop-surface);color:var(--shop-primary);box-shadow:0 -2px 0 var(--shop-primary) inset}
.shop-info-panel__body{flex:1;overflow-y:auto;padding:12px;min-height:200px;max-height:calc(100vh - var(--shop-header-h, 120px) - 90px)}
.shop-specs-compact{margin:0;display:grid;gap:0}
.shop-specs-compact__row{display:grid;grid-template-columns:42% 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #f3f4f6;font-size:.74rem;line-height:1.45}
.shop-specs-compact__row:last-child{border-bottom:0}
.shop-specs-compact dt{margin:0;color:var(--shop-muted);font-weight:600}
.shop-specs-compact dd{margin:0;color:var(--shop-text);font-weight:700;word-break:break-word}
.shop-info-desc{font-size:.78rem;line-height:1.7;color:var(--shop-muted);max-height:280px;overflow-y:auto}
.shop-review-mini-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;margin-bottom:10px}
.shop-review-mini{padding:8px 10px;background:#f9fafb;border-radius:10px;border:1px solid var(--shop-border);font-size:.74rem}
.shop-review-mini__head{display:flex;justify-content:space-between;gap:6px;margin-bottom:4px}
.shop-review-mini p{margin:4px 0 0;color:var(--shop-muted);line-height:1.5}
.shop-review-mini b{display:block;font-size:.76rem;margin-top:2px}
.shop-info-empty{font-size:.78rem;color:var(--shop-muted);text-align:center;padding:20px 10px;margin:0}
.shop-info-empty i{display:block;font-size:1.5rem;margin-bottom:6px;opacity:.5}
.shop-review-mini-form{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px dashed var(--shop-border)}
.shop-review-mini-form__row{display:grid;grid-template-columns:90px 1fr;gap:6px}
.shop-review-mini-form select,.shop-review-mini-form input,.shop-review-mini-form textarea{font:inherit;font-size:.76rem;padding:8px 10px;border:1.5px solid var(--shop-border);border-radius:8px;background:#fff}
.shop-review-mini-form textarea{resize:vertical;min-height:52px}
.shop-btn--sm{padding:8px 14px;font-size:.78rem}
.shop-login-hint--inline{font-size:.72rem;margin:8px 0 0;text-align:center}
.shop-section--compact{margin-top:8px;padding-top:0}
.shop-section--compact .shop-section__title{font-size:1rem;margin-bottom:12px}

.shop-product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:24px;align-items:start;margin-bottom:28px}
.shop-product-hero__gallery{position:relative}
.shop-product-hero__gallery-inner{background:var(--shop-surface);border-radius:var(--shop-radius-lg);padding:20px;box-shadow:var(--shop-shadow-md);border:1px solid var(--shop-border)}
.shop-product-hero__gallery-inner .shop-gallery__main{background:linear-gradient(180deg,#fafafa 0%,#fff 100%);border:1px solid var(--shop-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.shop-product-hero__gallery-inner .shop-gallery__thumb{transition:.15s;border-radius:10px}
.shop-product-hero__gallery-inner .shop-gallery__thumb:hover{border-color:color-mix(in srgb,var(--shop-primary) 40%,var(--shop-border));transform:translateY(-2px)}
.shop-product-hero__buybox{position:sticky;top:calc(var(--shop-header-h, 120px) + 16px)}
.shop-buybox{padding:22px 22px 18px;border-radius:var(--shop-radius-lg);box-shadow:var(--shop-shadow-md);border:1px solid color-mix(in srgb,var(--shop-primary) 8%,var(--shop-border));background:linear-gradient(180deg,#fff 0%,#fafbfc 100%)}
.shop-buybox__brand{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:var(--shop-secondary);background:color-mix(in srgb,var(--shop-secondary) 8%,#fff);padding:5px 12px;border-radius:999px;margin-bottom:10px}
.shop-buybox__title{font-size:1.35rem;font-weight:800;line-height:1.55;margin:0 0 12px;color:var(--shop-text)}
.shop-buybox__tags{margin-bottom:12px}
.shop-buybox__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.shop-meta-chip{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:600;color:var(--shop-muted);background:#f3f4f6;padding:6px 11px;border-radius:999px;border:1px solid var(--shop-border)}
.shop-meta-chip i{font-size:.95rem;color:var(--shop-secondary)}
.shop-meta-chip--rating{background:#fffbeb;border-color:#fde68a;color:#92400e}
.shop-meta-chip--rating i{color:#f59e0b}
.shop-meta-chip small{font-weight:500;opacity:.85}
.shop-buybox__price-card{background:linear-gradient(135deg,#fff7f3 0%,#fff 55%,#fef2f2 100%);border:1.5px solid color-mix(in srgb,var(--shop-primary) 18%,#fecaca);border-radius:14px;padding:16px 18px;margin-bottom:14px}
.shop-buybox__price-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.shop-buybox__price{font-size:1.65rem;font-weight:900;color:var(--shop-primary);letter-spacing:-.02em;line-height:1.2}
.shop-buybox__price .shop-num{font-size:1em;font-weight:900}
.shop-buybox__price .shop-num-unit{font-size:.52em;font-weight:700;color:var(--shop-muted);margin-right:4px}
.shop-buybox__price--text{font-size:1.05rem;font-weight:800;color:#4338ca}
.shop-buybox__old{font-size:.92rem;color:var(--shop-muted)}
.shop-buybox__off{background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));color:#fff;font-size:.78rem;font-weight:800;padding:5px 11px;border-radius:999px;box-shadow:0 4px 12px color-mix(in srgb,var(--shop-primary) 35%,transparent)}
.shop-buybox__price-note{display:block;margin-top:8px;font-size:.72rem;color:var(--shop-muted);line-height:1.5}
.shop-buybox__stock{margin-bottom:14px;width:fit-content}
.shop-buybox__excerpt{font-size:.84rem;color:var(--shop-muted);line-height:1.75;margin:0 0 16px;padding-bottom:16px;border-bottom:1px dashed var(--shop-border)}
.shop-buybox__purchase{margin-bottom:16px}
.shop-buybox__simple-qty{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 14px;background:#f9fafb;border-radius:12px;border:1px solid var(--shop-border)}
.shop-buybox__qty-label{font-size:.82rem;font-weight:700;color:var(--shop-text)}
.shop-buybox__cta{display:flex;gap:10px;align-items:stretch}
.shop-buybox__blocked{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fff4e5;color:#8a4b00;font-size:13px;line-height:1.55;display:flex;gap:8px;align-items:flex-start}
.shop-buybox__blocked i{font-size:18px;flex-shrink:0;margin-top:1px}
.shop-btn.is-cart-blocked{opacity:.55;cursor:not-allowed;filter:grayscale(.15)}
.shop-btn.is-cart-blocked:hover{transform:none;box-shadow:none}
.shop-btn--xl{padding:15px 22px;font-size:1rem;font-weight:800;border-radius:12px;min-height:52px}
.shop-btn--ghost{background:#fff;border:1.5px solid var(--shop-border);color:var(--shop-muted)}
.shop-btn--ghost:hover{border-color:var(--shop-primary);color:var(--shop-primary);background:var(--shop-primary-soft)}
.shop-btn--icon-lg{width:52px;min-width:52px;padding:0;font-size:1.35rem;border-radius:12px;flex-shrink:0}
.shop-trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px;padding-top:16px;border-top:1px solid var(--shop-border)}
.shop-trust-item{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:600;color:var(--shop-muted);padding:10px 12px;background:#f9fafb;border-radius:10px;border:1px solid var(--shop-border);transition:.15s}
.shop-trust-item i{font-size:1.15rem;color:var(--shop-success);flex-shrink:0}
.shop-trust-item:hover{background:#fff;border-color:color-mix(in srgb,var(--shop-success) 25%,var(--shop-border))}

.shop-order-panel{background:linear-gradient(180deg,#f0fdf4 0%,#fff 42%);border:1.5px solid #bbf7d0;border-radius:14px;padding:16px;margin-bottom:14px;overflow:hidden}
.shop-order-panel__head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed #bbf7d0}
.shop-order-panel__icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;box-shadow:0 6px 16px rgba(16,185,129,.28)}
.shop-order-panel__title{margin:0;font-size:.98rem;font-weight:800;color:#065f46}
.shop-order-panel__sub{margin:4px 0 0;font-size:.74rem;color:#047857;line-height:1.5;font-weight:500}
.shop-order-panel__loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;color:var(--shop-muted);font-size:.82rem}
.shop-order-panel__body{font-size:.88rem}
.shop-order-skeleton{width:100%;height:88px;border-radius:10px;background:linear-gradient(90deg,#ecfdf5 25%,#d1fae5 50%,#ecfdf5 75%);background-size:200% 100%;animation:shopShimmer 1.2s infinite}
@keyframes shopShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.shop-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.shop-order-section{grid-column:1/-1;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}
.shop-order-section__head{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.82rem;font-weight:800;color:#374151}
.shop-order-section__num{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));color:#fff;font-size:.72rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.shop-order-field{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:700;color:#374151}
.shop-order-field--wide{grid-column:1/-1}
.shop-order-field span{display:flex;align-items:center;gap:5px}
.shop-order-field span i{font-size:1rem;color:var(--shop-secondary);opacity:.85}
.shop-order-field span small{font-weight:500;color:var(--shop-muted)}
.shop-order-select,.shop-order-input{border:1.5px solid #e5e7eb;border-radius:10px;padding:11px 13px;font-size:.88rem;background:#fff;transition:border-color .15s,box-shadow .15s;font-family:inherit}
.shop-order-select:focus,.shop-order-input:focus{outline:none;border-color:var(--shop-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--shop-secondary) 15%,transparent)}
.shop-order-input--readonly{background:linear-gradient(180deg,#fef2f2,#fff5f5);color:#dc2626;font-weight:800;border-color:#fecaca;text-align:center}
.shop-order-vars{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.shop-order-var{display:flex;flex-direction:column;gap:5px;font-size:.76rem;font-weight:700;color:#4b5563}
.shop-order-var span{padding-right:2px}
.shop-order-formula{margin-top:4px;padding:12px 14px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border-radius:10px;font-size:.78rem;border:1px solid #c7d2fe}
.shop-order-formula--simple{display:flex;align-items:center;gap:8px;color:#065f46;font-weight:700;padding:10px 14px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:10px}
.shop-order-formula--simple i{font-size:1.1rem;color:#10b981}
.shop-order-formula__label{display:block;color:#4338ca;font-weight:800;margin-bottom:6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.shop-order-formula code{font-family:ui-monospace,monospace;color:#312e81;word-break:break-all;font-size:.85rem;background:rgba(255,255,255,.6);padding:4px 8px;border-radius:6px;display:inline-block}
.shop-order-calc{display:flex;flex-direction:column;gap:10px}
.shop-order-calc__step{display:flex;flex-direction:column;gap:0}
.shop-order-calc__field{display:flex;flex-direction:column;gap:5px;min-width:0;width:100%}
.shop-order-calc__field--full{width:100%}
.shop-order-calc__label{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:800;color:#374151}
.shop-order-calc__label i{font-size:.95rem;color:var(--shop-secondary);flex-shrink:0}
.shop-order-calc__step--type{margin-bottom:2px}
.shop-order-calc__top-row{display:flex;align-items:stretch;gap:10px;flex-wrap:nowrap;margin-bottom:6px}
.shop-order-calc__type{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;min-width:148px;max-width:44%}
.shop-order-calc__type .shop-order-calc__label{margin:0;font-size:.7rem}
.shop-order-calc__type .shop-order-select--mini{width:100%;flex:none}
.shop-order-calc__formula-slot{flex:1;min-width:0;display:flex;align-items:stretch}
.shop-order-calc__formula-slot:empty{display:none}
.shop-order-calc__field--inline{flex-direction:row;align-items:center;gap:8px}
.shop-order-calc__field--inline .shop-order-calc__label{margin:0;flex-shrink:0;font-size:.66rem}
.shop-order-calc__field--inline .shop-order-select--mini{flex:1;min-width:0}
.shop-order-select--mini{padding:10px 12px 10px 32px;font-size:.88rem;border-radius:10px;min-height:42px;height:42px;border:1.5px solid #d1d5db;background:#fff linear-gradient(180deg,#fff 0%,#f8fafc 100%);font-family:inherit;font-weight:700;color:#1f2937;line-height:1.35;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 10px center;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.shop-order-select--mini:focus{outline:none;border-color:var(--shop-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--shop-secondary) 14%,transparent),0 1px 2px rgba(15,23,42,.04)}
.shop-order-select--mini option{font-size:.88rem;font-weight:600;padding:8px}
.shop-order-select--compact,.shop-order-input--compact{padding:9px 11px;font-size:.84rem;border-radius:9px;min-height:40px;width:100%;box-sizing:border-box}
.shop-order-calc__dims{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);border:1px solid #e5e7eb;border-radius:11px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}
.shop-order-calc__dims-head{display:flex;align-items:center;gap:5px;font-size:.66rem;font-weight:800;color:#6b7280;margin:0}
.shop-order-calc__dims-head i{font-size:.92rem;color:#6366f1}
.shop-order-calc__dims-body{display:flex;flex-direction:column;gap:6px;min-height:0}
.shop-order-calc__loading{display:flex;align-items:center;justify-content:center;padding:12px;color:#6366f1;font-size:1rem}
.shop-order-vars--compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;margin:0;align-items:end}
.shop-order-var--compact{display:flex;flex-direction:column;gap:3px;margin:0;min-width:0}
.shop-order-var--compact .shop-order-var__label{font-size:.62rem;font-weight:800;color:#4b5563;line-height:1.25;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-order-var__wrap{position:relative;width:100%}
.shop-order-input--dim{padding:6px 8px;font-size:.8rem;font-weight:800;text-align:center;border-radius:8px;min-height:34px;height:34px;width:100%;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb}
.shop-order-input--dim:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.shop-order-var--fixed .shop-order-input--dim{background:linear-gradient(180deg,#f3f4f6,#fff);color:#6b7280;border-style:dashed}
.shop-order-var--qty .shop-order-var__label{color:#4338ca}
.shop-order-formula--inline{display:flex;align-items:flex-start;gap:10px;margin-top:0;padding:10px 12px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid #c7d2fe;border-radius:10px;clear:both}
.shop-order-formula--inline.shop-order-formula--row{width:100%;align-items:center;padding:7px 10px;gap:8px;border-radius:10px;min-height:42px;box-sizing:border-box}
.shop-order-formula--row .shop-order-formula__icon{width:28px;height:28px;border-radius:8px;font-size:.92rem}
.shop-order-formula--row .shop-order-formula__body{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;overflow:hidden}
.shop-order-formula--row .shop-order-formula__label{margin:0;font-size:.66rem;white-space:nowrap;flex-shrink:0}
.shop-order-formula--row code{display:block;font-size:.76rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:right;line-height:1.35}
.shop-order-formula--inline .shop-order-formula__icon{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;box-shadow:0 4px 10px rgba(99,102,241,.25)}
.shop-order-formula--inline .shop-order-formula__body{min-width:0;flex:1;overflow:hidden}
.shop-order-formula--inline .shop-order-formula__label{display:block;font-size:.64rem;font-weight:800;color:#4338ca;margin-bottom:3px}
.shop-order-formula--inline code{display:block;font-family:inherit;font-size:.74rem;font-weight:700;color:#312e81;background:transparent;padding:0;word-break:break-word;line-height:1.5;direction:rtl;text-align:right}
.shop-order-calc__result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:14px;box-shadow:0 10px 26px rgba(15,23,42,.24);border:1px solid rgba(255,255,255,.1);clear:both;align-items:stretch}
.shop-order-calc__result-item{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:6px;min-width:0;padding:12px 10px;border-radius:10px;background:rgba(255,255,255,.07);overflow:hidden;min-height:72px}
.shop-order-calc__result-item span{font-size:.74rem;font-weight:700;color:rgba(255,255,255,.78);line-height:1.4;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px}
.shop-order-calc__result-item span em{font-style:normal;font-size:.7rem;opacity:.9;display:inline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.shop-order-calc__result-item strong{font-size:1rem;font-weight:900;color:#fff;line-height:1.3;transition:transform .2s,color .2s;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.shop-order-calc__result-item strong.shop-price-value{display:inline-flex;flex-direction:row;align-items:baseline;justify-content:center;gap:5px;overflow:visible;flex-wrap:nowrap}
.shop-order-calc__result-item strong.shop-price-value .shop-num{font-size:.98rem;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-num{font-variant-numeric:tabular-nums;letter-spacing:.01em;unicode-bidi:plaintext}
.shop-num-unit{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.78);white-space:nowrap;line-height:1.2}
.shop-order-calc__result-item--total{background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.shop-order-calc__result-item--total strong.shop-price-value .shop-num{font-size:1.08rem}
.shop-order-calc__result-item--total .shop-num-unit{color:rgba(255,255,255,.92);font-size:.76rem}
.shop-order-calc__result-item strong.is-pulse,.shop-num.is-pulse{animation:shopCalcPulse .35s ease}
@keyframes shopCalcPulse{0%{transform:scale(1)}45%{transform:scale(1.05);color:#fde68a}100%{transform:scale(1)}}
.shop-order-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0;background:transparent;border:0}
.shop-order-summary__card{background:linear-gradient(135deg,#1f2937,#111827);border-radius:14px;padding:14px 16px;color:#fff;display:flex;flex-direction:column;gap:4px;min-height:72px;justify-content:center}
.shop-order-summary__card--total{background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));box-shadow:0 8px 24px color-mix(in srgb,var(--shop-primary) 35%,transparent)}
.shop-order-summary__card span{font-size:.72rem;opacity:.85;font-weight:600}
.shop-order-summary__card strong{font-size:1.1rem;font-weight:800}
.shop-order-summary__total{font-size:1.25rem!important}
.shop-order-error{color:#dc2626;margin:0;font-size:.82rem;padding:12px;background:#fef2f2;border-radius:8px}
.shop-cart-order-label{font-size:.75rem;color:var(--shop-muted);margin-top:4px;line-height:1.5}
.shop-cart-qty-fixed{font-weight:700;color:#374151}
.shop-mobile-buybar{position:fixed;bottom:56px;left:0;right:0;z-index:210;display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0));background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid var(--shop-border);box-shadow:0 -10px 28px rgba(15,23,42,.12);border-radius:16px 16px 0 0}
.shop-mobile-buybar__price{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.2}
.shop-mobile-buybar__price .shop-num{font-size:1rem;font-weight:900;color:var(--shop-primary);font-variant-numeric:tabular-nums;unicode-bidi:plaintext;word-break:break-word}
.shop-mobile-buybar__price .shop-num-unit{font-size:.68rem;font-weight:700;color:var(--shop-muted)}
.shop-mobile-buybar .shop-btn{flex-shrink:0;padding:11px 18px;font-weight:800;border-radius:12px;min-height:46px;box-shadow:0 6px 16px color-mix(in srgb,var(--shop-primary) 28%,transparent)}
.shop-product-tabs--pro .shop-tabs--pill{border-bottom:0;gap:10px;margin-bottom:18px;background:var(--shop-surface);padding:8px;border-radius:14px;box-shadow:var(--shop-shadow);border:1px solid var(--shop-border)}
.shop-tabs--pill .shop-tabs__btn{border-radius:10px;margin-bottom:0;border-bottom:0;padding:10px 18px;background:transparent}
.shop-tabs--pill .shop-tabs__btn.is-active{background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--shop-primary) 30%,transparent)}
.shop-specs--pro table tr:nth-child(even){background:#f9fafb}
.shop-specs--pro th,.shop-specs--pro td{padding:12px 14px}
.shop-specs--pro th{font-size:.78rem;width:36%}
.shop-specs--pro td{font-weight:600;color:var(--shop-text)}
@media(max-width:640px){.shop-order-grid{grid-template-columns:1fr}.shop-order-summary{grid-template-columns:1fr}.shop-order-vars--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-order-calc__result{grid-template-columns:1fr;gap:6px}.shop-order-calc__result-item{min-height:58px;flex-direction:row;justify-content:space-between;align-items:center;text-align:right;padding:10px 12px}.shop-order-calc__result-item span{justify-content:flex-start}.shop-order-calc__result-item strong.shop-price-value{justify-content:flex-end}}
@media(max-width:1100px){
  .shop-product-stage{grid-template-columns:minmax(160px,190px) minmax(0,1fr);grid-template-rows:auto auto}
  .shop-product-stage__info{grid-column:1/-1;position:static;max-height:none}
  .shop-info-panel__body{max-height:320px}
}
@media(max-width:720px){
  .shop-product-stage{grid-template-columns:1fr}
  .shop-product-stage__media,.shop-product-stage__buy,.shop-product-stage__info{position:static;max-height:none}
  .shop-gallery-wrap--compact .shop-gallery__main{max-height:240px}
  .shop-gallery-wrap--compact .shop-gallery__main img{max-height:220px}
}
@media(max-width:960px){
  .shop-product-hero{grid-template-columns:1fr;gap:16px}
  .shop-product-hero__buybox{position:static}
  .shop-buybox__title{font-size:1.15rem}
  .shop-buybox__price{font-size:1.4rem}
}
.shop-btn--lg{padding:13px 24px;font-size:.95rem}
.shop-btn--icon{width:48px;padding:0;justify-content:center}
.shop-qty--lg button{width:42px;height:42px}
.shop-qty--lg input{width:56px;height:42px}
.shop-trust-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--shop-muted)}
.shop-trust-list li{display:flex;align-items:center;gap:6px}
.shop-tags{display:flex;flex-wrap:wrap;gap:6px}
.shop-tag{background:color-mix(in srgb,var(--tag-color,#ef394e) 12%,#fff);color:var(--tag-color,#ef394e);border:1px solid color-mix(in srgb,var(--tag-color,#ef394e) 30%,#fff);padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700}
.shop-specs{margin-top:8px}
.shop-specs table{width:100%;border-collapse:collapse;font-size:.82rem}
.shop-specs th,.shop-specs td{padding:8px;border-bottom:1px solid var(--shop-border);text-align:right}
.shop-specs th{color:var(--shop-muted);width:40%;font-weight:600}
.shop-gallery__main{position:relative;background:#fafafa;border-radius:12px;padding:16px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:zoom-in;overflow:hidden}
.shop-gallery__main img{max-height:420px;object-fit:contain;transition:transform .25s}
.shop-gallery__main:hover img{transform:scale(1.03)}
.shop-gallery__hint{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.65);color:#fff;padding:6px 12px;border-radius:999px;font-size:.75rem;display:flex;align-items:center;gap:6px}
.shop-gallery__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.shop-gallery__thumb{border:2px solid var(--shop-border);background:#fff;border-radius:8px;padding:4px;cursor:pointer;flex-shrink:0;width:68px;height:68px}
.shop-gallery__thumb.is-active{border-color:var(--shop-primary)}
.shop-gallery__thumb img{width:100%;height:100%;object-fit:contain}
.shop-lightbox{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;pointer-events:none;padding:20px;box-sizing:border-box;isolation:isolate}
.shop-lightbox:not([hidden]){display:flex;pointer-events:auto}
.shop-lightbox[hidden]{display:none!important}
.shop-lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(4px)}
.shop-lightbox__box{position:relative;z-index:2;width:min(92vw,920px);max-height:calc(100vh - 40px);margin:0 auto;display:flex;align-items:center;justify-content:center;pointer-events:none}
.shop-lightbox__img{display:block;width:auto;max-width:100%;max-height:min(82vh,820px);height:auto;object-fit:contain;border-radius:12px;background:#111;box-shadow:0 24px 64px rgba(0,0,0,.45);pointer-events:none;user-select:none;-webkit-user-drag:none}
.shop-lightbox__close{position:fixed;top:max(12px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));z-index:10051;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:1.75rem;cursor:pointer;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.shop-lightbox__nav{position:fixed;top:50%;transform:translateY(-50%);z-index:10051;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.2);color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:manipulation}
.shop-lightbox__nav[disabled],.shop-lightbox__nav[hidden]{display:none!important}
.shop-lightbox__nav--prev{right:max(12px,env(safe-area-inset-right,0px))}
.shop-lightbox__nav--next{left:max(12px,env(safe-area-inset-left,0px))}
.shop-lightbox__counter{position:fixed;bottom:max(16px,env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);text-align:center;color:#fff;font-size:.85rem;background:rgba(0,0,0,.5);padding:6px 14px;border-radius:999px;z-index:3;pointer-events:none}
.shop-no-scroll{overflow:hidden}
.shop-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.shop-review-card{background:#fff;border:1px solid var(--shop-border);border-radius:10px;padding:14px}
.shop-review-card__head{display:flex;justify-content:space-between;margin-bottom:6px}
.shop-stars{color:#f59e0b}
.shop-radio-card{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1.5px solid var(--shop-border);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:.15s}
.shop-radio-card:has(input:checked){border-color:var(--shop-secondary);background:#f0fbfd}
.shop-radio-card__body{display:flex;flex-direction:column;gap:2px}
.shop-radio-card__body small{color:var(--shop-muted)}
.shop-coupon-row{display:flex;gap:8px}
.shop-coupon-row input{flex:1}
.shop-summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.88rem;border-bottom:1px dashed var(--shop-border)}
.shop-summary-row.is-discount{color:#2e7d32}
.shop-summary-row.is-total{font-weight:800;font-size:1rem;color:var(--shop-primary);border:0;margin-top:8px;padding-top:12px}
.shop-checkout-note{font-size:.78rem;color:var(--shop-muted);margin:12px 0}
.shop-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#323232;color:#fff;padding:12px 20px;border-radius:10px;z-index:9999;opacity:0;transition:.25s;font-size:.85rem;box-shadow:0 6px 20px rgba(0,0,0,.2);max-width:min(92vw,360px)}
.shop-toast.is-show{opacity:1;transform:translateX(-50%) translateY(0)}
.shop-toast.is-err{background:#d32f2f}
.shop-toast--cart-add{background:#fff;color:#1e293b;padding:14px 16px;border:1px solid #c7d2fe;box-shadow:0 12px 32px rgba(67,56,202,.18);text-align:right}
.shop-toast--cart-add__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.shop-toast--cart-add__head>i{font-size:1.5rem;color:var(--shop-primary);flex-shrink:0}
.shop-toast--cart-add__head strong{display:block;font-size:.88rem;color:#0f172a}
.shop-toast--cart-add__head span{display:block;font-size:.75rem;color:#64748b;margin-top:2px}
.shop-cart-formula-mini{margin-top:0;padding:10px 12px;background:linear-gradient(135deg,#eef2ff 0%,#f8fafc 100%);border:1px solid #c7d2fe;border-radius:10px;font-size:.72rem;line-height:1.5}
.shop-cart-formula-mini--simple{display:flex;align-items:center;gap:8px;color:#065f46;font-weight:700;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#bbf7d0}
.shop-cart-formula-mini--simple i{font-size:1rem;color:#10b981;flex-shrink:0}
.shop-cart-formula-mini__label{display:flex;align-items:center;gap:5px;color:#4338ca;font-weight:800;margin-bottom:5px;font-size:.68rem}
.shop-cart-formula-mini__label i{font-size:.95rem}
.shop-cart-formula-mini code{display:block;font-family:inherit;font-weight:700;color:#312e81;background:rgba(255,255,255,.8);padding:6px 8px;border-radius:8px;word-break:break-word;font-size:.74rem;line-height:1.55;direction:rtl;text-align:right}
.shop-cart-formula-mini__vars{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:5px;margin-top:6px}
.shop-cart-formula-mini__vars span{display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:4px 8px;background:#fff;border:1px solid #e0e7ff;border-radius:8px;color:#3730a3;font-size:.64rem;font-weight:700;text-align:center}
.shop-cart-formula-mini__vars b{color:#4338ca;font-weight:800}
.shop-cart-formula-mini__result{margin-top:6px;padding-top:6px;border-top:1px dashed #c7d2fe;color:#1e40af;font-size:.66rem;line-height:1.55}
.shop-cart-formula-mini__result strong{color:#312e81;font-weight:900}
.shop-cart-formula-mini__sep{margin:0 5px;color:#94a3b8}
.sn-cart-item .shop-cart-formula-mini,.shop-cart-item__meta .shop-cart-formula-mini{margin-top:0}
/* Shop op-chat widget (same engine as order_point_list) */
.shop-op-chat{position:fixed;bottom:24px;right:20px;left:auto;z-index:520}
.shop-op-chat__fab{width:52px;height:52px;border-radius:50%;border:0;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;font-size:1.45rem;cursor:pointer;box-shadow:0 6px 20px rgba(14,165,233,.4);transition:transform .2s,box-shadow .2s}
.shop-op-chat__fab:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(14,165,233,.48)}
.shop-op-chat__panel{position:absolute;bottom:64px;right:0;left:auto;width:min(94vw,400px);height:min(72vh,560px);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.2);overflow:hidden;border:1px solid var(--shop-border);display:flex;flex-direction:column}
.shop-op-chat__head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(90deg,#0ea5e9,#0284c7);color:#fff;flex-shrink:0}
.shop-op-chat__head button{background:transparent;border:0;color:#fff;font-size:1.35rem;cursor:pointer}
.shop-op-chat__body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.shop-op-chat__body .op-chat-embed,.shop-op-chat__body .op-chat{height:100%!important;min-height:0!important;display:flex;flex-direction:column}
.shop-op-chat__body [data-op-chat-msgs-wrap]{flex:1;min-height:0}
@media(max-width:768px){
  .shop-op-chat{bottom:calc(56px + env(safe-area-inset-bottom,0) + 12px);right:12px;left:auto}
  .shop-op-chat__fab{width:48px;height:48px;font-size:1.3rem}
  .shop-op-chat__panel{width:min(94vw,calc(100vw - 24px));height:min(68vh,520px);bottom:58px;right:0;left:auto}
}
@media(max-width:992px){
  .shop-catalog-layout{grid-template-columns:1fr}
  .shop-filter-mobile-bar{display:block}
  .shop-filters{position:fixed;top:0;right:0;bottom:0;width:min(92vw,360px);max-height:none;z-index:410;transform:translateX(100%);transition:transform .3s var(--shop-ease);border-radius:16px 0 0 16px;box-shadow:var(--shop-shadow-lg)}
  .shop-filters.is-open{transform:translateX(0)}
  .shop-filters__close{display:inline-flex}
  .shop-filter-backdrop:not([hidden]){display:block}
  .shop-filter-backdrop.is-show{opacity:1}
}
@media(max-width:768px){.shop-search-wrap{order:3;flex:1 1 100%;margin-top:8px}.shop-detail--pro{grid-template-columns:1fr;padding:14px}}

/* ── Theme v4 (ui-ux-pro-max e-commerce) ── */
.shop-header{box-shadow:var(--shop-shadow-md);backdrop-filter:saturate(180%) blur(10px);background:rgba(255,255,255,.97)}
.shop-action:hover{background:var(--shop-primary-soft)}
.shop-nav__list a:hover{background:var(--shop-primary-soft)}
.shop-product-card{border-radius:var(--shop-radius-lg);transition:transform .2s var(--shop-ease),box-shadow .2s var(--shop-ease),border-color .2s}
.shop-product-card:hover{transform:translateY(-4px);box-shadow:var(--shop-shadow-md);border-color:color-mix(in srgb,var(--shop-primary) 22%,var(--shop-border))}
.shop-product-card__btn{cursor:pointer;transition:.15s var(--shop-ease)}
.shop-product-card__btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.shop-product-card__btn:disabled:hover{background:#fff;color:var(--shop-primary)}
.shop-cat-card{border-radius:var(--shop-radius-lg);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.shop-cat-card:hover{transform:translateY(-3px);box-shadow:var(--shop-shadow-md)}

.shop-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--shop-space-3);margin-bottom:var(--shop-space-4)}
.shop-trust__item{display:flex;align-items:center;gap:var(--shop-space-3);background:var(--shop-surface);padding:var(--shop-space-3) var(--shop-space-4);border-radius:var(--shop-radius-lg);border:1px solid var(--shop-border);box-shadow:var(--shop-shadow);font-size:.78rem;font-weight:600;color:var(--shop-text)}
.shop-trust__item i{font-size:1.6rem;color:var(--shop-secondary);flex-shrink:0}
.shop-trust__item span{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.shop-trust__item small{font-weight:400;color:var(--shop-muted);font-size:.7rem}

.shop-promo{background:linear-gradient(90deg,var(--shop-primary),var(--shop-primary-dark));letter-spacing:.02em}

.shop-hero__slider{position:relative;display:block;border-radius:var(--shop-radius-lg);overflow:hidden;box-shadow:0 4px 20px rgba(15,23,42,.08);background:#fff;border:1px solid var(--shop-border)}
.shop-hero__viewport{width:100%;height:auto;overflow:hidden;border-radius:var(--shop-radius-lg);direction:ltr;line-height:0;background:#f8fafc}
.shop-hero__track{display:flex;flex-wrap:nowrap;transition:transform .45s var(--shop-ease);will-change:transform;width:100%;align-items:flex-start;height:auto}
.shop-hero__slide{flex:0 0 100%;width:100%;min-width:100%;position:relative;background:#f8fafc;display:block;overflow:visible;line-height:0;height:auto}
.shop-hero__slide img{width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center top;display:block;vertical-align:top}
.sn-hero-section{margin-bottom:16px}
.sn-hero-section .sn-hero-banner{margin-bottom:0}
.shop-home .shop-section{margin-bottom:20px}
.shop-home .sn-section-head{margin-bottom:12px}
.sn-services--compact{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;padding:12px 14px;background:#fff;border:1px solid var(--shop-border);border-radius:14px;box-shadow:var(--shop-shadow)}
.sn-services--compact .sn-service-item{padding:8px 10px;background:#f9fafb;border-radius:10px;border:1px solid #f1f5f9}
.sn-services--compact .sn-service-item i{font-size:1.35rem}
.sn-services--compact .sn-service-item span strong{font-size:.78rem}
.sn-services--compact .sn-service-item span small{font-size:.68rem}
.shop-cart-item__foot{align-items:center}
.shop-cart-item__foot .shop-cart-item__remove{margin-right:auto;margin-left:0}
.shop-cart-order-label{margin:8px 0 0;padding:10px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;font-size:.78rem;line-height:1.6;color:#065f46}
.shop-cart-order-label--mini{margin:6px 0 0;padding:8px 10px;font-size:.72rem}
.shop-cart-details--mini{margin-top:6px;padding:8px 10px;gap:4px}
.shop-cart-details--mini .shop-cart-details__row{font-size:.7rem}
.sn-cart-item__remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #fecaca;background:#fff5f5;color:#dc2626;border-radius:9px;font-size:1rem;cursor:pointer;transition:.12s;flex-shrink:0}
.sn-cart-item__remove:hover{background:#dc2626;color:#fff;border-color:#dc2626}
.shop-hero__dots{display:flex;justify-content:center;gap:8px;margin-top:10px}
.shop-hero__dot{width:8px;height:8px;border-radius:50%;border:0;background:var(--shop-border);cursor:pointer;padding:0;transition:.2s}
.shop-hero__dot.is-active{width:24px;border-radius:999px;background:var(--shop-primary)}
.shop-hero__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--shop-text);font-size:1.4rem;cursor:pointer;box-shadow:var(--shop-shadow-md);display:flex;align-items:center;justify-content:center;transition:.15s;z-index:2}
.shop-hero__nav:hover{background:#fff;color:var(--shop-primary)}
.shop-hero__nav--prev{right:12px}
.shop-hero__nav--next{left:12px}

.shop-section__link{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:700;color:var(--shop-secondary);padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--shop-secondary) 10%,#fff);transition:.15s;cursor:pointer}
.shop-section__link:hover{background:color-mix(in srgb,var(--shop-secondary) 18%,#fff);color:var(--shop-secondary-dark)}
.shop-section__link i{font-size:1.1rem}

.shop-product-card__stock{position:absolute;bottom:8px;right:8px;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--shop-success-soft);color:var(--shop-success)}
.shop-product-card__stock.is-out{background:#ffebee;color:#c62828}
.shop-product-card__rating{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--shop-muted);margin-bottom:6px}
.shop-product-card__rating i{color:#f59e0b;font-size:.85rem}

.shop-skeleton{animation:shopShimmer 1.2s infinite linear;background:linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%);background-size:200% 100%;border-radius:var(--shop-radius)}
.shop-skeleton-card{aspect-ratio:1;border-radius:var(--shop-radius-lg)}
.shop-skeleton-line{height:12px;margin:8px 0;border-radius:4px}
@keyframes shopShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

.shop-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--shop-ease),transform .5s var(--shop-ease)}
.shop-reveal.is-visible{opacity:1;transform:none}

.shop-footer{background:linear-gradient(180deg,#eceff1 0%,#e2e6ea 100%)}
.shop-footer__brand{font-size:.85rem;color:var(--shop-muted);line-height:1.7;margin:0}
.shop-footer h4{position:relative;padding-bottom:8px}
.shop-footer h4::after{content:'';position:absolute;bottom:0;right:0;width:32px;height:3px;background:var(--shop-primary);border-radius:2px}

.shop-mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:150;background:var(--shop-surface);border-top:1px solid var(--shop-border);box-shadow:0 -4px 20px rgba(0,0,0,.08);padding:6px 0 calc(6px + env(safe-area-inset-bottom,0))}
.shop-mobile-nav__list{display:flex;list-style:none;margin:0;padding:0;justify-content:space-around}
.shop-mobile-nav__list a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;font-size:.65rem;font-weight:600;color:var(--shop-muted);min-width:56px;cursor:pointer;transition:.15s;border-radius:8px}
.shop-mobile-nav__list a i{font-size:1.35rem;color:var(--shop-text);transition:.15s}
.shop-mobile-nav__list a.is-active,.shop-mobile-nav__list a:hover{color:var(--shop-primary)}
.shop-mobile-nav__list a.is-active i,.shop-mobile-nav__list a:hover i{color:var(--shop-primary)}
.shop-mobile-nav__badge{position:absolute;top:2px;left:50%;margin-left:8px;background:var(--shop-primary);color:#fff;font-size:.6rem;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}

.shop-news-card{background:var(--shop-surface);border-radius:var(--shop-radius-lg);padding:var(--shop-space-4);border:1px solid var(--shop-border);box-shadow:var(--shop-shadow);transition:.2s;cursor:pointer;display:block;height:100%}
.shop-news-card:hover{box-shadow:var(--shop-shadow-md);border-color:var(--shop-secondary);transform:translateY(-2px)}
.shop-news-card__date{font-size:.72rem;color:var(--shop-muted);margin-bottom:6px;display:flex;align-items:center;gap:4px}
.shop-news-card__title{font-size:.88rem;font-weight:700;margin:0 0 8px;line-height:1.5}
.shop-news-card__summary{font-size:.78rem;color:var(--shop-muted);margin:0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

@media(max-width:768px){
  .shop-trust{grid-template-columns:repeat(2,1fr)}
  .shop-mobile-nav{display:block}
  .shop-install{bottom:calc(76px + env(safe-area-inset-bottom,0))}
  .sn-services--compact{grid-template-columns:repeat(2,1fr)}
  .shop-hero__nav{display:none}
}
@media(max-width:480px){.shop-trust{grid-template-columns:1fr}}

.shop-auth-page{display:flex;justify-content:center;padding:var(--shop-space-5) 0}
.shop-auth-card{width:100%;max-width:420px;background:var(--shop-surface);padding:var(--shop-space-5);border-radius:var(--shop-radius-lg);box-shadow:var(--shop-shadow-md);border:1px solid var(--shop-border)}
.shop-auth-card h1{font-size:1.2rem;margin:0 0 6px;display:flex;align-items:center;gap:8px}
.shop-auth-sub{color:var(--shop-muted);font-size:.85rem;margin:0 0 var(--shop-space-4)}
.shop-auth-foot{text-align:center;margin-top:var(--shop-space-4);font-size:.85rem;color:var(--shop-muted)}
.shop-auth-foot a{color:var(--shop-secondary);font-weight:700}
.shop-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.shop-form-row{grid-template-columns:1fr}}
.shop-input-ltr{text-align:left;direction:ltr;font-family:monospace;letter-spacing:.04em}
.shop-form--auth-center{max-width:300px;margin:0 auto}
.shop-form--auth-center .shop-field{text-align:center}
.shop-form--auth-center label{text-align:center}
.shop-form--auth-center input{text-align:center}
.shop-form--auth-center .shop-input-ltr{text-align:center}
.shop-radio-inline{display:flex;gap:10px;flex-wrap:wrap}
.shop-radio-pill{position:relative;cursor:pointer}
.shop-radio-pill input{position:absolute;opacity:0;width:0;height:0}
.shop-radio-pill span{display:inline-flex;padding:8px 18px;border-radius:999px;border:1.5px solid var(--shop-border);font-size:.82rem;font-weight:600;color:var(--shop-muted);transition:.15s}
.shop-radio-pill input:checked+span{background:var(--shop-primary-soft);border-color:var(--shop-primary);color:var(--shop-primary-dark)}
.sn-auth-card--wide{max-width:520px}
.shop-register-form .req{color:var(--shop-primary);font-weight:700}
.shop-register-form textarea{min-height:72px;resize:vertical}

.shop-detail__brand{font-size:.78rem;color:var(--shop-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.shop-rating{color:var(--shop-warning);font-weight:600}
.shop-login-hint{text-align:center;padding:var(--shop-space-4);background:var(--shop-surface);border-radius:var(--shop-radius-lg);border:1px solid var(--shop-border)}
.shop-login-hint a{color:var(--shop-primary);font-weight:700}

.shop-festival-head{display:grid;grid-template-columns:200px 1fr;gap:var(--shop-space-4);align-items:center;margin-bottom:var(--shop-space-4)}
.shop-festival-banner{width:100%;height:120px;object-fit:cover;border-radius:var(--shop-radius-lg)}
.shop-festival-dates{font-size:.82rem;color:var(--shop-muted)}
.shop-festival-block{margin-bottom:var(--shop-space-6)}

.shop-cart-page .shop-cart-table td{vertical-align:middle}
.shop-cart-line{font-weight:700;color:var(--shop-primary)}

/* Cart page — polished layout */
.shop-cart-page{padding-bottom:28px}
.shop-cart-page__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.shop-cart-page__title{margin:4px 0 0;font-size:1.2rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.shop-cart-page__title i{color:var(--shop-primary)}
.shop-cart-page__title em{font-style:normal;font-size:.72rem;font-weight:700;color:var(--shop-primary);background:var(--shop-primary-soft);padding:4px 10px;border-radius:999px}
.sn-breadcrumb--inline{margin-bottom:0;font-size:.72rem}
.shop-card--flat{padding:12px;overflow:visible;border-radius:16px;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow-md);background:linear-gradient(180deg,#fafbfc 0%,#fff 100%)}
.shop-cart-layout{align-items:start;gap:16px}
.shop-cart-list{display:flex;flex-direction:column;gap:10px}
.shop-cart-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px 14px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;align-items:start;background:#fff;transition:box-shadow .15s,border-color .15s;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.shop-cart-item:hover{border-color:color-mix(in srgb,var(--shop-primary) 22%,#e5e7eb);box-shadow:0 6px 18px rgba(15,23,42,.08)}
.shop-cart-item--order{border-color:#c7d2fe;background:linear-gradient(180deg,#fff 0%,#fafbff 100%)}
.shop-cart-item__thumb{display:block;width:72px;height:72px;background:linear-gradient(180deg,#f9fafb,#fff);border-radius:12px;border:1px solid #f1f5f9;padding:6px;overflow:hidden;flex-shrink:0;transition:transform .15s}
.shop-cart-item:hover .shop-cart-item__thumb{transform:scale(1.02)}
.shop-cart-item__thumb img{width:100%;height:100%;object-fit:contain}
.shop-cart-item__main{min-width:0;display:flex;flex-direction:column;gap:8px}
.shop-cart-item__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.shop-cart-item__name{font-size:.86rem;font-weight:800;line-height:1.45;color:var(--shop-text);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.shop-cart-item__name:hover{color:var(--shop-primary)}
.shop-cart-item__badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;border-radius:999px;font-size:.6rem;font-weight:800;color:#4338ca;white-space:nowrap;flex-shrink:0}
.shop-cart-item__badge i{font-size:.85rem}
.shop-cart-item__meta{min-width:0}
.shop-cart-chips{display:flex;flex-wrap:wrap;gap:5px;margin:0}
.shop-cart-chips--text{font-size:.72rem;color:#047857;line-height:1.5;margin:0;padding:8px 10px;background:#ecfdf5;border-radius:10px;border:1px solid #d1fae5}
.shop-cart-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;background:#fff;border:1px solid #d1fae5;border-radius:8px;font-size:.66rem;color:#065f46;line-height:1.35;max-width:100%;font-weight:600}
.shop-cart-chip b{font-weight:800;color:#047857}
.shop-cart-item__side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;min-width:108px}
.shop-cart-item__qty{flex-shrink:0}
.shop-qty--sm button{width:30px;height:30px;font-size:.9rem;border-radius:8px}
.shop-qty--sm input{width:38px;height:30px;font-size:.78rem;padding:0 2px;border-radius:8px}
.shop-cart-qty-fixed{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;padding:0 10px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;font-size:.76rem;font-weight:800;color:#374151}
.shop-cart-item__price{display:flex;flex-direction:column;align-items:flex-end;gap:3px;width:100%;padding-top:6px;border-top:1px dashed #f1f5f9}
.shop-cart-item__unit{font-size:.64rem;color:var(--shop-muted);font-weight:600}
.shop-cart-line{font-size:.9rem;font-weight:900;color:var(--shop-primary);white-space:nowrap;font-variant-numeric:tabular-nums}
.shop-cart-item__remove{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #fecaca;background:#fff5f5;color:#dc2626;border-radius:10px;font-size:1.1rem;cursor:pointer;transition:.12s;flex-shrink:0}
.shop-cart-item__remove:hover{background:#dc2626;color:#fff;border-color:#dc2626;transform:scale(1.04)}
.shop-cart-summary{padding:16px 18px;position:sticky;top:calc(var(--shop-header-h,100px) + 8px);border-radius:16px;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow-md);background:linear-gradient(180deg,#fff 0%,#fafbfc 100%)}
.shop-cart-summary__title{margin:0 0 12px;font-size:.94rem;display:flex;align-items:center;gap:6px;padding-bottom:10px;border-bottom:1px dashed var(--shop-border)}
.shop-cart-summary__title i{color:var(--shop-primary);font-size:1.1rem}
.shop-cart-summary__rows{margin-bottom:14px}
.shop-cart-summary__row{display:flex;justify-content:space-between;padding:6px 0;font-size:.82rem;color:var(--shop-muted)}
.shop-cart-summary__row span:last-child{font-weight:700;color:var(--shop-text);font-variant-numeric:tabular-nums}
.shop-cart-summary__row--total{font-weight:800;font-size:.95rem;border-top:2px solid var(--shop-border);margin-top:8px;padding-top:10px;color:var(--shop-primary)!important;background:linear-gradient(135deg,var(--shop-primary-soft),transparent);margin-left:-6px;margin-right:-6px;padding-left:6px;padding-right:6px;border-radius:10px}
.shop-cart-summary__row--total span:last-child{color:var(--shop-primary)!important;font-size:1.08rem;font-weight:900}
.shop-cart-summary .shop-btn--block{margin-top:0;padding:12px 16px;font-size:.9rem;font-weight:800;border-radius:12px;box-shadow:0 6px 16px color-mix(in srgb,var(--shop-primary) 28%,transparent)}
.shop-btn--sm{padding:8px 14px;font-size:.78rem;border-radius:10px}
@media(max-width:768px){
  .shop-cart-item{grid-template-columns:64px 1fr;grid-template-rows:auto auto;padding:12px}
  .shop-cart-item__thumb{width:64px;height:64px}
  .shop-cart-item__side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;min-width:0;padding-top:8px;border-top:1px dashed #f1f5f9;margin-top:2px}
  .shop-cart-item__price{flex-direction:row;align-items:baseline;gap:8px;border-top:0;padding-top:0;width:auto}
  .shop-cart-summary{position:static}
}
@media(max-width:640px){
  .shop-cart-details__row{grid-template-columns:1fr}
}

.shop-page-content{line-height:1.8;font-size:.92rem}
.shop-page-content img{max-width:100%;height:auto;border-radius:var(--shop-radius)}

/* ═══ Saniar Theme ═══ */
.sn-theme [hidden],
.sn-mega[hidden],
#snMegaPanel[hidden],
#snMobileMenu[hidden],
#snCartDrawer[hidden],
#snOverlay[hidden],
.sn-user-drop__panel[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.sn-theme{background:var(--shop-bg)}
.sn-muted{color:var(--shop-muted);font-size:.85rem}
.sn-topbar{background:var(--sn-topbar);color:rgba(255,255,255,.88);font-size:.78rem}
.sn-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;flex-wrap:wrap}
.sn-topbar a,.sn-topbar span{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.sn-topbar a:hover{color:#fff}
.sn-topbar__right,.sn-topbar__left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sn-money{display:inline-flex;align-items:center;gap:6px;margin:0;color:inherit;cursor:pointer}
.sn-money__select{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:4px 8px;font:inherit;font-size:.78rem;max-width:9rem;cursor:pointer}
.sn-money__select option{color:#222;background:#fff}
.sn-header{background:#fff;box-shadow:var(--shop-shadow-md);position:sticky;top:0;z-index:200}
.sn-header__main{display:flex;align-items:center;gap:14px;padding:14px 0}
.sn-header__menu-btn{display:none;border:0;background:var(--shop-primary-soft);color:var(--shop-primary);width:42px;height:42px;border-radius:10px;font-size:1.4rem;cursor:pointer}
.sn-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none!important;color:var(--shop-text)}
.sn-logo img{height:46px;width:auto}
.sn-logo__icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.sn-logo__text{font-size:1.15rem;font-weight:800}
.sn-search{flex:1;max-width:560px;position:relative}
.sn-search form{display:flex;align-items:stretch;min-height:48px;height:auto;background:#f3f4f6;border:2px solid transparent;border-radius:12px;overflow:hidden;transition:.2s}
.sn-search form:focus-within{border-color:var(--shop-primary);background:#fff;box-shadow:0 0 0 4px rgba(254,105,53,.12)}
.sn-search form:has(.sn-search-qs.has-tags){align-items:stretch;min-height:52px}
.sn-search input:not(.shop-qs-input){flex:1;border:0;background:transparent;padding:12px 16px;font:inherit;outline:0}
.sn-search-qs{flex:1;min-width:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;padding:0 12px;background:transparent;border:0;border-radius:0;box-shadow:none!important;cursor:text;min-height:44px}
.sn-search-qs.has-tags{flex-direction:column;align-items:stretch;gap:0;padding:8px 12px 6px;min-height:48px}
.sn-search-qs .shop-qs-chips{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:5px;width:100%;max-height:56px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;padding:0 0 6px;margin:0}
.sn-search-qs:not(.has-tags) .shop-qs-chips{display:none}
.sn-search-qs.has-tags .shop-qs-chips{border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:7px;margin-bottom:2px}
.sn-search-qs .shop-qs-tag{font-size:.68rem;padding:2px 8px 2px 5px;line-height:1.3;max-width:none;border-radius:8px;box-shadow:0 1px 0 rgba(15,23,42,.04)}
.sn-search-qs .shop-qs-tag-text{max-width:min(120px,28vw)}
.sn-search-qs .shop-qs-tag-remove{width:16px;height:16px;font-size:.78rem}
.sn-search-qs .shop-qs-input{flex:1 1 auto;width:100%;min-width:0;border:0!important;outline:0;background:transparent!important;font:inherit;font-size:.88rem;padding:10px 0!important;min-height:32px;height:auto!important;box-shadow:none!important}
.sn-search-qs.has-tags .shop-qs-input{padding:4px 0 2px!important;min-height:28px;font-size:.84rem}
.sn-search-qs .shop-qs-input::placeholder{color:#94a3b8;font-size:.82rem}
.sn-search__visual,.sn-search form>button{align-self:stretch;flex-shrink:0}
.shop-product-grid span.pl-qs-hit{padding:0 2px;border-radius:3px;font-weight:800;line-height:1.35}
.shop-product-grid span.pl-qs-hit--0{background:#fde047;color:#713f12}
.shop-product-grid span.pl-qs-hit--1{background:#5eead4;color:#134e4a}
.shop-product-grid span.pl-qs-hit--2{background:#fdba74;color:#7c2d12}
.shop-product-grid span.pl-qs-hit--3{background:#f9a8d4;color:#831843}
.shop-product-grid span.pl-qs-hit--4{background:#93c5fd;color:#1e3a8a}
.shop-product-grid span.pl-qs-hit--5{background:#bef264;color:#365314}
.shop-product-grid span.pl-qs-hit--6{background:#d8b4fe;color:#581c87}
.shop-product-grid span.pl-qs-hit--7{background:#fca5a5;color:#7f1d1d}
.sn-search button{border:0;background:var(--shop-primary);color:#fff;width:52px;font-size:1.2rem;cursor:pointer}
.sn-search__visual{display:flex;align-items:center;justify-content:center;width:44px;color:var(--shop-primary);font-size:1.35rem;text-decoration:none!important;border-right:1px solid rgba(0,0,0,.06);transition:.15s}
.sn-search__visual:hover{background:rgba(254,105,53,.08);color:var(--shop-primary-dark)}
.sn-search__suggest{top:calc(100% + 8px);z-index:500}
.sn-header__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.sn-action{display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;border:0;background:transparent;font:inherit;font-size:.68rem;font-weight:700;color:var(--shop-muted);cursor:pointer;position:relative;border-radius:10px;text-decoration:none!important;transition:.15s;min-width:56px}
.sn-action i{font-size:1.45rem;color:var(--shop-text)}
.sn-action:hover{background:var(--shop-primary-soft);color:var(--shop-primary)}
.sn-action:hover i{color:var(--shop-primary)}
.sn-action--primary{background:var(--shop-primary);color:#fff!important;border-radius:10px;padding:8px 14px;flex-direction:row;min-width:auto}
.sn-action--primary i,.sn-action--primary span{color:#fff}
.sn-action--ghost{border:1px solid var(--shop-border);border-radius:10px;padding:8px 12px;flex-direction:row;min-width:auto}
.sn-action--cart{background:var(--shop-primary-soft)}
.sn-badge{position:absolute;top:0;left:6px;background:var(--shop-primary);color:#fff;font-style:normal;font-size:.62rem;min-width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-weight:800}
.sn-user-drop{position:relative}
.sn-user-drop__panel{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;background:#fff;border:1px solid var(--shop-border);border-radius:12px;box-shadow:var(--shop-shadow-lg);padding:8px;z-index:300}
.sn-user-drop__panel a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--shop-text);text-decoration:none!important}
.sn-user-drop__panel a:hover{background:var(--shop-primary-soft);color:var(--shop-primary)}
.sn-nav{background:#fff;border-top:1px solid var(--shop-border)}
.sn-nav__inner{display:flex;align-items:center;gap:12px;padding:0}
.sn-mega-wrap{position:relative;z-index:295}
.sn-mega-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));color:#fff;border:0;border-radius:0;padding:14px 18px;font:inherit;font-weight:800;font-size:.85rem;cursor:pointer;white-space:nowrap}
.sn-mega{position:absolute;top:100%;right:0;width:min(92vw,720px);background:#fff;border:1px solid var(--shop-border);border-radius:0 0 14px 14px;box-shadow:var(--shop-shadow-lg);display:grid;grid-template-columns:180px 1fr;z-index:300;min-height:280px}
.sn-mega__tabs{display:flex;flex-direction:column;border-left:1px solid var(--shop-border);background:#fafafa;padding:8px 0}
.sn-mega__tab{border:0;background:transparent;text-align:right;padding:11px 16px;font:inherit;font-size:.82rem;font-weight:700;color:var(--shop-muted);cursor:pointer;border-right:3px solid transparent}
.sn-mega__tab.is-active,.sn-mega__tab:hover{background:#fff;color:var(--shop-primary);border-right-color:var(--shop-primary)}
.sn-mega__panels{padding:16px}
.sn-mega__panel{display:none}
.sn-mega__panel.is-active{display:block}
.sn-mega__all{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--shop-primary);margin-bottom:12px;font-size:.88rem}
.sn-mega__links{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.sn-mega__links a{padding:8px 10px;border-radius:8px;font-size:.82rem;color:var(--shop-text);text-decoration:none!important;transition:.12s}
.sn-mega__links a:hover{background:var(--shop-primary-soft);color:var(--shop-primary)}
.sn-nav__list{display:flex;list-style:none;margin:0;padding:0;gap:2px;overflow-x:auto;flex:1;scrollbar-width:none}
.sn-nav__list::-webkit-scrollbar{display:none}
.sn-nav__list a{display:flex;align-items:center;gap:6px;padding:14px 14px;font-size:.82rem;font-weight:700;color:var(--shop-text);white-space:nowrap;border-bottom:3px solid transparent;transition:.15s;text-decoration:none!important}
.sn-nav__list a:hover,.sn-nav__list a.is-active{color:var(--shop-primary);border-bottom-color:var(--shop-primary);background:var(--shop-primary-soft)}
.sn-main{padding:20px 0 40px}
.sn-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:280;backdrop-filter:blur(2px)}
.sn-mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(88vw,320px);background:#fff;z-index:290;box-shadow:var(--shop-shadow-lg);display:flex;flex-direction:column}
.sn-mobile-menu__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--shop-border)}
.sn-mobile-menu__head button{border:0;background:transparent;font-size:1.5rem;cursor:pointer}
.sn-mobile-menu__body{padding:12px;overflow:auto;display:flex;flex-direction:column;gap:4px}
.sn-mobile-menu__body a{padding:12px 14px;border-radius:10px;font-weight:700;font-size:.88rem;color:var(--shop-text);text-decoration:none!important}
.sn-mobile-menu__body a:hover{background:var(--shop-primary-soft);color:var(--shop-primary)}
.sn-mobile-menu__count{
  margin-right:auto;font-size:.68rem;font-weight:800;
  padding:2px 8px;border-radius:999px;
  background:var(--shop-primary-soft);color:var(--shop-primary);
}
.sn-footer{background:var(--sn-dark);color:rgba(255,255,255,.85);margin-top:40px}
.sn-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:36px 0 28px}
.sn-footer__col h4{margin:0 0 14px;font-size:.92rem;color:#fff;display:flex;align-items:center;gap:8px}
.sn-footer__col p,.sn-footer__col li{font-size:.82rem;line-height:1.8;color:rgba(255,255,255,.7)}
.sn-footer__col ul{list-style:none;padding:0;margin:0}
.sn-footer__col a{color:rgba(255,255,255,.75);text-decoration:none!important}
.sn-footer__col a:hover{color:var(--shop-primary)}
.sn-footer__social{display:flex;gap:10px;margin-top:12px}
.sn-footer__social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff}
.sn-footer__social a:hover{background:var(--shop-primary)}
.sn-footer__services{background:rgba(0,0,0,.2);padding:20px 0;border-top:1px solid rgba(255,255,255,.08)}
.sn-footer__services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sn-footer__services-grid div{display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;color:rgba(255,255,255,.88)}
.sn-footer__services-grid i{font-size:1.4rem;color:var(--shop-primary)}
.sn-footer__social:empty{display:none;margin:0}
.sn-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:14px 0;text-align:center;font-size:.78rem;color:rgba(255,255,255,.5)}
.sn-cart-drawer{position:fixed;top:0;left:0;bottom:0;width:min(92vw,400px);background:#fff;z-index:300;box-shadow:0 0 40px rgba(15,23,42,.18);display:flex;flex-direction:column;border-left:1px solid var(--shop-border)}
.sn-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--shop-border);background:linear-gradient(180deg,#fff,#fafbfc)}
.sn-cart-drawer__head h3{margin:0;font-size:.95rem;display:flex;align-items:center;gap:8px;font-weight:800}
.sn-cart-drawer__head h3 i{color:var(--shop-primary);font-size:1.15rem}
.sn-cart-drawer__head button{border:0;background:#f3f4f6;width:36px;height:36px;border-radius:10px;font-size:1.3rem;cursor:pointer;color:#6b7280;transition:.12s}
.sn-cart-drawer__head button:hover{background:#fee2e2;color:#dc2626}
.sn-cart-drawer__body{flex:1;overflow:auto;padding:12px;background:#f8fafc}
.sn-cart-drawer__foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom,0));border-top:1px solid var(--shop-border);display:flex;flex-direction:column;gap:10px;background:#fff}
.sn-cart-drawer__summary{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid var(--shop-border);border-radius:12px;padding:10px 12px}
.sn-cart-drawer__row{display:flex;justify-content:space-between;font-size:.78rem;color:var(--shop-muted);padding:4px 0}
.sn-cart-drawer__row span:last-child{font-weight:700;color:var(--shop-text);font-variant-numeric:tabular-nums}
.sn-cart-drawer__total{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;margin-top:6px;padding-top:8px;border-top:1px dashed var(--shop-border);font-weight:800}
.sn-cart-drawer__total strong{font-size:1rem;color:var(--shop-primary);font-variant-numeric:tabular-nums}
.sn-cart-drawer__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sn-cart-drawer__actions .shop-btn{padding:11px 10px;font-size:.78rem;font-weight:800;border-radius:11px;justify-content:center}
.sn-cart-drawer__actions .shop-btn--primary{box-shadow:0 6px 14px color-mix(in srgb,var(--shop-primary) 25%,transparent)}
.sn-cart-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;text-align:center;color:var(--shop-muted)}
.sn-cart-empty i{font-size:2.5rem;opacity:.35;color:var(--shop-primary)}
.sn-cart-empty p{margin:0;font-size:.88rem;font-weight:600}
.sn-cart-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;margin-bottom:8px;box-shadow:0 2px 6px rgba(15,23,42,.04)}
.sn-cart-item--order{border-color:#c7d2fe;background:linear-gradient(180deg,#fff,#fafbff)}
.sn-cart-item__thumb{display:block;width:64px;height:64px;background:#f9fafb;border-radius:10px;border:1px solid #f1f5f9;padding:4px;overflow:hidden}
.sn-cart-item__thumb img{width:100%;height:100%;object-fit:contain}
.sn-cart-item__body{min-width:0;display:flex;flex-direction:column;gap:6px}
.sn-cart-item__head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.sn-cart-item__name{display:block;font-size:.8rem;font-weight:800;line-height:1.4;color:var(--shop-text)}
.sn-cart-item__qty-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;font-size:.6rem;font-weight:800;color:#6b7280;white-space:nowrap;flex-shrink:0}
.sn-cart-item__qty-badge i{font-size:.8rem}
.sn-cart-item__meta{min-width:0}
.sn-cart-item__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px;border-top:1px dashed #f1f5f9;margin-top:2px}
.sn-cart-item__price{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.sn-cart-item__price small{font-size:.62rem;color:var(--shop-muted);font-weight:600}
.sn-cart-item__price strong{font-size:.84rem;font-weight:900;color:var(--shop-primary);font-variant-numeric:tabular-nums}
.sn-cart-item__remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #fecaca;background:#fff5f5;color:#dc2626;border-radius:9px;font-size:1rem;cursor:pointer;transition:.12s;flex-shrink:0}
.sn-cart-item__remove:hover{background:#dc2626;color:#fff;border-color:#dc2626}
.sn-blog-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start}
.sn-blog-sidebar{background:#fff;border-radius:var(--shop-radius-lg);border:1px solid var(--shop-border);padding:16px;position:sticky;top:calc(var(--shop-header-h) + 12px)}
.sn-blog-sidebar h3{margin:0 0 12px;font-size:.9rem;color:var(--shop-text)}
.sn-blog-sidebar a{display:block;padding:10px 12px;border-radius:8px;font-size:.82rem;font-weight:700;color:var(--shop-muted);text-decoration:none!important;margin-bottom:4px}
.sn-blog-sidebar a.is-active,.sn-blog-sidebar a:hover{background:var(--shop-primary-soft);color:var(--shop-primary)}
.sn-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.sn-blog-card{background:#fff;border-radius:var(--shop-radius-lg);overflow:hidden;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow);transition:.2s;text-decoration:none!important;color:inherit;display:flex;flex-direction:column}
.sn-blog-card:hover{transform:translateY(-4px);box-shadow:var(--shop-shadow-md);border-color:color-mix(in srgb,var(--shop-primary) 30%,#fff)}
.sn-blog-card__img{aspect-ratio:16/10;background:linear-gradient(135deg,#fff4ef,#f3f4f6);display:flex;align-items:center;justify-content:center;color:var(--shop-primary);font-size:2.5rem;overflow:hidden}
.sn-blog-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.sn-blog-card__body{padding:16px;flex:1;display:flex;flex-direction:column}
.sn-blog-card__cat{font-size:.72rem;font-weight:800;color:var(--shop-primary);margin-bottom:6px}
.sn-blog-card__date{font-size:.72rem;color:var(--shop-muted);margin-bottom:8px;display:flex;align-items:center;gap:4px}
.sn-blog-card__title{font-size:.95rem;font-weight:800;margin:0 0 8px;line-height:1.5;color:var(--shop-text)}
.sn-blog-card__summary{font-size:.82rem;color:var(--shop-muted);line-height:1.7;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sn-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;color:var(--shop-muted);margin-bottom:16px;padding:12px 16px;background:#fff;border-radius:var(--shop-radius-lg);border:1px solid var(--shop-border)}
.sn-breadcrumb a{color:var(--shop-secondary);font-weight:600}
.sn-breadcrumb i{font-size:.9rem;opacity:.5}
.sn-page-title{font-size:1.35rem;font-weight:800;margin:0 0 20px;color:var(--shop-text)}
.sn-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.sn-section-head h2{margin:0;font-size:1.05rem;font-weight:800;display:flex;align-items:center;gap:8px}
.sn-section-head h2::before{content:'';width:4px;height:22px;background:var(--shop-primary);border-radius:4px}
.sn-hero-banner{border-radius:var(--shop-radius-lg);overflow:hidden;box-shadow:var(--shop-shadow-md);margin-bottom:24px}
.sn-services{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.sn-service-item{background:#fff;border-radius:var(--shop-radius-lg);padding:16px;display:flex;align-items:center;gap:12px;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow)}
.sn-service-item i{font-size:1.8rem;color:var(--shop-primary);flex-shrink:0}
.sn-service-item strong{display:block;font-size:.82rem;margin-bottom:2px}
.sn-service-item small{font-size:.72rem;color:var(--shop-muted)}
@media(max-width:992px){
  .sn-footer__grid,.sn-footer__services-grid,.sn-services{grid-template-columns:repeat(2,1fr)}
  .sn-blog-layout{grid-template-columns:1fr}
  .sn-blog-sidebar{position:static}
  .sn-mega{grid-template-columns:1fr;width:100%;right:0;left:0}
  .sn-mega__tabs{flex-direction:row;overflow-x:auto;border-left:0;border-bottom:1px solid var(--shop-border)}
  .sn-mega__tab{border-right:0;border-bottom:3px solid transparent;white-space:nowrap}
  .sn-mega__tab.is-active{border-bottom-color:var(--shop-primary);border-right-color:transparent}
}
@media(max-width:768px){
  .sn-header__menu-btn{display:flex;align-items:center;justify-content:center}
  .sn-search{order:3;flex:1 1 100%;max-width:none}
  .sn-header__main{flex-wrap:wrap}
  .sn-action span{display:none}
  .sn-action--primary span,.sn-action--ghost span{display:inline}
  .sn-nav{display:none}
  body.shop-body.has-mobile-nav{padding-bottom:0}
  .sn-footer__bottom{padding-bottom:calc(64px + 14px + env(safe-area-inset-bottom,0))}
  .sn-footer__grid,.sn-footer__services-grid,.sn-services{grid-template-columns:1fr}
  .sn-topbar__left{display:none}
  .sn-hero-row{grid-template-columns:1fr}
  .sn-hero-row__side{display:none}
  .sn-auth-grid{grid-template-columns:1fr}
  .sn-auth-visual{display:none}
}

/* v10 Saniar polish */
.sn-product-card{border-radius:14px;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}
.sn-product-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(15,23,42,.12);border-color:color-mix(in srgb,var(--shop-primary) 35%,#fff)}
.sn-product-card__brand{display:inline-block;font-size:.68rem;font-weight:800;color:var(--shop-muted);margin-bottom:6px;padding:2px 8px;background:#f3f4f6;border-radius:6px}
.sn-price-now{color:var(--shop-primary);font-weight:900;font-size:1rem}
.sn-price-now--text{color:#4338ca;font-size:.88rem}
.sn-hero-row{display:grid;grid-template-columns:1fr 280px;gap:14px;margin-bottom:24px;align-items:stretch}
.sn-hero-row__main{min-width:0}
.sn-hero-row__side{display:flex;flex-direction:column;gap:14px}
.sn-side-banner{flex:1;border-radius:14px;background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));color:#fff;text-decoration:none!important;display:flex;align-items:flex-end;padding:18px;background-size:cover;background-position:center;position:relative;overflow:hidden;min-height:120px;box-shadow:var(--shop-shadow-md)}
.sn-side-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.55))}
.sn-side-banner__text{position:relative;z-index:1}
.sn-side-banner__text strong{display:block;font-size:.95rem;margin-bottom:4px}
.sn-side-banner__text small{font-size:.75rem;opacity:.9}
.sn-cat-scroll{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}
.sn-cat-pill{flex:0 0 auto;min-width:92px;text-align:center;border:0;background:transparent;box-shadow:none!important}
.sn-cat-pill .shop-cat-card__ring{width:72px;height:72px;border-radius:50%;padding:4px;background:linear-gradient(135deg,var(--shop-primary),#ffb347);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;transition:.2s}
.sn-cat-pill:hover .shop-cat-card__ring{transform:scale(1.06)}
.sn-cat-pill .shop-cat-card__ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff;border:3px solid #fff}
.shop-cat-card__ring img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.sn-brand-pill__logo{width:22px;height:22px;border-radius:6px;object-fit:cover;flex-shrink:0}
.sn-brand-pill{display:inline-flex;align-items:center;gap:6px}
.sn-mega__tab-img{width:22px;height:22px;border-radius:6px;object-fit:cover;flex-shrink:0}
.shop-subgroups__img{width:20px;height:20px;border-radius:5px;object-fit:cover;margin-left:6px;vertical-align:middle}
.sn-cat-pill>span:last-child{font-size:.78rem;font-weight:800;color:var(--shop-text)}
.shop-cat-card__count{display:block;font-size:.68rem;color:var(--shop-muted);margin-top:2px}
.sn-cat-pill .shop-cat-card__ring i{font-size:1.8rem;color:#fff}
.shop-category-intro{margin-bottom:18px}
.shop-category-intro__lead{margin:-8px 0 0;color:var(--shop-muted);font-size:.88rem}
.sn-cat-grid{display:grid;gap:14px 12px;padding:4px 0 8px}
.sn-cat-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:480px){.sn-cat-grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:640px){.sn-cat-grid--5{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:768px){.sn-cat-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.sn-cat-grid__item{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  min-width:0;border:1px solid var(--shop-border);border-radius:var(--shop-radius-lg);
  padding:14px 8px 12px;background:var(--shop-surface);box-shadow:var(--shop-shadow);
  text-decoration:none!important;color:inherit;transition:transform .2s,border-color .2s,box-shadow .2s;
}
.sn-cat-grid__item:hover{transform:translateY(-2px);border-color:var(--shop-primary);box-shadow:var(--shop-shadow-md)}
.sn-cat-grid__item .shop-cat-card__ring{
  width:72px;height:72px;border-radius:50%;padding:4px;margin:0 auto 10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.sn-cat-grid__item .shop-cat-card__ring:not(.sn-cat-ico){
  background:linear-gradient(135deg,var(--shop-primary),#ffb347);
}
.sn-cat-grid__item .shop-cat-card__ring img{
  width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff;border:3px solid #fff;
}
.sn-cat-grid__item .shop-cat-card__ring i{font-size:1.8rem;color:#fff}
.sn-cat-grid__item .shop-cat-card__name{
  display:block;font-size:.78rem;font-weight:800;line-height:1.35;color:var(--shop-text);
  word-break:break-word;
}
.sn-cat-grid__item .shop-cat-card__count{margin-top:4px}
.shop-category-header{margin-bottom:14px}
.shop-category-header__title{margin:0 0 6px}
.shop-category-header__desc{margin:0 0 12px;color:var(--shop-muted);font-size:.88rem;line-height:1.65}
.shop-subgroups{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.shop-subgroups__pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--shop-border);background:#fff;color:var(--shop-text);font-size:.78rem;font-weight:700;text-decoration:none!important;transition:.15s var(--shop-ease);box-shadow:var(--shop-shadow)}
.shop-subgroups__pill:hover{border-color:var(--shop-primary);background:var(--shop-primary-soft);color:var(--shop-primary)}
.shop-subgroups__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--shop-primary-soft);color:var(--shop-primary);font-size:.68rem;font-weight:800}
.shop-empty--page{text-align:center;padding:48px 20px;margin:24px auto;max-width:420px;background:var(--shop-surface);border:1px solid var(--shop-border);border-radius:var(--shop-radius-lg);box-shadow:var(--shop-shadow)}
.shop-empty--page i{font-size:3rem;color:var(--shop-muted);margin-bottom:12px;display:block}
.shop-empty--page .sn-page-title{margin-bottom:8px}
.shop-empty--page p{color:var(--shop-muted);margin:0 0 18px}
.shop-empty--error{position:relative;max-width:480px;padding-top:56px}
.shop-empty--error .shop-empty__code{position:absolute;top:16px;left:50%;transform:translateX(-50%);font-size:4rem;font-weight:900;line-height:1;opacity:.08;background:linear-gradient(135deg,var(--shop-primary),#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent;pointer-events:none;user-select:none}
.shop-empty--error i{color:var(--shop-primary);font-size:3.2rem}
.shop-category-page .shop-catalog-main .sn-page-title{display:none}
.sn-blog-featured{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:8px}
.sn-blog-featured--page{margin-bottom:24px}
.sn-blog-featured__card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow);text-decoration:none!important;color:inherit;transition:.2s;display:flex;flex-direction:column}
.sn-blog-featured__card:hover{transform:translateY(-4px);box-shadow:var(--shop-shadow-md);border-color:color-mix(in srgb,var(--shop-primary) 30%,#fff)}
.sn-blog-featured__img{aspect-ratio:16/9;background:linear-gradient(135deg,#fff4ef,#fde8df);display:flex;align-items:center;justify-content:center;color:var(--shop-primary);font-size:2.2rem}
.sn-blog-featured__body{padding:14px 16px}
.sn-blog-featured__body time{font-size:.72rem;color:var(--shop-muted);display:block;margin-bottom:6px}
.sn-blog-featured__body h3{margin:0;font-size:.92rem;font-weight:800;line-height:1.55;color:var(--shop-text)}
.sn-blog-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.sn-blog-card--compact{flex:0 0 min(280px,78vw)}
.sn-blog-section{margin-bottom:28px}
.sn-blog-page .sn-blog-layout{grid-template-columns:220px 1fr}
.sn-blog-main{min-width:0}
.sn-user-drop__head{display:flex;align-items:center;gap:10px;padding:10px 12px 12px;border-bottom:1px solid var(--shop-border);margin-bottom:6px}
.sn-user-drop__head i{font-size:2rem;color:var(--shop-primary)}
.sn-user-drop__head strong{display:block;font-size:.85rem}
.sn-user-drop__head small{font-size:.72rem;color:var(--shop-muted)}
.sn-user-drop__panel{min-width:240px;padding:8px 0}
.sn-user-drop__panel a{padding:9px 16px;font-size:.8rem}
.sn-user-drop__out{color:#dc2626!important;margin-top:4px;border-top:1px solid var(--shop-border);border-radius:0!important;padding-top:12px!important}
.sn-user-drop__out:hover{background:#fef2f2!important;color:#dc2626!important}
.sn-cart-drawer{width:min(92vw,420px)}
.sn-cart-order-box{background:#f9fafb;border-radius:12px;padding:12px;margin-bottom:10px}
.sn-cart-order-box h4{margin:0 0 10px;font-size:.82rem;font-weight:800}
.sn-cart-order-table{width:100%;border-collapse:collapse;font-size:.75rem}
.sn-cart-order-table th,.sn-cart-order-table td{padding:6px 4px;text-align:right;border-bottom:1px solid var(--shop-border)}
.sn-cart-order-table th{font-weight:700;color:var(--shop-muted)}
.sn-cart-item__prices{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sn-cart-item__old{font-size:.72rem;color:var(--shop-muted);text-decoration:line-through}
.sn-cart-item__qty{font-size:.7rem;color:var(--shop-muted);display:block;margin-top:4px}
.sn-btn-block{width:100%;justify-content:center}
.sn-footer__about{background:rgba(0,0,0,.25);padding:28px 0;border-top:1px solid rgba(255,255,255,.08)}
.sn-footer__about-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sn-footer__about p{margin:0;max-width:720px;font-size:.85rem;line-height:1.9;color:rgba(255,255,255,.75)}
.sn-auth-wrap{padding:24px 0 40px}
.sn-auth-grid{display:grid;grid-template-columns:1fr 420px;gap:24px;align-items:stretch}
.sn-auth-visual{background:linear-gradient(145deg,var(--shop-primary),var(--shop-primary-dark));border-radius:18px;padding:36px 32px;color:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shop-shadow-lg)}
.sn-auth-visual>i{font-size:3.5rem;margin-bottom:16px;opacity:.9}
.sn-auth-visual h2{margin:0 0 10px;font-size:1.35rem}
.sn-auth-visual p{margin:0 0 20px;opacity:.92;line-height:1.8;font-size:.9rem}
.sn-auth-features{list-style:none;margin:0;padding:0}
.sn-auth-features li{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:.85rem;font-weight:600}
.sn-auth-features i{color:#fff;background:rgba(255,255,255,.2);border-radius:50%;width:22px;height:22px;font-size:.9rem;position:relative;box-sizing:border-box;flex-shrink:0}
.sn-auth-card{border-radius:18px;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow-md);padding:28px 24px;background:#fff}
.sn-auth-card h1{font-size:1.15rem;margin:0 0 6px;display:flex;align-items:center;gap:8px}
@media(max-width:992px){
  .sn-blog-featured{grid-template-columns:1fr}
  .sn-blog-page .sn-blog-layout{grid-template-columns:1fr}
}

/* v12 home polish */
.sn-quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.sn-quick-link{background:#fff;border:1px solid var(--shop-border);border-radius:14px;padding:16px 14px;text-decoration:none!important;color:inherit;display:flex;align-items:center;gap:12px;box-shadow:var(--shop-shadow);transition:.2s}
.sn-quick-link:hover{transform:translateY(-3px);box-shadow:var(--shop-shadow-md);border-color:color-mix(in srgb,var(--shop-primary) 35%,#fff)}
.sn-quick-link i{width:44px;height:44px;border-radius:12px;background:var(--shop-primary-soft);color:var(--shop-primary);font-size:1.4rem;flex-shrink:0;position:relative;box-sizing:border-box}
.sn-quick-link strong{display:block;font-size:.82rem;margin-bottom:2px}
.sn-quick-link small{font-size:.72rem;color:var(--shop-muted)}
.sn-promo-strip{background:linear-gradient(135deg,#1e293b,#334155);border-radius:16px;padding:22px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#fff;box-shadow:var(--shop-shadow-lg)}
.sn-promo-strip__text h3{margin:0 0 6px;font-size:1.05rem}
.sn-promo-strip__text p{margin:0;font-size:.85rem;opacity:.88;line-height:1.7}
.sn-promo-strip__actions{display:flex;gap:10px;flex-wrap:wrap}
.sn-brands-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin;margin-bottom:8px}
.sn-brand-pill{flex:0 0 auto;padding:10px 18px;background:#fff;border:1px solid var(--shop-border);border-radius:999px;font-size:.78rem;font-weight:800;color:var(--shop-text);text-decoration:none!important;white-space:nowrap;transition:.15s;box-shadow:var(--shop-shadow)}
.sn-brand-pill:hover{border-color:var(--shop-primary);color:var(--shop-primary);background:var(--shop-primary-soft)}
.sn-newsletter{background:linear-gradient(135deg,var(--shop-primary-soft),#fff);border:1px solid color-mix(in srgb,var(--shop-primary) 25%,#fff);border-radius:16px;padding:28px 24px;margin:32px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sn-newsletter h3{margin:0 0 6px;font-size:1rem;display:flex;align-items:center;gap:8px}
.sn-newsletter p{margin:0;font-size:.82rem;color:var(--shop-muted);line-height:1.7}
.sn-newsletter__form{display:flex;gap:8px;flex:1;min-width:240px;max-width:420px}
.sn-newsletter__form input{flex:1;border:1px solid var(--shop-border);border-radius:10px;padding:12px 14px;font:inherit;background:#fff}
.sn-deals-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#dc2626,#ea580c);color:#fff;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:999px;margin-right:8px}
@media(max-width:768px){
  .sn-quick-links{grid-template-columns:repeat(2,1fr)}
  .sn-promo-strip{flex-direction:column;align-items:flex-start}
  .sn-newsletter{flex-direction:column;align-items:stretch}
  .sn-newsletter__form{max-width:none}
}

/* v25 theme polish — icons, surfaces, cards */
body.shop-body.sn-theme{
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%,color-mix(in srgb,var(--shop-primary) 8%,transparent),transparent 55%),
    radial-gradient(ellipse 60% 40% at 0% 100%,color-mix(in srgb,var(--shop-secondary) 6%,transparent),transparent 50%),
    linear-gradient(180deg,#f8fafc 0%,var(--shop-bg) 40%,#eef1f6 100%);
}
.sn-header{background:#fff;box-shadow:0 1px 0 var(--shop-border),0 8px 24px rgba(15,23,42,.04)}
.sn-nav{border-top:1px solid var(--shop-border);background:linear-gradient(180deg,#fff,#fafbfc)}
.sn-nav__list a i{font-size:1.05rem;opacity:.85}
.sn-nav__list a.is-active{background:var(--shop-primary-soft);color:var(--shop-primary)}
.sn-nav__list a.is-active i{color:var(--shop-primary);opacity:1}
.sn-action i{width:36px;height:36px;border-radius:10px;background:#f3f4f6;transition:.15s;position:relative;box-sizing:border-box;flex-shrink:0}
.sn-action:hover i,.sn-action--cart i{background:var(--shop-primary-soft);color:var(--shop-primary)}
.sn-action--primary i,.sn-action--ghost i{width:auto;height:auto;background:transparent}
.sn-action--primary:hover i{background:transparent}
.sn-topbar a i,.sn-topbar span i{font-size:.95rem;opacity:.9}
.sn-section-head h2::before{display:none}
.sn-sec-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:11px;flex-shrink:0;
  background:linear-gradient(135deg,var(--shop-primary-soft),#fff);
  color:var(--shop-primary);font-size:1.15rem;
  box-shadow:0 2px 8px color-mix(in srgb,var(--shop-primary) 18%,transparent);
}
.sn-sec-ico--blue{background:linear-gradient(135deg,#eff6ff,#fff);color:#2563eb;box-shadow:0 2px 8px rgba(37,99,235,.15)}
.sn-sec-ico--red{background:linear-gradient(135deg,#fef2f2,#fff);color:#dc2626;box-shadow:0 2px 8px rgba(220,38,38,.12)}
.sn-sec-ico--green{background:linear-gradient(135deg,#ecfdf5,#fff);color:#059669;box-shadow:0 2px 8px rgba(5,150,105,.12)}
.sn-sec-ico--orange{background:linear-gradient(135deg,#fff7ed,#fff);color:#ea580c;box-shadow:0 2px 8px rgba(234,88,12,.12)}
.sn-sec-ico--purple{background:linear-gradient(135deg,#f5f3ff,#fff);color:#7c3aed;box-shadow:0 2px 8px rgba(124,58,237,.12)}
.shop-section__link{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:800;color:var(--shop-secondary);padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--shop-border);transition:.15s}
.shop-section__link:hover{background:var(--shop-primary-soft);color:var(--shop-primary);border-color:color-mix(in srgb,var(--shop-primary) 30%,#fff)}
.sn-cat-ico{display:flex!important;align-items:center;justify-content:center;font-size:1.55rem!important}
.sn-cat-ico--1{background:linear-gradient(135deg,#fff4ef,#fde8df)!important;color:var(--shop-primary)!important}
.sn-cat-ico--2{background:linear-gradient(135deg,#eff6ff,#dbeafe)!important;color:#2563eb!important}
.sn-cat-ico--3{background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;color:#059669!important}
.sn-cat-ico--4{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;color:#d97706!important}
.sn-cat-ico--5{background:linear-gradient(135deg,#f5f3ff,#ede9fe)!important;color:#7c3aed!important}
.sn-cat-ico--6{background:linear-gradient(135deg,#fce7f3,#fbcfe8)!important;color:#db2777!important}
.sn-brand-pill{display:inline-flex;align-items:center;gap:6px}
.sn-brand-pill i{font-size:1rem;color:var(--shop-primary);opacity:.85}
.sn-mega__all{display:inline-flex;align-items:center;gap:6px;font-weight:800}
.sn-mega__links a{display:inline-flex;align-items:center;gap:4px}
.sn-mega__links a i{font-size:.85rem;color:var(--shop-muted);transition:.15s}
.sn-mega__links a:hover i{color:var(--shop-primary)}
.sn-mobile-menu__body a{display:flex;align-items:center;gap:10px}
.sn-mobile-menu__body a i{width:32px;height:32px;border-radius:9px;background:var(--shop-primary-soft);color:var(--shop-primary);font-size:1.1rem;flex-shrink:0;position:relative;box-sizing:border-box}
.sn-footer__col ul a{display:inline-flex;align-items:center;gap:6px}
.sn-footer__col ul a i{font-size:.9rem;opacity:.75;transition:.15s}
.sn-footer__col ul a:hover i{opacity:1;color:var(--shop-primary)}
.sn-footer__col h4{display:flex;align-items:center;gap:8px}
.sn-footer__col h4 i{color:var(--shop-primary);font-size:1.1rem}
.sn-services--compact .sn-service-item i{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,var(--shop-primary-soft),#fff);
  font-size:1.35rem;color:var(--shop-primary);flex-shrink:0;
  box-shadow:0 2px 8px rgba(254,105,53,.12);
  position:relative;box-sizing:border-box;
}
.sn-services--compact .sn-service-item{display:flex;align-items:center;gap:12px}
.shop-btn{box-shadow:0 2px 8px rgba(15,23,42,.06)}
.shop-btn--primary{box-shadow:0 4px 14px color-mix(in srgb,var(--shop-primary) 35%,transparent)}
.shop-btn--primary:hover{box-shadow:0 6px 20px color-mix(in srgb,var(--shop-primary) 40%,transparent);transform:translateY(-1px)}
.shop-btn i{font-size:1.05rem}
.sn-product-card{border:1px solid var(--shop-border);background:#fff}
.sn-product-card .shop-product-card__img{background:linear-gradient(180deg,#fafbfc,#fff)}
.shop-product-card__stock{display:inline-flex;align-items:center;gap:3px;font-size:.65rem;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--shop-success-soft);color:var(--shop-success)}
.shop-product-card__stock.is-out{background:#fef2f2;color:#dc2626}
.shop-product-card__stock.is-preorder{background:#fff7ed;color:#ea580c}
.shop-product-card__photos{display:inline-flex;align-items:center;gap:3px;position:absolute;bottom:8px;left:8px;background:rgba(255,255,255,.92);padding:3px 8px;border-radius:999px;font-size:.65rem;font-weight:700;color:var(--shop-muted);backdrop-filter:blur(4px)}
.shop-product-card__view:hover{background:var(--shop-secondary);color:#fff;border-color:var(--shop-secondary);box-shadow:0 4px 12px color-mix(in srgb,var(--shop-secondary) 28%,transparent)}
.shop-product-card__wish.is-active,.shop-product-card__wish:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626;box-shadow:0 4px 12px rgba(220,38,38,.12)}
.shop-mobile-nav__list a.is-active{color:var(--shop-primary)}
.shop-mobile-nav__list a.is-active i{background:var(--shop-primary-soft);border-radius:8px;padding:2px 0}
.shop-load-more{text-align:center;margin-top:16px}
.shop-load-more .shop-btn{min-width:180px;border-radius:999px}
.sn-hero-section{margin-bottom:8px}
.shop-hero__nav{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.95);
  border:1px solid var(--shop-border);box-shadow:var(--shop-shadow-md);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;
  color:var(--shop-text);backdrop-filter:blur(6px);transition:.15s;
}
.shop-hero__nav:hover{background:var(--shop-primary);color:#fff;border-color:var(--shop-primary)}
.sn-festival-card .shop-product-card__discount{
  display:inline-flex;align-items:center;gap:4px;
  background:linear-gradient(135deg,#dc2626,#ea580c);
  box-shadow:0 4px 12px rgba(220,38,38,.3);
}
.sn-newsletter{border-radius:18px;box-shadow:var(--shop-shadow-md)}
.sn-promo-strip{border-radius:18px}
.sn-quick-link{border-radius:16px}

.shop-tipax-city-list{position:relative;z-index:5}
.shop-tipax-city-list:empty{display:none}
.shop-tipax-city-item{
  display:block;width:100%;text-align:right;padding:10px 12px;border:none;border-bottom:1px solid var(--shop-border);
  background:#fff;font:inherit;cursor:pointer;transition:.12s;
}
.shop-tipax-city-item:hover{background:var(--shop-primary-soft);color:var(--shop-primary)}
.shop-field--tipax-city{position:relative}
@media(max-width:768px){
  .sn-sec-ico{width:30px;height:30px;font-size:1rem;border-radius:9px}
  .shop-product-card__view,.shop-product-card__wish,.shop-product-card__compare{height:38px;min-width:38px}
}

/* ═══ v27 — Premium shop refresh (home, catalog, inner pages) ═══ */
:root{
  --shop-radius-xl:18px;
  --shop-radius-2xl:22px;
  --shop-surface-elevated:#ffffff;
  --shop-surface-muted:#f8fafc;
  --shop-glow:0 0 0 1px color-mix(in srgb,var(--shop-primary) 8%,transparent);
}
html{font-size:15px}
body.shop-body.sn-theme{
  color:var(--shop-text);
  letter-spacing:-.01em;
}
.sn-main,.shop-main.sn-main{padding:24px 0 48px}
.shop-container{max-width:1280px;padding:0 16px}
.shop-home{padding-top:4px}
.shop-page{padding-top:2px}

/* Header & nav polish */
.sn-header{
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px);
  box-shadow:0 1px 0 rgba(15,23,42,.06),0 12px 32px rgba(15,23,42,.04);
}
.sn-search form{border-radius:14px;background:#f1f5f9}
.sn-search button{border-radius:0 12px 12px 0}
.sn-mega-btn{border-radius:0 14px 0 0;padding:15px 20px;letter-spacing:-.02em}
.sn-nav__list a{border-radius:10px 10px 0 0;margin-top:2px}

/* Breadcrumb */
.sn-breadcrumb{
  margin-bottom:18px;
  padding:11px 16px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  border-radius:14px;
  border:1px solid color-mix(in srgb,var(--shop-border) 80%,#fff);
  box-shadow:0 2px 12px rgba(15,23,42,.04);
}
.sn-breadcrumb--inline{margin-bottom:10px;padding:0;background:transparent;border:0;box-shadow:none}

/* Section rhythm — home */
.shop-home .shop-section,
.shop-home .sn-home-blog{
  background:var(--shop-surface-elevated);
  border:1px solid var(--shop-border);
  border-radius:var(--shop-radius-2xl);
  padding:20px 20px 22px;
  margin-bottom:20px;
  box-shadow:var(--shop-shadow);
}
.shop-home .sn-section-head{margin-bottom:14px}

.shop-home .sn-home-blog{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#faf5ff 0%,#fff 42%,#fff7f4 100%);
  border-color:color-mix(in srgb,#8b5cf6 18%,var(--shop-border));
}
.sn-home-blog__decor{
  position:absolute;
  inset:-40% auto auto -20%;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(139,92,246,.16),transparent 68%);
  pointer-events:none;
}
.sn-home-blog__hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:0;
  border-radius:20px;
  overflow:hidden;
  text-decoration:none!important;
  color:inherit;
  background:#fff;
  border:1px solid color-mix(in srgb,#8b5cf6 14%,var(--shop-border));
  box-shadow:0 16px 40px rgba(88,28,135,.08);
  margin-bottom:16px;
  transition:transform .22s var(--shop-ease),box-shadow .22s,border-color .22s;
}
.sn-home-blog__hero:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 48px rgba(88,28,135,.12);
  border-color:color-mix(in srgb,#8b5cf6 32%,var(--shop-border));
}
.sn-home-blog__hero-media{
  position:relative;
  min-height:220px;
  background:linear-gradient(145deg,#ede9fe,#fff4ef 55%,#fce7f3);
}
.sn-home-blog__hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  min-height:220px;
}
.sn-home-blog__hero-art{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7c3aed;
  font-size:3.5rem;
}
.sn-home-blog__hero-ring{
  position:absolute;
  width:140px;
  height:140px;
  border-radius:50%;
  border:2px dashed rgba(124,58,237,.25);
  animation:snBlogSpin 18s linear infinite;
}
@keyframes snBlogSpin{to{transform:rotate(360deg)}}
.sn-home-blog__pill{
  position:absolute;
  top:14px;
  right:14px;
  padding:6px 12px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  color:#5b21b6;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(139,92,246,.2);
  backdrop-filter:blur(6px);
}
.sn-home-blog__hero-body{
  padding:22px 22px 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}
.sn-home-blog__hero-body time{
  font-size:.78rem;
  font-weight:700;
  color:#7c3aed;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.sn-home-blog__hero-body h3{
  margin:0;
  font-size:1.15rem;
  font-weight:900;
  line-height:1.55;
  letter-spacing:-.02em;
}
.sn-home-blog__excerpt{
  margin:0;
  font-size:.86rem;
  line-height:1.85;
  color:var(--shop-muted);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sn-home-blog__cta{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.82rem;
  font-weight:800;
  color:var(--shop-primary);
}
.sn-home-blog__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.sn-home-blog__card{
  display:flex;
  flex-direction:column;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--shop-border);
  text-decoration:none!important;
  color:inherit;
  box-shadow:0 4px 16px rgba(15,23,42,.04);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.sn-home-blog__card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 28px rgba(15,23,42,.08);
  border-color:color-mix(in srgb,#8b5cf6 26%,var(--shop-border));
}
.sn-home-blog__card-media{
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#f5f3ff,#fff7ed);
  overflow:hidden;
}
.sn-home-blog__card-media img{width:100%;height:100%;object-fit:cover;display:block}
.sn-home-blog__card-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:2rem;
  color:#8b5cf6;
}
.sn-home-blog__card-body{padding:12px 14px 14px}
.sn-home-blog__card-body time{
  font-size:.72rem;
  color:var(--shop-muted);
  display:flex;
  align-items:center;
  gap:4px;
  margin-bottom:6px;
}
.sn-home-blog__card-body h4{
  margin:0;
  font-size:.88rem;
  font-weight:800;
  line-height:1.55;
}
.sn-home-blog__rail-head{
  font-size:.78rem;
  font-weight:800;
  color:var(--shop-muted);
  margin:4px 0 10px;
}
.sn-home-blog__rail .sn-blog-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sn-home-blog__mini .sn-blog-card__img{
  aspect-ratio:16/10;
  overflow:hidden;
  padding:0;
}
.sn-home-blog__mini .sn-blog-card__img i{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:992px){
  .sn-home-blog__hero{grid-template-columns:1fr}
  .sn-home-blog__hero-media{min-height:180px}
  .sn-home-blog__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .sn-home-blog__grid{grid-template-columns:1fr}
  .sn-home-blog__hero-body{padding:16px}
  .sn-home-blog__hero-body h3{font-size:1.02rem}
}
.shop-home .sn-services{
  margin-bottom:20px;
  gap:10px;
}
.shop-home .sn-services .sn-service-item{
  border-radius:16px;
  padding:14px 16px;
  transition:transform .2s var(--shop-ease),box-shadow .2s,border-color .2s;
}
.shop-home .sn-services .sn-service-item:hover{
  transform:translateY(-2px);
  box-shadow:var(--shop-shadow-md);
  border-color:color-mix(in srgb,var(--shop-primary) 22%,var(--shop-border));
}
.sn-hero-section .shop-hero{border-radius:var(--shop-radius-2xl);overflow:visible}
.sn-hero-banner{
  border-radius:var(--shop-radius-2xl);
  box-shadow:0 20px 50px rgba(15,23,42,.1);
}
.shop-hero__slide{border-radius:var(--shop-radius-2xl);overflow:hidden}
.shop-hero__caption{
  padding:28px 24px 22px;
  background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,.72) 100%);
}
.shop-hero__caption h2{font-size:1.35rem;font-weight:900;letter-spacing:-.02em}
.shop-hero__dots{bottom:14px}

/* Product grid & cards */
.shop-product-grid{
  grid-template-columns:repeat(auto-fill,minmax(176px,1fr));
  gap:14px;
}
.shop-product-card,.sn-product-card{
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--shop-border);
  box-shadow:0 2px 10px rgba(15,23,42,.04);
  transition:transform .22s var(--shop-ease),box-shadow .22s,border-color .22s;
}
.shop-product-card:hover,.sn-product-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(15,23,42,.1);
  border-color:color-mix(in srgb,var(--shop-primary) 28%,var(--shop-border));
}
.shop-product-card__img{
  aspect-ratio:1;
  padding:14px;
  background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);
  position:relative;
}
.shop-product-card__img::after{
  content:'';
  position:absolute;inset:auto 0 0 0;height:40%;
  background:linear-gradient(180deg,transparent,rgba(248,250,252,.6));
  pointer-events:none;
}
.shop-product-card__img img{
  position:relative;z-index:1;
  transition:transform .35s var(--shop-ease);
}
.shop-product-card:hover .shop-product-card__img img{transform:scale(1.04)}
.shop-product-card__body{padding:12px 14px 10px}
.shop-product-card__name{
  font-size:.84rem;
  font-weight:800;
  line-height:1.55;
  color:var(--shop-text);
  min-height:2.6em;
}
.shop-product-card__price{
  font-size:1rem;
  font-weight:900;
  color:var(--shop-primary);
  letter-spacing:-.02em;
}
.shop-product-card__foot{
  padding:0 10px 12px;
  gap:6px;
}
.shop-product-card__btn{
  border-radius:12px;
  border-width:1.5px;
  background:linear-gradient(180deg,#fff,#fafbfc);
}
.shop-product-card__btn:hover{
  background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));
  border-color:transparent;
  box-shadow:0 6px 16px color-mix(in srgb,var(--shop-primary) 32%,transparent);
}

/* Catalog pages */
.shop-catalog-layout{gap:18px}
.shop-catalog-main{
  background:var(--shop-surface-elevated);
  border:1px solid var(--shop-border);
  border-radius:var(--shop-radius-2xl);
  padding:18px 18px 22px;
  box-shadow:var(--shop-shadow);
  min-width:0;
}
.shop-catalog-header{margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed var(--shop-border)}
.shop-catalog-header__title,.shop-category-header__title{
  margin:0 0 4px;
  font-size:1.28rem;
  letter-spacing:-.03em;
}
.shop-catalog-header__desc,.shop-category-header__desc{
  margin:0;
  font-size:.84rem;
  color:var(--shop-muted);
  line-height:1.65;
}
.shop-category-header{margin-bottom:0;padding-bottom:14px;border-bottom:1px dashed var(--shop-border)}
.shop-sort-bar{
  border-radius:14px;
  padding:10px 14px;
  background:var(--shop-surface-muted);
  border-color:color-mix(in srgb,var(--shop-border) 70%,#fff);
}
.shop-filters{border-radius:var(--shop-radius-2xl)}

/* Category pills */
.sn-cat-scroll{gap:12px;padding:6px 4px 14px}
.sn-cat-pill .shop-cat-card__ring{
  width:76px;height:76px;
  box-shadow:0 8px 20px color-mix(in srgb,var(--shop-primary) 22%,transparent);
}
.sn-cat-pill:hover .shop-cat-card__ring{box-shadow:0 12px 28px color-mix(in srgb,var(--shop-primary) 30%,transparent)}

/* Quick links & promo */
.sn-quick-link{border-radius:16px;padding:18px 16px}
.sn-promo-strip{
  border-radius:var(--shop-radius-2xl);
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 45%,#334155 100%);
}
.sn-newsletter{
  border-radius:var(--shop-radius-2xl);
  background:linear-gradient(135deg,var(--shop-primary-soft) 0%,#fff 55%,#f8fafc 100%);
  box-shadow:var(--shop-shadow-md);
}

/* Inner pages — cart, checkout, account */
.shop-card{
  border-radius:var(--shop-radius-xl);
  box-shadow:var(--shop-shadow);
}
.shop-card--flat{border:1px solid var(--shop-border)}
.shop-cart-page__head,
.shop-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:18px;
  padding:16px 18px;
  background:#fff;
  border:1px solid var(--shop-border);
  border-radius:var(--shop-radius-xl);
  box-shadow:var(--shop-shadow);
}
.shop-cart-page__title em{
  font-style:normal;
  font-size:.72rem;
  font-weight:800;
  color:var(--shop-primary);
  background:var(--shop-primary-soft);
  padding:4px 10px;
  border-radius:999px;
  margin-right:8px;
  vertical-align:middle;
}
.shop-empty{
  background:#fff;
  border:1px solid var(--shop-border);
  border-radius:var(--shop-radius-2xl);
  box-shadow:var(--shop-shadow);
  padding:56px 24px;
}
.shop-detail--pro{
  border-radius:var(--shop-radius-2xl);
  border:1px solid var(--shop-border);
  box-shadow:var(--shop-shadow-md);
}
.shop-buybox{
  border-radius:var(--shop-radius-xl);
  box-shadow:var(--shop-shadow-md);
}

/* Footer */
.sn-footer{
  margin-top:48px;
  border-radius:var(--shop-radius-2xl) var(--shop-radius-2xl) 0 0;
  overflow:hidden;
}
.sn-footer__about .shop-btn--primary{box-shadow:0 8px 24px rgba(254,105,53,.35)}

/* Mobile nav glass */
.shop-mobile-nav.sn-mobile-nav{
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(12px);
  border-top:1px solid rgba(15,23,42,.08);
  box-shadow:0 -8px 32px rgba(15,23,42,.08);
}
.shop-mobile-nav__list a{border-radius:12px;padding:8px 10px}
.shop-mobile-nav__list a.is-active{background:var(--shop-primary-soft)}

/* Buttons global */
.shop-btn{border-radius:12px;font-weight:800;letter-spacing:-.01em}
.shop-btn--outline:hover{
  border-color:var(--shop-primary);
  color:var(--shop-primary);
  background:var(--shop-primary-soft);
}
.shop-btn--ghost{
  background:#fff;
  border:1.5px solid var(--shop-border);
  color:var(--shop-text);
}
.shop-btn--sm{padding:8px 14px;font-size:.78rem}

/* Blog cards */
.sn-blog-featured__card,.sn-blog-card{border-radius:16px}
.sn-blog-featured__img,.sn-blog-card__img{
  background:linear-gradient(135deg,var(--shop-primary-soft),#f1f5f9);
}

/* Page titles */
.sn-page-title{
  font-size:1.3rem;
  letter-spacing:-.03em;
  line-height:1.35;
}

@media(max-width:992px){
  .shop-catalog-main{padding:16px 14px 18px}
  .shop-product-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:12px}
}
@media(max-width:768px){
  html{font-size:14px}
  .sn-main,.shop-main.sn-main{padding:16px 0 36px}
  .shop-container{padding:0 12px}
  .shop-home .shop-section,.shop-home .sn-home-blog{padding:16px 14px 18px;border-radius:18px}
  .shop-catalog-main{border-radius:18px;padding:14px 12px 16px}
  .shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .shop-product-card__name{font-size:.8rem;min-height:2.5em}
  .shop-product-card__foot{flex-wrap:wrap;gap:8px}
  .shop-product-card__foot .shop-product-card__btn{flex:1 1 100%;height:42px;min-height:42px}
  .shop-product-card__view,.shop-product-card__wish,.shop-product-card__compare{flex:1;width:auto;min-width:0}
  .shop-cart-page__head{padding:14px}
  .sn-breadcrumb{padding:10px 12px;margin-bottom:14px}
  .shop-catalog-header__desc{display:none}
}
@media(min-width:1200px){
  .shop-product-grid{grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:16px}
}

/* ═══ v28 — Mega menu preview + home polish ═══ */
.sn-mega{
  width:min(94vw,880px);
  grid-template-columns:200px 1fr;
  min-height:320px;
  border-radius:0 0 18px 18px;
}
.sn-mega__tab{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  text-align:right;
  padding:12px 14px;
}
.sn-mega__tab span{flex:1;min-width:0;line-height:1.4}
.sn-mega__tab-count{
  font-style:normal;
  font-size:.68rem;
  font-weight:800;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:var(--shop-primary-soft);
  color:var(--shop-primary);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.sn-mega__tab.is-active .sn-mega__tab-count,.sn-mega__tab:hover .sn-mega__tab-count{
  background:var(--shop-primary);
  color:#fff;
}
.sn-mega__panels{padding:18px 20px;overflow:auto;max-height:min(70vh,420px)}
.sn-mega__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px dashed var(--shop-border);
}
.sn-mega__head-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sn-mega__head-title{font-size:.95rem;font-weight:900;color:var(--shop-text);letter-spacing:-.02em}
.sn-mega__count-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.72rem;font-weight:800;
  padding:5px 12px;border-radius:999px;
  background:linear-gradient(135deg,var(--shop-primary-soft),#fff);
  color:var(--shop-primary);
  border:1px solid color-mix(in srgb,var(--shop-primary) 22%,#fff);
}
.sn-mega__all{margin:0;font-size:.8rem;white-space:nowrap}
.sn-mega__subs{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:14px;
}
.sn-mega__sub{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:#f8fafc;border:1.5px solid var(--shop-border);
  font-size:.76rem;font-weight:700;color:var(--shop-text);
  text-decoration:none!important;transition:.15s;
}
.sn-mega__sub:hover{
  border-color:var(--shop-primary);
  background:var(--shop-primary-soft);
  color:var(--shop-primary);
}
.sn-mega__sub em{
  font-style:normal;font-size:.68rem;font-weight:800;
  min-width:20px;height:20px;padding:0 6px;
  border-radius:999px;background:#fff;
  color:var(--shop-primary);
  border:1px solid color-mix(in srgb,var(--shop-primary) 25%,#fff);
}
.sn-mega__preview-label{
  margin:0 0 10px;font-size:.74rem;font-weight:800;
  color:var(--shop-muted);display:flex;align-items:center;gap:6px;
}
.sn-mega__preview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.sn-mega__prod{
  display:flex;flex-direction:column;gap:6px;
  padding:10px;border-radius:14px;
  background:#fff;border:1px solid var(--shop-border);
  text-decoration:none!important;color:inherit;
  transition:transform .18s,box-shadow .18s,border-color .18s;
  min-width:0;
}
.sn-mega__prod:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  border-color:color-mix(in srgb,var(--shop-primary) 30%,var(--shop-border));
}
.sn-mega__prod-img{
  aspect-ratio:1;border-radius:10px;
  background:linear-gradient(180deg,#f8fafc,#fff);
  padding:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.sn-mega__prod-img img{width:100%;height:100%;object-fit:contain}
.sn-mega__prod-name{
  font-size:.72rem;font-weight:700;line-height:1.45;color:var(--shop-text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:2.2em;
}
.sn-mega__prod-price{font-size:.78rem;font-weight:900;color:var(--shop-primary);letter-spacing:-.02em}
.sn-mega__empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:28px 16px;border-radius:14px;
  background:linear-gradient(135deg,#f8fafc,#fff);
  border:1px dashed var(--shop-border);
  color:var(--shop-muted);font-size:.82rem;font-weight:600;text-align:center;
}
.sn-mega__empty i{font-size:2rem;opacity:.45}

/* Home welcome & hero */
.sn-home-welcome{
  margin-bottom:20px;
  border-radius:var(--shop-radius-2xl);
  overflow:hidden;
  background:linear-gradient(135deg,var(--shop-primary) 0%,var(--shop-primary-dark) 55%,#c2410c 100%);
  box-shadow:0 20px 50px color-mix(in srgb,var(--shop-primary) 28%,transparent);
}
.sn-home-welcome__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;padding:32px 28px;color:#fff;
}
.sn-home-welcome__text h1{margin:0 0 8px;font-size:1.45rem;font-weight:900;letter-spacing:-.03em}
.sn-home-welcome__text p{margin:0;font-size:.9rem;opacity:.92;line-height:1.7}
.sn-hero-row .sn-hero-row__main .sn-hero-banner{margin-bottom:0}
.sn-side-banner--alt{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important}
.sn-side-banner--alt::before{background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.5))!important}
.sn-section-head__meta{
  font-size:.72rem;font-weight:800;color:var(--shop-muted);
  background:#f1f5f9;padding:3px 10px;border-radius:999px;margin-right:6px;vertical-align:middle;
}
.sn-cat-scroll--home .shop-cat-card__name{display:block;font-size:.78rem;font-weight:800;line-height:1.35}
.sn-cat-scroll--home .sn-cat-pill{min-width:100px}
.sn-promo-strip__btn-ghost{
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.35)!important;
}
.sn-promo-strip__btn-ghost:hover{background:rgba(255,255,255,.2)!important}
.sn-home-products .shop-product-grid{margin-top:4px}

@media(max-width:992px){
  .sn-mega__preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sn-hero-row{grid-template-columns:1fr}
  .sn-hero-row__side{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .sn-side-banner{min-height:100px}
}
@media(max-width:768px){
  .sn-mega{width:100%;right:0;left:0;grid-template-columns:1fr}
  .sn-mega__preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sn-mega__prod{padding:8px}
  .sn-mega__head{flex-direction:column;align-items:flex-start}
  .sn-home-welcome__inner{padding:24px 18px}
  .sn-home-welcome__text h1{font-size:1.2rem}
  .sn-hero-row__side{grid-template-columns:1fr}
}

/* ═══ v29 — Typography alignment + footer redesign ═══ */
body.shop-body.sn-theme{
  text-align:right;
  line-height:1.65;
}
.shop-container,.sn-main,.shop-home,.shop-page{
  text-align:right;
}
p{margin-top:0;line-height:1.75}

/* Section heads — vertical rhythm */
.sn-section-head{
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.sn-section-head h2{
  margin:0;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  line-height:1.4;
  font-size:1.02rem;
}
.sn-section-head__meta{
  vertical-align:baseline;
  line-height:1.2;
}
.shop-section__link{
  flex-shrink:0;
  white-space:nowrap;
  line-height:1.3;
}

/* Breadcrumb alignment */
.sn-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 8px;
  line-height:1.5;
}
.sn-breadcrumb a,.sn-breadcrumb span{
  display:inline-flex;
  align-items:center;
  line-height:1.4;
}
.sn-breadcrumb i{
  display:inline-flex;
  align-items:center;
  line-height:1;
}

/* Category pills — centered stack */
.sn-cat-pill{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:4px;
}
.shop-cat-card__name,.sn-cat-pill>span:last-child{
  text-align:center;
  width:100%;
  line-height:1.45;
}
.shop-cat-card__count{
  text-align:center;
  line-height:1.3;
}

/* Mega menu text */
.sn-mega__tab,.sn-mega__sub,.sn-mega__prod-name,.sn-mega__head-title{
  text-align:right;
  line-height:1.45;
}
.sn-mega__prod-price{text-align:right;width:100%}
.sn-mega__empty span{text-align:center;line-height:1.6}

/* Product cards */
.shop-product-card__body{
  text-align:right;
}
.shop-product-card__name{
  text-align:right;
  line-height:1.55;
}
.shop-product-card__price{
  text-align:right;
  display:block;
}
.shop-product-card__foot{
  align-items:center;
}

/* Catalog headers */
.shop-catalog-header,.shop-category-header{
  text-align:right;
}
.shop-catalog-header__title,.shop-category-header__title{
  text-align:right;
  line-height:1.35;
}
.shop-catalog-header__desc,.shop-category-header__desc{
  text-align:right;
  line-height:1.7;
}

/* Quick links & services */
.sn-quick-link span,.sn-service-item span{
  text-align:right;
  line-height:1.45;
}
.sn-quick-link strong,.sn-service-item strong{
  display:block;
  line-height:1.35;
  margin-bottom:3px;
}
.sn-quick-link small,.sn-service-item small{
  display:block;
  line-height:1.4;
}

/* ── Footer v29 ── */
.sn-footer{
  margin-top:56px;
  background:linear-gradient(180deg,#1a1f2e 0%,#151922 100%);
  color:rgba(255,255,255,.82);
  border-radius:28px 28px 0 0;
  overflow:hidden;
  text-align:right;
}
.sn-footer__cta{
  background:linear-gradient(135deg,color-mix(in srgb,var(--shop-primary) 88%,#1a1f2e),#c2410c);
  padding:28px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.sn-footer__cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.sn-footer__cta-text{
  flex:1;
  min-width:240px;
  text-align:right;
}
.sn-footer__cta-text strong{
  display:block;
  font-size:1.15rem;
  font-weight:900;
  color:#fff;
  margin-bottom:6px;
  letter-spacing:-.02em;
  line-height:1.35;
}
.sn-footer__cta-text p{
  margin:0;
  font-size:.86rem;
  line-height:1.75;
  color:rgba(255,255,255,.9);
  max-width:520px;
}
.sn-footer__cta-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.sn-footer__cta-chat{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.35)!important;
}
.sn-footer__cta-chat:hover{background:rgba(255,255,255,.22)!important}

.sn-footer__main{
  display:grid;
  grid-template-columns:minmax(260px,1.1fr) minmax(0,1.6fr);
  gap:36px;
  padding:40px 0 32px;
  align-items:start;
}
.sn-footer__brand{
  text-align:right;
}
.sn-footer__logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none!important;
  color:#fff;
  margin-bottom:16px;
}
.sn-footer__logo img{
  height:44px;
  width:auto;
  border-radius:10px;
  background:#fff;
  padding:4px;
}
.sn-footer__logo-icon{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,var(--shop-primary),var(--shop-primary-dark));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;
}
.sn-footer__logo-name{
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.3;
}
.sn-footer__address{
  margin:0 0 14px;
  font-size:.82rem;
  line-height:1.75;
  color:rgba(255,255,255,.65);
  display:flex;
  align-items:flex-start;
  gap:8px;
  text-align:right;
}
.sn-footer__address i{
  color:var(--shop-primary);
  font-size:1.1rem;
  margin-top:2px;
  flex-shrink:0;
}
.sn-footer__postal{opacity:.85;font-weight:500}
.sn-footer__contacts{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:16px;
}
.shop-page--contact-compact .sn-main{padding-top:0;padding-bottom:0}
.shop-contact{padding-top:22px;padding-bottom:34px}

/* ===== هیرو صفحه تماس ===== */
.shop-contact__hero{text-align:center;max-width:640px;margin:0 auto 22px}
.shop-contact__hero-badge{width:62px;height:62px;margin:0 auto 12px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--shop-primary),#ff8a5c);color:#fff;font-size:1.9rem;box-shadow:0 10px 24px rgba(254,105,53,.32)}
.shop-contact__hero-title{margin:0 0 6px;font-size:1.5rem;font-weight:900}
.shop-contact__hero-sub{margin:0;color:var(--shop-muted);font-size:.9rem;line-height:1.8}

/* ===== شبکه اصلی ===== */
.shop-contact__grid{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:stretch}
@media(max-width:900px){.shop-contact__grid{grid-template-columns:1fr}}

/* ===== کارت اطلاعات تماس ===== */
.shop-contact__info{padding:20px;display:flex;flex-direction:column}
.shop-contact__side-title{margin:0 0 14px;font-size:1rem;font-weight:800}
.shop-contact__list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:12px}
.shop-contact__list li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.shop-contact__icon{width:42px;height:42px;flex-shrink:0;border-radius:12px;background:var(--shop-primary-soft);color:var(--shop-primary);display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.shop-contact__list small{display:block;color:var(--shop-muted);font-size:.72rem;margin-bottom:2px}
.shop-contact__list a,.shop-contact__list span:not(.shop-contact__icon){font-size:.88rem;font-weight:600;color:var(--shop-text);word-break:break-word}
.shop-contact__list a{color:var(--shop-secondary);text-decoration:none}
.shop-contact__list a:hover{text-decoration:underline}
.shop-contact__map{margin-top:auto;width:100%}
.shop-contact__support{display:flex;gap:10px;align-items:center;margin-top:14px;padding:12px;border-radius:var(--shop-radius);background:linear-gradient(135deg,#eef6ff,#e7f3ff);border:1px dashed #bcd6f5}
.shop-contact__support i{font-size:1.5rem;color:var(--shop-secondary)}
.shop-contact__support strong{display:block;font-size:.84rem}
.shop-contact__support span{font-size:.74rem;color:var(--shop-muted)}

/* ===== فرم ارسال پیام ===== */
.shop-contact__form-wrap{padding:22px}
.shop-contact__form-title{margin:0 0 14px;font-size:1.02rem;font-weight:800}
.shop-contact__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.shop-contact__field-message,.shop-contact__field-captcha{grid-column:1/-1}
@media(max-width:640px){.shop-contact__form-grid{grid-template-columns:1fr}}
.shop-contact__form .shop-field{margin-bottom:0}
.shop-contact__form label{font-size:.8rem;margin-bottom:6px}
.shop-contact__form .req{color:var(--shop-primary)}
.shop-contact__form input,.shop-contact__form textarea{padding:11px 14px;font-size:.88rem;border-radius:12px;transition:border-color .15s,box-shadow .15s}
.shop-contact__form input:focus,.shop-contact__form textarea:focus{border-color:var(--shop-secondary);box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:0}
.shop-contact__form textarea{min-height:120px;resize:vertical}
.shop-contact__submit{margin-top:16px;width:100%;padding:13px;font-size:.92rem;border-radius:12px}
.shop-contact__hp{position:absolute;left:-9999px;height:0;overflow:hidden;opacity:0;pointer-events:none}

/* ===== هشدار / فلش ===== */
.shop-alert{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--shop-radius-lg);margin-bottom:16px;font-size:.88rem;font-weight:600}
.shop-alert i{font-size:1.3rem;flex-shrink:0;margin-top:1px}
.shop-alert--success{background:#e8f8ef;color:#1b7a3d;border:1px solid #b8e6c8}
.shop-alert--error{background:#fdeeee;color:#b42318;border:1px solid #f5c2c0}
.shop-contact__track{margin-top:6px;font-size:.88rem}

/* ===== تب‌ها ===== */
.shop-contact__tabs{display:flex;gap:8px;justify-content:center;margin:0 auto 20px;max-width:480px;background:#eef0f4;border-radius:14px;padding:5px}
.shop-contact__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:var(--shop-muted);font:inherit;font-size:.88rem;font-weight:700;padding:11px 14px;border-radius:10px;cursor:pointer;transition:.18s}
.shop-contact__tab i{font-size:1.05rem}
.shop-contact__tab.is-active{background:#fff;color:var(--shop-primary);box-shadow:var(--shop-shadow)}
.shop-contact__panel{display:none}
.shop-contact__panel.is-active{display:block}

/* ===== بخش پیگیری پیام ===== */
.shop-contact__track-wrap{margin-top:0;padding:22px;background:linear-gradient(180deg,#fff, #fbfcff);border:1px solid var(--shop-border)}
.shop-contact__track-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.shop-contact__track-icon{width:48px;height:48px;flex-shrink:0;border-radius:14px;background:var(--shop-primary-soft);color:var(--shop-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.shop-contact__track-head .shop-contact__form-title{margin:2px 0 4px}
.shop-contact__track-hint{margin:0;color:var(--shop-muted);font-size:.82rem;line-height:1.8}
.shop-contact__track-form{display:flex;gap:10px;max-width:560px}
.shop-contact__track-form input{flex:1;border:1.5px solid var(--shop-border);border-radius:12px;padding:12px 16px;font-size:.9rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.shop-contact__track-form input:focus{border-color:var(--shop-secondary);box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:0}
.shop-contact__track-form .shop-btn{padding:12px 22px;border-radius:12px}
.shop-contact__track-result{margin-top:16px;border-radius:var(--shop-radius-lg);padding:16px;font-size:.86rem}
.shop-contact__track-result.is-loading{background:#f8fafc;border:1px dashed var(--shop-border);color:var(--shop-muted);display:flex;align-items:center;gap:8px}
.shop-contact__track-result.is-empty{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;display:flex;align-items:center;gap:8px}
.shop-contact__track-result.is-found{background:#fff;border:1px solid var(--shop-border);box-shadow:var(--shop-shadow)}
.shop-contact__track-row{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--shop-border);font-size:.86rem}
.shop-contact__track-row>span:first-child{color:var(--shop-muted);min-width:90px}
.shop-contact__track-row strong{font-weight:700}
.shop-contact__status{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;font-weight:700;font-size:.8rem}
.shop-contact__status.is-open{background:#fff7ed;color:#c2410c}
.shop-contact__status.is-replied{background:#ecfdf5;color:#047857}
.shop-contact__status.is-archived{background:#f3f4f6;color:#4b5563}
.shop-contact__track-msg,.shop-contact__track-reply{margin-top:14px}
.shop-contact__track-msg>span,.shop-contact__track-reply>span{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.84rem;margin-bottom:6px}
.shop-contact__track-msg p,.shop-contact__track-reply p{margin:0;background:#f9fafb;border:1px solid var(--shop-border);border-radius:10px;padding:12px;line-height:1.8;white-space:pre-wrap}
.shop-contact__track-reply p{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}
.shop-contact__track-reply small{color:var(--shop-muted);font-weight:500}
.shop-contact__track-wait{margin-top:14px;display:flex;align-items:center;gap:8px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:10px;padding:12px;font-size:.84rem}

/* ===== گفتگو (رشته پیام) ===== */
.shop-contact__thread{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.shop-contact__bubble{max-width:88%;border-radius:14px;padding:10px 14px;line-height:1.7}
.shop-contact__bubble.is-customer{align-self:flex-end;background:var(--shop-primary-soft);border:1px solid #ffd9c9}
.shop-contact__bubble.is-admin{align-self:flex-start;background:#eef6ff;border:1px solid #c9e0f8}
.shop-contact__bubble-head{display:flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;margin-bottom:4px}
.shop-contact__bubble-head i{font-size:1rem}
.shop-contact__bubble-head small{color:var(--shop-muted);font-weight:500}
.shop-contact__bubble.is-customer .shop-contact__bubble-head{color:#c2410c}
.shop-contact__bubble.is-admin .shop-contact__bubble-head{color:#1d4ed8}
.shop-contact__bubble-body{font-size:.85rem;white-space:pre-wrap;word-break:break-word}

/* ===== فرم پیام بعدی در گفتگو ===== */
.shop-contact__reply-form{margin-top:16px;border-top:1px dashed var(--shop-border);padding-top:14px}
.shop-contact__reply-form h4{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:.9rem;color:var(--shop-secondary)}
.shop-contact__reply-note{margin:0 0 12px;font-size:.78rem;color:var(--shop-muted)}
.shop-contact__reply-form .shop-field{margin-bottom:10px}
.shop-contact__reply-form label{display:block;font-size:.78rem;font-weight:700;margin-bottom:4px}
.shop-contact__reply-form input,.shop-contact__reply-form textarea{width:100%;border:1.5px solid var(--shop-border);border-radius:10px;padding:10px 12px;font:inherit;font-size:.86rem;transition:border-color .15s,box-shadow .15s}
.shop-contact__reply-form input:focus,.shop-contact__reply-form textarea:focus{border-color:var(--shop-secondary);box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:0}
.shop-contact__reply-form textarea{min-height:80px;resize:vertical}
.shop-contact__reply-form .req{color:var(--shop-primary)}
.shop-contact__reply-form .shop-btn{width:100%;border-radius:10px}
.bx-spin{animation:shop-spin 1s linear infinite}
@keyframes shop-spin{to{transform:rotate(360deg)}}
.sn-footer__contact{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.84rem;
  font-weight:600;
  color:rgba(255,255,255,.78);
  text-decoration:none!important;
  line-height:1.4;
  transition:.15s;
}
.sn-footer__contact:hover{color:var(--shop-primary)}
.sn-footer__contact i{
  width:32px;height:32px;border-radius:9px;
  background:rgba(255,255,255,.08);
  color:var(--shop-primary);font-size:1rem;flex-shrink:0;
  position:relative;box-sizing:border-box;
}
.sn-footer__social{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}
.sn-footer__social a{
  width:40px;height:40px;border-radius:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;color:#fff;
  transition:.15s;
}
.sn-footer__social a:hover{
  background:var(--shop-primary);
  border-color:var(--shop-primary);
  transform:translateY(-2px);
}

.sn-footer__links-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px 20px;
}
.sn-footer__title{
  margin:0 0 14px;
  font-size:.88rem;
  font-weight:900;
  color:#fff;
  letter-spacing:-.01em;
  line-height:1.3;
  padding-bottom:10px;
  border-bottom:2px solid color-mix(in srgb,var(--shop-primary) 55%,transparent);
  display:inline-block;
  min-width:120px;
}
.sn-footer__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.sn-footer__list a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px 8px 0;
  border-radius:10px;
  font-size:.82rem;
  font-weight:600;
  color:rgba(255,255,255,.72);
  text-decoration:none!important;
  line-height:1.45;
  transition:.15s;
}
.sn-footer__list a:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
  padding-right:14px;
}
.sn-footer__list a i{
  width:28px;height:28px;border-radius:8px;
  background:rgba(255,255,255,.06);
  font-size:.95rem;color:var(--shop-primary);
  flex-shrink:0;
  position:relative;
  box-sizing:border-box;
}
.sn-footer__list a span{
  flex:1;
  text-align:right;
  line-height:1.4;
}

.sn-footer__trust{
  background:rgba(0,0,0,.22);
  border-top:1px solid rgba(255,255,255,.06);
  padding:22px 0;
}
.sn-footer__trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.sn-footer__trust-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  text-align:right;
}
.sn-footer__trust-item i{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--shop-primary) 25%,transparent),rgba(255,255,255,.04));
  color:var(--shop-primary);
  font-size:1.35rem;flex-shrink:0;
  position:relative;box-sizing:border-box;
}
.sn-footer__trust-item strong{
  display:block;
  font-size:.8rem;
  font-weight:800;
  color:#fff;
  line-height:1.35;
  margin-bottom:2px;
}
.sn-footer__trust-item small{
  display:block;
  font-size:.72rem;
  color:rgba(255,255,255,.55);
  line-height:1.35;
}

.sn-footer__bottom{
  border-top:1px solid rgba(255,255,255,.06);
  padding:16px 0 calc(16px + env(safe-area-inset-bottom,0));
  background:rgba(0,0,0,.15);
}
.sn-footer__bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.sn-footer__copy{
  font-size:.78rem;
  color:rgba(255,255,255,.45);
  line-height:1.5;
  text-align:right;
}
.sn-footer__bottom-links{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.sn-footer__bottom-links a{
  font-size:.76rem;
  font-weight:700;
  color:rgba(255,255,255,.5);
  text-decoration:none!important;
  line-height:1.4;
  transition:.15s;
}
.sn-footer__bottom-links a:hover{color:var(--shop-primary)}

/* Hide legacy footer blocks if any remain */
.sn-footer__grid,.sn-footer__services,.sn-footer__about{display:none!important}

/* Promo & newsletter text */
.sn-promo-strip__text,.sn-newsletter{
  text-align:right;
}
.sn-promo-strip__text h3,.sn-newsletter h3{
  line-height:1.4;
  margin-bottom:6px;
}
.sn-promo-strip__text p,.sn-newsletter p{
  line-height:1.7;
}

@media(max-width:992px){
  .sn-footer__main{grid-template-columns:1fr;gap:28px}
  .sn-footer__links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sn-footer__trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .sn-footer{border-radius:20px 20px 0 0;margin-top:40px}
  .sn-footer__cta-inner{flex-direction:column;align-items:stretch;text-align:center}
  .sn-footer__cta-text{text-align:center}
  .sn-footer__cta-text p{max-width:none}
  .sn-footer__cta-actions{justify-content:center}
  .sn-footer__links-grid{grid-template-columns:1fr;gap:20px}
  .sn-footer__trust-grid{grid-template-columns:1fr}
  .sn-footer__bottom-inner{flex-direction:column;text-align:center}
  .sn-footer__copy,.sn-footer__bottom-links{justify-content:center;text-align:center;width:100%}
  .sn-footer__bottom{padding-bottom:calc(72px + env(safe-area-inset-bottom,0))}
  .sn-section-head{flex-direction:column;align-items:stretch;gap:10px}
  .sn-section-head h2{justify-content:flex-start}
  .shop-section__link{align-self:flex-start}
}

/* ═══ v30 — Home hero equal heights + visual banners ═══ */
.sn-hero-section{margin-bottom:20px}
.sn-hero-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:14px;
  align-items:stretch;
  min-height:0;
}
.sn-hero-row__main{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.sn-hero-row__main .sn-hero-banner,
.sn-hero-row__main .shop-hero,
.sn-hero-row__main .shop-hero__slider{
  height:auto;
  min-height:0;
  margin-bottom:0!important;
  display:block;
}
.sn-hero-row__main .shop-hero__viewport{
  width:100%;
  height:auto;
  min-height:0;
  border-radius:18px;
  position:relative;
  overflow:hidden;
  background:#f8fafc;
}
.sn-hero-row__main .shop-hero__track{
  height:auto;
  align-items:flex-start;
}
.sn-hero-row__main .shop-hero__slide{
  height:auto;
  min-height:0;
  display:block;
  position:relative;
  overflow:hidden;
  background:#f8fafc;
}
.sn-hero-row__main .shop-hero__slide img{
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  display:block;
}
.sn-hero-row__main .shop-hero__slider{
  border-radius:18px;
  box-shadow:0 16px 40px rgba(15,23,42,.1);
}

.sn-hero-row__side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
  min-height:0;
  align-self:stretch;
  height:100%;
}
.sn-side-banner{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:0;
  height:100%;
  padding:0;
  border-radius:18px;
  overflow:hidden;
  text-decoration:none!important;
  color:#fff;
  background:transparent;
  box-shadow:0 12px 32px rgba(15,23,42,.12);
  transition:transform .22s var(--shop-ease),box-shadow .22s;
  border:1px solid rgba(255,255,255,.12);
}
.sn-side-banner::before{display:none}
.sn-side-banner:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(15,23,42,.16);
}
.sn-side-banner__visual{
  position:absolute;
  inset:0;
  z-index:0;
}
.sn-side-banner__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sn-side-banner__content{
  position:relative;
  z-index:2;
  padding:16px 16px 14px;
  background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,.15) 35%,rgba(15,23,42,.72) 100%);
  text-align:right;
}
.sn-side-banner__content strong{
  display:block;
  font-size:.92rem;
  font-weight:900;
  margin-bottom:4px;
  line-height:1.35;
  letter-spacing:-.02em;
  text-shadow:0 1px 8px rgba(0,0,0,.25);
}
.sn-side-banner__content small{
  display:block;
  font-size:.72rem;
  opacity:.92;
  line-height:1.45;
  margin-bottom:8px;
}
.sn-side-banner__cta{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:.7rem;
  font-weight:800;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.25);
}
.sn-side-banner--newest{border-color:rgba(254,105,53,.25)}
.sn-side-banner--deals{border-color:rgba(37,99,235,.25)}

/* Quick access cards with images */
.sn-quick-links--visual{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}
.sn-quick-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:118px;
  border-radius:16px;
  overflow:hidden;
  text-decoration:none!important;
  color:#fff;
  border:1px solid var(--shop-border);
  box-shadow:var(--shop-shadow);
  transition:transform .2s,box-shadow .2s;
}
.sn-quick-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shop-shadow-md);
}
.sn-quick-card__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.sn-quick-card__body{
  position:relative;
  z-index:1;
  padding:14px 14px 12px;
  text-align:right;
  background:linear-gradient(180deg,transparent,rgba(15,23,42,.55));
}
.sn-quick-card__body strong{
  display:block;
  font-size:.82rem;
  font-weight:900;
  line-height:1.35;
  margin-bottom:2px;
}
.sn-quick-card__body small{
  display:block;
  font-size:.7rem;
  opacity:.9;
  line-height:1.4;
}
.sn-quick-card--plain{
  background:#fff;
  color:var(--shop-text);
  justify-content:center;
  align-items:flex-start;
  padding:14px 16px;
  flex-direction:row;
  gap:12px;
}
.sn-quick-card--plain .sn-quick-card__body{
  background:transparent;
  padding:0;
  flex:1;
}
.sn-quick-card--plain .sn-quick-card__body strong{color:var(--shop-text)}
.sn-quick-card--plain .sn-quick-card__body small{color:var(--shop-muted)}
.sn-quick-card__icon{
  width:44px;height:44px;border-radius:12px;
  background:var(--shop-primary-soft);
  color:var(--shop-primary);
  font-size:1.35rem;flex-shrink:0;
  position:relative;box-sizing:border-box;
}
.sn-quick-card__icon--chat{background:#eff6ff;color:#2563eb}

/* Home polish */
.shop-home .sn-services{
  background:#fff;
  border:1px solid var(--shop-border);
  border-radius:20px;
  padding:14px;
  box-shadow:var(--shop-shadow);
}
.shop-home .sn-promo-strip{margin-bottom:20px}

@media(max-width:1100px){
  .sn-hero-row{grid-template-columns:minmax(0,1fr) 260px}
}
@media(max-width:992px){
  .sn-hero-row{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .sn-hero-row__side{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr;
    min-height:160px;
    height:auto;
  }
  .sn-quick-links--visual{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .sn-hero-row__side{display:grid!important;grid-template-columns:1fr;min-height:auto}
  .sn-side-banner{min-height:140px}
  .sn-quick-links--visual{grid-template-columns:1fr}
  .sn-quick-card{min-height:100px}
}

/* ═══ v32 — Icon alignment + uniform visual cards ═══ */
.sn-services--compact .sn-service-item,
.shop-home .sn-services .sn-service-item{
  display:flex;
  align-items:center;
  gap:12px;
  text-align:right;
}
.sn-services--compact .sn-service-item .sn-service-item__ico,
.shop-home .sn-services .sn-service-item .sn-service-item__ico{
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--shop-primary-soft),#fff);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 2px 8px rgba(254,105,53,.12);
}
.sn-services--compact .sn-service-item .sn-service-item__ico i,
.shop-home .sn-services .sn-service-item .sn-service-item__ico i{
  font-size:1.35rem;
  color:var(--shop-primary);
  line-height:1;
  width:auto!important;
  height:auto!important;
  min-width:0;
  background:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  display:inline-block!important;
  padding:0;
  margin:0;
}
.sn-service-item__text{
  flex:1;
  min-width:0;
  text-align:right;
  line-height:1.45;
}
.sn-service-item__text strong{
  display:block;
  line-height:1.35;
  margin-bottom:3px;
}
.sn-service-item__text small{
  display:block;
  line-height:1.4;
  color:var(--shop-muted);
}
.sn-services--compact .sn-service-item > i,
.shop-home .sn-services .sn-service-item > i{
  width:auto;
  height:auto;
  background:none;
  box-shadow:none;
}

.sn-quick-card{
  min-height:128px;
}
.sn-quick-card__body{
  background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,.25) 40%,rgba(15,23,42,.72) 100%);
}
.sn-quick-card--newest{border-color:rgba(254,105,53,.2)}
.sn-quick-card--deals{border-color:rgba(37,99,235,.2)}
.sn-quick-card--stock{border-color:rgba(16,185,129,.2)}
.sn-quick-card--support{border-color:rgba(14,165,233,.2)}
.sn-quick-card--plain{display:none}

/* ═══ v36 — Hero: natural image height, zero letterbox ═══ */
.sn-hero-row{
  min-height:0!important;
  align-items:flex-start;
}
.sn-hero-row__main .sn-hero-banner,
.sn-hero-row__main .shop-hero,
.sn-hero-row__main .shop-hero__slider{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
}
.sn-hero-row__main .shop-hero__slider{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(15,23,42,.1);
}
.sn-hero-row__main .shop-hero__viewport{
  aspect-ratio:unset!important;
  width:100%;
  height:auto!important;
  line-height:0;
  background:transparent;
  border:0;
  overflow:hidden;
}
.sn-hero-row__main .shop-hero__track{
  height:auto!important;
  align-items:flex-start;
}
.sn-hero-row__main .shop-hero__slide{
  height:auto!important;
  min-height:0!important;
  line-height:0;
  background:transparent;
}
.sn-hero-row__main .shop-hero__slide img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:unset!important;
  object-position:unset!important;
  display:block;
  vertical-align:top;
}
.sn-hero-row__main .shop-hero__dots{
  position:absolute;
  bottom:12px;
  left:0;
  right:0;
  margin:0;
  z-index:3;
}
.sn-hero-row__side{
  min-height:0!important;
  height:auto;
  align-self:flex-start;
  overflow:hidden;
}
@media(max-width:1100px){
  .sn-hero-row,
  .sn-hero-row__side,
  .sn-hero-row__main .shop-hero__slide,
  .sn-hero-row__main .shop-hero__slide img,
  .sn-hero-row__main .shop-hero__slider{
    min-height:0!important;
  }
}
@media(max-width:992px){
  .sn-hero-row__main .shop-hero__viewport{
    aspect-ratio:unset!important;
  }
}
@media(max-width:768px){
  .sn-hero-row__main .shop-hero__slide{
    aspect-ratio:unset!important;
    min-height:0!important;
  }
}

/* Compare */
.shop-compare-bar{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0));z-index:195;background:#fff;border-top:1px solid var(--shop-border);box-shadow:0 -8px 28px rgba(15,23,42,.12);padding:10px 0}
.shop-compare-bar__inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.shop-compare-bar__info{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:800;color:#1f2937;flex-shrink:0}
.shop-compare-bar__info i{font-size:1.1rem;color:#4338ca}
.shop-compare-bar__info em{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#4338ca;color:#fff;font-size:.72rem;font-style:normal}
.shop-compare-bar__items{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:auto;padding:2px 0}
.shop-compare-bar__thumb{width:44px;height:44px;border-radius:10px;border:1px solid #e5e7eb;background:#fafafa;overflow:hidden;flex-shrink:0;display:block}
.shop-compare-bar__thumb img{width:100%;height:100%;object-fit:contain}
.shop-compare-bar__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
#shopCompareBtn.is-active,#shopCompareBtn[aria-pressed="true"]{background:linear-gradient(135deg,#4338ca,#6366f1);border-color:#4338ca;color:#fff;box-shadow:0 4px 12px rgba(99,102,241,.35)}
.shop-compare-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f8fafc 55%,#eef2ff 100%);border:1px solid #e5e7eb;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.shop-compare-head__title-row{display:flex;align-items:center;gap:14px}
.shop-compare-head__icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#4338ca,#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 8px 20px rgba(99,102,241,.28);flex-shrink:0}
.shop-compare-head__title{margin:0;font-size:1.35rem;line-height:1.3}
.shop-compare-head__badge{display:inline-flex;align-items:center;margin-top:6px;padding:4px 10px;border-radius:999px;background:rgba(99,102,241,.12);color:#4338ca;font-size:.72rem;font-weight:800}
.shop-compare-head__desc{margin:.5rem 0 0;font-size:.88rem;color:var(--shop-muted);line-height:1.7;max-width:520px}
.shop-compare-head__tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.82);border:1px solid #e5e7eb;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.shop-compare-toggle{display:inline-flex;align-items:center;cursor:pointer;user-select:none;margin:0}
.shop-compare-toggle input{position:absolute;opacity:0;width:0;height:0}
.shop-compare-toggle__box{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;border:1.5px solid #e5e7eb;background:#fff;font-size:.8rem;font-weight:800;color:#374151;transition:.15s}
.shop-compare-toggle input:checked+.shop-compare-toggle__box{border-color:#4338ca;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4338ca;box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.shop-compare-clear-btn{border-color:#fecaca!important;color:#dc2626!important;background:#fff!important}
.shop-compare-clear-btn:hover{background:#fef2f2!important}
.shop-compare-hint{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;border-radius:14px;background:linear-gradient(90deg,#eef2ff,#f5f3ff);border:1px solid #c7d2fe;color:#312e81;font-size:.84rem;font-weight:700;box-shadow:0 4px 14px rgba(99,102,241,.08)}
.shop-compare-hint i{font-size:1.15rem;color:#6366f1}
.shop-compare-wrap{border:1px solid #e5e7eb;border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.08);overflow:hidden}
.shop-compare-table-scroll{overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.shop-compare-table{width:100%;border-collapse:separate;border-spacing:0;min-width:780px}
.shop-compare-table__corner{position:sticky;right:0;z-index:4;min-width:160px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;padding:16px 14px;font-size:.8rem;font-weight:900;color:#64748b;text-align:right;vertical-align:bottom;box-shadow:-6px 0 12px rgba(15,23,42,.04)}
.shop-compare-table__product{min-width:210px;max-width:260px;background:linear-gradient(180deg,#fff 0%,#fafbff 100%);border-bottom:2px solid #e2e8f0;padding:18px 14px 16px;vertical-align:top;position:relative;border-left:1px solid #f1f5f9}
.shop-compare-table__product:first-of-type{border-right:0}
.shop-compare-remove{position:absolute;top:10px;left:10px;width:30px;height:30px;border:0;border-radius:10px;background:#fff;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.05rem;z-index:2;box-shadow:0 2px 8px rgba(15,23,42,.08);transition:.15s}
.shop-compare-remove:hover{background:#fee2e2;color:#dc2626;transform:scale(1.05)}
.shop-compare-product{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none!important;color:inherit;text-align:center;padding-top:6px}
.shop-compare-product__img{width:108px;height:108px;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.06);transition:transform .2s,box-shadow .2s}
.shop-compare-product:hover .shop-compare-product__img{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.1)}
.shop-compare-product__img img{max-width:92%;max-height:92%;object-fit:contain}
.shop-compare-product__brand{display:inline-block;padding:3px 10px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.66rem;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-compare-product__name{display:block;font-size:.86rem;font-weight:900;line-height:1.55;max-height:2.9em;overflow:hidden;color:#1e293b}
.shop-compare-product__stock{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:800}
.shop-compare-product__stock.is-in{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.shop-compare-product__stock.is-pre{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.shop-compare-product__stock.is-out{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.shop-compare-product__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px;width:100%}
.shop-compare-product__actions .shop-btn{min-height:38px;border-radius:11px;font-size:.76rem;padding:8px 12px}
.shop-compare-table__label{position:sticky;right:0;z-index:2;min-width:160px;background:#f8fafc;border-bottom:1px solid #eef2f7;padding:14px 14px;font-size:.8rem;font-weight:900;color:#475569;text-align:right;vertical-align:middle;white-space:nowrap;box-shadow:-4px 0 10px rgba(15,23,42,.03)}
.shop-compare-table__cell{border-bottom:1px solid #f1f5f9;padding:14px 12px;font-size:.82rem;font-weight:700;color:#334155;line-height:1.65;vertical-align:middle;text-align:center;background:#fff;transition:background .15s}
.shop-compare-table__row:nth-child(even) .shop-compare-table__label{background:#f1f5f9}
.shop-compare-table__row:nth-child(even) .shop-compare-table__cell{background:#fafbfc}
.shop-compare-table__row.is-diff .shop-compare-table__label{color:#4338ca;background:linear-gradient(90deg,#eef2ff,#f8fafc)}
.shop-compare-table__row.is-diff .shop-compare-table__cell.is-highlight{background:linear-gradient(180deg,#fffbeb,#fef9c3);color:#92400e;font-weight:800}
.shop-compare-table__row.is-diff .shop-compare-table__label::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:6px;vertical-align:middle}
.shop-compare-table__row[data-row-key="__price"] .shop-compare-table__label{color:var(--shop-primary)}
.shop-compare-table__row[data-row-key="__price"] .shop-compare-table__cell{font-size:.92rem;font-weight:900;color:var(--shop-primary);background:linear-gradient(180deg,#fff7ed,#fff)!important}
.shop-compare-table.is-diff-only .shop-compare-table__row.is-same{display:none}
.shop-compare-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;flex-wrap:wrap;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e5e7eb;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.shop-compare-foot__meta{font-size:.8rem;font-weight:800;color:#64748b;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #e5e7eb}
.shop-empty--compare{padding:56px 24px;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px dashed #cbd5e1;box-shadow:0 10px 30px rgba(15,23,42,.04)}
.shop-empty--compare i{font-size:3rem;color:#6366f1;margin-bottom:12px}
.shop-empty--compare p{font-size:1.05rem;font-weight:900}
.shop-empty--compare small{display:block;margin:10px 0 18px;color:var(--shop-muted);font-size:.84rem;line-height:1.7}
.shop-page-compare .sn-breadcrumb{margin-bottom:16px}
@media(min-width:769px){
  .shop-compare-bar{bottom:0}
  body.shop-body:has(#shopCompareBar:not([hidden])){padding-bottom:72px}
}
@media(max-width:768px){
  .shop-compare-bar__inner{gap:8px}
  .shop-compare-bar__actions{width:100%;justify-content:stretch}
  .shop-compare-bar__actions .shop-btn{flex:1}
  .shop-footer__bottom,.sn-footer__bottom{padding-bottom:calc(64px + 72px + env(safe-area-inset-bottom,0))}
  .shop-compare-head{padding:16px}
  .shop-compare-head__icon{width:44px;height:44px;font-size:1.25rem}
  .shop-compare-head__title{font-size:1.15rem}
  .shop-compare-head__tools{width:100%;justify-content:space-between}
  .shop-compare-table{min-width:640px}
  .shop-compare-table__product{min-width:180px}
  .shop-compare-product__img{width:88px;height:88px}
}

/* Order modal */
.shop-order-modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:16px}
.shop-order-modal.is-open{display:flex!important}
.shop-order-modal[hidden]:not(.is-open){display:none!important}
.shop-order-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(3px)}
.shop-order-modal__dialog{position:relative;z-index:1;width:min(96vw,560px);max-height:min(92vh,760px);background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.28);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.2)}
.shop-order-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#fff,#f8fafc)}
.shop-order-modal__product{display:flex;align-items:center;gap:12px;min-width:0}
.shop-order-modal__product img{width:56px;height:56px;object-fit:contain;border-radius:12px;background:#fafafa;border:1px solid #e5e7eb;flex-shrink:0}
.shop-order-modal__eyebrow{display:block;font-size:.68rem;font-weight:800;color:#4338ca;margin-bottom:4px}
.shop-order-modal__head h3{margin:0;font-size:.95rem;font-weight:900;line-height:1.45}
.shop-order-modal__close{width:36px;height:36px;border:0;border-radius:10px;background:#f3f4f6;color:#6b7280;font-size:1.3rem;cursor:pointer;flex-shrink:0}
.shop-order-modal__close:hover{background:#fee2e2;color:#dc2626}
.shop-order-modal__content{flex:1;overflow:auto;padding:14px 16px;min-height:200px}
.shop-order-modal__body .shop-order-calc{gap:10px}
.shop-order-modal__foot{padding:12px 16px 16px;border-top:1px solid #eef2f7;background:#fff}

/* Advanced catalog search + visual search */
.shop-search-hero{margin:0 0 16px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#fff7f3,#fff);border:1px solid var(--shop-border);box-shadow:var(--shop-shadow)}
.shop-search-hero__form{display:flex;flex-direction:column;gap:12px}
.shop-search-hero__main{display:flex;align-items:stretch;gap:8px;background:transparent;border:0;border-radius:0;overflow:visible;transition:none}
.shop-search-hero__main:focus-within{box-shadow:none}
.shop-qs-wrap{flex:1;min-width:0;display:flex;align-items:stretch;gap:6px}
.shop-qs-box{flex:1;position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:46px;padding:6px 2.2rem 6px 10px;border:2px solid var(--shop-border);border-radius:14px;background:#fff;cursor:text;transition:.2s}
.shop-qs-box:focus-within{border-color:var(--shop-primary);box-shadow:0 0 0 4px rgba(254,105,53,.12)}
.shop-qs-box__icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:1.2rem;color:var(--shop-muted);pointer-events:none}
.shop-qs-box.has-tags .shop-qs-box__icon{opacity:.35}
.shop-qs-chips{display:contents}
.shop-qs-tag{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:2px 8px 2px 4px;border-radius:999px;font-size:.76rem;font-weight:800;line-height:1.35;white-space:nowrap}
.shop-qs-tag-text{overflow:hidden;text-overflow:ellipsis;max-width:min(220px,42vw)}
.shop-qs-tag-remove{flex:0 0 auto;width:18px;height:18px;border:0;border-radius:50%;background:transparent;color:inherit;opacity:.8;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-size:.9rem}
.shop-qs-tag-remove:hover{opacity:1;background:rgba(255,255,255,.55);color:#dc2626}
.shop-qs-tag.pl-qs-tone-0{background:#fef9c3;color:#854d0e;border:1px solid #fde047}
.shop-qs-tag.pl-qs-tone-1{background:#ccfbf1;color:#115e59;border:1px solid #5eead4}
.shop-qs-tag.pl-qs-tone-2{background:#ffedd5;color:#9a3412;border:1px solid #fdba74}
.shop-qs-tag.pl-qs-tone-3{background:#fce7f3;color:#9d174d;border:1px solid #f9a8d4}
.shop-qs-tag.pl-qs-tone-4{background:#dbeafe;color:#1e3a8a;border:1px solid #93c5fd}
.shop-qs-tag.pl-qs-tone-5{background:#ecfccb;color:#3f6212;border:1px solid #bef264}
.shop-qs-tag.pl-qs-tone-6{background:#f3e8ff;color:#6b21a8;border:1px solid #d8b4fe}
.shop-qs-tag.pl-qs-tone-7{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.shop-qs-input{flex:1 1 100px;min-width:72px;border:0!important;outline:0;background:transparent!important;font:inherit;font-size:.88rem;padding:4px!important;height:28px!important;box-shadow:none!important}
.shop-qs-clear{width:40px;border:2px solid var(--shop-border);border-radius:12px;background:#fff;color:var(--shop-muted);cursor:pointer;flex-shrink:0}
.shop-qs-clear.is-visible{display:inline-flex;align-items:center;justify-content:center}
.shop-qs-clear:not(.is-visible){display:none}
.shop-search-hero__submit{border:0;background:var(--shop-primary);color:#fff;font:inherit;font-weight:800;padding:0 20px;cursor:pointer;white-space:nowrap}
.shop-search-hero__actions{display:flex;flex-wrap:wrap;gap:10px}
.shop-search-hero__btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;font:inherit;font-weight:800;text-decoration:none!important;border:1.5px solid var(--shop-border);background:#fff;color:var(--shop-text);cursor:pointer;transition:.15s}
.shop-search-hero__btn:hover{border-color:var(--shop-primary);color:var(--shop-primary)}
.shop-search-hero__btn--visual{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff}
.shop-search-hero__btn--visual:hover{filter:brightness(1.05);color:#fff}
.shop-search-hero__badge{display:inline-flex;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--shop-primary);color:#fff;font-size:.72rem;align-items:center;justify-content:center;font-style:normal}
body.shop-afm-open{overflow:hidden}
.shop-afm{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;padding:0}
.shop-afm[hidden]{display:none!important}
.shop-afm__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}
.shop-afm__dialog{position:relative;z-index:1;width:min(96vw,720px);max-height:min(92vh,820px);background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(15,23,42,.2);display:flex;flex-direction:column;overflow:hidden}
@media(min-width:768px){.shop-afm{align-items:center;padding:20px}.shop-afm__dialog{border-radius:20px;max-height:88vh}}
.shop-afm__head{display:flex;align-items:flex-start;gap:12px;padding:18px 18px 12px;background:linear-gradient(135deg,var(--shop-primary),#ff8a50);color:#fff}
.shop-afm__head-icon{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.shop-afm__title{margin:0;font-size:1.05rem}
.shop-afm__sub{margin:4px 0 0;font-size:.78rem;opacity:.92}
.shop-afm__active{margin-right:auto;font-size:.75rem;background:rgba(255,255,255,.2);padding:6px 10px;border-radius:999px;white-space:nowrap}
.shop-afm__close{margin-right:auto;border:0;background:rgba(255,255,255,.15);color:#fff;width:36px;height:36px;border-radius:10px;font-size:1.3rem;cursor:pointer}
.shop-afm__form{display:flex;flex-direction:column;min-height:0;flex:1}
.shop-afm__body{padding:14px 16px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.shop-afm__quick{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid var(--shop-border);border-radius:12px;padding:10px 12px;margin-bottom:4px}
.shop-afm__quick input{flex:1;border:0;background:transparent;font:inherit;outline:0}
.shop-afm-card{border:1px solid var(--shop-border);border-radius:14px;overflow:hidden;background:#fff}
.shop-afm-card__head{width:100%;border:0;background:#f8fafc;padding:12px 14px;text-align:right;font:inherit;font-weight:800;display:flex;align-items:center;gap:8px;cursor:pointer}
.shop-afm-card__body{display:none;padding:12px 14px 14px;border-top:1px dashed var(--shop-border)}
.shop-afm-card--open .shop-afm-card__body{display:block}
.shop-afm-select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--shop-border);font:inherit;background:#fff}
.shop-afm-chips{display:flex;flex-wrap:wrap;gap:8px}
.shop-afm__foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:12px 16px 16px;border-top:1px solid var(--shop-border);background:#fafafa}
.shop-vs-page{padding-bottom:40px;background:linear-gradient(180deg,#f8fafc 0,#fff 280px)}
.shop-vs-hero{max-width:920px;margin:0 auto 28px;display:flex;flex-direction:column;gap:20px}
.shop-vs-intro{text-align:center;padding:0 8px}
.shop-vs-hero__eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:#4f46e5;background:#eef2ff;padding:6px 14px;border-radius:999px;margin-bottom:12px}
.shop-vs-intro .sn-page-title{margin:0 0 12px;font-size:clamp(1.35rem,3vw,1.75rem)}
.shop-vs-steps{list-style:none;margin:0 auto 12px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;max-width:640px}
.shop-vs-steps li{font-size:.82rem;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 12px}
.shop-vs-index-meta{font-size:.8rem;color:#94a3b8;margin:8px 0 0;min-height:1.2em}
.shop-vs-workspace{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 12px 40px rgba(15,23,42,.06);padding:20px;min-height:300px;transition:border-color .2s,box-shadow .2s}
.shop-vs-workspace.is-drag{border-color:#818cf8;box-shadow:0 16px 48px rgba(99,102,241,.12)}
.shop-vs-drop__idle{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;color:#475569}
.shop-vs-drop__idle-icon{width:72px;height:72px;border-radius:20px;background:linear-gradient(145deg,#eef2ff,#e0e7ff);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.shop-vs-drop__idle-icon i{font-size:2.4rem;color:#6366f1}
.shop-vs-drop__idle p{margin:0;font-size:.88rem;color:#94a3b8}
.shop-vs-drop__idle small{font-size:.75rem;color:#94a3b8}
.shop-vs-btn-wide{min-width:200px}
.shop-vs-drop__preview{width:100%}
.shop-vs-crop__wrap{display:flex;justify-content:center;margin-bottom:8px}
.shop-vs-crop__stage{position:relative;display:inline-block;max-width:100%;touch-action:none;cursor:crosshair;overflow:hidden;border-radius:16px;background:#f1f5f9;line-height:0}
.shop-vs-crop__stage img{max-width:100%;width:auto;height:auto;max-height:min(52vh,340px);object-fit:contain;display:block;user-select:none;-webkit-user-drag:none;vertical-align:top}
.shop-vs-crop__box{position:absolute;border:2px solid #4f46e5;background:rgba(79,70,229,.15);border-radius:6px;pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,.6) inset}
.shop-vs-crop__hint{margin:0 0 16px;font-size:.85rem;color:#64748b;line-height:1.55;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.shop-vs-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:480px;margin:0 auto}
.shop-vs-actions .shop-vs-btn-search{grid-column:1/-1}
.shop-vs-btn-search[disabled]{opacity:.55;cursor:not-allowed}
.shop-vs-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.82);backdrop-filter:blur(4px);z-index:5;border-radius:16px}
.shop-vs-loading__card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 22px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 8px 24px rgba(15,23,42,.08);color:#4f46e5;font-weight:700;font-size:.9rem}
.shop-vs-loading__card i{font-size:2rem}
.shop-vs-workspace.is-busy .shop-vs-crop__stage{pointer-events:none}
.shop-vs-results{max-width:1200px;margin:0 auto;padding:0 8px}
.shop-vs-results__head{margin-bottom:14px}
.shop-vs-results__head h2{margin:0 0 4px;font-size:1.1rem;display:flex;align-items:center;gap:8px}
.shop-vs-results__head p{margin:0;color:var(--shop-muted);font-size:.85rem}
.shop-vs-empty{max-width:560px;margin:24px auto}
.shop-vs-card__score{position:absolute;top:8px;right:8px;z-index:2;background:rgba(79,70,229,.92);color:#fff;font-size:.68rem;font-weight:800;padding:4px 8px;border-radius:999px}
.shop-vs-grid .shop-product-card__img{position:relative}
@media(min-width:640px){
  .shop-vs-actions{grid-template-columns:1fr 1fr 1.2fr}
  .shop-vs-actions .shop-vs-btn-search{grid-column:auto}
}
