/* RC Responsive Final v6 (2026-04-20)
   COMPREHENSIVE responsive fix.
   v6 changes:
     - FORCE Font Awesome 4.7 render (override theme bundle FA5 family)
     - Inject ::before content for all icons used (PurgeCSS-proof)
     - Touch targets >= 44px
     - Footer 1-column enforcement all mobile breakpoints
     - Hero responsive constraints
*/

/* ============================================================
   FORCE FONT AWESOME 4.7 SUBSET (override theme bundle FA5 family)
   Theme bundle defines `.fa { font-family: "Font Awesome 5 Free" }`
   but only FA4 subset is loaded via font-awesome-preload.css.
   We force ALL .fa selectors to use FontAwesome (FA4) and inject
   ::before content (PurgeCSS may have stripped them from bundle).
   ============================================================ */
.fa, .fas, .far, .fal, .fab,
.fa-solid, .fa-regular, .fa-brands,
[class^="fa-"], [class*=" fa-"] {
  font-family: "FontAwesome" !important;
  font-weight: normal !important;
  font-style: normal !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  display: inline-block;
  text-rendering: auto;
}

/* Icon glyphs (FA 4.7 codepoints) — explicit to survive PurgeCSS */
.fa-bars::before, .fa-navicon::before, .fa-reorder::before { content: "\f0c9" !important; font-family: FontAwesome !important; }
.fa-search::before { content: "\f002" !important; font-family: FontAwesome !important; }
.fa-user::before { content: "\f007" !important; font-family: FontAwesome !important; }
.fa-user-o::before { content: "\f2c0" !important; font-family: FontAwesome !important; }
.fa-shopping-bag::before { content: "\f290" !important; font-family: FontAwesome !important; }
.fa-shopping-cart::before, .fa-shopping-basket::before { content: "\f07a" !important; font-family: FontAwesome !important; }
.fa-cart-plus::before { content: "\f217" !important; font-family: FontAwesome !important; }
.fa-times::before, .fa-close::before, .fa-remove::before { content: "\f00d" !important; font-family: FontAwesome !important; }
.fa-angle-down::before { content: "\f107" !important; font-family: FontAwesome !important; }
.fa-angle-up::before { content: "\f106" !important; font-family: FontAwesome !important; }
.fa-angle-left::before { content: "\f104" !important; font-family: FontAwesome !important; }
.fa-angle-right::before { content: "\f105" !important; font-family: FontAwesome !important; }
.fa-chevron-down::before { content: "\f078" !important; font-family: FontAwesome !important; }
.fa-chevron-up::before { content: "\f077" !important; font-family: FontAwesome !important; }
.fa-chevron-left::before { content: "\f053" !important; font-family: FontAwesome !important; }
.fa-chevron-right::before { content: "\f054" !important; font-family: FontAwesome !important; }
.fa-arrow-up::before { content: "\f062" !important; font-family: FontAwesome !important; }
.fa-arrow-down::before { content: "\f063" !important; font-family: FontAwesome !important; }
.fa-arrow-left::before { content: "\f060" !important; font-family: FontAwesome !important; }
.fa-arrow-right::before { content: "\f061" !important; font-family: FontAwesome !important; }
.fa-phone::before { content: "\f095" !important; font-family: FontAwesome !important; }
.fa-mobile::before, .fa-mobile-phone::before { content: "\f10b" !important; font-family: FontAwesome !important; }
.fa-envelope::before { content: "\f0e0" !important; font-family: FontAwesome !important; }
.fa-envelope-o::before { content: "\f003" !important; font-family: FontAwesome !important; }
.fa-map-marker::before { content: "\f041" !important; font-family: FontAwesome !important; }
.fa-clock::before, .fa-clock-o::before { content: "\f017" !important; font-family: FontAwesome !important; }
.fa-heart::before { content: "\f004" !important; font-family: FontAwesome !important; }
.fa-heart-o::before { content: "\f08a" !important; font-family: FontAwesome !important; }
.fa-eye::before { content: "\f06e" !important; font-family: FontAwesome !important; }
.fa-eye-slash::before { content: "\f070" !important; font-family: FontAwesome !important; }
.fa-check::before { content: "\f00c" !important; font-family: FontAwesome !important; }
.fa-check-circle::before, .fa-check-circle-o::before { content: "\f058" !important; font-family: FontAwesome !important; }
.fa-plus::before { content: "\f067" !important; font-family: FontAwesome !important; }
.fa-minus::before { content: "\f068" !important; font-family: FontAwesome !important; }
.fa-info::before { content: "\f129" !important; font-family: FontAwesome !important; }
.fa-info-circle::before { content: "\f05a" !important; font-family: FontAwesome !important; }
.fa-question::before { content: "\f128" !important; font-family: FontAwesome !important; }
.fa-question-circle::before { content: "\f059" !important; font-family: FontAwesome !important; }
.fa-exclamation::before { content: "\f12a" !important; font-family: FontAwesome !important; }
.fa-exclamation-triangle::before, .fa-warning::before { content: "\f071" !important; font-family: FontAwesome !important; }
.fa-facebook::before, .fa-facebook-f::before { content: "\f09a" !important; font-family: FontAwesome !important; }
.fa-twitter::before { content: "\f099" !important; font-family: FontAwesome !important; }
.fa-instagram::before { content: "\f16d" !important; font-family: FontAwesome !important; }
.fa-whatsapp::before { content: "\f232" !important; font-family: FontAwesome !important; }
.fa-youtube::before, .fa-youtube-play::before { content: "\f167" !important; font-family: FontAwesome !important; }
.fa-linkedin::before, .fa-linkedin-square::before { content: "\f0e1" !important; font-family: FontAwesome !important; }
.mobile-bag-icon::before { content: "\f290" !important; font-family: FontAwesome !important; }
.fa-list::before { content: "\f03a" !important; font-family: FontAwesome !important; }
.fa-th::before { content: "\f00a" !important; font-family: FontAwesome !important; }
.fa-th-large::before { content: "\f009" !important; font-family: FontAwesome !important; }
.fa-filter::before { content: "\f0b0" !important; font-family: FontAwesome !important; }
.fa-sort::before { content: "\f0dc" !important; font-family: FontAwesome !important; }
.fa-sort-down::before, .fa-sort-desc::before { content: "\f0dd" !important; font-family: FontAwesome !important; }
.fa-sort-up::before, .fa-sort-asc::before { content: "\f0de" !important; font-family: FontAwesome !important; }
.fa-star::before { content: "\f005" !important; font-family: FontAwesome !important; }
.fa-star-o::before { content: "\f006" !important; font-family: FontAwesome !important; }
.fa-star-half-o::before, .fa-star-half-empty::before { content: "\f123" !important; font-family: FontAwesome !important; }
.fa-trash::before, .fa-trash-o::before { content: "\f014" !important; font-family: FontAwesome !important; }
.fa-edit::before, .fa-pencil::before, .fa-pencil-square-o::before { content: "\f040" !important; font-family: FontAwesome !important; }
.fa-cog::before, .fa-gear::before { content: "\f013" !important; font-family: FontAwesome !important; }
.fa-spinner::before { content: "\f110" !important; font-family: FontAwesome !important; }
.fa-circle-o-notch::before { content: "\f1ce" !important; font-family: FontAwesome !important; }
.fa-refresh::before { content: "\f021" !important; font-family: FontAwesome !important; }
.fa-bars-staggered::before, .fa-align-justify::before { content: "\f039" !important; font-family: FontAwesome !important; }
.fa-home::before { content: "\f015" !important; font-family: FontAwesome !important; }
.fa-truck::before { content: "\f0d1" !important; font-family: FontAwesome !important; }
.fa-credit-card::before { content: "\f09d" !important; font-family: FontAwesome !important; }
.fa-shield::before { content: "\f132" !important; font-family: FontAwesome !important; }
.fa-tag::before { content: "\f02b" !important; font-family: FontAwesome !important; }
.fa-tags::before { content: "\f02c" !important; font-family: FontAwesome !important; }
.fa-percent::before { content: "\f295" !important; font-family: FontAwesome !important; }
.fa-share::before, .fa-share-alt::before { content: "\f1e0" !important; font-family: FontAwesome !important; }
.fa-print::before { content: "\f02f" !important; font-family: FontAwesome !important; }
.fa-download::before { content: "\f019" !important; font-family: FontAwesome !important; }
.fa-external-link::before { content: "\f08e" !important; font-family: FontAwesome !important; }
.fa-bookmark::before, .fa-bookmark-o::before { content: "\f02e" !important; font-family: FontAwesome !important; }
.fa-comment::before, .fa-comment-o::before { content: "\f0e5" !important; font-family: FontAwesome !important; }
.fa-comments::before, .fa-comments-o::before { content: "\f0e6" !important; font-family: FontAwesome !important; }
.fa-thumbs-up::before, .fa-thumbs-o-up::before { content: "\f164" !important; font-family: FontAwesome !important; }
.fa-thumbs-down::before, .fa-thumbs-o-down::before { content: "\f165" !important; font-family: FontAwesome !important; }
.fa-cube::before { content: "\f1b2" !important; font-family: FontAwesome !important; }
.fa-cubes::before { content: "\f1b3" !important; font-family: FontAwesome !important; }
.fa-wrench::before { content: "\f0ad" !important; font-family: FontAwesome !important; }
.fa-fire::before { content: "\f06d" !important; font-family: FontAwesome !important; }
.fa-bolt::before { content: "\f0e7" !important; font-family: FontAwesome !important; }

