/* temporada.css — piel de Black Friday CCM (mu-plugin ccm-temporada).
 *
 * Nace del prototipo aprobado por el dueño el 3-nov (docs/black-friday/maquetas/temporada.css).
 * Cambios frente a él: el tachado del «Antes» va por debajo del centro de los dígitos (un 9
 * se leía como 8), el titular «Black Friday CCM» cabe en la fase 1, y en las páginas de pago
 * no se pinta nada (lo decide temporada.js). Todo va con
 * prefijo `ccmbf-` y cuelga de las MARCAS COMUNES del theme `ccm` (medidas en staging2):
 * article.ccmg-card, .ccmts-header, .ccm-searchonly, #wa / .ccmts-barra, .ccmd__panel.
 * Nada edita los renderizadores: el JS añade clases y nodos al mirar. La vitrina de la
 * portada (.ccmts-vitrina) NO se toca (S8-12).
 *
 * Paleta: negro #191818 y UN solo acento, rojo #E60000. Letra: founder grotesk CCM.
 */
:root{
  --ccmbf-negro:#191818;
  --ccmbf-noche:#0f0e0e;
  --ccmbf-rojo:#E60000;
  --ccmbf-blanco:#ffffff;
  --ccmbf-humo:#a39e9d;
  --ccmbf-letra:"founder grotesk CCM","Founders Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
}

