/* =====================================================================
   7 oct 2026 · buenfin.css v1
   Estilos de la sección El Buen Fin (#buen-fin) y de la guía
   «Cómo participar» (#como-participar) en empresas.html.
   Por qué en un archivo aparte: no modificar styles.css v6, que comparten
   las cinco páginas. Usa las variables de styles.css (--pad, --wrap,
   --orange, --blue, --gray, --ink, --ink-2, --ease).
   Retirar el bloque .bf después del 17 de noviembre de 2026.
   ===================================================================== */

/* --- El Buen Fin ----------------------------------------------------
   7 oct 2026 (rev. 2): se restituye el diseño oscuro de la versión
   anterior (v11) a solicitud del usuario: fondo casi negro con brillo
   rojo, distintivo grande arriba, título blanco, puntos en lista con
   número rojo, botones de línea blancos y aliados en una sola fila.
   Sustituye el bloque claro de la rev. 1. -------------------------------- */
.bf{--bf-red:#e3242b;position:relative;isolation:isolate;overflow:hidden;padding:80px 0 72px;color:var(--smoke,#ebedee);
  background:
    radial-gradient(42% 46% at 82% 18%,rgba(227,36,43,.55) 0%,rgba(227,36,43,.18) 45%,transparent 75%),
    radial-gradient(38% 40% at 70% 70%,rgba(110,40,120,.28) 0%,transparent 70%),
    linear-gradient(180deg,#121219 0%,#0b0b10 100%)}
/* 7 oct 2026 (rev. 4): distribución igual a la versión publiconnect-v2 que mostró el usuario:
   distintivo a la izquierda y antetítulo + título a la derecha; puntos en tres columnas. */
.bf-head{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:center;gap:48px}
.bf-head .hl-hero{font-size:60px;line-height:1.02}
.bf-badge-link{display:block;border-radius:28px;transition:transform .5s var(--ease)}
.bf-badge-link:hover{transform:scale(1.02)}
.bf-badge{width:100%;max-width:340px;height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.5))}
.bf .eyebrow{color:var(--smoke,#ebedee)}
.bf .eyebrow::before{color:var(--bf-red)}
.bf .hl-hero{color:#fff}
.bf .sub{margin-top:28px;max-width:860px;color:rgba(235,237,238,.86)}
.bf .sub b{color:#fff;font-weight:500}

.bf-points{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:56px 0 8px;padding-top:36px;border-top:1px solid rgba(255,255,255,.14)}
.bf-points li{padding:0}
.bf-n{display:block;font-size:16px;font-weight:500;color:var(--bf-red);margin-bottom:10px}
.bf-points h3{font-size:22px;font-weight:400;line-height:1.2;color:#fff;margin-bottom:10px}
.bf-points p{font-size:16px;line-height:1.5;color:rgba(235,237,238,.8)}

.bf .ctas{display:flex;flex-wrap:wrap;gap:28px;margin-top:36px}
.bf .pill,.bf .pill--outline{color:#fff;border-left-color:rgba(255,255,255,.55)}
.bf .pill--orange{color:#fff;border-left-color:var(--orange)}
.bf .pill:hover,.bf .pill--outline:hover{color:var(--cream,#ffd8a6);border-color:var(--cream,#ffd8a6)}
.bf-note{margin-top:22px;font-size:14px;color:rgba(235,237,238,.8)}
.bf-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}

.bf-device{margin:56px 0 0}
.bf-device img{width:100%;height:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.55))}

.bf-allies{display:flex;flex-wrap:wrap;align-items:center;gap:28px 48px;margin-top:56px;padding-top:36px;border-top:1px solid rgba(255,255,255,.14)}
.bf-allies .small{margin:0;font-size:14px;color:rgba(235,237,238,.8)}
.bf-logos{display:flex;flex-wrap:wrap;align-items:center;gap:40px}
.bf-logos img{height:64px;width:auto}

/* El recuadro de imagen pendiente, en versión oscura dentro de esta sección */
.bf .is-missing::after{background:rgba(255,255,255,.06);color:rgba(235,237,238,.6)}

@media (max-width:734px){
  .bf{padding:48px 0 56px}
  .bf-head{grid-template-columns:1fr;gap:28px}
  .bf-badge{max-width:300px}
  .bf-points{grid-template-columns:1fr;gap:28px}
  .bf-points h3{font-size:21px}
  .bf-allies{gap:20px}
  .bf-logos{gap:24px}
  .bf-logos img{height:48px}
}
@media (min-width:735px) and (max-width:1068px){.bf-head{grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:36px}.bf-head .hl-hero{font-size:46px}}
@media (max-width:734px){.bf-head .hl-hero{font-size:44px}}
html.a11y .bf .sub,html.a11y .bf-points p{color:#fff}

/* --- Guía «Cómo participar»: pestañas -------------------------------- */
.gtabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.gtab{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 10px;border:0;border-radius:999px;
  background:var(--white);color:var(--ink);font:inherit;font-size:16px;cursor:pointer;
  transition:background .3s var(--ease),color .3s var(--ease)}
.gtab span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gray);font-size:14px;font-weight:500}
.gtab[aria-selected="true"]{background:var(--ink);color:var(--white)}
.gtab[aria-selected="true"] span{background:var(--orange);color:#000}
.gtab:hover:not([aria-selected="true"]){background:#e8e8ed}

/* --- Guía: carrusel por pestaña (.gslider, independiente de .slider) -- */
.gslider{position:relative}
.gtrack{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
  scroll-behavior:smooth;padding:4px 2px 12px;scrollbar-width:none}
.gtrack::-webkit-scrollbar{display:none}
.gtrack:focus-visible{outline-offset:-3px}
.gslide{flex:0 0 260px;scroll-snap-align:start;padding:20px;border-radius:24px;background:var(--white)}
.gslide--wide{flex-basis:440px}
/* 7 oct 2026 (rev. 3): se quitó el fondo gris detrás de cada captura, a solicitud del usuario */
.gshot{height:340px;display:flex;justify-content:center;align-items:flex-start;margin-bottom:18px;overflow:hidden;border-radius:16px;background:transparent}
.gshot img{width:auto;max-width:100%;height:100%;object-fit:contain;padding-top:12px;filter:drop-shadow(0 16px 24px rgba(0,0,0,.14))}
.gslide--wide .gshot{align-items:center}
.gslide--wide .gshot img{width:100%;height:auto;padding:0 12px}
.gstep{font-size:13px;font-weight:500;color:var(--orange);margin-bottom:4px}
.gslide h3{font-size:19px;font-weight:500;line-height:1.25;margin-bottom:6px}
.gslide p:not(.gstep){font-size:15px;line-height:1.45;color:var(--ink-2)}

.gctl{display:flex;align-items:center;gap:12px;margin-top:20px}
.gdots{display:flex;gap:8px;margin-right:auto}
.gdots span{width:8px;height:8px;border-radius:4px;background:#c7c7cc;transition:width .35s var(--ease),background .35s var(--ease)}
.gdots span.is-on{width:24px;background:var(--ink)}
.garrow{width:44px;height:44px;flex:none;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:var(--white);color:var(--ink);transition:opacity .3s var(--ease)}
.garrow .ic{width:20px;height:20px}
.garrow .ic--flip{transform:scaleX(-1)}
.garrow:disabled{opacity:.35;cursor:default}

/* Imagen que aún no está en /img: recuadro neutro en lugar de imagen rota */
.is-missing{position:relative}
.is-missing::after{content:attr(data-missing);position:absolute;inset:0;display:grid;place-items:center;padding:16px;
  text-align:center;font-size:13px;color:var(--ink-3);background:var(--gray);border-radius:inherit}

@media (max-width:734px){
  .gslide{flex-basis:78vw}
  .gslide--wide{flex-basis:86vw}
  .gshot{height:300px}
}

/* --- Accesibilidad y movimiento reducido ------------------------------ */
html.a11y .gslide p{color:var(--ink);font-size:19px}
html.a11y .bf-points p,html.a11y .bf .sub{font-size:19px}
html.a11y .gtrack{scroll-behavior:auto}
@media (prefers-reduced-motion:reduce){
  .gtrack{scroll-behavior:auto}
  .gtab,.gdots span,.garrow{transition:none}
}

/* =====================================================================
   8 oct 2026 · buenfin.css v5
   Botón «Ver más» del punto 02 y bloque de explicación (#bf-detalle).
   Por qué: el usuario pidió explicar que los puntos valen un porcentaje
   del descuento de la tienda (o minutos fuera de temporada), que el
   internet está también en calles y otros lugares, y que es gratuito
   para el comercio (modo básico) y para el usuario.
   ===================================================================== */
.bf-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:0;border:0;background:none;cursor:pointer;
  font:inherit;font-size:15px;color:#fff;border-bottom:1px solid rgba(255,255,255,.4);line-height:1.6}
.bf-more:hover{color:var(--cream,#ffd8a6);border-color:var(--cream,#ffd8a6)}
.bf-more .ic{width:16px;height:16px;transition:transform .35s var(--ease)}
.bf-more[aria-expanded="true"] .ic{transform:rotate(180deg)}

.bf-detail{margin-top:56px;padding:40px;border-radius:24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  scroll-margin-top:calc(var(--gnav) + var(--lnav) + 16px)}
.bf-detail[hidden]{display:none}
.bf-detail.is-open{animation:bfIn .45s var(--ease)}
@keyframes bfIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.bf-detail-t{font-size:28px;font-weight:300;line-height:1.15;color:#fff;margin-bottom:28px}
.bf-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.bf-detail-item .ic{width:32px;height:32px;color:var(--bf-red);margin-bottom:14px}
.bf-detail-item h4{margin:0 0 8px;font-size:18px;font-weight:400;line-height:1.25;color:#fff}
.bf-detail-item p{font-size:15px;line-height:1.55;color:rgba(235,237,238,.82)}
@media (max-width:1068px){.bf-detail-grid{grid-template-columns:1fr;gap:28px}}
@media (max-width:734px){.bf-detail{padding:28px 22px;margin-top:40px}.bf-detail-t{font-size:24px}}
html.a11y .bf-detail-item p{color:#fff;font-size:19px}
@media (prefers-reduced-motion:reduce){.bf-detail.is-open{animation:none}.bf-more .ic{transition:none}}

/* 8 oct 2026 · v6: línea aclaratoria bajo el precio del Plan Básico ($0 con subsidio / $349 sin subsidio) */
.plan-alt{margin:6px 0 4px;font-size:14px;line-height:1.45;color:var(--ink-2)}
