*,
*::before,
*::after{
  margin:0;
  padding:0;
  box-sizing:border-box;
  scrollbar-width:thin;
  scrollbar-color:#d71920 #efeff1;
}

:root{
  --bg:#fff;
  --fg:#111;
  --border:rgba(0,0,0,.10);
  --accent:#d71920;

  --cat-header-gap:100px;
  --cat-sidebar-w:340px;
  --cat-gap:14px;
  --cat-gutter:12px;

  --cat-pin-size:38px;
  --cat-mobilebar-h:132px;

  --cat-selected-color:#111;
}

html,body{
  font-family:'Montserrat',Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--fg);
  min-height:100vh;
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
  scroll-behavior:smooth;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

@supports (overflow-x: clip){
  html,body{ overflow-x:clip !important; }
}

::-webkit-scrollbar{ width:8px; background:#efeff1; }
::-webkit-scrollbar-thumb{ background:#d71920; border-radius:10px; border:2px solid #efeff1; }
::-webkit-scrollbar-thumb:hover{ background:#a90f14; }




#catalogo img,
#lightbox img,
.product-thumb img,
.lb-img,
.lb-thumb img,
.lb-wm{
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none; 
}


#lightbox .lb-stage,
#lightbox .lb-media,
#lightbox .lb-strip,
#lightbox .lb-thumb,
#lightbox .lb-btn,
#lightbox .lb-buy,
#lightbox .lb-dd-trigger,
#lightbox .lb-dd-item{
  pointer-events: auto;
}


#catalogo .product-card,
#catalogo .product-thumb,
#catalogo .product-cod,
#catalogo .card-price{
  -webkit-user-select: none;
  user-select: none;
}


#lightbox .lb-strip{
  -webkit-user-select: none;
  user-select: none;
}


.product-thumb::before{
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5; 
  background: transparent;
  pointer-events: auto; 
  -webkit-user-select: none;
  user-select: none;
}


#rdx-protect-toast{
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: rgba(0,0,0,.88);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  z-index: 99999999;
  pointer-events: none;
  opacity: 0;
  transition: opacity .22s ease, transform .22s ease;
  white-space: nowrap;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}



body.cat-page{
  --cat-header-gap:100px;
}

.cat-main{
  padding-bottom:54px;
  overflow-x:hidden;
  min-height:calc(100vh - var(--cat-header-gap));
}

@media (max-width:700px){
  .cat-main{ padding-bottom:32px; }
}

.cat-shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:16px 12px 0;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  position:relative;
  min-width:0;
  overflow-x:hidden;
}

.cat-content,
.embedshop-section,
#catalogo,
.catalogo{
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}

#cat-footer-spacer{
  width:100%;
  background:#fff;
  height:0px;
  display:block;
}

.cat-mobile-toggle{
  display:none;
}

@media (max-width:980px){
  body.cat-page{ --cat-header-gap:92px; }

  .cat-shell{ padding-top:12px; }

  .cat-main{
    padding-bottom:calc(14px + var(--cat-mobilebar-h) + env(safe-area-inset-bottom));
  }

  .cat-mobile-toggle{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    width:100%;
    margin:0;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:10014;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    background:rgba(0,0,0,.86);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    border-top:1px solid rgba(255,255,255,.14);
  }

  .cat-mobile-current{
    width:100%;
    max-width:640px;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border-radius:12px;
    margin:0 auto;
    text-transform:uppercase;
    padding:8px 10px 6px;
  }

  .cat-mobile-stack{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    min-width:0;
  }

  .cat-mobile-label{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:900;
    letter-spacing:.06em;
    font-size:12px;
    line-height:1.1;
  }

  .cat-mobile-sub{
    font-weight:900;
    letter-spacing:.08em;
    font-size:10px;
    opacity:.92;
    line-height:1.1;
    font-variant-numeric:tabular-nums;
    font-feature-settings:"tnum" 1;
  }

  .cat-mobile-chev{
    width:16px;
    height:16px;
    display:block;
    stroke:#fff;
    stroke-width:2.4;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.9;
    flex:0 0 auto;
  }

  .cat-mobile-color{
    width:100%;
    max-width:640px;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border-radius:12px;
    margin:0 auto;
    text-transform:uppercase;
    padding:8px 10px;
    border-top:1px solid rgba(255,255,255,.10);
  }

  .cat-mobile-color-left{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:900;
    letter-spacing:.06em;
    font-size:12px;
    min-width:0;
  }

  .cat-mobile-icon{
    width:18px;
    height:18px;
    display:block;
    stroke:#fff;
    stroke-width:2.2;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.95;
    flex:0 0 auto;
  }

  .cat-mobile-color-current{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:900;
    letter-spacing:.06em;
    font-size:11px;
    opacity:.95;
    flex:0 0 auto;
    white-space:nowrap;
  }

  .cat-color-swatch{
    width:14px;
    height:14px;
    border-radius:5px;
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 0 0 1px rgba(0,0,0,.25) inset;
    background:var(--cat-selected-color, #000);
    flex:0 0 auto;
  }

  .cat-mobile-banner{
    width:100%;
    max-width:640px;
    margin:0 auto;
  }

  .cat-mobile-current:active,
  .cat-mobile-color:active{ transform:translateY(1px); }

  .cat-mobile-current:focus-visible,
  .cat-mobile-color:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
  }

  body.cat-nav-open{ overflow:hidden; }
}

