/* Extracted static head styles from public/tienda/_catalogoRepuestos.php. */
/* Keep dynamic PHP/JS-generated styles in the PHP file until they are refactored separately. */

/* Extracted from dynamic footer/cart helpers */
.rep-footer-links button.rep-footer-modal-link{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  text-align:left;
  display:flex;
  align-items:center;
  gap:.35rem;
  cursor:pointer;
}

/* Identidad compartida con Plataforma Modular: Catalogo y e-commerce */
body.rep-house-page .rep-kicker{display:inline-flex;align-items:center;gap:9px;color:#087f68;font-weight:900;letter-spacing:.08em}
body.rep-house-page .rep-module-commerce-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(53,213,175,.52);border-radius:11px;color:#078f72;background:rgba(53,213,175,.13);box-shadow:0 9px 22px rgba(53,213,175,.2);transform:rotate(-4deg)}
body.rep-house-page .rep-module-commerce-icon .material-symbols-rounded{font-size:20px;color:inherit}
.rep-footer-links button.rep-footer-modal-link:hover{
  color:var(--primary);
}
.rep-promo-social a{
  color:inherit;
  text-decoration:none;
}
.catalog-footer-safe {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 2rem;
  margin-top: 3rem;
}
.catalog-footer-safe .rep-promo-social a {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 768px) {
  .catalog-footer-safe {
    grid-template-columns: 1fr;
  }
}

/* Product configuration modal injected into SweetAlert */
.cfg-card{border:1px solid rgba(15,23,42,.12);border-radius:14px;padding:.7rem .75rem;margin-bottom:.55rem;background:#fff}
.cfg-head{display:flex;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.45rem}
.cfg-title{font-weight:800;color:#0f172a;font-size:.95rem;line-height:1.2}
.cfg-hint{font-size:.75rem;color:#64748b;font-weight:700}
.cfg-options{display:flex;flex-wrap:wrap;gap:.45rem}
.cfg-btn{border:1px solid rgba(15,23,42,.18);background:#fff;color:#0f172a;border-radius:999px;padding:.52rem .78rem;font-size:.92rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;gap:.35rem}
.cfg-btn .cfg-price{font-size:.78rem;color:#ea580c;font-weight:800}
.cfg-btn.is-selected{border-color:#fb923c;background:#fff7ed;color:#9a3412;box-shadow:0 0 0 2px rgba(251,146,60,.18) inset}
.cfg-obs{margin-top:.55rem}
@media (max-width: 576px){
  .cfg-btn{width:100%;justify-content:space-between;border-radius:12px;padding:.68rem .8rem}
  .cfg-options{display:grid;grid-template-columns:1fr;gap:.38rem}
}

/* Extracted from _catalogoRepuestos.php: repModalFooterBuyFix */
body.rep-house-page #productModal .modal-content {
      max-height: calc(100vh - 28px) !important;
      overflow: hidden !important;
    }

    body.rep-house-page #productModal .modal-body,
    body.rep-house-page #productModal .product-detail-body {
      max-height: calc(100vh - 225px) !important;
      overflow-y: auto !important;
      padding-bottom: 1rem !important;
    }

    body.rep-house-page #productModal .modal-footer.rep-product-buy-footer,
    body.rep-house-page #productModal .modal-footer.rep-modal-buy-footer {
      display: grid !important;
      grid-template-columns: minmax(220px, auto) minmax(0, 1fr) !important;
      align-items: center !important;
      gap: 1.25rem !important;
      width: 100% !important;
      padding: 1rem 1.35rem !important;
      background: rgba(255,255,255,.98) !important;
      border-top: 1px solid rgba(15,23,42,.10) !important;
      box-shadow: 0 -18px 42px rgba(15,23,42,.10) !important;
      flex-shrink: 0 !important;
    }

    body.rep-house-page #productModal .rep-product-buy-price,
    body.rep-house-page #productModal .rep-modal-footer-price {
      display: flex !important;
      align-items: baseline !important;
      justify-content: flex-start !important;
      gap: .55rem !important;
      min-width: 220px !important;
      white-space: nowrap !important;
    }

    body.rep-house-page #productModal .rep-product-buy-price small,
    body.rep-house-page #productModal .rep-modal-footer-price small {
      display: inline-block !important;
      margin: 0 !important;
      color: #334155 !important;
      font-size: .95rem !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
      line-height: 1 !important;
      text-transform: none !important;
    }

    body.rep-house-page #productModal .rep-product-buy-price strong,
    body.rep-house-page #productModal .rep-modal-footer-price strong,
    body.rep-house-page #productModal #modalProductPrice {
      display: inline-block !important;
      color: #075d70 !important;
      font-family: "Rajdhani", "Barlow", sans-serif !important;
      font-size: clamp(1.55rem, 2.6vw, 2.05rem) !important;
      font-weight: 900 !important;
      line-height: 1 !important;
      white-space: nowrap !important;
    }

    body.rep-house-page #productModal .rep-product-buy-actions,
    body.rep-house-page #productModal .rep-modal-footer-actions {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-end !important;
      gap: .8rem !important;
      width: 100% !important;
      min-width: 0 !important;
      flex-wrap: nowrap !important;
    }

    body.rep-house-page #productModal .rep-product-buy-qty,
    body.rep-house-page #productModal .rep-product-buy-actions .qty-controls,
    body.rep-house-page #productModal .rep-product-buy-actions .modal-qty-controls,
    body.rep-house-page #productModal .rep-modal-footer-actions .qty-controls,
    body.rep-house-page #productModal .rep-modal-footer-actions .modal-qty-controls {
      display: inline-flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: center !important;
      gap: .48rem !important;
      height: 60px !important;
      min-height: 60px !important;
      padding: .36rem !important;
      margin: 0 !important;
      border-radius: 999px !important;
      background: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%) !important;
      border: 1px solid rgba(15,23,42,.11) !important;
      box-shadow: 0 14px 30px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.95) !important;
      flex: 0 0 auto !important;
    }

    body.rep-house-page #productModal .rep-product-buy-qty button,
    body.rep-house-page #productModal .rep-product-buy-actions .qty-controls button,
    body.rep-house-page #productModal .rep-product-buy-actions .modal-qty-controls button,
    body.rep-house-page #productModal .rep-modal-footer-actions .qty-controls button,
    body.rep-house-page #productModal .rep-modal-footer-actions .modal-qty-controls button {
      width: 50px !important;
      height: 50px !important;
      min-width: 50px !important;
      border-radius: 999px !important;
      border: 0 !important;
      background: #fff !important;
      color: #075d70 !important;
      font-size: 1.4rem !important;
      font-weight: 900 !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 0 !important;
      box-shadow: 0 10px 22px rgba(15,23,42,.12) !important;
    }

    body.rep-house-page #productModal #modalQty,
    body.rep-house-page #productModal .rep-product-buy-actions .qty,
    body.rep-house-page #productModal .rep-product-buy-actions .modal-qty,
    body.rep-house-page #productModal .rep-product-buy-actions [data-qty],
    body.rep-house-page #productModal .rep-modal-footer-actions .qty,
    body.rep-house-page #productModal .rep-modal-footer-actions .modal-qty,
    body.rep-house-page #productModal .rep-modal-footer-actions [data-qty] {
      min-width: 38px !important;
      text-align: center !important;
      color: #111827 !important;
      font-family: "Rajdhani", "Barlow", sans-serif !important;
      font-size: 1.55rem !important;
      font-weight: 900 !important;
      line-height: 1 !important;
    }

    body.rep-house-page #productModal #modalAddToCart {
      width: auto !important;
      min-width: 210px !important;
      height: 60px !important;
      min-height: 60px !important;
      margin: 0 !important;
      padding: .68rem 1.75rem !important;
      border-radius: 999px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: .55rem !important;
      white-space: nowrap !important;
      font-family: "Rajdhani", "Barlow", sans-serif !important;
      font-size: 1.13rem !important;
      font-weight: 900 !important;
      letter-spacing: .04em !important;
      text-transform: uppercase !important;
      background: #075d70 !important;
      border-color: #075d70 !important;
      color: #fff !important;
      box-shadow: 0 18px 34px rgba(7,93,112,.24) !important;
      flex: 0 0 auto !important;
    }

    body.rep-house-page #productModal #modalAddToCart .material-symbols-rounded {
      color: #fff !important;
      font-size: 1.35rem !important;
    }

    body.rep-house-page #productModal .rep-modal-source-price-hidden {
      display: none !important;
    }

    @media (max-width: 768px) {
      body.rep-house-page #productModal .modal-footer.rep-product-buy-footer,
      body.rep-house-page #productModal .modal-footer.rep-modal-buy-footer {
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        padding: .9rem !important;
      }

      body.rep-house-page #productModal .rep-product-buy-price,
      body.rep-house-page #productModal .rep-modal-footer-price {
        justify-content: center !important;
        min-width: 0 !important;
        text-align: center !important;
      }

      body.rep-house-page #productModal .rep-product-buy-actions,
      body.rep-house-page #productModal .rep-modal-footer-actions {
        justify-content: center !important;
        flex-wrap: wrap !important;
      }

      body.rep-house-page #productModal #modalAddToCart {
        min-width: min(100%, 220px) !important;
      }
    }