/* ============ 4 · BARRA SUPERIOR ============ */
.ccmbf-barra{
  position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:14px;
  min-height:36px;padding:7px 48px;background:var(--ccmbf-negro);color:#fff;
  font-family:var(--ccmbf-letra);font-weight:500;font-size:14px;line-height:1.15;letter-spacing:.01em;text-align:center;
}
.ccmbf-barra__rayo{width:14px;height:14px;flex:none;color:var(--ccmbf-rojo)}
.ccmbf-barra__texto b{font-weight:700}
.ccmbf-barra__dias{font-variant-numeric:tabular-nums}
.ccmbf-barra__enlace{color:#fff;font-weight:600;text-decoration:none;white-space:nowrap;border-bottom:1.5px solid var(--ccmbf-rojo);padding-bottom:1px}
.ccmbf-barra__enlace::after{content:" →"}
.ccmbf-barra__cerrar{position:absolute;right:8px;top:50%;translate:0 -50%;width:32px;height:32px;display:grid;place-items:center;
  background:none;border:0;color:#fff;opacity:.7;cursor:pointer;border-radius:50%;padding:0}
.ccmbf-barra__cerrar:hover,.ccmbf-barra__cerrar:focus-visible{opacity:1;background:rgba(255,255,255,.12)}
.ccmbf-barra__cerrar svg{width:14px;height:14px}
/* fase 2 «piel intensa»: la barra pasa a rojo y el rayo a blanco */
[data-ccmbf-fase="2"] .ccmbf-barra{background:var(--ccmbf-rojo)}
[data-ccmbf-fase="2"] .ccmbf-barra__rayo{color:#fff}
[data-ccmbf-fase="2"] .ccmbf-barra__enlace{border-bottom-color:#fff}
@media (max-width:767px){
  .ccmbf-barra{font-size:13px;gap:8px;padding:6px 40px 6px 12px;justify-content:flex-start;text-align:left}
}
/* S8-04 (CLS): la barra llega segundos después del primer pintado y su alto se reserva antes
 * (CCMTP_Front::reserva_html: 36 px, y calc(29.9px + 12px) < 360 px en la fase 1, donde el
 * texto va en 2 líneas). Aquí la barra mide al menos lo reservado: si cambias uno, cambia el otro. */
@media (max-width:359px){
  [data-ccmbf-fase="1"] .ccmbf-barra{min-height:calc(29.9px + 12px)}
}

/* ============ 3 · CINTA EN LA TARJETA ============
 * Banderín pegado al borde DERECHO de la foto, justo DEBAJO del corazón de favoritos
 * (.ccmg-card__fav: top 8, 36 px). No lo tapa, no toca la etiqueta de categoría (arriba a la
 * izquierda), ni el reloj (abajo a la izquierda) ni el botón del carrito (abajo a la derecha).
 * z-index 2: sobre la foto y el velo (1), bajo el corazón y el botón (3). */
.ccmbf-cinta{
  position:absolute;right:0;top:52px;z-index:2;pointer-events:none;
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 9px 4px 8px;background:var(--ccmbf-negro);color:#fff;
  border-left:3px solid var(--ccmbf-rojo);border-radius:4px 0 0 4px;
  font-family:var(--ccmbf-letra);font-weight:700;font-size:11px;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  box-shadow:0 2px 6px rgba(25,24,24,.18);
}
.ccmbf-cinta svg{width:10px;height:10px;color:#fff;flex:none}
@container card (max-width:180px){ .ccmbf-cinta{top:48px;font-size:9.5px;padding:4px 7px 3px 6px;letter-spacing:.06em} }

/* ============ 5 · WHATSAPP ============ */
@keyframes ccmbf-latido{0%{box-shadow:0 0 0 0 rgba(230,0,0,.55)}70%{box-shadow:0 0 0 14px rgba(230,0,0,0)}100%{box-shadow:0 0 0 0 rgba(230,0,0,0)}}
.ccmbf-wa .wa__btn_popup_icon{animation:ccmbf-latido 2.4s ease-out infinite;outline:2.5px solid var(--ccmbf-rojo);outline-offset:3px}
.ccmbf-wa .wa__btn_popup_txt{border:1.5px solid var(--ccmbf-rojo)}
.ccmbf-wa-movil .ccmts-barra__icono{border-radius:50%;animation:ccmbf-latido 2.4s ease-out infinite;outline:2px solid var(--ccmbf-rojo);outline-offset:3px}
.ccmbf-wa-tip{
  position:fixed;z-index:9;right:12px;bottom:84px;max-width:220px;
  padding:9px 12px 8px;border-radius:12px 12px 2px 12px;background:var(--ccmbf-negro);color:#fff;
  font-family:var(--ccmbf-letra);font-weight:500;font-size:14px;line-height:1.2;box-shadow:0 6px 18px rgba(0,0,0,.22);
  border-left:3px solid var(--ccmbf-rojo)
}
.ccmbf-wa-tip--izq{border-radius:12px 12px 12px 2px}
@media (prefers-reduced-motion:reduce){.ccmbf-wa .wa__btn_popup_icon,.ccmbf-wa-movil .ccmts-barra__icono{animation:none}}

/* ============ 6 · CARRITO ============ */
.ccmbf-carrito .ccmts-header__icono,.ccmbf-carrito .ccmts-barra__icono{position:relative}
.ccmbf-carrito .ccmts-header__icono::after,.ccmbf-carrito .ccmts-barra__icono::after{
  content:"";position:absolute;right:-3px;top:-2px;width:9px;height:9px;border-radius:50%;
  background:var(--ccmbf-rojo);box-shadow:0 0 0 2px #fff;
}
.ccmbf-cajon{
  display:flex;align-items:center;gap:8px;margin:0;padding:10px 16px;background:var(--ccmbf-negro);color:#fff;
  font-family:var(--ccmbf-letra);font-weight:500;font-size:14px;line-height:1.2;border-bottom:2px solid var(--ccmbf-rojo)
}
.ccmbf-cajon svg{width:14px;height:14px;color:var(--ccmbf-rojo);flex:none}
.ccmbf-cajon b{font-weight:700}

/* ============ 7 · VITRINA: fuera (S8-12). La vitrina de la portada no lleva piel ============ */

/* ============ 8 · BUSCADOR ============ */
.ccmbf-buscador{position:relative}
.ccmbf-buscador__rayo{position:absolute;top:50%;translate:0 -50%;width:15px;height:15px;color:var(--ccmbf-rojo);pointer-events:none;z-index:2}
.ccmbf-buscador__rayo svg{display:block;width:100%;height:100%}

/* ============ 1–2 · POP-UP ============ */
.ccmbf-pop{position:fixed;inset:0;z-index:99990;font-family:var(--ccmbf-letra);color:#fff;-webkit-font-smoothing:antialiased}
.ccmbf-pop[hidden]{display:none}
.ccmbf-pop *{box-sizing:border-box}
.ccmbf-pop__velo{position:absolute;inset:0;background:rgba(15,14,14,.72);backdrop-filter:blur(2px)}
.ccmbf-pop__caja{
  position:absolute;left:50%;top:50%;translate:-50% -50%;
  width:min(880px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;
  background:var(--ccmbf-negro);border-radius:20px;padding:24px;
  box-shadow:0 30px 80px rgba(0,0,0,.5);outline:1px solid rgba(255,255,255,.06);
  display:grid;grid-template-columns:minmax(0,1fr);gap:18px;
}
.ccmbf-pop__cerrar{
  position:absolute;top:12px;right:12px;z-index:4;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;padding:0;border:0;cursor:pointer;background:rgba(255,255,255,.1);color:#fff
}
.ccmbf-pop__cerrar:hover,.ccmbf-pop__cerrar:focus-visible{background:#fff;color:var(--ccmbf-negro);outline:none}
.ccmbf-pop__cerrar svg{width:18px;height:18px}
.ccmbf-pop__cab{display:none}

/* la oferta: foto héroe | información */
.ccmbf-pop__pista{display:grid}
.ccmbf-oferta{display:none;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:28px;align-items:start}
.ccmbf-oferta.is-activa{display:grid}

.ccmbf-oferta__foto{
  position:relative;aspect-ratio:1;background:#fff;border-radius:14px;overflow:visible;isolation:isolate;
  --ar:1;--ex:0;--ey:0;--ew:1;--eh:1;--em:.08;
}
.ccmbf-oferta__marco{position:absolute;inset:0;overflow:hidden;border-radius:inherit;container-type:size;
  --D:min(calc((1 - 2 * var(--em)) * 100cqw / var(--ew)), calc((1 - 2 * var(--em)) * 100cqh * var(--ar) / var(--eh)), calc(2.5 * min(100cqw, 100cqh * var(--ar))))}
.ccmbf-oferta__img{position:absolute;left:50%;top:50%;width:var(--D);height:auto;max-width:none;
  transform:translate(calc(-100% * (var(--ex) + var(--ew) / 2)), calc(-100% * (var(--ey) + var(--eh) / 2)))}
.ccmbf-burbuja{
  position:absolute;z-index:3;left:-14px;top:-14px;width:92px;height:92px;border-radius:50%;
  display:grid;place-content:center;text-align:center;background:var(--ccmbf-rojo);color:#fff;
  font-weight:700;line-height:.9;box-shadow:0 8px 22px rgba(230,0,0,.35);rotate:-8deg
}
.ccmbf-burbuja b{font-size:34px;letter-spacing:-.03em}
.ccmbf-burbuja small{font-size:13px;font-weight:600;letter-spacing:.08em;margin-top:2px}

.ccmbf-oferta__info{display:flex;flex-direction:column;min-width:0;padding:6px 40px 0 0}
.ccmbf-kicker{display:flex;align-items:center;gap:7px;margin:0;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ccmbf-humo)}
.ccmbf-kicker svg{width:13px;height:13px;color:var(--ccmbf-rojo)}
.ccmbf-titular{margin:6px 0 0;font-weight:700;font-size:52px;line-height:.92;letter-spacing:-.035em;color:#fff}
[data-ccmbf-fase="1"] .ccmbf-oferta__info .ccmbf-titular{font-size:46px}
.ccmbf-titular b{color:var(--ccmbf-rojo)}
.ccmbf-oferta__marca{margin:22px 0 0;font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ccmbf-rojo)}
.ccmbf-oferta__nombre{margin:4px 0 0;font-weight:500;font-size:20px;line-height:1.2;color:#fff;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ccmbf-oferta__nombre a{color:inherit;text-decoration:none}
.ccmbf-oferta__nombre a:hover{text-decoration:underline;text-decoration-color:var(--ccmbf-rojo)}

.ccmbf-precios{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px}
.ccmbf-pastilla{display:inline-flex;flex-direction:column;justify-content:center;border-radius:12px;line-height:1;font-variant-numeric:tabular-nums}
.ccmbf-pastilla small{font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.ccmbf-pastilla--antes{padding:8px 12px;border:1.5px solid rgba(255,255,255,.55);color:#e9e5e4}
.ccmbf-pastilla--antes del{position:relative;margin-top:4px;font-weight:500;font-size:17px;text-decoration:none}
/* El tachado NO cruza el centro de los dígitos (mentora, 3-nov: un 9 tachado por el medio se
 * leía como 8). Línea de 1 px a 0,68 em, entre el centro de las cifras y su base. */
.ccmbf-pastilla--antes del::after{content:"";position:absolute;left:-1px;right:-1px;top:.68em;height:1px;background:var(--ccmbf-rojo);pointer-events:none}
.ccmbf-pastilla--ahora{padding:10px 16px 11px;background:var(--ccmbf-rojo);color:#fff;box-shadow:0 10px 26px rgba(230,0,0,.28)}
.ccmbf-pastilla--ahora strong{margin-top:5px;font-weight:700;font-size:38px;letter-spacing:-.025em}
.ccmbf-cuotas{margin:10px 0 0;font-size:14px;color:var(--ccmbf-humo)}
.ccmbf-cuotas b{color:#fff;font-weight:600}

.ccmbf-cta{
  margin-top:auto;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;
  border:0;border-radius:999px;cursor:pointer;background:#fff;color:var(--ccmbf-negro);
  font-family:inherit;font-weight:700;font-size:17px;letter-spacing:.01em;text-decoration:none;transition:background .15s,color .15s
}
.ccmbf-cta svg{width:18px;height:18px}
.ccmbf-cta:hover,.ccmbf-cta:focus-visible{background:var(--ccmbf-rojo);color:#fff;outline:none}
.ccmbf-oferta__info .ccmbf-cta{margin-top:20px}
.ccmbf-oferta__info .ccmbf-pagos{margin-top:22px}
.ccmbf-pop__pie > .ccmbf-pagos{display:none}
.ccmbf-pop__pie{border-top:1px solid rgba(255,255,255,.1);padding-top:16px}

/* franja de medios de pago: wordmarks en HTML, sin logos ni imágenes */
.ccmbf-pagos{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:13px;color:var(--ccmbf-humo)}
.ccmbf-pagos__titulo{margin-right:4px;width:100%;margin-bottom:2px}
.ccmbf-pago{display:inline-flex;align-items:center;gap:5px;height:28px;padding:3px 11px 0;border-radius:7px;background:#fff;color:var(--ccmbf-negro);font-weight:700;font-size:13px;letter-spacing:-.005em;white-space:nowrap}
.ccmbf-pago--addi{font-size:15px;letter-spacing:-.03em;text-transform:lowercase}
.ccmbf-pago--breb i{font-style:normal;color:var(--ccmbf-rojo)}
.ccmbf-pago svg{width:15px;height:15px}

.ccmbf-pop__pie{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ccmbf-minis{display:flex;gap:10px;margin:0;padding:0;list-style:none}
.ccmbf-mini{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:12px;border:1.5px solid rgba(255,255,255,.14);background:none;color:#fff;cursor:pointer;font-family:inherit;text-align:left}
.ccmbf-mini:hover,.ccmbf-mini:focus-visible{border-color:var(--ccmbf-rojo);outline:none}
.ccmbf-mini img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:8px}
.ccmbf-mini span{display:grid;gap:3px;font-size:12px;line-height:1.1;max-width:120px}
.ccmbf-mini span em{font-style:normal;color:var(--ccmbf-humo);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ccmbf-mini span b{font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.ccmbf-legal{margin:0;font-size:12px;color:#8a8483;letter-spacing:.02em}
.ccmbf-puntos{display:none}

/* D3 = «precio solo»: sin burbuja ni «Antes»; el resto igual */
[data-ccmbf-d3="solo"] .ccmbf-burbuja,[data-ccmbf-d3="solo"] .ccmbf-pastilla--antes{display:none}

/* ---------- MÓVIL: hoja inferior ≤ 40 % del alto (regla de Google, MAPA §4.5) ----------
 * Sin velo: la página sigue viéndose y se puede usar por encima de la hoja. */
@media (max-width:767px){
  .ccmbf-pop{inset:auto 0 0 0}
  .ccmbf-pop__velo{display:none}
  .ccmbf-pop__caja{
    position:relative;left:auto;top:auto;translate:none;width:100%;
    max-height:40vh;max-height:40dvh;overflow:hidden;
    border-radius:18px 18px 0 0;padding:10px 0 10px;gap:8px;box-shadow:0 -10px 30px rgba(0,0,0,.35);
    grid-template-rows:auto minmax(0,1fr) auto auto;
  }
  .ccmbf-pop__caja::before{content:"";position:absolute;left:50%;top:6px;translate:-50% 0;width:38px;height:4px;border-radius:2px;background:rgba(255,255,255,.28)}
  .ccmbf-pop__cerrar{top:6px;right:8px;width:36px;height:36px}
  .ccmbf-pop__cerrar svg{width:15px;height:15px}
  .ccmbf-pop__cab{display:flex;align-items:center;gap:10px;padding:8px 52px 0 16px;min-width:0}
  .ccmbf-pop__cab .ccmbf-titular{margin:0;font-size:24px;white-space:nowrap}
  [data-ccmbf-fase="1"] .ccmbf-pop__cab .ccmbf-titular{font-size:21px}
  .ccmbf-cuenta{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 3px;border-radius:999px;border:1px solid rgba(255,255,255,.25);font-weight:600;font-size:12px;white-space:nowrap}
  .ccmbf-cuenta svg{width:11px;height:11px;color:var(--ccmbf-rojo)}
  .ccmbf-oferta__cab,.ccmbf-oferta__info .ccmbf-pagos{display:none}
  .ccmbf-pop__pie > .ccmbf-pagos{display:flex}

  .ccmbf-pop__pista{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px;scroll-padding-inline:16px;scrollbar-width:none;overscroll-behavior-x:contain;align-items:flex-start}
  .ccmbf-pop__pista::-webkit-scrollbar{display:none}
  .ccmbf-oferta,.ccmbf-oferta.is-activa{display:grid;flex:0 0 calc(100% - 22px);scroll-snap-align:start;grid-template-columns:104px minmax(0,1fr);gap:10px;align-items:start}
  .ccmbf-oferta__foto{border-radius:10px}
  .ccmbf-burbuja{left:4px;top:4px;width:44px;height:44px;rotate:-6deg;box-shadow:none}
  .ccmbf-burbuja b{font-size:17px}
  .ccmbf-burbuja small{font-size:8px;margin-top:1px}
  .ccmbf-oferta__info{padding:0}
  .ccmbf-oferta__marca{margin:0;font-size:11px}
  .ccmbf-oferta__nombre{margin-top:2px;font-size:14px;line-height:1.15}
  .ccmbf-precios{margin-top:7px;gap:6px;align-items:stretch;flex-wrap:nowrap}
  .ccmbf-pastilla{border-radius:8px}
  .ccmbf-pastilla small{font-size:8.5px;letter-spacing:.1em}
  .ccmbf-pastilla--antes{padding:5px 7px}
  .ccmbf-pastilla--antes del{font-size:11.5px;margin-top:3px}
  .ccmbf-pastilla--antes del::after{height:1px}
  .ccmbf-pastilla--ahora{padding:5px 9px 6px;box-shadow:none}
  .ccmbf-pastilla--ahora strong{font-size:17.5px;margin-top:3px}
  .ccmbf-cuotas{display:none}
  .ccmbf-oferta__info .ccmbf-cta{margin-top:8px;min-height:38px;font-size:14px}
  .ccmbf-cta svg{width:15px;height:15px}

  .ccmbf-pop__pie{padding:8px 16px 0;gap:6px;flex-wrap:nowrap;border-top:0}
  .ccmbf-pagos{border:0;padding:0;gap:4px;flex-wrap:nowrap;overflow:hidden}
  .ccmbf-pagos__titulo{display:none}
  .ccmbf-pago{height:20px;padding:0 6px;border-radius:5px;font-size:10px}
  .ccmbf-pago--addi{font-size:11.5px}
  .ccmbf-pago svg{width:11px;height:11px}
  .ccmbf-minis{display:none}
  .ccmbf-legal{padding:0 16px;font-size:10.5px}
  .ccmbf-puntos{display:flex;gap:5px;margin-left:auto;flex:none}
  .ccmbf-puntos i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3)}
  .ccmbf-puntos i.is-activa{background:var(--ccmbf-rojo);width:14px;border-radius:3px}
}
@media (max-width:767px) and (max-height:700px){
  .ccmbf-oferta,.ccmbf-oferta.is-activa{grid-template-columns:88px minmax(0,1fr)}
  .ccmbf-oferta__nombre{-webkit-line-clamp:1}
}
