.selector-body{background:#fff7f7;color:#221}.selector-page{width:min(1180px,calc(100% - 32px));margin:0 auto 72px}.selector-hero{background:linear-gradient(135deg,#b40012,#e52632);color:#fff;border-radius:28px;padding:42px;margin:24px 0;box-shadow:0 18px 48px rgba(180,0,18,.18)}.selector-hero h1{font-size:clamp(2rem,5vw,4rem);margin:.25rem 0}.selector-hero p{font-size:1.2rem;max-width:720px}.selector-card,.selector-result{background:#fff;border:1px solid #ffd7d7;border-radius:24px;padding:28px;margin:20px 0;box-shadow:0 14px 38px rgba(90,0,8,.08)}.selected-car{background:#fff1f1;border:1px solid #ffd2d2;border-radius:16px;padding:14px 16px;margin:0 0 20px;color:#5c151b}.selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.selector-grid label{display:flex;flex-direction:column;gap:8px;font-weight:700}.selector-grid select,.selector-grid input[type=search]{border:1px solid #e8b8b8;border-radius:14px;padding:14px 16px;font:inherit;background:#fff}.selector-grid select:disabled{background:#f5eeee;color:#7c6b6b}.start-stop-question{grid-column:1/-1;border:1px solid #ffd2d2;border-radius:16px;padding:16px;display:flex;gap:16px;flex-wrap:wrap}.start-stop-question legend{font-weight:800;color:#7a1018}.start-stop-question label{display:flex;flex-direction:row;align-items:center;gap:8px}.selector-actions,.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.result-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.result-summary div{background:#fff7f7;border-radius:14px;padding:12px}.result-summary dt{font-size:.85rem;color:#7d5555}.result-summary dd{margin:4px 0 0;font-weight:800}.selector-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.selector-notice{border-left:5px solid #d71920;background:#fff5f5;border-radius:16px;padding:18px;margin:16px 0}.selector-note-small{color:#6f5555;font-size:.95rem}.hidden{display:none!important}@media (max-width:760px){.selector-page{width:min(100% - 20px,1180px)}.selector-hero{padding:28px 20px;border-radius:22px}.selector-card,.selector-result{padding:20px;border-radius:20px}.selector-grid,.result-summary,.selector-products{grid-template-columns:1fr}.selector-grid select,.selector-grid input[type=search]{min-height:52px}.selector-actions .button,.result-actions .button{width:100%;justify-content:center}.start-stop-question{display:block}.start-stop-question label{margin:10px 0}}
.selector-product-card{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:start;border:1px solid #ffd7d7;border-radius:18px;padding:14px;background:#fff;box-shadow:0 10px 26px rgba(90,0,8,.06)}
.selector-product-card img{width:120px;height:90px;object-fit:contain;border-radius:12px;background:#fff7f7}
.selector-product-body h3{margin:0 0 8px;font-size:1rem}.selector-product-price{font-weight:900;font-size:1.25rem;margin:0;color:#b40012}.selector-product-caption,.selector-product-specs{margin:4px 0;color:#6f5555;font-size:.92rem}.selector-product-status{display:inline-block;margin:8px 0;padding:4px 8px;border-radius:999px;background:#ecfff2;color:#0f7a35;font-weight:800;font-size:.85rem}
@media (max-width:760px){.selector-product-card{grid-template-columns:1fr}.selector-product-card img{width:100%;height:130px}.selector-product-card .button{width:100%;justify-content:center}}


.selector-progress{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.selector-progress span{border:1px solid #ffd2d2;border-radius:999px;background:#fff7f7;color:#7a3c42;font-size:.88rem;font-weight:800;padding:7px 11px}
.selector-progress span.done{background:#ecfff2;border-color:#bce8c8;color:#0f7a35}
.selector-progress span.active{background:#d71920;border-color:#d71920;color:#fff;box-shadow:0 8px 18px rgba(215,25,32,.18)}
@media (max-width:760px){.selector-progress{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.96);padding:8px 0;margin:-4px 0 14px;backdrop-filter:blur(8px)}.selector-progress span{font-size:.78rem;padding:6px 9px}.selector-card{scroll-margin-top:16px}.selector-grid label,.selector-result{scroll-margin-top:92px;scroll-margin-bottom:110px}.selector-result{margin-bottom:110px}.selector-products{padding-bottom:18px}}


/* 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; }
}
