@media (max-width: 680px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .bamvero-header-container,
  .section-inner {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Product catalog: keep the buying path short on phones. */
  .catalog-hero .section-inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 38px 0 42px !important;
  }

  .catalog-hero .eyebrow {
    color: #d9b678 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
  }

  .catalog-hero .eyebrow::before { display: none !important; }

  .catalog-hero h1 {
    margin: 10px 0 12px !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
  }

  .catalog-hero p {
    margin-bottom: 22px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .catalog-hero .hero-note,
  .families,
  .catalog .sidebar {
    display: none !important;
  }

  .catalog-hero .hero-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .catalog-hero .hero-actions .btn {
    width: 100% !important;
    min-height: 46px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 14px;
  }

  .catalog {
    padding: 34px 0 66px !important;
  }

  .catalog-layout {
    display: block !important;
  }

  .catalog-head {
    display: grid !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
  }

  .catalog-head h2 {
    margin-bottom: 7px !important;
    font-size: 27px !important;
    line-height: 1.12 !important;
  }

  .catalog-head p {
    font-size: 14px;
    line-height: 1.55;
  }

  .catalog .count {
    min-width: 0;
    font-size: 13px;
  }

  .quick-filters {
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 -12px 22px !important;
    padding: 0 12px 8px !important;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }

  .quick-filters::-webkit-scrollbar,
  .thumb-row::-webkit-scrollbar,
  .related-grid::-webkit-scrollbar { display: none; }

  .quick-filters .chip {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 13px;
    border-radius: 999px;
    font-size: 13px;
    scroll-snap-align: start;
  }

  .product-grid { gap: 16px !important; }
  .product-card { border-radius: 10px !important; }
  .product-media { aspect-ratio: 4 / 3 !important; }
  .product-info { gap: 9px !important; padding: 17px !important; }
  .product-info h3 { font-size: 19px !important; line-height: 1.22 !important; }
  .product-info p { font-size: 14px; line-height: 1.55; }

  .product-actions {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  .product-actions .quote-btn {
    width: auto !important;
    min-width: 112px;
  }

  .inquiry-section { padding: 52px 0 64px !important; }

  /* Product details: compact gallery and sourcing information. */
  .product-hero { padding: 24px 0 40px !important; }
  .product-hero .crumbs { display: none !important; }
  .product-hero .detail-layout { gap: 24px !important; }
  .product-hero .detail-layout > *,
  .gallery-shell,
  .product-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0 !important;
  }
  .gallery-shell { overflow: hidden; padding: 10px !important; border-radius: 10px !important; }
  .gallery-main { aspect-ratio: 4 / 3 !important; padding: 6px !important; border-radius: 8px !important; }
  .gallery-main img { width: 92% !important; height: 92% !important; }
  .gallery-prev { left: 8px !important; }
  .gallery-next { right: 8px !important; }

  .thumb-row {
    display: grid !important;
    grid-template-columns: none !important;
    grid-auto-flow: column;
    grid-auto-columns: 72px;
    gap: 8px !important;
    margin: 10px -2px 0 !important;
    padding: 2px !important;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    width: 100%;
    min-width: 0;
  }

  .thumb-row button {
    width: 72px;
    border-radius: 7px !important;
    scroll-snap-align: start;
  }

  .product-copy { gap: 14px !important; }
  .product-copy .kicker { font-size: 11px; letter-spacing: 1.35px; }
  .product-copy h1 {
    font-size: 28px !important;
    line-height: 1.14 !important;
    white-space: normal !important;
  }
  .product-copy .lead { font-size: 15px !important; line-height: 1.6; }
  .product-copy .tag-row { gap: 7px; }
  .product-copy .tag-row span { min-height: 29px; padding: 5px 10px; }
  .feature-list { gap: 7px !important; }
  .feature-list li { grid-template-columns: 16px 1fr !important; gap: 7px !important; font-size: 14px; }
  .feature-list li::before { width: 7px !important; height: 7px !important; margin-top: 8px !important; }

  .cta-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px !important;
  }
  .cta-row .btn { min-height: 44px; padding: 9px 12px; font-size: 14px; }
  .cta-row .btn:first-child { grid-column: 1 / -1; }

  .content-section,
  .detail-band,
  .related { padding: 44px 0 !important; }

  .section-head { gap: 6px !important; margin-bottom: 18px !important; }
  .section-kicker { font-size: 23px !important; line-height: 1.08 !important; margin-bottom: 8px !important; }
  .section-head h2,
  .detail-band h2 { font-size: 17px !important; line-height: 1.4 !important; }
  .section-head p { font-size: 14px !important; line-height: 1.58 !important; }

  .spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border-radius: 10px !important;
  }

  .spec-item,
  .spec-item:nth-child(3n),
  .spec-item:nth-last-child(-n+3) {
    min-height: 0 !important;
    padding: 16px 14px !important;
    border-right: 1px solid #e2ceb3 !important;
    border-bottom: 1px solid #e2ceb3 !important;
  }

  .spec-item:nth-child(2n) { border-right: 0 !important; }
  .spec-item:nth-last-child(-n+2) { border-bottom: 0 !important; }
  .spec-item span { margin-bottom: 7px !important; font-size: 10px !important; letter-spacing: .9px !important; }
  .spec-item strong { font-size: 14px !important; line-height: 1.4 !important; }

  .detail-images { gap: 14px !important; }
  .detail-images img { border-radius: 8px !important; box-shadow: 0 12px 32px rgba(31,34,39,.08) !important; }

  .related-grid {
    display: grid !important;
    grid-template-columns: none !important;
    grid-auto-flow: column;
    grid-auto-columns: min(82vw, 320px);
    gap: 14px !important;
    margin-right: -12px;
    padding-right: 12px;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
  }
  .related-card { border-radius: 10px !important; scroll-snap-align: start; }
  .related-card div:last-child { padding: 16px !important; }
  .related-card h3 { font-size: 18px !important; }
  .related-card p { font-size: 14px; line-height: 1.5; }

  .quote-section { padding: 48px 0 64px !important; }
  .quote-layout { gap: 24px !important; }
  .quote-layout h2 { font-size: 27px !important; line-height: 1.15 !important; }
  .quote-layout p { font-size: 14px; line-height: 1.58; }
  .inquiry-form { padding: 17px !important; border-radius: 10px !important; }

  /* Shared content pages: center the layout and restore clear hierarchy. */
  .page-hero { padding: 34px 0 !important; }
  .page-hero .hero-grid { gap: 24px !important; }
  .page-hero .eyebrow {
    color: #a9782f !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
  }
  .page-hero .eyebrow::after { display: none !important; }
  .page-hero h1 { font-size: 31px !important; line-height: 1.12 !important; }
  .page-hero .hero-copy p { font-size: 15px !important; line-height: 1.6; }
  .hero-media { border-radius: 10px !important; }
  .hero-media img { height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; }

  .content-section { padding: 44px 0 !important; }
  .content-section .two-col,
  .content-section .split-card,
  .content-section .contact-grid { gap: 24px !important; }
  .content-section .eyebrow { font-size: 22px !important; line-height: 1.1 !important; }
  .content-section h2,
  .content-section .section-head h2 { font-size: 25px !important; line-height: 1.2 !important; }
  .card-grid,
  .material-grid,
  .post-grid,
  .stat-grid { gap: 14px !important; }
  .material-card,
  .post-card { border-radius: 10px !important; }
  .inquiry-grid { gap: 24px !important; }

  .whatsapp-float {
    right: 14px !important;
    bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    justify-content: center !important;
    font-size: 0 !important;
    box-shadow: 0 12px 28px rgba(32, 212, 92, .25) !important;
  }
  .whatsapp-float span {
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    font-size: 11px !important;
    letter-spacing: .4px;
  }
  .whatsapp-float strong { display: none !important; }

  /* Keep the shared footer useful without repeating the whole site navigation. */
  .site-footer {
    margin-top: 0 !important;
    padding: 30px 0 20px !important;
  }

  .site-footer .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .site-footer .footer-grid > div:nth-child(2),
  .site-footer .footer-grid > div:nth-child(3) {
    display: none !important;
  }

  .site-footer h3 {
    margin-bottom: 7px !important;
    font-size: 15px !important;
  }

  .site-footer p {
    max-width: 340px;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .site-footer .footer-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px 14px !important;
  }

  .site-footer .footer-links a {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .site-footer .copyright {
    margin-top: 22px !important;
    padding-top: 14px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 370px) {
  .catalog-hero .hero-actions,
  .cta-row { grid-template-columns: 1fr !important; }
  .cta-row .btn:first-child { grid-column: 1; }
  .product-copy h1 { font-size: 26px !important; }
  .spec-item { padding: 14px 12px !important; }
}
