/* ══════════════════════════════════════════════════════════════════
   Catálogo de revendedor · /productos/, categorías y fichas
   Tokens y familias de shared.css. Nada de identidad nueva.
   ══════════════════════════════════════════════════════════════════ */

.aiden-page-catalogo{background:var(--n0)}

/* ── Migas ── */
.aiden-page-catalogo .acat-migas{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:26px;
  font-family:var(--fm);font-size:12px;line-height:1.5;color:var(--n500)}
/* En una ficha son cuatro niveles y el último puede ser «Esenciales de negocio
   en línea de Microsoft 365»: sin esto ocupa tres líneas de cabecera en móvil. */
.aiden-page-catalogo .acat-migas > *{min-width:0;overflow-wrap:anywhere}
.aiden-page-catalogo .acat-migas a{color:var(--n500);text-decoration:none}
.aiden-page-catalogo .acat-migas a:hover{color:var(--t600);text-decoration:underline;text-underline-offset:3px}
.aiden-page-catalogo .acat-migas [aria-current]{color:var(--n900);font-weight:600}
.aiden-page-catalogo .acat-migas span[aria-hidden]{color:var(--n200)}

/* ── Encabezado ── */
.aiden-page-catalogo .acat-hero{padding:56px 0 40px}
.aiden-page-catalogo .acat-h1{margin:14px 0 0;font-family:var(--fd);font-weight:800;
  font-size:clamp(2.1rem,4.8vw,3.4rem);line-height:1.05;letter-spacing:-.035em;color:var(--n950);text-wrap:balance}
.aiden-page-catalogo .acat-h1 em{font-style:normal;color:var(--t600)}
.aiden-page-catalogo .acat-punto{color:var(--t500)}
.aiden-page-catalogo .acat-lead{max-width:66ch;margin-top:20px}
.aiden-page-catalogo .acat-lead p{margin:0 0 12px;font-size:17px;line-height:1.65;color:var(--n600)}
.aiden-page-catalogo .acat-lead p:last-child{margin-bottom:0}
.aiden-page-catalogo .acat-lead a{color:var(--t700);text-decoration:underline;text-underline-offset:3px}
.aiden-page-catalogo .acat-cuenta{margin:22px 0 0;font-family:var(--fm);font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--n500);font-variant-numeric:tabular-nums}

/* ── Los dos modos de contratación ── */
.aiden-page-catalogo .acat-modos{padding:0 0 44px}
.aiden-page-catalogo .acat-modos-g{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.aiden-page-catalogo .acat-modo{padding:24px 26px;border-radius:var(--r-lg);border:1px solid var(--n100);background:var(--n25)}
.aiden-page-catalogo .acat-modo--on{border-color:var(--t200);background:var(--t50)}
.aiden-page-catalogo .acat-modo-k{margin-bottom:8px;font-family:var(--fm);font-size:11px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--t600)}
.aiden-page-catalogo .acat-modo:not(.acat-modo--on) .acat-modo-k{color:var(--n500)}
.aiden-page-catalogo .acat-modo-h{margin:0 0 8px;font-family:var(--fd);font-size:1.05rem;font-weight:600;
  letter-spacing:-.015em;color:var(--n950)}
.aiden-page-catalogo .acat-modo-p{margin:0;font-size:15px;line-height:1.6;color:var(--n600)}
.aiden-page-catalogo .acat-modo-enl{display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;font-size:14.5px}
.aiden-page-catalogo .acat-modo-enl a{color:var(--t700);text-decoration:underline;text-underline-offset:3px;font-weight:500}

/* ── Familias ── */
.aiden-page-catalogo .acat-fam{padding:0 0 36px}
.aiden-page-catalogo .acat-fam-g{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}
.aiden-page-catalogo .acat-fam-bloque{display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  padding:6px 8px 6px 6px;border-radius:var(--r-pill);background:var(--n25);border:1px solid var(--n75)}
.aiden-page-catalogo .acat-fam-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;
  border-radius:var(--r-pill);border:1px solid var(--n150);background:var(--n0);
  font-family:var(--fd);font-size:14px;font-weight:600;color:var(--n700);text-decoration:none;
  transition:border-color .2s var(--ease),color .2s var(--ease)}
.aiden-page-catalogo .acat-fam-chip:hover{border-color:var(--t400);color:var(--t700)}
.aiden-page-catalogo .acat-fam-chip.on{background:var(--n950);border-color:var(--n950);color:var(--n0)}
.aiden-page-catalogo .acat-fam-n{font-family:var(--fm);font-size:11px;font-weight:600;
  color:var(--n500);font-variant-numeric:tabular-nums}
