.product-page :focus-visible{outline:3px solid #111;outline-offset:3px}.product-page-main{max-width:1280px;margin:0 auto;padding:46px 20px 96px}.product-loading{min-height:360px;display:grid;place-items:center;color:var(--muted)}.product-main-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:58px;align-items:start}.product-picture-wrap figure{position:relative;margin:0}.product-picture-wrap figcaption{position:absolute;left:18px;bottom:18px;border-radius:24px;background:var(--ink);color:#fff;padding:8px 13px;font-size:12px;font-weight:800}.product-summary h1{font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.045em;margin:8px 0 22px}.product-price{font-size:42px;font-weight:900;margin:18px 0}.product-price small{display:block;color:var(--muted);font-size:12px;font-weight:400}.product-specifications,.product-services{margin-top:28px}.product-specifications h2,.product-services h2{font-size:22px;margin:0 0 12px}.product-specifications dl{margin:0}.product-specifications dl div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:10px 0}.product-specifications dt{color:var(--muted)}.product-specifications dd{margin:0;font-weight:800;text-align:right}.spec-note{font-size:12px;color:var(--muted)}.product-services ul{margin:0;padding:18px 18px 18px 38px;background:var(--soft);border-radius:12px}.product-services li+li{margin-top:7px}.product-services li::marker{color:var(--red)}.product-actions{display:flex;gap:10px;margin-top:26px}.product-actions .button{flex:1}.product-description,.fitment-reason,.related-section,.product-contact{margin-top:76px}.product-description{max-width:850px}.product-description h2,.fitment-reason h2,.product-contact h2{font-size:clamp(30px,4vw,46px);line-height:1.06;margin:9px 0}.product-description p:last-child,.product-contact p:not(.eyebrow){color:var(--muted)}.related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.related-grid .product h3{font-size:18px}.product-contact{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:52px;background:var(--soft);border-radius:var(--radius)}.product-contact>div:last-child{text-align:right}.product-not-found{margin:30px 0 70px}.product-not-found h1{font-size:clamp(38px,5vw,58px)}.product-page footer a{font-weight:700}
@media(max-width:1080px){.product-page .topbar nav a:nth-child(4),.product-page .topbar nav a:nth-child(5){display:none}.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.product-main-block{grid-template-columns:1fr}.product-picture-wrap{max-width:620px}.product-contact{align-items:flex-start;flex-direction:column}.product-contact>div:last-child{text-align:left;width:100%}.product-contact .button{width:100%}}
@media(max-width:600px){.product-page-main{padding:28px 16px 92px}.product-page .breadcrumbs{max-width:100%;overflow-wrap:anywhere}.product-summary h1{font-size:40px}.product-price{font-size:36px}.product-actions{flex-direction:column}.product-actions .button{width:100%;min-height:50px}.related-grid{grid-template-columns:1fr}.product-contact{padding:28px 20px}.product-page .info-strip{font-size:11px;gap:10px}.product-page .info-strip>*{white-space:nowrap}.product-page .topbar .compact{font-size:0;width:48px;min-height:44px;padding:0}.product-page .topbar .compact:after{content:'Ð²Â˜Ð‹';font-size:22px}}

/* Stage 23: product photo presentation safety only */
.product-picture-wrap,
.product-summary,
.product-main-block,
.product-description,
.related-section,
.related-grid {
  min-width: 0;
  max-width: 100%;
}
.product-picture-wrap img,
.product-image,
.product-visual {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
@media(max-width:600px){
  .product-page-main{overflow-x:hidden;}
  .product-picture-wrap{width:100%;}
  .product-picture-wrap img{width:100%;}
}


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