/* Black Friday · paleta propia (excepción a la de la web): negro y antracita con un champán cálido de acento. Solo afecta a /black-friday/. */
body.bf-pg { --bf-bg: #0C0C0D; --bf-panel: #19191B; --bf-card: #151517; --bf-tx: #F2EEE8; --bf-mute: #9B968E; --bf-line: rgba(255, 255, 255, .09); --bf-acc: #E8C9A0; --bf-acc2: #C9A24E; --bf-on: #F2EEE8; --bf-on-tx: #141414; background: var(--bf-bg); color: var(--bf-tx); }

/* Portada en blanco y negro, con velo neutro */
body.bf-pg .ed-vid { filter: grayscale(.9) contrast(1.08) brightness(.9); }
body.bf-pg .ed-hero-video .ed-vid::after, body.bf-pg .ed-vid::after { background: linear-gradient(180deg, rgba(8, 8, 9, .66) 0%, rgba(8, 8, 9, .34) 16%, rgba(8, 8, 9, .3) 46%, rgba(8, 8, 9, .8) 100%); }
body.bf-pg .ed-hero-t .eyebrow { color: var(--bf-acc); }

/* Secciones sobre fondo oscuro */
body.bf-pg .pr-s .ar-h2 { color: var(--bf-tx); } body.bf-pg .pr-s .ar-h2 span { color: var(--bf-mute); }
body.bf-pg .pr-s .ar-intro { color: var(--bf-mute); }
body.bf-pg .pr-s .eyebrow { color: var(--bf-acc); }
body.bf-pg .pr-s .btn-pill-dark { background: var(--bf-acc) !important; color: #141414 !important; box-shadow: none; }

/* Calendario */
body.bf-pg .bf-cal { background: radial-gradient(120% 140% at 100% 0%, #2B2B2F 0%, var(--bf-panel) 52%, #111113 100%); border: 1px solid var(--bf-line); color: var(--bf-tx); }
body.bf-pg .bf-cal-eti { color: var(--bf-acc); } body.bf-pg .bf-cal-h { color: #fff; } body.bf-pg .bf-cal-h span { color: var(--bf-mute); }
body.bf-pg .bf-prog p { color: var(--bf-mute); } body.bf-pg .bf-prog b { color: #fff; }
body.bf-pg .bf-prog-b { background: rgba(255, 255, 255, .1); } body.bf-pg .bf-prog-b i { background: linear-gradient(90deg, var(--bf-acc), var(--bf-acc2)); }
body.bf-pg .bf-cuenta { background: rgba(255, 255, 255, .04); border-color: var(--bf-line); }
body.bf-pg .bf-cuenta-t { color: var(--bf-mute); } body.bf-pg .bf-cuenta-u span { background: #000; border: 1px solid var(--bf-line); }
body.bf-pg .bf-cuenta-u b { color: #fff; } body.bf-pg .bf-cuenta-u small { color: var(--bf-mute); }
body.bf-pg .bf-t.on > a { background: var(--bf-on); color: var(--bf-on-tx); } body.bf-pg .bf-t.on > a:hover { background: #fff; }
body.bf-pg .bf-t.on em { color: #8A6420; }
body.bf-pg .bf-t.on > span:not(.sr-only) { border-color: rgba(255, 255, 255, .3); color: var(--bf-tx); }
body.bf-pg .bf-t.lock > span:not(.sr-only) { border-color: rgba(255, 255, 255, .2); color: #77726a; }
body.bf-pg .bf-t.sorp.lock > span:not(.sr-only) { border-color: rgba(232, 201, 160, .6); color: var(--bf-acc); background: repeating-linear-gradient(135deg, transparent 0 7px, rgba(232, 201, 160, .07) 7px 14px); }
body.bf-pg .bf-t.sorp.on > a { background: linear-gradient(160deg, var(--bf-acc), var(--bf-acc2)); color: #141414; } body.bf-pg .bf-t.sorp.on em { color: #3d2c08; }
body.bf-pg .bf-t.cyber > a, body.bf-pg .bf-t.cyber > span:not(.sr-only) { box-shadow: 0 0 0 2px rgba(232, 201, 160, .8) inset; }
body.bf-pg .bf-t.hoy > a, body.bf-pg .bf-t.hoy > span:not(.sr-only) { animation-name: bf-pulso-n; box-shadow: 0 0 0 3px var(--bf-acc); }
@keyframes bf-pulso-n { 0%, 100% { box-shadow: 0 0 0 3px var(--bf-acc), 0 0 0 3px rgba(232, 201, 160, 0); } 50% { box-shadow: 0 0 0 3px var(--bf-acc), 0 0 0 10px rgba(232, 201, 160, .18); } }
body.bf-pg .bf-cal .bf-leyenda { color: var(--bf-mute); }

/* Tarjetas de oferta: oscuras, con el descuento en champán */
body.bf-pg .pr-c, body.bf-pg .pr-c.t1, body.bf-pg .pr-c.t2, body.bf-pg .pr-c.t3, body.bf-pg .pr-c.t4 { background: var(--bf-card); border: 1px solid var(--bf-line); color: var(--bf-tx); }
body.bf-pg .pr-c h3, body.bf-pg .pr-v, body.bf-pg .pr-c li { color: var(--bf-tx); }
body.bf-pg .pr-v { background: rgba(232, 201, 160, .14); color: var(--bf-acc); }
body.bf-pg .pr-f, body.bf-pg .ar-n, body.bf-pg .bf-nueva .ar-n { color: var(--bf-acc); }
body.bf-pg .pr-c li { border-top-color: var(--bf-line); }
body.bf-pg .pr-c li small, body.bf-pg .pr-c li s, body.bf-pg .pr-cond { color: var(--bf-mute); }
body.bf-pg .pr-pg .pr-pie-c, body.bf-pg .pr-pie-c { border-top-color: var(--bf-line); color: var(--bf-mute); } body.bf-pg .pr-pie-c b, body.bf-pg .pr-cond b { color: var(--bf-tx); }
body.bf-pg .pr-c.pr-img::after { background: linear-gradient(180deg, rgba(12, 12, 13, .8) 0%, rgba(12, 12, 13, .9) 50%, rgba(12, 12, 13, .97) 100%); }
body.bf-pg .pr-c.pr-img::before { filter: grayscale(.9) blur(14px); opacity: .5; }
body.bf-pg .pr-c.pr-img li small, body.bf-pg .pr-c.pr-img .pr-pie-c, body.bf-pg .pr-c.pr-img li s { color: var(--bf-mute); }
body.bf-pg .pr-c .btn-pill-dark, body.bf-pg .pr-pg .pr-c li .btn-pill-dark { background: var(--bf-acc) !important; color: #141414 !important; box-shadow: none !important; }
body.bf-pg .pr-c.bf-nueva { outline: 2px solid var(--bf-acc); }
body.bf-pg .bf-solo { background: var(--bf-acc); color: #141414; }
body.bf-pg .pr-c .pr-f { color: var(--bf-acc); opacity: .85; }

/* Titular: el logotipo del Black Friday (imagen con la letra manuscrita Sheila convertida a trazos). El resto del titular, con la tipografía normal. */
body.bf-pg .ed-hero h1 .bf-logo { display: block; width: clamp(250px, 34vw, 500px); height: auto; margin: 0 0 .1em -.3em; filter: drop-shadow(0 4px 26px rgba(0, 0, 0, .55)); }
body.bf-pg .ed-hero h1 .it { display: block; color: var(--bf-acc); }
/* Si se personaliza el título, ese texto sale en manuscrita */
body.bf-pg .ed-hero h1 .bf-script { font-family: 'Sheila', cursive; font-weight: 400; font-size: clamp(3.4rem, 2.2rem + 6vw, 7.2rem); line-height: .95; letter-spacing: 0; -webkit-text-stroke: .9px currentColor; text-shadow: 0 2px 24px rgba(0, 0, 0, .55); display: block; }
@media (max-width: 560px) { body.bf-pg .ed-hero h1 .bf-logo { width: min(78vw, 340px); } }

.bfe-abrir { position: fixed; left: 16px; bottom: 16px; z-index: 90; padding: 10px 16px; border-radius: 999px; background: #E8C9A0; color: #141414; font: 600 13px system-ui, sans-serif; text-decoration: none; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); }

/* Portada de la página: el desarrollo de idea de la campaña. Fondo oscuro con «BLACK FRIDAY» en diagonal, apenas visible, y la luz dorada recorriendo el interior de las letras. */
body.bf-pg .ed-hero .ar-vid { display: none; }
body.bf-pg .ed-hero.ed-hero-video { background: #0e0d0c; }
body.bf-pg .ed-hero .bfl-wrap { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; border-radius: inherit; }
body.bf-pg .ed-hero .bfl-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 13, 12, .55) 0%, rgba(14, 13, 12, .2) 40%, rgba(14, 13, 12, .78) 100%); }
body.bf-pg .ed-hero .ed-mark { display: none; }