.aiden-page-catalogo .acat-fam-chip.on .acat-fam-n{color:var(--n200)}
.aiden-page-catalogo .acat-fam-sub{padding:6px 12px;border-radius:var(--r-pill);font-size:13.5px;
  color:var(--n500);text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease)}
.aiden-page-catalogo .acat-fam-sub:hover{background:var(--n0);color:var(--t700)}
.aiden-page-catalogo .acat-fam-sub.on{background:var(--t500);color:var(--n0);font-weight:600}

/* ── Rejilla ── */
.aiden-page-catalogo .acat-rejilla{padding:0 0 var(--sp-section-lg)}
.aiden-page-catalogo .acat-rejilla--rel{padding-top:var(--sp-section);border-top:1px solid var(--n75)}
.aiden-page-catalogo .acat-g{list-style:none;margin:28px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px}
.aiden-page-catalogo .acat-card{display:flex;flex-direction:column;padding:24px 22px;
  border-radius:var(--r-lg);border:0;background:var(--n0);box-shadow:var(--sh-sm);
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}
.aiden-page-catalogo .acat-card:hover{border-color:var(--t200);box-shadow:var(--sh-md);transform:translateY(-2px)}
.aiden-page-catalogo .acat-card-k{margin:0 0 10px;font-family:var(--fm);font-size:10.5px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--t600)}
.aiden-page-catalogo .acat-ficha-k{margin:0 0 12px;font-family:var(--fm);font-size:11px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--t600)}
.aiden-page-catalogo .acat-card-h{margin:0 0 8px;font-family:var(--fd);font-size:1.02rem;font-weight:600;
  line-height:1.3;letter-spacing:-.015em}
.aiden-page-catalogo .acat-card-h a{color:var(--n950);text-decoration:none}
.aiden-page-catalogo .acat-card-h a:hover{color:var(--t700)}
/* El título es el enlace real de la tarjeta; la capa lo extiende a toda ella
   sin envolver el <li> en un <a>, que anidaría enlaces dentro del pie. */
.aiden-page-catalogo .acat-card-h a::after{content:"";position:absolute;inset:0}
.aiden-page-catalogo .acat-card{position:relative}
.aiden-page-catalogo .acat-card-t{margin:0 0 12px;font-size:14.5px;line-height:1.55;color:var(--n600)}
.aiden-page-catalogo .acat-card-l{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:6px}
.aiden-page-catalogo .acat-card-l li{position:relative;padding-left:17px;font-size:13.5px;line-height:1.5;color:var(--n500)}
.aiden-page-catalogo .acat-card-l li::before{content:"";position:absolute;left:2px;top:.55em;
  width:5px;height:5px;border-radius:50%;background:var(--t400)}
.aiden-page-catalogo .acat-card-pie{margin-top:auto;padding-top:16px;border-top:1px solid var(--n75);
  display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 1px 2px rgba(19,32,28,.05),0 8px 20px -6px rgba(19,32,28,.09),0 28px 60px -24px rgba(19,32,28,.16)}
.aiden-page-catalogo .acat-card-precio{margin:0;font-size:13px;color:var(--n500);font-variant-numeric:tabular-nums}
.aiden-page-catalogo .acat-card-precio strong{font-family:var(--fd);font-size:1.15rem;font-weight:700;
  letter-spacing:-.02em;color:var(--n950)}
.aiden-page-catalogo .acat-card-precio s{margin-right:5px;color:var(--n300)}
.aiden-page-catalogo .acat-card-cta{position:relative;z-index:1;font-family:var(--fd);font-size:13.5px;
  font-weight:600;color:var(--t700);text-decoration:none;white-space:nowrap}
.aiden-page-catalogo .acat-card-cta:hover{text-decoration:underline;text-underline-offset:3px}
.aiden-page-catalogo .acat-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.aiden-page-catalogo .acat-vacio{margin:28px 0 0;font-size:16px;color:var(--n500)}

/* ── Ficha ── */
.aiden-page-catalogo .acat-ficha{padding:56px 0 var(--sp-section)}
.aiden-page-catalogo .acat-ficha-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;
  grid-template-areas:'cab lado' 'cuerpo lado';column-gap:44px;row-gap:0;align-items:start}