/* Extracted from _catalogoRepuestos.php: repModalProductAccordionFix */
body.rep-house-page .rep-modal-product-accordion {
    display: grid !important;
    gap: .65rem !important;
    margin-top: .75rem !important;
  }

  body.rep-house-page .rep-modal-product-accordion .accordion-item {
    border: 1px solid rgba(15, 23, 42, .10) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
  }

  body.rep-house-page .rep-modal-product-accordion .accordion-button {
    min-height: 54px !important;
    padding: .82rem .95rem !important;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%) !important;
    color: #111827 !important;
    font-family: "Barlow", "Nunito Sans", sans-serif !important;
    font-size: .92rem !important;
    font-weight: 900 !important;
    box-shadow: none !important;
    border: 0 !important;
    letter-spacing: .02em !important;
  }

  body.rep-house-page .rep-modal-product-accordion .accordion-button::after {
    width: 1rem !important;
    height: 1rem !important;
    background-size: 1rem !important;
  }

  body.rep-house-page .rep-modal-product-accordion .accordion-button:not(.collapsed) {
    color: var(--primary, #f97316) !important;
    background: #f8fafc !important;
  }

  body.rep-house-page .rep-modal-product-accordion .accordion-button .material-symbols-rounded {
    width: 32px !important;
    height: 32px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(var(--primary-rgb, 249, 115, 22), .10) !important;
    color: var(--primary, #f97316) !important;
    font-size: 19px !important;
    line-height: 1 !important;
  }

  body.rep-house-page .rep-modal-product-accordion .accordion-body {
    max-height: min(28vh, 230px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: .9rem .95rem 1rem !important;
    color: #475569 !important;
    font-size: .91rem !important;
    line-height: 1.55 !important;
    border-top: 1px solid rgba(15, 23, 42, .08) !important;
  }

  body.rep-house-page .rep-modal-product-accordion .accordion-collapse:not(.show) {
    display: none !important;
  }

  body.rep-house-page .rep-modal-product-accordion .accordion-item.rep-modal-section-empty {
    display: none !important;
  }

/* Extracted from _catalogoRepuestos.php: inline-head-style-4 */
/* Tema visual activo para catálogo de repuestos.
       Nota: conserva nombres legacy rep-house-page solo para no romper HTML/JS existente. */
    body.rep-theme.rep-house-page {
      --rep-primary: var(--primary, #111827);
      --rep-secondary: var(--secondary, #a855f7);
      --rep-ink: #111827;
      --rep-muted: #64748b;
      --rep-soft: #f8fafc;
      --rep-line: rgba(var(--primary-rgb, 17,24,39), .16);
      --rep-house-green: var(--rep-primary);
      --rep-house-gold: var(--rep-secondary);
      --rep-house-ink: var(--rep-ink);
      --rep-house-muted: var(--rep-muted);
      --rep-house-blush: var(--rep-soft);
      --rep-house-line: var(--rep-line);
      --rep-house-soft: var(--rep-soft);
      background: #fff;
      color: var(--rep-house-ink);
      font-family: "Nunito Sans", sans-serif;
      overflow-x: hidden;
    }
    body.rep-house-page::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      background:
        radial-gradient(circle at 12% 16%, rgba(var(--secondary-rgb, 168,85,247), .10), transparent 24%),
        radial-gradient(circle at 88% 12%, rgba(var(--primary-rgb, 217,70,143), .08), transparent 24%),
        radial-gradient(circle at 78% 74%, rgba(244,114,182,.10), transparent 26%),
        linear-gradient(180deg, #fff 0%, #fff8fb 45%, #fff0f7 100%);
    }
    body.rep-house-page .rep-bg-icons {
      position: fixed;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      overflow: hidden;
      color: rgba(var(--primary-rgb, 217,70,143), .065);
    }
    body.rep-house-page .rep-bg-icons span {
      position: absolute;
      font-family: "Material Symbols Rounded";
      font-weight: normal;
      font-style: normal;
      font-size: clamp(26px, 3.6vw, 54px);
      line-height: 1;
      transform: rotate(var(--r, 0deg));
      opacity: var(--o, .72);
      filter: blur(.1px);
    }
    body.rep-house-page .rep-bg-icons .i1 { left: 5%; top: 12%; --r: -16deg; --o: .50; }
    body.rep-house-page .rep-bg-icons .i2 { left: 17%; top: 22%; --r: 14deg; --o: .42; }
    body.rep-house-page .rep-bg-icons .i3 { left: 8%; top: 38%; --r: 20deg; --o: .38; }
    body.rep-house-page .rep-bg-icons .i4 { left: 20%; top: 52%; --r: -10deg; --o: .46; }
    body.rep-house-page .rep-bg-icons .i5 { left: 9%; top: 70%; --r: 8deg; --o: .34; }
    body.rep-house-page .rep-bg-icons .i6 { left: 27%; top: 82%; --r: -18deg; --o: .36; }
    body.rep-house-page .rep-bg-icons .i7 { left: 38%; top: 18%; --r: 16deg; --o: .30; }
    body.rep-house-page .rep-bg-icons .i8 { left: 48%; top: 34%; --r: -8deg; --o: .28; }
    body.rep-house-page .rep-bg-icons .i9 { left: 57%; top: 13%; --r: 18deg; --o: .32; }
    body.rep-house-page .rep-bg-icons .i10 { left: 66%; top: 27%; --r: -14deg; --o: .38; }
    body.rep-house-page .rep-bg-icons .i11 { left: 78%; top: 18%; --r: 12deg; --o: .42; }
    body.rep-house-page .rep-bg-icons .i12 { left: 90%; top: 34%; --r: -22deg; --o: .36; }
    body.rep-house-page .rep-bg-icons .i13 { left: 62%; top: 49%; --r: 8deg; --o: .30; }
    body.rep-house-page .rep-bg-icons .i14 { left: 78%; top: 56%; --r: 19deg; --o: .39; }
    body.rep-house-page .rep-bg-icons .i15 { left: 91%; top: 70%; --r: -10deg; --o: .44; }
    body.rep-house-page .rep-bg-icons .i16 { left: 69%; top: 82%; --r: 13deg; --o: .34; }
    body.rep-house-page .rep-bg-icons .i17 { left: 43%; top: 76%; --r: -17deg; --o: .26; }
    body.rep-house-page .rep-bg-icons .i18 { left: 31%; top: 64%; --r: 22deg; --o: .28; }
    body.rep-house-page .rep-bg-icons .i19 { left: 52%; top: 61%; --r: -6deg; --o: .24; }
    body.rep-house-page .rep-bg-icons .i20 { left: 35%; top: 42%; --r: 10deg; --o: .24; }
    body.rep-house-page .rep-bg-icons .i21 { left: 2%; top: 24%; --r: 18deg; --o: .22; }
    body.rep-house-page .rep-bg-icons .i22 { left: 13%; top: 8%; --r: -10deg; --o: .24; }
    body.rep-house-page .rep-bg-icons .i23 { left: 24%; top: 33%; --r: 21deg; --o: .21; }
    body.rep-house-page .rep-bg-icons .i24 { left: 30%; top: 12%; --r: -18deg; --o: .20; }
    body.rep-house-page .rep-bg-icons .i25 { left: 44%; top: 7%; --r: 12deg; --o: .20; }
    body.rep-house-page .rep-bg-icons .i26 { left: 55%; top: 27%; --r: -16deg; --o: .23; }
    body.rep-house-page .rep-bg-icons .i27 { left: 72%; top: 8%; --r: 22deg; --o: .21; }
    body.rep-house-page .rep-bg-icons .i28 { left: 86%; top: 11%; --r: -12deg; --o: .25; }
    body.rep-house-page .rep-bg-icons .i29 { left: 96%; top: 22%; --r: 10deg; --o: .20; }
    body.rep-house-page .rep-bg-icons .i30 { left: 4%; top: 55%; --r: -8deg; --o: .24; }
    body.rep-house-page .rep-bg-icons .i31 { left: 17%; top: 62%; --r: 16deg; --o: .20; }
    body.rep-house-page .rep-bg-icons .i32 { left: 47%; top: 48%; --r: -14deg; --o: .21; }
    body.rep-house-page .rep-bg-icons .i33 { left: 70%; top: 45%; --r: 20deg; --o: .22; }
    body.rep-house-page .rep-bg-icons .i34 { left: 88%; top: 51%; --r: -18deg; --o: .23; }
    body.rep-house-page .rep-bg-icons .i35 { left: 16%; top: 88%; --r: 8deg; --o: .20; }
    body.rep-house-page .rep-bg-icons .i36 { left: 52%; top: 88%; --r: -12deg; --o: .18; }
    body.rep-house-page .rep-bg-icons .i37 { left: 84%; top: 87%; --r: 14deg; --o: .20; }
    body.rep-house-page .rep-bg-icons .i38 { left: 96%; top: 92%; --r: -16deg; --o: .18; }
    body.rep-house-page .rep-bg-icons .i39 { left: 39%; top: 92%; --r: 20deg; --o: .17; }
    body.rep-house-page .rep-bg-icons .i40 { left: 63%; top: 69%; --r: -20deg; --o: .21; }
    body.rep-house-page .rep-bg-dots {
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      opacity: .36;
      background-image:
        radial-gradient(circle, rgba(var(--primary-rgb, 217,70,143), .16) 1px, transparent 1.35px),
        radial-gradient(circle, rgba(var(--secondary-rgb, 168,85,247), .12) 1px, transparent 1.35px);
      background-size: 18px 18px, 28px 28px;
      background-position: 0 0, 10px 8px;
    }
    body.rep-house-page .rep-promo-bar {
      height: 34px;
      background:
        linear-gradient(
          120deg,
          color-mix(in srgb, var(--primary) 88%, #000 12%) 0%,
          var(--primary) 46%,
          var(--secondary) 100%
        ),
        repeating-linear-gradient(
          90deg,
          rgba(255,255,255,.08) 0 1px,
          transparent 1px 42px
        ) !important;
      color: #fff;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 0 clamp(1rem, 5vw, 4.5rem);
      font-size: .76rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      box-shadow: 0 14px 34px rgba(var(--primary-rgb, 17,24,39), .22);
    }
    body.rep-house-page .rep-promo-social,
    body.rep-house-page .rep-promo-login {
      display: inline-flex;
      align-items: center;
      gap: .7rem;
      opacity: 1;
    }
    body.rep-house-page .rep-promo-message {
      min-width: 0;
      max-width: min(780px, 58vw);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      text-align: center;
      font-weight: 900;
    }
    body.rep-house-page .rep-promo-message .promo-stock {
      opacity: .78;
      font-weight: 800;
    }
    body.rep-house-page .rep-promo-message .promo-sep {
      display: inline-block;
      margin: 0 .55rem;
      opacity: .58;
    }
    body.rep-house-page .rep-promo-login {
      justify-self: end;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.14);
      color: #fff;
      padding: .18rem .7rem;
      border-radius: 999px;
      font: inherit;
      display: inline-flex;
      align-items: center;
      gap: .45rem;
    }
    body.rep-house-page .navbar {
      min-height: 88px;
      background: #fff !important;
      border-bottom: 1px solid rgba(var(--primary-rgb, 217,70,143), .10);
      box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
      padding: 0 clamp(1rem, 5vw, 4.5rem) !important;
    }
    body.rep-house-page .navbar .container-fluid {
      display: grid !important;
      grid-template-columns: 150px minmax(0, 1fr) 220px;
      gap: 1rem;
      padding: 0;
    }
    body.rep-house-page .navbar-brand {
      justify-self: start;
      margin: 0;
    }
    body.rep-house-page .navbar-brand img,
    body.rep-house-page .rep-top-search .category-brand img {
      width: 76px;
      height: 76px;
      max-height: 76px;
      object-fit: contain;
      border-radius: 50%;
      border: 1px solid rgba(var(--primary-rgb, 217,70,143), .18);
      padding: 8px;
      background: #fff;
    }
    body.rep-house-page .rep-main-menu {
      justify-self: center;
      display: inline-flex;
      align-items: center;
      gap: clamp(1.1rem, 2.4vw, 2rem);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    body.rep-house-page .rep-main-menu a {
      color: #1f3933;
      text-decoration: none;
    }
    body.rep-house-page .rep-main-menu a.active {
      color: var(--rep-house-gold);
    }
    body.rep-house-page .rep-nav-actions {
      justify-self: end;
      display: inline-flex;
      align-items: center;
      gap: .85rem;
      color: #1f3933;
      font-size: .8rem;
      font-weight: 800;
    }
    body.rep-house-page #btnCliente {
      display: none !important;
      width: 34px;
      height: 34px;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(var(--primary-rgb, 217,70,143), .18) !important;
      border-radius: 50%;
    }
    body.rep-house-page #btnCliente .material-symbols-rounded {
      font-size: 22px !important;
      color: var(--rep-house-green) !important;
    }
    body.rep-house-page #selectedSucursalInfo {
      grid-column: 1 / -1;
      padding: .2rem 0 .65rem;
      text-align: center !important;
    }
    body.rep-house-page .container.py-4 {
      max-width: 1030px;
      padding-top: 0 !important;
    }
    body.rep-house-page .rep-intro-stats,
    body.rep-house-page .rep-kicker .material-symbols-rounded,
    body.rep-house-page .rep-products-toolbar,
    body.rep-house-page .rep-sidebar,
    body.rep-house-page .rep-quick-strip {
      display: none !important;
    }
    body.rep-house-page #heroStack {
      display: block !important;
      margin: 2.1rem auto 0;
      position: relative;
    }
    body.rep-house-page #heroStack::before {
      content: "";
      position: absolute;
      inset: -18px -24px auto;
      height: 54%;
      border-radius: 999px;
      background: radial-gradient(circle, rgba(var(--secondary-rgb, 168,85,247), .16), transparent 66%);
      pointer-events: none;
      z-index: -1;
    }
    body.rep-house-page #heroCarousel {
      border-radius: 0 !important;
      border: 1px solid rgba(var(--primary-rgb, 217,70,143), .12);
      box-shadow: 0 28px 60px rgba(53,21,42,.12);
      background: #fff0f7;
      overflow: hidden;
    }
    body.rep-house-page #heroCarousel .carousel-inner,
    body.rep-house-page #heroCarousel .hero-banner {
      border-radius: 0 !important;
    }
    body.rep-house-page #heroCarousel .hero-banner {
      min-height: 430px;
      max-height: 470px;
      height: 44vh;
      background-size: cover !important;
      background-position: center !important;
    }
    body.rep-house-page #heroCarousel .hero-banner::before {
      background:
        linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 34%, rgba(255,255,255,.22) 68%, rgba(255,255,255,.04) 100%),
        radial-gradient(circle at 22% 50%, rgba(var(--secondary-rgb, 168,85,247), .16), transparent 34%);
    }
    body.rep-house-page #heroCarousel .hero-banner > .d-flex {
      justify-content: flex-start !important;
      align-items: center !important;
      text-align: left;
      padding: clamp(2rem, 5vw, 4.5rem);
    }
    body.rep-house-page #heroCarousel .hero-content {
      width: min(90%, 460px);
      margin: 0;
      align-items: flex-start;
      text-align: left;
      padding: 0;
      background: transparent;
      box-shadow: none;
    }
    body.rep-house-page #heroCarousel .hero-content::before {
      content: "Repuestos pro";
      display: inline-block;
      margin-bottom: .75rem;
      color: var(--rep-house-gold);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .28em;
      text-transform: uppercase;
    }
    body.rep-house-page #heroCarousel .hero-content h1 {
      max-width: 11ch;
      font-family: "Playfair Display", serif;
      color: var(--rep-house-green) !important;
      font-size: clamp(2.25rem, 4.8vw, 4.15rem);
      line-height: .96;
      text-shadow: none;
      text-align: left;
    }
    body.rep-house-page #heroCarousel .hero-content p {
      max-width: 42ch;
      margin-top: .7rem;
      color: #40524c !important;
      font-size: 1rem;
      line-height: 1.65;
      text-shadow: none;
      text-align: left;
    }
    body.rep-house-page #heroCarousel .hero-content .btn {
      margin-top: 1rem !important;
      border-radius: 0;
      background: var(--rep-house-green);
      border-color: var(--rep-house-green);
      color: #fff;
      padding: .7rem 1.05rem;
      font-size: .78rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    body.rep-house-page #heroCarousel .carousel-indicators {
      margin-bottom: 1rem;
    }
    body.rep-house-page #heroCarousel .carousel-indicators [data-bs-target] {
      width: 7px;
      height: 7px;
      background: rgba(var(--primary-rgb, 217,70,143), .28);
    }
    body.rep-house-page #heroCarousel .carousel-indicators .active {
      background: var(--rep-house-green);
    }
    body.rep-house-page #heroCarousel .carousel-control-prev,
    body.rep-house-page #heroCarousel .carousel-control-next {
      width: 52px;
      opacity: .72;
      filter: invert(1);
    }
    body.rep-house-page .rep-house-category-showcase {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: .75rem;
      margin: 1.15rem 0 2.2rem;
    }
    body.rep-house-page .rep-house-cat-card {
      border: 1px solid var(--rep-house-line);
      background: rgba(255,255,255,.78);
      min-height: 96px;
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      gap: .8rem;
      padding: .8rem;
      text-decoration: none;
      color: var(--rep-house-green);
      font: inherit;
      text-align: left;
      cursor: pointer;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      transition: transform .18s ease, border-color .18s ease, background .18s ease;
    }
    body.rep-house-page .rep-house-cat-card:hover {
      transform: translateY(-2px);
      border-color: rgba(var(--primary-rgb, 217,70,143), .30);
      background: #fff;
    }
    body.rep-house-page .rep-house-cat-icon {
      width: 48px;
      height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: #fff0f7;
      color: var(--rep-house-green);
      font-size: 25px;
    }
    body.rep-house-page .rep-house-cat-card strong {
      display: block;
      font-family: "Playfair Display", serif;
      font-size: 1.05rem;
      line-height: 1.1;
    }
    body.rep-house-page .rep-house-cat-card span:not(.material-symbols-rounded) {
      display: block;
      margin-top: .2rem;
      color: var(--rep-house-muted);
      font-size: .75rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    body.rep-house-page .rep-catalog-kpis {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border: 1px solid var(--rep-house-line);
      background: rgba(255,255,255,.74);
      margin: 0 0 2rem;
    }
    body.rep-house-page .rep-catalog-kpi {
      min-height: 54px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .55rem;
      color: var(--rep-house-green);
      font-size: .8rem;
      font-weight: 900;
      border-right: 1px solid var(--rep-house-line);
    }
    body.rep-house-page .rep-catalog-kpi:last-child {
      border-right: 0;
    }
    body.rep-house-page .rep-intro-band {
      position: relative;
      display: block;
      max-width: 650px;
      margin: 0 auto;
      padding: 3.2rem 1rem 2.2rem;
      text-align: center;
    }
    body.rep-house-page .rep-intro-band::before,
    body.rep-house-page .rep-intro-band::after {
      content: "";
      position: absolute;
      top: 5.2rem;
      width: 92px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(var(--secondary-rgb, 168,85,247), .55), transparent);
    }
    body.rep-house-page .rep-intro-band::before {
      left: -52px;
      transform: rotate(-24deg);
    }
    body.rep-house-page .rep-intro-band::after {
      right: -52px;
      transform: rotate(24deg);
    }
    body.rep-house-page .rep-kicker {
      display: block;
      margin: 0 0 .8rem;
      color: var(--rep-house-gold);
      font-size: .8rem;
      font-weight: 900;
      letter-spacing: .48em;
      text-indent: .48em;
    }
    body.rep-house-page .rep-kicker::before {
      content: "";
      display: block;
      width: 13px;
      height: 34px;
      margin: 0 auto 1rem;
      background: linear-gradient(180deg, var(--rep-house-gold), var(--rep-house-green));
      border-radius: 999px 999px 45% 45%;
      transform: rotate(12deg);
      opacity: .8;
    }
    body.rep-house-page .rep-intro-title {
      font-family: "Playfair Display", serif;
      font-size: clamp(2rem, 4vw, 2.9rem);
      line-height: 1.05;
      color: var(--rep-house-green);
      margin: 0 0 .85rem;
    }
    body.rep-house-page .rep-intro-copy {
      max-width: 60ch;
      margin: 0 auto;
      color: #3e4a45;
      font-size: .98rem;
      line-height: 1.65;
    }
    body.rep-house-page .rep-intro-copy::after {
      content: "";
      display: block;
      width: 1px;
      height: 46px;
      margin: 1.4rem auto 0;
      background: #ddc895;
    }
    body.rep-house-page #stickyFilters {
      max-width: 760px;
      margin: 0 auto 2rem !important;
      position: static;
    }
    body.rep-house-page #stickyFilters .category-sticky {
      position: static;
      border: 1px solid var(--rep-house-line);
      border-radius: 0;
      padding: .55rem;
      box-shadow: none;
      background: rgba(255,255,255,.82);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: .35rem .65rem;
    }
    body.rep-house-page .rep-top-search {
      gap: .65rem;
    }
    body.rep-house-page .rep-top-search .category-brand {
      display: none;
    }
    body.rep-house-page #categorySearchInput {
      border: 0;
      background: #fff;
      border-radius: 0;
      box-shadow: none;
    }
    body.rep-house-page #searchInput {
      text-align: center;
      font-size: .92rem;
      letter-spacing: .03em;
    }
    body.rep-house-page .search-toggle {
      border-radius: 0;
      background: #fff;
      color: var(--rep-house-green);
    }
    body.rep-house-page .rep-house-category-row {
      grid-column: 1 / -1;
      min-width: 0;
    }
    body.rep-house-page .category-actions {
      grid-column: 1 / -1;
      order: 2;
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transform: translateY(-6px);
      transition: max-height .24s ease, opacity .18s ease, transform .18s ease, margin .18s ease;
      margin: 0;
    }
    body.rep-house-page #stickyFilters.search-open .category-actions {
      max-height: 76px;
      opacity: 1;
      transform: translateY(0);
      margin-top: .58rem;
    }
    body.rep-house-page .category-search-input {
      max-width: min(560px, 100%);
      margin: 0 auto;
    }
    body.rep-house-page #categoryPills {
      display: flex;
      justify-content: center;
      gap: .45rem;
      flex-wrap: wrap;
      padding: .25rem .25rem 0;
    }
    body.rep-house-page .rep-house-category-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .55rem;
      flex-wrap: wrap;
    }
    body.rep-house-page #categoryPills .category-pill {
      border: 1px solid rgba(var(--primary-rgb, 217,70,143), .18);
      border-radius: 999px;
      background: rgba(255,255,255,.72);
      color: var(--rep-house-green);
      padding: .28rem .72rem;
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
      box-shadow: none;
    }
    body.rep-house-page #categoryPills .category-pill.active {
      background: var(--rep-house-green);
      border-color: var(--rep-house-green);
      color: #fff;
    }
    body.rep-house-page .rep-catalog-layout {
      display: block;
      margin: 0;
    }
    body.rep-house-page .rep-products-panel #productsGrid {
      --bs-gutter-x: 1.35rem;
      --bs-gutter-y: 2.25rem;
    }
    body.rep-house-page .rep-products-panel .col-xl-4,
    body.rep-house-page .rep-products-panel .col-lg-4,
    body.rep-house-page .rep-products-panel .col-md-6,
    body.rep-house-page .rep-products-panel .col-sm-6 {
      flex: 0 0 25%;
      max-width: 25%;
    }
    body.rep-house-page .product-card {
      border: 0;
      border-radius: 0;
      box-shadow: none;
      background: transparent;
      overflow: visible;
    }
    body.rep-house-page .product-card:hover {
      transform: none;
      box-shadow: none;
      border-color: transparent;
    }
    body.rep-house-page .product-card .product-image-wrapper {
      position: relative;
      min-height: 260px;
      padding: 1rem;
      background:
        radial-gradient(circle at 50% 72%, rgba(var(--primary-rgb, 217,70,143), .10), transparent 24%),
        linear-gradient(180deg, #fff8fb 0%, var(--rep-house-blush) 100%);
      border: 0;
      display: grid;
      place-items: center;
      overflow: hidden;
    }
    body.rep-house-page .product-card .product-image-wrapper::before,
    body.rep-house-page .product-card .product-image-wrapper::after {
      content: "spa";
      position: absolute;
      font-family: "Material Symbols Rounded";
      color: rgba(var(--primary-rgb, 217,70,143), .08);
      line-height: 1;
      pointer-events: none;
    }
    body.rep-house-page .product-card .product-image-wrapper::before {
      left: 16px;
      top: 16px;
      font-size: 44px;
      transform: rotate(-18deg);
    }
    body.rep-house-page .product-card .product-image-wrapper::after {
      right: 18px;
      bottom: 16px;
      font-size: 54px;
      transform: rotate(18deg);
      content: "auto_awesome";
      color: rgba(var(--secondary-rgb, 168,85,247), .10);
    }
    body.rep-house-page .product-card .product-image-wrapper img {
      width: min(210px, 92%) !important;
      height: 220px;
      object-fit: contain;
      mix-blend-mode: multiply;
      transition: transform .28s ease;
    }
    body.rep-house-page .product-card:hover .product-image-wrapper img {
      transform: translateY(-3px) scale(1.02);
    }
    body.rep-house-page .product-card .card-body {
      padding: .72rem .2rem 0;
      align-items: center;
      text-align: center !important;
      gap: .25rem;
    }
    body.rep-house-page .rep-card-topline,
    body.rep-house-page .rep-card-notes,
    body.rep-house-page .product-units-line,
    body.rep-house-page .rep-card-footer .small {
      display: none !important;
    }
    body.rep-house-page .rep-rating {
      color: var(--rep-house-gold);
      font-size: .78rem;
      letter-spacing: .09em;
      line-height: 1;
      margin-top: .15rem;
    }
    body.rep-house-page .product-card .card-title {
      min-height: 2.2em;
      max-width: 95%;
      margin: .15rem auto 0;
      font-family: "Nunito Sans", sans-serif;
      font-size: .95rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--rep-house-ink);
      text-align: center;
    }
    body.rep-house-page .product-card .price,
    body.rep-house-page .product-card .price-old {
      font-size: .86rem;
    }
    body.rep-house-page .product-card .price {
      color: var(--rep-house-ink);
      font-weight: 700;
    }
    body.rep-house-page .product-card .price-old {
      color: #a7aaa5;
    }
    body.rep-house-page .rep-card-footer {
      justify-content: center;
      margin: .15rem 0 0;
      padding: 0;
      border: 0;
    }
    body.rep-house-page .product-card .qty-controls {
      gap: .32rem;
    }
    body.rep-house-page .product-card .qty-controls button {
      width: auto;
      height: auto;
      min-width: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: var(--rep-house-green);
      padding: .05rem .18rem;
      line-height: 1;
      box-shadow: none;
    }
    body.rep-house-page .product-card .qty-controls .btn-increase {
      background: transparent;
      border: 0;
      color: var(--rep-house-green);
    }
    body.rep-house-page .product-card .qty-controls .btn-increase::after {
      content: " Agregar";
      display: inline;
      font-size: .78rem;
      font-weight: 700;
      color: var(--rep-house-muted);
      margin-left: .15rem;
    }
    body.rep-house-page .product-card .qty {
      min-width: 1.2rem;
      font-size: .8rem;
      color: var(--rep-house-green);
    }
    body.rep-house-page .btn-detail {
      position: absolute;
      left: 0;
      top: 50%;
      width: 42px;
      height: 102px;
      transform: translateY(-50%);
      border-radius: 0;
      writing-mode: vertical-rl;
      text-orientation: mixed;
      background: rgba(255,255,255,.9);
      color: #263b35;
      border: 1px solid var(--rep-house-line);
      opacity: 0;
      transition: opacity .18s ease;
    }
    body.rep-house-page .btn-detail::after {
      content: "Ver detalle";
      font-size: .74rem;
      font-weight: 800;
    }
    body.rep-house-page .btn-detail .material-symbols-rounded {
      display: none;
    }
    body.rep-house-page .product-card:hover .btn-detail {
      opacity: 1;
    }
    body.rep-house-page .badge-preparado,
    body.rep-house-page .discount-badge,
    body.rep-house-page .sin-stock-badge {
      border-radius: 50%;
      width: 48px;
      height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      font-size: .66rem;
      text-align: center;
      box-shadow: none;
    }
    body.rep-house-page .badge-preparado,
    body.rep-house-page .discount-badge {
      background: var(--rep-house-gold);
      color: #fff;
      border: 0;
    }
    body.rep-house-page .sin-stock-badge {
      background: var(--rep-house-green);
      color: #fff;
    }
    body.rep-house-page .rep-house-pagination {
      display: flex;
      justify-content: center;
      gap: .55rem;
      margin: 3.4rem 0 4.2rem;
    }
    body.rep-house-page .rep-house-pagination span {
      width: 30px;
      height: 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #f3f3f0;
      color: var(--rep-house-green);
      font-size: .85rem;
      font-weight: 800;
    }
    body.rep-house-page .rep-house-pagination span:first-child {
      background: var(--rep-house-green);
      color: #fff;
    }
    body.rep-house-page .rep-house-benefits {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border: 1px solid var(--rep-house-line);
      margin: 0 0 3.5rem;
      background: rgba(255,255,255,.72);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
    }
    body.rep-house-page .rep-house-benefit {
      min-height: 52px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .6rem;
      color: var(--rep-house-green);
      font-size: .82rem;
      font-weight: 800;
      border-right: 1px solid var(--rep-house-line);
    }
    body.rep-house-page .rep-house-benefit:last-child {
      border-right: 0;
    }
    body.rep-house-page .rep-house-footer {
      border-top: 1px solid var(--rep-house-line);
      padding: 2.7rem 0 2rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3rem;
      color: var(--rep-house-muted);
      position: relative;
    }
    body.rep-house-page .rep-house-footer::before {
      content: "spa";
      position: absolute;
      left: 50%;
      top: 2.35rem;
      transform: translateX(-50%);
      font-family: "Material Symbols Rounded";
      font-size: 54px;
      color: rgba(var(--primary-rgb, 217,70,143), .065);
      pointer-events: none;
    }
    body.rep-house-page .rep-footer-links {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.6rem;
    }
    body.rep-house-page .rep-footer-links h6,
    body.rep-house-page .rep-newsletter h3 {
      color: var(--rep-house-ink);
      font-weight: 900;
    }
    body.rep-house-page .rep-footer-links h6 {
      font-size: .83rem;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 1rem;
    }
    body.rep-house-page .rep-footer-links a {
      display: block;
      color: rgba(255,255,255,.82);
      text-decoration: none;
      font-size: .86rem;
      margin-bottom: .55rem;
    }
    body.rep-house-page .rep-newsletter {
      border-left: 1px solid var(--rep-house-line);
      padding-left: 3rem;
    }
    body.rep-house-page .rep-newsletter h3 {
      max-width: 360px;
      margin: 0 0 1rem;
      font-family: "Playfair Display", serif;
      font-size: 1.55rem;
      line-height: 1.14;
    }
    body.rep-house-page .rep-newsletter-line {
      display: flex;
      align-items: center;
      border-bottom: 1px solid #b7b5ae;
      max-width: 360px;
      margin-bottom: 1rem;
    }
    body.rep-house-page .rep-newsletter-line input {
      border: 0;
      flex: 1;
      padding: .55rem 0;
      outline: 0;
      font-size: .85rem;
    }
    body.rep-house-page .cart-bar {
      border-radius: 0;
      background: var(--rep-house-green);
      box-shadow: 0 -10px 30px rgba(var(--primary-rgb, 217,70,143), .18);
    }
    body.rep-house-page .cart-bar .btn,
    body.rep-house-page #checkoutBtn,
    body.rep-house-page .btn-pro,
    body.rep-house-page #modalAddToCart {
      border-radius: 0;
      background: var(--rep-house-green);
      border-color: var(--rep-house-green);
    }
    body.rep-house-page {
      --beauty-radius-xl: 34px;
      --beauty-radius-lg: 26px;
      --beauty-shadow: 0 22px 56px rgba(53, 21, 42, .13);
      --beauty-soft-shadow: 0 14px 34px rgba(var(--primary-rgb, 217,70,143), .13);
    }
    body.rep-house-page .navbar {
      margin: 14px clamp(.75rem, 3vw, 2.5rem) 0;
      min-height: 82px;
      border: 1px solid rgba(var(--primary-rgb, 217,70,143), .12);
      border-radius: 999px;
      box-shadow: var(--beauty-soft-shadow);
    }
    body.rep-house-page .navbar-brand img,
    body.rep-house-page .rep-top-search .category-brand img {
      border-radius: 24px;
      box-shadow: 0 10px 24px rgba(var(--primary-rgb, 217,70,143), .12);
    }
    body.rep-house-page .rep-main-menu a {
      color: var(--rep-house-ink);
      padding: .5rem .15rem;
      position: relative;
    }
    body.rep-house-page .rep-main-menu a::after {
      content: "";
      position: absolute;
      left: 50%;
      right: 50%;
      bottom: .18rem;
      height: 2px;
      border-radius: 999px;
      background: var(--rep-house-gold);
      transition: left .18s ease, right .18s ease;
    }
    body.rep-house-page .rep-main-menu a:hover::after,
    body.rep-house-page .rep-main-menu a.active::after {
      left: 0;
      right: 0;
    }
    body.rep-house-page #heroStack {
      margin-top: 2.35rem;
    }
    body.rep-house-page #heroCarousel {
      border-radius: var(--beauty-radius-xl) !important;
      border: 1px solid rgba(var(--primary-rgb, 217,70,143), .16);
      box-shadow: var(--beauty-shadow);
      background: linear-gradient(135deg, #fff 0%, #fff0f7 100%);
    }
    body.rep-house-page #heroCarousel .carousel-inner,
    body.rep-house-page #heroCarousel .hero-banner {
      border-radius: var(--beauty-radius-xl) !important;
    }
    body.rep-house-page #heroCarousel .hero-banner {
      min-height: 455px;
    }
    body.rep-house-page #heroCarousel .hero-banner::before {
      background:
        linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 38%, rgba(255,255,255,.28) 72%, rgba(255,255,255,.08) 100%),
        radial-gradient(circle at 18% 42%, rgba(var(--primary-rgb, 217,70,143), .18), transparent 32%),
        radial-gradient(circle at 42% 80%, rgba(var(--secondary-rgb, 168,85,247), .12), transparent 28%);
    }
    body.rep-house-page #heroCarousel .hero-content {
      padding: clamp(1.2rem, 2.2vw, 2rem);
      border-radius: 28px;
      background: rgba(255, 255, 255, .48);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 18px 42px rgba(53, 21, 42, .08);
    }
    body.rep-house-page #heroCarousel .hero-content::before {
      padding: .38rem .75rem;
      border-radius: 999px;
      background: rgba(var(--secondary-rgb, 168,85,247), .12);
      letter-spacing: .18em;
    }
    body.rep-house-page #heroCarousel .hero-content h1,
    body.rep-house-page .rep-intro-title,
    body.rep-house-page .rep-newsletter h3 {
      letter-spacing: 0;
    }
    body.rep-house-page #heroCarousel .hero-content .btn {
      border-radius: 999px;
      box-shadow: 0 14px 28px rgba(var(--primary-rgb, 217,70,143), .22);
    }
    body.rep-house-page .rep-house-category-showcase {
      gap: 1rem;
      margin-top: 1.4rem;
    }
    body.rep-house-page .rep-house-cat-card {
      border-radius: 28px;
      min-height: 108px;
      padding: 1rem;
      background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,240,247,.78));
      box-shadow: 0 14px 34px rgba(53, 21, 42, .08);
    }
    body.rep-house-page .rep-house-cat-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 42px rgba(var(--primary-rgb, 217,70,143), .14);
    }
    body.rep-house-page .rep-house-cat-icon {
      width: 56px;
      height: 56px;
      border-radius: 20px;
      background: linear-gradient(135deg, rgba(var(--primary-rgb, 217,70,143), .12), rgba(var(--secondary-rgb, 168,85,247), .12));
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
    }
    body.rep-house-page .rep-catalog-kpis,
    body.rep-house-page .rep-house-benefits {
      border-radius: 26px;
      overflow: hidden;
      box-shadow: 0 14px 34px rgba(53, 21, 42, .07);
    }
    body.rep-house-page .rep-intro-band {
      padding-top: 3.7rem;
    }
    body.rep-house-page .rep-intro-title {
      font-size: clamp(2.2rem, 4.6vw, 3.35rem);
    }
    body.rep-house-page .rep-intro-copy {
      color: var(--rep-house-muted);
    }
    body.rep-house-page .rep-intro-copy::after {
      width: 76px;
      height: 3px;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--rep-house-green), var(--rep-house-gold));
    }
    body.rep-house-page #stickyFilters {
      max-width: 840px;
    }
    body.rep-house-page #stickyFilters .category-sticky {
      border-radius: 32px;
      padding: .8rem .9rem;
      box-shadow: 0 18px 44px rgba(53, 21, 42, .10);
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    body.rep-house-page #categorySearchInput,
    body.rep-house-page .search-toggle {
      border-radius: 999px;
    }
    body.rep-house-page .search-toggle {
      width: 48px;
      height: 48px;
      min-width: 48px;
      border: 1px solid rgba(var(--primary-rgb, 217,70,143), .18);
      color: var(--rep-house-green);
      box-shadow: 0 12px 24px rgba(53, 21, 42, .10);
    }
    body.rep-house-page #stickyFilters.search-open .search-toggle {
      background: var(--rep-house-green);
      color: #fff;
    }
    body.rep-house-page .category-search-input {
      border-radius: 999px;
      background: #fff;
      box-shadow: inset 0 0 0 1px rgba(var(--primary-rgb, 217,70,143), .13);
    }
    body.rep-house-page #categoryPills .category-pill {
      padding: .45rem .9rem;
      box-shadow: 0 8px 18px rgba(var(--primary-rgb, 217,70,143), .08);
    }
    body.rep-house-page .rep-products-panel #productsGrid {
      --bs-gutter-x: 1.2rem;
      --bs-gutter-y: 1.8rem;
    }
    body.rep-house-page .product-card {
      border: 1px solid rgba(var(--primary-rgb, 217,70,143), .12);
      border-radius: 34px;
      background: rgba(255,255,255,.88);
      box-shadow: 0 16px 38px rgba(53, 21, 42, .09);
      overflow: hidden;
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    body.rep-house-page .product-card:hover {
      transform: translateY(-5px);
      border-color: rgba(var(--primary-rgb, 217,70,143), .22);
      box-shadow: 0 24px 54px rgba(var(--primary-rgb, 217,70,143), .16);
    }
    body.rep-house-page .product-card .product-image-wrapper {
      min-height: 230px;
      margin: .75rem .75rem 0;
      border-radius: 30px;
      background:
        radial-gradient(circle at 50% 78%, rgba(var(--primary-rgb, 217,70,143), .13), transparent 28%),
        linear-gradient(145deg, #fff 0%, #fff0f7 58%, rgba(var(--secondary-rgb, 168,85,247), .10) 100%);
    }
    body.rep-house-page .product-card .product-image-wrapper img {
      width: min(176px, 84%) !important;
      height: 176px;
      border-radius: 22px;
      object-fit: cover;
      mix-blend-mode: normal;
      box-shadow: 0 16px 34px rgba(53, 21, 42, .10);
    }
    body.rep-house-page .product-card .card-body {
      padding: .95rem 1rem 1.1rem;
    }
    body.rep-house-page .product-card .card-title {
      font-size: 1rem;
    }
    body.rep-house-page .product-card .price {
      color: var(--rep-house-green);
      font-size: 1rem;
      font-weight: 900;
    }
    body.rep-house-page .product-card .qty-controls {
      min-height: 38px;
      padding: .25rem .45rem;
      border-radius: 999px;
      background: rgba(var(--primary-rgb, 217,70,143), .08);
    }
    body.rep-house-page .product-card .qty-controls button,
    body.rep-house-page .product-card .qty-controls .btn-increase {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 8px 16px rgba(53, 21, 42, .08);
    }
    body.rep-house-page .product-card .qty-controls .btn-increase {
      width: auto;
      padding: .2rem .72rem;
      border-radius: 999px;
      background: var(--rep-house-green);
      color: #fff;
    }
    body.rep-house-page .product-card .qty-controls .btn-increase::after {
      color: #fff;
    }
    body.rep-house-page .btn-detail {
      left: auto;
      right: 1rem;
      top: 1rem;
      border-radius: 50%;
      width: 38px;
      height: 38px;
      padding: 0;
      writing-mode: horizontal-tb;
      transform: none;
      color: var(--rep-house-green);
      background: rgba(255,255,255,.94);
      box-shadow: 0 12px 24px rgba(53, 21, 42, .12);
      opacity: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    body.rep-house-page .btn-detail::after {
      display: none;
    }
    body.rep-house-page .btn-detail .material-symbols-rounded {
      display: inline-block;
      font-size: 20px;
    }
    body.rep-house-page .badge-preparado,
    body.rep-house-page .discount-badge,
    body.rep-house-page .sin-stock-badge {
      border-radius: 999px;
      width: auto;
      height: auto;
      min-height: 34px;
      padding: .35rem .7rem;
    }
    body.rep-house-page .rep-house-pagination span {
      border-radius: 50%;
    }
    body.rep-house-page .rep-house-footer {
      border: 1px solid var(--rep-house-line);
      border-radius: 32px 32px 0 0;
      padding-inline: clamp(1rem, 3vw, 2rem);
      background: linear-gradient(90deg, var(--rep-house-green), var(--rep-house-gold));
      box-shadow: 0 -18px 44px rgba(53, 21, 42, .07);
      color: #fff;
    }
    body.rep-house-page .cart-bar {
      border-radius: 24px 24px 0 0;
    }
    body.rep-house-page .cart-bar .btn,
    body.rep-house-page #checkoutBtn,
    body.rep-house-page .btn-pro,
    body.rep-house-page #modalAddToCart {
      border-radius: 999px;
    }
    @media (max-width: 991px) {
      body.rep-house-page .rep-promo-bar {
        grid-template-columns: 1fr;
        text-align: center;
        height: auto;
        min-height: 30px;
        padding-block: .35rem;
      }
      body.rep-house-page .rep-promo-social,
      body.rep-house-page .rep-promo-login {
        display: none;
      }
      body.rep-house-page .navbar .container-fluid {
        grid-template-columns: auto 1fr auto;
      }
      body.rep-house-page .rep-main-menu {
        display: none;
      }
      body.rep-house-page .rep-nav-actions {
        grid-column: 3;
      }
      body.rep-house-page .rep-products-panel .col-xl-4,
      body.rep-house-page .rep-products-panel .col-lg-4,
      body.rep-house-page .rep-products-panel .col-md-6,
      body.rep-house-page .rep-products-panel .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
      }
      body.rep-house-page .rep-house-footer {
        grid-template-columns: 1fr;
      }
      body.rep-house-page .rep-newsletter {
        border-left: 0;
        padding-left: 0;
      }
      body.rep-house-page .rep-house-category-showcase {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      body.rep-house-page #heroCarousel .hero-banner {
        min-height: 360px;
        height: auto;
      }
      body.rep-house-page #heroCarousel .hero-banner > .d-flex {
        padding: 2rem;
      }
    }
    @media (max-width: 576px) {
      body.rep-house-page .navbar {
        min-height: 72px;
        margin: 10px .75rem 0;
        border-radius: 24px;
      }
      body.rep-house-page .navbar-brand img {
        width: 56px;
        height: 56px;
      }
      body.rep-house-page .rep-nav-actions .rep-currency,
      body.rep-house-page .rep-nav-actions .rep-lang {
        display: none;
      }
      body.rep-house-page .rep-intro-band {
        padding-top: 2.8rem;
      }
      body.rep-house-page #heroCarousel,
      body.rep-house-page #heroCarousel .carousel-inner,
      body.rep-house-page #heroCarousel .hero-banner {
        border-radius: 26px !important;
      }
      body.rep-house-page #heroCarousel .hero-content {
        border-radius: 22px;
      }
      body.rep-house-page #stickyFilters .category-sticky {
        border-radius: 24px;
        grid-template-columns: 1fr;
      }
      body.rep-house-page .rep-house-cat-card,
      body.rep-house-page .product-card {
        border-radius: 24px;
      }
      body.rep-house-page .product-card .product-image-wrapper {
        border-radius: 20px;
      }
      body.rep-house-page .rep-intro-band::before,
      body.rep-house-page .rep-intro-band::after,
      body.rep-house-page .rep-bg-icons .i5,
      body.rep-house-page .rep-bg-icons .i6,
      body.rep-house-page .rep-bg-icons .i7,
      body.rep-house-page .rep-bg-icons .i8,
      body.rep-house-page .rep-bg-icons .i9,
      body.rep-house-page .rep-bg-icons .i10,
      body.rep-house-page .rep-bg-icons .i11,
      body.rep-house-page .rep-bg-icons .i12,
      body.rep-house-page .rep-bg-icons .i13,
      body.rep-house-page .rep-bg-icons .i14,
      body.rep-house-page .rep-bg-icons .i15,
      body.rep-house-page .rep-bg-icons .i16,
      body.rep-house-page .rep-bg-icons .i17,
      body.rep-house-page .rep-bg-icons .i18,
      body.rep-house-page .rep-bg-icons .i19,
      body.rep-house-page .rep-bg-icons .i20 {
        display: none;
      }
      body.rep-house-page .rep-products-panel .col-xl-4,
      body.rep-house-page .rep-products-panel .col-lg-4,
      body.rep-house-page .rep-products-panel .col-md-6,
      body.rep-house-page .rep-products-panel .col-sm-6 {
        flex: 0 0 100%;
        max-width: 100%;
      }
      body.rep-house-page .rep-house-benefits,
      body.rep-house-page .rep-footer-links,
      body.rep-house-page .rep-house-category-showcase,
      body.rep-house-page .rep-catalog-kpis {
        grid-template-columns: 1fr;
      }
      body.rep-house-page #heroCarousel .hero-content h1 {
        font-size: 2.15rem;
      }
      body.rep-house-page #heroCarousel .hero-content p {
        font-size: .92rem;
      }
      body.rep-house-page .rep-house-benefit {
        border-right: 0;
        border-bottom: 1px solid var(--rep-house-line);
      }
      body.rep-house-page .rep-house-benefit:last-child {
        border-bottom: 0;
      }
    }

