/* Bracket catalog reuses the damper cards; keep the complete kit visible. */
.brackets-catalog-page #models .damper-listing-media { background: #171717; }
.brackets-catalog-page #models .damper-listing-media img { object-fit: contain; }
.brackets-catalog-page #models article { scroll-margin-top: 10rem; }
.brackets-catalog-page #models .damper-listings { align-items: stretch; }
.brackets-catalog-page #models .damper-listing { align-self: stretch; }
.brackets-catalog-page #models .bracket-install-slot { height:44px;min-height:44px;margin:0 0 .8rem; }
.bracket-install-button { width:100%;height:44px;text-align:left;padding:0;background:transparent;color:#eee;border:0;border-top:1px solid #ffffff20;font:inherit;font-weight:700;cursor:pointer; }
.bracket-install-button:hover { color:#ff892f; }
.bracket-install-button:focus-visible { outline:2px solid #ff892f; }
.bracket-install-panel { grid-column:1 / -1;min-width:0;padding:20px;border:1px solid #ff892f77;background:linear-gradient(120deg,#211810,#111 65%);color:#eee; }
.bracket-install-content { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px 24px; }
.bracket-install-content img { grid-column:1;grid-row:1 / 3;display:block;width:100%;max-height:600px;object-fit:contain;min-width:0; }
.bracket-install-content h3 { grid-column:2;align-self:end;font-size:clamp(1.4rem,3vw,2.3rem);line-height:1.15;margin:0;overflow-wrap:break-word; }
.bracket-install-content p { grid-column:2;color:#bbb;line-height:1.6;margin:0; }
.bracket-install-close { min-height:44px;margin-top:16px;padding:8px 16px;background:#222;border:1px solid #ff892f;color:#fff;font:inherit;cursor:pointer; }
.bracket-install-close:focus-visible { outline:2px solid #ff892f;outline-offset:3px; }
@media(max-width:699px) {
  .bracket-install-panel { padding:14px; }
  .bracket-install-content { grid-template-columns:minmax(0,1fr); }
  .bracket-install-content img,.bracket-install-content h3,.bracket-install-content p { grid-column:1;grid-row:auto; }
}
/* Shared narrow-screen layout: content wraps instead of being clipped. */
@media (max-width: 939px) {
  .cart-checkout, .detail-panel, .order { grid-template-columns: minmax(0,1fr); }
  main, main section, main article, main section > div,
  .hero-copy, .hero-visual, .detail-panel > div, .price-box,
  .damper-listing-body, .accessory-body, .accessory-media,
  .accessory-checkout-panel, .order-form, .bracket-product-info {
    min-width: 0;
  }
  h1, h2, h3, p, label, summary { overflow-wrap: anywhere; }
  .price-box .call-order-link { width: 100%; min-width: 0; justify-content: center; padding: .85rem .5rem; }
  .price-box .call-order-link span { min-width: 0; align-items: center; }
  .price-box .call-order-link strong { font-size: clamp(1rem, 4.4vw, 1.65rem); line-height: 1.2; white-space: normal; }
  .price-box .call-order-link small { font-size: .7rem; text-align: center; }
  .call-order-link svg { flex-shrink: 0; }
  .btn { white-space: normal; overflow-wrap: anywhere; text-align: center; }
  input, select, textarea { max-width: 100%; min-width: 0; }
}
@media (max-width: 719px) {
  .site-header { gap: .65rem; padding: .65rem .85rem; }
  .site-header .brand { flex: 1 1 auto; min-width: 0; }
  .brand small { font-size: .65rem; }
  .model-switcher { min-width: 0; width: 100%; }
  .model-switcher a { min-width: 0; padding: .75rem .25rem; font-size: .75rem; }
  .section-pad { width: 100%; padding: 1.75rem 1rem; margin-inline: auto; }
  .hero, .carbon-page .hero, .silver-page .hero {
    width: 100%; min-height: 0; grid-template-columns: minmax(0,1fr); gap: 1.25rem;
  }
  .hero-copy { text-align: center; }
  .hero h1, .carbon-page .hero h1, .silver-page .hero h1 {
    max-width: 100%; margin-inline: auto; font-size: clamp(2rem, 8.5vw, 3rem); line-height: 1.1;
  }
  .hero-text, .eyebrow { max-width: 100%; margin-inline: auto; }
  .hero-text { font-size: 1rem; line-height: 1.6; }
  .hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; }
  .hero-actions > .btn-primary { width: auto; flex: 1 1 160px; }
  .hero-actions .hero-cart-button, .hero-actions .call-order-icon {
    flex: 0 0 3rem; width: 3rem; min-width: 3rem; min-height: 3rem;
  }
  .hero-metrics, .carbon-page .hero-metrics {
    max-width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; text-align: center;
  }
  .hero-metrics div { padding: .7rem .3rem; min-height: 0; }
  .hero-metrics strong { font-size: 1rem; overflow-wrap: anywhere; }
  .hero-metrics span { display: block; font-size: .75rem; line-height: 1.4; }
  .hero-visual, .product-stage { width: 100%; max-width: 100%; margin-inline: auto; }
  .detail-panel { grid-template-columns: minmax(0,1fr); padding: 1rem; gap: 1rem; }
  .detail-panel h2, .section-heading h2, .black-installed-layout h2 {
    max-width: 100%; font-size: clamp(1.75rem,7.5vw,2.5rem); line-height: 1.12;
  }
  .price-box { padding: .85rem; text-align: center; }
  .price-box > strong { font-size: 2rem; }
  .black-installed-layout { grid-template-columns: minmax(0,1fr); padding: 1rem; gap: 1rem; }
  .black-installed-layout > img { max-width: 100%; margin-inline: auto; }
  .damper-listing h2 { max-width: 100%; font-size: 1.9rem; line-height: 1.1; }
  .damper-listing-body { padding: 1rem; }
  .damper-listing-price { flex-wrap: wrap; }
  .black-related-grid {
    display: flex;
    width: 100%;
    max-width: 100%;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .black-related-grid > article {
    flex: 0 0 min(280px, 82vw);
    width: min(280px, 82vw);
    min-width: min(280px, 82vw);
    scroll-snap-align: start;
  }
  .black-related-grid .damper-listing-actions { grid-template-columns: minmax(0, 1fr) 2.8rem; }
  .black-related-grid .damper-listing-actions .btn { overflow-wrap: normal; word-break: normal; }
  .black-related-grid .damper-listing-price strong { white-space: nowrap; }
  .black-related-products h3 { line-height: 1.2; }
  .listing-extra.section-pad { padding-block: 0; margin-block: .65rem; }
  .listing-extra > section { padding: 1rem 0; }
  .accessories-page .accessory-feature-card { flex-direction: column; }
  .accessory-feature-card .accessory-body h3 { max-width: 100%; font-size: 2rem; line-height: 1.12; }
  .accessory-buy-grid { grid-template-columns: minmax(0,1fr); }
  .accessories-page .accessory-media, .accessories-page .accessory-body { width: 100%; padding: .85rem; }
  .accessory-price-row strong { white-space: normal; }
  .bracket-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: .65rem; }
  .bracket-card-head h3 { overflow-wrap: anywhere; }
  .site-footer, .footer-links { justify-content: center; text-align: center; }
  .sticky-actions { bottom: max(.65rem, env(safe-area-inset-bottom)); }
}