.cat-sidebar{
  background:#000;
  border-right:1px solid var(--border);
  position:relative;
  text-align:center;
  z-index:120000;
}

.cat-sidebar-scroll{
  height:100%;
  width:100%;
}

@media (min-width:981px){
  .cat-shell{
    padding-top:calc(var(--cat-header-gap) + var(--cat-gap));
    padding-left:calc(var(--cat-sidebar-w) + var(--cat-gutter));
  }

  .cat-sidebar{
    position:fixed;
    left:0;
    top:calc(var(--cat-header-gap) + var(--cat-gap));
    width:var(--cat-sidebar-w);
    height:calc(100vh - (var(--cat-header-gap) + var(--cat-gap)));
    overflow:visible;
    transition:transform .18s ease;
    will-change:transform;
  }

  .cat-sidebar-scroll{
    height:100%;
    overflow:auto;
    padding:16px 14px 16px;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    display:flex;
    flex-direction:column;
  }

  html.cat-sidebar-collapsed .cat-shell{
    padding-left:calc(24px + var(--cat-gutter));
  }

  html.cat-sidebar-collapsed .cat-sidebar{
    transform:translateX(calc(-100% + 24px));
  }
}

@media (max-width:980px){
  .cat-sidebar{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:min(86vw,360px);
    z-index:10020;
    overflow:auto;
    padding:16px 14px 14px;
    transform:translateX(-102%);
    transition:transform .18s ease;
    border-right:1px solid rgba(255,255,255,.14);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .cat-sidebar-scroll{
    height:auto;
    overflow:visible;
    padding:0;
  }

  body.cat-nav-open .cat-sidebar{ transform:translateX(0); }
}

.cat-overlay{ display:none; }

@media (max-width:980px){
  .cat-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.62);
    z-index:10015;
    display:none;
  }
  body.cat-nav-open .cat-overlay{ display:block; }
}

.cat-sidebar-close{ display:none; }

@media (max-width:980px){
  .cat-sidebar-close{
    display:inline-flex;
    position:absolute;
    top:10px;
    right:10px;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    background:transparent;
    color:#fff;
    border-radius:12px;
    font-weight:900;
    cursor:pointer;
    z-index:10030;
  }
}

.cat-sidebar-pin{ display:none; }

@media (min-width:981px){
  .cat-sidebar-pin{
    display:grid;
    place-items:center;
    position:fixed;
    width:var(--cat-pin-size);
    height:var(--cat-pin-size);
    border:1px solid rgba(0,0,0,.28);
    background:#fff;
    border-radius:999px;
    cursor:pointer;
    z-index:200000;
    box-shadow:0 12px 28px rgba(0,0,0,.55);
    user-select:none;
    transform:translate(-50%,-50%);
  }

  .cat-sidebar-pin:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
  }

  .cat-sidebar-pin .pin-svg{
    width:18px;
    height:18px;
    display:block;
    stroke:#000;
    stroke-width:2.8;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
    transform-origin:50% 50%;
  }

  html.cat-sidebar-collapsed .cat-sidebar-pin .pin-svg{
    transform:rotate(180deg);
  }
}

.catalogo-disclaimer{
  font-size:13px;
  font-weight:700;
  letter-spacing:.10em;
  color:#ffffff2b;
  margin:6px 0 10px;
  text-transform:uppercase;
  font-style:italic;
}

.titulo-con-linea{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0 0 10px;
  width:100%;
}

.titulo-con-linea .linea{
  flex:1;
  height:2px;
  border-radius:2px;
  opacity:.16;
  min-width:18px;
  max-width:52px;
  background:#fff;
}

.titulo-moto-xl{
  font-size:clamp(18px, 1.6vw, 24px);
  font-weight:900;
  line-height:1.12;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-align:center;
}