/* Extracted from _catalogoRepuestos.php: inline-head-style-5 */
body.rep-theme.rep-house-page {
      --rep-house-green: var(--primary, #f97316);
      --rep-house-gold: var(--secondary, #111827);
      --rep-house-ink: #111827;
      --rep-house-muted: #64748b;
      --rep-house-blush: #f3f4f6;
      --rep-house-line: rgba(15, 23, 42, .14);
      --rep-house-soft: #f8fafc;
      --parts-panel: #ffffff;
      --parts-metal: #e5e7eb;
      --parts-dark: #0f172a;
      --parts-warning: var(--primary, #f97316);
      background: #f4f6f8;
      color: var(--rep-house-ink);
      font-family: "Barlow", "Nunito Sans", sans-serif;
    }
    body.rep-house-page::before {
      background:
        linear-gradient(90deg, rgba(15,23,42,.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(15,23,42,.035) 1px, transparent 1px),
        radial-gradient(circle at 86% 12%, rgba(var(--primary-rgb, 249,115,22), .13), transparent 24%),
        radial-gradient(circle at 12% 84%, rgba(15,23,42,.10), transparent 28%),
        linear-gradient(180deg, #f8fafc 0%, #f1f5f9 48%, #e5e7eb 100%);
      background-size: 32px 32px, 32px 32px, auto, auto, auto;
    }
    body.rep-house-page .rep-bg-icons {
      color: rgba(15, 23, 42, .075);
    }
    body.rep-house-page .rep-bg-dots {
      opacity: .42;
      background-image:
        radial-gradient(circle, rgba(var(--primary-rgb, 249,115,22), .16) 1px, transparent 1.5px),
        radial-gradient(circle, rgba(15,23,42,.13) 1px, transparent 1.5px);
      background-size: 22px 22px, 38px 38px;
    }
    body.rep-house-page .navbar {
      width: 100%;
      margin: 0 !important;
      border-radius: 0;
      background: rgba(255,255,255,.96) !important;
      border: 0;
      border-bottom: 1px solid rgba(15,23,42,.12);
      box-shadow: 0 12px 34px rgba(15, 23, 42, .14);
    }
    body.rep-house-page .navbar .container-fluid {
      max-width: 1240px;
      margin: 0 auto;
      width: 100%;
    }
    body.rep-house-page .navbar-brand img,
    body.rep-house-page .rep-top-search .category-brand img {
      border-radius: 12px;
      border-color: rgba(15,23,42,.14);
    }
    body.rep-house-page .rep-main-menu a,
    body.rep-house-page .rep-nav-actions {
      color: var(--parts-dark);
    }
    body.rep-house-page .rep-main-menu a.active,
    body.rep-house-page .rep-main-menu a:hover {
      color: var(--parts-warning);
    }
    body.rep-house-page #heroCarousel,
    body.rep-house-page #heroCarousel .carousel-inner,
    body.rep-house-page #heroCarousel .hero-banner {
      border-radius: 18px !important;
    }
    body.rep-house-page #heroCarousel {
      border: 1px solid rgba(15,23,42,.14);
      background: #111827;
      box-shadow: 0 24px 58px rgba(15, 23, 42, .20);
    }
    body.rep-house-page #heroCarousel .hero-banner::before {
      background:
        linear-gradient(90deg, rgba(15,23,42,.90) 0%, rgba(15,23,42,.68) 42%, rgba(15,23,42,.18) 76%, rgba(15,23,42,.05) 100%),
        linear-gradient(135deg, rgba(var(--primary-rgb, 249,115,22), .30), transparent 42%);
    }
    body.rep-house-page #heroCarousel .hero-content {
      background: rgba(15, 23, 42, .42);
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 16px;
      color: #fff;
      box-shadow: none;
    }
    body.rep-house-page #heroCarousel .hero-content::before {
      content: "Tienda técnica";
      color: #fff;
      background: rgba(var(--primary-rgb, 249,115,22), .92);
      border-radius: 6px;
    }
    body.rep-house-page #heroCarousel .hero-content h1 {
      color: #fff !important;
      font-family: "Rajdhani", "Barlow", sans-serif;
      text-transform: uppercase;
      max-width: 13ch;
    }
    body.rep-house-page #heroCarousel .hero-content p {
      color: rgba(255,255,255,.86) !important;
    }
    body.rep-house-page .rep-house-category-showcase {
      gap: 1rem;
    }
    body.rep-house-page .rep-house-cat-card {
      border-radius: 16px;
      background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
      border: 1px solid rgba(15,23,42,.12);
      box-shadow: 0 14px 34px rgba(15, 23, 42, .10);
    }
    body.rep-house-page .rep-house-cat-card:hover {
      border-color: rgba(var(--primary-rgb, 249,115,22), .48);
      box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
    }
    body.rep-house-page .rep-house-cat-icon {
      border-radius: 12px;
      background: #111827;
      color: var(--parts-warning);
    }
    body.rep-house-page .rep-house-cat-card strong,
    body.rep-house-page .rep-intro-title,
    body.rep-house-page .rep-products-title {
      font-family: "Rajdhani", "Barlow", sans-serif;
      text-transform: uppercase;
      color: var(--parts-dark);
    }
    body.rep-house-page .rep-catalog-kpis,
    body.rep-house-page .rep-house-benefits,
    body.rep-house-page #stickyFilters .category-sticky {
      border-radius: 14px;
      border: 1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.92);
      box-shadow: 0 14px 34px rgba(15, 23, 42, .10);
    }
    body.rep-house-page .rep-catalog-kpi,
    body.rep-house-page .rep-house-benefit,
    body.rep-house-page .search-toggle,
    body.rep-house-page #categoryPills .category-pill {
      color: var(--parts-dark);
    }
    body.rep-house-page #categoryPills .category-pill {
      border-radius: 8px;
      border-color: rgba(15,23,42,.14);
      background: #fff;
    }
    body.rep-house-page #categoryPills .category-pill.active,
    body.rep-house-page #stickyFilters.search-open .search-toggle {
      background: var(--parts-warning);
      border-color: var(--parts-warning);
      color: #fff;
    }
    body.rep-house-page .search-toggle {
      border-radius: 10px;
      background: #111827;
      color: #fff;
    }
    body.rep-house-page #stickyFilters #searchToggleBtn {
      display: none;
    }
    body.rep-house-page .product-card {
      border-radius: 14px;
      border: 1px solid rgba(15,23,42,.12);
      background: #fff;
      box-shadow: 0 16px 40px rgba(15, 23, 42, .12);
      display: flex;
      flex-direction: column;
      min-height: 410px;
    }
    body.rep-house-page .product-card:hover {
      border-color: rgba(var(--primary-rgb, 249,115,22), .42);
      box-shadow: 0 24px 54px rgba(15, 23, 42, .18);
    }
    body.rep-house-page .product-card .product-image-wrapper {
      min-height: 190px;
      height: 190px;
      border-radius: 12px;
      background:
        linear-gradient(135deg, rgba(15,23,42,.06), transparent 42%),
        linear-gradient(180deg, #f8fafc 0%, #e5e7eb 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1rem;
      margin: .75rem .75rem 0;
    }
    body.rep-house-page .product-card .product-image-wrapper::before {
      content: "settings";
      left: 1rem;
      top: 1rem;
      font-size: 44px;
      color: rgba(15,23,42,.08);
    }
    body.rep-house-page .product-card .product-image-wrapper::after {
      content: "hexagon";
      right: 1.1rem;
      bottom: 1rem;
      font-size: 48px;
      color: rgba(var(--primary-rgb, 249,115,22), .14);
    }
    body.rep-house-page .product-card .product-image-wrapper img {
      width: 100% !important;
      max-width: 210px;
      height: 165px;
      object-fit: contain;
      mix-blend-mode: normal;
      border-radius: 6px;
      box-shadow: none;
      background: transparent;
    }
    body.rep-house-page .rep-rating {
      display: none;
    }
    body.rep-house-page .product-card .card-body {
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      min-height: 190px;
      padding: .75rem .9rem .85rem;
    }
    body.rep-house-page .product-card .card-title {
      color: #111827;
      font-family: "Barlow", sans-serif;
      text-transform: none;
      min-height: 2.5em;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: .25rem auto .45rem;
      max-width: 92%;
      line-height: 1.18;
    }
    body.rep-house-page .product-card .price {
      color: var(--parts-warning);
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: 1.18rem;
      margin-top: auto;
    }
    body.rep-house-page .rep-card-footer {
      min-height: 48px;
      margin-top: .5rem;
    }
    body.rep-house-page .card-outofstock .rep-card-footer {
      visibility: hidden;
    }
    body.rep-house-page .product-card .qty-controls {
      border-radius: 10px;
      background: #f3f4f6;
      min-width: 220px;
      justify-content: center;
    }
    body.rep-house-page .product-card .qty-controls .btn-increase,
    body.rep-house-page .cart-bar,
    body.rep-house-page #checkoutBtn,
    body.rep-house-page .btn-pro,
    body.rep-house-page #modalAddToCart {
      background: var(--parts-warning);
      border-color: var(--parts-warning);
      color: #fff;
    }
    body.rep-house-page .btn-detail {
      border-radius: 10px;
      color: #fff;
      background: #111827;
    }
    body.rep-house-page .product-card .product-image-wrapper .badge-preparado {
      left: 1rem;
      top: 1rem;
      box-shadow: 0 10px 24px rgba(15,23,42,.14);
    }
    body.rep-house-page .sin-stock-badge {
      position: absolute;
      left: 1rem;
      bottom: 1rem;
      border-radius: 10px;
      min-height: 34px;
      padding: .4rem .72rem;
      background: #111827;
      color: #fff;
      box-shadow: 0 10px 24px rgba(15,23,42,.16);
    }
    body.rep-house-page .card-outofstock .product-image-wrapper img {
      opacity: .52;
      filter: grayscale(.18);
    }
    body.rep-house-page .product-card .product-image-wrapper::before,
    body.rep-house-page .product-card .product-image-wrapper::after {
      opacity: .75;
    }
    body.rep-house-page .badge-preparado,
    body.rep-house-page .discount-badge {
      background: #111827;
      color: #fff;
    }
    body.rep-house-page .rep-house-footer {
      border-radius: 18px 18px 0 0;
      background: #111827;
      color: rgba(255,255,255,.70);
    }
    body.rep-house-page .rep-footer-links h6,
    body.rep-house-page .rep-newsletter h3 {
      color: #fff;
    }
    body.rep-house-page .rep-footer-links a {
      color: rgba(255,255,255,.68);
    }
    @media (max-width: 576px) {
      body.rep-house-page .navbar {
        margin: 0 !important;
        border-radius: 0;
      }
      body.rep-house-page .product-card .product-image-wrapper {
        min-height: 230px;
        height: 230px;
      }
      body.rep-house-page .product-card .product-image-wrapper img {
        max-width: 220px;
        height: 190px;
      }
      body.rep-house-page .product-card {
        min-height: 410px;
      }
      body.rep-house-page .product-card .card-body {
        min-height: 190px;
      }
      body.rep-house-page .product-card .qty-controls {
        min-width: 220px;
      }
    }
    body.rep-house-page .catalog-toolbar {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: .45rem;
      margin: 0 0 1rem;
    }
    body.rep-house-page .view-toggle {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      border: 1px solid rgba(15,23,42,.14);
      background: #fff;
      color: #111827;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 18px rgba(15,23,42,.08);
    }
    body.rep-house-page .view-toggle.active {
      background: #111827;
      color: #fff;
      border-color: #111827;
    }
    body.rep-house-page .nav-action-btn {
      border: 0;
      background: transparent;
      color: inherit;
      font: inherit;
      font-weight: 900;
      padding: .25rem .1rem;
      display: inline-flex;
      align-items: center;
      gap: .12rem;
    }
    body.rep-house-page #productsGrid.catalog-view-compact .col-xl-4 {
      flex: 0 0 20%;
      max-width: 20%;
    }
    body.rep-house-page #productsGrid.catalog-view-compact .product-card { min-height: 350px; }
    body.rep-house-page #productsGrid.catalog-view-compact .product-image-wrapper {
      min-height: 150px;
      height: 150px;
    }
    body.rep-house-page #productsGrid.catalog-view-compact .product-image-wrapper img {
      max-width: 170px;
      height: 130px;
    }
    body.rep-house-page #productsGrid.catalog-view-compact .product-card .card-body { min-height: 170px; }
    body.rep-house-page {
      scroll-padding-top: calc(var(--nav-h, 78px) + 16px);
      padding-top: 116px;
    }
    body.rep-house-page .container.py-4 {
      max-width: 100% !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 0 !important;
    }
    body.rep-house-page .container.py-4 > :not(.hero-with-filters):not(.rep-house-footer) {
      width: min(100% - 2rem, 1320px);
      margin-left: auto;
      margin-right: auto;
    }
    body.rep-house-page .navbar {
      position: fixed !important;
      top: 28px;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 1040;
      display: block !important;
      transform: none !important;
      opacity: 1 !important;
      visibility: visible !important;
      min-height: 88px;
    }
    body.rep-house-page .rep-promo-bar {
      position: fixed !important;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 1041;
    }
    body.rep-house-page .navbar .container-fluid {
      min-height: 88px;
      align-items: center !important;
    }
    body.rep-house-page .rep-main-menu,
    body.rep-house-page .rep-nav-actions,
    body.rep-house-page .navbar-brand {
      align-self: center;
    }
    body.rep-house-page .rep-main-menu {
      transform: translateY(0);
    }
    body.rep-house-page .cart-bar,
    body.rep-house-page #mobileCartBtn {
      display: none !important;
      visibility: hidden !important;
      pointer-events: none !important;
    }
    body.rep-house-page .cart-target-pop {
      animation: cartTargetPop .26s ease;
    }
    @keyframes cartTargetPop {
      0% { transform: scale(1); }
      45% { transform: scale(1.18); }
      100% { transform: scale(1); }
    }
    body.rep-house-page .navbar-brand {
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      padding: 0 !important;
    }
    body.rep-house-page .navbar-brand img,
    body.rep-house-page .navbar-brand img.scrolled {
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      padding: 0 !important;
      border-radius: 0 !important;
      object-fit: contain;
      width: 96px !important;
      height: 58px !important;
      max-height: 58px !important;
    }
    body.rep-house-page #navCartBtn {
      position: relative;
      width: 34px;
      height: 34px;
      justify-content: center;
    }
    body.rep-house-page #navCartCount {
      position: absolute;
      top: -8px;
      right: -8px;
      min-width: 18px;
      height: 18px;
      padding: 0 5px;
      border-radius: 999px;
      background: var(--parts-warning);
      color: #fff;
      font-size: .68rem;
      line-height: 18px;
      font-weight: 900;
      text-align: center;
      box-shadow: 0 6px 14px rgba(249,115,22,.32);
      display: none;
    }
    body.rep-house-page #navCartCount.show {
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    body.rep-house-page .material-symbols-rounded {
      font-family: "Material Symbols Rounded" !important;
      font-weight: normal;
      font-style: normal;
      line-height: 1;
      letter-spacing: normal;
      text-transform: none;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-feature-settings: "liga";
      -webkit-font-smoothing: antialiased;
      font-feature-settings: "liga";
    }
    body.rep-house-page .hero-with-filters {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      margin-top: 0;
      position: relative;
      overflow: hidden;
      border-radius: 0;
      background:
        linear-gradient(120deg, rgba(15,23,42,.94) 0%, rgba(17,24,39,.90) 48%, rgba(249,115,22,.78) 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 42px);
      box-shadow: 0 24px 56px rgba(15,23,42,.20);
    }
    body.rep-house-page #heroStack {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
    }
    body.rep-house-page #heroStack::before {
      display: none !important;
    }
    body.rep-house-page .hero-with-filters::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        radial-gradient(circle at 82% 26%, rgba(255,255,255,.18), transparent 18%),
        linear-gradient(110deg, transparent 0 58%, rgba(255,255,255,.12) 58% 62%, transparent 62% 100%);
      mix-blend-mode: screen;
    }
    body.rep-house-page #heroCarousel,
    body.rep-house-page #heroCarousel .carousel-inner,
    body.rep-house-page #heroCarousel .hero-banner {
      border-radius: 0 !important;
    }
    body.rep-house-page #heroCarousel {
      width: 100%;
      border: 0;
      box-shadow: inset 0 -1px 0 rgba(255,255,255,.16);
    }
    body.rep-house-page #heroCarousel .hero-banner {
      min-height: clamp(320px, 42vw, 560px);
      max-height: none;
    }
    body.rep-house-page #heroCarousel .hero-content {
      width: min(92%, 1120px);
      max-width: 1120px;
      align-items: flex-start;
      text-align: left;
      margin-left: clamp(1rem, 7vw, 7rem);
      margin-right: auto;
      background: transparent;
      border: 0;
    }
    body.rep-house-page #heroCarousel .hero-content h1,
    body.rep-house-page #heroCarousel .hero-content p {
      text-align: left;
    }
    body.rep-house-page .rep-house-pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .45rem;
      margin: 1.35rem 0 1.8rem;
    }
    body.rep-house-page .rep-house-pagination button,
    body.rep-house-page .rep-house-pagination span {
      width: auto;
      min-width: 38px;
      height: 38px;
      border-radius: 10px;
      border: 1px solid rgba(15,23,42,.14);
      background: #fff;
      color: #111827;
      font-family: "Barlow", sans-serif;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 .75rem;
      box-shadow: 0 10px 22px rgba(15,23,42,.08);
    }
    body.rep-house-page .rep-house-pagination button.active {
      background: #111827;
      border-color: #111827;
      color: #fff;
    }
    body.rep-house-page .rep-house-pagination .material-symbols-rounded,
    body.rep-house-page .rep-house-benefit .material-symbols-rounded,
    body.rep-house-page .rep-footer-links .material-symbols-rounded,
    body.rep-house-page .rep-newsletter .material-symbols-rounded {
      font-family: "Material Symbols Rounded" !important;
      font-weight: normal;
      font-style: normal;
      line-height: 1;
      letter-spacing: normal;
      text-transform: none;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-feature-settings: "liga";
      -webkit-font-smoothing: antialiased;
      font-feature-settings: "liga";
    }
    body.rep-house-page .rep-house-pagination .page-nav {
      gap: .45rem;
      min-width: 48px;
      padding: 0 .72rem;
    }
    body.rep-house-page .rep-house-pagination .page-nav .material-symbols-rounded {
      font-size: 20px;
    }
    body.rep-house-page .rep-house-pagination button:disabled {
      opacity: .42;
      cursor: not-allowed;
      box-shadow: none;
    }
    body.rep-house-page .rep-house-pagination .page-status {
      min-width: 118px;
      color: #64748b;
      background: rgba(255,255,255,.72);
    }
    body.rep-house-page .rep-house-footer {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      margin-bottom: 0;
      border-radius: 0;
      border: 0;
      background:
        linear-gradient(
          120deg,
          color-mix(in srgb, var(--primary) 88%, #000 12%) 0%,
          var(--primary) 46%,
          var(--secondary) 100%
        ),
        repeating-linear-gradient(
          90deg,
          rgba(255,255,255,.08) 0 1px,
          transparent 1px 42px
        ) !important;
      box-shadow: 0 -24px 56px rgba(var(--primary-rgb, 17,24,39), .22);
      position: relative;
      overflow: hidden;
    }
    body.rep-house-page .rep-house-footer::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        radial-gradient(circle at 18% 28%, rgba(255,255,255,.14), transparent 20%),
        linear-gradient(110deg, transparent 0 48%, rgba(255,255,255,.10) 48% 52%, transparent 52% 100%);
      mix-blend-mode: screen;
    }
    body.rep-house-page .rep-house-footer > * {
      position: relative;
      z-index: 1;
      width: min(100% - 2rem, 1320px);
      margin-left: auto;
      margin-right: auto;
    }
    body.rep-house-page .rep-house-benefits {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.1rem;
      margin-top: 2.2rem;
      margin-bottom: 2.2rem;
      padding: 0 !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      overflow: visible !important;
    }
    body.rep-house-page .rep-house-benefit {
      min-height: 92px;
      padding: 1.1rem 1.35rem;
      gap: .9rem;
      justify-content: flex-start;
      background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
      border: 1px solid rgba(15,23,42,.10) !important;
      border-radius: 14px !important;
      box-shadow: 0 18px 42px rgba(15,23,42,.12) !important;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    body.rep-house-page .rep-house-benefit:last-child {
      border-right: 1px solid rgba(15,23,42,.10) !important;
    }
    body.rep-house-page .rep-house-benefit:hover {
      transform: translateY(-2px);
      border-color: rgba(var(--primary-rgb,249,115,22),.28) !important;
      box-shadow: 0 22px 50px rgba(15,23,42,.16) !important;
    }
    body.rep-house-page .rep-house-benefit .material-symbols-rounded {
      width: 46px;
      height: 46px;
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--primary);
      color: #fff;
      font-size: 24px;
      flex: 0 0 auto;
      box-shadow: 0 12px 24px rgba(15,23,42,.18);
    }
    body.rep-house-page .rep-house-benefit span:not(.material-symbols-rounded) {
      font-weight: 900;
      color: #111827;
      letter-spacing: .01em;
    }
    body.rep-house-page .rep-footer-links a {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
    }
    body.rep-house-page .rep-footer-links a .material-symbols-rounded {
      font-size: 17px;
      color: var(--secondary);
      opacity: .95;
    }
    body.rep-house-page .rep-newsletter-line {
      display: flex;
      align-items: center;
    }
    body.rep-house-page .rep-newsletter-line .material-symbols-rounded {
      font-size: 24px;
      color: var(--secondary);
    }
    body.rep-house-page .container.py-4:has(.rep-house-footer) {
      padding-bottom: 0 !important;
    }
    body.rep-house-page:not(.cart-has-items) {
      padding-bottom: 0 !important;
    }
    @media (min-width: 769px) and (max-width: 1180px) {
      body.rep-house-page .container.py-4 > :not(.hero-with-filters):not(.rep-house-footer),
      body.rep-house-page .rep-house-footer > * {
        width: min(100% - 2rem, 1080px);
      }
      body.rep-house-page #heroCarousel .hero-banner {
        min-height: 430px;
      }
      body.rep-house-page #heroCarousel .hero-content {
        margin-left: clamp(1.5rem, 5vw, 4rem);
        max-width: 720px;
      }
      body.rep-house-page #heroCarousel .hero-content h1 {
        font-size: clamp(2.25rem, 5vw, 4rem);
      }
      body.rep-house-page .rep-house-category-showcase {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      body.rep-house-page .rep-catalog-layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: .85rem;
      }
      body.rep-house-page #productsGrid.catalog-view-grid .col-md-6,
      body.rep-house-page #productsGrid.catalog-view-compact .col-md-4 {
        flex: 0 0 50%;
        max-width: 50%;
      }
    }
    @media (max-width: 768px) {
      body.rep-house-page {
        padding-top: 102px;
      }
      body.rep-house-page .rep-promo-bar {
        min-height: 34px;
        padding: .35rem .75rem;
        font-size: .68rem;
        letter-spacing: .05em;
        gap: .5rem;
      }
      body.rep-house-page .rep-promo-social {
        display: none;
      }
      body.rep-house-page .navbar {
        top: 34px;
        min-height: 68px;
        padding-left: .75rem !important;
        padding-right: .75rem !important;
      }
      body.rep-house-page .navbar .container-fluid {
        gap: .65rem;
      }
      body.rep-house-page .navbar-brand img {
        width: 72px !important;
        height: 44px !important;
        max-height: 44px !important;
      }
      body.rep-house-page .rep-main-menu {
        order: 3;
        width: 100%;
        justify-content: center;
        gap: .85rem;
        padding: .25rem 0 0;
        overflow-x: auto;
      }
      body.rep-house-page .rep-main-menu a {
        font-size: .72rem;
        white-space: nowrap;
      }
      body.rep-house-page .rep-nav-actions {
        margin-left: auto;
        gap: .55rem;
      }
      body.rep-house-page .hero-with-filters,
      body.rep-house-page #heroStack {
        margin-top: 0 !important;
      }
      body.rep-house-page #heroCarousel .hero-content {
        margin-left: 1rem;
        padding-right: 1rem;
        width: min(100% - 2rem, 560px);
      }
      body.rep-house-page #heroCarousel .hero-banner {
        min-height: 360px;
        background-position: center !important;
      }
      body.rep-house-page #heroCarousel .hero-content::before {
        font-size: .72rem;
        letter-spacing: .08em;
      }
      body.rep-house-page #heroCarousel .hero-content h1 {
        font-size: clamp(2.05rem, 13vw, 3.25rem);
        max-width: 9ch;
      }
      body.rep-house-page #heroCarousel .hero-content p {
        max-width: 28ch;
        font-size: .98rem;
      }
      body.rep-house-page .rep-house-category-showcase,
      body.rep-house-page .rep-catalog-kpis,
      body.rep-house-page .rep-house-benefits {
        grid-template-columns: 1fr;
      }
      body.rep-house-page .rep-intro-band,
      body.rep-house-page .rep-products-toolbar {
        flex-direction: column;
        align-items: stretch;
      }
      body.rep-house-page .rep-intro-stats {
        grid-template-columns: 1fr;
      }
      body.rep-house-page .rep-catalog-layout {
        grid-template-columns: 1fr;
      }
      body.rep-house-page .rep-sidebar {
        position: static;
      }
      body.rep-house-page .catalog-toolbar {
        justify-content: center;
      }
      body.rep-house-page .rep-house-pagination {
        flex-wrap: wrap;
        gap: .35rem;
      }
      body.rep-house-page .rep-house-pagination .page-nav {
        min-width: 46px;
        padding: 0 .65rem;
      }
      body.rep-house-page .rep-house-pagination .page-nav-label {
        display: none;
      }
      body.rep-house-page .rep-house-benefits {
        gap: .65rem;
        margin-top: 1.35rem;
        margin-bottom: 1.35rem;
        grid-template-columns: 1fr;
      }
      body.rep-house-page .rep-house-benefit {
        min-height: 70px;
        justify-content: flex-start;
      }
      body.rep-house-page .container.py-4 > :not(.hero-with-filters):not(.rep-house-footer),
      body.rep-house-page .rep-house-footer > * {
        width: min(100% - 1rem, 1320px);
      }
      body.rep-house-page .rep-house-footer {
        padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
      }
    }

    body.rep-house-page #productsGrid {
      --bs-gutter-x: 1.15rem;
      --bs-gutter-y: 1.25rem;
    }
    body.rep-house-page #productsGrid .product-card {
      position: relative;
      min-height: 392px;
      border-radius: 16px;
      border: 1px solid rgba(15,23,42,.12);
      background:
        linear-gradient(180deg, #ffffff 0%, #fbfdff 62%, #f8fafc 100%);
      box-shadow: 0 18px 44px rgba(15,23,42,.12);
      overflow: hidden;
    }
    body.rep-house-page #productsGrid .product-card::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 4px;
      background: linear-gradient(90deg, #111827, var(--parts-warning));
      z-index: 2;
    }
    body.rep-house-page #productsGrid .product-card:hover {
      transform: translateY(-4px);
      border-color: rgba(var(--primary-rgb,249,115,22),.34);
      box-shadow: 0 24px 58px rgba(15,23,42,.18);
    }
    body.rep-house-page #productsGrid .product-card-inner {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      padding: .8rem;
    }
    body.rep-house-page #productsGrid .product-image-wrapper {
      position: relative;
      width: 100%;
      box-sizing: border-box;
      overflow: hidden;
      height: 178px;
      min-height: 178px;
      margin: 0;
      padding: 1rem;
      border-radius: 14px;
      background:#fff;
      background-position: center;
      border: 1px solid rgba(15,23,42,.06);
    }
    body.rep-house-page #productsGrid .product-image-wrapper::before {
      content: none;
    }
    body.rep-house-page #productsGrid .product-image-wrapper::after {
      content: none;
    }
    body.rep-house-page #productsGrid .product-image-wrapper img {
      max-width: 220px;
      width: 92% !important;
      height: 146px;
      object-fit: contain;
      filter: drop-shadow(0 16px 18px rgba(15,23,42,.16));
      transform: translateZ(0);
    }
    body.rep-house-page #productsGrid .product-card:hover .product-image-wrapper img {
      transform: scale(1.035);
    }
    body.rep-house-page #productsGrid .btn-detail {
      top: .75rem;
      right: .75rem;
      width: auto;
      min-width: 42px;
      height: 38px;
      padding: 0 .62rem;
      border-radius: 10px;
      background: #111827;
      border: 1px solid rgba(255,255,255,.18);
      box-shadow: 0 12px 24px rgba(15,23,42,.22);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .25rem;
      color: #fff;
    }
    body.rep-house-page #productsGrid .btn-detail .material-symbols-rounded {
      color: var(--parts-warning);
      font-size: 19px;
    }
    body.rep-house-page #productsGrid .btn-detail::after {
      content: "Detalle";
      font-family: "Barlow", sans-serif;
      font-size: .68rem;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    body.rep-house-page #productsGrid .badge-preparado,
    body.rep-house-page #productsGrid .discount-badge,
    body.rep-house-page #productsGrid .sin-stock-badge {
      border-radius: 8px;
      background: rgba(17,24,39,.94);
      color: #fff;
      font-family: "Barlow", sans-serif;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    body.rep-house-page #productsGrid .card-body {
      min-height: 200px;
      padding: .85rem 1rem 1rem;
    }
    body.rep-house-page #productsGrid .rep-card-topline {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .65rem;
      min-height: 24px;
      margin-bottom: .4rem;
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: .76rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #64748b;
    }
    body.rep-house-page #productsGrid .rep-card-type {
      display: inline-flex;
      align-items: center;
      gap: .25rem;
      color: #111827;
      font-weight: 900;
    }
    body.rep-house-page #productsGrid .rep-card-type::before {
      content: "inventory_2";
      font-family: "Material Symbols Rounded";
      font-size: 15px;
      color: var(--parts-warning);
      line-height: 1;
    }
    body.rep-house-page #productsGrid .rep-card-stock {
      display: inline-flex;
      align-items: center;
      gap: .25rem;
      padding: .12rem .45rem;
      border-radius: 999px;
      background: rgba(22,163,74,.10);
      color: #166534;
      font-weight: 900;
    }
    body.rep-house-page #productsGrid .rep-card-stock.is-out {
      background: rgba(220,38,38,.10);
      color: #991b1b;
    }
    body.rep-house-page #productsGrid .card-title {
      min-height: 2.3em;
      margin: .15rem auto .35rem;
      max-width: 96%;
      font-family: "Barlow", sans-serif;
      font-size: 1.04rem;
      font-weight: 900;
      line-height: 1.16;
      color: #111827;
    }
    body.rep-house-page #productsGrid .rep-card-notes {
      min-height: 2.55em;
      margin: 0 auto .45rem;
      max-width: 92%;
      color: #64748b;
      font-size: .78rem;
      line-height: 1.28;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    body.rep-house-page #productsGrid .product-units-line {
      font-size: .72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .05em;
    }
    body.rep-house-page #productsGrid .price {
      display: block;
      margin-top: auto;
      color: var(--parts-warning);
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: 1.45rem;
      font-weight: 900;
      line-height: 1;
    }
    body.rep-house-page #productsGrid .price-old {
      color: #94a3b8;
      font-size: .86rem;
    }
    body.rep-house-page #productsGrid .rep-card-footer {
      min-height: 50px;
      margin-top: .75rem;
      padding-top: .65rem;
      border-top: 1px solid rgba(15,23,42,.08);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .75rem;
    }
    body.rep-house-page #productsGrid .rep-card-footer > .small {
      color: #111827 !important;
      font-size: .74rem;
      text-transform: uppercase;
      letter-spacing: .08em;
    }
    body.rep-house-page #productsGrid .qty-controls {
      min-width: 158px;
      height: 42px;
      margin-top: 0 !important;
      padding: .25rem;
      border-radius: 999px;
      background: #eef2f7;
      border: 1px solid rgba(15,23,42,.08);
    }
    body.rep-house-page #productsGrid .qty-controls button {
      width: 34px;
      height: 34px;
      border-radius: 999px;
      font-weight: 900;
    }
    body.rep-house-page #productsGrid .qty-controls .btn-increase {
      min-width: 74px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .3rem;
      overflow: hidden;
    }
    body.rep-house-page #productsGrid .qty {
      min-width: 24px;
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: 1rem;
      font-weight: 900;
      color: #111827;
    }
    body.rep-house-page #productsGrid.catalog-view-compact .product-card {
      min-height: 334px;
    }
    body.rep-house-page #productsGrid.catalog-view-compact .product-image-wrapper {
      height: 142px;
      min-height: 142px;
    }
    body.rep-house-page #productsGrid.catalog-view-compact .product-image-wrapper img {
      height: 116px;
      max-width: 170px;
    }
    body.rep-house-page #productsGrid.catalog-view-compact .rep-card-notes,
    body.rep-house-page #productsGrid.catalog-view-compact .product-units-line {
      display: none;
    }
    body.rep-house-page #stickyFilters,
    body.rep-house-page #stickyFilters .category-sticky,
    body.rep-house-page .rep-house-category-row,
    body.rep-house-page #categoryPills {
      overflow: visible !important;
    }
    body.rep-house-page #stickyFilters {
      max-width: min(100% - 2rem, 1320px);
      margin: 1.15rem auto 2.1rem !important;
    }
    body.rep-house-page #stickyFilters .category-sticky {
      padding: 1.05rem 1.2rem 1.15rem !important;
      border-radius: 16px !important;
      position: relative !important;
      isolation: isolate;
      background:
        radial-gradient(circle at 8% 78%, rgba(15,23,42,.055) 0 58px, transparent 59px),
        radial-gradient(circle at 92% 18%, rgba(var(--primary-rgb,249,115,22),.10) 0 72px, transparent 73px),
        linear-gradient(135deg, rgba(248,250,252,.96) 0%, #ffffff 45%, rgba(255,247,237,.72) 100%) !important;
      box-shadow: 0 18px 44px rgba(15,23,42,.12) !important;
    }
    body.rep-house-page #stickyFilters .category-sticky::before,
    body.rep-house-page #stickyFilters .category-sticky::after {
      position: absolute;
      z-index: 0;
      font-family: "Material Symbols Rounded";
      font-weight: normal;
      line-height: 1;
      pointer-events: none;
      opacity: .55;
    }
    body.rep-house-page #stickyFilters .category-sticky > * {
      position: relative;
      z-index: 1;
    }
    body.rep-house-page #stickyFilters .category-sticky::before {
      content: "manage_search";
      left: 1.25rem;
      bottom: .35rem;
      font-size: 92px;
      color: rgba(15,23,42,.055);
      transform: rotate(-8deg);
    }
    body.rep-house-page #stickyFilters .category-sticky::after {
      content: "build_circle";
      right: 1.35rem;
      top: .75rem;
      font-size: 86px;
      color: rgba(var(--primary-rgb,249,115,22),.13);
      transform: rotate(10deg);
    }
    body.rep-house-page .rep-house-category-row {
      width: 100%;
      min-width: 0;
    }
    body.rep-house-page #categoryPills {
      width: 100%;
      min-width: 0;
      padding: .65rem .8rem .9rem !important;
      gap: .65rem !important;
    }
    body.rep-house-page #categoryPills .category-pill {
      margin: .12rem 0;
      box-shadow: 0 10px 22px rgba(15,23,42,.10) !important;
      transform: translateZ(0);
    }
    body.rep-house-page #categoryPills .category-pill.active {
      box-shadow: 0 14px 30px rgba(var(--primary-rgb,249,115,22),.26) !important;
    }
    body.rep-house-page #stickyFilters:not(.search-open) .category-actions {
      max-height: 0 !important;
      overflow: hidden !important;
      opacity: 0;
      pointer-events: none;
    }
    body.rep-house-page #stickyFilters.search-open .category-actions {
      max-height: 112px !important;
      overflow: visible !important;
      padding: .35rem .5rem .8rem;
      margin-top: .45rem;
    }
    body.rep-house-page .category-search-input {
      width: min(640px, 100%);
      max-width: 100%;
      box-sizing: border-box;
      position: relative;
    }
    body.rep-house-page #categorySearchInput {
      overflow: visible !important;
      border: 1px solid rgba(15,23,42,.10);
      border-radius: 14px !important;
      background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.94)) !important;
      box-shadow: 0 18px 40px rgba(15,23,42,.12) !important;
    }
    body.rep-house-page #categorySearchInput .search-left-icon,
    body.rep-house-page #categorySearchInput .icon-right {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 3;
      width: 34px;
      height: 34px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #111827;
    }
    body.rep-house-page #categorySearchInput .search-left-icon {
      left: .55rem;
      background: rgba(15,23,42,.06);
      color: var(--parts-warning);
    }
    body.rep-house-page #categorySearchInput .icon-right {
      right: .55rem;
      cursor: pointer;
      background: #111827;
      color: #fff;
      box-shadow: 0 10px 22px rgba(15,23,42,.18);
    }
    body.rep-house-page #categorySearchInput .search-left-icon .material-symbols-rounded,
    body.rep-house-page #categorySearchInput .icon-right .material-symbols-rounded {
      font-size: 20px;
    }
    body.rep-house-page #searchInput {
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
      padding-left: 3rem;
      padding-right: 3rem;
      text-align: left;
    }
    body.rep-house-page #loginModal .login-modal-dialog {
      max-width: min(92vw, 640px);
    }
    body.rep-house-page #loginModal .login-modal-content {
      position: relative;
      overflow: hidden;
      border-radius: 18px !important;
      border: 1px solid rgba(15,23,42,.10) !important;
      background:
        radial-gradient(circle at 92% 18%, rgba(var(--primary-rgb,249,115,22),.14) 0 78px, transparent 79px),
        radial-gradient(circle at 8% 88%, rgba(15,23,42,.08) 0 92px, transparent 93px),
        linear-gradient(145deg, #ffffff 0%, #f8fafc 56%, #fff7ed 100%);
      box-shadow: 0 28px 80px rgba(15,23,42,.28) !important;
    }
    body.rep-house-page #loginModal .login-modal-content::before,
    body.rep-house-page #loginModal .login-modal-content::after {
      position: absolute;
      font-family: "Material Symbols Rounded";
      line-height: 1;
      pointer-events: none;
      z-index: 0;
    }
    body.rep-house-page #loginModal .login-modal-content::before {
      content: "car_repair";
      right: 1.15rem;
      bottom: .65rem;
      font-size: 112px;
      color: rgba(15,23,42,.045);
      transform: rotate(-9deg);
    }
    body.rep-house-page #loginModal .login-modal-content::after {
      content: "";
      inset: 0 0 auto;
      height: 5px;
      background: linear-gradient(90deg, #111827, var(--parts-warning));
      z-index: 2;
    }
    body.rep-house-page #loginModal .login-modal-content > * {
      position: relative;
      z-index: 1;
    }
    body.rep-house-page #loginModal .login-modal-header {
      padding: 1.6rem 1.85rem 1rem;
      gap: 1rem;
    }
    body.rep-house-page #loginModal .login-title-block {
      min-width: 0;
    }
    body.rep-house-page #loginModal .login-modal-title {
      margin: 0;
      color: #111827;
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: clamp(1.55rem, 3vw, 2rem);
      line-height: 1;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    body.rep-house-page #loginModal .login-title-icon {
      width: 46px;
      height: 46px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      background: #111827;
      color: var(--parts-warning);
      box-shadow: 0 14px 28px rgba(15,23,42,.18);
    }
    body.rep-house-page #loginModal .login-modal-subtitle {
      margin: .55rem 0 0 3.7rem;
      max-width: 42ch;
      color: #64748b;
      font-size: .9rem;
      line-height: 1.35;
    }
    body.rep-house-page #loginModal .btn-close {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      margin: 0;
      background-color: rgba(15,23,42,.06);
      opacity: .82;
      box-shadow: none;
    }
    body.rep-house-page #loginModal .p-3 {
      padding: .25rem 1.85rem 1.65rem !important;
    }
    body.rep-house-page #loginModal .modal-body {
      padding: 1rem 0 .65rem;
    }
    body.rep-house-page #loginModal .form-group {
      margin-bottom: .9rem !important;
    }
    body.rep-house-page #loginModal .pro-input {
      min-height: 56px;
      border-radius: 14px;
      border: 1px solid rgba(15,23,42,.14);
      background: rgba(255,255,255,.94);
      color: #111827;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: .01em;
      padding: .78rem 3.3rem .78rem 1rem;
      box-shadow: 0 12px 26px rgba(15,23,42,.08);
      transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    body.rep-house-page #loginModal .pro-input:focus {
      border-color: rgba(var(--primary-rgb,249,115,22),.65);
      box-shadow: 0 0 0 4px rgba(var(--primary-rgb,249,115,22),.12), 0 18px 34px rgba(15,23,42,.12);
      transform: translateY(-1px);
    }
    body.rep-house-page #loginModal .pro-input::placeholder {
      color: #6b7280;
      font-weight: 500;
    }
    body.rep-house-page #loginModal .icon-right {
      position: absolute;
      right: .72rem;
      top: 50%;
      transform: translateY(-50%);
      width: 36px;
      height: 36px;
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(15,23,42,.06);
      color: var(--parts-warning);
      pointer-events: none;
    }
    body.rep-house-page #loginModal .icon-right .material-symbols-rounded {
      font-size: 21px;
    }
    body.rep-house-page #loginModal .login-helper,
    body.rep-house-page #loginModal #loginCountdown {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      color: #475569 !important;
      font-size: .9rem;
      font-weight: 600;
    }
    body.rep-house-page #loginModal .login-helper::before {
      content: "verified_user";
      font-family: "Material Symbols Rounded";
      color: var(--parts-warning);
      font-size: 18px;
      line-height: 1;
    }
    body.rep-house-page #loginModal #loginCountdown::before {
      content: "timer";
      font-family: "Material Symbols Rounded";
      color: var(--parts-warning);
      font-size: 17px;
      line-height: 1;
    }
    body.rep-house-page #loginModal .modal-footer {
      padding: 1rem 0 0;
      gap: .75rem;
    }
    body.rep-house-page #loginModal .btn {
      min-height: 46px;
      border-radius: 12px !important;
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: 1rem;
      font-weight: 900;
      letter-spacing: .03em;
      text-transform: uppercase;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .35rem;
      padding: .65rem 1rem;
    }
    body.rep-house-page #loginModal .btn-pro {
      background: var(--parts-warning);
      border-color: var(--parts-warning);
      color: #fff;
      box-shadow: 0 16px 32px rgba(var(--primary-rgb,249,115,22),.28);
    }
    body.rep-house-page #loginModal .btn-cancelar,
    body.rep-house-page #loginModal .btn-outline-primary {
      background: #fff;
      border: 1px solid rgba(15,23,42,.14);
      color: #111827;
      box-shadow: 0 10px 22px rgba(15,23,42,.08);
    }
    body.rep-house-page #loginModal .btn-outline-primary {
      color: var(--parts-warning);
      border-color: rgba(var(--primary-rgb,249,115,22),.32);
    }
    body.rep-house-page #loginStatus {
      border-radius: 12px;
      padding: .65rem .8rem;
      border: 1px solid rgba(15,23,42,.10);
      background: rgba(255,255,255,.76);
      font-weight: 700;
    }
    body.rep-house-page #productModal .modal-dialog {
      max-width: min(94vw, 980px);
    }
    body.rep-house-page #productModal .modal-content {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(15,23,42,.10);
      border-radius: 18px;
      background:
        radial-gradient(circle at 96% 12%, rgba(var(--primary-rgb,249,115,22),.13) 0 74px, transparent 75px),
        linear-gradient(145deg, #ffffff 0%, #f8fafc 58%, #fff7ed 100%);
      box-shadow: 0 28px 80px rgba(15,23,42,.28);
    }
    body.rep-house-page #productModal .modal-content::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 5px;
      background: linear-gradient(90deg, #111827, var(--parts-warning));
      z-index: 2;
    }
    body.rep-house-page #productModal .modal-header {
      padding: 1.35rem 1.55rem .95rem;
      background: transparent;
      border-bottom: 1px solid rgba(15,23,42,.08) !important;
    }
    body.rep-house-page #productModal #modalProductName {
      font-family: "Rajdhani", "Barlow", sans-serif;
      color: #111827;
      font-size: clamp(1.45rem, 3vw, 2.1rem);
      line-height: 1;
      letter-spacing: .02em;
      text-transform: uppercase;
    }
    body.rep-house-page #productModal .btn-close {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      background-color: rgba(15,23,42,.06);
      opacity: .82;
    }
    body.rep-house-page #productModal .product-detail-body {
      padding: 1.5rem;
    }
    body.rep-house-page #productModal .product-detail-body > .row {
      align-items: stretch;
    }
    body.rep-house-page #productModal .product-detail-media {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 330px;
      border-radius: 16px;
      border: 1px solid rgba(15,23,42,.08);
      background:
        radial-gradient(circle at 50% 50%, rgba(255,255,255,.96) 0 34%, transparent 35%),
        repeating-linear-gradient(90deg, rgba(15,23,42,.04) 0 1px, transparent 1px 22px),
        linear-gradient(180deg, #f8fafc, #e5e7eb);
      position: relative;
      overflow: hidden;
    }
    body.rep-house-page #productModal .product-detail-media::after {
      content: "build_circle";
      position: absolute;
      right: 1rem;
      bottom: .75rem;
      font-family: "Material Symbols Rounded";
      font-size: 72px;
      color: rgba(var(--primary-rgb,249,115,22),.13);
      transform: rotate(10deg);
      pointer-events: none;
    }
    body.rep-house-page #productModal #modalProductImage {
      max-height: 310px;
      width: min(100%, 430px);
      object-fit: contain;
      border-radius: 12px !important;
      background: #fff;
      padding: .75rem;
      box-shadow: 0 18px 34px rgba(15,23,42,.12) !important;
      position: relative;
      z-index: 1;
    }
    body.rep-house-page #productModal #modalProductPrice {
      margin: .15rem 0 1rem !important;
      color: var(--parts-warning);
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: clamp(2rem, 5vw, 2.75rem);
      font-weight: 900;
      line-height: 1;
    }
    body.rep-house-page #productModal #modalProductSections {
      display: grid;
      gap: .65rem;
    }
    body.rep-house-page #productModal #modalProductSections .mb-3 {
      margin-bottom: 0 !important;
      padding: .85rem .95rem;
      border-radius: 14px;
      border: 1px solid rgba(15,23,42,.08);
      background: rgba(255,255,255,.72);
      box-shadow: 0 10px 22px rgba(15,23,42,.06);
    }
    body.rep-house-page #productModal #modalProductSections h6 {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      margin: 0 0 .35rem;
      color: #111827 !important;
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: 1rem;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    body.rep-house-page #productModal #modalProductSections h6 .material-symbols-rounded {
      color: var(--parts-warning);
      font-size: 20px;
    }
    body.rep-house-page #productModal #modalProductSections p {
      margin: 0;
      color: #475569 !important;
      font-size: .95rem;
      line-height: 1.5;
    }
    body.rep-house-page #productModal .d-flex.align-items-center.justify-content-start {
      width: fit-content;
      padding: .28rem;
      border-radius: 999px;
      border: 1px solid rgba(15,23,42,.10);
      background: #eef2f7;
    }
    body.rep-house-page #productModal #btn-modal-decrease,
    body.rep-house-page #productModal #btn-modal-increase {
      width: 38px;
      height: 38px;
      border-radius: 999px;
      background: #fff;
      color: var(--parts-warning);
      border: 0;
      box-shadow: 0 10px 20px rgba(15,23,42,.10);
      font-weight: 900;
    }
    body.rep-house-page #productModal #modalQty {
      min-width: 34px;
      text-align: center;
      color: #111827;
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: 1.25rem !important;
    }
    body.rep-house-page #productModal #modalAddToCart {
      min-height: 52px;
      border-radius: 14px !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .45rem;
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-size: 1.12rem;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
      background: var(--parts-warning);
      border-color: var(--parts-warning);
      box-shadow: 0 18px 34px rgba(var(--primary-rgb,249,115,22),.25);
    }
    body.rep-house-page #productModal .modal-footer {
      padding: 1rem 1.5rem 1.3rem;
      border-top: 1px solid rgba(15,23,42,.08);
      background: rgba(255,255,255,.72);
    }
    body.rep-house-page #productModal .modal-footer .btn {
      min-height: 46px;
      border-radius: 12px;
      border-color: rgba(15,23,42,.14);
      background: #fff;
      color: #111827;
      font-family: "Rajdhani", "Barlow", sans-serif;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
      box-shadow: 0 10px 22px rgba(15,23,42,.08);
    }
    @media (min-width: 769px) and (max-width: 991.98px) {
      body.rep-house-page #productsGrid.catalog-view-grid .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
      }
      body.rep-house-page #productsGrid.catalog-view-compact .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
      }
    }
    @media (min-width: 992px) and (max-width: 1199.98px) {
      body.rep-house-page #productsGrid.catalog-view-grid .col-lg-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
      }
      body.rep-house-page #productsGrid.catalog-view-compact .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
      }
    }
    @media (min-width: 1200px) {
      body.rep-house-page #productsGrid.catalog-view-grid .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%;
      }
      body.rep-house-page #productsGrid.catalog-view-compact .col-xl-2 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
      }
    }
    @media (max-width: 768px) {
      body.rep-house-page #loginModal .login-modal-dialog {
        max-width: calc(100vw - 1rem);
        margin-inline: .5rem;
      }
      body.rep-house-page #loginModal .login-modal-content {
        border-radius: 16px !important;
      }
      body.rep-house-page #loginModal .login-modal-header {
        padding: 1.25rem 1rem .75rem;
        align-items: flex-start !important;
      }
      body.rep-house-page #loginModal .login-modal-title {
        font-size: 1.35rem;
        letter-spacing: .02em;
      }
      body.rep-house-page #loginModal .login-title-icon {
        width: 40px;
        height: 40px;
        border-radius: 10px;
      }
      body.rep-house-page #loginModal .login-modal-subtitle {
        margin-left: 0;
        font-size: .82rem;
      }
      body.rep-house-page #loginModal .p-3 {
        padding: .15rem 1rem 1.1rem !important;
      }
      body.rep-house-page #loginModal .pro-input {
        min-height: 50px;
        font-size: .95rem;
      }
      body.rep-house-page #loginModal .modal-footer {
        flex-direction: column;
        align-items: stretch !important;
      }
      body.rep-house-page #loginModal .modal-footer .btn,
      body.rep-house-page #loginModal .modal-footer > .d-flex {
        width: 100%;
      }
      body.rep-house-page #loginModal .modal-footer > .d-flex {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
      }
      body.rep-house-page #productModal .modal-dialog {
        max-width: calc(100vw - 1rem);
        margin-inline: .5rem;
      }
      body.rep-house-page #productModal .modal-header {
        padding: 1.1rem 1rem .8rem;
      }
      body.rep-house-page #productModal .product-detail-body {
        padding: 1rem;
      }
      body.rep-house-page #productModal .product-detail-body > .row {
        gap: .9rem !important;
      }
      body.rep-house-page #productModal .product-detail-media {
        min-height: 230px;
      }
      body.rep-house-page #productModal #modalProductImage {
        max-height: 220px;
      }
      body.rep-house-page #productModal #modalProductSections .mb-3 {
        padding: .75rem;
      }
      body.rep-house-page #productModal .d-flex.align-items-center.justify-content-start {
        width: 100%;
        justify-content: space-between !important;
      }
      body.rep-house-page #stickyFilters {
        max-width: calc(100% - 1rem);
        margin: .85rem auto 1.35rem !important;
      }
      body.rep-house-page #stickyFilters .category-sticky {
        padding: .85rem .7rem .95rem !important;
        border-radius: 14px !important;
      }
      body.rep-house-page #categoryPills {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto !important;
        overflow-y: visible !important;
        padding: .65rem .55rem .95rem !important;
        scroll-padding-inline: .55rem;
        -webkit-overflow-scrolling: touch;
      }
      body.rep-house-page #categoryPills .category-pill {
        flex: 0 0 auto;
      }
      body.rep-house-page #stickyFilters.search-open .category-actions {
        max-height: 104px !important;
        padding: .25rem .25rem .75rem;
      }
      body.rep-house-page #productsGrid .product-card {
        min-height: 330px;
      }
      body.rep-house-page #productsGrid .product-card-inner {
        padding: .55rem;
      }
      body.rep-house-page #productsGrid .product-image-wrapper {
        height: 142px;
        min-height: 142px;
        padding: .75rem;
      }
      body.rep-house-page #productsGrid .product-image-wrapper img {
        height: 114px;
        max-width: 155px;
      }
      body.rep-house-page #productsGrid .badge-preparado {
        left: .55rem !important;
        top: .55rem !important;
        padding: .36rem .55rem;
        font-size: .68rem;
      }
      body.rep-house-page #productsGrid .btn-detail {
        top: .55rem;
        right: .55rem;
        width: 34px;
        min-width: 34px;
        height: 34px;
        padding: 0;
      }
      body.rep-house-page #productsGrid .btn-detail::after {
        display: none;
      }
      body.rep-house-page #productsGrid .card-body {
        min-height: 178px;
        padding: .7rem .7rem .8rem;
      }
      body.rep-house-page #productsGrid .rep-card-topline,
      body.rep-house-page #productsGrid .rep-card-notes,
      body.rep-house-page #productsGrid .product-units-line {
        display: none;
      }
      body.rep-house-page #productsGrid .card-title {
        min-height: 2.45em;
        font-size: .9rem;
        line-height: 1.16;
        margin-top: .1rem;
      }
      body.rep-house-page #productsGrid .price {
        font-size: 1.22rem;
      }
      body.rep-house-page #productsGrid .rep-card-footer {
        flex-direction: column;
        align-items: stretch;
        gap: .45rem;
        margin-top: .55rem;
        padding-top: .55rem;
      }
      body.rep-house-page #productsGrid .qty-controls {
        width: 100%;
        min-width: 0;
        height: 40px;
        display: grid;
        grid-template-columns: 34px minmax(20px, 1fr) minmax(72px, 1.6fr);
        align-items: center;
        gap: .25rem;
      }
      body.rep-house-page #productsGrid .qty-controls .btn-increase {
        min-width: 0;
        width: 100%;
        white-space: normal;
        line-height: 1.02;
        font-size: 0;
        padding: 0 .35rem;
      }
      body.rep-house-page #productsGrid .qty-controls .btn-increase::after {
        content: "Agregar";
        font-size: .82rem;
        line-height: 1;
        white-space: nowrap;
      }
      body.rep-house-page #productsGrid .qty-controls .btn-decrease {
        width: 34px;
      }
      body.rep-house-page #productsGrid .qty {
        min-width: 20px;
      }
      body.rep-house-page #productsGrid.catalog-view-grid .product-card,
      body.rep-house-page #productsGrid.catalog-view-compact .product-card {
        min-height: 330px;
      }
      body.rep-house-page #productsGrid.catalog-view-grid > .col-12 {
        flex: 0 0 100%;
        max-width: 100%;
      }
      body.rep-house-page #productsGrid.catalog-view-compact > .col-6 {
        flex: 0 0 50%;
        max-width: 50%;
      }
    }