.aiden-page-catalogo .acat-ficha-cab{grid-area:cab}
.aiden-page-catalogo .acat-ficha-cuerpo{grid-area:cuerpo}
.aiden-page-catalogo .acat-ficha-lado{grid-area:lado}
.aiden-page-catalogo .acat-ficha-h1{margin:0;font-family:var(--fd);font-weight:800;
  font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.08;letter-spacing:-.03em;color:var(--n950);text-wrap:balance}
.aiden-page-catalogo .acat-ficha-lead{margin:16px 0 0;font-size:18px;line-height:1.6;color:var(--n600);max-width:56ch}
.aiden-page-catalogo .acat-ficha-h2{margin:36px 0 16px;font-family:var(--fd);font-size:1.12rem;font-weight:600;
  letter-spacing:-.015em;color:var(--n950)}
.aiden-page-catalogo .acat-ficha-l{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 24px}
.aiden-page-catalogo .acat-ficha-l li{position:relative;padding-left:22px;font-size:15px;line-height:1.55;color:var(--n600)}
.aiden-page-catalogo .acat-ficha-l li::before{content:"";position:absolute;left:2px;top:.6em;
  width:6px;height:6px;border-radius:50%;background:var(--t400)}
.aiden-page-catalogo .acat-ficha-alt{margin:36px 0 0;padding:20px 22px;border-radius:var(--r-md);
  border:0;border-left:3px solid var(--t400);background:var(--n25);box-shadow:0 1px 2px rgba(19,32,28,.05),0 8px 20px -6px rgba(19,32,28,.09),0 28px 60px -24px rgba(19,32,28,.16)}
.aiden-page-catalogo .acat-ficha-alt-k{margin:0 0 6px;font-family:var(--fm);font-size:11px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--t600)}
.aiden-page-catalogo .acat-ficha-alt p{margin:0;font-size:15px;line-height:1.6;color:var(--n600)}
.aiden-page-catalogo .acat-ficha-alt a{color:var(--t700);text-decoration:underline;text-underline-offset:3px;font-weight:500}

.aiden-page-catalogo .acat-ficha-lado{position:sticky;top:120px}
.aiden-page-catalogo .acat-ficha-caja{padding:26px 24px;border-radius:var(--r-lg);
  border:0;background:var(--n0);box-shadow:var(--sh-md)}
.aiden-page-catalogo .acat-ficha-precio{margin:0 0 18px;color:var(--n500);font-variant-numeric:tabular-nums}
.aiden-page-catalogo .acat-ficha-precio strong{display:inline;font-family:var(--fd);font-size:2.1rem;
  font-weight:800;letter-spacing:-.035em;color:var(--n950)}
.aiden-page-catalogo .acat-ficha-precio s{display:block;font-size:14px;color:var(--n300)}
.aiden-page-catalogo .acat-ficha-precio span{font-size:15px;color:var(--n500)}
/* El botón lo pinta el plugin de la tienda: se le da el aspecto de los del sitio. */
.aiden-page-catalogo .rstore-add-to-cart{display:block;width:100%;padding:14px 20px;border:0;cursor:pointer;
  border-radius:var(--r-pill);background:var(--n950);color:var(--n0);
  font-family:var(--fd);font-size:15px;font-weight:600;letter-spacing:-.01em;
  transition:background .2s var(--ease),transform .2s var(--ease)}
.aiden-page-catalogo .rstore-add-to-cart:hover{background:var(--t600);transform:translateY(-1px)}
.aiden-page-catalogo .rstore-add-to-cart:focus-visible{outline:2px solid var(--t500);outline-offset:3px}
/* Los tres estados que expone el plugin de la tienda: carga, añadido y error.
   Sin esto salen con el aspecto por defecto de WordPress dentro de la caja. */
.aiden-page-catalogo .rstore-loading{margin:14px auto 0;width:22px;height:22px;border-radius:50%;
  border:2px solid var(--n150);border-top-color:var(--t500);animation:acat-giro .7s linear infinite}
@keyframes acat-giro{to{transform:rotate(360deg)}}
.aiden-page-catalogo .rstore-cart{display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:14px;padding:12px 14px;border-radius:var(--r-md);
  background:var(--t50);border:1px solid var(--t100);font-size:14.5px}
