/* Cross-page responsive layer: loaded after the original page styles. */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
.carousel-item .btn.btn-lg { padding: .7rem 1.1rem; font-size: .95rem; font-weight: 600; }

@media (max-width: 991.98px) {
  .site-header .navbar { min-height: 70px; }
  .site-header .navbar-collapse { background: #f8f5ef; margin-top: 8px; padding: 8px 0 16px; }
  .site-header .navbar-nav { gap: 0; }
  .site-header .nav-link { padding: 11px 0 !important; }
  .site-header .dropdown-menu { width: 100%; max-width: 100%; }

  .split, .collection { grid-template-columns: 1fr !important; }
  .collection:nth-child(even) .collection-image { order: 0; }
  .split .image, .collection-image { min-height: 320px; }
  .split .copy, .collection-copy { padding: 42px 28px; }

  .catalog-section .row > [class*="col-"],
  .custom-gallery + *,
  .gallery + * { min-width: 0; }

  .custom-gallery, .gallery { width: 100%; }
}

@media (max-width: 767.98px) {
  body { font-size: 15px; }
  .container, .site-header .container-fluid { width: calc(100% - 28px) !important; }
  .site-header .navbar-brand { gap: 9px !important; }
  .site-header .navbar-brand > img { height: 52px !important; width: auto !important; }
  .site-header .brand-title { font-size: 23px !important; }

  .carousel-item img { height: 68svh !important; min-height: 460px; object-fit: cover !important; }
  .carousel-item .position-absolute { align-items: center !important; padding: 76px 18px 28px !important; }
  .carousel-item h1, .carousel-item .display-md-4 { font-size: clamp(29px, 8vw, 40px) !important; line-height: 1.16 !important; }
  .carousel-item h4 { font-size: 16px !important; }
  .carousel-item p { font-size: 14px !important; }
  .carousel-item .btn {
    width: auto !important;
    min-width: 0;
    padding: 10px 16px !important;
    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.25;
  }
  .carousel-item .d-flex { gap: 10px !important; }
  .button { padding: 10px 16px; font-size: 12px; }

  .hero, .services-hero { min-height: 480px !important; }
  .hero .content, .services-hero .content { padding: 72px 20px 42px !important; }
  .hero h1, .services-hero h1, .heading { font-size: clamp(34px, 10vw, 48px) !important; }
  .hero p, .services-hero .lead { font-size: 16px !important; }

  .section, .collection-update { padding: 56px 0 !important; }
  .grid, .grid-2, .grid-3, .grid-4, .value-grid, .footer-grid, .global-buyer-reasons { grid-template-columns: 1fr !important; }
  .grid { gap: 16px !important; }
  .card img, .collection-card img { aspect-ratio: 4 / 5; }

  .custom-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .custom-gallery .item, .custom-gallery .item1, .custom-gallery .item2, .custom-gallery .item3, .custom-gallery .item4, .custom-gallery .item5 { grid-column: auto !important; grid-row: auto !important; height: 180px !important; }
  .custom-gallery img, .gallery img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }

  .product-card, .product-card img { max-width: 100%; }
  .product-card > img { height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 5; object-fit: cover !important; }
  .product-card .content-box, .product-card .info-box, .product-card-details { position: static !important; transform: none !important; width: 100% !important; max-width: none !important; max-height: none !important; overflow: visible !important; padding: 18px !important; border-radius: 0 !important; }

  .catalog-table { width: 100% !important; max-width: 100% !important; table-layout: fixed; }
  .catalog-table th, .catalog-table td { min-width: 0; padding: 14px 10px !important; font-size: 14px !important; overflow-wrap: anywhere; }
  .tablecloth-range, .catalog-range-details { margin-inline: 0 !important; }

  .contact-form, .row .contact-form { grid-template-columns: 1fr !important; }
  .contact-form .wide { grid-column: auto; }
  .form-control, .form-select, textarea, select, input { font-size: 16px !important; }
  .input-group { flex-wrap: nowrap; }
  #country_code { max-width: 104px !important; }
  iframe[style*="min-height"] { min-height: 340px !important; }
  .contact-card { padding: 26px 18px !important; }

  .video-embed { width: 100% !important; max-height: none !important; }
  .video-placeholder { min-height: 230px; }
  .site-footer { padding-top: 42px; }
  .footer-grid { gap: 24px; }
}

@media (max-width: 420px) {
  .site-header .brand-title { font-size: 19px !important; }
  .site-header .navbar-brand > img { height: 46px !important; }
  .custom-gallery .item, .custom-gallery .item1, .custom-gallery .item2, .custom-gallery .item3, .custom-gallery .item4, .custom-gallery .item5 { height: 145px !important; }
  .catalog-table th, .catalog-table td { min-width: 96px; font-size: 13px !important; }
}