/* Extracted from _catalogoRepuestos.php: inline-head-style-6 */
.catalog-footer-dynamic{
  margin-top:4rem;
  background:#111827;
  color:#fff;
  padding:3rem 0;
}

.catalog-footer-benefits{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
  margin-bottom:2rem;
}

.catalog-footer-benefit-item{
  display:flex;
  gap:.8rem;
  background:rgba(255,255,255,.06);
  border-radius:14px;
  padding:1rem;
}

.catalog-footer-main{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:2rem;
}

.catalog-footer-columns{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1.5rem;
}

.catalog-footer-column ul{
  list-style:none;
  padding:0;
  margin:0;
}

.catalog-footer-column a{
  color:rgba(255,255,255,.75);
  text-decoration:none;
}

.catalog-footer-column a:hover{
  color:#fff;
}

.catalog-footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1rem;
}

.catalog-footer-social a{
  background:rgba(255,255,255,.08);
  padding:.4rem .8rem;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
}

@media(max-width:768px){

  .catalog-footer-main{
    grid-template-columns:1fr;
  }

}

/* ORDER SUMMARY ECOMMERCE POLISH */
body.rep-house-page #cartModal{
  --summary-bg:#f4f5f7;
  --summary-card:#ffffff;
  --summary-border:#dfe3ea;
  --summary-ink:#141a24;
  --summary-muted:#667085;
  --summary-soft:#f8fafc;
  --summary-primary:var(--rep-primary, #e11d48);
}