/* ============================================================
   FONT AWESOME @font-face — ABSOLUTE URL fallback
   (in case preload CSS doesn't load OR has CORS issues)
   Use absolute URL so path is correct regardless of CSS file location.
   ============================================================ */
@font-face {
  font-family: "FontAwesome";
  src: url("/themes/warehouse/assets/css/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),
       url("/themes/warehouse/assets/css/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ============================================================
   GLOBAL — touch-friendly, no horizontal overflow
   ============================================================ */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
img, video, iframe, embed, object {
  max-width: 100% !important;
  height: auto;
}

@media (max-width: 991px) {
  /* Touch targets minimum 44x44 (WCAG / iOS HIG) */
  a, button, [role="button"], .btn, input[type="submit"], input[type="button"] {
    min-height: 44px;
  }
  button, .btn {
    min-width: 44px;
  }

  /* ============================================================
     1. HEADER MOBILE — logo + iconos uniformes
     ============================================================ */
  #mobile-header .col-mobile-logo img.logo,
  #mobile-header .col-mobile-logo img {
    max-height: 50px !important;
    max-width: 160px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
  #mobile-header .col-mobile-logo,
  #mobile-header .col-mobile-logo a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
  }
  #mobile-header .col-mobile-btn .fa,
  #mobile-header .col-mobile-btn i.fa,
  #mobile-header .col-mobile-btn i[class^="fa-"],
  #mobile-header .col-mobile-btn i[class*=" fa-"] {
    font-size: 22px !important;
    line-height: 22px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    color: #1d1d1b !important;
  }
  #mobile-header .col-mobile-btn {
    min-height: 50px !important;
    min-width: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #mobile-header .col-mobile-btn .m-nav-btn,
  #mobile-header .col-mobile-btn > a,
  #mobile-header .col-mobile-btn > div > a {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: #1d1d1b !important;
    padding: 4px 8px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  /* Hide text labels in header (keep cart count visible) */
  #mobile-header .col-mobile-btn .m-nav-btn > span:not(.cart-products-count):not(.cart-products-count-btn),
  #mobile-header .col-mobile-btn > a > span:not(.cart-products-count):not(.cart-products-count-btn),
  #mobile-header .col-mobile-btn > div > a > span:not(.cart-products-count):not(.cart-products-count-btn) {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* Cart badge */
  #mobile-header .col-mobile-btn-cart .cart-products-count,
  #mobile-header .col-mobile-btn-cart .cart-products-count-btn {
    font-size: 10px !important;
    line-height: 1 !important;
    color: #fff !important;
    height: 16px !important;
    overflow: visible !important;
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    background: #d11326 !important;
    min-width: 16px !important;
    border-radius: 8px !important;
    padding: 0 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    border: 1.5px solid #fff !important;
  }

  /* ============================================================
     2. MOBILE MENU DRAWER — TODO TEXTO BLANCO
     ============================================================ */
  #_mobile_iqitmegamenu-mobile,
  #iqitmegamenu-mobile,
  #_mobile_iqitmegamenu-mobile *,
  #iqitmegamenu-mobile *,
  .mobile-menu__tab,
  .mobile-menu__tab *,
  .mobile-menu__link,
  .mobile-menu__title,
  .js-mobile-menu__tab-title,
  .mobile-menu__submenu,
  .mobile-menu__submenu *,
  .mobile-menu__row,
  .mobile-menu__row *,
  .mobile-menu__column,
  .mobile-menu__column *,
  .mobile-menu__links-list,
  .mobile-menu__links-list-li,
  .mobile-menu__links-list-li * {
    color: #ffffff !important;
  }
  .mobile-menu__tab .fa.expand-icon,
  .mobile-menu__arrow,
  .mobile-menu__back-btn .fa {
    color: rgba(255,255,255,0.7) !important;
  }

  /* link width 100% (no 70%) */
  html body .mobile-menu .mobile-menu__link,
  html body #iqitmegamenu-mobile .mobile-menu__link,
  html body .mobile-menu__tab .mobile-menu__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Tienda align-left + Servicios + Contacto */
  html body .mobile-menu__tab.mobile-menu__tab--id-6 > a.mobile-menu__link,
  html body .mobile-menu__tab.mobile-menu__tab--id-6 > .mobile-menu__link,
  html body .mobile-menu__tab.mobile-menu__tab--has-submenu > a,
  html body .mobile-menu__tab.mobile-menu__tab--has-submenu > .mobile-menu__link,
  html body .mobile-menu__tab > .js-mobile-menu__link--has-submenu {
    justify-content: flex-start !important;
    text-align: left !important;
    padding-left: 16px !important;
  }
  .mobile-menu__tab.mobile-menu__tab--has-submenu {
    align-items: stretch !important;
  }

  /* Contacto envelope icon */
  html body .mobile-menu__tab.mobile-menu__tab--id-18 > a.mobile-menu__link::before,
  html body .mobile-menu__tab.mobile-menu__tab--id-18 > a::before {
    content: "" !important;
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    background-color: rgba(29,78,216,0.12) !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px !important;
    border: 1px solid rgba(29,78,216,0.2) !important;
    flex-shrink: 0 !important;
    margin-right: 12px !important;
    vertical-align: middle !important;
  }
  /* Tienda cart icon */
  html body .mobile-menu__tab.mobile-menu__tab--id-6 > a.mobile-menu__link::before,
  html body .mobile-menu__tab.mobile-menu__tab--id-6 > a::before {
    content: "" !important;
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    background-color: rgba(29,78,216,0.12) !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px !important;
    border: 1px solid rgba(29,78,216,0.2) !important;
    flex-shrink: 0 !important;
    margin-right: 12px !important;
    vertical-align: middle !important;
  }

  /* Tienda submenu 3-col stacked */
  html body .mobile-menu__row {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }
  html body .mobile-menu__column {
    width: 100% !important;
    max-width: 100% !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    padding: 12px 0 4px 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
  html body .mobile-menu__column:first-child {
    border-top: 0 !important;
    padding-top: 4px !important;
  }
  html body .mobile-menu__column .mobile-menu__links-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  html body .mobile-menu__column .mobile-menu__links-list-li {
    list-style: none !important;
    padding: 0 !important;
    margin: 2px 0 !important;
  }
  html body .mobile-menu__column .mobile-menu__links-list-li > a {
    color: #ffffff !important;
    padding: 12px 16px 12px 28px !important;
    display: block !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    transition: background 0.15s !important;
    width: 100% !important;
    min-height: 44px !important;
  }
  html body .mobile-menu__column .mobile-menu__links-list-li > a:hover,
  html body .mobile-menu__column .mobile-menu__links-list-li > a:active {
    background: rgba(255,255,255,0.06) !important;
  }
  html body .mobile-menu__submenu {
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-shadow: none !important;
    padding: 8px 12px !important;
  }

  /* Elementor overflow protection — exclude sliders */
  html body .elementor-element:not(.elementor-widget-image-carousel):not([class*="slider"]):not([class*="swiper"]):not([class*="layerslider"]):not([class*="gallery"]) {
    max-width: 100vw !important;
  }

  /* ============================================================
     HERO + CONTENT MOBILE — prevent overflow
     ============================================================ */
  .rc-hero, .rc-hero * {
    max-width: 100% !important;
  }
  .rc-hero img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* ============================================================
     PRODUCT GRID — 2 columns mobile (better than 1)
     ============================================================ */
  .products .product-miniature,
  .featured-products .product-miniature,
  #products .product-miniature {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  @media (max-width: 480px) {
    .products .product-miniature,
    .featured-products .product-miniature,
    #products .product-miniature {
      flex: 0 0 100% !important;
      max-width: 100% !important;
    }
  }

  /* ============================================================
     COOKIE BANNER — prevent it eating viewport
     ============================================================ */
  #cookieplus-popup,
  .cookieplus-popup,
  [id*="cookieplus"],
  .cookies-banner {
    max-height: 50vh !important;
    overflow-y: auto !important;
  }

  /* ============================================================
     PRODUCT CARD — fix add-to-cart button overflow on 2-col mobile
     ============================================================ */
  .product-miniature .mini-action-row,
  .product-miniature .product-add-cart,
  .product-miniature .input-group-add-cart {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    width: 100% !important;
    align-items: center !important;
  }
  .product-miniature .btn.add-to-cart,
  .product-miniature .mini-cart-btn,
  .product-miniature .btn-product-list.add-to-cart {
    font-size: 11px !important;
    padding: 8px 6px !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    word-break: keep-all !important;
    text-align: center !important;
    flex: 1 1 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Hide share button on mobile (frees space for AÑADIR button) */
  html body .product-miniature .btn-mini-share,
  html body .product-miniature button.btn-mini-share,
  html body .mini-action-row .btn-mini-share {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  /* Force mini-action-row + add-to-cart to use full card width */
  .product-miniature .mini-action-row {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 8px !important;
  }
  .product-miniature .btn.add-to-cart,
  .product-miniature .mini-cart-btn {
    width: 100% !important;
    min-width: 100% !important;
    flex: 1 1 100% !important;
    border-radius: 24px !important;
  }
  /* On very narrow viewports (<360px) shrink button text */
  @media (max-width: 360px) {
    .product-miniature .btn.add-to-cart,
    .product-miniature .mini-cart-btn {
      font-size: 10px !important;
      padding: 8px 4px !important;
    }
    /* Header: shrink logo + icons to keep all in one row at 320 */
    #mobile-header .col-mobile-logo img.logo,
    #mobile-header .col-mobile-logo img {
      max-width: 100px !important;
      max-height: 40px !important;
    }
    #mobile-header .col-mobile-btn .fa,
    #mobile-header .col-mobile-btn i.fa {
      font-size: 18px !important;
    }
    #mobile-header .col-mobile-btn,
    #mobile-header .col-mobile-btn .m-nav-btn,
    #mobile-header .col-mobile-btn > a {
      padding: 4px 4px !important;
      min-width: 36px !important;
    }
    #mobile-header .row {
      flex-wrap: nowrap !important;
    }
  }
  /* Product name: truncate to 2 lines max */
  .product-miniature .product-title,
  .product-miniature h3,
  .product-miniature .h3 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 2.6em !important;
    line-height: 1.3 !important;
    font-size: 13px !important;
  }
}