.aiden-page-catalogo .rstore-cart a{color:var(--t700);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* El enlace de confirmación lo pinta el plugin de la tienda y venía sin anillo
   de foco: lo detectó el recorrido de teclado. */
.aiden-page-catalogo .rstore-cart a:focus-visible{outline:2px solid var(--t500);outline-offset:3px;border-radius:4px}
.aiden-page-catalogo .rstore-success{color:var(--t600)}
.aiden-page-catalogo .rstore-message{margin-top:14px;padding:12px 14px;border-radius:var(--r-md);
  background:var(--ro50);border:1px solid var(--ro100);color:var(--ro600);font-size:14.5px;line-height:1.5}
/* Las tres de ocultar van DESPUÉS y a propósito: tienen la misma especificidad
   que las de estado, así que manda el orden. Cuando estaban antes, el aviso de
   «Ir al carrito de la tienda» se veía desde el primer momento, sin haber
   añadido nada. */
.aiden-page-catalogo .rstore-loading-hidden,
.aiden-page-catalogo .rstore-cart-hidden,
.aiden-page-catalogo .rstore-message-hidden{display:none}
@media(prefers-reduced-motion:reduce){
  .aiden-page-catalogo .rstore-loading{animation-duration:2.4s}
}
.aiden-page-catalogo .acat-ficha-boton{width:100%;justify-content:center}
.aiden-page-catalogo .acat-ficha-nota-dom{margin:12px 0 0;font-size:13.5px;line-height:1.55;color:var(--n500)}
.aiden-page-catalogo .acat-ficha-notas{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.aiden-page-catalogo .acat-ficha-notas li{position:relative;padding-left:20px;font-size:13.5px;color:var(--n500)}
.aiden-page-catalogo .acat-ficha-notas li::before{content:"✓";position:absolute;left:0;top:-1px;
  color:var(--t500);font-weight:700;font-size:12px}
.aiden-page-catalogo .acat-volver{margin:28px 0 0;font-size:15px}
.aiden-page-catalogo .acat-volver a{color:var(--t700);text-decoration:underline;text-underline-offset:3px;font-weight:500}

/* ── Responsive ── */
@media(max-width:900px){
  .aiden-page-catalogo .acat-modos-g{grid-template-columns:1fr}
  /* El precio y el boton, justo despues del nombre y la descripcion: en una
     sola columna el CTA no puede quedar a varios scrolls del titular. */
  .aiden-page-catalogo .acat-ficha-g{grid-template-columns:1fr;
    grid-template-areas:'cab' 'lado' 'cuerpo';row-gap:26px;column-gap:0}
  .aiden-page-catalogo .acat-ficha-lado{position:static}
  .aiden-page-catalogo .acat-hero,
  .aiden-page-catalogo .acat-ficha{padding-top:40px}
}
@media(max-width:600px){
  /* Que aparezca contenido util antes: titular mas contenido y menos aire. */
  .aiden-page-catalogo .acat-hero{padding:26px 0 26px}
  .aiden-page-catalogo .acat-ficha{padding:26px 0 var(--sp-section)}
  .aiden-page-catalogo .acat-migas{margin-bottom:16px;font-size:11.5px}
  .aiden-page-catalogo .acat-h1{font-size:clamp(1.85rem,8vw,2.3rem);margin-top:10px}
  .aiden-page-catalogo .acat-ficha-h1{font-size:clamp(1.7rem,7.4vw,2.1rem)}
  .aiden-page-catalogo .acat-lead{margin-top:14px}
  .aiden-page-catalogo .acat-lead p{font-size:15.5px;line-height:1.55}
  .aiden-page-catalogo .acat-ficha-lead{margin-top:12px;font-size:16px}
  .aiden-page-catalogo .acat-cuenta{margin-top:16px}
  .aiden-page-catalogo .acat-modos{padding-bottom:28px}
  .aiden-page-catalogo .acat-fam{padding-bottom:24px}
  .aiden-page-catalogo .acat-ficha-h2{margin-top:28px}
  .aiden-page-catalogo .acat-ficha-alt{margin-top:26px}
  .aiden-page-catalogo .acat-g{grid-template-columns:1fr;gap:12px}
  .aiden-page-catalogo .acat-rejilla{padding-bottom:var(--sp-section)}
  .aiden-page-catalogo .acat-modo{padding:20px 20px}
  .aiden-page-catalogo .acat-fam-g{gap:8px}
  .aiden-page-catalogo .acat-fam-bloque{width:100%}
  .aiden-page-catalogo .acat-ficha-caja{padding:22px 20px}
  .aiden-page-catalogo .acat-ficha-l{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .aiden-page-catalogo .acat-card,
  .aiden-page-catalogo .rstore-add-to-cart{transition-duration:.01ms}
  .aiden-page-catalogo .acat-card:hover{transform:none}
}