body.rep-house-page #cartModal .modal-dialog{
  width:min(640px, calc(100vw - 32px)) !important;
  max-width:640px !important;
  margin:28px 28px 28px auto !important;
}

body.rep-house-page #cartModal .modal-content{
  height:calc(100dvh - 56px) !important;
  max-height:920px !important;
  border-radius:28px !important;
  background:var(--summary-bg) !important;
  box-shadow:0 28px 80px rgba(15,23,42,.28) !important;
}

body.rep-house-page #cartModal .modal-header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:28px 30px 22px !important;
  border-bottom:1px solid rgba(17,24,39,.12) !important;
  background:var(--summary-bg) !important;
}

body.rep-house-page #cartModal .modal-header > .d-flex{
  min-width:0 !important;
  display:block !important;
}

body.rep-house-page #cartModal .modal-title{
  gap:0 !important;
  display:block !important;
  color:var(--summary-ink) !important;
  font-size:clamp(1.85rem, 3.4vw, 2.45rem) !important;
  font-weight:900 !important;
  line-height:1.05 !important;
}

body.rep-house-page #cartModal .modal-title::before{
  display:none !important;
}

body.rep-house-page #cartModal .cart-header-meta{
  display:block !important;
  margin-top:16px !important;
}

body.rep-house-page #cartModal .cart-header-pill{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--summary-ink) !important;
  font-size:1.06rem !important;
  font-weight:500 !important;
}

