/* Scentus Motion 3.0.7 — responsive consolidation.
   Loaded AFTER legacy style/design/pages styles to prevent the old fixed mobile
   hero height and competing picture positioning from returning. */
html, body { max-width: 100%; overflow-x: clip; }
#main, .sn-wrap, .sn-catalog-home, .sn-footer .sn-wrap { min-width: 0; }

@media (max-width: 700px) {
  /* Replace conflicting old mobile rules with a true two-row hero. */
  body.home .sn-catalog-home { width: 100% !important; max-width: 100% !important; padding: 0 0 35px !important; }
  body.home .sn-catalog-banner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-content: start !important;
    align-items: start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #faf6ef !important;
    overflow: hidden !important;
    direction: rtl;
  }
  body.home .sn-catalog-banner::before,
  body.home .sn-catalog-banner::after { display: none !important; content: none !important; }
  body.home .sn-catalog-banner > .sn-catalog-picture {
    grid-row: 1 !important;
    grid-column: 1 !important;
    position: relative !important;
    display: block !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 760 / 520 !important;
    overflow: hidden !important;
    z-index: auto !important;
    align-self: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.home .sn-catalog-banner > .sn-catalog-picture img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    animation: none !important;
    filter: none !important;
  }
  body.home .sn-catalog-banner > .sn-catalog-intro {
    grid-row: 2 !important;
    grid-column: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    align-self: stretch !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 22px 21px 25px !important;
    background: #faf6ef !important;
    text-align: right !important;
    direction: rtl !important;
    color: #24313b !important;
  }
  body.home .sn-catalog-intro > .sn-banner-company {
    font-size: clamp(13px, 3.5vw, 16px) !important;
    line-height: 1.8 !important;
    color: #9b742b !important;
    margin: 0 0 4px !important;
  }
  body.home .sn-catalog-intro #sn-banner-title {
    display: block !important;
    width: 100% !important;
    font-size: clamp(24px, 6vw, 30px) !important;
    line-height: 1.65 !important;
    color: #24313b !important;
    margin: 4px 0 8px !important;
    word-break: normal !important;
  }
  body.home .sn-catalog-intro #sn-banner-title .sn-hero-brand-name {
    display: inline !important;
    color: #bf8a30 !important;
    white-space: nowrap !important;
  }
  body.home .sn-catalog-intro p {
    margin: 0 0 15px !important;
    font-size: clamp(12px, 3.2vw, 14px) !important;
    line-height: 1.9 !important;
    color: #53616a !important;
    max-width: 100% !important;
  }
  body.home .sn-catalog-intro .sn-hero-actions {
    width: 100% !important;
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
  }
  body.home .sn-catalog-intro .sn-btn {
    font-size: 12px !important;
    padding: 10px 15px !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  body.home .sn-catalog-intro .sn-hero-contact { font-size: 12px !important; }

  /* Benefits sit directly after hero, not over it. */
  body.home .sn-catalog-home > .sn-benefits {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: calc(100% - 24px) !important;
    gap: 10px !important;
    margin: 14px auto 20px !important;
    padding: 0 !important;
  }
  body.home .sn-benefits .sn-benefit {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 84px !important;
    padding: 12px 10px !important;
    gap: 8px !important;
    border-radius: 14px !important;
  }
  body.home .sn-benefit b { font-size: 19px !important; flex: 0 0 19px !important; }
  body.home .sn-benefit strong { font-size: 12px !important; line-height: 1.6 !important; }
  body.home .sn-benefit small { font-size: 10px !important; line-height: 1.65 !important; }

  /* Product group cards should be neat and never overflow the viewport. */
  body.home .sn-catalog-home > .sn-catalog-section {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    margin: 0 auto 26px !important;
    padding: 12px !important;
  }
  body.home .sn-catalog-section .sn-family-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 10px !important;
  }
  body.home .sn-family-grid > a,
  body.home .sn-family-grid > .sn-family-feature {
    grid-column: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    min-width: 0 !important;
  }
  body.home .sn-family-grid .sn-family-image,
  body.home .sn-family-grid .sn-family-feature .sn-family-image {
    grid-row: 1 !important; grid-column: 1 !important;
    width: 100% !important; height: clamp(120px, 39vw, 175px) !important;
    padding: 10px 6px !important;
    background: #fff !important;
  }
  body.home .sn-family-grid .sn-family-image img {
    max-height: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
    transform: none !important;
  }
  body.home .sn-family-grid .sn-family-label,
  body.home .sn-family-grid .sn-family-feature .sn-family-label {
    grid-row: 2 !important; grid-column: 1 !important;
    display: flex !important;
    width: 100% !important;
    min-height: 65px !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 11.5px !important;
    padding: 9px 10px !important;
  }
  body.home .sn-cement-feature,
  body.home .sn-bottom-grid,
  body.home .sn-last-grid {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-inline: auto !important;
  }
  body.home .sn-cement-feature { grid-template-columns: minmax(0,1fr) !important; }
  body.home .sn-cement-art { width: 100%; min-width: 0; }

  /* Generic interior pages and product details. */
  .sn-refresh-page, .sn-articles-page { width: calc(100% - 24px) !important; max-width: 100% !important; }
  .sn-contact-layout, .sn-calc-layout, .sn-bottom-grid, .sn-editorial-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .sn-contact-cards, .sn-cert-grid, .sn-contact-form-fields, .sn-calc-form {
    grid-template-columns: minmax(0,1fr) !important;
  }
  .sn-refresh-hero, .sn-contact-form-panel, .sn-calc-panel, .sn-calc-results { min-width: 0; }
  .sn-footer-lead, .sn-footer-grid, .sn-footer-panel { min-width: 0; }
  .sn-footer-grid { grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width: 360px) {
  body.home .sn-catalog-banner > .sn-catalog-intro { padding-inline: 15px !important; }
  body.home .sn-catalog-home > .sn-benefits { gap: 7px !important; }
  body.home .sn-benefits .sn-benefit { padding: 9px 7px !important; }
  body.home .sn-benefit small { font-size: 9px !important; }
  body.home .sn-catalog-section .sn-family-grid { gap: 8px !important; }
}
@media (min-width: 701px) and (max-width: 1000px) {
  body.home .sn-catalog-banner { min-height: 440px; }
  body.home .sn-catalog-intro { min-width: 0; padding-block: 35px !important; }
  body.home .sn-catalog-home > .sn-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  body.home .sn-catalog-picture img { animation: none !important; transform: none !important; }
}
