/* Pre-publish premium commerce UI/UX layer. Visual-only: no catalog/fitment data changes. */
:root{--str-red:#d71920;--str-red-dark:#a80e14;--str-ink:#17191f;--str-muted:#616670;--str-bg:#f7f8fa;--str-panel:#fff;--str-line:#e8e9ee;--str-success:#0f7a35;--str-shadow:0 18px 55px rgba(20,24,32,.10);--str-shadow-soft:0 10px 30px rgba(20,24,32,.07)}
body{background:linear-gradient(180deg,#fff 0,#fafbfc 42%,#fff 100%);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.info-strip{background:linear-gradient(90deg,#15171d,#242832);font-weight:800;letter-spacing:.01em}.topbar{box-shadow:0 8px 28px rgba(20,24,32,.06);border-bottom:1px solid rgba(20,24,32,.08)}.brand-mark{box-shadow:0 10px 24px rgba(215,25,32,.22)}
.button{border-radius:14px;min-height:50px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(168,14,20,.16)}.button.primary,.button.compact{box-shadow:0 12px 24px rgba(215,25,32,.20)}.button.secondary{background:#fff;color:var(--str-ink);border-color:#d7d9df}.button.secondary:hover{background:#fff4f4;color:var(--str-red);border-color:var(--str-red)}.button.delivery{border-color:#ffd2d5;background:#fff6f6;color:var(--str-red)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 18%,rgba(215,25,32,.13),transparent 28%),linear-gradient(112deg,#fff 0 57%,#f1f3f6 57%)}.hero:after{content:'';position:absolute;right:-120px;bottom:-140px;width:420px;height:420px;border-radius:50%;background:rgba(215,25,32,.07);pointer-events:none}.hero-copy,.hero-card{position:relative;z-index:1}.hero h1{max-width:920px}.lead{color:#535862}.hero-card{border-top:0;border-left:8px solid var(--str-red);box-shadow:var(--str-shadow)}
.advantages-section,.why-section{background:linear-gradient(135deg,#bd1018,#e12632)}.advantage-grid,.why-grid{background:transparent;gap:16px}.advantage-grid article,.why-grid article{border:1px solid rgba(255,255,255,.24);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(3px)}
.selector-entry,.catalog-intro,.catalog-search-section,.catalog-controls,.catalog-contact,.selector-card,.selector-result,.product-main,.product-panel,.contact-card,.service-card{box-shadow:var(--str-shadow-soft)}.selector-entry{border-top:1px solid var(--str-line);border-bottom:1px solid var(--str-line)}.brand-grid article,.shop-grid article,.product,.selector-product-card{box-shadow:var(--str-shadow-soft);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.brand-grid article:hover,.shop-grid article:hover,.product:hover,.selector-product-card:hover{transform:translateY(-2px);box-shadow:var(--str-shadow);border-color:#ffd0d3}
.shop-grid article{position:relative;overflow:hidden}.shop-grid article:after{content:'Звонок и доставка';display:block;margin-top:18px;color:var(--str-red);font-weight:900;font-size:13px}.shop-number{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff1f2;color:var(--str-red)}
.partner-section{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:0;padding:76px max(20px,calc((100% - 1240px)/2));background:#17191f;color:#fff}.partner-section h2{font-size:clamp(32px,4vw,48px);line-height:1.05;margin:10px 0}.partner-section p:not(.eyebrow){color:#d8dbe2;max-width:680px}.partner-section .button{border-color:#fff;color:#fff;background:transparent}.partner-section .button:hover{background:#fff;color:#17191f}
.catalog-intro{border-radius:28px;background:linear-gradient(135deg,#fff,#f7f8fb);border:1px solid var(--str-line);padding:34px}.catalog-search-section,.catalog-controls{border-radius:24px;background:#fff;border:1px solid var(--str-line);padding:22px}.search-box{font-size:14px;color:var(--str-ink)}.product-grid{align-items:stretch}.product{border-radius:24px;border:1px solid var(--str-line);background:#fff;overflow:hidden}.product-image{background:linear-gradient(180deg,#fff,#f7f8fa);border-radius:18px}.product h2,.product h3{letter-spacing:-.02em}.price{color:var(--str-red);font-weight:950}.price small{color:#6b707a;font-weight:800}.tag,.selector-product-status{background:#ecfff2!important;color:var(--str-success)!important;border:1px solid #bdeecb}.card-actions{display:grid;grid-template-columns:1fr;gap:10px}.card-actions .button{width:100%}
.selector-body{background:linear-gradient(180deg,#fff,#fff7f7 60%,#fff)}.selector-hero{background:radial-gradient(circle at 88% 20%,rgba(255,255,255,.20),transparent 24%),linear-gradient(135deg,#a90f16,#e32632);box-shadow:0 22px 60px rgba(180,0,18,.22)}.selector-card,.selector-result{border-color:#f1d4d6}.selector-grid select,.selector-grid input[type=search],input,select,textarea{min-height:52px}.selector-products{align-items:stretch}.selector-product-card{border-color:#eadde0;background:#fff}.selector-product-price{color:var(--str-red)}.product-visual{background:#fff;border-radius:24px;box-shadow:var(--str-shadow-soft)}
.mobile-callbar.commerce-bar{gap:8px}.mobile-callbar.commerce-bar .button{font-size:13px;padding:10px 9px;min-height:48px;white-space:nowrap}.mobile-callbar.commerce-bar .button.secondary{border-color:#e1e3e8;color:#17191f;background:#fff}:focus-visible{outline:3px solid rgba(215,25,32,.35);outline-offset:3px}
@media(max-width:920px){.partner-section{align-items:flex-start;flex-direction:column}.catalog-intro{padding:24px}.advantage-grid,.why-grid{gap:12px}}
@media(max-width:600px){body.has-mobile-callbar{padding-bottom:82px}.hero h1{font-size:40px;letter-spacing:-.045em}.lead{font-size:18px}.hero-actions .button{width:100%}.hero-card strong{font-size:24px}.partner-section{padding:54px 20px}.partner-section .button{width:100%}.catalog-intro,.catalog-search-section,.catalog-controls,.selector-card,.selector-result{border-radius:20px}.mobile-callbar:has(a:not([hidden])){display:flex!important;position:fixed;z-index:20;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--str-line);padding:9px 10px}.mobile-callbar.commerce-bar .button{flex:1}.mobile-callbar.commerce-bar .button.primary{flex:1.05}.info-strip{font-size:11px}.topbar{gap:12px}.topbar .button.compact{min-width:44px}}


/* Stage 31.1: production bugfix closeout  mobile overflow and CTA containment */
html, body { max-width: 100%; overflow-x: clip; }
img, svg, video { max-width: 100%; height: auto; }
a, button, .button, .btn, input, select, textarea { max-width: 100%; }
.button, .btn { white-space: normal; overflow-wrap: anywhere; text-align: center; }
.info-strip, .topbar, .hero, .catalog-intro, .catalog-contact, .results-toolbar,
.product-main-block, .product-section, .selector-hero, .selector-card, .selector-result,
.phone-panel, .maps-section, .delivery-note, .service-hero, .service-section { min-width: 0; max-width: 100%; }
.product, .selector-product-card, .store-card, .feature-card, .step-card { min-width: 0; }
.product h2, .product h3, .product a, .product-brand, .price, .card-perks,
.selector-product-body, .selector-product-body h3, .selector-product-specs,
.breadcrumbs, .catalog-count, .lead, h1, h2, h3 { overflow-wrap: anywhere; }
.mobile-callbar.commerce-bar { box-sizing: border-box; max-width: 100vw; }
@media (max-width: 600px) {
  main > section { padding-left: 16px; padding-right: 16px; }
  .info-strip { padding-left: 12px; padding-right: 12px; gap: 8px; flex-wrap: wrap; }
  .topbar { padding-left: 14px; padding-right: 14px; gap: 10px; max-width: 100vw; }
  .hero h1, .home-page .hero h1 { font-size: clamp(34px, 11vw, 40px); line-height: 1.02; }
  .hero-card strong { font-size: 23px; }
  .catalog-intro, .catalog-contact, .catalog-controls, .catalog-search-section,
  .selector-card, .selector-result, .product-main-block, .product-section { padding-left: 18px; padding-right: 18px; }
  .results-toolbar, .catalog-contact, .product-cta, .result-actions, .hero-actions, .section-actions { align-items: stretch; flex-direction: column; }
  .results-toolbar .button, .catalog-contact .button, .product-cta .button, .result-actions .button,
  .hero-actions .button, .section-actions .button { width: 100%; }
  .selector-page { width: min(100% - 20px, 1180px); }
  .selector-hero { padding: 26px 18px; }
  .selector-hero h1 { overflow-wrap: anywhere; }
  .selector-progress { gap: 6px; }
  .selector-progress span { flex: 1 1 calc(50% - 6px); min-width: 0; text-align: center; }
  .mobile-callbar.commerce-bar { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding-left: 8px; padding-right: 8px; }
  .mobile-callbar.commerce-bar .button { min-width: 0; width: 100%; font-size: 12px; padding-left: 6px; padding-right: 6px; white-space: normal; line-height: 1.15; }
}