body.rep-house-page #cartModal .cart-header-pill::before{
  content:"shopping_cart";
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#fff;
  color:var(--summary-primary);
  font-family:"Material Symbols Rounded";
  font-size:18px;
  box-shadow:0 6px 18px rgba(15,23,42,.08);
}

body.rep-house-page #cartModal .cart-sync-badge{
  display:none !important;
}

body.rep-house-page #cartModal .cart-modal-close,
body.rep-house-page #cartModal .btn-close{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid var(--summary-border) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--summary-ink) !important;
  font-size:1.45rem !important;
  line-height:1 !important;
  box-shadow:0 10px 26px rgba(15,23,42,.08) !important;
}

body.rep-house-page #cartModal .modal-body{
  padding:22px 30px 0 !important;
  background:var(--summary-bg) !important;
}

body.rep-house-page #cartModal #cartItems{
  gap:14px !important;
  padding:0 !important;
}

body.rep-house-page #cartModal .cart-item{
  grid-template-columns:88px minmax(0, 1fr) auto !important;
  gap:18px !important;
  padding:18px !important;
  border:1px solid var(--summary-border) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.rep-house-page #cartModal .cart-item:hover{
  border-color:#cbd5e1 !important;
  box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
}

body.rep-house-page #cartModal .cart-item img{
  width:88px !important;
  height:88px !important;
  min-width:88px !important;
  border-radius:14px !important;
  border:1px solid #e6eaf0 !important;
  background:#f1f5f9 !important;
}

