/* soTi retail v0.2: слой «стекло и свет» поверх v0.1. Только transform, opacity, тени и размытие. Цвета и шрифт v0.1 не менялись. */
:root{--glass-blur:20px;--glass-edge:rgba(255,255,255,.22);--glass-fill:rgba(18,17,16,.55);--glow:rgba(201,164,92,.22)}
:root[data-theme=light]{--glass-edge:rgba(255,255,255,.7);--glass-fill:rgba(241,241,239,.62);--glow:rgba(107,81,39,.12)}
::selection{background:var(--gold);color:var(--bg)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* шапка: стекло, плотнее при прокрутке */
.site-header{background:var(--glass-fill);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:inset 0 -1px 0 var(--glass-edge);transition:box-shadow .35s,background-color .35s}
.site-header.sc{background:color-mix(in srgb,var(--bg) 82%,transparent);box-shadow:inset 0 -1px 0 var(--gold),0 12px 40px rgba(0,0,0,.35)}
/* свет в герое */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero:before{content:'';position:absolute;left:55%;top:-20%;width:900px;height:900px;margin-left:-300px;z-index:-1;background:conic-gradient(from 170deg at 50% 0,transparent 0 10%,rgba(243,227,185,.14) 13%,transparent 18% 40%,rgba(216,188,130,.1) 44%,transparent 49%);filter:blur(18px);transform-origin:50% 0;animation:swv2 14s ease-in-out infinite alternate}
:root[data-theme=light] .hero:before{opacity:.35}
@keyframes swv2{to{transform:rotate(8deg)}}
.hero h1,.hero .h1{background-size:240% 100%;animation:foilv2 9s ease-in-out infinite alternate}
@keyframes foilv2{from{background-position:10% 0}to{background-position:90% 0}}
/* кнопки */
.button{position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .3s,background-color .3s}
.button.primary{box-shadow:0 10px 36px var(--glow)}
.button.primary:after{content:'';position:absolute;top:0;bottom:0;left:-70px;width:56px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);opacity:0;pointer-events:none}
@media (hover:hover){.button.primary:hover{transform:translateY(-1px);box-shadow:0 14px 44px var(--glow)}.button.primary:hover:after{opacity:1;animation:swv2b .9s ease-out}}
@keyframes swv2b{from{left:-70px}to{left:120%}}
/* карточки товара: стеклянная подпись, подъём фото */
.product{transition:transform .5s var(--ease),box-shadow .5s}
.product-photo{overflow:hidden}.product-photo img{transition:transform 1s var(--ease)}
@media (hover:hover){.product:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(0,0,0,.4),0 0 40px var(--glow)}.product:hover .product-photo img{transform:scale(1.045)}}
.product-body{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent);box-shadow:inset 0 1px 0 var(--glass-edge)}
.add{transition:transform .25s var(--ease),box-shadow .3s}.add:active{transform:scale(.94)}
/* панель фильтров, окно корзины, уведомления: стекло */
.filters{background:var(--glass-fill);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 -1px 0 var(--glass-edge)}
.buybar{background:var(--glass-fill)!important;backdrop-filter:blur(var(--glass-blur)) saturate(1.5);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5)}
.toast{background:linear-gradient(135deg,rgba(228,195,146,.5),rgba(201,164,92,.7));border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 14px 40px rgba(0,0,0,.45)}
.chip{transition:background-color .3s,box-shadow .3s,transform .25s var(--ease)}.chip:active{transform:scale(.96)}
/* появление при прокрутке */
@media (prefers-reduced-motion:no-preference){.js .rvv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}.js .rvv.in{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero:before,.hero h1,.hero .h1{animation:none}.button.primary:hover:after{animation:none}}
@media (max-width:767px){.hero:before{width:520px;height:520px;margin-left:-260px}}
@supports not (backdrop-filter:blur(1px)){.site-header,.filters,.buybar{background:var(--bg)}}

/* ИКОНКИ: единый стандарт. Только символы #i-* из спрайта, линия 1.6, размеры 16, 20, 22, 24, 44. См. ICONS.md */
:root{--icon-stroke:1.6}
:where(svg.i){fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex:none}
svg.i.f,.stars svg.i{fill:currentColor;stroke:none}
.result .ico svg,.empty-page .ico svg{stroke-width:1.8}

/* ОТСТУПЫ: единая шкала и правило «не теснее 12 px между кнопками». См. SPACING.md */
:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--gap-btn:12px;--tap:44px}
.tools{gap:var(--gap-btn)}
.filters-row,.chips,.tabs,.tabs-line,.thumbs,.opt-row,.acts{gap:var(--gap-btn)}
.buy{gap:var(--gap-btn)}.search-big{gap:var(--gap-btn)}
.form-grid,.range{gap:var(--sp-4)}
.chip{min-height:var(--tap);padding-inline:var(--sp-4)}
.link-btn,.acts button,.acts a{min-height:var(--tap);display:inline-flex;align-items:center}
.fbtn{min-height:var(--tap)}
.stars svg.i{width:16px;height:16px}.link-all svg.i{width:16px;height:16px}.fbtn svg.i{width:16px;height:16px}
.button+.button,.button+.fav-btn,.button+.link-btn{margin-left:0}
.phone a svg.i,.mm a svg.i,.menu a svg.i{width:20px;height:20px}
@media (max-width:767px){.tool{width:var(--tap);height:var(--tap)}}
.promo .field,.promo{gap:var(--gap-btn)}.promo .field{display:grid}.promo .field .input+.button{margin-top:0}

