/* =========================================================================
   Solinco Mexico - hoja de estilo del sitio
   Sigue el lenguaje visual de solincosports.com: negro, mayusculas
   condensadas, imagen a sangre y un rojo que solo aparece donde hay que
   hacer clic. El rojo es acento, no decoracion: si se usa en todos lados
   deja de llamar la atencion, que es justo para lo que sirve.
   ========================================================================= */

/* ---------- TIPOGRAFIAS (inicio) ----------
   Las dos familias de la marca, servidas desde aqui. United Sans es la
   condensada de los titulos; Geomanist es la del texto corrido.
   font-display:swap para que el texto se lea aunque la fuente tarde:
   una portada muda mientras baja una fuente es una portada perdida.       */
@font-face{font-family:"United Sans";src:url("../fonts/united-sans-heavy.otf") format("opentype");
           font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"United Sans";src:url("../fonts/united-sans-bold.otf") format("opentype");
           font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Geomanist";src:url("../fonts/geomanist-regular.woff2") format("woff2");
           font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Geomanist";src:url("../fonts/geomanist-bold.woff2") format("woff2");
           font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Geomanist";src:url("../fonts/5094Geomanist-medium.woff2") format("woff2");
           font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Geomanist";src:url("../fonts/2781Geomanist-light.woff2") format("woff2");
           font-weight:300;font-style:normal;font-display:swap}
/* ---------- TIPOGRAFIAS (fin) ---------- */

:root{
  --negro:#000;
  --carbon:#0d0d0d;
  --humo:#141414;
  --linea:#262626;
  --papel:#fff;
  --gris:#9a9a9a;
  --gris-claro:#d4d4d4;
  --rojo:#ec1c24;
  --rojo-vivo:#ff2f38;
  /* El verde del Hyper-G. Solo para destacar un apartado de la
     cabecera; no es un color de fondo general. */
  --verde-hyper:#b2e51e;
  --ancho:1400px;
  --alto-barra:38px;
  --alto-cabecera:76px;
  --tipo:"United Sans","Oswald","Arial Narrow",Impact,sans-serif;
  --tipo-texto:"Geomanist",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}

/* El navegador esconde lo que trae el atributo hidden con una regla suya,
   [hidden]{display:none}. Pero cualquier regla NUESTRA que use clase le gana
   por especificidad: .jugador-ficha{display:flex} pisaba ese display:none, y
   las fichas seguian a la vista aunque el filtro ya las hubiera marcado como
   ocultas. Por eso "los filtros no funcionaban": si trabajaban, pero no se
   notaba. Esta linea lo cierra para todo el sitio: roster, catalogo y
   noticias filtran de verdad. */
[hidden]{display:none!important}