body.rep-house-page #cartModal .cart-item h6,
body.rep-house-page #cartModal .cart-item .fw-bold:not(.text-primary){
  margin-bottom:6px !important;
  color:#070b12 !important;
  font-size:1.02rem !important;
  font-weight:850 !important;
  line-height:1.22 !important;
}

body.rep-house-page #cartModal .cart-item .text-muted,
body.rep-house-page #cartModal .cart-item small,
body.rep-house-page #cartModal .cart-item .small{
  color:#6b7280 !important;
  font-size:.88rem !important;
  line-height:1.35 !important;
}

body.rep-house-page #cartModal .cart-item .text-primary,
body.rep-house-page #cartModal .cart-item .fw-bold.text-primary{
  color:#111827 !important;
}

body.rep-house-page #cartModal .cart-item > .text-end,
body.rep-house-page #cartModal .cart-item > .d-flex:last-child{
  min-width:150px !important;
  padding:0 42px 0 0 !important;
  align-self:stretch !important;
  display:grid !important;
  align-content:space-between !important;
  justify-items:end !important;
  gap:12px !important;
}

body.rep-house-page #cartModal .cart-item .d-flex.align-items-center.mt-2,
body.rep-house-page #cartModal .cart-item > .d-flex:last-child{
  border:0 !important;
  background:transparent !important;
}