/* СТЕКЛО НА ВСЁМ САЙТЕ. Панели получают размытие, светлую кромку и блик; цвет и шрифт прежние. Радиус 6 px: на сайтах углы почти прямые. */
:root{--glass-panel:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.035) 55%,rgba(255,255,255,.07));--glass-shadow:0 14px 40px rgba(0,0,0,.35);--glass-r:6px}
:root[data-theme=light]{--glass-panel:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.55));--glass-shadow:0 14px 36px rgba(60,50,30,.12)}
@media (prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=light]){--glass-panel:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.55));--glass-shadow:0 14px 36px rgba(60,50,30,.12)}}
body{background-image:radial-gradient(900px 600px at 88% -8%,var(--glow),transparent 70%),radial-gradient(700px 600px at -6% 60%,rgba(120,90,50,.10),transparent 70%);background-attachment:fixed}
:root[data-theme=light] body{background-image:radial-gradient(900px 600px at 88% -8%,rgba(201,164,92,.22),transparent 70%)}
.card-box,.tile,.stat,.addr,.empty,.line-item,.order,.cta-band,.drawer,.pay-note,.auth-form,.custom-note,.rev-sum,.pdp-rev,.sum-card,.mini,.kv-card,.faq-groups details,.result{background:var(--glass-panel);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 -1px 0 rgba(255,255,255,.04),var(--glass-shadow);border-radius:var(--glass-r);position:relative}
:root[data-theme=light] .card-box,:root[data-theme=light] .tile,:root[data-theme=light] .stat,:root[data-theme=light] .addr,:root[data-theme=light] .empty,:root[data-theme=light] .line-item,:root[data-theme=light] .order{box-shadow:inset 0 1px 0 #fff,0 12px 32px rgba(60,50,30,.1)}
.card-box:after,.tile:after,.stat:after,.addr:after,.empty:after,.order:after,.line-item:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(160px 70px at 14% 0,rgba(255,255,255,.12),transparent 70%)}
:root[data-theme=light] .card-box:after,:root[data-theme=light] .tile:after,:root[data-theme=light] .stat:after{background:radial-gradient(160px 70px at 14% 0,rgba(255,255,255,.8),transparent 70%)}
.card-box>*,.tile>*,.stat>*,.addr>*,.empty>*,.order>*,.line-item>*{position:relative;z-index:1}
/* поля: стекло */
.input,.select,.textarea{background:rgba(255,255,255,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--glass-r);transition:box-shadow .3s,background-color .3s}
:root[data-theme=light] .input,:root[data-theme=light] .select,:root[data-theme=light] .textarea{background:rgba(255,255,255,.7)}
.input:focus,.select:focus,.textarea:focus{box-shadow:inset 0 0 0 1px var(--gold),0 0 0 4px rgba(201,164,92,.18)}
/* подвал и всплывающие панели */
.site-footer{background:linear-gradient(180deg,transparent,rgba(255,255,255,.04));backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:inset 0 1px 0 var(--glass-edge)}
.drawer{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(20,18,15,.9) 30%)}
:root[data-theme=light] .drawer{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(241,241,239,.95))}
.button.line,.button.text{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.button.line{box-shadow:inset 0 0 0 1px var(--gold),inset 0 1px 0 var(--glass-edge)}
.nav a.on,.nav a[aria-current]{text-shadow:0 0 18px var(--glow)}
@supports not (backdrop-filter:blur(1px)){.card-box,.tile,.stat,.addr,.empty,.line-item,.order,.cta-band,.drawer,.pay-note,.auth-form,.input,.select,.textarea{background:var(--panel)}}

/* UX КЛИЕНТА: короткие пути. См. UX-CLIENT.md */
.order-sum{gap:var(--gap-btn)}.order-sum .button .i{width:20px;height:20px}
.order-sum .button.text{min-height:var(--tap)}
@media (max-width:860px){.co-block .pay-big{position:sticky;bottom:12px;z-index:35;width:100%;min-height:56px;box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 30px var(--glow)}}
.quick{display:flex;gap:var(--gap-btn);flex-wrap:wrap}
.trust li>svg.i{width:24px;height:24px;color:var(--gold);margin-bottom:10px}
.chip svg.i{width:16px;height:16px}.shop p svg.i{color:var(--gold)}.tile>svg.i{width:32px;height:32px;color:var(--gold)}
.lb{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.hint{display:flex;gap:10px;align-items:flex-start}