.catalogo-desc-general{
  color:#fff;
  font-size:14px;
  font-weight:600;
  margin:10px 0 10px;
  line-height:1.45;
  text-align:center;
  text-transform:uppercase;
}

.catalogo-desc-general .mayus-modelo{
  font-style:italic;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#ff3225;
}

.linea-animada{
  height:1.5px;
  width:100%;
  background:#4b4b4b;
  opacity:.20;
  margin:10px auto 10px;
  border-radius:1px;
  max-width:220px;
}

.cat-mega{
  width:100%;
  text-align:left;
  padding-top:4px;
  padding-bottom:6px;
}

.mega-group{
  width:100%;
  padding:6px 0;
  border-top:1px solid rgba(255,255,255,.10);
}
.mega-group:first-child{ border-top:0; }

.mega-trigger{
  appearance:none;
  width:100%;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.90);
  cursor:pointer;
  padding:6px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-transform:uppercase;
}

.mega-title{
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.mega-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.mega-trigger .chev{
  font-size:13px;
  line-height:1;
  opacity:.85;
}

.mega-trigger:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:8px;
}

.mega-panel{
  padding:6px 0 2px;
}

.mega-text-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-left:10px;
}

.mega-text-item,
.mega-text-link{
  appearance:none;
  border:0;
  background:transparent;
  padding:2px 0;
  margin:0;
  text-align:left;
  color:rgba(255,255,255,.88);
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  text-decoration:none;
  line-height:1.25;
  text-transform:uppercase;
}

.mega-text-link{ display:block; }

.cat-sidebar .mega-trigger:hover,
.cat-sidebar .mega-trigger:hover .mega-title,
.cat-sidebar .mega-text-item:hover,
.cat-sidebar .mega-text-link:hover,
.cat-sidebar .filters button:hover,
.cat-sidebar .filters a:hover,
.cat-sidebar .filters [role="button"]:hover{
  color:var(--accent) !important;
  text-decoration-color:var(--accent) !important;
}

.cat-sidebar .mega-text-item:hover,
.cat-sidebar .mega-text-link:hover,
.cat-sidebar .filters button:hover,
.cat-sidebar .filters a:hover,
.cat-sidebar .filters [role="button"]:hover{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.mega-text-item:focus-visible,
.mega-text-link:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:8px;
}

.mega-text-item--static{
  opacity:.65;
  cursor:default;
  pointer-events:none;
  text-decoration:none !important;
}

.mega-text-item.is-active,
.mega-text-link.is-active,
.mega-text-item[aria-pressed="true"],
.mega-text-link[aria-current="page"]{
  color:var(--accent);
  font-weight:900;
  text-decoration:none;
}

.cat-mega .mega-designs.filters{
  width:100%;
}

.cat-mega .mega-designs.filters button,
.cat-mega .mega-designs.filters a,
.cat-mega .mega-designs.filters [role="button"]{
  appearance:none;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  padding:2px 0 !important;
  margin:0 !important;
  width:100%;
  text-align:left !important;
  color:rgba(255,255,255,.88) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
  line-height:1.25 !important;
}

.mega-trigger[data-mega="designs"]{
  scroll-margin-top:16px;
}

.cat-side-banner{
  margin-top:auto;
  padding-top:10px;
}

.cat-banner{
  width:100%;
  background:var(--accent);
  color:#fff;
  border-radius:12px;
  padding:6px 10px;
  text-align:center;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:10px;
  line-height:1.15;
  border:1px solid rgba(0,0,0,.25);
}

.cat-banner-line{ display:block; }

[data-cat-banner]{
  transition:opacity .22s ease, transform .22s ease;
}

[data-cat-banner].is-fading{
  opacity:.62;
  transform:translateY(1px);
}

@media (min-width:981px){
  .cat-side-banner{
    position:sticky;
    bottom:0;
    padding-top:12px;
    background:linear-gradient(to top, rgba(0,0,0,.92), rgba(0,0,0,0));
  }
  .cat-banner{
    border-radius:10px;
    font-size:10px;
  }
}

@media (max-width:700px){
  .catalogo-desc-general{ font-size:13px; }
  .mega-text-list{ padding-left:8px; }
  .cat-banner{ font-size:10px; }
}

@media (prefers-reduced-motion: reduce){
  *{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
  [data-cat-banner]{ transition:none !important; }
}

#cat-desktop-count,
#cat-mobile-count{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  letter-spacing:.04em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.2ch;
  text-align:center;
}

.mega-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.6ch;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  line-height:1;
}

@media (max-width:980px){
  .cat-mobile-sub{ opacity:.86; }
}
