/* Aviso emergente del Black Friday: palabra repetida en diagonal y tarjeta de «recordatorio» con dos botones */
.bfp { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; padding: 24px; background: #E4E3DD; overflow: hidden; opacity: 0; transition: opacity .35s ease; }
.bfp[hidden] { display: none; }
.bfp.open { opacity: 1; }
.bfp-fondo { position: absolute; left: 50%; top: 50%; width: 220vmax; transform: translate(-50%, -50%) rotate(-11deg); display: grid; gap: 0; cursor: pointer; user-select: none; -webkit-user-select: none; }
.bfp-fondo span { display: block; white-space: nowrap; font: 700 clamp(4.2rem, 17vmin, 10rem)/.86 var(--sans, "Inria Sans", "Helvetica Neue", Arial, sans-serif); letter-spacing: -.045em; color: #1d1c18; text-transform: uppercase; }
.bfp-fondo span:nth-child(even) { margin-left: -.55em; }
.bfp-card { position: relative; width: min(340px, 100%); border-radius: 26px; background: #f4f4f2; color: #1d1c18; text-align: center; overflow: hidden; box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .5); transform: scale(.96); transition: transform .35s cubic-bezier(.2, .8, .2, 1); outline: 0; }
.bfp.open .bfp-card { transform: none; }
.bfp-t { margin: 0; padding: 30px 24px 0; font: 700 1.1rem var(--sans, "Inria Sans", sans-serif); }
.bfp-x { margin: 22px 0 0; padding: 0 26px 28px; font: 400 1.18rem/1.28 var(--sans, "Inria Sans", sans-serif); text-wrap: balance; }
.bfp-bt { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(29, 28, 24, .28); }
.bfp-bt > * { display: grid; place-items: center; min-height: 58px; padding: 10px 12px; border: 0; background: transparent; color: #4a4944; font: 400 1.12rem var(--sans, "Inria Sans", sans-serif); text-decoration: none; cursor: pointer; transition: background .2s ease; }
.bfp-bt > * + * { border-left: 1px solid rgba(29, 28, 24, .28); font-weight: 700; color: #1d1c18; }
.bfp-bt > *:hover, .bfp-bt > *:focus-visible { background: rgba(29, 28, 24, .07); }
.bfp-bt > *:focus-visible { outline: 2px solid #1d1c18; outline-offset: -2px; }
@media (max-width: 480px) { .bfp { padding: 18px; } .bfp-fondo span { font-size: clamp(3.6rem, 19vmin, 6rem); } }
@media (prefers-reduced-motion: reduce) { .bfp, .bfp-card { transition: none; } }
.bfp-bt > * { color: #3a3935; }
@media (min-width: 700px) { .bfp-card { width: 400px; } .bfp-t { font-size: 1.2rem; padding-top: 34px; } .bfp-x { font-size: 1.3rem; padding-inline: 34px; } .bfp-bt > * { min-height: 64px; font-size: 1.2rem; } }

/* ---------- Diseños «folio»: un folio arrugado pegado en un muro de hormigón ---------- */
.bfp-folio, .bfp-folio-negro { background: #c5c4bf; }
.bfp-folio .bfp-fondo, .bfp-folio-negro .bfp-fondo { inset: 0; left: 0; top: 0; width: auto; transform: none; display: block; cursor: pointer;
  background:
    radial-gradient(circle at 50% 50%, #7f7e79 0 3.4px, #aeada8 4.2px 5.6px, transparent 6.4px) 0 0 / 250px 300px,
    linear-gradient(90deg, transparent calc(100% - 3px), rgba(40, 40, 36, .28) calc(100% - 3px), rgba(255, 255, 255, .22) 100%) 0 0 / 250px 100%,
    linear-gradient(0deg, transparent calc(100% - 2px), rgba(40, 40, 36, .12) 100%) 0 0 / 100% 300px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .28  0 0 0 0 .28  0 0 0 0 .26  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0 / 320px 320px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900'%3E%3Cfilter id='m' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .006' numOctaves='3' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 .2  0 0 0 0 .2  0 0 0 0 .19  0 0 0 .5 -.12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E") 0 0 / 900px 900px,
    #c9c8c3; }
.bfp-folio .bfp-fondo::after, .bfp-folio-negro .bfp-fondo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 45%, transparent 55%, rgba(30, 30, 28, .22)); pointer-events: none; }
.bfp-folio .bfp-card, .bfp-folio-negro .bfp-card { width: auto; background: none; box-shadow: none; border-radius: 0; overflow: visible; transform: translateY(10px) scale(.985); }
.bfp-folio.open .bfp-card, .bfp-folio-negro.open .bfp-card { transform: none; }
.bfp-hoja { position: relative; container-type: inline-size; width: min(340px, 76vw, calc((100svh - 200px) / 1.43)); aspect-ratio: 1 / 1.43; background: #f2f2f6; color: #262626; text-align: left; overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 2px 3px rgba(0, 0, 0, .25), 0 26px 40px -14px rgba(20, 20, 18, .45); }
.bfp-hoja::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='860'%3E%3Cfilter id='p' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.007 .012' numOctaves='5' seed='7' result='t'/%3E%3CfeDiffuseLighting in='t' surfaceScale='3.4' diffuseConstant='1.1' lighting-color='%23ffffff'%3E%3CfeDistantLight azimuth='235' elevation='56'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E") 0 0 / 100% 100%; mix-blend-mode: multiply; opacity: .62; }
.bfp-hoja::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(115deg, rgba(255, 255, 255, .5) 0, transparent 30%, transparent 70%, rgba(0, 0, 0, .06)); }
.bfp-bf { position: absolute; left: 11cqw; top: 9cqw; z-index: 1; margin: 0; font: 700 21.5cqw/.86 var(--sans, "Inria Sans", "Helvetica Neue", Arial, sans-serif); letter-spacing: -.07em; text-transform: uppercase; color: #2b2b2b; }
.bfp-lin { position: absolute; left: 11cqw; right: 9cqw; bottom: 10cqw; z-index: 1; margin: 0; font: 300 7.2cqw/1.12 var(--sans, "Inria Sans", "Helvetica Neue", Arial, sans-serif); letter-spacing: -.035em; text-transform: uppercase; color: #2b2b2b; }
.bfp-lin span, .bfp-lin b { display: block; }
.bfp-lin b { font-weight: 700; }
.bfp-folio .bfp-bt, .bfp-folio-negro .bfp-bt { position: absolute; top: calc(100% + 18px); left: 50%; transform: translateX(-50%); display: flex; gap: 10px; border: 0; width: max-content; }
.bfp-folio .bfp-bt > *, .bfp-folio-negro .bfp-bt > * { min-height: 46px; padding: 0 24px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .82); color: #262626; font: 400 1rem var(--sans, "Inria Sans", sans-serif); box-shadow: 0 8px 20px -12px rgba(0, 0, 0, .5); }
.bfp-folio .bfp-bt > * + *, .bfp-folio-negro .bfp-bt > * + * { border: 0; background: #1d1c18; color: #fff; font-weight: 700; }
.bfp-folio .bfp-bt > *:hover, .bfp-folio-negro .bfp-bt > *:hover, .bfp-folio .bfp-bt > *:focus-visible, .bfp-folio-negro .bfp-bt > *:focus-visible { background: #fff; }
.bfp-folio .bfp-bt > * + *:hover, .bfp-folio-negro .bfp-bt > * + *:hover, .bfp-folio .bfp-bt > * + *:focus-visible, .bfp-folio-negro .bfp-bt > * + *:focus-visible { background: #3a3935; color: #fff; }
/* Folio negro: la misma hoja en negro, con las arrugas iluminadas en vez de sombreadas */
.bfp-folio-negro .bfp-hoja { background: #161616; color: #f1f1f1; box-shadow: 0 2px 3px rgba(0, 0, 0, .4), 0 26px 40px -14px rgba(10, 10, 9, .6); }
.bfp-folio-negro .bfp-hoja::before { mix-blend-mode: soft-light; opacity: .9; }
.bfp-folio-negro .bfp-hoja::after { background: linear-gradient(115deg, rgba(255, 255, 255, .1) 0, transparent 35%, transparent 70%, rgba(0, 0, 0, .25)); }
.bfp-folio-negro .bfp-bf, .bfp-folio-negro .bfp-lin { color: #f1f1f1; }
@media (max-width: 480px) { .bfp-folio .bfp-bt > *, .bfp-folio-negro .bfp-bt > * { min-height: 44px; padding: 0 20px; } }

/* Folio · arrugas más marcadas y muro sin costuras */
.bfp-folio .bfp-fondo, .bfp-folio-negro .bfp-fondo { background:
    radial-gradient(circle at 50% 50%, #7f7e79 0 3.4px, #aeada8 4.2px 5.6px, transparent 6.4px) 0 0 / 250px 300px,
    linear-gradient(90deg, transparent calc(100% - 3px), rgba(40, 40, 36, .28) calc(100% - 3px), rgba(255, 255, 255, .22) 100%) 0 0 / 250px 100%,
    linear-gradient(0deg, transparent calc(100% - 2px), rgba(40, 40, 36, .12) 100%) 0 0 / 100% 300px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .28  0 0 0 0 .28  0 0 0 0 .26  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0 / 320px 320px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900'%3E%3Cfilter id='m' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .006' numOctaves='3' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2  0 0 0 0 .2  0 0 0 0 .19  0 0 0 .5 -.12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E") 0 0 / 900px 900px,
    #c9c8c3; }
.bfp-hoja { background: #fbfbfe; }
.bfp-hoja::before { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='860'%3E%3Cfilter id='p' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.011 .018' numOctaves='6' seed='4' result='t'/%3E%3CfeColorMatrix in='t' type='matrix' values='1.5 0 0 0 -.25  0 1.5 0 0 -.25  0 0 1.5 0 -.25  0 0 0 1 0' result='c'/%3E%3CfeDiffuseLighting in='c' surfaceScale='9' diffuseConstant='1.25' lighting-color='%23ffffff'%3E%3CfeDistantLight azimuth='235' elevation='48'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E") 0 0 / 100% 100%; opacity: .95; }
.bfp-folio-negro .bfp-hoja { background: #151515; }
.bfp-folio-negro .bfp-hoja::before { opacity: .95; }

/* Folio · pliegues largos y suaves (sin grano) */
.bfp-hoja::before { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='860'%3E%3Cfilter id='p' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0045 .008' numOctaves='3' seed='9' result='t'/%3E%3CfeColorMatrix in='t' type='matrix' values='1.9 0 0 0 -.45  1.9 0 0 0 -.45  1.9 0 0 0 -.45  0 0 0 1 0' result='c'/%3E%3CfeGaussianBlur in='c' stdDeviation='.8' result='b'/%3E%3CfeDiffuseLighting in='b' surfaceScale='6' diffuseConstant='1.15' lighting-color='%23ffffff'%3E%3CfeDistantLight azimuth='235' elevation='52'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E") 0 0 / 100% 100%; opacity: .8; }
.bfp-folio-negro .bfp-hoja::before { opacity: .85; }

.bfp-hoja::before { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='860'%3E%3Cfilter id='p' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0045 .008' numOctaves='3' seed='9' result='t'/%3E%3CfeColorMatrix in='t' type='matrix' values='2.6 0 0 0 -.8  2.6 0 0 0 -.8  2.6 0 0 0 -.8  0 0 0 1 0' result='c'/%3E%3CfeGaussianBlur in='c' stdDeviation='.9' result='b'/%3E%3CfeDiffuseLighting in='b' surfaceScale='11' diffuseConstant='1.2' lighting-color='%23ffffff'%3E%3CfeDistantLight azimuth='235' elevation='50'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E") 0 0 / 100% 100%; opacity: .95; }
.bfp-folio-negro .bfp-hoja::before { opacity: .9; }

/* ---------- Recordatorio · luz dorada que recorre el interior de las letras + mensaje con más fuerza ---------- */
.bfp-recordatorio .bfp-fondo { background-image: linear-gradient(104deg, rgba(217, 178, 122, 0) 0%, #D9B27A 30%, #F7DFAE 50%, #D9B27A 70%, rgba(217, 178, 122, 0) 100%), linear-gradient(#1d1c18, #1d1c18); background-size: 860px 100%, 100% 100%; background-repeat: no-repeat; --ruta: 700px; background-position: calc(50% - var(--ruta)) 0, 0 0; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: bfpLuz 3.4s ease-in-out infinite; }
.bfp-recordatorio .bfp-fondo span { color: transparent; -webkit-text-fill-color: transparent; }
@keyframes bfpLuz { 0% { background-position: calc(50% - var(--ruta)) 0, 0 0; } 82%, 100% { background-position: calc(50% + var(--ruta)) 0, 0 0; } }
@media (min-width: 700px) { .bfp-recordatorio .bfp-fondo { --ruta: 1150px; animation-duration: 4.4s; } }
.bfp-recordatorio .bfp-t { font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: #5a5953; padding-top: 32px; }
.bfp-recordatorio .bfp-x { margin-top: 14px; padding-bottom: 30px; font-size: 1.12rem; line-height: 1.34; color: #3a3a34; }
.bfp-recordatorio .bfp-x b { display: block; margin-bottom: 8px; font-size: 1.62rem; line-height: 1.12; font-weight: 700; letter-spacing: -.02em; color: #1d1c18; text-wrap: balance; }
@media (min-width: 700px) { .bfp-recordatorio .bfp-x { font-size: 1.2rem; } .bfp-recordatorio .bfp-x b { font-size: 1.9rem; } .bfp-recordatorio .bfp-t { font-size: .84rem; } }
@media (prefers-reduced-motion: reduce) { .bfp-recordatorio .bfp-fondo { animation: none; background-position: calc(50% - 250px) 0, 0 0; } }