html{scroll-behavior:smooth}
body{
  margin:0;background:var(--negro);color:var(--papel);
  font-family:var(--tipo-texto);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.envoltura{max-width:var(--ancho);margin:0 auto;padding:0 24px}

/* ---------- BARRA BLANCA SUPERIOR (inicio) ---------- */
.barra-uni{
  background:var(--papel);color:#111;height:var(--alto-barra);
  display:flex;align-items:center;gap:18px;padding:0 20px;overflow:hidden;
}
.barra-uni .leyenda{
  font-family:var(--tipo);text-transform:uppercase;letter-spacing:.14em;
  font-size:11px;font-weight:700;white-space:nowrap;flex:none;color:#111;
}
.barra-uni .correo{
  font-size:11px;letter-spacing:.06em;white-space:nowrap;flex:none;
  color:#555;text-transform:lowercase;
}
.barra-uni .correo:hover{color:var(--rojo)}
/* min-width:0 no es adorno: sin el, un hijo de flex NO se encoge por debajo
   del ancho de su contenido, y el desfile de 26 logos (2112px) empuja la
   pagina entera a lo ancho en el celular. Con overflow:hidden no basta. */
.pista{flex:1;min-width:0;overflow:hidden;position:relative;height:100%;
       -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
               mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pista ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;
          height:100%;animation:desfile 60s linear infinite;width:max-content}
.pista:hover ul{animation-play-state:paused}
.pista img{height:22px;width:auto;opacity:.62;filter:grayscale(1);transition:.25s}
.pista li:hover img{opacity:1;filter:none}
@keyframes desfile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* ---------- BARRA BLANCA SUPERIOR (fin) ---------- */

/* ---------- CABECERA (inicio) ---------- */
.cabecera{
  position:sticky;top:0;z-index:60;background:var(--negro);
  border-bottom:1px solid var(--linea);height:var(--alto-cabecera);
}
.cabecera .envoltura{display:flex;align-items:center;justify-content:space-between;
                     height:100%;gap:20px}
.logo{flex:none;display:flex;align-items:center}
.logo img{height:26px}
.logo .texto{font-family:var(--tipo);font-size:26px;font-weight:900;
             letter-spacing:.02em;text-transform:uppercase}
.logo .texto span{color:var(--rojo)}

.navegacion{display:flex;align-items:center;gap:30px;height:100%;margin:0;padding:0}
.navegacion > li{list-style:none;position:relative;height:100%;display:flex;align-items:center}
.navegacion > li > a{
  font-family:var(--tipo);text-transform:uppercase;letter-spacing:.11em;
  font-size:13px;font-weight:700;color:var(--papel);display:flex;align-items:center;
  gap:6px;height:100%;border-bottom:2px solid transparent;transition:.2s;
}
.navegacion > li > a:hover{color:var(--rojo-vivo);border-bottom-color:var(--rojo)}
/* El apartado destacado de la cabecera (Distribuidores).
   Bloque verde de la altura de la barra, como lo pidio Fernando. El verde es
   el del Hyper-G, no uno inventado; y el texto va en negro porque sobre ese
   verde el blanco casi no se lee. */
.navegacion > li.destaca{margin-left:4px}
.navegacion > li.destaca > a{
  background:var(--verde-hyper);color:#000;border-bottom:0;
  padding:0 22px;letter-spacing:.13em;border-radius:8px;
  height:auto;align-self:center;line-height:34px;
}
.navegacion > li.destaca > a:hover{background:#c7f53a;color:#000;border-bottom:0}
.navegacion > li.destaca > a:focus-visible{outline:2px solid #fff;outline-offset:-4px}

.navegacion .flecha{width:8px;height:8px;border-right:2px solid currentColor;
                    border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}

/* Cuenta que aun no existe: se ve, pero apagada y sin clic. */
.red-pendiente{color:#4a4a4a;display:flex;cursor:default}
.red-pendiente svg{width:17px;height:17px;fill:currentColor}
.redes-pie .red-pendiente{width:38px;height:38px;border:1px solid var(--linea);
                          align-items:center;justify-content:center;color:#3d3d3d}
.redes-pie .red-pendiente svg{width:16px;height:16px}

/* ---------- PANEL ANCHO DE EQUIPO (inicio) ----------
   Como el de solincosports.com: una sola tabla de cuatro columnas que ocupa
   todo el ancho. Se posiciona contra .cabecera, que es el elemento pegajoso,
   asi que baja bien lo mismo con la pagina arriba que ya con scroll.       */
.navegacion > li.con-panel{position:static}
.panel-menu{position:absolute;top:100%;left:0;width:100%;background:#0a0a0a;
            border-top:2px solid var(--rojo);border-bottom:1px solid var(--linea);
            opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s;
            box-shadow:0 26px 60px rgba(0,0,0,.7);z-index:70}
.navegacion > li.con-panel:hover .panel-menu{opacity:1;visibility:visible;transform:translateY(0)}
/* Las columnas se miden por su contenido y el grupo se centra. Con cuatro
   columnas de 1fr, el texto se apelotona a la izquierda de cada una y el
   bloque entero se ve recargado a un lado, aunque tecnicamente ocupe todo
   el ancho. */
/* El panel vive DENTRO de <header>, y ahi existe la regla
   .cabecera .envoltura{display:flex}. Esa regla alcanzaba tambien a la
   envoltura del panel, que entonces trataba a las columnas como un hijo de
   flex y las encogia a su contenido, pegadas a la izquierda. Por eso el
   justify-content:center no hacia nada: no habia espacio sobrante que
   repartir. Se devuelve a bloque y ya. */
.panel-menu .envoltura{display:block}
.columnas-menu{display:flex;justify-content:center;
               gap:clamp(48px,7vw,110px);padding:40px 0 46px}
.columna-menu{flex:0 0 auto}
.columna-menu h4{font-family:var(--tipo);text-transform:uppercase;font-size:15px;
                 letter-spacing:.09em;font-weight:900;color:var(--papel);margin:0 0 20px}
.columna-menu ul{list-style:none;margin:0;padding:0}
.columna-menu li{margin-bottom:13px}
.columna-menu li a{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.09em;
                   font-size:12.5px;font-weight:700;color:var(--gris-claro);transition:.16s;
                   display:inline-block}
.columna-menu li a:hover{color:var(--rojo-vivo);transform:translateX(4px)}
/* Lo que no vendemos en Mexico lleva al sitio de Solinco USA. La flechita
   avisa que sale del sitio: que el cliente se entere ANTES de hacer clic. */
.columna-menu li a.sale i{font-style:normal;font-size:10px;opacity:.5;margin-left:5px;
                          vertical-align:super}
.columna-menu li a.sale:hover i{opacity:1;color:var(--rojo-vivo)}
.ancla-extra{display:block;height:0;scroll-margin-top:calc(var(--alto-cabecera) + 16px)}
/* ---------- PANEL ANCHO DE EQUIPO (fin) ---------- */

/* menu desplegable */
.submenu{
  position:absolute;top:100%;left:-22px;min-width:260px;background:#0a0a0a;
  border:1px solid var(--linea);border-top:2px solid var(--rojo);padding:10px 0;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;list-style:none;margin:0;
  box-shadow:0 22px 50px rgba(0,0,0,.65);
}
.navegacion > li:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu li{position:relative}
.submenu a{display:block;padding:9px 22px;font-size:13.5px;color:var(--gris-claro);transition:.15s}
.submenu a:hover{background:var(--humo);color:var(--papel);padding-left:28px}
.submenu .con-hijos > a::after{content:"\203A";float:right;color:var(--rojo);font-size:17px;line-height:1}
.submenu .submenu{top:-12px;left:100%;border-top:1px solid var(--linea);border-left:2px solid var(--rojo)}
.submenu li:hover > .submenu{opacity:1;visibility:visible;transform:translateY(0)}

.utilidades{display:flex;align-items:center;gap:16px;flex:none}
.utilidades a{color:var(--gris-claro);display:flex;transition:.2s}
.utilidades a:hover{color:var(--rojo-vivo);transform:translateY(-1px)}
.utilidades svg{width:17px;height:17px;fill:currentColor}
.lupa{background:none;border:0;color:var(--gris-claro);cursor:pointer;padding:0;display:flex}
.lupa:hover{color:var(--rojo-vivo)}
.lupa svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.separador{width:1px;height:18px;background:var(--linea)}

.hamburguesa{display:none;background:none;border:0;cursor:pointer;padding:6px}
.hamburguesa span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:.25s}
/* ---------- CABECERA (fin) ---------- */

/* ---------- BUSCADOR (inicio) ---------- */
.buscador{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:200;
          display:none;align-items:flex-start;justify-content:center;padding-top:16vh}
.buscador.abierto{display:flex}
.buscador form{width:min(680px,90vw)}
.buscador input{width:100%;background:none;border:0;border-bottom:2px solid var(--rojo);
                color:#fff;font-family:var(--tipo);font-size:clamp(26px,5vw,44px);
                text-transform:uppercase;letter-spacing:.04em;padding:14px 4px;outline:none}
.buscador p{color:var(--gris);font-size:13px;margin-top:14px;letter-spacing:.05em}
.cerrar{position:absolute;top:26px;right:30px;background:none;border:0;color:#fff;
        font-size:30px;cursor:pointer;line-height:1}
/* ---------- BUSCADOR (fin) ---------- */

/* ---------- CARRUSEL PRINCIPAL (inicio) ----------
   Copia el comportamiento del carrusel de solincosports.com:
   - La lamina mide EXACTO lo que queda de pantalla. Asi el titulo, el boton
     y los puntos caben completos sin bajar: se ve, se hace clic y se sigue.
   - Las laminas se desvanecen, no se deslizan.
   - La sombra es apenas la necesaria para leer el texto. Una sombra fuerte
     apaga la foto del producto, que es lo unico que el banner viene a vender.
   ------------------------------------------------------------------------ */
.heroe{position:relative;overflow:hidden;background:#000;
       height:calc(100vh - var(--alto-cabecera) - var(--alto-barra));
       min-height:520px;max-height:900px}
.laminas{position:absolute;inset:0}
.lamina{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;
        pointer-events:none}
.lamina.activa{opacity:1;pointer-events:auto}
.lamina img{width:100%;height:100%;object-fit:cover}
/* La sombra solo donde hace falta. Arriba, apenas para despegar la cabecera;
   en medio, nada, para que el producto se vea con su color real; abajo, la
   suficiente para que el titulo se lea SIEMPRE, incluso sobre las fotos de
   fondo claro como la del hibrido Mach-BD. */
.lamina::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,0) 24%,
                             rgba(0,0,0,.10) 48%,rgba(0,0,0,.55) 78%,
                             rgba(0,0,0,.88) 100%)}
.lamina .dicho{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;
               flex-direction:column;align-items:center;text-align:center;
               padding:0 clamp(20px,5vw,60px) clamp(56px,8vh,88px)}
.gorro{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.16em;
       font-size:clamp(11px,1.1vw,14px);color:var(--papel);font-weight:700;margin-bottom:10px;
       text-shadow:0 2px 12px rgba(0,0,0,.7)}
.lamina h2{font-family:var(--tipo);text-transform:uppercase;margin:0 0 26px;
           font-size:clamp(32px,5.6vw,74px);line-height:.98;letter-spacing:.01em;
           font-weight:900;text-wrap:balance;text-shadow:0 3px 22px rgba(0,0,0,.55)}
.boton{display:inline-flex;align-items:center;gap:9px;background:var(--papel);color:#000;
       font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;font-size:12.5px;
       font-weight:700;padding:15px 34px;border:2px solid var(--papel);border-radius:9999px;
       transition:.22s;cursor:pointer}
.boton:hover{background:var(--rojo);border-color:var(--rojo);color:#fff}
.boton.hueco{background:transparent;color:#fff}
.boton.hueco:hover{background:#fff;color:#000;border-color:#fff}

/* En su sitio no hay flechas: solo los puntos. Se dejan en el DOM porque el
   carrusel del Equipo Solinco si las usa, pero en el principal no se pintan. */
.heroe .flecha-h{display:none}
.flecha-h{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
          background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.28);color:#fff;
          width:46px;height:46px;cursor:pointer;display:flex;align-items:center;
          justify-content:center;font-size:20px;transition:.2s}
.flecha-h:hover{background:var(--rojo);border-color:var(--rojo)}
.flecha-h.izq{left:22px}.flecha-h.der{right:22px}
.puntos{position:absolute;bottom:22px;left:0;right:0;z-index:5;display:flex;gap:11px;
        justify-content:center}
.puntos button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.42);
               border:0;cursor:pointer;padding:0;transition:.25s}
.puntos button.activo{background:var(--papel)}
.puntos button:hover{background:rgba(255,255,255,.8)}
/* ---------- CARRUSEL PRINCIPAL (fin) ---------- */

/* ---------- TITULOS DE SECCION (inicio) ---------- */
.seccion{padding:clamp(56px,7vw,96px) 0}
.seccion.oscura{background:var(--carbon)}
.titulo-seccion{font-family:var(--tipo);text-transform:uppercase;text-align:center;
                font-size:clamp(26px,4vw,50px);letter-spacing:.03em;font-weight:900;
                margin:0 0 10px;line-height:1}
.bajada{text-align:center;color:var(--gris);font-size:15px;margin:0 auto 44px;max-width:620px}
.raya{width:56px;height:3px;background:var(--rojo);margin:16px auto 40px}
/* ---------- TITULOS DE SECCION (fin) ---------- */

/* Variante de fondo claro, para comparar. Solinco USA alterna secciones
   negras y blancas; nosotros vamos en negro corrido. Esta clase permite ver
   la misma seccion de las dos formas sin tocar nada mas. */
.seccion.clara{background:var(--papel);color:#111}
.seccion.clara .titulo-seccion{color:#111}
.seccion.clara .bajada{color:#555}
.seccion.clara .raya{background:var(--rojo)}
/* Las etiquetas de las tarjetas van SOBRE la foto, no sobre el fondo de la
   seccion: se quedan blancas aunque la seccion sea clara. Heredar el negro
   del contenedor las volvia ilegibles. */
.seccion.clara .tarjeta-cat{color:var(--papel)}
.seccion.clara .tarjeta-cat h3{color:var(--papel)}

/* ---------- NUESTROS PRODUCTOS (inicio) ---------- */
.rejilla-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tarjeta-cat{position:relative;overflow:hidden;aspect-ratio:4/5;display:block;background:#111}
.tarjeta-cat img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.tarjeta-cat:hover img{transform:scale(1.06)}
.tarjeta-cat::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72) 100%)}
.tarjeta-cat .pie-tarjeta{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px 26px;
                  display:flex;align-items:center;justify-content:space-between;gap:12px}
.tarjeta-cat h3{font-family:var(--tipo);text-transform:uppercase;font-size:clamp(20px,2.2vw,30px);
                margin:0;letter-spacing:.04em;font-weight:900}
.tarjeta-cat .mas{width:38px;height:38px;border:2px solid rgba(255,255,255,.5);display:flex;
                  align-items:center;justify-content:center;flex:none;transition:.25s;font-size:17px}
.tarjeta-cat:hover .mas{background:var(--rojo);border-color:var(--rojo)}
/* ---------- NUESTROS PRODUCTOS (fin) ---------- */

/* ---------- LO NUEVO (inicio) ----------
   La seccion debe medir LO MISMO que "Nuestros Productos" y caber en una
   pantalla. Productos son 3 tarjetas de 4/5 con 20px de separacion, o sea
   una rejilla de proporcion (3*1 + 2*20/ancho) / 1.25 ~= 2.47 a 1. Aqui se
   fija esa misma proporcion en vez de alturas en pixeles: asi las dos
   secciones coinciden en cualquier monitor y no hay que ir ajustando a mano.
   ------------------------------------------------------------------------ */
.rejilla-nuevo{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.22fr 1fr;
               gap:20px;aspect-ratio:2.47}
.nuevo-franja{grid-column:1/-1;position:relative;overflow:hidden;background:#0a0a0a;
              border:1px solid var(--linea);transition:.3s}
.nuevo-franja:hover{border-color:var(--rojo)}
.nuevo-franja img{width:100%;height:100%;object-fit:cover;object-position:center;
                  transition:transform .8s}
.nuevo-franja:hover img{transform:scale(1.03)}
.nuevo-tarjeta{position:relative;overflow:hidden;background:#0a0a0a;
               border:1px solid var(--linea);transition:.3s;display:block}
.nuevo-tarjeta:hover{border-color:var(--rojo)}
.nuevo-tarjeta img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.nuevo-tarjeta:hover img{transform:scale(1.05)}
.nuevo-tarjeta::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.82) 100%)}
.nuevo-pie{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 24px;
           display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.nuevo-pie .gorro{margin-bottom:5px;color:var(--rojo-vivo);letter-spacing:.16em}
.nuevo-pie h3{font-family:var(--tipo);text-transform:uppercase;
              font-size:clamp(15px,1.6vw,22px);margin:0;letter-spacing:.03em;
              font-weight:900;line-height:1.05}
.nuevo-pie .mas{width:34px;height:34px;border:2px solid rgba(255,255,255,.5);display:flex;
                align-items:center;justify-content:center;flex:none;transition:.25s;
                font-size:18px;font-family:var(--tipo);border-radius:50%}
.nuevo-tarjeta:hover .mas{background:var(--rojo);border-color:var(--rojo)}
@media (max-width:760px){
  /* En celular la proporcion fija aplasta todo: mejor apilar y que cada
     imagen conserve su forma. */
  .rejilla-nuevo{grid-template-columns:1fr;grid-template-rows:none;aspect-ratio:auto;gap:14px}
  .nuevo-franja{grid-column:auto;aspect-ratio:2.5}
  .nuevo-tarjeta{aspect-ratio:16/10}
}
/* ---------- LO NUEVO (fin) ---------- */

/* ---------- NOTICIAS (inicio) ---------- */
.rejilla-notas{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nota{background:var(--humo);border:1px solid var(--linea);display:flex;flex-direction:column;
      transition:.3s;overflow:hidden}
.nota:hover{border-color:var(--rojo);transform:translateY(-5px)}
.nota .foto{aspect-ratio:16/10;overflow:hidden}
.nota .foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.nota:hover .foto img{transform:scale(1.06)}
.nota .cuerpo{padding:24px;flex:1;display:flex;flex-direction:column}
.fecha{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.15em;font-size:10.5px;
       color:var(--rojo-vivo);font-weight:700;margin-bottom:11px}
.nota h3{font-family:var(--tipo);text-transform:uppercase;font-size:19px;line-height:1.16;
         margin:0 0 12px;letter-spacing:.02em;font-weight:900}
.nota p{color:var(--gris);font-size:14px;margin:0 0 18px;flex:1;text-align:justify;hyphens:auto}
.leer{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;font-size:11.5px;
      color:var(--papel);font-weight:700;border-bottom:2px solid var(--rojo);
      align-self:flex-start;padding-bottom:3px;transition:.2s}
.nota:hover .leer{color:var(--rojo-vivo)}
.envuelve-nota{display:contents}
.envuelve-nota[hidden]{display:none}
.centro{text-align:center;margin-top:44px}
/* ---------- NOTICIAS (fin) ---------- */

/* ---------- EQUIPO SOLINCO (inicio) ---------- */
.pestanas{display:flex;justify-content:center;gap:0;margin:0 auto 38px;width:max-content;
          border:1px solid var(--linea)}
.pestanas button{background:none;border:0;color:var(--gris);font-family:var(--tipo);
                 text-transform:uppercase;letter-spacing:.15em;font-size:12.5px;font-weight:700;
                 padding:13px 34px;cursor:pointer;transition:.22s}
.pestanas button.activa{background:var(--rojo);color:#fff}
.pestanas button:not(.activa):hover{color:#fff;background:var(--humo)}
.panel{display:none}
.panel.visible{display:block}

.equipo-carrusel{position:relative;overflow:hidden}
.equipo-pista{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
/* Fernando pidio que Equipo Solinco mida lo mismo que Nuestros Productos,
   para que los botones de abajo se vean sin bajar. La lamina se aplana y se
   le quita el alto minimo, que era lo que empujaba la seccion. */
.jugador{flex:0 0 100%;position:relative;aspect-ratio:3.62;min-height:0;background:#111}
.jugador img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.jugador::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.85) 100%)}
.jugador .nombre{position:absolute;left:0;bottom:0;z-index:2;padding:0 clamp(24px,5vw,64px) 40px}
.jugador .nombre h3{font-family:var(--tipo);text-transform:uppercase;
                    font-size:clamp(26px,3.6vw,46px);margin:0;letter-spacing:.02em;font-weight:900}
.jugador .nombre span{font-size:13px;color:var(--gris-claro);letter-spacing:.1em;
                      text-transform:uppercase;font-family:var(--tipo)}
.vacio-mx{border:1px dashed var(--linea);padding:56px 30px;text-align:center;background:var(--humo)}
.vacio-mx h3{font-family:var(--tipo);text-transform:uppercase;font-size:24px;margin:0 0 12px;
             letter-spacing:.03em}
.vacio-mx p{color:var(--gris);max-width:560px;margin:0 auto 26px;font-size:15px}
.botones-fila{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px}
/* ---------- EQUIPO SOLINCO (fin) ---------- */

/* ---------- PRENSA (inicio) ----------
   Cuadro blanco, logo del medio en su color original y texto oscuro. El
   logo va SIN filtro a proposito: en gris un logotipo de prensa deja de
   reconocerse, y lo que da autoridad aqui es reconocerlo de un vistazo.
   La primera cita mide el doble: cinco cuadritos iguales salen apretados.
   ------------------------------------------------------------------------ */
.rejilla-prensa{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dicho-prensa{background:var(--papel);color:#15181d;padding:34px 30px 30px;margin:0;
              position:relative;overflow:hidden;display:flex;flex-direction:column;
              border-top:3px solid var(--rojo);transition:.28s}
.dicho-prensa:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.45)}
/* Toda la tarjeta es clicable, no solo el renglon de abajo: es un cuadro
   chico y obligar a atinarle a tres palabras es pedir punteria. */
.capa-enlace{position:absolute;inset:0;z-index:3}
.leer-nota{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;
           font-size:10.5px;font-weight:700;color:#8a9099;margin-top:16px;padding-top:14px;
           border-top:1px solid #e4e8ee;transition:.2s;position:relative;z-index:1;
           display:flex;align-items:center;gap:7px}
.leer-nota b{color:var(--rojo);transition:.22s}
.dicho-prensa:hover .leer-nota{color:#15181d}
.dicho-prensa:hover .leer-nota b{transform:translateX(4px)}
.dicho-prensa.grande{grid-column:span 2}
/* la comilla es decoracion: se queda detras y no la lee el lector de pantalla */
.dicho-prensa .comilla{position:absolute;top:-26px;right:14px;font-family:Georgia,serif;
                       font-size:150px;line-height:1;color:#eceff3;user-select:none;
                       pointer-events:none}
/* Alto fijo, no maximo: los logos con mucho aire adentro (10sBalls, Air Mail,
   Cosmopolitan) se veian diminutos al lado de Forbes y Tennis, que son anchos
   y planos. Con alto fijo todos pesan parecido; el ancho maximo evita que los
   muy alargados se coman el cuadro. */
.dicho-prensa .logo-medio{height:46px;width:auto;max-width:215px;object-fit:contain;
                          object-position:left center;margin:0 0 22px;filter:none;opacity:1;
                          position:relative;z-index:1}
.dicho-prensa blockquote{margin:0;font-size:15.5px;line-height:1.62;color:#2b3038;
                         flex:1;position:relative;z-index:1;text-align:left}
.dicho-prensa.grande blockquote{font-size:19px;line-height:1.55;color:#15181d;font-weight:500}
.dicho-prensa figcaption{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.15em;
                         font-size:10.5px;color:#8a9099;font-weight:700;position:relative;
                         z-index:1;padding-top:14px;border-top:1px solid #e4e8ee}
@media (max-width:1000px){
  .rejilla-prensa{grid-template-columns:repeat(2,1fr)}
  .dicho-prensa.grande{grid-column:span 2}
}
@media (max-width:620px){
  .rejilla-prensa{grid-template-columns:1fr}
  .dicho-prensa.grande{grid-column:auto}
  .dicho-prensa.grande blockquote{font-size:16.5px}
}
/* ---------- PRENSA (fin) ---------- */

/* ---------- REDES (inicio) ---------- */
.rejilla-social{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.post{position:relative;aspect-ratio:1;overflow:hidden;background:var(--humo);display:block}
.post img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.post:hover img{transform:scale(1.08)}
.post .velo{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:.3s;
            display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px}
.post:hover .velo{opacity:1}
/* ---------- REDES (fin) ---------- */

/* ---------- PIE (inicio) ----------
   Tres piezas: nuestros datos en oscuro, la franja blanca de universidades
   calcada de Solinco USA, y un cintillo final.
   La franja es la que mas cambio: sus escudos miden 94px y van en dos filas
   de trece, en gris pero SIN transparencia. Los teniamos a 34px y apagados,
   y a ese tamano no se reconoce ninguna universidad; si no se reconocen, la
   franja no prueba nada, que es justo lo que viene a hacer.
   ------------------------------------------------------------------------ */
.pie{background:#070707;border-top:1px solid var(--linea);padding:70px 0 60px;
     position:relative}
.pie::before{content:"";position:absolute;top:0;left:0;width:180px;height:3px;
             background:var(--rojo)}
.pie-rejilla{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.3fr;gap:48px}
.pie h4{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.15em;font-size:12px;
        color:var(--papel);margin:0 0 22px;font-weight:900;padding-bottom:12px;
        border-bottom:1px solid var(--linea);position:relative}
.pie h4::after{content:"";position:absolute;left:0;bottom:-1px;width:34px;height:1px;
               background:var(--rojo)}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:12px}
.pie li a{color:var(--gris);font-size:14px;transition:.18s;display:inline-block}
.pie li a:hover{color:var(--rojo-vivo);padding-left:5px}

.pie-marca .pie-logo{height:30px;width:auto;margin-bottom:24px}
.pie-sede{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;
          color:var(--gris-claro);margin:0 0 16px;line-height:1.9;font-weight:700}
.pie-correo,.pie-tel{display:block;color:var(--gris);font-size:14px;margin-bottom:7px;
                     transition:.18s}
.pie-correo:hover,.pie-tel:hover{color:var(--rojo-vivo)}

.pie .suscribe p{color:var(--gris);font-size:14px;margin:0 0 18px}
.pie .suscribe form{display:flex;border:1px solid var(--linea);margin-bottom:18px}
.pie .suscribe input{flex:1;background:var(--humo);border:0;color:#fff;padding:13px 15px;
                     font:inherit;font-size:16px;outline:none;min-width:0}
.pie .suscribe input:focus{background:#1b1b1b}
.pie .suscribe button{background:var(--rojo);border:0;color:#fff;font-family:var(--tipo);
                      text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;
                      padding:0 22px;cursor:pointer;font-weight:700;transition:.2s}
.pie .suscribe button:hover{background:var(--rojo-vivo)}
.boton.chico{padding:11px 22px;font-size:11px;letter-spacing:.12em}

.redes-pie{display:flex;gap:12px;margin-top:24px}
.redes-pie a{width:38px;height:38px;border:1px solid var(--linea);display:flex;align-items:center;
             justify-content:center;color:var(--gris);transition:.22s}
.redes-pie a:hover{background:var(--rojo);border-color:var(--rojo);color:#fff;
                   transform:translateY(-2px)}
.redes-pie svg{width:16px;height:16px;fill:currentColor}

/* la franja blanca, calcada de la de ellos */
.franja-uni{background:var(--papel);padding:52px 24px 56px}
.franja-uni h3{text-align:center;font-family:var(--tipo);text-transform:uppercase;
               font-size:clamp(22px,2.6vw,34px);color:#111;margin:0 0 36px;
               letter-spacing:.02em;font-weight:900}
.franja-uni ul{display:grid;grid-template-columns:repeat(13,1fr);gap:26px 16px;
               max-width:1720px;margin:0 auto;padding:0;list-style:none;align-items:center}
.franja-uni li{display:flex;align-items:center;justify-content:center}
.franja-uni img{width:100%;height:auto;max-height:88px;object-fit:contain;
                filter:grayscale(1);opacity:1;transition:.25s}
.franja-uni li:hover img{transform:scale(1.09)}

.cintillo{background:#000;border-top:1px solid #1a1a1a;padding:18px 0}
.cintillo .envoltura{display:flex;justify-content:space-between;align-items:center;
                     gap:14px;flex-wrap:wrap}
.cintillo span{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.12em;
               font-size:10.5px;color:#6d6d6d}
/* ---------- PIE (fin) ---------- */

/* ---------- SOLINCO MAS (inicio) ---------- */
.portada-mas{background:linear-gradient(140deg,#170003 0%,#000 55%);
             padding:clamp(60px,9vw,110px) 0;border-bottom:1px solid var(--linea)}
.portada-mas h1{font-family:var(--tipo);text-transform:uppercase;
                font-size:clamp(38px,7vw,86px);line-height:.95;margin:0 0 22px;
                letter-spacing:.01em;font-weight:900}
.portada-mas .entradilla{font-size:clamp(16px,1.7vw,19px);color:var(--gris-claro);
                         max-width:620px;margin:0 0 34px;line-height:1.65}
.rejilla-escalones{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.escalon{background:var(--humo);border:1px solid var(--linea);border-top:3px solid var(--rojo);
         padding:34px 30px;transition:.28s}
.escalon:hover{transform:translateY(-5px);border-color:var(--rojo)}
.escalon .pct{font-family:var(--tipo);font-size:64px;line-height:1;margin:0 0 6px;
              font-weight:900;color:var(--rojo-vivo)}
.escalon .pct span{font-size:28px}
.escalon h3{font-family:var(--tipo);text-transform:uppercase;font-size:19px;margin:0 0 20px;
            letter-spacing:.03em;font-weight:900}
.escalon ul{list-style:none;margin:0;padding:0}
.escalon li{font-size:15px;color:var(--gris-claro);padding:11px 0;
            border-top:1px solid var(--linea)}
.escalon li b{color:var(--gris);font-weight:700;font-size:10.5px;text-transform:uppercase;
              letter-spacing:.11em;display:inline-block;min-width:82px}
.nota-al-pie{text-align:center;color:var(--gris);font-size:13.5px;margin:28px 0 0}
.rejilla-pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.paso{border:1px solid var(--linea);padding:30px 26px;background:var(--negro);position:relative}
.paso .num{font-family:var(--tipo);font-size:46px;font-weight:900;color:var(--rojo);
           line-height:1;display:block;margin-bottom:14px;opacity:.9}
.paso h3{font-family:var(--tipo);text-transform:uppercase;font-size:17px;margin:0 0 10px;
         letter-spacing:.03em;font-weight:900}
.paso p{color:var(--gris);font-size:14px;margin:0;text-align:justify;hyphens:auto}
.preguntas{max-width:820px;margin:0 auto}
.preguntas details{border-bottom:1px solid var(--linea)}
.preguntas summary{cursor:pointer;padding:22px 40px 22px 0;font-family:var(--tipo);
                   text-transform:uppercase;letter-spacing:.03em;font-size:16px;
                   font-weight:700;list-style:none;position:relative;transition:.2s}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"+";position:absolute;right:6px;top:19px;color:var(--rojo);
                          font-size:24px;line-height:1;transition:.25s}
.preguntas details[open] summary::after{transform:rotate(45deg)}
.preguntas summary:hover{color:var(--rojo-vivo)}
.preguntas p{color:var(--gris-claro);font-size:15px;padding:0 40px 24px 0;margin:0;
             line-height:1.7;text-align:justify;hyphens:auto}
/* ---------- SOLINCO MAS (fin) ---------- */

/* ---------- AREA DE CLIENTE (inicio) ---------- */
/* Los pasos se esconden con el atributo hidden, que es el estandar: los
   lectores de pantalla lo respetan y no hace falta una clase aparte.
   La clase .visible es del diseno viejo y se deja por si algo la usa. */
.paso-cuenta[hidden]{display:none}
.paso-cuenta.visible{display:block}
.cuenta .pestanas{margin-bottom:28px}
.cara{display:none}
.cara.visible{display:block}
.formulario.angosto{max-width:460px;margin:0 auto}
.opciones{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* OJO: .opcion es un <label> dentro de un .campo, asi que le caia encima la
   regla .campo label{texto en mayusculas, gris, 10.5px} y salia todo chiquito
   y en mayusculas. Y su radio se estiraba al 100% por .campo input. Estas dos
   reglas mas especificas lo devuelven a su sitio. */
.campo .opcion{display:flex;align-items:flex-start;gap:11px;background:var(--negro);
        border:1px solid var(--linea);padding:16px 18px;cursor:pointer;transition:.2s;
        text-transform:none;letter-spacing:normal;font-size:13px;color:var(--gris);
        margin-bottom:0;font-weight:400}
.campo .opciones input[type="radio"]{width:17px;height:17px;flex:0 0 17px;padding:0;
        border:0;background:none}
.campo .opcion > span{flex:1}
.opcion:hover{border-color:#555}
.opcion input{margin-top:3px;accent-color:var(--rojo);width:17px;height:17px;flex:none;
              cursor:pointer}
.opcion span{font-size:13px;color:var(--gris);line-height:1.5}
.opcion b{display:block;color:var(--papel);font-family:var(--tipo);text-transform:uppercase;
          letter-spacing:.08em;font-size:12.5px;margin-bottom:3px;font-weight:900}
.opcion input:checked + span b{color:var(--rojo-vivo)}
.opcion:has(input:checked){border-color:var(--rojo)}
input.codigo{text-align:center;font-family:var(--tipo);font-size:34px;letter-spacing:.34em;
             padding:18px 10px;font-weight:900}
.tarjeta-cuenta{background:var(--humo);border:1px solid var(--linea);border-top:3px solid var(--rojo);
                padding:34px 30px;max-width:520px;margin:0 auto 10px}
.tarjeta-cuenta h3{font-family:var(--tipo);text-transform:uppercase;font-size:26px;margin:0 0 6px;
                   letter-spacing:.03em;font-weight:900}
.tarjeta-cuenta .d-negocio{color:var(--gris-claro);font-size:15px;margin:0 0 4px}
.tarjeta-cuenta .d-correo{color:var(--gris);font-size:14px;margin:0 0 20px}
.estado-cuenta{border-top:1px solid var(--linea);padding-top:18px;font-size:14px;
               color:var(--gris);line-height:1.6}
.estado-cuenta b{display:block;font-family:var(--tipo);text-transform:uppercase;
                 letter-spacing:.12em;font-size:11.5px;margin-bottom:7px;font-weight:900}
.estado-cuenta.lista b{color:#2ecc71}
.estado-cuenta.espera b{color:#f0b429}
@media (max-width:640px){.opciones{grid-template-columns:1fr}}
/* ---------- AREA DE CLIENTE (fin) ---------- */

/* ---------- CONTACTO (inicio) ---------- */
.formulario{background:var(--humo);border:1px solid var(--linea);border-top:3px solid var(--rojo);
            padding:38px 34px;margin-bottom:44px}
.formulario h3{font-family:var(--tipo);text-transform:uppercase;font-size:22px;margin:0 0 26px;
               letter-spacing:.04em;font-weight:900}
/* La reja del formulario. Va tambien para form.formulario: en cuenta.html la
   clase la trae el propio <form> y la regla vieja -- que pedia un form DENTRO
   de un .formulario -- nunca le aplicaba. Quedaba en una sola columna. */
.formulario form,form.formulario{display:grid;grid-template-columns:1fr 1fr;
                                 column-gap:22px;row-gap:30px}
.campo{display:flex;flex-direction:column}
.campo.ancho{grid-column:1/-1}
/* LA ETIQUETA VA PEGADA A SU CAMPO. Con 9 px de separacion y 18 entre
   campos, el ojo la agrupaba con el cuadro de ARRIBA: Fernando llenó el
   formulario entero recorrido un renglon (4-sep-2026) y creyo que era culpa
   suya. Ahora son 6 px contra los 30 de row-gap. */
.campo label{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.11em;
             font-size:11px;color:#aeb6c2;margin-bottom:6px;font-weight:700;
             line-height:1.35}
.campo label b{color:var(--rojo);font-weight:700}
.campo input,.campo select,.campo textarea{background:var(--negro);border:1px solid var(--linea);
    color:#fff;padding:14px 15px;font:inherit;font-size:16px;outline:none;transition:.2s;
    font-family:var(--tipo-texto);width:100%}
.campo textarea{resize:vertical;min-height:120px;line-height:1.6}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--rojo)}
.campo input::placeholder,.campo textarea::placeholder{color:#5d5d5d}
.campo.mal input,.campo.mal textarea{border-color:var(--rojo)}
/* la trampa para robots: invisible para la persona, presente para el robot */
.trampa{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.envia{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}
.aviso-forma{margin:0;font-size:14px;color:var(--gris-claro)}
.aviso-forma.bien{color:#2ecc71}
.aviso-forma.mal{color:var(--rojo-vivo)}
.letra-chica{grid-column:1/-1;color:var(--gris);font-size:12.5px;margin:4px 0 0}
.letra-chica a{color:var(--rojo-vivo)}
@media (max-width:640px){.formulario form{grid-template-columns:1fr}
  .formulario{padding:28px 22px}}
.contacto-puertas{margin-bottom:44px}
.puerta{background:var(--humo);border:1px solid var(--linea);padding:34px 28px;
        display:flex;flex-direction:column;transition:.28s;aspect-ratio:auto}
.puerta:hover{border-color:var(--rojo);transform:translateY(-5px)}
.puerta h3{font-family:var(--tipo);text-transform:uppercase;font-size:19px;margin:0 0 12px;
           letter-spacing:.03em;font-weight:900}
.puerta p{color:var(--gris);font-size:14.5px;margin:0 0 24px;flex:1}
.datos-contacto{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
                gap:1px;background:var(--linea);border:1px solid var(--linea)}
.datos-contacto > div{background:var(--negro);padding:28px 26px}
.datos-contacto h4{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.15em;
                   font-size:10.5px;color:var(--rojo-vivo);margin:0 0 10px;font-weight:700}
.datos-contacto p{margin:0;font-size:15px;color:var(--gris-claro)}
.datos-contacto a:hover{color:var(--rojo-vivo)}
/* ---------- CONTACTO (fin) ---------- */

/* ---------- BOTON DE WHATSAPP (inicio) ---------- */
.wasap{position:fixed;right:20px;bottom:20px;z-index:90;width:54px;height:54px;
       border-radius:50%;background:#25D366;display:flex;align-items:center;
       justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.45);transition:.25s}
.wasap:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 30px rgba(0,0,0,.6)}
.wasap svg{width:30px;height:30px;fill:#fff}
@media (max-width:560px){.wasap{right:14px;bottom:14px;width:50px;height:50px}}
/* ---------- BOTON DE WHATSAPP (fin) ---------- */

/* ---------- TEXTO LEGAL (inicio) ---------- */
.texto-legal{max-width:800px;margin:0 auto}
.texto-legal h3{font-family:var(--tipo);text-transform:uppercase;font-size:17px;
                letter-spacing:.03em;font-weight:900;margin:34px 0 12px;color:var(--papel)}
.texto-legal p{color:var(--gris-claro);font-size:15.5px;line-height:1.75;margin:0;
               text-align:justify;hyphens:auto}
.texto-legal .entrada{color:var(--gris);font-size:13px;border-left:3px solid var(--rojo);
                      padding-left:16px;text-align:left;margin-bottom:8px}
/* ---------- TEXTO LEGAL (fin) ---------- */

/* la miga de pan: de donde vienes y donde estas */
.miga{text-align:center;font-family:var(--tipo);text-transform:uppercase;letter-spacing:.14em;
      font-size:10.5px;color:var(--gris);margin:0 0 18px;font-weight:700}
.miga a{color:var(--rojo-vivo)}
.miga a:hover{color:#fff}
.miga span{margin:0 8px;opacity:.5}

/* ---------- CATALOGO (inicio) ---------- */
.cat-herramientas{max-width:560px;margin:0 auto 26px}
#filtra-catalogo{width:100%;background:var(--humo);border:1px solid var(--linea);color:#fff;
                 padding:15px 20px;font:inherit;font-size:16px;outline:none;transition:.2s}
#filtra-catalogo:focus{border-color:var(--rojo)}
#filtra-catalogo::placeholder{color:#5d5d5d}
.filtros .salto{background:none;border:1px solid var(--linea);color:var(--gris);
                font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;
                font-size:11.5px;font-weight:700;padding:10px 20px;transition:.2s;
                display:flex;align-items:center;gap:8px}
.filtros .salto i{font-style:normal;font-size:10px;opacity:.6}
.filtros .salto:hover{color:#fff;border-color:var(--rojo);background:var(--humo)}
.filtros .salto.activo{background:var(--rojo);border-color:var(--rojo);color:#fff}
.grupo-cat{margin-bottom:60px;scroll-margin-top:calc(var(--alto-cabecera) + 16px)}
.titulo-grupo{font-family:var(--tipo);text-transform:uppercase;font-size:clamp(20px,2.4vw,30px);
              letter-spacing:.03em;font-weight:900;margin:0 0 6px;
              border-bottom:1px solid var(--linea);padding-bottom:14px;
              display:flex;align-items:baseline;gap:12px}
.titulo-grupo b{color:var(--rojo-vivo);font-size:14px;font-weight:700}
.bajada-grupo{color:var(--gris);font-size:14px;margin:0 0 24px}
.rejilla-cat{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.prod{background:var(--humo);border:1px solid var(--linea);overflow:hidden;transition:.25s;
      display:flex;flex-direction:column}
.prod:hover{border-color:var(--rojo);transform:translateY(-4px)}
.prod.con-ficha{cursor:pointer}
.ver-ficha{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;font-size:9.5px;
           font-weight:700;color:#6d6d6d;margin-top:12px;padding-top:11px;
           border-top:1px solid var(--linea);transition:.2s;display:flex;
           align-items:center;gap:6px}
.ver-ficha b{color:var(--rojo);font-size:13px;transition:.22s}
.prod:hover .ver-ficha{color:var(--gris-claro)}
.prod:hover .ver-ficha b{transform:translateX(3px)}
.prod-foto{aspect-ratio:1;background:#fff;overflow:hidden;display:flex;align-items:center;
           justify-content:center;position:relative}
.prod-foto img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .5s}
.prod:hover .prod-foto img{transform:scale(1.06)}
.sin-foto-aviso{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.14em;
                font-size:10px;color:#b9b9b9;background:#f1f1f1;width:100%;height:100%;
                display:flex;align-items:center;justify-content:center}
.prod-datos{padding:16px 16px 18px;flex:1;display:flex;flex-direction:column}
.prod .sku{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.16em;font-size:9.5px;
           color:var(--rojo-vivo);margin:0 0 6px;font-weight:700}
.prod h3{font-family:var(--tipo);text-transform:uppercase;font-size:15px;line-height:1.15;
         margin:0 0 6px;letter-spacing:.02em;font-weight:900;flex:1}
.prod .calibre{color:var(--gris);font-size:11.5px;margin:0 0 12px}
.prod .precio{font-family:var(--tipo);font-size:22px;font-weight:900;margin:0;
              letter-spacing:.01em;color:var(--papel)}
.prod .precio span{font-size:14px;color:var(--gris);margin-right:2px}
.prod .precio i{font-style:normal;font-size:10px;color:var(--gris);letter-spacing:.1em}
.llamada-mas{border:1px solid var(--linea);border-top:3px solid var(--rojo);background:var(--humo);
             padding:46px 30px;text-align:center;margin-top:20px}
.llamada-mas h3{font-family:var(--tipo);text-transform:uppercase;font-size:clamp(20px,2.6vw,30px);
                margin:0 0 12px;letter-spacing:.03em;font-weight:900}
.llamada-mas p{color:var(--gris);max-width:560px;margin:0 auto 26px;font-size:15px}
/* ---------- CATALOGO (fin) ---------- */

/* ---------- PAGINA DE JUGADOR (inicio) ---------- */
.jug-heroe{position:relative;height:clamp(320px,50vh,560px);overflow:hidden;background:#0a0a0a}
.jug-heroe > img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.jug-heroe::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 34%,
                             rgba(0,0,0,.6) 76%,rgba(0,0,0,.92) 100%)}
.jug-titulo{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-bottom:38px}
.jug-titulo .miga{text-align:left;margin-bottom:12px}
.jug-titulo h1{font-family:var(--tipo);text-transform:uppercase;
               font-size:clamp(32px,5.6vw,72px);line-height:.98;margin:0 0 10px;
               letter-spacing:.01em;font-weight:900;text-shadow:0 3px 22px rgba(0,0,0,.6)}
.jug-titulo .lema{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.14em;
                  font-size:clamp(11px,1.3vw,14px);color:var(--rojo-vivo);margin:0;font-weight:700}
.con-que{align-items:stretch}
.pieza{background:var(--humo);border:1px solid var(--linea);padding:30px 26px;display:flex;
       flex-direction:column;aspect-ratio:auto;transition:.26s}
.pieza:hover{border-color:var(--rojo);transform:translateY(-4px)}
.pieza h3{font-family:var(--tipo);text-transform:uppercase;font-size:clamp(20px,2.4vw,28px);
          margin:0 0 16px;letter-spacing:.03em;font-weight:900;flex:1}
.pieza .chico{color:var(--gris);font-size:14px;margin:0 0 18px;flex:1}
.pieza.acento{border-top:3px solid var(--rojo)}
.boton.chico{padding:11px 22px;font-size:11px;letter-spacing:.12em;align-self:flex-start}
/* ---------- PAGINA DE JUGADOR (fin) ---------- */

/* ---------- ROSTER (inicio) ---------- */
.filtros{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 0 38px}
.filtros button{background:none;border:1px solid var(--linea);color:var(--gris);
                font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;
                font-size:11.5px;font-weight:700;padding:10px 20px;cursor:pointer;
                transition:.2s;display:flex;align-items:center;gap:8px}
.filtros button i{font-style:normal;font-size:10px;opacity:.6}
.filtros button:hover{color:#fff;border-color:#555}
.filtros button.activo{background:var(--rojo);border-color:var(--rojo);color:#fff}
.rejilla-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.jugador-ficha{background:var(--humo);border:1px solid var(--linea);overflow:hidden;
               transition:.28s;display:flex;flex-direction:column}
.jugador-ficha:hover{border-color:var(--rojo);transform:translateY(-5px)}
.jugador-ficha .retrato{aspect-ratio:3/4;overflow:hidden;background:#0a0a0a}
.jugador-ficha .retrato img{width:100%;height:100%;object-fit:cover;object-position:center 18%;
                            transition:transform .6s;filter:grayscale(.25)}
.jugador-ficha:hover .retrato img{transform:scale(1.05);filter:none}
.jugador-ficha .retrato.sin-foto{background:repeating-linear-gradient(45deg,#111,#111 10px,#161616 10px,#161616 20px)}
.jugador-ficha .datos{padding:18px 18px 20px}
.jugador-ficha h3{font-family:var(--tipo);text-transform:uppercase;font-size:17px;margin:0 0 5px;
                  letter-spacing:.02em;font-weight:900;line-height:1.1}
.jugador-ficha .rango{color:var(--rojo-vivo);font-family:var(--tipo);text-transform:uppercase;
                      letter-spacing:.1em;font-size:10.5px;margin:0 0 12px;font-weight:700}
.jugador-ficha .usa{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--linea)}
.jugador-ficha .usa li{font-size:12.5px;color:var(--gris);margin-bottom:5px}
.jugador-ficha .usa b{color:var(--gris-claro);font-weight:700;font-size:10px;
                      text-transform:uppercase;letter-spacing:.1em;display:inline-block;
                      min-width:62px}
.sin-resultados{text-align:center;color:var(--gris);padding:50px 0;font-size:15px}
/* ---------- ROSTER (fin) ---------- */

/* ---------- PAGINA DE NOTA (inicio) ---------- */
.nota-heroe{position:relative;height:clamp(320px,46vh,520px);overflow:hidden;background:#111}
.nota-heroe > img{width:100%;height:100%;object-fit:cover}
.nota-heroe::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.9) 100%)}
.nota-titulo{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-bottom:40px}
.nota-titulo h1{font-family:var(--tipo);text-transform:uppercase;
                font-size:clamp(26px,4.4vw,54px);line-height:1.02;margin:0;
                letter-spacing:.01em;font-weight:900;max-width:900px;text-wrap:balance}
.nota-cuerpo{max-width:780px;margin:0 auto;padding:52px 0 40px}
.nota-cuerpo p{font-size:17px;line-height:1.78;color:var(--gris-claro);margin:0 0 22px;
               text-align:justify;hyphens:auto}
.nota-cuerpo .entrada{font-size:19px;color:var(--papel);border-left:3px solid var(--rojo);
                      padding-left:20px;font-weight:500;text-align:left}
.nota-cuerpo .sin-cuerpo{color:var(--gris);font-style:italic;text-align:left}
.foto-cuerpo{width:100%;margin:14px 0 30px;border:1px solid var(--linea)}
.salto-notas{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--linea);
             padding:30px 0 44px;max-width:1000px;margin:0 auto}
.salto-notas a{max-width:46%;transition:.2s}
.salto-notas a.der{text-align:right;margin-left:auto}
.salto-notas span{display:block;font-family:var(--tipo);text-transform:uppercase;
                  letter-spacing:.14em;font-size:10.5px;color:var(--rojo-vivo);
                  font-weight:700;margin-bottom:7px}
.salto-notas b{font-family:var(--tipo);text-transform:uppercase;font-size:15px;
               line-height:1.2;color:var(--gris-claro);font-weight:700}
.salto-notas a:hover b{color:var(--papel)}
@media (max-width:700px){
  .salto-notas{flex-direction:column;gap:26px}
  .salto-notas a{max-width:100%}
  .salto-notas a.der{text-align:left;margin-left:0}
}
/* ---------- PAGINA DE NOTA (fin) ---------- */



/* ---------- SOLINCO MAS: PUBLICOS, PAQUETES Y COTIZADOR (inicio) ----------
   El distribuidor revende y el encordador consume: compran distinto y les
   importa distinto, por eso son dos bloques y no uno.
   ------------------------------------------------------------------------ */
.rejilla-publicos{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px}
.publico{background:var(--negro);border:1px solid var(--linea);border-top:3px solid var(--rojo);
         padding:38px 34px 34px;display:flex;flex-direction:column;transition:.28s;
         scroll-margin-top:calc(var(--alto-cabecera) + 20px)}
.publico:hover{transform:translateY(-5px);border-color:var(--rojo)}
.publico h3{font-family:var(--tipo);text-transform:uppercase;font-size:clamp(24px,3vw,34px);
            margin:0 0 14px;letter-spacing:.03em;font-weight:900}
.publico > p{color:var(--gris-claro);font-size:15.5px;margin:0 0 22px;
             text-align:justify;hyphens:auto}
.ventajas{list-style:none;margin:0 0 28px;padding:0;flex:1}
.ventajas li{position:relative;padding:0 0 14px 26px;color:var(--gris);font-size:14.5px;
             line-height:1.6}
.ventajas li::before{content:"+";position:absolute;left:0;top:-1px;color:var(--rojo);
                     font-family:var(--tipo);font-weight:900;font-size:16px}
.ventajas b{color:var(--papel);font-weight:700}

/* LOS PAQUETES, CERRADOS
   Diez tarjetas altas se comian la pantalla y habia que pasar por todas para
   llegar al registro. Ahora cada paquete es un renglon: sello, nombre, que
   trae por encima y el precio. Al picarle se abre con la foto y el desglose.
   Son <details>/<summary> del navegador, sin JavaScript nuestro. */
.lista-paquetes{display:flex;flex-direction:column;gap:8px;margin-bottom:34px}
.paquete{background:var(--negro);border:1px solid var(--linea);transition:border-color .2s}
.paquete[open]{border-color:var(--rojo)}
.paquete:hover{border-color:#3a3a3a}
.paquete[open]:hover{border-color:var(--rojo)}
.paquete summary{display:grid;
                 grid-template-columns:auto minmax(0,1.1fr) minmax(0,1.5fr) auto 30px;
                 align-items:center;gap:16px;padding:14px 18px;cursor:pointer;
                 list-style:none;user-select:none}
/* Safari pinta su propio triangulito y descuadra la rejilla */
.paquete summary::-webkit-details-marker{display:none}
.paquete summary::marker{content:""}
.paquete summary:focus-visible{outline:2px solid var(--rojo);outline-offset:-2px}
.paquete .sello{font-family:var(--tipo);font-weight:900;font-size:11px;letter-spacing:.08em;
                padding:5px 9px;color:#fff;white-space:nowrap}
.paquete.d20 .sello{background:#1d4ed8}
.paquete.d25 .sello{background:#0a7f68}
.paq-titulo{font-family:var(--tipo);text-transform:uppercase;font-size:17px;
            font-weight:900;letter-spacing:.03em;min-width:0}
.paq-resumen{color:var(--gris);font-size:13px;min-width:0;overflow:hidden;
             text-overflow:ellipsis;white-space:nowrap}
.paq-importe{font-family:var(--tipo);font-size:20px;font-weight:900;white-space:nowrap}
/* El "+" que se vuelve "-" al abrir. Se dibuja con dos rayas para que gire
   parejo; un signo tipografico salta de linea base entre navegadores. */
.paq-mas{position:relative;width:16px;height:16px;justify-self:end;flex:none}
.paq-mas::before,.paq-mas::after{content:"";position:absolute;background:var(--rojo-vivo);
                                 transition:transform .22s,opacity .22s}
.paq-mas::before{left:0;top:7px;width:16px;height:2px}
.paq-mas::after{left:7px;top:0;width:2px;height:16px}
.paquete[open] .paq-mas::after{transform:rotate(90deg);opacity:0}
.paq-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
            gap:22px;padding:0 18px 20px;border-top:1px solid var(--linea);
            padding-top:20px;margin:0 0 0}
.paq-detalle{min-width:0;display:flex;flex-direction:column}
.paquete .para{color:var(--gris);font-size:13px;margin:0 0 18px;flex:1;font-style:italic}
.paquete .importe{font-family:var(--tipo);font-size:26px;font-weight:900;margin:0;
                  padding-top:16px;border-top:1px solid var(--linea)}
.paquete .importe i{display:block;font-style:normal;font-size:10px;color:var(--gris);
                    letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-weight:700}

.cotiza{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start}
/* min-width:0 otra vez, y por lo mismo de siempre: la tira de atajos que se
   desliza es mas ancha que la pantalla, y sin esto el hijo del grid se niega
   a encogerse y empuja la pagina entera a lo ancho. */
.cotiza-izq{background:var(--humo);border:1px solid var(--linea);padding:26px;min-width:0}
.cotiza-fila{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.cotiza-fila select{flex:1;min-width:200px;background:var(--negro);border:1px solid var(--linea);
                    color:#fff;padding:13px 14px;font:inherit;font-size:15px;outline:none}
.cotiza-fila select:focus{border-color:var(--rojo)}
.cotiza-fila input{width:88px;background:var(--negro);border:1px solid var(--linea);color:#fff;
                   padding:13px 12px;font:inherit;font-size:16px;outline:none;text-align:center}
.cotiza-atajos{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;
               padding-bottom:20px;border-bottom:1px solid var(--linea)}
.cotiza-atajos span{font-size:12.5px;color:var(--gris);margin-right:4px}
.atajo{background:none;border:1px solid var(--linea);color:var(--gris-claro);
       font-family:var(--tipo);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;
       font-weight:700;padding:8px 14px;cursor:pointer;transition:.2s}
.atajo:hover{border-color:var(--rojo);color:#fff;background:var(--negro)}
.cotiza-tabla{width:100%;border-collapse:collapse;font-size:14px}
.cotiza-tabla td{padding:11px 4px;border-bottom:1px solid var(--linea);color:var(--gris-claro)}
.cotiza-tabla .fmt{font-style:normal;font-family:var(--tipo);text-transform:uppercase;
                   letter-spacing:.1em;font-size:9.5px;color:var(--gris);margin-left:7px}
.cotiza-tabla .cant{color:var(--rojo-vivo);font-family:var(--tipo);font-weight:700;width:44px}
.cotiza-tabla .imp{text-align:right;white-space:nowrap;font-family:var(--tipo);font-weight:700;
                   color:var(--papel)}
.cotiza-tabla .quita{width:30px;text-align:right}
.cotiza-tabla .quita button{background:none;border:0;color:#5d5d5d;cursor:pointer;font-size:17px;
                            line-height:1;padding:2px 4px;transition:.18s}
.cotiza-tabla .quita button:hover{color:var(--rojo-vivo)}
.cotiza-vacio{color:var(--gris);font-size:14px;text-align:center;padding:26px 0 6px;margin:0}

.cotiza-der{background:var(--negro);border:1px solid var(--linea);border-top:3px solid var(--rojo);
            padding:28px 26px;position:sticky;top:calc(var(--alto-cabecera) + 16px)}
.cotiza-der h3{font-family:var(--tipo);text-transform:uppercase;font-size:17px;margin:0 0 20px;
               letter-spacing:.1em;font-weight:900}
.cotiza-cuenta{margin:0 0 18px}
.cotiza-cuenta > div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
                     padding:11px 0;border-bottom:1px solid var(--linea)}
.cotiza-cuenta dt{font-size:13.5px;color:var(--gris)}
.cotiza-cuenta dd{margin:0;font-family:var(--tipo);font-weight:700;font-size:16px;
                  color:var(--gris-claro)}
.cotiza-cuenta .desc dd{color:var(--rojo-vivo)}
.cotiza-cuenta .desc b{color:var(--rojo-vivo);font-size:11px;letter-spacing:.08em}
.cotiza-cuenta .total{border-bottom:0;padding-top:16px}
.cotiza-cuenta .total dt{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.12em;
                         font-size:12px;color:var(--papel);font-weight:700}
.cotiza-cuenta .total dd{font-size:30px;color:var(--papel)}
.envio-tachado{text-decoration:line-through;opacity:.55;margin-right:6px;font-weight:400}
.envio-gratis{color:#2ecc71}
.cot-factura{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--gris-claro);
             cursor:pointer;margin-bottom:16px}
.cot-factura input{width:17px;height:17px;accent-color:var(--rojo);cursor:pointer}
.cot-falta{font-size:13px;color:var(--rojo-vivo);margin:0 0 16px;line-height:1.5;min-height:1px}
.cotiza-der .boton{width:100%;justify-content:center;margin-bottom:9px}
.ya-tengo{color:var(--gris);font-size:14px;margin:18px 0 0}
.ya-tengo a{color:var(--rojo-vivo)}
.ya-tengo a:hover{color:#fff}
@media (max-width:900px){
  /* En el telefono el cotizador se usaba mal: agregabas arriba y el total
     quedaba dos pantallas abajo, asi que no veias el efecto de lo que
     acababas de hacer. Aqui el resumen se pega al fondo de la pantalla y
     siempre esta a la vista mientras armas el pedido. */
  .cotiza{grid-template-columns:1fr;gap:0}
  .cotiza-izq{padding:20px 18px 22px;border-bottom:0}
  .cotiza-fila{gap:8px}
  .cotiza-fila select{min-width:0;width:100%;flex:1 1 100%}
  .cotiza-fila input{flex:0 0 84px}
  .cotiza-fila .boton{flex:1;justify-content:center;padding:14px 20px}

  /* los ocho atajos en una tira que se desliza, en vez de ocho renglones */
  .cotiza-atajos{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:16px;
                 -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .cotiza-atajos::-webkit-scrollbar{display:none}
  .cotiza-atajos span{flex:0 0 auto}
  .atajo{flex:0 0 auto;white-space:nowrap}

  .cotiza-der{position:sticky;bottom:0;z-index:40;border-top:3px solid var(--rojo);
              border-left:0;border-right:0;border-bottom:0;padding:16px 18px 18px;
              box-shadow:0 -14px 34px rgba(0,0,0,.75)}
  .cotiza-der h3{display:none}
  /* la cuenta se aplana: precio, descuento y envio en una sola linea chica,
     y el total grande, que es lo unico que se mira de reojo */
  .cotiza-cuenta{display:flex;flex-wrap:wrap;gap:0 16px;margin-bottom:12px}
  .cotiza-cuenta > div{flex:0 0 auto;display:block;padding:0;border-bottom:0}
  .cotiza-cuenta dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em}
  .cotiza-cuenta dd{font-size:14px}
  .cotiza-cuenta .total{margin-left:auto;text-align:right}
  .cotiza-cuenta .total dd{font-size:26px;line-height:1.1}
  .cot-factura{margin-bottom:10px;font-size:13px}
  .cot-falta{font-size:12px;margin-bottom:10px}
  .cotiza-der .boton{padding:13px 20px}
  #cot-limpia{display:none}
}
/* ---------- SOLINCO MAS (fin) ---------- */


/* ---------- DISTRIBUIDORES: GANANCIA, PAQUETES Y DONDE COMPRAR (inicio) ----
   Esta es la pagina que vende. Todo lo demas del sitio informa; aqui alguien
   decide. Por eso los numeros van grandes y el precio publico va tachado al
   lado del de distribuidor: un precio solo no compara contra nada.
   ------------------------------------------------------------------------ */
.portada-mas .minutos{color:var(--gris-claro);font-size:13.5px;margin:18px 0 0}
.portada-mas .programa{color:var(--gris);font-size:12.5px;margin:6px 0 0}
.portada-mas .programa b{color:var(--rojo-vivo)}

.rejilla-gana{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:22px}
.gana{background:var(--negro);border:1px solid var(--linea);padding:34px 30px;
      display:flex;flex-direction:column;transition:.28s}
.gana:hover{transform:translateY(-5px);border-color:var(--rojo)}
.gana.acento{border-top:3px solid var(--rojo)}
.gana h3{font-family:var(--tipo);font-size:clamp(34px,4.6vw,54px);margin:0 0 22px;
         letter-spacing:.01em;font-weight:900;line-height:1;color:var(--papel)}
.cadena{list-style:none;margin:0;padding:0;flex:1}
.cadena li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
           padding:13px 0;border-top:1px solid var(--linea);font-size:15px;
           color:var(--gris-claro);flex-wrap:wrap}
.cadena li b{color:var(--gris);font-weight:400;font-size:13.5px;flex:none}
.cadena li i{font-style:normal;font-size:11.5px;color:#6d6d6d;flex-basis:100%;
             text-align:right;margin-top:-4px}
.cadena .resalta{border-top-color:var(--rojo)}
.cadena .resalta b{color:var(--papel);font-weight:700}
/* el renglon donde el encordador escribe lo que cobra */
.cadena .cobro{display:flex;align-items:center;justify-content:space-between;
               gap:12px;flex-wrap:wrap}
.cadena .cobro label{color:var(--gris-claro);font-size:13.5px}
.cobro-caja{display:inline-flex;align-items:center;background:#0a0a0a;
            border:1px solid var(--linea);padding:0 10px}
.cobro-caja:focus-within{border-color:var(--rojo)}
.cobro-caja i{font-style:normal;color:var(--gris);font-size:14px}
.cobro-caja input{width:86px;background:none;border:0;color:var(--papel);
                  font-family:var(--tipo);font-weight:900;font-size:17px;
                  padding:9px 4px;text-align:right}
.cobro-caja input:focus{outline:none}
/* Chrome y Firefox pintan flechitas que aqui solo estorban */
.cobro-caja input::-webkit-outer-spin-button,
.cobro-caja input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cobro-caja input[type=number]{-moz-appearance:textfield}

/* los paquetes, con sus dos precios */
.paq-foto{aspect-ratio:16/10;overflow:hidden;background:#0a0a0a;
          border:1px solid var(--linea);align-self:start}
.paq-foto img{width:100%;height:100%;object-fit:cover;display:block}
.paq-lleva{list-style:none;margin:0 0 14px;padding:0}
.paq-lleva li{font-size:13.5px;color:var(--gris-claro);padding:5px 0}
.paq-lleva b{color:var(--rojo-vivo);font-family:var(--tipo);font-weight:900;
             margin-right:5px;font-size:15px}
.paq-precios{border-top:1px solid var(--linea);padding-top:16px;margin-top:auto}
.paq-cuerpo .paq-precios{margin-top:auto}
.paq-publico{font-size:12.5px;color:var(--gris);margin:0 0 4px;
             background:none;border:0;padding:0}
.paq-publico s{color:#6d6d6d}
.paq-precios .importe{border-top:0;padding-top:0;margin:0 0 8px}
.paq-precios .ahorro{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.1em;
                     font-size:11.5px;color:#2ecc71;margin:0;font-weight:700}
.paq-precios .ahorro span{display:block;color:var(--gris);letter-spacing:.06em;
                          font-size:10px;margin-top:3px;font-weight:400}

/* donde comprar */
.donde{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:stretch}
.donde-texto{background:var(--humo);border:1px solid var(--linea);padding:34px 30px}
.donde-texto p{color:var(--gris-claro);font-size:16px;line-height:1.7;margin:0 0 14px}
.donde-texto .chico{color:var(--gris);font-size:14px;margin-bottom:24px}
.donde-caja{background:var(--negro);border:1px solid var(--linea);
            border-left:3px solid var(--rojo);padding:34px 30px}
.donde-caja h3{font-family:var(--tipo);text-transform:uppercase;font-size:22px;margin:0 0 14px;
               letter-spacing:.03em;font-weight:900}
.donde-caja p{color:var(--gris);font-size:14.5px;line-height:1.7;margin:0}
@media (max-width:820px){.donde{grid-template-columns:1fr}}
.comparacion{border:1px solid var(--linea);border-top:3px solid var(--rojo);
             background:var(--negro);padding:30px 28px;margin-top:22px}
.comparacion-filas{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 16px}
.comparacion-filas > div{background:var(--humo);border:1px solid var(--linea);padding:20px 22px}
.comparacion-filas b{display:block;font-size:13px;color:var(--gris);font-weight:400;
                     margin-bottom:10px}
.comparacion-filas span{font-family:var(--tipo);font-size:clamp(26px,3.4vw,38px);
                        font-weight:900;display:block;line-height:1;color:var(--gris-claro)}
.comparacion-filas i{font-style:normal;font-size:11px;color:#6d6d6d;letter-spacing:.08em;
                     text-transform:uppercase;display:block;margin-top:6px}
.comparacion-filas .mejor{border-color:var(--rojo)}
.comparacion-filas .mejor span{color:#2ecc71}
.comparacion .remate{color:var(--gris-claro);font-size:15.5px;margin:0;text-align:center}
.comparacion .remate b{color:var(--papel)}
@media (max-width:640px){.comparacion-filas{grid-template-columns:1fr}}

/* En el telefono la pagina medía 19 pantallas de largo. Los cuatro paquetes
   del escalon que NO estas viendo se pliegan: siguen ahi, pero no te hacen
   pasar por ocho tarjetas antes de llegar al registro. */
@media (max-width:760px){
  /* Cerrados ya caben los diez, asi que se acabo el "ver mas": el renglon
     pasa a dos lineas y el resumen se va debajo del nombre. */
  .paquete summary{grid-template-columns:auto minmax(0,1fr) auto 20px;
                   gap:10px 12px;padding:12px 14px}
  .paq-titulo{font-size:15px}
  .paq-resumen{grid-column:2/5;white-space:normal;font-size:12px;line-height:1.45}
  .paq-importe{font-size:17px}
  .paq-mas{width:14px;height:14px}
  .paq-mas::before{top:6px;width:14px}
  .paq-mas::after{left:6px;height:14px}
  .paq-cuerpo{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px 14px 18px}
  .comparacion{padding:22px 18px}
  .gana{padding:26px 22px}
  .cadena li i{flex-basis:auto;text-align:right;margin-top:0}
}

.barra-cta{display:none}
@media (max-width:760px){
  .barra-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:80;
             background:var(--rojo);color:#fff;padding:13px 20px;border-radius:999px;
             align-items:center;justify-content:space-between;gap:12px;
             box-shadow:0 10px 30px rgba(0,0,0,.6);transition:.28s}
  .barra-cta.escondida{transform:translateY(120%);opacity:0;pointer-events:none}
  .barra-cta b{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.1em;
               font-size:12.5px;font-weight:900}
  .barra-cta span{font-size:10.5px;opacity:.85;white-space:nowrap}
  .wasap{bottom:80px}
}

/* ---------- DISTRIBUIDORES (fin) ---------- */


/* ---------- BLOQUE DE PRODUCTO (inicio) ----------
   Calcado de la ficha de Solinco USA, que es lo que le gusto a Fernando:
   fondo claro, dos columnas, la foto grande con miniaturas a la izquierda y
   a la derecha el nombre, el precio, la descripcion y las presentaciones y
   calibres como pastillas. Es lo que hace que se vea de tienda.
   ------------------------------------------------------------------------ */
.bloque-producto{background:#f4f6f8;color:#15181d;padding:clamp(44px,6vw,74px) 0}
.bp-rejilla{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.bp-fotos{position:sticky;top:calc(var(--alto-cabecera) + 20px)}
.bp-grande{background:#fff;border:1px solid #e4e8ee;aspect-ratio:1;display:flex;
           align-items:center;justify-content:center;overflow:hidden}
.bp-grande img{width:100%;height:100%;object-fit:contain;padding:26px;
               transition:opacity .25s}
.bp-miniaturas{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));
               gap:10px;margin-top:10px}
.bp-mini{background:#fff;border:1px solid #e4e8ee;padding:0;cursor:pointer;
         aspect-ratio:1;overflow:hidden;transition:.2s}
.bp-mini img{width:100%;height:100%;object-fit:cover}
.bp-mini:hover{border-color:#b9c0cb}
.bp-mini.activa{border-color:var(--rojo);border-width:2px}

.bp-datos{background:#fff;border:1px solid #e4e8ee;padding:clamp(28px,3.4vw,44px)}
.bp-miga{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.14em;
         font-size:10.5px;color:#8a9099;margin:0 0 12px;font-weight:700}
.bp-datos h2{font-family:var(--tipo);text-transform:uppercase;
             font-size:clamp(28px,3.6vw,44px);margin:0 0 10px;letter-spacing:.01em;
             font-weight:900;color:#15181d;line-height:1}
.bp-precio{font-size:clamp(19px,2.2vw,26px);color:#5b636e;margin:0 0 22px;
           font-family:var(--tipo);font-weight:700}
.bp-precio span{color:#b9c0cb;margin:0 4px}
/* Cuando el producto todavia no tiene precio en Mexico. Va mas
   chico que un precio de verdad: es un aviso, no una cifra. */
.bp-sin-precio{font-size:clamp(16px,1.6vw,19px)}
.bp-sin-precio a{color:var(--rojo);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.bp-sin-precio a:hover{color:var(--rojo-vivo)}
.bp-texto{font-size:15.5px;line-height:1.72;color:#3a4250;margin:0 0 16px;
          text-align:justify;hyphens:auto}
.bp-grupo{border-top:1px solid #e4e8ee;padding-top:20px;margin-top:22px}
.bp-grupo h4{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.14em;
             font-size:10.5px;color:#15181d;margin:0 0 12px;font-weight:900}
.pastillas{display:flex;flex-wrap:wrap;gap:9px}
.pastillas span{border:1px solid #d6dbe3;padding:9px 15px;font-size:13px;color:#3a4250;
                background:#fbfcfd;white-space:nowrap;max-width:100%}
.pastillas span b{font-weight:700;color:#15181d;margin-right:5px;font-size:11.5px;
                  text-transform:uppercase;letter-spacing:.08em}
.bp-boton{display:inline-flex;align-items:center;gap:9px;background:#15181d;color:#fff;
          font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;
          font-size:12.5px;font-weight:700;padding:16px 34px;margin-top:28px;
          transition:.22s;border-radius:999px}
.bp-boton:hover{background:var(--rojo);gap:14px}
.bp-nota{font-size:12.5px;color:#8a9099;margin:14px 0 0;line-height:1.6}
@media (max-width:860px){
  .bp-rejilla{grid-template-columns:1fr;gap:20px}
  .bp-fotos{position:static}
  .bp-texto{text-align:left}
  /* En celular la pastilla SI se parte. Con nowrap, una larga como
     "Mini-rollo de 100 m (disponible solo en calibres 16, 16L y 17)"
     mide mas que la pantalla y arrastraba la pagina entera de lado. */
  .pastillas span{white-space:normal}
}
/* ---------- BLOQUE DE PRODUCTO (fin) ---------- */

/* ---------- FICHA DE PRODUCTO (inicio) ----------
   Sigue la ficha de solincosports.com: portada a sangre, lema, entrada,
   bloques de beneficio y ficha tecnica. La diferencia de fondo es el final:
   ellos rematan con un boton de comprar; nosotros con el precio de lista y
   el camino a Solinco Mas, porque aqui no se compra desde la web publica.
   ------------------------------------------------------------------------ */
.ficha-heroe{position:relative;height:clamp(360px,54vh,580px);overflow:hidden;background:#0a0a0a;
             display:flex;align-items:flex-start;justify-content:center;
             padding-top:clamp(22px,4vh,48px)}
/* La foto va DOS veces. Atras (.fh-fondo) va recortada y desenfocada: no se
   lee, solo pinta la franja del color del propio producto. Adelante
   (.fh-frente) va completa, con contain, para que el empaque se vea entero.
   Antes era una sola foto con object-fit:cover, y como 48 de las 53 portadas
   son cuadradas, el recorte se comia casi todo. */
.ficha-heroe .fh-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
                       filter:blur(46px) saturate(1.35) brightness(.48);transform:scale(1.18)}
.ficha-heroe .fh-frente{position:relative;z-index:1;
                        max-height:54%;max-width:min(40%,450px);width:auto;height:auto;
                        object-fit:contain;
                        filter:drop-shadow(0 26px 50px rgba(0,0,0,.55))}
/* El velo va ARRIBA de la foto y solo pega fuerte abajo: oscurece el pie del
   empaque para que el titulo se lea encima, igual que en la ficha de ellos. */
.ficha-heroe .fh-velo{position:absolute;inset:0;z-index:2;pointer-events:none;
                      background:linear-gradient(180deg,rgba(0,0,0,.40) 0%,
                                 rgba(0,0,0,0) 30%,rgba(0,0,0,.30) 62%,rgba(0,0,0,.80) 100%)}
/* En celular el 48% de ancho deja el empaque diminuto: ahi se le da casi
   toda la pantalla, y el desenfoque se baja porque en pantalla chica un
   blur de 46px se come el color y deja una mancha gris. */
@media (max-width:760px){
  .ficha-heroe{height:clamp(300px,46vh,420px)}
  .ficha-heroe .fh-frente{max-width:min(66vw,300px);max-height:46%}
  .ficha-heroe .fh-fondo{filter:blur(28px) saturate(1.35) brightness(.5)}
}
.ficha-heroe::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,0) 30%,
                             rgba(0,0,0,.55) 74%,rgba(0,0,0,.9) 100%)}
.ficha-titulo{position:absolute;left:0;right:0;bottom:0;z-index:3;padding-bottom:42px;
              text-align:center}
.ficha-titulo h1{font-family:var(--tipo);text-transform:uppercase;
                 font-size:clamp(34px,6vw,80px);line-height:.98;margin:0 0 12px;
                 letter-spacing:.01em;font-weight:900;text-shadow:0 3px 22px rgba(0,0,0,.6)}
.ficha-titulo .lema{font-size:clamp(15px,1.8vw,21px);color:var(--gris-claro);margin:0;
                    max-width:760px;margin-inline:auto;text-wrap:balance}
.ficha-entrada{max-width:820px;margin:0 auto;font-size:clamp(16px,1.7vw,19px);line-height:1.72;
               color:var(--gris-claro);text-align:justify;hyphens:auto}
.rejilla-beneficios{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.beneficio{background:var(--humo);border:1px solid var(--linea);overflow:hidden;transition:.28s;
           display:flex;flex-direction:column}
.beneficio:hover{border-color:var(--rojo);transform:translateY(-5px)}
.beneficio-foto{aspect-ratio:1;overflow:hidden;background:#0a0a0a}
.beneficio-foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.beneficio:hover .beneficio-foto img{transform:scale(1.05)}
.beneficio h3{font-family:var(--tipo);text-transform:uppercase;font-size:19px;
              margin:24px 26px 10px;letter-spacing:.03em;font-weight:900}
.beneficio p{color:var(--gris);font-size:14.5px;margin:0 26px 26px;
             text-align:justify;hyphens:auto}

.tabla-ficha{overflow-x:auto;border:1px solid var(--linea);margin-bottom:18px}
.tabla-ficha table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
.tabla-ficha th{background:#0a0a0a;color:var(--papel);text-align:left;padding:14px 16px;
                font-family:var(--tipo);text-transform:uppercase;letter-spacing:.11em;
                font-size:10.5px;white-space:nowrap;font-weight:700}
.tabla-ficha td{padding:14px 16px;border-top:1px solid var(--linea);color:var(--gris-claro)}
.tabla-ficha tr:hover td{background:var(--humo)}
.tabla-ficha .sku{font-family:var(--tipo);color:var(--rojo-vivo);letter-spacing:.1em;
                  font-size:11.5px;font-weight:700}
.tabla-ficha .der{text-align:right}
.tabla-ficha .precio{font-family:var(--tipo);font-size:17px;font-weight:900;color:var(--papel)}

.aun-no{border:1px dashed var(--linea);background:var(--humo);padding:44px 30px;
        text-align:center;margin-bottom:20px}
.aun-no h3{font-family:var(--tipo);text-transform:uppercase;font-size:22px;margin:0 0 12px;
           letter-spacing:.03em;font-weight:900}
.aun-no p{color:var(--gris);max-width:600px;margin:0 auto 24px;font-size:15px}

.especs,.calibres{margin-top:34px}
.especs h4,.calibres h4{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.15em;
                        font-size:11.5px;color:var(--rojo-vivo);margin:0 0 16px;font-weight:700}
.especs dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;
           background:var(--linea);border:1px solid var(--linea);margin:0}
.especs dl > div{background:var(--negro);padding:16px 18px}
.especs dt{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.11em;font-size:10px;
           color:var(--gris);margin-bottom:6px;font-weight:700}
.especs dd{margin:0;font-size:15px;color:var(--papel)}
.calibres ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.calibres li{border:1px solid var(--linea);padding:9px 16px;font-size:13px;color:var(--gris-claro);
             font-family:var(--tipo);letter-spacing:.06em}

/* Tres por linea, fijas. Con auto-fit el navegador metia 4 o 5 en monitores
   anchos y las fotos quedaban chiquitas. */
.galeria-ficha{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.galeria-ficha img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--linea);
                   transition:.3s}
.galeria-ficha img:hover{border-color:var(--rojo);transform:scale(1.02)}
@media (max-width:700px){
  .ficha-entrada{text-align:left}
  .beneficio p{text-align:left}
}
/* ---------- FICHA DE PRODUCTO (fin) ---------- */

/* ---------- MOVIL (inicio) ---------- */
@media (max-width:1100px){
  .rejilla-social{grid-template-columns:repeat(3,1fr)}
  .pie-rejilla{grid-template-columns:1fr 1fr;gap:34px}
  .franja-uni ul{grid-template-columns:repeat(7,1fr)}
}
@media (max-width:900px){
  .hamburguesa{display:block}
  .navegacion{position:fixed;inset:var(--alto-cabecera) 0 auto 0;background:#0a0a0a;
              flex-direction:column;align-items:stretch;gap:0;height:auto;max-height:0;
              overflow:hidden;transition:max-height .35s;border-bottom:1px solid var(--linea)}
  .navegacion.abierta{max-height:80vh;overflow-y:auto}
  .navegacion > li{height:auto;display:block;border-bottom:1px solid var(--linea)}
  .navegacion > li > a{padding:16px 24px;height:auto;border:0}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;max-height:0;
           overflow:hidden;transition:max-height .3s;border:0;box-shadow:none;padding:0;
           background:#050505}
  .navegacion > li.desplegado .submenu{max-height:900px;padding:6px 0}
  /* En celular el panel ancho no cabe: se vuelve una lista corrida dentro
     del menu, con sus cuatro encabezados uno debajo del otro. */
  .navegacion > li.con-panel{position:relative}
  .panel-menu{position:static;opacity:1;visibility:visible;transform:none;
              max-height:0;overflow:hidden;transition:max-height .3s;border:0;
              box-shadow:none;background:#050505}
  .navegacion > li.con-panel.desplegado .panel-menu{max-height:1400px}
  .panel-menu .envoltura{padding:0}
  .columnas-menu{flex-direction:column;gap:0;padding:6px 0 14px}
  .columna-menu h4{font-size:11px;color:var(--rojo-vivo);letter-spacing:.16em;
                   padding:16px 24px 6px;margin:0}
  .columna-menu h4 a{color:inherit;text-decoration:none;display:inline-block}
.columna-menu h4 a:hover{color:var(--rojo-vivo)}
.columna-menu h4 a:focus-visible{outline:2px solid var(--rojo);outline-offset:3px}
.columna-menu li{margin:0}
  .columna-menu li a{display:block;padding:11px 24px 11px 34px;font-size:13px}
  .columna-menu li a:hover{transform:none;background:var(--humo)}
  .submenu .submenu{max-height:0;padding:0}
  .submenu li.desplegado > .submenu{max-height:600px;padding:4px 0}
  .submenu a{padding-left:40px}
  .rejilla-3{grid-template-columns:1fr}
  .rejilla-notas{grid-template-columns:1fr}
  /* EN CELULAR EL CARRUSEL SE QUEDABA CORTO.
     La lamina se pone en 4:5, pero .heroe seguia midiendo el alto completo de
     la pantalla: en un telefono de 390x844 el marco medía 730 px y la lamina
     nada mas 488. Los 242 px que sobraban eran una banda negra debajo del
     banner, casi un tercio del espacio.

     Se le da al marco la MISMA proporcion que a la lamina y se le quita el
     alto de pantalla. Asi no puede volver a descuadrarse: si manana se cambia
     el 4:5, los dos cambian juntos. */
  .heroe{height:auto;aspect-ratio:4/5;min-height:0;max-height:none}
  .lamina{aspect-ratio:4/5;min-height:0}
  .lamina .dicho{max-width:100%;justify-content:flex-end;padding-bottom:56px}
  .lamina::after{background:linear-gradient(180deg,transparent 32%,rgba(0,0,0,.86) 100%)}
  .flecha-h{display:none}
  .jugador{aspect-ratio:4/5;min-height:0}
  .barra-uni .correo{display:none}
  /* En 390px no caben logo + lupa + 4 redes + hamburguesa: la cabecera se
     salia 77px y empujaba la pagina a lo ancho. Las redes se quitan de aqui
     porque estan completas en el pie; la lupa y el menu si se quedan. */
  /* Se esconden TODOS los iconos sociales, no solo los enlaces. Antes decia
     ".utilidades > a" y los apagados son <span>, no <a>: en el celular
     quedaban a la vista justo los dos muertos (X y YouTube) y desaparecian
     Facebook e Instagram, que son los que si sirven. Al reves de lo util. */
  /* Menos "Entrar", que en el celular es MAS importante que en la
     computadora: el distribuidor que hace su pedido del mes lo hace desde el
     telefono, y hasta el 5-sep-2026 tenia que entrar a Distribuidores y bajar
     veintidos pantallas para hallar la puerta. Las redes si se van: estan
     completas en el pie. */
  .utilidades > a:not(.entrar-cuenta),
  .utilidades > .red-pendiente{display:none}
  .separador{display:none}
  .utilidades{gap:12px}
  .logo img{height:22px}
  .cabecera .envoltura{gap:10px}
}
@media (max-width:560px){
  .rejilla-social{grid-template-columns:repeat(2,1fr)}
  .pie-rejilla{grid-template-columns:1fr}
  .franja-uni ul{grid-template-columns:repeat(4,1fr);gap:20px 12px}
  .franja-uni img{max-height:54px}
  .envoltura{padding:0 18px}
  .pestanas button{padding:11px 20px;font-size:11.5px}
}
/* ---------- MOVIL (fin) ---------- */

/* ============================================================
   PAGINA DE CATEGORIA  (inicio)
   Acomodo tomado de la pagina de categoria de Solinco USA, que es la que le
   gusto a Fernando. Tres cosas la hacen ver mejor que la que teniamos:
   fondo claro, encabezado chico (antes gastabamos 750 px de alto antes del
   primer producto) y la foto grande sin tarjeta negra debajo.
   ============================================================ */
.cat-pagina{background:#fff;color:#15181d;padding:clamp(28px,4vw,46px) 0 clamp(50px,7vw,90px)}
.cat-encabezado{border-bottom:1px solid #e3e7ec;padding-bottom:20px;margin-bottom:clamp(24px,3.4vw,40px)}
.cat-encabezado .miga{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
                      color:#8b94a3;margin:0 0 10px}
.cat-encabezado .miga a{color:var(--rojo-vivo);text-decoration:none}
.cat-encabezado .miga a:hover{text-decoration:underline}
.cat-encabezado h1{font-family:var(--tipo-titulo,inherit);font-size:clamp(30px,4.4vw,52px);
                   line-height:1.02;margin:0;letter-spacing:.01em;text-transform:uppercase}
.cat-bajada{margin:12px 0 0;color:#5c6675;font-size:15.5px;max-width:70ch}

.cat-cuerpo{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(26px,3.4vw,54px);
            align-items:start}
/* min-width:0 otra vez. En celular el renglon de familias hace scroll
   horizontal, y sin esto su columna crece hasta el ancho de TODAS las
   familias juntas y arrastra la pagina entera de lado. Ya me habia pasado
   con la banda de universidades y con las pastillas de los paquetes:
   overflow:hidden NO basta, el hijo de un grid o un flex no se encoge por
   debajo de su contenido a menos que se lo digas. */
.cat-lado{position:sticky;top:calc(var(--alto-cabecera) + 22px);min-width:0}
.cat-contenido{min-width:0}
.cat-familias{display:flex;flex-direction:column;gap:2px;margin-bottom:22px}
.cat-familias .familia{display:block;padding:7px 0;text-decoration:none;color:#5c6675;
                       font-size:13px;letter-spacing:.13em;text-transform:uppercase;
                       font-weight:700;border-left:2px solid transparent;padding-left:12px;
                       transition:color .16s,border-color .16s}
.cat-familias .familia:hover{color:#15181d}
.cat-familias .familia.activo{color:#15181d;border-left-color:var(--rojo-vivo)}
.cat-lado #filtra-catalogo{width:100%;box-sizing:border-box;padding:10px 13px;
                          border:1px solid #d6dbe3;background:#fbfcfd;color:#15181d;
                          font:inherit;font-size:13.5px;border-radius:0}
.cat-lado #filtra-catalogo:focus{outline:0;border-color:#15181d}
.cat-lado #filtra-catalogo::placeholder{color:#98a1ae}
.cat-cuantos{margin:12px 0 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
             color:#8b94a3}

/* La rejilla clara: tres por renglon, la foto ocupa toda la loseta y el texto
   va centrado debajo, sin tarjeta ni borde. Es lo que hace que se lea limpio. */
.rejilla-cat.clara{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
                   gap:clamp(18px,2.4vw,34px) clamp(14px,1.8vw,26px)}
.rejilla-cat.clara .prod{background:none;border:0;display:block;text-decoration:none;
                         color:inherit;padding:0}
.rejilla-cat.clara .prod-foto{background:#fff;border:1px solid #eceff3;
                              aspect-ratio:1/1;display:flex;
                              align-items:center;justify-content:center;padding:9%;
                              box-sizing:border-box;margin:0 0 16px;overflow:hidden}
.rejilla-cat.clara .prod-foto img{width:100%;height:100%;object-fit:contain;
                                  transition:transform .35s ease}
.rejilla-cat.clara .prod.con-ficha:hover .prod-foto img{transform:scale(1.045)}
.rejilla-cat.clara .prod-datos{text-align:center;padding:0}
.rejilla-cat.clara .prod-datos h3{font-size:clamp(14px,1.25vw,17px);letter-spacing:.08em;
                                  text-transform:uppercase;margin:0 0 9px;color:#15181d;
                                  line-height:1.28}
.rejilla-cat.clara .prod.con-ficha:hover .prod-datos h3{color:var(--rojo-vivo)}
.rejilla-cat.clara .precio{margin:0;font-size:16px;color:#3a4250;font-weight:400;
                           letter-spacing:0}
.rejilla-cat.clara .precio span{font-size:13px;color:#8b94a3;margin-right:1px}
.rejilla-cat.clara .precio i{font-style:normal;font-size:11px;color:#a4acb8;
                             letter-spacing:.08em;margin-left:3px}
.rejilla-cat.clara .calibre{margin:8px 0 0;font-size:12.5px;color:#8b94a3}
.rejilla-cat.clara .sin-foto-aviso{color:#a4acb8;font-size:12px;letter-spacing:.1em;
                                   text-transform:uppercase}
.cat-contenido .sin-resultados{color:#5c6675;text-align:center;padding:50px 0}

@media (max-width:980px){
  /* El lado se vuelve un renglon corrido arriba, que es como si funciona en
     celular; el filtro no se pierde, solo cambia de forma. */
  .cat-cuerpo{grid-template-columns:minmax(0,1fr);gap:22px}
  .cat-lado{position:static}
  .cat-familias{flex-direction:row;gap:0;overflow-x:auto;margin-bottom:14px;
                border-bottom:1px solid #e3e7ec;-webkit-overflow-scrolling:touch}
  .cat-familias::-webkit-scrollbar{display:none}
  .cat-familias .familia{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;
                         padding:9px 15px 11px}
  .cat-familias .familia.activo{border-left-color:transparent;
                                border-bottom-color:var(--rojo-vivo)}
  .rejilla-cat.clara{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .rejilla-cat.clara{gap:16px 12px}
  .rejilla-cat.clara .prod-datos h3{font-size:13px}
}
/* PAGINA DE CATEGORIA  (fin) */

/* ============================================================
   PAGINA DE JUGADOR  (inicio)
   Estructura tomada de la pagina de jugador de Solinco USA: portada
   panoramica, perfil con datos, con que juega, video y logros. Lo que
   agregamos nosotros es el paso a otros del equipo, que ellos no tienen
   (su pagina es callejon sin salida), y el enlace del equipo a NUESTRA
   ficha, que es donde se vende.
   ============================================================ */
.jug-perfil{background:#fff;color:#15181d}
.jug-frase{font-size:clamp(19px,2.3vw,28px);line-height:1.42;font-weight:400;
           max-width:60ch;margin:0 0 clamp(26px,3vw,40px);color:#15181d}
.jug-rejilla{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);
             gap:clamp(24px,3.2vw,48px);align-items:start}
.jug-retrato img{width:100%;height:auto;display:block}
/* Sin tope, la etiqueta y el valor quedaban en extremos opuestos de la
   pantalla y el ojo perdia el renglon. */
.jug-datos{max-width:540px}
.jug-datos h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;
              color:#8b94a3;margin:0 0 14px;font-weight:900}
.jug-datos dl{margin:0;display:grid;gap:0}
.jug-datos dl > div{display:flex;justify-content:space-between;gap:18px;
                    padding:11px 0;border-bottom:1px solid #eceff3}
.jug-datos dt{color:#8b94a3;font-size:13px;margin:0}
.jug-datos dd{margin:0;font-weight:700;font-size:14.5px;text-align:right;color:#15181d}
.jug-mano{margin:16px 0 0;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
          color:#5c6675;font-weight:700}
.jug-bio{margin-top:clamp(26px,3.2vw,42px);max-width:74ch}
.jug-bio p{margin:0 0 16px;line-height:1.78;color:#3a4250;text-align:justify;hyphens:auto}

.jug-logros{list-style:none;margin:0;padding:0;display:grid;
            grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.jug-logros li{position:relative;padding:16px 18px 16px 44px;background:var(--humo);
               border:1px solid var(--linea);line-height:1.55}
.jug-logros li::before{content:"";position:absolute;left:18px;top:23px;width:12px;height:2px;
                       background:var(--rojo-vivo)}

/* El video: primero solo la miniatura. YouTube no se carga hasta el clic. */
.jug-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.video-caja{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;cursor:pointer}
.video-caja img.video-foto{width:100%;height:100%;object-fit:cover;
                           transition:transform .4s ease,opacity .25s}
.video-caja:hover img.video-foto{transform:scale(1.04);opacity:.82}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
            width:72px;height:52px;border:0;background:none;padding:0;cursor:pointer}
.video-play svg{width:100%;height:100%}
.video-play .fondo{fill:#15181d;fill-opacity:.82;transition:fill .2s,fill-opacity .2s}
.video-play .flecha{fill:#fff}
.video-caja:hover .video-play .fondo{fill:var(--rojo-vivo);fill-opacity:1}
.video-pie{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 13px;color:#fff;
           font-size:13px;line-height:1.4;pointer-events:none;
           background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.85))}
.video-caja iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

@media (max-width:860px){
  .jug-rejilla{grid-template-columns:minmax(0,1fr);gap:22px}
  .jug-retrato{max-width:340px}
  .jug-datos dd{font-size:14px}
}
/* PAGINA DE JUGADOR  (fin) */

/* El video dentro de una nota: mismo componente que en jugadores, pero solo. */
.nota-video{margin:26px 0 10px}
.nota-video .video-caja{max-width:820px}

/* La parrilla de notas, en claro y dentro del acomodo de categoria. */
.rejilla-notas.clara{grid-template-columns:repeat(2,minmax(0,1fr))}
.rejilla-notas.clara .nota{background:#fff;border:1px solid #eceff3;color:#15181d}
.rejilla-notas.clara .nota h3{color:#15181d}
.rejilla-notas.clara .nota:hover h3{color:var(--rojo-vivo)}
.rejilla-notas.clara .nota p{color:#5c6675}
.rejilla-notas.clara .nota .fecha{color:#8b94a3}
/* "Leer nota" es blanco en el diseno oscuro; sobre la tarjeta clara quedaba
   invisible y solo se veia su rayita roja. */
.rejilla-notas.clara .nota .leer{color:#15181d}
.rejilla-notas.clara .nota:hover .leer{color:var(--rojo-vivo)}
/* Los filtros de año son <button>, no <a>: hay que quitarles lo de boton. */
.cat-familias button.familia{background:none;border:0;border-left:2px solid transparent;
                             font:inherit;text-align:left;cursor:pointer;width:100%}
.cat-familias button.familia i{font-style:normal;color:#a4acb8;margin-left:7px;font-size:11px}
@media (max-width:980px){
  .cat-familias button.familia{width:auto;border-left:0;border-bottom:2px solid transparent}
}
@media (max-width:700px){
  .rejilla-notas.clara{grid-template-columns:minmax(0,1fr)}
}

/* ============================================================
   PORTADA · franja de distribuidores  (inicio)
   Es la unica seccion de la portada que pide algo. Por eso lleva el rojo de
   la marca y no se parece a las demas: si se viera igual que "Lo Nuevo" o
   "Noticias", el ojo la saltaria como saltaba antes al pie.
   ============================================================ */
.franja-negocio{background:linear-gradient(160deg,#15181d 0%,#0b0d10 62%);
                position:relative;overflow:hidden}
.franja-negocio::before{content:"";position:absolute;inset:0;pointer-events:none;
                        background:radial-gradient(680px 340px at 84% 8%,
                                   rgba(236,28,36,.16),transparent 68%)}
.franja-negocio > .envoltura{position:relative;z-index:1}
.gorro-negocio{font-size:11px;letter-spacing:.24em;text-transform:uppercase;
               color:var(--rojo-vivo);font-weight:900;margin:0 0 12px;text-align:center}

.escalones-portada{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
                   gap:clamp(14px,1.8vw,24px);margin:clamp(28px,3.4vw,44px) 0 0}
.escalon{background:rgba(255,255,255,.035);border:1px solid var(--linea);
         padding:clamp(24px,2.6vw,34px);text-align:center;
         display:flex;flex-direction:column;justify-content:center}
.escalon .pct{font-family:var(--tipo-titulo,inherit);font-size:clamp(52px,6.4vw,84px);
              line-height:.9;margin:0;color:#fff;font-weight:900}
.escalon .pct span{font-size:.42em;color:var(--rojo-vivo);margin-left:2px}
.escalon h3{font-size:13px;letter-spacing:.18em;text-transform:uppercase;
            margin:10px 0 0;color:#fff}
.escalon .cond{margin:14px 0 0;color:#b6bdc8;font-size:15px}
.escalon .extra{margin:6px 0 0;font-size:11.5px;letter-spacing:.14em;
                text-transform:uppercase;color:var(--rojo-vivo);font-weight:700}
.escalon.quien{text-align:left;border-top:3px solid var(--rojo-vivo)}
.escalon.quien h3{margin:0 0 16px;letter-spacing:.14em}
.escalon.quien ul{list-style:none;margin:0;padding:0}
.escalon.quien li{padding:9px 0 9px 20px;position:relative;color:#d6dbe3;
                  border-bottom:1px solid rgba(255,255,255,.07);font-size:14.5px}
.escalon.quien li:last-child{border-bottom:0}
.escalon.quien li::before{content:"";position:absolute;left:0;top:17px;
                          width:9px;height:2px;background:var(--rojo-vivo)}

.botones-negocio{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
                 margin-top:clamp(26px,3vw,38px)}

@media (max-width:860px){
  .escalones-portada{grid-template-columns:repeat(2,minmax(0,1fr))}
  .escalon.quien{grid-column:1 / -1}
}
@media (max-width:520px){
  .escalones-portada{grid-template-columns:minmax(0,1fr)}
  .botones-negocio{flex-direction:column}
  .botones-negocio .boton{text-align:center;justify-content:center}
}
/* PORTADA · franja de distribuidores  (fin) */

/* ---------- SOLICITUD DE PATROCINIO (inicio) ---------- */
.tarjetas-programa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
                   gap:clamp(14px,1.8vw,22px);margin-bottom:clamp(30px,3.6vw,48px)}
.tarjeta-programa{border:1px solid #e3e7ec;border-top:3px solid var(--rojo-vivo);
                  padding:clamp(20px,2.4vw,30px);background:#fbfcfd}
.tarjeta-programa .num{font-family:var(--tipo-titulo,inherit);font-size:13px;
                       color:var(--rojo-vivo);font-weight:900;letter-spacing:.16em}
.tarjeta-programa h3{margin:10px 0 8px;font-size:17px;letter-spacing:.06em;
                     text-transform:uppercase;color:#15181d}
.tarjeta-programa p{margin:0;color:#5c6675;font-size:14.5px;line-height:1.6}

.forma-patrocinio{max-width:880px}
.grupo-forma{border:0;border-top:1px solid #e3e7ec;margin:0 0 clamp(26px,3vw,40px);
             padding:clamp(22px,2.6vw,32px) 0 0}
.grupo-forma legend{font-size:12px;letter-spacing:.2em;text-transform:uppercase;
                    font-weight:900;color:#15181d;padding:0 14px 0 0}
.grupo-pie{margin:0 0 20px;color:#5c6675;font-size:14px;max-width:64ch}
.rejilla-campos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.campo label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
             color:#5c6675;margin-bottom:7px;font-weight:700}
.campo label i{color:var(--rojo-vivo);font-style:normal}
.campo input,.campo select{width:100%;box-sizing:border-box;padding:11px 13px;
                           border:1px solid #d6dbe3;background:#fff;color:#15181d;
                           font:inherit;font-size:14.5px;border-radius:0}
.campo input:focus,.campo select:focus{outline:0;border-color:#15181d}
.campo input:user-invalid{border-color:var(--rojo-vivo)}
.campo-foto{grid-column:1 / -1}
.aviso-campo{margin:8px 0 0;font-size:13px;color:#5c6675}
.aviso-campo.bien{color:#1d8a4e}
.aviso-campo.mal{color:var(--rojo-vivo)}

.casilla{display:flex;gap:11px;align-items:flex-start;margin:0 0 14px;
         color:#3a4250;font-size:14.5px;line-height:1.55;cursor:pointer}
.casilla input{margin:3px 0 0;width:17px;height:17px;flex:0 0 17px;accent-color:var(--rojo-vivo)}
.casilla a{color:var(--rojo-vivo)}
/* La trampa para robots: fuera de la pantalla, nunca display:none, porque
   algunos robots se saltan lo que esta escondido con display. */
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pie-forma{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
           border-top:1px solid #e3e7ec;padding-top:26px}

@media (max-width:860px){
  .tarjetas-programa{grid-template-columns:minmax(0,1fr)}
  .rejilla-campos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .rejilla-campos{grid-template-columns:minmax(0,1fr)}
}
/* ---------- SOLICITUD DE PATROCINIO (fin) ---------- */

/* ---------- CONTACTO en claro (inicio) ----------
   La pagina hereda .cat-pagina, que es clara. Estos bloques venian pintados
   para fondo negro: sin esto quedaban texto blanco sobre blanco. */
.pagina-contacto .contacto-puertas .puerta{background:#fbfcfd;border:1px solid #e3e7ec;
                                           border-top:3px solid var(--rojo-vivo)}
.pagina-contacto .puerta h3{color:#15181d}
.pagina-contacto .puerta p{color:#5c6675}
.pagina-contacto .puerta .boton.hueco{border-color:#15181d;color:#15181d}
.pagina-contacto .puerta .boton.hueco:hover{background:#15181d;color:#fff}

.pagina-contacto .formulario{background:#fff;border:1px solid #e3e7ec;
                             border-top:3px solid var(--rojo-vivo);
                             padding:clamp(24px,3vw,40px);margin-top:clamp(28px,3.4vw,44px)}
.pagina-contacto .formulario h3{color:#15181d;margin:0 0 22px}
.pagina-contacto .formulario label{color:#5c6675}
.pagina-contacto .formulario label b{color:var(--rojo-vivo)}
.pagina-contacto .formulario input,
.pagina-contacto .formulario select,
.pagina-contacto .formulario textarea{background:#fbfcfd;border:1px solid #d6dbe3;
                                      color:#15181d;border-radius:0}
.pagina-contacto .formulario input:focus,
.pagina-contacto .formulario select:focus,
.pagina-contacto .formulario textarea:focus{outline:0;border-color:#15181d}
.pagina-contacto .letra-chica{color:#8b94a3}

.pagina-contacto .datos-contacto{margin-top:clamp(28px,3.4vw,44px);
                                 border-top:1px solid #e3e7ec;padding-top:28px}
/* Estas cajas venian con fondo negro del diseno oscuro. Al pintarles el texto
   de oscuro para la pagina clara quedaron oscuro sobre oscuro: ilegibles. La
   caja tambien tiene que aclararse, no solo el texto. */
.pagina-contacto .datos-contacto > div{background:#fbfcfd;border:1px solid #e3e7ec}
.pagina-contacto .datos-contacto h4{color:#8b94a3}
.pagina-contacto .datos-contacto p,
.pagina-contacto .datos-contacto a{color:#15181d}
.pagina-contacto .datos-contacto a:hover{color:var(--rojo-vivo)}

/* El boton .boton es blanco con texto oscuro, hecho para fondo negro. Sobre
   la pagina clara desaparecia: se veia el texto flotando sin boton. */
.pagina-contacto .formulario .boton{background:#15181d;color:#fff;border-color:#15181d}
.pagina-contacto .formulario .boton:hover{background:var(--rojo-vivo);border-color:var(--rojo-vivo)}
/* ---------- CONTACTO en claro (fin) ---------- */

/* ---------- "LO NUEVO" como carrusel (inicio) ----------
   Mismo componente que la portada, pero mas bajo: va a media pagina y no
   debe competir con el carrusel de arriba. */
.seccion-nuevo{padding-bottom:0}
.heroe-nuevo{height:clamp(300px,42vh,470px);margin-top:clamp(20px,2.6vw,34px)}
.heroe-nuevo .dicho{max-width:520px}
.heroe-nuevo .dicho h2{font-size:clamp(26px,3.4vw,44px)}
/* La lamina que ya trae su arte con texto adentro no lleva bloque de texto:
   se le pone una liga invisible encima para que toda ella sea clicable. */
.heroe-nuevo .lamina-liga{position:absolute;inset:0;z-index:3}
@media (max-width:760px){
  .heroe-nuevo{height:clamp(240px,36vh,340px)}
}
/* ---------- "LO NUEVO" como carrusel (fin) ---------- */

/* ---------- franja de distribuidores, version con arte (inicio) ---------- */
.franja-negocio{position:relative;overflow:hidden;isolation:isolate}
/* La foto de fondo solo debe dar materia, nunca leerse. La primera version
   dejaba ver "VOLUMEN / EL QUE VENDE SET POR SET" del propio arte del
   paquete, que no tiene nada que ver con lo que dice esta seccion y
   confundia. Por eso se acerca al lado del PRODUCTO (object-position) y se
   desenfoca: quedan los rollos y el rayo, sin una sola palabra ajena. */
.fondo-negocio{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
               object-position:88% center;transform:scale(1.75);
               opacity:.26;filter:blur(4px) grayscale(.3) brightness(.6);z-index:-2}
.franja-negocio::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
                       background:
                         radial-gradient(720px 380px at 82% 6%,rgba(236,28,36,.22),transparent 66%),
                         linear-gradient(165deg,rgba(11,13,16,.86) 0%,rgba(11,13,16,.96) 70%)}
.gorro-negocio{font-size:11px;letter-spacing:.24em}

.escalon{position:relative;overflow:hidden;
         background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
         backdrop-filter:blur(2px)}
/* La diagonal roja que cruza el numero: es lo que hace que el escalon se lea
   como una insignia y no como una celda de tabla. */
.escalon::before{content:"";position:absolute;left:-30%;top:-40%;width:160%;height:44%;
                 background:linear-gradient(90deg,transparent,rgba(236,28,36,.16),transparent);
                 transform:rotate(-14deg);pointer-events:none}
.escalon .pct{position:relative;text-shadow:0 6px 26px rgba(0,0,0,.6)}
.escalon .cond b{color:#fff;font-weight:800}
.escalon .quien-corto{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.09);
                      font-size:12.5px;color:#8b94a3;font-style:italic}
.escalon.quien li{display:flex;align-items:center;gap:11px}
.escalon.quien li i{font-style:normal;color:var(--rojo-vivo);font-size:15px;
                    width:18px;text-align:center;flex:0 0 18px}
.escalon.quien li::before{display:none}
.quien-liga{display:inline-flex;align-items:center;gap:8px;margin-top:18px;
            color:var(--rojo-vivo);text-decoration:none;font-family:var(--tipo);
            font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
            transition:gap .2s}
.quien-liga:hover{gap:14px}

/* Las cuatro dudas que trae todo el que se esta pensando registrarse. */
.tira-negocio{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;
              margin-top:clamp(22px,2.6vw,32px)}
.tira-negocio span{position:relative;padding:9px 18px 9px 34px;font-size:13px;
                   color:#d6dbe3;border:1px solid rgba(255,255,255,.13);
                   background:rgba(255,255,255,.03);border-radius:999px}
.tira-negocio span::before{content:"";position:absolute;left:15px;top:50%;
                           width:7px;height:11px;margin-top:-7px;
                           border:solid var(--rojo-vivo);border-width:0 2px 2px 0;
                           transform:rotate(42deg)}
@media (max-width:520px){
  .tira-negocio span{font-size:12px;padding:8px 14px 8px 30px}
}
/* ---------- franja de distribuidores, version con arte (fin) ---------- */

/* ============================================================
   PIE — afinado de tipografia y arte  (inicio)
   Fernando lo vio plano. El problema no era el contenido, era que todo
   pesaba igual: la direccion, las ligas y el correo tenian el mismo tono y
   el mismo tamano, asi que el ojo no sabia por donde entrar.
   ============================================================ */
.pie{padding:clamp(56px,6vw,86px) 0 clamp(46px,5vw,64px);position:relative;
     background:radial-gradient(900px 420px at 12% 0%,rgba(236,28,36,.07),transparent 62%),#070707}
/* La barra roja de arriba cruzaba solo 180 px y se veia como un descuido.
   Ahora recorre todo el ancho, degradandose: se lee como remate, no como error. */
.pie::before{width:100%;height:2px;
             background:linear-gradient(90deg,var(--rojo-vivo) 0%,rgba(236,28,36,.35) 26%,
                        rgba(255,255,255,.06) 62%,transparent 100%)}

/* Jerarquia: el nombre manda, la direccion susurra, el contacto resalta. */
.pie-marca .pie-logo{height:38px;margin-bottom:26px}
.pie-sede{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;
          font-size:11.5px;line-height:2;color:#6f7681;margin:0 0 22px}
.pie-correo,.pie-tel{font-family:var(--tipo);letter-spacing:.06em;font-size:14.5px;
                     color:#d6dbe3;margin-bottom:9px;font-weight:600}
.pie-correo:hover,.pie-tel:hover{color:var(--rojo-vivo)}
/* El telefono es lo que mas se busca en un pie: se le da tamano. */
.pie-tel{font-size:19px;letter-spacing:.02em;color:#fff;font-weight:800;margin-top:4px}

.pie h4{font-size:10.5px;letter-spacing:.22em;color:#fff;margin-bottom:20px;
        padding-bottom:12px;font-weight:900}
.pie h4::after{width:26px;height:2px;background:var(--rojo-vivo)}
.pie li{margin-bottom:11px}
.pie li a{font-size:14px;color:#8b94a3;letter-spacing:.01em}
.pie li a:hover{color:#fff;padding-left:7px}

.redes-pie{gap:10px;margin-top:26px}
.redes-pie a,.redes-pie .red-pendiente{width:40px;height:40px;border-radius:50%;
                                       border:1px solid rgba(255,255,255,.14);
                                       transition:border-color .2s,background .2s,transform .2s}
.redes-pie a:hover{border-color:var(--rojo-vivo);background:var(--rojo-vivo);
                   transform:translateY(-2px)}

.pie .suscribe p{font-size:13.5px;line-height:1.7;color:#8b94a3;margin:0 0 20px}
.pie .suscribe form{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03)}
.pie .suscribe input{background:transparent;font-size:14px}
.pie .suscribe input::placeholder{color:#6f7681}
.pie .suscribe button{letter-spacing:.16em;font-size:11px;padding:0 22px}

/* El cintillo de abajo: mas aire y menos grito. */
.cintillo{background:#000;border-top:1px solid rgba(255,255,255,.07);padding:20px 0}
.cintillo .envoltura{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cintillo span{font-family:var(--tipo);font-size:10.5px;letter-spacing:.16em;
               text-transform:uppercase;color:#5a6069}
@media (max-width:860px){
  .pie-tel{font-size:17px}
  .cintillo .envoltura{justify-content:center;text-align:center}
}
/* PIE — afinado de tipografia y arte  (fin) */

/* Los banners cuyo arte YA trae titulo, datos y boton dibujados.
   Van con contain, NO con cover: su diseño llega hasta los bordes y un
   recorte les come la franja de abajo o el logo de arriba. El fondo negro
   hace que los lados sobrantes no se noten, porque el arte ya es negro. */
.lamina.arte-completo img{object-fit:contain;background:#000}
/* El texto y el boton sobre los banners de promocion.
   No repiten el titular: ese ya viene dibujado en el arte. Van abajo y al
   centro, sobre el piso oscuro, que es la unica zona libre en los tres.
   El velo de abajo se sube un poco para que la linea se lea sobre cualquiera
   de las tres imagenes, que tienen fondos distintos. */
/* El boton al mismo respiro que en los banners de producto: 72 px del fondo
   en una pantalla de 900. Antes tenia el suyo propio y quedaba mas abajo que
   el de los demas, que es lo que se notaba al pasar de un banner a otro. */
.lamina.arte-completo .dicho-promo{padding-bottom:clamp(56px,8vh,88px)}
.lamina.arte-completo::after{background:linear-gradient(180deg,
  rgba(0,0,0,0) 46%,rgba(0,0,0,.42) 74%,rgba(0,0,0,.82) 100%)}

/* EL RENGLON DE ARRIBA DEL BOTON.
   Hace el papel de GORRO, no de parrafo: el titular ya viene dibujado en el
   arte, asi que esto es la linea que remata. Por eso lleva la tipografia de
   la marca, mayusculas y espaciado, igual que el gorro de los otros banners.
   Sin max-width, para que vaya de corrido en una sola linea. */
.bajada-promo{font-family:var(--tipo);text-transform:uppercase;
              letter-spacing:.15em;font-weight:700;
              font-size:clamp(11px,1.15vw,15px);color:var(--papel);
              margin:0 0 20px;line-height:1.3;
              text-shadow:0 2px 14px rgba(0,0,0,.85)}
@media (max-width:760px){
  /* En el telefono el boton se deja EXACTAMENTE donde lo tienen los demas
     banners: hereda el padding de .lamina .dicho y no se le inventa uno
     propio. Antes tenia 20 px y quedaba pegado hasta abajo, mientras que en
     el banner de al lado estaba a 56: al pasar de uno a otro se veia el
     brinco. Lo unico que cambia aqui es el tamano de la letra, porque en
     390 px la de escritorio no cabe de corrido. */
  /* Los 56 px van explicitos: la regla de escritorio (.dicho-promo con
     clamp) le gana por especificidad a .lamina .dicho, asi que heredar no
     bastaba y quedaba 12 px mas arriba que el banner de al lado. */
  .lamina.arte-completo .dicho-promo{padding-bottom:56px}
  .bajada-promo{font-size:11px;letter-spacing:.1em;margin-bottom:14px}
}
.lamina .lamina-liga{position:absolute;inset:0;z-index:3}

/* Los puntos del carrusel caian justo encima de la franja de texto que traen
   dibujada los banners nuevos ("AHORRA TIEMPO. AHORRA DINERO."). Con su
   propia capsula oscura se leen sobre cualquier arte sin taparlo. */
.heroe .puntos{padding:7px 13px;border-radius:999px;background:rgba(0,0,0,.45);
               backdrop-filter:blur(3px);width:max-content;left:50%;
               transform:translateX(-50%)}

/* El rango de precio de la ficha: dos precios, cada uno diciendo DE QUE es.
   Antes eran dos numeros sueltos separados por un guion y nadie sabia si el
   barato era el set o el rollo. Y sin "MXN" cualquiera puede leerlos como
   dolares, porque la marca es gringa. */
.bp-precio-rango{display:flex;gap:clamp(20px,3vw,42px);align-items:flex-start;
                 margin:0 0 22px;flex-wrap:wrap}
.bp-precio-uno{display:flex;flex-direction:column;gap:3px}
.bp-precio-uno b{font-family:var(--tipo);font-size:clamp(19px,2.2vw,26px);
                 color:#5b636e;font-weight:700;line-height:1.15}
.bp-precio-uno b i{font-style:normal;font-size:.5em;color:#b9c0cb;
                   letter-spacing:.1em;margin-left:5px;vertical-align:.2em}
.bp-precio-uno small{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
                     color:#8b94a3;font-weight:700}
.bp-precio b{font-family:var(--tipo);font-weight:700;color:#5b636e}
.bp-precio b i{font-style:normal;font-size:.5em;color:#b9c0cb;letter-spacing:.1em;
               margin-left:5px;vertical-align:.2em}

/* ---------- galeria de la ficha: ampliar sin salir (inicio) ---------- */
.gf-foto{position:relative;display:block;padding:0;border:0;background:none;
         cursor:zoom-in;line-height:0;width:100%}
.gf-foto img{width:100%;aspect-ratio:16/10;object-fit:cover;
             border:1px solid var(--linea);transition:.25s}
.gf-foto:hover img{border-color:var(--rojo);transform:scale(1.02)}
.gf-lupa{position:absolute;right:12px;bottom:12px;width:38px;height:38px;
         display:flex;align-items:center;justify-content:center;border-radius:50%;
         background:rgba(0,0,0,.55);backdrop-filter:blur(3px);opacity:0;transition:.25s}
.gf-foto:hover .gf-lupa{opacity:1}
.gf-lupa svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2;
             stroke-linecap:round}

/* La foto en grande, encima de la pagina. No cambia de pagina a proposito:
   quien esta viendo un producto no quiere perder su lugar. */
.visor{position:fixed;inset:0;z-index:300;display:none;align-items:center;
       justify-content:center;background:rgba(0,0,0,.92);padding:clamp(16px,4vw,54px)}
.visor.abierto{display:flex}
.visor img{max-width:100%;max-height:100%;object-fit:contain;
           box-shadow:0 30px 90px rgba(0,0,0,.7)}
.visor .cerrar-visor{position:absolute;top:18px;right:22px;width:46px;height:46px;
                     border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);
                     color:#fff;font-size:26px;line-height:1;border-radius:50%;
                     cursor:pointer;transition:.2s}
.visor .cerrar-visor:hover{background:var(--rojo);border-color:var(--rojo)}
.visor .visor-flecha{position:absolute;top:50%;transform:translateY(-50%);
                     width:52px;height:52px;border:1px solid rgba(255,255,255,.22);
                     background:rgba(0,0,0,.4);color:#fff;font-size:22px;
                     border-radius:50%;cursor:pointer;transition:.2s}
.visor .visor-flecha:hover{background:var(--rojo);border-color:var(--rojo)}
.visor .visor-flecha.izq{left:clamp(10px,2vw,26px)}
.visor .visor-flecha.der{right:clamp(10px,2vw,26px)}
.visor .visor-cuenta{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
                     color:#8b94a3;font-family:var(--tipo);font-size:12px;
                     letter-spacing:.16em}
@media (max-width:860px){
  .galeria-ficha{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gf-lupa{opacity:1}
  .visor .visor-flecha{width:42px;height:42px}
}
@media (max-width:520px){
  .galeria-ficha{grid-template-columns:minmax(0,1fr)}
}
/* ---------- galeria de la ficha: ampliar sin salir (fin) ---------- */

/* ============================================================
   BANNER DE FICHA CON ARTE  (inicio)
   Las mismas tres capas y las mismas medidas que Solinco USA, tomadas
   midiendo su sitio en el navegador: su bloque mide 1440x732 (1.97:1), el
   empaque ocupa el 86% del alto y el degradado de abajo el 38%.
   ============================================================ */
.ficha-heroe.con-arte{height:clamp(400px,50.8vw,780px);display:block;padding:0;
                      background:#000}
.ficha-heroe.con-arte .fh-arte{position:absolute;inset:0;width:100%;height:100%;
                               object-fit:cover;filter:none;transform:none;opacity:1}
/* El empaque: centrado y grande. Al 86% domina, que es lo que hace que su
   banner se sienta de marca y el nuestro se veia timido al 54%. */
.ficha-heroe.con-arte .fh-frente-caja{position:absolute;inset:0;z-index:1;
                                      display:flex;align-items:center;justify-content:center}
.ficha-heroe.con-arte .fh-frente{max-height:86%;max-width:min(42%,560px);
                                 width:auto;height:auto;object-fit:contain;margin:0;
                                 filter:drop-shadow(0 24px 60px rgba(0,0,0,.55))}
/* El degradado sube desde abajo y ocupa el 38% del alto, como el de ellos.
   Sobre el va el titulo, encimado al pie del empaque. */
.ficha-heroe.con-arte .fh-velo{background:linear-gradient(180deg,
                               transparent 0%,transparent 56%,
                               rgba(0,0,0,.55) 76%,rgba(0,0,0,.94) 100%)}
.ficha-heroe.con-arte .ficha-titulo{padding-bottom:clamp(26px,3.4vw,48px)}
.ficha-heroe.con-arte .ficha-titulo h1{margin-bottom:10px}
/* La frase, como sello: mayusculas, chica y pegada al titulo. La nuestra era
   una oracion en minusculas y separada, y se leia a pie de foto. */
.ficha-heroe.con-arte .ficha-titulo .lema{font-family:var(--tipo);
                                          text-transform:uppercase;
                                          letter-spacing:.17em;
                                          font-size:clamp(11px,1.05vw,14px);
                                          font-weight:700;color:#fff;opacity:.92;
                                          max-width:none}
@media (max-width:760px){
  .ficha-heroe.con-arte{height:clamp(340px,62vw,470px)}
  .ficha-heroe.con-arte .fh-frente{max-height:74%;max-width:min(62vw,320px)}
  .ficha-heroe.con-arte .ficha-titulo .lema{letter-spacing:.12em}
}
/* BANNER DE FICHA CON ARTE  (fin) */

/* Fichas que consiguieron el arte de fondo pero NO el recorte del producto.
   Se muestra el arte a sangre con el titulo encima, sin montarle nada: la
   foto que tenemos trae el fondo pegado y encimarla se veria como un cuadro
   gris flotando sobre el diseno. Son 20 fichas que asi se ven bien en vez de
   quedarse con el modo viejo. */
.ficha-heroe.solo-arte{height:clamp(360px,44vw,660px);display:block;padding:0;background:#000}
.ficha-heroe.solo-arte .fh-arte{position:absolute;inset:0;width:100%;height:100%;
                                object-fit:cover;filter:none;transform:none;opacity:1}
.ficha-heroe.solo-arte .fh-velo{background:linear-gradient(180deg,
                                rgba(0,0,0,.22) 0%,transparent 34%,
                                rgba(0,0,0,.55) 74%,rgba(0,0,0,.94) 100%)}
.ficha-heroe.solo-arte .ficha-titulo{padding-bottom:clamp(26px,3.4vw,48px)}
.ficha-heroe.solo-arte .ficha-titulo .lema{font-family:var(--tipo);text-transform:uppercase;
                                           letter-spacing:.17em;font-weight:700;
                                           font-size:clamp(11px,1.05vw,14px);
                                           color:#fff;opacity:.92;max-width:none}
@media (max-width:760px){ .ficha-heroe.solo-arte{height:clamp(300px,54vw,420px)} }

/* El banner de distribuidores al pie de la ficha. Trae su arte completo
   (titulo, escalones y boton dibujados), asi que va como pieza entera
   clicable y sin texto encima. */
.cta-banner{display:block;line-height:0;margin:0 0 clamp(24px,3vw,38px);
            transition:transform .25s,box-shadow .25s}
.cta-banner img{width:100%;height:auto;display:block}
.cta-banner:hover{transform:translateY(-3px);
                  box-shadow:0 18px 46px rgba(236,28,36,.18)}

/* ============================================================
   FRANJA DE DISTRIBUIDORES — mas arte  (inicio)
   Fernando la seguia viendo simple. Lo que le faltaba no era color sino
   PROFUNDIDAD: todo estaba al mismo plano. Aqui el numero se despega del
   fondo, la caja tiene esquina cortada, y el escalon de 25% se destaca
   sobre el otro para que haya una jerarquia y no dos cajas iguales.
   ============================================================ */
.escalon{
  /* esquina cortada, como una insignia troquelada */
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%);
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(158deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.015) 55%);
  padding-top:clamp(30px,3vw,42px)}
/* Una malla diagonal finita, apenas visible: le da textura a la caja para que
   no se lea como un rectangulo plano. */
.escalon::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(-52deg,transparent 0 13px,
             rgba(255,255,255,.026) 13px 14px)}
.escalon > *{position:relative;z-index:1}

.escalon-cifra{position:relative;display:inline-block;margin-bottom:2px}
.escalon .pct{position:relative;z-index:2;display:inline-block;
  font-family:var(--tipo-titulo,inherit);font-size:clamp(62px,7.4vw,104px);
  line-height:.86;font-weight:900;color:#fff;letter-spacing:-.02em;
  text-shadow:0 0 44px rgba(236,28,36,.42),0 10px 30px rgba(0,0,0,.6)}
.escalon .pct i{font-style:normal;font-size:.36em;color:var(--rojo-vivo);
  margin-left:2px;vertical-align:.62em}
/* El "eco": el mismo numero atras, gigante y casi transparente. Es lo que le
   da fondo a la cifra sin necesidad de una foto. */
.escalon .pct-eco{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);
  z-index:0;font-family:var(--tipo-titulo,inherit);font-weight:900;
  font-size:clamp(130px,15vw,210px);line-height:1;color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.055);pointer-events:none;white-space:nowrap}

.escalon .cond{margin:16px 0 0;color:#9aa3af;font-size:13.5px;line-height:1.5}
.escalon .cond b{display:block;margin-top:5px;color:#fff;font-weight:800;
  font-family:var(--tipo);font-size:20px;letter-spacing:.01em}
.escalon .cond b span{font-size:.55em;color:#8b94a3;letter-spacing:.1em;margin-left:4px}
.escalon .extra{display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--rojo-vivo);
  font-weight:800}
.escalon .extra i{width:6px;height:11px;border:solid var(--rojo-vivo);
  border-width:0 2px 2px 0;transform:rotate(42deg);display:inline-block;
  margin-right:3px;margin-top:-3px}

/* El de 25% manda: borde encendido, resplandor propio y su cinta. Dos cajas
   identicas no le dicen nada a nadie; una escalera si. */
.escalon.destacado{border-color:rgba(236,28,36,.55);
  background:linear-gradient(158deg,rgba(236,28,36,.13) 0%,rgba(255,255,255,.02) 58%);
  box-shadow:0 0 0 1px rgba(236,28,36,.18),0 26px 60px rgba(236,28,36,.13)}
.escalon.destacado .pct{text-shadow:0 0 56px rgba(236,28,36,.72),0 10px 30px rgba(0,0,0,.6)}
.cinta{position:absolute;top:0;right:0;z-index:2;background:var(--rojo-vivo);color:#fff;
  font-family:var(--tipo);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:900;padding:7px 13px 7px 17px;
  clip-path:polygon(12px 0,100% 0,100% 100%,0 100%)}

.escalon.quien{padding-top:clamp(26px,2.6vw,34px)}
.escalon.quien::after{opacity:.3}
@media (max-width:520px){
  .escalon{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
  .escalon .pct-eco{display:none}
}
/* FRANJA DE DISTRIBUIDORES — mas arte  (fin) */

/* Los jugadores mexicanos. Misma tarjeta que el roster internacional, con
   dos renglones mas: con que juegan y su Instagram. Lo de "con que juega" no
   es adorno: es el argumento de venta. */
.jugador-ficha.mx{cursor:default}
.jugador-ficha.mx .retrato{aspect-ratio:4/5}
.jugador-ficha.mx .retrato img{object-position:center 22%}
.mx-donde{margin:3px 0 0;font-size:12.5px;color:#8b94a3}
.mx-juega{margin:10px 0 0;font-size:13px;color:#d6dbe3;line-height:1.5}
.mx-juega b{display:block;font-family:var(--tipo);font-size:9.5px;letter-spacing:.18em;
            text-transform:uppercase;color:var(--rojo-vivo);margin-bottom:2px;font-weight:900}
.mx-club{margin:8px 0 0;font-size:12.5px;color:#8b94a3;font-style:italic}
.mx-insta{display:inline-block;margin-top:11px;font-family:var(--tipo);font-size:12px;
          letter-spacing:.06em;color:#8b94a3;text-decoration:none;transition:color .18s}
.mx-insta:hover{color:var(--rojo-vivo)}

/* El catalogo comparte el acomodo de las categorias, pero muestra TODAS las
   secciones una tras otra, cada una con su titulo. El menu de la izquierda
   salta a cada una en vez de cambiar de pagina. */
.cat-pagina .titulo-grupo{font-family:var(--tipo-titulo,inherit);font-size:clamp(19px,2vw,26px);
                          text-transform:uppercase;letter-spacing:.04em;color:#15181d;
                          margin:clamp(30px,3.4vw,46px) 0 6px;padding-top:8px;
                          display:flex;align-items:baseline;gap:12px}
.cat-pagina .grupo-cat:first-child .titulo-grupo{margin-top:0}
.cat-pagina .titulo-grupo b{font-family:var(--tipo);font-size:12px;font-weight:700;
                            color:#8b94a3;letter-spacing:.1em}
.cat-pagina .bajada-grupo{margin:0 0 20px;color:#5c6675;font-size:14.5px}
.cat-pagina .ancla-extra{scroll-margin-top:calc(var(--alto-cabecera) + 26px)}
.cat-pagina .grupo-cat{scroll-margin-top:calc(var(--alto-cabecera) + 26px)}
.cat-familias .familia i{font-style:normal;color:#a4acb8;margin-left:7px;font-size:11px}

/* ============================================================
   PELOTAS — la escalera del precio por pelota  (inicio)
   A una academia le da igual "25% de descuento": lo que le pega es ver que
   la pelota le baja de $54 a $40.50. Por eso el numero grande de cada
   peldano es el precio POR PELOTA, no el total.
   ============================================================ */
.escalera-pelotas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
                  gap:clamp(14px,1.8vw,22px);margin-top:clamp(26px,3vw,40px)}
.peldano{border:1px solid var(--linea);background:var(--humo);overflow:hidden;
         display:flex;flex-direction:column;position:relative}
.peldano.mejor{border-color:rgba(236,28,36,.5);
               box-shadow:0 0 0 1px rgba(236,28,36,.2),0 22px 50px rgba(236,28,36,.12)}
.peldano-foto{aspect-ratio:16/10;overflow:hidden;background:#000}
.peldano-foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.peldano:hover .peldano-foto img{transform:scale(1.04)}
.peldano-cuerpo{padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;flex:1}
.peldano h3{margin:0;font-size:clamp(17px,1.7vw,21px);letter-spacing:.05em;
            text-transform:uppercase;color:#fff}
.peldano-pie{margin:5px 0 0;font-size:12.5px;color:var(--gris)}
/* El numero que manda */
.por-pelota{margin:18px 0 0;display:flex;align-items:baseline;gap:9px}
.por-pelota b{font-family:var(--tipo-titulo,inherit);font-size:clamp(32px,3.6vw,46px);
              line-height:1;color:#fff;font-weight:900}
.por-pelota span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;
                 color:var(--rojo-vivo);font-weight:800}
.peldano-datos{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--linea)}
.peldano-datos > div{display:flex;justify-content:space-between;gap:14px;padding:6px 0}
.peldano-datos dt{margin:0;color:var(--gris);font-size:13px}
.peldano-datos dd{margin:0;color:#fff;font-weight:700;font-size:14px}
.peldano-datos .ahorro dd{color:#2ecc71}
.peldano .boton{margin-top:auto;align-self:flex-start}
.peldano .boton.hueco.chico{margin-top:20px}
@media (max-width:860px){
  .escalera-pelotas{grid-template-columns:minmax(0,1fr)}
  .peldano-foto{aspect-ratio:2/1}
}
/* PELOTAS  (fin) */

/* Las fotos de los jugadores mexicanos se muestran COMPLETAS.
   Se intento recortarlas solas dos veces —por cara y por persona— y las dos
   empeoraron: estas fotos no se parecen entre si (unas son de cancha completa
   con el jugador a 30 metros, otras primer plano) y cualquier recorte fijo le
   corta la cara a alguien. Asi que atras va la misma foto desenfocada para
   llenar la tarjeta, y adelante completa. Nadie se queda sin cara. */
.jugador-ficha.mx .retrato{position:relative;overflow:hidden;background:#0a0a0a;
                           display:flex;align-items:center;justify-content:center}
.jugador-ficha.mx .retrato .mx-fondo{position:absolute;inset:0;width:100%;height:100%;
                                     object-fit:cover;filter:blur(26px) brightness(.45)
                                     saturate(1.2);transform:scale(1.2)}
.jugador-ficha.mx .retrato .mx-frente{position:relative;z-index:1;width:100%;height:100%;
                                      object-fit:contain;object-position:center}
.equipo-pista .jugador .mx-fondo{position:absolute;inset:0;width:100%;height:100%;
                                 object-fit:cover;filter:blur(26px) brightness(.45)
                                 saturate(1.2);transform:scale(1.2)}
.equipo-pista .jugador .mx-frente{position:relative;z-index:1;width:100%;height:100%;
                                  object-fit:contain}

/* ---------- CONTACTO en dos columnas (inicio) ----------
   Fernando quitó los tres cajones de arriba: dos de los tres llevaban a
   páginas que ya están en el menú, así que eran un rodeo. Ahora se entra
   directo al formulario, con los datos duros al lado para que no haya que
   bajar a buscarlos. */
.contacto-rejilla{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);
                  gap:clamp(26px,3.4vw,52px);align-items:start;
                  margin-top:clamp(24px,3vw,40px)}
.contacto-lado{position:sticky;top:calc(var(--alto-cabecera) + 26px)}
.cl-titulo{font-family:var(--tipo-titulo,inherit);font-size:clamp(28px,3.4vw,42px);
           text-transform:uppercase;letter-spacing:.02em;margin:0 0 14px;color:#15181d;
           line-height:1.02}
.cl-texto{margin:0 0 26px;color:#5c6675;font-size:15px;line-height:1.7;max-width:44ch}
.cl-texto a{color:var(--rojo-vivo)}
/* El telefono manda: es lo que mas se busca en una pagina de contacto. */
.cl-tel{display:block;font-family:var(--tipo-titulo,inherit);font-size:clamp(26px,2.8vw,34px);
        color:#15181d;text-decoration:none;letter-spacing:.01em;line-height:1.1;
        padding-bottom:12px;border-bottom:2px solid var(--rojo-vivo);
        margin-bottom:18px;display:inline-block;transition:color .18s}
.cl-tel:hover{color:var(--rojo-vivo)}
.cl-correo{display:block;color:#3a4250;font-size:15.5px;text-decoration:none;
           margin-bottom:16px;transition:color .18s}
.cl-correo:hover{color:var(--rojo-vivo)}
.cl-dir{margin:0 0 24px;color:#8b94a3;font-size:13.5px;line-height:1.8;
        font-family:var(--tipo);letter-spacing:.06em;text-transform:uppercase}
.cl-wasap{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;
          font-family:var(--tipo);font-size:12px;letter-spacing:.13em;text-transform:uppercase;
          font-weight:800;padding:14px 24px;border-radius:999px;text-decoration:none;
          transition:transform .2s,box-shadow .2s}
.cl-wasap svg{width:18px;height:18px;fill:currentColor}
.cl-wasap:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(37,211,102,.3)}

/* El formulario ya no es "una caja mas": ocupa su lado completo. */
.pagina-contacto .formulario{margin-top:0;border-top-width:4px}
.pagina-contacto .formulario h3{font-family:var(--tipo-titulo,inherit);
                                font-size:clamp(20px,2.2vw,27px);text-transform:uppercase;
                                letter-spacing:.03em}
@media (max-width:900px){
  .contacto-rejilla{grid-template-columns:minmax(0,1fr)}
  .contacto-lado{position:static}
}
/* ---------- CONTACTO en dos columnas (fin) ---------- */
.heroe-nuevo .lema-nuevo{margin:8px 0 20px;color:#d6dbe3;font-size:15px;line-height:1.6;
                         max-width:44ch}

/* Productos que tienen ficha pero todavia no estan en la hoja de precios.
   Se muestran al final de su seccion diciendo la verdad, sin precio
   inventado: la ficha explica que aun no los traemos a Mexico. */
.rejilla-cat.clara .prod.sin-precio .prod-foto{opacity:.88}
.rejilla-cat.clara .prod.sin-precio .pregunta{margin:0;font-size:14px;color:var(--rojo-vivo);
                                              font-family:var(--tipo);font-weight:700;
                                              letter-spacing:.1em;text-transform:uppercase}
.rejilla-cat.clara .prod.sin-precio .calibre{color:#a4acb8;font-style:italic}
.bp-nota-precio{margin:-14px 0 20px;font-size:13px;color:#8b94a3;font-style:italic}

/* ============================================================
   SOLINCO MÁS — las secciones del reporte estratégico  (inicio)
   ============================================================ */
.mas-heroe{position:relative;overflow:hidden;background:#000;
           padding:clamp(60px,8vw,120px) 0 clamp(52px,6vw,90px);isolation:isolate}
.mas-heroe-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
                 opacity:.42;filter:brightness(.55);z-index:-2}
.mas-heroe::after{content:"";position:absolute;inset:0;z-index:-1;
                  background:linear-gradient(100deg,rgba(0,0,0,.92) 0%,
                             rgba(0,0,0,.72) 46%,rgba(0,0,0,.5) 100%)}
.mas-gorro{font-family:var(--tipo);font-size:11px;letter-spacing:.26em;
           text-transform:uppercase;color:var(--rojo-vivo);font-weight:900;margin:0 0 16px}
.mas-heroe h1{font-family:var(--tipo-titulo,inherit);
              font-size:clamp(34px,5.6vw,72px);line-height:1.02;margin:0 0 20px;
              text-transform:uppercase;color:#fff;max-width:18ch}
.mas-bajada{font-size:clamp(16px,1.8vw,20px);line-height:1.65;color:#d6dbe3;
            max-width:56ch;margin:0 0 clamp(26px,3vw,36px)}
.mas-bajada b{color:#fff}
.mas-botones{display:flex;gap:14px;flex-wrap:wrap}
.mas-micro{margin:clamp(24px,3vw,34px) 0 0;font-family:var(--tipo);font-size:11.5px;
           letter-spacing:.15em;text-transform:uppercase;color:#8b94a3}

/* las tres promesas */
.promesas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
          gap:clamp(16px,2.2vw,30px)}
.promesa{border-top:3px solid var(--rojo-vivo);padding-top:22px}
.promesa .num{font-family:var(--tipo-titulo,inherit);font-size:13px;font-weight:900;
              letter-spacing:.16em;color:var(--rojo-vivo)}
.promesa h3{margin:10px 0 8px;font-size:clamp(17px,1.9vw,22px);
            text-transform:uppercase;letter-spacing:.04em}
.promesa p{margin:0;color:var(--gris);line-height:1.65;font-size:15px}

/* ¿es para mí? */
.perfiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
          gap:clamp(14px,1.8vw,22px);margin-top:clamp(26px,3vw,38px)}
.perfil{background:var(--humo);border:1px solid var(--linea);padding:clamp(22px,2.4vw,30px);
        text-align:center;transition:border-color .2s,transform .2s}
.perfil:hover{border-color:var(--rojo-vivo);transform:translateY(-3px)}
.perfil i{font-style:normal;font-size:30px;color:var(--rojo-vivo);display:block;
          margin-bottom:14px;line-height:1}
.perfil h3{margin:0 0 8px;font-size:15px;text-transform:uppercase;letter-spacing:.08em}
.perfil p{margin:0;color:var(--gris);font-size:14px;line-height:1.6}
/* Con foto la tarjeta cambia de forma: la imagen manda al ras de los bordes
   y el texto se despega del centro. Sin foto sigue siendo la de siempre, asi
   que las cuatro pueden convivir mientras van llegando las imagenes. */
.perfil.con-foto{padding:0;text-align:left;overflow:hidden;display:flex;
                 flex-direction:column}
.perfil-foto{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
             filter:saturate(.92) contrast(1.04)}
.perfil.con-foto .perfil-texto{padding:clamp(18px,2vw,24px);flex:1;min-width:0}
.perfil.con-foto:hover .perfil-foto{filter:saturate(1) contrast(1.04)}
.bajada.centrada{text-align:center;margin:clamp(26px,3vw,36px) auto 0;max-width:60ch}

/* los dos niveles, con la cuenta hecha */
.niveles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
         gap:clamp(16px,2.4vw,32px);margin-top:clamp(26px,3vw,38px)}
.nivel{position:relative;border:1px solid #e3e7ec;background:#fbfcfd;
       padding:clamp(28px,3.2vw,42px);display:flex;flex-direction:column}
.nivel.alto{border-color:var(--rojo-vivo);background:#fff;
            box-shadow:0 24px 60px rgba(236,28,36,.10)}
.nivel-cinta{position:absolute;top:0;right:0;background:var(--rojo-vivo);color:#fff;
             font-family:var(--tipo);font-size:9.5px;letter-spacing:.16em;
             text-transform:uppercase;font-weight:900;padding:7px 14px}
.nivel-pct{font-family:var(--tipo-titulo,inherit);font-size:clamp(52px,6vw,82px);
           line-height:.9;margin:0;color:#15181d;font-weight:900}
.nivel-pct span{font-size:.4em;color:var(--rojo-vivo);margin-left:2px}
.nivel-sub{margin:4px 0 0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
           color:#8b94a3;font-weight:700}
.nivel-cuenta{margin:26px 0 0}
.nivel-cuenta > div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;
                    border-bottom:1px solid #eceff3}
.nivel-cuenta dt{margin:0;color:#5c6675;font-size:14px}
.nivel-cuenta dd{margin:0;color:#15181d;font-weight:700;font-size:15px}
.nivel-cuenta .paga{border-bottom:0;border-top:2px solid #15181d;margin-top:6px;
                    padding-top:14px}
.nivel-cuenta .paga dt,.nivel-cuenta .paga dd{font-size:18px;font-weight:800;color:#15181d}
.nivel-cuenta .ahorra{border-bottom:0;padding-top:4px}
.nivel-cuenta .ahorra dt,.nivel-cuenta .ahorra dd{color:#1d8a4e;font-weight:800}
/* El pie de la tarjeta del 25%: por que se repite. */
.nivel-pie{margin:14px 0 0;color:#5c6675;font-size:13.5px;line-height:1.5}
/* Los botones viven sobre tarjeta CLARA: el hueco de siempre es blanco
   y aqui desaparecia. */
.nivel .boton{margin-top:auto;align-self:flex-start;background:var(--rojo);border-color:var(--rojo);color:#fff}
.nivel .boton:hover{background:#15181d;border-color:#15181d;color:#fff}
.nivel .boton.hueco{color:#15181d;border-color:#15181d;background:transparent}
.nivel .boton.hueco:hover{background:#15181d;color:#fff}
.nivel .boton,.nivel .boton.hueco{margin-top:26px}

/* miembro vs distribuidor activo */
.dos-perfiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
              gap:clamp(16px,2.4vw,30px);margin-top:clamp(26px,3vw,38px)}
.dp{position:relative;background:var(--humo);border:1px solid var(--linea);
    padding:clamp(26px,3vw,38px)}
.dp.destacado{border-color:rgba(236,28,36,.5);
              background:linear-gradient(160deg,rgba(236,28,36,.09),rgba(255,255,255,.02))}
.dp-cinta{position:absolute;top:0;right:0;background:var(--rojo-vivo);color:#fff;
          font-family:var(--tipo);font-size:9.5px;letter-spacing:.16em;
          text-transform:uppercase;font-weight:900;padding:7px 14px}
.dp h3{margin:0 0 12px;font-size:clamp(18px,2vw,23px);text-transform:uppercase;
       letter-spacing:.04em}
.dp p{margin:0;color:var(--gris);line-height:1.7}
.dp ul{list-style:none;margin:20px 0 0;padding:0}
.dp li{position:relative;padding:10px 0 10px 26px;border-bottom:1px solid rgba(255,255,255,.07);
       color:#d6dbe3;font-size:14.5px}
.dp li:last-child{border-bottom:0}
.dp li::before{content:"";position:absolute;left:2px;top:18px;width:7px;height:11px;
               border:solid var(--rojo-vivo);border-width:0 2px 2px 0;transform:rotate(42deg)}

@media (max-width:900px){
  .promesas,.niveles,.dos-perfiles{grid-template-columns:minmax(0,1fr)}
  .perfiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .perfiles{grid-template-columns:minmax(0,1fr)}
  .mas-botones{flex-direction:column}
  .mas-botones .boton{justify-content:center;text-align:center}
}
/* SOLINCO MÁS — reporte estratégico  (fin) */

/* La barra de escalones del cotizador y el desglose que pidió Fernando. */
.ahorro-cot{display:flex;justify-content:space-between;gap:14px;padding:8px 0 0}
.ahorro-cot dt{margin:0;color:#1d8a4e;font-weight:700;font-size:14px}
.ahorro-cot dd{margin:0;color:#1d8a4e;font-weight:800;font-size:17px}
.barra-escalones{margin:20px 0 4px}
.be-pista{height:7px;background:rgba(255,255,255,.10);border-radius:999px;overflow:hidden}
.be-pista span{display:block;height:100%;width:0;border-radius:999px;
               background:linear-gradient(90deg,#8b94a3,#c9ced7);transition:width .45s ease}
.be-pista span.medio{background:linear-gradient(90deg,var(--rojo),#ff5a60)}
.be-pista span.lleno{background:linear-gradient(90deg,#1d8a4e,#2ecc71)}
.be-marcas{display:flex;justify-content:space-between;margin-top:7px;
           font-family:var(--tipo);font-size:10px;letter-spacing:.14em;
           text-transform:uppercase;color:var(--gris)}
.cot-margen{margin:16px 0 0;padding:14px 16px;background:rgba(29,138,78,.10);
            border-left:3px solid #1d8a4e;font-size:13.5px;line-height:1.6;color:#d6dbe3}
.cot-margen b{color:#2ecc71}
.cot-margen i{display:block;margin-top:5px;font-size:12px;color:var(--gris);font-style:italic}
.paquete .usar-paquete{margin-top:18px;width:100%;justify-content:center;
                       border:0;cursor:pointer;font:inherit}

/* "Presentaciones" es un enlace al catalogo filtrado. Se ve como titulo, no
   como liga azul: la flecha es la que avisa que lleva a algun lado. */
.bp-grupo .liga-grupo{color:inherit;text-decoration:none;
                      display:inline-flex;align-items:center;gap:7px}
.bp-grupo .liga-grupo span{color:var(--rojo-vivo);transition:transform .2s}
.bp-grupo .liga-grupo:hover{color:var(--rojo-vivo)}
.bp-grupo .liga-grupo:hover span{transform:translateX(3px)}
.bp-grupo .liga-grupo:focus-visible{outline:2px solid var(--rojo);outline-offset:3px}

/* ===== PORTAL DEL CLIENTE (inicio) ===== */
/* El area de cliente. Hereda casi todo del sitio (.boton, .campo, .formulario)
   a proposito: si el portal se viera distinto, se sentiria como otra empresa. */

.cabeza-portal{display:flex;justify-content:space-between;align-items:flex-start;
               gap:20px;flex-wrap:wrap;padding-bottom:22px;
               border-bottom:1px solid var(--linea);margin-bottom:24px}
.cabeza-portal h2{font-family:var(--tipo);text-transform:uppercase;
                  font-size:clamp(22px,2.6vw,30px);margin:4px 0 0;letter-spacing:.02em}
.cabeza-portal .d-negocio{color:var(--gris);font-size:14px;margin:6px 0 0}
.cabeza-der{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.estado-cuenta{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.1em;
               font-size:11px;font-weight:700;padding:6px 12px;border:1px solid var(--linea)}
.estado-cuenta.si{color:#2ecc71;border-color:#1d8a4e}
.estado-cuenta.espera{color:#f0b429;border-color:#8a6b1d}
/* Antes de que el servidor conteste no dice nada todavia, y un recuadro
   vacio en la esquina parece un error de la pagina. */
.estado-cuenta:empty{display:none}

/* el menu de adentro */
.menu-portal{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:26px;
             border-bottom:1px solid var(--linea)}
.menu-portal .mp{background:none;border:0;border-bottom:2px solid transparent;
                 color:var(--gris);font-family:var(--tipo);text-transform:uppercase;
                 letter-spacing:.1em;font-size:12px;font-weight:700;padding:12px 16px;
                 cursor:pointer;margin-bottom:-1px}
.menu-portal .mp:hover{color:var(--papel)}
.menu-portal .mp.activa{color:var(--papel);border-bottom-color:var(--rojo)}
.titulo-panel{font-family:var(--tipo);text-transform:uppercase;
              font-size:clamp(18px,2.2vw,24px);margin:0 0 8px;letter-spacing:.03em}

/* pestanas de entrar / crear cuenta */
.pestanas{display:flex;gap:4px;justify-content:center;margin:26px 0 22px}
.pestanas .pest{background:none;border:1px solid var(--linea);color:var(--gris);
                font-family:var(--tipo);text-transform:uppercase;letter-spacing:.1em;
                font-size:11px;font-weight:700;padding:11px 20px;cursor:pointer}
.pestanas .pest.activa{background:var(--rojo);border-color:var(--rojo);color:#fff}
.panel-cuenta{display:none}
.panel-cuenta.activo{display:block}
.formulario.angosto{max-width:420px;margin:0 auto}
.caja-codigo{text-align:center;font-family:var(--tipo);font-size:30px;
             letter-spacing:.35em;font-weight:900}
.enlace-suave{background:none;border:0;color:var(--gris);font:inherit;font-size:13px;
              text-decoration:underline;cursor:pointer;padding:8px 0}
.enlace-suave:hover{color:var(--papel)}
.grupo-campos{grid-column:1/-1;font-family:var(--tipo);text-transform:uppercase;
              letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--rojo-vivo);
              margin:20px 0 2px;padding-top:16px;border-top:1px solid var(--linea)}
.grupo-campos:first-child{margin-top:0;padding-top:0;border-top:0}
.bloque-clave{margin-top:34px;padding-top:24px;border-top:1px solid var(--linea)}
.bloque-clave h4{font-family:var(--tipo);text-transform:uppercase;font-size:14px;
                 letter-spacing:.08em;margin:0 0 14px}

/* el aviso del tiempo de entrega. Se dice tres veces en el camino, y ninguna
   como disculpa: es la razon por la que hay catalogo completo. */
.aviso-tiempo{background:rgba(240,180,41,.07);border-left:3px solid #f0b429;
              padding:16px 20px;margin:18px 0 22px;font-size:14px;line-height:1.7;
              color:#d6dbe3}
.aviso-tiempo b{color:#fff}

/* LA BARRA PEGADA. Fernando la pidio arriba y que se quede a la vista
   mientras baja por el catalogo: si pierde de vista el total, deja de subir
   el pedido. */
.barra-pedido{position:sticky;top:64px;z-index:30;background:var(--negro);
              border:1px solid var(--rojo);padding:14px 18px;margin-bottom:20px;
              display:grid;grid-template-columns:1fr auto;gap:10px 20px;
              align-items:center}
.bp-cuenta{display:flex;gap:22px;align-items:baseline;flex-wrap:wrap;min-width:0}
.bp-piezas{color:var(--gris);font-size:13px}
.bp-piezas b{color:var(--papel);font-family:var(--tipo);font-size:17px;font-weight:900}
.bp-lista{color:var(--gris);font-size:13px}
.bp-lista s{color:#6d6d6d}
.bp-total b{font-family:var(--tipo);font-size:24px;font-weight:900;color:var(--papel)}
.bp-total i{font-style:normal;display:block;font-size:10px;color:var(--gris);
            text-transform:uppercase;letter-spacing:.1em;margin-top:2px}
.bp-total em{font-style:normal;color:#2ecc71}
.bp-barra{grid-column:1/-1;height:4px;background:#1c1c1c;overflow:hidden}
.bp-barra span{display:block;height:100%;width:0;background:var(--rojo-vivo);
               transition:width .3s}
.bp-falta{grid-column:1/-1;margin:0;font-size:12.5px;color:var(--gris)}
.barra-pedido .boton{grid-row:1;grid-column:2;white-space:nowrap}
.barra-pedido .boton:disabled{opacity:.4;cursor:not-allowed}

/* filtros del catalogo */
.filtros-pedido{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.filtros-pedido .fp{background:none;border:1px solid var(--linea);color:var(--gris);
                    font-family:var(--tipo);text-transform:uppercase;letter-spacing:.08em;
                    font-size:11px;font-weight:700;padding:9px 14px;cursor:pointer}
.filtros-pedido .fp.activa{background:var(--papel);border-color:var(--papel);color:#000}
#fp-busca{flex:1;min-width:180px;background:#0a0a0a;border:1px solid var(--linea);
          color:var(--papel);font:inherit;font-size:14px;padding:9px 14px}
#fp-busca:focus{outline:none;border-color:var(--rojo)}

/* el catalogo */
.rejilla-pedido{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
                gap:10px}
.prod-pedido{background:var(--negro);border:1px solid var(--linea);padding:14px 16px;
             display:flex;justify-content:space-between;align-items:center;gap:12px;
             transition:border-color .2s}
.prod-pedido.puesto{border-color:var(--rojo)}
.pp-txt{min-width:0}
.prod-pedido h4{font-size:14px;margin:0 0 3px;font-weight:700;
                overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-sec{margin:0;font-size:10.5px;color:var(--gris);text-transform:uppercase;
        letter-spacing:.1em}
.pp-precio{margin:5px 0 0;font-family:var(--tipo);font-size:15px;font-weight:900}
.pp-precio i{font-style:normal;font-size:9.5px;color:var(--gris);font-weight:400;
             text-transform:uppercase;letter-spacing:.08em;display:block;margin-top:1px}
.pp-suma{display:flex;align-items:center;border:1px solid var(--linea);flex:none}
.pp-suma button{background:none;border:0;color:var(--papel);font-size:17px;
                width:30px;height:34px;cursor:pointer;line-height:1}
.pp-suma button:hover{background:var(--rojo);color:#fff}
.pp-n{width:42px;height:34px;background:#0a0a0a;border:0;border-left:1px solid var(--linea);
      border-right:1px solid var(--linea);color:var(--papel);text-align:center;
      font-family:var(--tipo);font-weight:900;font-size:14px}
.pp-n:focus{outline:none;background:#141414}
.pp-n::-webkit-outer-spin-button,.pp-n::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pp-n[type=number]{-moz-appearance:textfield}
.sin-resultados{color:var(--gris);text-align:center;padding:40px 0}

/* el carrito */
.carrito{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.carrito-izq{min-width:0}
.tabla-carrito{width:100%;border-collapse:collapse;margin-bottom:16px}
.tabla-carrito td{padding:12px 8px;border-bottom:1px solid var(--linea);font-size:14px}
.ca-cuantos{font-family:var(--tipo);font-weight:900;color:var(--rojo-vivo);width:44px}
.ca-importe{text-align:right;font-family:var(--tipo);font-weight:900;white-space:nowrap}
.ca-quita{background:none;border:0;color:var(--gris);font-size:19px;cursor:pointer;
          width:30px;line-height:1}
.ca-quita:hover{color:var(--rojo-vivo)}
.carrito-der{background:var(--negro);border:1px solid var(--linea);
             border-top:3px solid var(--rojo);padding:24px 22px;position:sticky;top:80px}
.carrito-der h4{font-family:var(--tipo);text-transform:uppercase;font-size:13px;
                letter-spacing:.14em;margin:0 0 18px;color:var(--gris)}
.cuenta-carrito{margin:0 0 18px}
.cuenta-carrito div{display:flex;justify-content:space-between;gap:14px;padding:7px 0}
.cuenta-carrito dt{color:var(--gris);font-size:13.5px;margin:0}
.cuenta-carrito dd{margin:0;font-size:14px;white-space:nowrap}
.cuenta-carrito .desc dd{color:var(--rojo-vivo)}
.cuenta-carrito .desc b{color:var(--rojo-vivo)}
.cuenta-carrito .ca-envio{color:var(--gris);font-size:12.5px;font-style:italic}
.cuenta-carrito .total{border-top:1px solid var(--linea);margin-top:8px;padding-top:14px}
.cuenta-carrito .total dt{color:var(--papel);font-family:var(--tipo);
                          text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.cuenta-carrito .total dd{font-family:var(--tipo);font-size:26px;font-weight:900}
.ca-tiempo{background:rgba(240,180,41,.07);border-left:3px solid #f0b429;
           padding:12px 14px;font-size:12.5px;line-height:1.6;color:#d6dbe3;margin:0 0 16px}
.ca-tiempo b{color:#fff}
.carrito-der .boton{width:100%;justify-content:center}

/* la pantalla de gracias */
.listo{text-align:center;max-width:520px;margin:0 auto;padding:30px 0}
.listo-sello{font-size:42px;color:#2ecc71;margin:0 0 10px;line-height:1}
.listo h3{font-family:var(--tipo);text-transform:uppercase;font-size:26px;margin:0 0 10px}
.listo-folio{font-family:var(--tipo);letter-spacing:.14em;font-size:14px;
             color:var(--gris);margin:0 0 20px}
.listo-folio b{color:var(--papel)}
.listo-texto{color:var(--gris-claro);font-size:14.5px;line-height:1.75;margin:0 0 16px}
.listo-texto b{color:var(--papel)}
.listo-tiempo{background:rgba(240,180,41,.07);border-left:3px solid #f0b429;
              padding:13px 16px;font-size:13px;line-height:1.65;color:#d6dbe3;
              text-align:left;margin:0 0 22px}

/* ESCOGER COMO PAGA
   La transferencia va primero porque es la que no cobra comision. Poner la
   tarjeta primero seria empujar hacia donde nos cuesta mas caro. */
.metodos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
         margin:24px 0 18px}
.metodo{background:var(--negro);border:1px solid var(--linea);padding:26px 24px;
        text-align:left;cursor:pointer;color:inherit;font:inherit;
        display:flex;flex-direction:column;gap:8px;transition:border-color .2s,transform .2s}
.metodo:hover{border-color:var(--rojo);transform:translateY(-3px)}
.metodo:disabled{opacity:.5;cursor:wait;transform:none}
.me-icono{font-size:26px;color:var(--rojo-vivo);line-height:1}
.metodo b{font-family:var(--tipo);text-transform:uppercase;font-size:15px;
          letter-spacing:.05em}
.metodo i{font-style:normal;color:var(--gris);font-size:13.5px;line-height:1.6;flex:1}
.metodo em{font-style:normal;font-family:var(--tipo);text-transform:uppercase;
           letter-spacing:.12em;font-size:10.5px;font-weight:700;color:#2ecc71}

/* LA TRANSFERENCIA */
.transfer{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:start;
          margin-top:20px}
.tr-datos{background:var(--negro);border:1px solid var(--linea);
          border-top:3px solid var(--rojo);padding:26px 24px;min-width:0}
.tr-monto{margin:0 0 20px}
.tr-monto span{display:block;color:var(--gris);font-size:12px;text-transform:uppercase;
               letter-spacing:.14em;margin-bottom:5px}
.tr-monto b{font-family:var(--tipo);font-size:34px;font-weight:900;line-height:1}
#tr-cuenta{margin:0 0 20px}
#tr-cuenta div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;
               border-bottom:1px solid var(--linea)}
#tr-cuenta dt{color:var(--gris);font-size:13px;margin:0;flex:none}
#tr-cuenta dd{margin:0;font-size:14px;text-align:right;word-break:break-word;min-width:0}
#tr-cuenta dd.numero{font-family:var(--tipo);letter-spacing:.06em;font-size:15px}
.tr-sin-datos{color:var(--gris);font-size:13.5px;font-style:italic;margin:0}
.tr-ref{background:#0a0a0a;border:1px dashed var(--linea);padding:16px 18px;
        display:flex;align-items:center;justify-content:space-between;gap:14px;
        flex-wrap:wrap}
.tr-ref span{display:block;color:var(--gris);font-size:11.5px;text-transform:uppercase;
             letter-spacing:.12em;margin-bottom:5px}
.tr-ref b{font-family:var(--tipo);font-size:19px;letter-spacing:.1em}
.tr-pasos{background:var(--humo);border:1px solid var(--linea);padding:24px 22px}
.tr-pasos h4{font-family:var(--tipo);text-transform:uppercase;font-size:12px;
             letter-spacing:.14em;color:var(--gris);margin:0 0 14px}
.tr-pasos ol{margin:0 0 16px;padding-left:20px}
.tr-pasos li{color:var(--gris-claro);font-size:13.5px;line-height:1.6;padding:5px 0}
.tr-ojo{background:rgba(240,180,41,.08);border-left:3px solid #f0b429;padding:12px 14px;
        font-size:12.5px;line-height:1.6;color:#d6dbe3;margin:0}
.tr-ojo b{color:#fff}
@media (max-width:860px){
  .metodos{grid-template-columns:minmax(0,1fr)}
  .transfer{grid-template-columns:minmax(0,1fr)}
}

/* los 4 pasos de la entrega, en la pantalla de gracias */
.pasos-entrega{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
               margin:26px 0 22px;text-align:left}
.pe{border-top:2px solid var(--rojo);padding-top:12px;min-width:0}
.pe span{font-family:var(--tipo);font-size:11px;font-weight:900;color:var(--rojo-vivo);
         display:block;margin-bottom:5px}
.pe b{display:block;font-size:13px;margin-bottom:3px}
.pe i{font-style:normal;font-size:11.5px;color:var(--gris);line-height:1.5;display:block}
@media (max-width:620px){.pasos-entrega{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}

/* mis pedidos */
.pedido-fila{background:var(--negro);border:1px solid var(--linea);padding:18px 20px;
             margin-bottom:10px}
.pf-arriba{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.pf-arriba b{font-family:var(--tipo);letter-spacing:.08em;font-size:14px}
.pf-fecha{color:var(--gris);font-size:12.5px}
.pf-estado{margin-left:auto;font-family:var(--tipo);text-transform:uppercase;
           letter-spacing:.1em;font-size:10px;font-weight:700;padding:5px 10px;
           border:1px solid var(--linea);color:var(--gris)}
.pf-estado.recibido{color:#f0b429;border-color:#8a6b1d}
.pf-estado.confirmado,.pf-estado.pagado{color:#2ecc71;border-color:#1d8a4e}
.pf-estado.cancelado{color:#6d6d6d}
.pf-lleva{list-style:none;margin:0 0 12px;padding:0;
          display:flex;gap:8px 18px;flex-wrap:wrap}
.pf-lleva li{color:var(--gris-claro);font-size:13px}
.pf-total{margin:0;font-family:var(--tipo);font-size:17px;font-weight:900}

/* noticias adentro del portal.
   OJO CON EL NOMBRE: aqui decia .rejilla-notas, que es la clase de las
   noticias de la PORTADA. Como esta regla vive mas abajo en el archivo, le
   ganaba el desempate y le cambiaba la rejilla a la portada: de tres columnas
   parejas pasaba a cuatro columnas de las que solo se llenaban tres, y las
   tarjetas se recorrian a la izquierda. */
.rejilla-notas-portal{display:grid;
               grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
               gap:14px;margin-bottom:24px}
.nota-mini{background:var(--negro);border:1px solid var(--linea);text-decoration:none;
           color:inherit;display:block;transition:border-color .2s}
.nota-mini:hover{border-color:var(--rojo)}
.nota-mini-foto{aspect-ratio:16/10;overflow:hidden;background:#0a0a0a}
.nota-mini-foto img{width:100%;height:100%;object-fit:cover;display:block}
.nota-mini-txt{padding:14px 16px}
.nota-mini h4{font-size:14px;margin:0;line-height:1.45;font-weight:700}
.nota-mini-fecha{margin:8px 0 0;font-size:11px;color:var(--gris);
                 text-transform:uppercase;letter-spacing:.08em}

@media (max-width:860px){
  .carrito{grid-template-columns:minmax(0,1fr)}
  .carrito-der{position:static}
}
@media (max-width:760px){
  /* En el telefono la barra se acomoda en dos renglones y el boton abajo, de
     ancho completo: con el pulgar es lo unico que se alcanza bien. */
  .barra-pedido{grid-template-columns:minmax(0,1fr);top:56px;padding:12px 14px}
  .barra-pedido .boton{grid-row:auto;grid-column:1;width:100%;justify-content:center}
  .bp-cuenta{gap:14px}
  .bp-total b{font-size:20px}
  .rejilla-pedido{grid-template-columns:minmax(0,1fr)}
  .cabeza-portal{flex-direction:column}
  .cabeza-der{align-items:flex-start}
  .menu-portal{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .menu-portal .mp{white-space:nowrap}
}
/* ===== PORTAL DEL CLIENTE (fin) ===== */

/* ===== CONTACTO CON ARTE (inicio) ===== */
/* La portada. Misma receta que los banners: foto de fondo, velo para que el
   texto se lea, y el titular grande encima. */
.heroe-contacto{position:relative;overflow:hidden;background:#000;
                padding:clamp(60px,9vw,120px) 0 clamp(44px,6vw,72px)}
.hc-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
          opacity:.5}
.heroe-contacto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.45) 45%,
                             rgba(11,11,11,.96) 100%)}
.hc-dentro{position:relative;z-index:2}
.heroe-contacto .miga{color:var(--gris);font-size:11.5px;letter-spacing:.16em;
                      text-transform:uppercase;margin:0 0 14px}
.heroe-contacto .miga span{color:var(--rojo-vivo);margin:0 6px}
.heroe-contacto h1{font-family:var(--tipo);text-transform:uppercase;
                   font-size:clamp(38px,6.4vw,88px);line-height:.96;margin:0 0 16px;
                   font-weight:900;letter-spacing:.01em;
                   text-shadow:0 4px 26px rgba(0,0,0,.6)}
.hc-bajada{color:var(--gris-claro);font-size:clamp(15px,1.6vw,18.5px);
           max-width:56ch;margin:0 0 clamp(26px,3.4vw,40px);line-height:1.65}
.hc-bajada a{color:var(--rojo-vivo);text-decoration:none;border-bottom:1px solid transparent}
.hc-bajada a:hover{border-bottom-color:var(--rojo-vivo)}

/* Los tres atajos. Quien entra a Contacto casi siempre busca un numero, no
   un formulario: que lo tenga de un toque y no hasta el pie. */
.hc-atajos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
           gap:12px;max-width:900px}
.hc-atajo{display:flex;align-items:center;gap:14px;text-decoration:none;
          background:rgba(0,0,0,.55);border:1px solid var(--linea);
          border-left:3px solid var(--rojo);padding:16px 18px;color:inherit;
          transition:border-color .2s,transform .2s,background .2s}
.hc-atajo:hover{background:rgba(0,0,0,.78);border-color:var(--rojo);
                transform:translateY(-2px)}
.hc-atajo i{font-style:normal;font-size:20px;color:var(--rojo-vivo);flex:none;
            width:26px;text-align:center}
.hc-atajo span{display:flex;flex-direction:column;gap:3px;min-width:0}
.hc-atajo b{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.12em;
            font-size:11px;color:var(--papel)}
.hc-atajo span{font-size:13.5px;color:var(--gris-claro);overflow:hidden;
               text-overflow:ellipsis}

/* El cuerpo deja de ser blanco: era la unica pagina clara del sitio y
   deslumbraba al que venia navegando en oscuro. */
.pagina-contacto.oscura-contacto{background:var(--tinta,#0b0b0b);color:var(--papel);
                                 padding-top:clamp(34px,4.4vw,60px)}
.oscura-contacto .contacto-rejilla{display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);
    gap:clamp(22px,3vw,44px);align-items:start}

/* El lado ya no repite el telefono: ahora resuelve dudas y ahorra un mensaje. */
.oscura-contacto .cl-titulo{font-family:var(--tipo);text-transform:uppercase;
    font-size:clamp(17px,1.9vw,22px);margin:0 0 18px;letter-spacing:.04em;color:var(--papel)}
.cl-lista{list-style:none;margin:0 0 26px;padding:0;display:flex;
          flex-direction:column;gap:2px}
.cl-lista li{background:var(--negro);border:1px solid var(--linea);
             border-left:3px solid var(--rojo);padding:18px 20px;
             display:flex;flex-direction:column;gap:6px}
.cl-lista b{font-size:14.5px;color:var(--papel);font-weight:700}
.cl-lista span{font-size:13.5px;color:var(--gris);line-height:1.6}
.cl-lista a{margin-top:4px;font-family:var(--tipo);text-transform:uppercase;
            letter-spacing:.12em;font-size:11px;font-weight:700;
            color:var(--rojo-vivo);text-decoration:none}
.cl-lista a i{font-style:normal;display:inline-block;transition:transform .2s}
.cl-lista a:hover i{transform:translateX(4px)}
.oscura-contacto .cl-dir{color:var(--gris);font-size:13px;line-height:1.7;
                         margin:0;padding-top:18px;border-top:1px solid var(--linea)}

/* El formulario sobre tarjeta negra con la raya roja, como las tarjetas de
   paquetes y las de "Dos formas de entrar". Misma mano en todo el sitio. */
.oscura-contacto .formulario{background:var(--negro);border:1px solid var(--linea);
    border-top:3px solid var(--rojo);padding:clamp(26px,3vw,40px);
    box-shadow:0 18px 50px rgba(0,0,0,.4)}
.oscura-contacto .formulario h3{font-family:var(--tipo);text-transform:uppercase;
    font-size:clamp(18px,2vw,24px);margin:0 0 22px;letter-spacing:.03em;color:var(--papel)}
.oscura-contacto .formulario label{color:var(--gris);font-size:12px;
    text-transform:uppercase;letter-spacing:.1em}
.oscura-contacto .formulario label b{color:var(--rojo-vivo)}
.oscura-contacto .formulario input,
.oscura-contacto .formulario select,
.oscura-contacto .formulario textarea{background:#0a0a0a;border:1px solid var(--linea);
    color:var(--papel)}
.oscura-contacto .formulario input:focus,
.oscura-contacto .formulario select:focus,
.oscura-contacto .formulario textarea:focus{border-color:var(--rojo);outline:none}
.oscura-contacto .formulario textarea::placeholder{color:#6d6d6d}
.oscura-contacto .letra-chica{color:var(--gris)}

/* Los contactos, apilados en la columna. Cada dato una sola vez: antes el
   telefono aparecia en los atajos de arriba Y en la tabla de abajo. */
.cl-contactos{display:flex;flex-direction:column;gap:2px;margin-bottom:32px}
.cl-dato{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;
         background:var(--negro);border:1px solid var(--linea);
         border-left:3px solid var(--rojo);padding:16px 18px;transition:.2s}
a.cl-dato:hover{border-color:var(--rojo);background:#151515;transform:translateX(3px)}
.cl-dato i{font-style:normal;font-size:17px;color:var(--rojo-vivo);flex:none;
           width:24px;text-align:center}
.cl-dato > span{display:flex;flex-direction:column;gap:3px;min-width:0}
.cl-dato b{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.12em;
           font-size:10.5px;color:var(--gris)}
.cl-dato > span{font-size:14.5px;color:var(--papel);word-break:break-word}
.cl-sub{font-family:var(--tipo);text-transform:uppercase;letter-spacing:.13em;
        font-size:11.5px;color:var(--gris);margin:0 0 12px;font-weight:700}

/* Los datos duros: tarjetas con raya, no una tabla blanca de cuatro celdas.
   Esa tabla era lo que menos parecia Solinco de todo el sitio. */
.oscura-contacto .datos-contacto{border:0;gap:12px;margin-top:clamp(34px,4vw,56px)}
.oscura-contacto .datos-contacto > div{background:var(--negro);
    border:1px solid var(--linea);border-top:3px solid var(--rojo);padding:24px 22px}
.oscura-contacto .datos-contacto h4{color:var(--gris);font-size:10.5px}
.oscura-contacto .datos-contacto p{color:var(--papel);font-size:14.5px}

@media (max-width:860px){
  .oscura-contacto .contacto-rejilla{grid-template-columns:minmax(0,1fr)}
}
/* ===== CONTACTO CON ARTE (fin) ===== */


/* =========================================================================
   SOLINCO MAS - rediseno Fable 4-sep-2026 (inicio)
   Todo con prefijo .dm- (distribuidores) para no pisar a las otras ~160
   paginas que comparten esta hoja. Los unicos selectores sin prefijo son
   los .mas-* y .perfil, que solo existen en solinco-mas.html.
   El verde --verde-hyper es el hilo visual de la pagina: es el color del
   boton DISTRIBUIDORES del header, asi que quien llego por ese boton
   reconoce que esta en su lugar. Solo sobre fondo oscuro: en claro no
   contrasta.
   ========================================================================= */

/* -- hero: los dos porcentajes en verde, cada regla en su renglon -- */
.mas-heroe h1{max-width:26ch}
.dm-pct{color:var(--verde-hyper)}
.dm-renglon{display:block}

/* -- la liga de cada tarjeta de perfil: cada quien brinca a lo suyo -- */
.dm-liga{display:inline-block;margin-top:14px;font-family:var(--tipo);
         font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
         color:var(--rojo-vivo);font-weight:700;transition:color .2s}
.dm-liga b{font-weight:900}
.perfil:hover .dm-liga{color:#fff}

/* -- el contador 1-2-3-4: el mismo dibujo aqui, en "Tu ano" y en el
      portal, para que se reconozca como MI contador -- */
.dm-ciclo{display:flex;justify-content:center;gap:12px;margin:30px 0 12px}
.dm-ciclo span{width:36px;height:36px;border-radius:50%;border:2px solid #3a3f46;
               color:var(--gris);display:flex;align-items:center;justify-content:center;
               font-family:var(--tipo);font-weight:900;font-size:14px}
.dm-ciclo span.premio{background:var(--verde-hyper);border-color:var(--verde-hyper);
                      color:#000}
.dm-ciclo-pie{text-align:center;color:var(--gris);font-size:14px;
              max-width:52ch;margin:0 auto 8px}

/* -- "Haz tu cuenta": pestanas con radios, cero JavaScript.
      El input va oculto pero enfocable: con teclado se cambia de pestana
      con las flechas, como en cualquier grupo de radios. -- */
.dm-tabs{position:relative}
.dm-tabs>input{position:absolute;opacity:0;pointer-events:none}
.dm-tab-botones{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
                margin-bottom:clamp(24px,3vw,36px)}
.dm-tab-botones label{font-family:var(--tipo);text-transform:uppercase;
                      letter-spacing:.12em;font-size:12.5px;font-weight:700;
                      color:var(--gris-claro);border:2px solid var(--linea);
                      border-radius:9999px;padding:12px 26px;cursor:pointer;
                      transition:.2s;user-select:none}
.dm-tab-botones label:hover{border-color:#4a4f55;color:#fff}
#dm-t-enc:checked~.dm-tab-botones label[for="dm-t-enc"],
#dm-t-tienda:checked~.dm-tab-botones label[for="dm-t-tienda"],
#dm-t-acad:checked~.dm-tab-botones label[for="dm-t-acad"]{
  background:var(--papel);border-color:var(--papel);color:#000}
.dm-tabs>input:focus-visible~.dm-tab-botones label{outline:2px solid var(--verde-hyper);
  outline-offset:2px}
.dm-panel{display:none}
#dm-t-enc:checked~#dm-p-enc,
#dm-t-tienda:checked~#dm-p-tienda,
#dm-t-acad:checked~#dm-p-acad{display:block}

/* -- el remate de frecuencia de cada pestana: la 4a compra en verde -- */
.dm-remate{margin:22px auto 0;max-width:640px;text-align:center;
           background:rgba(178,229,30,.07);border:1px solid rgba(178,229,30,.28);
           padding:16px 22px;color:#d6dbe3;font-size:15px;line-height:1.6}
.dm-remate b{color:var(--verde-hyper)}

/* -- TU ANO CON SOLINCO: la linea de tiempo de cuatro compras -- */
.dm-linea{list-style:none;margin:clamp(30px,4vw,48px) 0 clamp(26px,3vw,40px);
          padding:0;display:grid;grid-template-columns:repeat(5,1fr)}
.dm-linea li{position:relative;text-align:center;padding:0 8px}
/* el hilo que une los nodos; arranca en el segundo */
.dm-linea li+li::before{content:"";position:absolute;top:27px;right:50%;
                        width:calc(100% - 62px);margin-right:31px;height:2px;
                        background:#33373c}
.dm-linea li.fantasma::before{background:none;border-top:2px dashed #33373c;
                              height:0}
.dm-linea li.premio::before{background:var(--verde-hyper)}
.dm-nodo{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;
         border:2px solid #3a3f46;background:var(--negro);color:var(--gris-claro);
         display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
         font-family:var(--tipo);font-weight:900;font-size:21px}
.dm-linea li.premio .dm-nodo{background:var(--verde-hyper);
                             border-color:var(--verde-hyper);color:#000;
                             box-shadow:0 0 0 6px rgba(178,229,30,.15)}
.dm-linea li.fantasma{opacity:.55}
.dm-linea li.fantasma .dm-nodo{border-style:dashed}
.dm-nodo-texto b{display:block;font-family:var(--tipo);text-transform:uppercase;
                 letter-spacing:.06em;font-size:13.5px;color:#fff}
.dm-nodo-texto i{display:block;font-style:normal;font-family:var(--tipo);
                 font-weight:900;font-size:24px;color:var(--gris-claro);margin:4px 0}
.dm-linea li.premio .dm-nodo-texto i{color:var(--verde-hyper);font-size:30px}
.dm-nodo-texto span{display:block;color:var(--gris);font-size:12.5px;line-height:1.5}
.dm-nodo-texto span b{display:inline;font-family:var(--tipo-texto);font-size:inherit;
                      letter-spacing:0;color:var(--verde-hyper)}

/* los totales del ano */
.dm-totales{display:flex;justify-content:center;gap:clamp(22px,5vw,70px);
            border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
            padding:clamp(20px,2.6vw,30px) 0;margin:0 0 22px;flex-wrap:wrap}
.dm-totales div{text-align:center}
.dm-totales i{display:block;font-style:normal;font-family:var(--tipo);
              text-transform:uppercase;letter-spacing:.14em;font-size:11px;
              color:var(--gris);margin-bottom:6px}
.dm-totales b{font-family:var(--tipo);font-weight:900;
              font-size:clamp(26px,3.4vw,42px);color:#fff}
.dm-totales .verde b{color:var(--verde-hyper)}
.dm-anio-pie{text-align:center;color:var(--gris);font-size:14px;
             max-width:56ch;margin:0 auto clamp(24px,3vw,34px)}

/* -- las palancas del cotizador (4a compra y factura) -- */
.dm-palanca{display:flex;align-items:center;gap:10px;padding:9px 0;
            color:#d6dbe3;font-size:14px;cursor:pointer;user-select:none}
.dm-palanca input{width:19px;height:19px;accent-color:var(--verde-hyper);
                  cursor:pointer;flex:0 0 auto;margin:0}
.dm-palanca b{color:var(--verde-hyper);font-weight:700}

/* -- el registro: checklist de lo que ganas junto al formulario -- */
.dm-registro{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;
             gap:clamp(20px,3vw,40px);align-items:start}
.dm-checklist{background:var(--humo);border:1px solid var(--linea);
              border-top:3px solid var(--verde-hyper);
              padding:clamp(22px,2.6vw,32px)}
.dm-checklist h3{margin:0 0 16px;font-family:var(--tipo);text-transform:uppercase;
                 letter-spacing:.06em;font-size:16px}
.dm-checklist ul{list-style:none;margin:0;padding:0}
.dm-checklist li{position:relative;padding:10px 0 10px 28px;
                 border-bottom:1px solid rgba(255,255,255,.07);
                 color:#d6dbe3;font-size:14.5px}
.dm-checklist li:last-child{border-bottom:0}
.dm-checklist li::before{content:"";position:absolute;left:3px;top:16px;
                         width:7px;height:12px;border:solid var(--verde-hyper);
                         border-width:0 2px 2px 0;transform:rotate(42deg)}
.dm-forma{min-width:0}

/* -- el WhatsApp de "Antes de que preguntes", como boton de verdad -- */
.dm-wa{text-align:center;margin-top:clamp(26px,3vw,38px)}
.dm-wa p{margin:0 0 14px;color:var(--gris-claro);font-size:15px}
.dm-wa .dm-wa-pie{margin:12px 0 0;color:var(--gris);font-size:13px}

/* -- celular -- */
@media (max-width:760px){
  .dm-ciclo span{width:32px;height:32px;font-size:13px}
  /* la linea de tiempo gira a vertical: nodos a la izquierda, texto a la
     derecha, el mismo patron que "Como funciona". */
  .dm-linea{grid-template-columns:1fr;gap:0}
  .dm-linea li{display:flex;text-align:left;gap:18px;padding:0 0 30px;
               align-items:flex-start}
  .dm-linea li+li::before{top:-30px;right:auto;left:27px;bottom:auto;
                          margin:0;width:2px;height:30px}
  .dm-linea li.fantasma::before{border-top:0;border-left:2px dashed #33373c;
                                width:0}
  .dm-nodo{margin:0;flex:0 0 auto}
  .dm-nodo-texto{padding-top:4px}
  .dm-totales{gap:18px 28px}
  .dm-registro{grid-template-columns:1fr}
  /* en angosto el checklist se comprime: una linea por beneficio */
  .dm-checklist{padding:18px 20px}
  .dm-checklist li{padding:8px 0 8px 26px;font-size:13.5px}
  .dm-tab-botones label{padding:11px 18px;font-size:11.5px}
}
/* SOLINCO MAS - rediseno Fable 4-sep-2026 (fin) */


/* ── El boton de abrir cuenta ─────────────────────────────────────────────
   Fernando lo pidio verde (4-sep-2026). Va el verde del Hyper-G, el mismo
   del boton DISTRIBUIDORES de la cabecera. En negro sobre ese verde se lee;
   en blanco, no. Lleva prefijo dm- porque esta hoja la comparten las 160 y
   pico de paginas del sitio. */
.boton.dm-verde{background:var(--verde-hyper);border-color:var(--verde-hyper);
                color:#0a0a0a}
.boton.dm-verde:hover{background:#c7f53a;border-color:#c7f53a;color:#0a0a0a}
.boton.dm-verde:focus-visible{outline:2px solid #fff;outline-offset:3px}
.boton.dm-verde.grande{padding:19px 44px;font-size:14px}

/* La seccion de cierre: ya no lleva formulario, lleva la invitacion. */
.dm-forma-cta{display:flex;flex-direction:column;align-items:flex-start;
              justify-content:center;gap:18px}
.dm-cta-dice{margin:0;color:#c8ced8;font-size:16px;line-height:1.6;max-width:46ch}
.dm-forma-cta .ya-tengo{margin:0;font-size:14px}
@media (max-width:720px){
  .dm-forma-cta{align-items:stretch}
  .dm-forma-cta .boton{justify-content:center}
}


/* ── El alta de Solinco Más ───────────────────────────────────────────────
   Fernando: "está muy larga, no se me antoja llenarla" y "le falta
   profesionalismo". Lo que se hizo: dos columnas de verdad, la etiqueta
   pegada a su campo, y los cuadros del alto de un dedo en vez de losas. */
.c-arranque{max-width:62ch;margin:0 0 24px;color:#c8ced8;font-size:16px;
            line-height:1.65}
form.formulario .campo input,form.formulario .campo select{padding:12px 14px;
            border-radius:8px;font-size:15.5px;background:#101318;
            border:1px solid #2a313b;color:#f4f6f8;width:100%;box-sizing:border-box}
/* Las opciones del desplegable las pinta el sistema: sin esto, en Windows
   salen en blanco sobre blanco al abrirlas. */
form.formulario .campo select option{background:#101318;color:#f4f6f8}
/* La etiqueta, tambien con fuerza propia: mas abajo hay otra regla .campo
   label -la del formulario claro- que le ganaba y la dejaba gris apagado. */
form.formulario .campo label{color:#aeb6c2;font-size:11px;letter-spacing:.11em;
            margin-bottom:6px;text-transform:uppercase;font-weight:700}
form.formulario .campo input:focus,form.formulario .campo select:focus{
            border-color:var(--verde-hyper);
            box-shadow:0 0 0 3px rgba(178,229,30,.16)}
form.formulario .campo input::placeholder{color:#616b78}
form.formulario .campo small{margin-top:6px;color:#8d95a2;font-size:12.5px}
.campo label b{color:var(--verde-hyper)}

/* El celular: la lada no necesita el mismo ancho que el numero. */
.c-tel{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:10px}
.c-tel select{min-width:0}

/* La ciudad "Otra": aparece debajo de la lista, no en su propio renglon, para
   que el formulario no brinque de alto al escogerla. Vale para el alta y para
   el perfil, que desde el 4-sep-2026 usan el mismo aparato. */
#c-ciudad-otra,#p-ciudad-otra{margin-top:10px}

/* El codigo postal del perfil: lo que contesta SEPOMEX se dice debajo del
   cuadro, en la misma linea de ayuda que ya estaba. Verde cuando encontro el
   CP, rojo cuando no. Cuelga de #por-perfil porque la hoja la comparten las
   160 y pico de paginas. */
#por-perfil #p-cp-dice.cp-bien{color:var(--verde-hyper)}
#por-perfil #p-cp-dice.cp-mal{color:var(--rojo-vivo)}

/* La colonia: mientras no hay CP es un cuadro de escribir normal. Cuando el
   catalogo contesta aparece la lista arriba, y el cuadro solo vuelve si
   escoge "Otra" -- por eso el margen unicamente cuando la lista se ve. */
#por-perfil #p-colonia-sel:not([hidden]) + #p-colonia-otra{margin-top:10px}

@media (max-width:720px){
  form.formulario,.formulario form{grid-template-columns:1fr;row-gap:24px}
  .c-tel{grid-template-columns:minmax(0,120px) minmax(0,1fr)}
}


/* ── La vitrina del pedido, sobre claro ───────────────────────────────────
   Para que se vea el COLOR de la cuerda, que es como vende Solinco. El
   acomodo lo dibujó Fernando (4-sep): nombre arriba a todo lo ancho, foto a
   la izquierda, y a la derecha el precio con su contador debajo.

   Poner la foto AL LADO del precio -y no encima- es lo que baja la tarjeta de
   293 px a 130 sin achicar la foto: los dos bloques comparten el alto en vez
   de sumarse.

   Todo cuelga de #por-pedido: la hoja la comparten las 160 y pico de páginas. */
#por-pedido .rejilla-pedido{background:#fff;border:1px solid #e3e7ec;
   border-radius:14px;padding:14px;gap:10px;
   grid-template-columns:repeat(auto-fill,minmax(214px,1fr))}
#por-pedido .prod-pedido{background:#fff;border:1px solid #e3e7ec;border-radius:11px;
   padding:10px 11px;display:block;overflow:hidden;transition:.16s}
#por-pedido .prod-pedido:hover{border-color:#c2c9d4;
   box-shadow:0 5px 18px rgba(15,20,28,.09)}
#por-pedido .prod-pedido.puesto{border-color:var(--rojo);
   box-shadow:0 0 0 2px rgba(236,28,36,.14)}

#por-pedido .prod-pedido h4{color:#15181d;font-size:13px;line-height:1.25;
   margin:0 0 8px;font-weight:800;min-height:2.5em}

#por-pedido .pp-cuerpo{display:flex;align-items:center;gap:11px}
#por-pedido .pp-foto{flex:0 0 74px;width:74px;height:74px;background:#fff;
   display:flex;align-items:center;justify-content:center}
#por-pedido .pp-foto img{width:100%;height:100%;object-fit:contain}
#por-pedido .pp-sin-foto{background:repeating-linear-gradient(45deg,#f6f8fa,
   #f6f8fa 8px,#eef1f5 8px,#eef1f5 16px);border-radius:8px}

#por-pedido .pp-der{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
#por-pedido .pp-precio{color:#15181d;margin:0;font-size:16px;line-height:1.1;
   white-space:nowrap}
#por-pedido .pp-precio i{display:inline;font-size:8.5px;margin-left:3px;
   color:#8d95a2;letter-spacing:.1em}

#por-pedido .pp-suma{margin:0;border:1px solid #d6dbe3;border-radius:8px;
   overflow:hidden;display:flex;align-items:center}
#por-pedido .pp-suma button{color:#15181d;font-size:15px;width:30px;height:30px;
   line-height:1;background:none;border:0;cursor:pointer;flex:0 0 30px}
#por-pedido .pp-suma button:hover{background:var(--rojo);color:#fff}
#por-pedido .pp-n{background:#fff;color:#15181d;border:0;text-align:center;
   width:100%;min-width:0;font-weight:800;font-size:13.5px;height:30px;
   border-left:1px solid #d6dbe3;border-right:1px solid #d6dbe3}

/* Los filtros, arriba de la vitrina. */
#por-pedido .filtros-pedido{background:#fff;border:1px solid #e3e7ec;
   border-radius:12px;padding:12px;margin-bottom:14px}
#por-pedido .filtros-pedido .fp{border-color:#d6dbe3;color:#4b5563;
   border-radius:9999px;padding:9px 16px;font-weight:700}
#por-pedido .filtros-pedido .fp:hover{border-color:#15181d;color:#15181d}
#por-pedido .filtros-pedido .fp.activa{background:#15181d;border-color:#15181d;
   color:#fff}
#por-pedido #fp-busca{background:#fff;border:1px solid #d6dbe3;color:#15181d;
   border-radius:9px;padding:10px 14px;min-width:220px;flex:1}
#por-pedido #fp-busca::placeholder{color:#8d95a2}

@media (max-width:560px){
  #por-pedido .rejilla-pedido{grid-template-columns:minmax(0,1fr);
     padding:12px;gap:9px}
  #por-pedido .prod-pedido h4{min-height:0}
}

/* ── La barra del resumen del pedido ──────────────────────────────────────
   Las tres cifras con jerarquía: el público tachado PERO legible (es contra
   lo que se compara), tu precio grande, y el ahorro en verde. */
#por-pedido .barra-pedido{background:#12151a;border:1px solid #262c35;
   border-radius:14px;padding:16px 20px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
#por-pedido .bp-cuenta{gap:clamp(18px,3vw,40px);align-items:flex-end}
#por-pedido .bp-cifra{display:flex;flex-direction:column;gap:2px;min-width:0}
#por-pedido .bp-cifra i{font-style:normal;font-family:var(--tipo);font-size:9.5px;
   letter-spacing:.16em;text-transform:uppercase;color:#8d95a2;font-weight:700}
#por-pedido .bp-lista s{color:#c2c9d4;font-family:var(--tipo);font-size:20px;
   font-weight:800;text-decoration-color:var(--rojo-vivo);
   text-decoration-thickness:2px}
#por-pedido .bp-total b{font-size:clamp(28px,3.4vw,38px);color:#fff;line-height:1}
#por-pedido .bp-total em{color:var(--verde-hyper);font-style:normal}
#por-pedido .bp-ahorro b{font-family:var(--tipo);font-size:22px;font-weight:900;
   color:#5ee06a;line-height:1.15}
#por-pedido .bp-ahorro[hidden]{display:none}
#por-pedido .bp-piezas{align-self:flex-end;padding-bottom:3px}

/* La sugerencia: una invitación, no un regaño. Por eso va en verde y con
   fondo propio, separada del aviso de cuánto falta. */
#por-pedido .bp-tip{grid-column:1/-1;margin:10px 0 0;padding:10px 14px;
   background:rgba(178,229,30,.10);border-left:3px solid var(--verde-hyper);
   border-radius:0 8px 8px 0;color:#dbe7bd;font-size:14px;line-height:1.5}
#por-pedido .bp-tip[hidden]{display:none}

@media (max-width:640px){
  #por-pedido .barra-pedido{padding:14px}
  #por-pedido .bp-cuenta{gap:14px}
  #por-pedido .bp-total b{font-size:26px}
}


/* ── Revisa tu pedido ─────────────────────────────────────────────────────
   Sobre claro, igual que la vitrina: aquí también hay fotos de producto y
   sobre negro no se ven. Y cada renglón trae sus DOS precios. */
#por-carrito .tabla-carrito{background:#fff;border:1px solid #e3e7ec;
   border-radius:14px;border-collapse:separate;border-spacing:0;
   overflow:hidden;width:100%}
#por-carrito .tabla-carrito td{border-bottom:1px solid #eef1f5;padding:14px 12px;
   vertical-align:middle;color:#15181d}
#por-carrito .tabla-carrito tr:last-child td{border-bottom:0}
#por-carrito .ca-cuantos{color:var(--rojo);font-family:var(--tipo);font-weight:900;
   width:52px;text-align:center;font-size:15px}
#por-carrito .ca-foto{width:72px;padding-left:0;padding-right:0}
#por-carrito .ca-foto img{width:64px;height:64px;object-fit:contain;
   background:#fff;border:1px solid #eef1f5;border-radius:9px;display:block}
#por-carrito .ca-nombre b{display:block;font-size:15px;font-weight:800;
   color:#15181d;line-height:1.3}
#por-carrito .ca-dos{display:block;margin-top:4px;font-size:13px;color:#5c6675}
#por-carrito .ca-dos s{color:#98a1ae;text-decoration-color:var(--rojo-vivo)}
#por-carrito .ca-dos b{display:inline;color:#1d8a4e;font-weight:800;font-size:14px}
#por-carrito .ca-dos i{font-style:normal;color:#8d95a2;font-size:12px}
#por-carrito .ca-importe{font-family:var(--tipo);font-weight:900;font-size:17px;
   text-align:right;color:#15181d;white-space:nowrap}
#por-carrito .ca-quita{background:none;border:0;color:#98a1ae;font-size:20px;
   cursor:pointer;line-height:1;padding:6px 10px;border-radius:8px}
#por-carrito .ca-quita:hover{background:#fdecec;color:var(--rojo)}

@media (max-width:640px){
  #por-carrito .ca-foto{width:52px}
  #por-carrito .ca-foto img{width:48px;height:48px}
  #por-carrito .tabla-carrito td{padding:11px 8px}
  #por-carrito .ca-importe{font-size:15px}
}


/* Los dos caminos de pago, uno al lado del otro. Verde tarjeta, azul
   transferencia: son decisiones distintas y tienen que distinguirse de lejos,
   no leerse. */
.ca-pagar{display:grid;grid-template-columns:1fr;gap:10px;margin-top:6px}
.ca-pagar .boton{display:flex;flex-wrap:nowrap;white-space:nowrap;
   align-items:center;justify-content:center;gap:8px;
   padding:15px 22px;width:100%;min-height:0;line-height:1.1}
.ca-pagar .boton span{display:inline;flex:0 0 auto}
.boton.pago-tarjeta{background:var(--verde-hyper);border-color:var(--verde-hyper);
   color:#0a0a0a;justify-content:center}
.boton.pago-tarjeta:hover{background:#c7f53a;border-color:#c7f53a;color:#0a0a0a}
.boton.pago-transfer{background:#2563eb;border-color:#2563eb;color:#fff;
   justify-content:center}
.boton.pago-transfer:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.boton.pago-tarjeta[disabled],.boton.pago-transfer[disabled]{opacity:.55;
   cursor:default}


/* El panel entero de "Revisa tu pedido", en claro. Antes solo la tabla estaba
   clara y el resumen seguía negro: media pantalla de cada color se ve peor
   que cualquiera de las dos completas. */
#por-carrito{background:#f4f6f8;border-radius:16px;padding:clamp(18px,3vw,30px);
   color:#15181d}
#por-carrito .titulo-panel,#por-carrito h3{color:#15181d}
#por-carrito .bajada,#por-carrito p{color:#5c6675}
#por-carrito .carrito-der{background:#fff;border:1px solid #e3e7ec;
   border-top:3px solid var(--rojo);border-radius:14px;color:#15181d}
#por-carrito .cuenta-carrito dt,#por-carrito .cuenta-carrito dd{color:#15181d}
#por-carrito .cuenta-carrito .desc dd{color:var(--rojo)}
#por-carrito .cuenta-carrito .total dd{color:#15181d}
#por-carrito .ca-envio{color:#5c6675}
#por-carrito .ca-tiempo{background:#fff8e6;border-color:#f0d9a0;color:#6b5518}
#por-carrito .ca-tiempo b{color:#4a3a0c}
#por-carrito dl,#por-carrito dt,#por-carrito dd{color:#15181d}
#por-carrito .ca-volver,#por-carrito .enlace-suave{color:#5c6675}
#por-carrito .ca-volver:hover{color:var(--rojo)}
#por-carrito .aviso-tiempo{background:#fff8e6;border-color:#f0d9a0;color:#6b5518}
#por-carrito .aviso-tiempo b{color:#4a3a0c}
#por-carrito .letra-chica{color:#7b8494}
#por-carrito .letra-chica a{color:var(--rojo)}


/* El encabezado de cada sección dentro de la vitrina. Ocupa el renglón
   completo de la reja para que parta de verdad; sin esto se cuela como una
   celda más y deja un hueco a media fila. Se perdió al reescribir el bloque
   de la vitrina: quedó dentro del corte y nada avisó. */
#por-pedido .pp-grupo{grid-column:1/-1;display:flex;align-items:center;gap:12px;
   margin:16px 2px 2px;font-family:var(--tipo);text-transform:uppercase;
   letter-spacing:.16em;font-size:12px;color:#15181d;font-weight:900}
#por-pedido .pp-grupo:first-child{margin-top:0}
#por-pedido .pp-grupo i{font-style:normal;font-size:11px;color:#7b8494;
   background:#f0f3f7;border-radius:9999px;padding:3px 10px;font-weight:700;
   letter-spacing:.06em}
#por-pedido .pp-grupo::after{content:"";flex:1;height:3px;border-radius:2px;
   background:var(--color-seccion,#e3e7ec)}
/* El punto del mismo color, antes del nombre: ata el título a su raya. */
#por-pedido .pp-grupo::before{content:"";width:10px;height:10px;border-radius:50%;
   background:var(--color-seccion,#c2c9d4);flex:0 0 10px}

/* Un color por sección. Apagados a propósito: ocho colores fuertes serían un
   circo. El verde es para ROLLOS porque es el Hyper G, el que se vende. */
#por-pedido .pp-grupo[data-sec="ROLLOS"]{--color-seccion:#8fc31f}
#por-pedido .pp-grupo[data-sec="SETS"]{--color-seccion:#e05a4e}
#por-pedido .pp-grupo[data-sec="BOLAS"]{--color-seccion:#e8b530}
#por-pedido .pp-grupo[data-sec="MOCHILAS"]{--color-seccion:#3b82c4}
#por-pedido .pp-grupo[data-sec="RAQUETAS"]{--color-seccion:#4b5563}
#por-pedido .pp-grupo[data-sec="GRIPS"]{--color-seccion:#d97a3d}
#por-pedido .pp-grupo[data-sec="TEXTILES"]{--color-seccion:#8b7bc4}
#por-pedido .pp-grupo[data-sec="OTROS"]{--color-seccion:#5aa9a0}
#por-pedido .pp-grupo[hidden]{display:none}


/* El corte de línea: invisible, sin alto, pero ocupa el renglón completo de
   la reja. Es lo que hace que cada familia empiece en su propia línea aunque
   quepan más por renglón.
   Abajo de 1100 px se apaga: ahí caben tres o menos y forzar los cortes
   dejaría huecos enormes. */
#por-pedido .pp-corte{grid-column:1/-1;height:0;margin:0;padding:0;display:block}
#por-pedido .pp-corte[hidden]{display:none}
@media (max-width:1100px){ #por-pedido .pp-corte{display:none} }

/* ── La invitación a comprar con precio de Solinco Más ────────────────────
   Va en las 266 páginas, antes del pie, y CAMBIA según de qué hable la
   página: cuerda al que encorda, pelotas al club, raquetas al que juega.

   El banner va ENTERO, sin recortar y sin texto encima: los cuatro artes de
   Fernando traen su propio titular y su bajada adentro. Debajo, una barra
   delgada con el botón — lo único que el arte no puede llevar. */
.invita-dm{max-width:1240px;margin:58px auto 0;padding:0 24px}
.invita-caja{display:block;overflow:hidden;border-radius:14px;
            text-decoration:none;background:#0a0a0a;border:1px solid var(--linea);
            transition:border-color .25s}
.invita-caja:hover{border-color:var(--verde-hyper)}
.invita-caja > img{width:100%;height:auto;display:block}
.invita-barra{display:flex;align-items:center;justify-content:space-between;
            gap:18px;flex-wrap:wrap;padding:14px 22px;background:#101318;
            border-top:1px solid var(--linea)}
.invita-pie{color:var(--gris);font-size:12.5px;letter-spacing:.02em}
.invita-boton{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;
            border-radius:999px;background:var(--verde-hyper);color:#0b0b0b;
            font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
            font-weight:800;flex:none}
.invita-caja:hover .invita-boton{background:#c9f53a}

@media (max-width:720px){
  .invita-dm{margin-top:40px;padding:0 16px}
  .invita-barra{padding:14px 16px;gap:12px}
  .invita-pie{font-size:11.5px;order:2;width:100%;text-align:center}
  .invita-boton{width:100%;justify-content:center;order:1}
}

/* ── Entrar, en la cabecera de las 266 páginas ────────────────────────────
   Hasta el 5-sep-2026 sólo DOS páginas de 266 ligaban al portal, y ninguna
   desde la cabecera. Fernando: "queremos que hagan login rápido... a eso
   tenemos que poner mucha atención".

   Va como pastilla de contorno y no como botón lleno a propósito: el botón
   verde de DISTRIBUIDORES es el que invita al que NO tiene cuenta, y son dos
   personas distintas. Si los dos gritan igual, ninguno se oye. */
.utilidades a.entrar-cuenta,
.entrar-cuenta{display:inline-flex;align-items:center;padding:8px 18px;
            border:1px solid var(--verde-hyper);border-radius:999px;
            background:var(--verde-hyper);color:#0b0b0b;
            font-size:11px;letter-spacing:.16em;text-transform:uppercase;
            font-weight:700;text-decoration:none;white-space:nowrap;
            transition:border-color .2s,color .2s,background .2s}
.utilidades a.entrar-cuenta:hover,
.entrar-cuenta:hover{background:#c9f53a;border-color:#c9f53a;color:#0b0b0b;
            transform:none}

@media (max-width:900px){
  /* En 390px la cabecera lleva logo + Entrar + lupa + menú. Entrar se achica
     para que quepan los cuatro sin empujar la página a lo ancho. */
  .entrar-cuenta{padding:7px 13px;font-size:10px;letter-spacing:.1em}
}

/* ── La franja de alta de Solinco Más ─────────────────────────────────────
   Va inmediatamente debajo del hero. Antes la única forma de abrir cuenta
   estaba al 89% de la página, y quien ya la tenía no tenía por dónde entrar.
   Dos puertas, una por persona: el botón verde para el que llega y el enlace
   discreto para el que ya compra. */
.seccion.franja-alta{padding:34px 0}
.fa-caja{display:flex;align-items:center;justify-content:space-between;
            gap:28px;flex-wrap:wrap;background:#101318;
            border:1px solid var(--linea);border-radius:14px;padding:26px 32px}
.fa-dicho h2{margin:0 0 8px;font-size:22px;color:#fff;font-weight:800;
            line-height:1.3}
.fa-dicho p{margin:0;color:var(--gris-claro);font-size:14.5px;line-height:1.6;
            max-width:62ch}
.fa-botones{display:flex;align-items:center;gap:22px;flex:none}
.fa-ya{color:var(--gris-claro);font-size:13.5px;text-decoration:none;
            border-bottom:1px solid #39404a;padding-bottom:2px;transition:.2s}
.fa-ya:hover{color:var(--verde-hyper);border-bottom-color:var(--verde-hyper)}

@media (max-width:820px){
  .seccion.franja-alta{padding:26px 0}
  .fa-caja{padding:22px;gap:20px}
  .fa-dicho h2{font-size:19px}
  .fa-botones{width:100%;flex-direction:column;align-items:stretch;gap:14px}
  .fa-botones .boton{justify-content:center;text-align:center}
  .fa-ya{text-align:center;border-bottom:0}
}

/* ── Los cuatro banners de distribuidores ─────────────────────────────────
   Mismo componente que el hero del home (.heroe/.laminas/.puntos); aquí sólo
   van los ajustes propios. Las fotos de Fernando traen la zona oscura a la
   izquierda, así que el texto va alineado a la izquierda y no abajo como en
   el home. */
.heroe-dm{height:clamp(420px,52vw,560px)}
.heroe-dm .lamina::after{background:linear-gradient(90deg,
            rgba(0,0,0,.88) 0%,rgba(0,0,0,.6) 42%,rgba(0,0,0,.12) 72%,transparent 100%)}
.heroe-dm .lamina .dicho{top:0;bottom:0;justify-content:center;align-items:flex-start;
            text-align:left;max-width:none;padding-left:max(24px,calc((100% - var(--ancho))/2 + 24px));padding-right:24px}
.heroe-dm .lamina .dicho>*{max-width:600px}
.heroe-dm .dm-gorro{margin:0 0 14px;color:var(--verde-hyper);font-size:11px;
            letter-spacing:.24em;text-transform:uppercase;font-weight:800}
.heroe-dm .lamina h2{margin:0 0 18px;font-size:clamp(27px,3.6vw,50px);
            line-height:1.06;color:#fff;letter-spacing:.005em}
.heroe-dm .dm-cifras{margin:0 0 8px;color:#fff;font-size:clamp(15px,1.5vw,19px);
            font-weight:700;line-height:1.5}
.heroe-dm .dm-remate{margin:0 0 26px;color:var(--gris-claro);
            font-size:clamp(13.5px,1.2vw,16px);line-height:1.6}
.heroe-dm .puntos{justify-content:flex-start;padding-left:clamp(24px,6vw,90px)}

@media (max-width:820px){
  /* En el teléfono la foto se ve menos y el texto manda: la caja crece y el
     velo se hace vertical para que se lea sobre cualquier parte de la foto. */
  .heroe-dm{height:auto;min-height:470px}
  .heroe-dm .lamina::after{background:linear-gradient(180deg,
            rgba(0,0,0,.55) 0%,rgba(0,0,0,.82) 45%,rgba(0,0,0,.92) 100%)}
  .heroe-dm .lamina .dicho{max-width:100%;padding:26px 20px 60px;
            justify-content:flex-end}
  .heroe-dm .puntos{padding-left:20px;bottom:20px}
}

/* ── "¿Quieres ver cuánto pagarías?" ──────────────────────────────────────
   Idea de Nova, colocación de Fernando: ella la escribió como quinto banner
   y él la sacó del carrusel y la puso aquí. Tenía razón — aquí contesta la
   objeción más fuerte que hay antes de un formulario ("¿para qué me registro
   si no sé si me conviene?"), y dentro del carrusel sólo habría competido
   con los otros cuatro. */
.seccion.franja-cotiza{padding:28px 0 0}
.fc-caja{display:flex;align-items:center;justify-content:space-between;gap:26px;
            flex-wrap:wrap;border:1px dashed #333b45;border-radius:14px;
            padding:22px 30px}
.fc-dicho h2{margin:0 0 6px;font-size:19px;color:#fff;font-weight:800}
.fc-dicho p{margin:0;color:var(--gris-claro);font-size:14.5px;line-height:1.6}
.fc-dicho b{color:#fff}

@media (max-width:820px){
  .seccion.franja-cotiza{padding:22px 0 0}
  .fc-caja{padding:20px;gap:16px}
  .fc-dicho h2{font-size:17px}
  .fc-caja .boton{width:100%;justify-content:center;text-align:center}
}

/* ── Los paquetes, como tarjetas ──────────────────────────────────────────
   Fernando, 5-sep-2026: la lista de diez renglones "no es llamativa" y era
   muy larga. Mismo lenguaje visual que "Nuestros productos" del home, que es
   el que le gusta: foto grande, nombre corto, precio.

   Cinco y no diez: cada paquete y su "+" son el mismo en dos tamaños. */
.rejilla-paq{display:grid;gap:14px;grid-template-columns:repeat(5,1fr)}
.paq-tarjeta{background:#101318;border:1px solid var(--linea);border-radius:14px;
            overflow:hidden;display:flex;flex-direction:column;
            transition:border-color .25s}
.paq-tarjeta:hover{border-color:var(--verde-hyper)}
.paq-t-foto{aspect-ratio:16/10;overflow:hidden;background:#000}
/* contain y no cover: el arte de cada paquete trae su nombre y lo que lleva
   escrito adentro. Recortarlo por los lados corta las letras. */
.paq-t-foto img{width:100%;height:100%;object-fit:contain;display:block;
            transition:transform .6s}
.paq-tarjeta:hover .paq-t-foto img{transform:scale(1.05)}
.paq-t-cuerpo{padding:15px 15px 17px;display:flex;flex-direction:column;flex:1}
.paq-t-cuerpo h3{margin:0 0 5px;font-family:var(--tipo);text-transform:uppercase;
            font-size:16px;color:#fff;letter-spacing:.04em}
.paq-t-para{margin:0 0 13px;color:var(--gris-claro);font-size:12.5px;
            line-height:1.5;flex:1}
.paq-t-opciones{display:grid;gap:9px}
.paq-t-op{display:grid;grid-template-columns:auto 1fr;gap:1px 8px;
            align-items:baseline;text-align:left;width:100%;cursor:pointer;
            background:#0b0e12;border:1px solid #262d36;border-radius:9px;
            padding:9px 11px;color:var(--papel);font:inherit;transition:.2s}
.paq-t-op:hover{border-color:var(--verde-hyper);background:#0e1319}
.paq-t-que{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
            color:var(--gris);font-weight:700}
.paq-t-precio{font-size:16px;font-weight:800;color:#fff;justify-self:end}
.paq-t-lleva{grid-column:1/-1;font-size:11.5px;color:var(--gris);line-height:1.4}
.paq-t-op:hover .paq-t-precio{color:var(--verde-hyper)}

@media (max-width:1180px){
  .rejilla-paq{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .rejilla-paq{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  /* En el telefono la foto va a un lado y el texto al otro: apiladas, cinco
     tarjetas con foto arriba serian mas largas que la lista que quitamos. */
  .rejilla-paq{grid-template-columns:1fr;gap:12px}
  .paq-tarjeta{flex-direction:row}
  .paq-t-foto{aspect-ratio:16/10;width:132px;flex:none}
  .paq-t-cuerpo{padding:13px 14px}
  .paq-t-para{display:none}
}

/* ══════════════════════════════════════════════════════════════════
   ENTRAR Y CREAR CUENTA, A DOS COLUMNAS

   Fernando, 7-sep-2026: "esta muy amplio... quiero que sea solo de la
   mitad de la pagina, pegado al lado izquierdo, y que tenga mas arte,
   se ve muy triste, no se me antoja llenar el formulario."

   Antes el formulario abarcaba el ancho completo: un correo y una
   contrasena perdidos en mil trescientos pixeles de negro. Ahora el
   formulario vive a la izquierda y a la derecha va la razon para
   llenarlo, que es donde de verdad sirve.
   ══════════════════════════════════════════════════════════════════ */
.cuenta-dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto 1fr;gap:0 34px;align-items:start;
  max-width:1180px;margin:0 auto}
/* Las pestañas ocupan su propio renglón, sólo en la columna izquierda. Así
   el anuncio de la derecha empieza exactamente donde empieza el formulario
   -en la línea roja-, sin depender de un margen que hay que recalcular
   cada vez que las pestañas cambien de alto. */
.cuenta-dos .cuenta-cab{grid-column:1;grid-row:1}
.cuenta-dos .pestanas{justify-content:flex-start;margin:0 0 18px}
.cuenta-dos .c-arranque{margin:0 0 18px}
.cuenta-dos .c-arranque[hidden]{display:none}
.cuenta-dos .cuenta-forma{grid-column:1;grid-row:2;min-width:0}
.cuenta-dos .cuenta-arte{grid-column:2;grid-row:2}

.cuenta-arte{border:1px solid var(--linea);border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  position:sticky;top:96px}
/* El banner mide 1717x916. Forzarlo a 16/9 le cortaba los lados y se veia
   mal recortado. Se respeta su proporcion y se ve completo. */
.cuenta-arte .ca-imagen{overflow:hidden;background:#000;line-height:0}
.cuenta-arte .ca-imagen img{width:100%;height:auto;display:block}
.cuenta-arte .ca-texto{padding:26px 28px 28px}
.cuenta-arte h3{font-family:var(--tipo);font-size:15px;letter-spacing:.14em;
  text-transform:uppercase;color:#fff;margin:0 0 18px}

.ca-lista{list-style:none;margin:0;padding:0}
.ca-lista li{position:relative;padding-left:26px;margin-bottom:18px}
.ca-lista li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;
  border-radius:2px;background:var(--rojo)}
.ca-lista li b{display:block;color:#fff;font-size:16px;margin-bottom:4px;
  font-weight:700;letter-spacing:.01em}
.ca-lista li span{display:block;color:var(--gris);font-size:14px;line-height:1.55}

.ca-pie{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--linea);
  color:var(--gris);font-size:13.5px;line-height:1.6}
.ca-pie a{color:var(--verde);text-decoration:none;border-bottom:1px solid transparent}
.ca-pie a:hover{border-bottom-color:var(--verde)}

/* En pantalla angosta el arte se va abajo: primero se llena, luego se
   convence. Al reves seria pedirle a alguien que baje para ver el
   formulario. */
@media (max-width:900px){
  .cuenta-dos{grid-template-columns:1fr;grid-template-rows:none;gap:26px}
  .cuenta-dos .pestanas,.cuenta-dos .cuenta-forma,.cuenta-dos .cuenta-arte{
    grid-column:1;grid-row:auto}
  .cuenta-arte{position:static}
  .cuenta-dos .pestanas{justify-content:center}

}

/* ══════════════════════════════════════════════════════════════════
   HACER UN PEDIDO, A DOS COLUMNAS

   Fernando, 7-sep-2026: "el cuadro más importante es éste (el que suma
   tu pedido); a mi juicio tiene que ser de la mitad de la hoja, del
   lado izquierdo... y la sección donde se va sumando todo tiene que
   ser muy llamativa y clara".

   Antes la suma era una barra horizontal delgada de ancho completo, y
   las cuatro cifras competían por el mismo renglón. Ahora la suma es
   una tarjeta a la izquierda, con una cifra por fila y en orden:
   productos, precio público tachado, tu precio, tu ahorro.
   ══════════════════════════════════════════════════════════════════ */
/* Las columnas ya NO estiran a la misma altura.
   Se hizo asi el 7-sep-2026 porque Fernando pidio simetria, y entonces la
   derecha llevaba tres cajas. Al aparecer "tu pedido anterior" se volvio una
   cuarta, la izquierda estiro con ella y quedo un hueco de 250 px entre la
   suma y el boton. Su reaccion, con razon: "visualmente ya quedo muy largo".
   La tarjeta de la suma vuelve a medir lo que mide, y se queda pegada
   mientras el catalogo baja, que es para lo que sirve. */
#por-pedido .pedido-dos{display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:20px;align-items:start;margin-bottom:24px}

/* La tarjeta deja de ser barra: se acomoda en filas. */
#por-pedido .pedido-dos .barra-pedido{position:sticky;top:calc(var(--alto-cabecera) + 16px);
  display:flex;flex-direction:column;padding:24px 26px 26px;margin-bottom:0}
#por-pedido .pedido-dos .bp-cuenta{display:block}
#por-pedido .pedido-dos .bp-cuenta > span{display:flex;align-items:baseline;
  justify-content:space-between;gap:16px;padding:13px 0;
  border-bottom:1px solid #232a33}
#por-pedido .pedido-dos .bp-cuenta > span:last-child{border-bottom:0}
#por-pedido .pedido-dos .bp-cifra{flex-direction:row}
#por-pedido .pedido-dos .bp-piezas{align-self:auto;padding-bottom:0}
#por-pedido .pedido-dos .bp-piezas i{font-style:normal;font-family:var(--tipo);
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#8d95a2;
  font-weight:700}
#por-pedido .pedido-dos .bp-piezas b{color:var(--papel);font-family:var(--tipo);
  font-size:22px;font-weight:900}
/* El renglón de "tu precio" es el que manda: se le da aire y fondo. */
#por-pedido .pedido-dos .bp-total{margin:4px -26px;padding:16px 26px !important;
  background:rgba(94,224,106,.07);border-top:1px solid #232a33;
  border-bottom:1px solid #232a33 !important}
#por-pedido .pedido-dos .bp-total b{font-size:clamp(30px,3.6vw,42px)}
#por-pedido .pedido-dos .bp-barra{margin-top:18px}
#por-pedido .pedido-dos .bp-falta{margin-top:12px;font-size:13.5px;
  color:#c2c9d4;line-height:1.5}
#por-pedido .pedido-dos .boton{display:flex;justify-content:center;
  width:100%;max-width:420px;margin:22px auto 0}

/* El aviso de los 20 días se va a la derecha y deja de ser una franja. */
/* El aviso de los tiempos, en verde. Fernando: es información buena --
   catálogo completo, entrega en 15 días-- no una advertencia. El ámbar
   la hacía sonar a "ojo, tardamos". */
#por-pedido .pedido-dos .aviso-tiempo{margin:0;border-radius:14px;
  border:1px solid #262c35;border-left:3px solid var(--verde-hyper);
  background:rgba(178,229,30,.06);padding:15px 20px;
  font-size:13.5px;line-height:1.6}
#por-pedido .pedido-dos .aviso-tiempo b{color:var(--verde-hyper)}

@media (max-width:900px){
  /* En celular la suma va primero y el aviso abajo: se compra con la
     suma a la vista, no con un aviso. */
  #por-pedido .pedido-dos{grid-template-columns:1fr;gap:16px}
  #por-pedido .pedido-dos .barra-pedido{position:static}
  #por-pedido .pedido-dos .bp-total{margin-left:-20px;margin-right:-20px;
    padding-left:20px !important;padding-right:20px !important}
}

/* ── La pestaña de HACER UN PEDIDO, en verde ──────────────────────
   Fernando: "que el botón de HACER UN PEDIDO sea verde y más llamativo,
   para distinguir". Es la acción que deja dinero; las otras tres son
   consulta. */
/* Fernando, 7-sep-2026: "distribuidor, entrar, hacer pedido, aceptar...
   todos son botones verdes". Tiene razon y es una regla, no un capricho:
   el verde marca EL CAMINO DEL DINERO. Los demas botones son consulta.
   Por eso esta pestaña deja de parecer pestaña y se vuelve el mismo bloque
   verde con letra negra que Distribuidores y Entrar. */
#menu-portal .mp[data-panel="por-pedido"]{
  background:var(--verde-hyper);color:#000;font-weight:900;
  border-radius:8px;padding:9px 20px;line-height:1.1}
#menu-portal .mp[data-panel="por-pedido"]:hover{background:#c7f53a;color:#000}
#menu-portal .mp[data-panel="por-pedido"].activa{background:var(--verde-hyper);color:#000}
/* El subrayado de pestaña activa sobra cuando ya es un bloque de color. */
#menu-portal .mp[data-panel="por-pedido"]::after{display:none}

/* El boton de cerrar el pedido: apagado mientras no aplique el descuento,
   verde en cuanto aplica. Es el ultimo eslabon de la cadena. */
#por-pedido .boton#bp-aceptar.en-verde{background:var(--verde-hyper);color:#000;
  border-color:var(--verde-hyper)}
#por-pedido .boton#bp-aceptar.en-verde:hover{background:#c7f53a;color:#000}
#por-pedido .boton#bp-aceptar.en-verde span{color:#000}

/* ══════════════════════════════════════════════════════════════════
   LA BARRITA QUE SIGUE AL CLIENTE

   Fernando, 7-sep-2026: "conforme bajo a escoger productos, mi lista
   de qué estoy comprando me tiene que ir siguiendo".

   Por qué no basta con pegar la caja grande: `position:sticky` sólo
   funciona DENTRO de la caja de su padre. La caja grande vive en la
   rejilla de dos columnas de arriba, así que se despega justo donde
   esa rejilla termina — antes de que empiece el catálogo. Se veía
   pegada un ratito y luego se quedaba atrás. Ése era el defecto.

   Esta barrita no depende de eso: es fija arriba y aparece sólo
   cuando la caja grande ya no se ve.
   ══════════════════════════════════════════════════════════════════ */
.pedido-sigue{position:fixed;left:0;right:0;top:var(--alto-cabecera,64px);z-index:40;
  display:flex;align-items:center;gap:clamp(14px,3vw,34px);
  padding:12px clamp(16px,4vw,58px);
  background:rgba(10,12,15,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid #262c35;box-shadow:0 10px 26px rgba(0,0,0,.45);
  animation:bm-entra .28s ease-out}
.pedido-sigue[hidden]{display:none}
@keyframes bm-entra{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

.pedido-sigue .bm-piezas{color:var(--gris);font-size:13px;white-space:nowrap}
.pedido-sigue .bm-piezas b{color:var(--papel);font-family:var(--tipo);font-size:19px;
  font-weight:900;margin-right:5px}
.pedido-sigue .bm-total,.pedido-sigue .bm-ahorro{display:flex;flex-direction:column;
  gap:1px;min-width:0;white-space:nowrap}
.pedido-sigue i{font-style:normal;font-family:var(--tipo);font-size:9px;
  letter-spacing:.16em;text-transform:uppercase;color:#8d95a2;font-weight:700}
.pedido-sigue .bm-total b{font-size:22px;color:#fff;line-height:1.05}
.pedido-sigue .bm-ahorro b{font-family:var(--tipo);font-size:16px;font-weight:900;
  color:#5ee06a;line-height:1.15}
.pedido-sigue .bm-ahorro[hidden]{display:none}
/* El botón se va hasta la derecha y se prende en verde igual que el grande. */
.pedido-sigue .boton{margin-left:auto;white-space:nowrap;padding:11px 22px}
.pedido-sigue .boton:disabled{opacity:.4;cursor:not-allowed}
.pedido-sigue .boton.en-verde{background:var(--verde-hyper);color:#000;
  border-color:var(--verde-hyper)}
.pedido-sigue .boton.en-verde span{color:#000}

@media (max-width:760px){
  /* En celular sobra el ahorro: lo que decide es cuánto lleva y el botón. */
  .pedido-sigue{gap:12px;padding:10px 14px}
  .pedido-sigue .bm-ahorro{display:none}
  .pedido-sigue .bm-total b{font-size:18px}
  .pedido-sigue .boton{padding:10px 16px;font-size:11px}
}

/* ══════════════════════════════════════════════════════════════════
   LA COLUMNA DERECHA DEL PEDIDO

   Tres cajas, en el orden en que sirven: repetir el pedido anterior
   (para el que vuelve), la escalera del 25% (para que vuelva) y qué
   pasa al aceptar (para el que entra por primera vez).
   ══════════════════════════════════════════════════════════════════ */
#por-pedido .lado-derecho{min-width:0}
#por-pedido .lado-caja{border:1px solid #262c35;border-radius:14px;
  padding:17px 20px;margin-top:12px;background:#12151a}
#por-pedido .lado-caja h4{font-family:var(--tipo);font-size:11px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--papel);
  font-weight:800;margin:0 0 11px}
#por-pedido .lado-caja[hidden]{display:none}
#por-pedido .lc-fecha{color:var(--gris);font-size:13px;margin:-8px 0 12px}
#por-pedido .lc-lista{list-style:none;margin:0 0 10px;padding:0}
#por-pedido .lc-lista li{font-size:14px;color:#c2c9d4;line-height:1.6;
  display:flex;gap:9px}
#por-pedido .lc-lista li b{color:#fff;font-family:var(--tipo);font-weight:900;
  min-width:26px}
#por-pedido .lc-mas{color:var(--gris);font-size:13px;margin:0 0 14px}
#por-pedido .lc-nota{color:var(--gris);font-size:12.5px;line-height:1.5;
  margin:12px 0 0}
#por-pedido #rep-boton{width:100%;justify-content:center}

/* La escalera: cuatro escalones y el cuarto es el premiado. */
#por-pedido .escalera{display:flex;gap:8px;align-items:stretch}
#por-pedido .esc-paso{flex:1;border:1px solid #2b323c;border-radius:9px;
  padding:12px 6px;text-align:center;background:rgba(255,255,255,.02)}
#por-pedido .esc-paso b{display:block;font-family:var(--tipo);font-size:19px;
  font-weight:900;color:#5b636e;line-height:1}
#por-pedido .esc-paso span{display:block;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:#5b636e;margin-top:5px;font-weight:700}
#por-pedido .esc-paso.hecha{border-color:#3a444f;background:rgba(255,255,255,.05)}
#por-pedido .esc-paso.hecha b{color:#c2c9d4}
#por-pedido .esc-paso.ahora{border-color:var(--rojo);background:rgba(236,28,36,.1)}
#por-pedido .esc-paso.ahora b,#por-pedido .esc-paso.ahora span{color:#fff}
#por-pedido .esc-paso.premio{border-color:var(--verde-hyper);
  background:rgba(178,229,30,.12)}
#por-pedido .esc-paso.premio b,#por-pedido .esc-paso.premio span{
  color:var(--verde-hyper)}

/* Los tres pasos de qué sigue. */
#por-pedido .lc-pasos{list-style:none;margin:0;padding:0;counter-reset:paso}
#por-pedido .lc-pasos li{position:relative;padding-left:32px;margin-bottom:11px;
  counter-increment:paso}
#por-pedido .lc-pasos li:last-child{margin-bottom:0}
#por-pedido .lc-pasos li::before{content:counter(paso);position:absolute;left:0;
  top:1px;width:23px;height:23px;border-radius:50%;border:1px solid #3a444f;
  color:var(--gris);font-family:var(--tipo);font-size:11px;font-weight:900;
  display:flex;align-items:center;justify-content:center}
#por-pedido .lc-pasos li b{display:block;color:#fff;font-size:14.5px;
  margin-bottom:2px}
#por-pedido .lc-pasos li span{display:block;color:var(--gris);font-size:13px;
  line-height:1.5}


/* ══════════════════════════════════════════════════════════════════
   LO QUE FALTA ESCOGER, EN EL RENGLON DEL CARRITO

   Fernando, 7-sep-2026: "aqui es donde tenemos que especificar que
   calibre de cuerda, que tamaño de raqueta... sugiero que se ponga un
   selector entre el producto y el precio".

   Va dentro de la celda del nombre, empujado a la derecha: en pantalla
   ancha cae justo en el hueco entre el producto y el importe, que es
   donde el lo dibujo; en el telefono baja solo debajo del nombre, sin
   partir la tabla en una columna mas.
   ══════════════════════════════════════════════════════════════════ */
#por-carrito .ca-nombre{display:flex;align-items:center;gap:18px}
#por-carrito .ca-texto{flex:1;min-width:0}
#por-carrito .ca-elige{display:flex;align-items:center;gap:8px;
  margin-left:auto;flex-shrink:0}
#por-carrito .ca-elige > span{font-family:var(--tipo);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:#8d95a2;font-weight:800}
#por-carrito .ca-elige select{font-family:var(--tipo);font-size:13px;
  font-weight:800;color:#1b2027;background:#fff;border:1.5px solid #cfd6df;
  border-radius:9px;padding:7px 10px;min-width:104px;cursor:pointer}
#por-carrito .ca-elige select:focus{outline:2px solid var(--rojo);
  outline-offset:1px}
/* Sin escoger no se puede surtir: el renglon lo dice sin regañar. */
#por-carrito .ca-elige.falta select{border-color:var(--rojo);
  background:#fdecec;color:var(--rojo)}
#por-carrito .ca-elige.falta > span{color:var(--rojo)}

@media (max-width:640px){
  /* En el telefono el selector se queda en su renglon, de lado a lado:
     es un dato obligatorio y no debe competir por espacio. */
  #por-carrito .ca-nombre{flex-wrap:wrap}
  #por-carrito .ca-texto{flex:0 0 100%}
  #por-carrito .ca-elige{flex:0 0 100%;margin-left:0;margin-top:8px}
  #por-carrito .ca-elige select{flex:1;min-width:0}
}


/* ══════════════════════════════════════════════════════════════════
   VACIAR EL PEDIDO

   Fernando, 7-sep-2026: "falta un boton pequeño para borrar o limpiar
   el pedido".

   Chico y gris a proposito. Un pedido de 76 renglones es media hora de
   trabajo y este boton la borra; no puede competir de tamaño con
   ACEPTAR, que es la accion que si queremos que pique.
   ══════════════════════════════════════════════════════════════════ */
#por-pedido .bp-vaciar{margin-top:12px;text-align:center;min-height:20px}
#por-pedido .bp-vaciar[hidden]{display:none}
#por-pedido #bp-vaciar-1{background:none;border:0;color:#8d95a2;
  font-family:var(--tipo);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;cursor:pointer;padding:4px 8px}
#por-pedido #bp-vaciar-1:hover{color:var(--rojo-vivo)}
#por-pedido .bp-seguro{display:inline-flex;align-items:center;gap:10px;
  flex-wrap:wrap;justify-content:center}
#por-pedido .bp-seguro[hidden]{display:none}
#por-pedido .bp-seguro b{color:#c2c9d4;font-size:12.5px;font-weight:700}
#por-pedido .bp-seguro button{font-family:var(--tipo);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;font-weight:800;
  padding:6px 13px;border-radius:8px;cursor:pointer;border:1px solid}
#por-pedido #bp-vaciar-si{background:rgba(214,45,45,.12);color:#ff6b6b;
  border-color:rgba(214,45,45,.5)}
#por-pedido #bp-vaciar-si:hover{background:var(--rojo);color:#fff;
  border-color:var(--rojo)}
#por-pedido #bp-vaciar-no{background:none;color:#c2c9d4;border-color:#3a424e}
#por-pedido #bp-vaciar-no:hover{background:#232a33;color:#fff}


/* ══════════════════════════════════════════════════════════════════
   LA NOTA DEL DISTRIBUIDOR

   Fernando, 7-sep-2026: "agregar abajo al final del pedido una seccion
   para notas, por si el distribuidor quiere decir algo sobre un
   producto".

   Va al final de la lista, no arriba: se escribe cuando ya se vio todo
   lo que se pidio. Y no es un adorno de pantalla -- viaja con el pedido
   al correo y a la base, porque una nota que no le llega a quien surte
   no es una nota.
   ══════════════════════════════════════════════════════════════════ */
#por-carrito .ca-notas{margin-top:22px;border-top:1px solid #eef1f5;
  padding-top:20px}
#por-carrito .ca-notas label{display:block;cursor:pointer}
#por-carrito .ca-notas label b{display:block;font-family:var(--tipo);
  font-size:13px;letter-spacing:.06em;color:#1b2027;font-weight:800}
#por-carrito .ca-notas label span{display:block;font-size:13px;color:#5c6675;
  margin-top:3px;line-height:1.55}
#por-carrito #ca-nota{width:100%;margin-top:10px;padding:12px 14px;
  border:1.5px solid #cfd6df;border-radius:11px;background:#fff;
  font-family:inherit;font-size:14.5px;line-height:1.6;color:#1b2027;
  resize:vertical;min-height:78px}
#por-carrito #ca-nota:focus{outline:2px solid var(--rojo);outline-offset:1px;
  border-color:var(--rojo)}
#por-carrito #ca-nota::placeholder{color:#98a1ae}
#por-carrito .ca-nota-cuenta{margin:6px 0 0;text-align:right;font-size:11.5px;
  color:#98a1ae;font-family:var(--tipo);letter-spacing:.06em}
#por-carrito .ca-nota-cuenta.lleno{color:var(--rojo);font-weight:700}

@media (max-width:640px){
  #por-carrito .ca-notas{margin-top:18px;padding-top:16px}
}


/* ══════════════════════════════════════════════════════════════════
   EL PEDIDO QUE YA SE MANDO Y FALTA PAGAR

   Fernando, 7-sep-2026: pico "pagar con tarjeta", lo llevo a la
   pantalla de pago, regreso con el boton de atras y se encontro el
   carrito vacio y los dos botones muertos. Su reaccion: "y se borro el
   pedido... creo".

   No se habia borrado: se habia GUARDADO, y el carrito se vacia a
   proposito para que "atras" no lo mande dos veces. Lo que faltaba no
   era guardar mejor, era decirlo. Esto lo dice, y lo regresa al pago.
   ══════════════════════════════════════════════════════════════════ */
#por-pedido .pedido-pendiente{display:flex;flex-wrap:wrap;gap:16px 24px;
  align-items:center;justify-content:space-between;
  border:1px solid rgba(240,180,41,.45);border-left:3px solid #f0b429;
  border-radius:14px;background:rgba(240,180,41,.07);
  padding:20px 24px;margin-bottom:22px}
#por-pedido .pedido-pendiente[hidden]{display:none}
#por-pedido .pp-texto{min-width:0;flex:1}
#por-pedido .pp-texto b{display:block;color:#f0b429;font-size:16px;
  font-weight:800;line-height:1.35}
#por-pedido .pp-texto b span{font-family:var(--tipo);letter-spacing:.06em}
#por-pedido .pp-texto > span{display:block;color:#c2c9d4;font-size:13.5px;
  line-height:1.6;margin-top:5px}
#por-pedido .pp-botones{display:flex;align-items:center;gap:16px;
  flex-wrap:wrap}
#por-pedido #pp-pagar{background:#f0b429;border-color:#f0b429;color:#000;
  white-space:nowrap}
#por-pedido #pp-pagar:hover{background:#ffc94d;border-color:#ffc94d;color:#000}
#por-pedido #pp-pagar[hidden]{display:none}
#por-pedido #pp-cerrar{color:#8d95a2;font-size:12.5px}

@media (max-width:640px){
  #por-pedido .pedido-pendiente{padding:16px 18px}
  #por-pedido .pp-botones{width:100%}
  #por-pedido #pp-pagar{flex:1;justify-content:center}
}