/* Tablet refinement */
@media (min-width: 576px) and (max-width: 991px) {
  #mobile-header .col-mobile-logo img.logo,
  #mobile-header .col-mobile-logo img {
    max-width: 180px !important;
    max-height: 54px !important;
  }
}

/* ============================================================
   FOOTER MOBILE: una sección por salto de línea (stacked)
   Aplica en TODAS las pantallas mobile + tablet
   ============================================================ */
@media (max-width: 991px) {
  footer .footer-container .row,
  footer #footer-container .row,
  .footer-container .row,
  footer .container > .row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    gap: 0 !important;
  }
  footer .footer-container .col,
  footer #footer-container .col,
  footer .footer-container [class*="col-"],
  footer #footer-container [class*="col-"],
  .footer-container [class*="col-"],
  footer .container > .row > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    text-align: left !important;
    padding: 16px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  }
  footer .footer-container [class*="col-"]:last-child,
  footer #footer-container [class*="col-"]:last-child {
    border-bottom: 0 !important;
  }
  footer .footer-container .block,
  footer .footer-container .block-content,
  footer .footer-container p,
  footer .footer-container .part,
  .footer-container .block,
  .footer-container .block-content,
  .footer-container p {
    text-align: left !important;
  }
  footer ul, footer ol,
  .footer-container ul, .footer-container ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }
  footer ul li, footer ol li,
  .footer-container ul li, .footer-container ol li {
    text-align: left !important;
    padding: 4px 0 !important;
    margin: 0 !important;
  }
  footer ul li a,
  footer ol li a,
  .footer-container a {
    text-align: left !important;
    display: inline-block !important;
    min-height: 36px;
    padding: 6px 0;
  }
  footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
  .footer-container h1, .footer-container h2, .footer-container h3,
  .footer-container h4, .footer-container h5, .footer-container h6,
  footer .block-title,
  footer .h4 {
    text-align: left !important;
    margin-bottom: 12px !important;
  }
  footer .footer-before .row > [class*="col-"],
  footer .footer-after .row > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    padding: 12px 16px !important;
  }
  footer .social-icons,
  footer .followus,
  footer [class*="social"] {
    justify-content: flex-start !important;
    text-align: left !important;
    padding-left: 0 !important;
  }
  /* Maps embed: limit height, keep aspect */
  footer iframe, footer .map-container {
    max-height: 240px !important;
    width: 100% !important;
  }
  /* Payment icons row: scrollable horizontal */
  footer .footer-after,
  .footer-after,
  .payment-methods {
    text-align: left !important;
    padding-left: 16px !important;
  }
  footer .payment-list,
  .payment-list,
  .footer-after [class*="payment"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-start !important;
  }
}

/* ============================================================
   COPYRIGHT row — single line, no 2-col split
   ============================================================ */
@media (max-width: 991px) {
  .copyright,
  .footer-copyright,
  footer .copyright-row {
    text-align: left !important;
    padding: 12px 16px !important;
    font-size: 12px !important;
  }
  .copyright > *,
  .footer-copyright > * {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    margin: 4px 0 !important;
  }
}