body.rep-house-page #cartModal .cart-item .btn-cart-decrease,
body.rep-house-page #cartModal .cart-item .btn-cart-increase{
  width:32px !important;
  height:32px !important;
  border:1px solid #d8dee8 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#111827 !important;
}

body.rep-house-page #cartModal .cart-qty-value{
  min-width:30px !important;
  color:#111827 !important;
  font-size:.95rem !important;
  font-weight:900 !important;
}

body.rep-house-page #cartModal .qty-edit-icon{
  display:none !important;
}

body.rep-house-page #cartModal .cart-item .btn-outline-danger{
  top:14px !important;
  right:14px !important;
  width:32px !important;
  height:32px !important;
  border-radius:999px !important;
}

body.rep-house-page #cartModal .rep-cart-products-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  padding:18px 0 0 !important;
}

body.rep-house-page #cartModal .rep-cart-back-products{
  grid-column:1 / -1 !important;
  min-height:48px !important;
  border:1px solid var(--summary-border) !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#111827 !important;
  font-weight:850 !important;
}

body.rep-house-page #cartModal .rep-cart-clear-products{
  min-height:48px !important;
  border:1px solid #fecaca !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#b91c1c !important;
  font-weight:850 !important;
}

body.rep-house-page #cartModal .rep-cart-continue-checkout{
  min-height:48px !important;
  margin:0 !important;
  border-radius:14px !important;
}

body.rep-house-page #cartModal .modal-footer{
  display:block !important;
  padding:18px 30px 28px !important;
  border-top:0 !important;
  background:var(--summary-bg) !important;
}

body.rep-house-page #cartModal .cart-collapse-toggle-wrap{
  margin:0 0 12px !important;
}

body.rep-house-page #cartModal .cart-collapse-toggle{
  width:100% !important;
  min-height:46px !important;
  justify-content:center !important;
  border:1px solid var(--summary-border) !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#111827 !important;
  font-weight:850 !important;
}

body.rep-house-page #cartModal #checkoutCollapsibleBlock{
  padding:18px !important;
  border:1px solid var(--summary-border) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.rep-house-page #cartModal .checkout-block-title{
  margin:0 0 12px !important;
  color:#111827 !important;
  font-size:1.02rem !important;
  font-weight:900 !important;
}

body.rep-house-page #cartModal #couponContainer{
  margin:0 0 18px !important;
  padding:0 0 18px !important;
  border-bottom:1px solid var(--summary-border) !important;
}

body.rep-house-page #cartModal .coupon-tools-row{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  gap:10px !important;
}

body.rep-house-page #cartModal #couponContainer .input-group{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  border:1px solid var(--summary-border) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#fff !important;
}

body.rep-house-page #cartModal #couponCode{
  min-height:48px !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 14px !important;
}

body.rep-house-page #cartModal #couponContainer .btn-outline-primary{
  min-width:92px !important;
  border:0 !important;
  border-left:1px solid var(--summary-border) !important;
  border-radius:0 !important;
  background:#fff !important;
  color:var(--summary-primary) !important;
  font-weight:900 !important;
}

body.rep-house-page #cartModal #clearCartBtn{
  width:48px !important;
  min-width:48px !important;
  height:48px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:14px !important;
}

body.rep-house-page #cartModal #clearCartBtn .clear-cart-text{
  display:none !important;
}

body.rep-house-page #cartModal #checkoutFloatingWrap{
  margin:18px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
}

body.rep-house-page #cartModal #checkoutFooter{
  padding:22px !important;
  border:1px solid var(--summary-border) !important;
  border-radius:22px !important;
  background:#fff !important;
  color:#111827 !important;
  box-shadow:none !important;
}

body.rep-house-page #cartModal .checkout-mini-row,
body.rep-house-page #cartModal .checkout-total-row{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  margin:0 !important;
  padding:8px 0 !important;
  color:#111827 !important;
  font-size:1rem !important;
}

body.rep-house-page #cartModal .checkout-mini-row span,
body.rep-house-page #cartModal .checkout-mini-row strong{
  color:#111827 !important;
  font-size:1rem !important;
  font-weight:700 !important;
}

body.rep-house-page #cartModal .checkout-mini-row.discount strong{
  color:#16a34a !important;
}

body.rep-house-page #cartModal .checkout-total-row{
  margin-top:10px !important;
  padding-top:18px !important;
  border-top:1px solid var(--summary-border) !important;
}

body.rep-house-page #cartModal .checkout-total-row span:first-child{
  color:#4b5563 !important;
  font-size:1.5rem !important;
  font-weight:900 !important;
}

body.rep-house-page #cartModal .checkout-total-row span:last-child,
body.rep-house-page #cartModal #cartTotal{
  color:#111827 !important;
  font-size:clamp(2rem, 4vw, 2.75rem) !important;
  font-weight:950 !important;
  line-height:1 !important;
}

body.rep-house-page #cartModal #checkoutBtn{
  min-height:56px !important;
  margin-top:18px !important;
  border-radius:16px !important;
  background:var(--summary-primary) !important;
  color:#fff !important;
  font-size:1rem !important;
  font-weight:950 !important;
}

@media(min-width:769px) and (max-width:1180px){
  body.rep-house-page #cartModal .modal-dialog{
    width:min(620px, calc(100vw - 44px)) !important;
    margin:22px auto !important;
  }

  body.rep-house-page #cartModal .modal-content{
    height:calc(100dvh - 44px) !important;
  }
}

@media(max-width:768px){
  body.rep-house-page #cartModal .modal-dialog{
    width:100% !important;
    height:100% !important;
    margin:0 !important;
  }

  body.rep-house-page #cartModal .modal-content{
    height:100dvh !important;
    border-radius:0 !important;
  }

  body.rep-house-page #cartModal .modal-header{
    padding:22px 18px 16px !important;
  }

  body.rep-house-page #cartModal .modal-title{
    font-size:1.8rem !important;
  }

  body.rep-house-page #cartModal .cart-header-pill{
    font-size:.98rem !important;
  }

  body.rep-house-page #cartModal .modal-body{
    padding:16px 14px 0 !important;
  }

  body.rep-house-page #cartModal .cart-item{
    grid-template-columns:72px minmax(0, 1fr) !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:16px !important;
  }

  body.rep-house-page #cartModal .cart-item img{
    width:72px !important;
    height:72px !important;
    min-width:72px !important;
  }

  body.rep-house-page #cartModal .cart-item > .text-end,
  body.rep-house-page #cartModal .cart-item > .d-flex:last-child{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
    padding:8px 0 0 !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
  }

  body.rep-house-page #cartModal .rep-cart-products-actions{
    grid-template-columns:1fr !important;
  }

  body.rep-house-page #cartModal .modal-footer{
    padding:14px 14px 20px !important;
  }

  body.rep-house-page #cartModal .coupon-tools-row{
    grid-template-columns:1fr !important;
  }

  body.rep-house-page #cartModal #clearCartBtn{
    width:100% !important;
  }

  body.rep-house-page #cartModal #clearCartBtn .clear-cart-text{
    display:inline !important;
  }

  body.rep-house-page #cartModal #checkoutFooter{
    padding:18px !important;
    border-radius:18px !important;
  }

  body.rep-house-page #cartModal .checkout-total-row span:first-child{
    font-size:1.25rem !important;
  }

  body.rep-house-page #cartModal .checkout-total-row span:last-child,
  body.rep-house-page #cartModal #cartTotal{
    font-size:2rem !important;
  }
}

/* ORDER SUMMARY STRUCTURE CORRECTION */
body.rep-house-page #cartModal .cart-item{
  grid-template-columns:minmax(0, 1fr) auto !important;
}

body.rep-house-page #cartModal .cart-item > .d-flex:first-child{
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:88px minmax(0, 1fr) !important;
  align-items:center !important;
  gap:18px !important;
}

body.rep-house-page #cartModal .cart-item > .d-flex:first-child img{
  margin-right:0 !important;
}

body.rep-house-page #cartModal .cart-item > .d-flex:first-child > div{
  min-width:0 !important;
}

@media(max-width:768px){
  body.rep-house-page #cartModal .cart-item{
    grid-template-columns:1fr !important;
  }

  body.rep-house-page #cartModal .cart-item > .d-flex:first-child{
    grid-template-columns:72px minmax(0, 1fr) !important;
    gap:12px !important;
  }
}

/* Product media: white professional canvas */
body.rep-house-page #productsGrid .product-card .product-image-wrapper,
body.rep-house-page #productsGrid.catalog-view-grid .product-card .product-image-wrapper,
body.rep-house-page #productsGrid.catalog-view-compact .product-card .product-image-wrapper{
  background:#fff !important;
  border-color:rgba(15,23,42,.06) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9) !important;
}

body.rep-house-page #productsGrid .product-card .product-image-wrapper::before,
body.rep-house-page #productsGrid .product-card .product-image-wrapper::after,
body.rep-house-page #productsGrid.catalog-view-grid .product-card .product-image-wrapper::before,
body.rep-house-page #productsGrid.catalog-view-grid .product-card .product-image-wrapper::after,
body.rep-house-page #productsGrid.catalog-view-compact .product-card .product-image-wrapper::before,
body.rep-house-page #productsGrid.catalog-view-compact .product-card .product-image-wrapper::after{
  content:none !important;
  display:none !important;
}

body.rep-house-page #productsGrid .product-card .product-image-wrapper img,
body.rep-house-page #productsGrid.catalog-view-grid .product-card .product-image-wrapper img,
body.rep-house-page #productsGrid.catalog-view-compact .product-card .product-image-wrapper img{
  filter:none !important;
}

/* Floating quick actions */
body.rep-house-page .rep-whatsapp-float,
body.rep-house-page #toTop.rep-to-top-float{
  position:fixed;
  bottom:calc(22px + env(safe-area-inset-bottom, 0px));
  z-index:1070;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:56px;
  padding:0 18px 0 15px;
  border-radius:999px;
  color:#fff;
  background:#25d366;
  text-decoration:none;
  font-family:'Barlow', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 16px 36px rgba(37,211,102,.34), 0 4px 10px rgba(15,23,42,.16);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

body.rep-house-page .rep-whatsapp-float{
  left:22px;
}

body.rep-house-page #toTop.rep-to-top-float{
  right:22px !important;
  left:auto !important;
  width:56px !important;
  min-width:56px !important;
  height:56px !important;
  min-height:56px !important;
  padding:0 !important;
  border:0 !important;
  background:var(--primary,#c8bb00) !important;
  color:#fff !important;
  font-size:0 !important;
  line-height:1 !important;
}

body.rep-house-page #toTop.rep-to-top-float{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
}

body.rep-house-page.rep-show-to-top #toTop.rep-to-top-float{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

body.rep-house-page .rep-whatsapp-float:hover,
body.rep-house-page .rep-whatsapp-float:focus,
body.rep-house-page #toTop.rep-to-top-float:hover,
body.rep-house-page #toTop.rep-to-top-float:focus{
  color:#fff;
  transform:translateY(-2px);
}

body.rep-house-page:not(.rep-show-to-top) #toTop.rep-to-top-float:hover,
body.rep-house-page:not(.rep-show-to-top) #toTop.rep-to-top-float:focus{
  transform:translateY(10px);
}

body.rep-house-page .rep-whatsapp-float:hover,
body.rep-house-page .rep-whatsapp-float:focus{
  background:#1fbd5a;
  box-shadow:0 20px 42px rgba(37,211,102,.40), 0 6px 14px rgba(15,23,42,.18);
}

body.rep-house-page #toTop.rep-to-top-float:hover,
body.rep-house-page #toTop.rep-to-top-float:focus{
  background:var(--primary,#c8bb00) !important;
  box-shadow:0 20px 42px rgba(15,23,42,.24), 0 6px 14px rgba(15,23,42,.18) !important;
}

body.rep-house-page .rep-whatsapp-float svg{
  width:28px;
  height:28px;
  flex:0 0 auto;
}

body.rep-house-page #toTop.rep-to-top-float .material-symbols-rounded{
  font-size:30px;
  line-height:1;
  color:inherit;
}

body.rep-house-page.modal-open .rep-whatsapp-float,
body.rep-house-page.modal-open #toTop.rep-to-top-float{
  display:none !important;
}

@media(max-width:768px){
  body.rep-house-page .rep-whatsapp-float,
  body.rep-house-page #toTop.rep-to-top-float{
    left:16px;
    bottom:calc(16px + env(safe-area-inset-bottom, 0px));
    width:58px;
    min-width:58px;
    height:58px;
    min-height:58px;
    padding:0;
    border-radius:999px;
  }

  body.rep-house-page #toTop.rep-to-top-float{
    right:16px !important;
    left:auto !important;
  }

  body.rep-house-page.cart-has-items .rep-whatsapp-float,
  body.rep-house-page.cart-has-items #toTop.rep-to-top-float{
    bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  }

  body.rep-house-page .rep-whatsapp-float span{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
  }
}
