/*
 * ePrilux · Landing de Navidad /luces-de-navidad/ (diseño de Karen «festiva», 28/10/2026).
 * Solo se carga en esa página (módulo navidad). Las piezas son bloques de Elementor con clases «nv-…»;
 * la suscripción usa las clases «nl» de los banners y aquí solo se le cambian los colores (.nv-nl).
 * Al acabar la campaña se apaga el módulo y este fichero deja de cargarse.
 */

@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-display-latin.woff2) format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-display-italic-latin.woff2) format('woff2')}

:root{--nv-r:#8f1d2c;--nv-rd:#5e1019;--nv-g:#173f30;--nv-gd:#0f2c21;--nv-c:#fbf4e6;--nv-s:'DM Serif Display',Georgia,serif;--nv-in:cubic-bezier(.16,1,.3,1)}

/* ---------- Base ---------- */
.nv{width:100%;padding:0!important;font-family:Montserrat,sans-serif;color:#06163d}
.nv:has(> .nv-ew){display:flex!important;flex-direction:column;align-items:center}
.nv :where(.nv-ew,.nv-shd,.nv-ctas,.nv-zn,.nv-z,.nv-z-tx,.nv-pr,.nv-pr-c,.nv-gd-in,.nv-gd-hd,.nv-gd-ol,.nv-gd-li,.nv-date-in,.nv-hero-tx){padding:0!important}
.nv-ew{flex-direction:column!important;align-items:stretch!important;gap:0!important}
.nv-tag{display:inline-flex;align-items:center;gap:10px;margin:0!important;font-size:10px;font-weight:600;letter-spacing:.26em;line-height:1.4;text-transform:uppercase;color:var(--nv-g)}
.nv-tag::before{content:'';width:11px;height:11px;flex:0 0 auto;background:var(--nv-r);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.nv-h2{margin:14px 0 0!important;font-size:clamp(25px,3.3vw,48px);font-weight:200;letter-spacing:-.03em;line-height:1.08;color:#06163d;max-width:26ch;text-wrap:balance}
:is(.nv-h1,.nv-h2,.nv-nl .nl-tit) :is(b,strong){font-family:var(--nv-s);font-style:italic;font-weight:400;letter-spacing:-.01em}
.nv-h2 :is(b,strong){color:var(--nv-r)}
.nv-shd{display:flex;flex-direction:column;margin-bottom:clamp(28px,3.4vw,50px)!important}
.nv-shd-p{margin:16px 0 0!important;max-width:54ch;font-size:14.5px;font-weight:300;line-height:1.85;color:#5b6270}
.nv-sec{background:var(--nv-c);padding:clamp(44px,4.6vw,72px) 0!important}
.nv-sec.nv-w{position:relative;background-color:#fff;background-image:radial-gradient(circle at 6% 14%,rgba(143,29,44,.10) 0 3px,transparent 4px),radial-gradient(circle at 94% 10%,rgba(23,63,48,.12) 0 3px,transparent 4px),radial-gradient(circle at 80% 32%,rgba(232,169,32,.16) 0 2px,transparent 3px),radial-gradient(circle at 18% 4%,rgba(232,169,32,.14) 0 3px,transparent 4px)}
.nv-sec.nv-w::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(90deg,var(--nv-r) 0 22px,#fff 22px 30px,var(--nv-g) 30px 52px,#fff 52px 60px)}

/* ---------- Cabecera ---------- */
.nv-hero{position:relative;overflow:hidden;background:var(--nv-rd);color:#fff}
.nv-hero::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(78,10,20,.94) 0%,rgba(94,16,25,.78) 50%,rgba(15,44,33,.2) 92%);pointer-events:none}
.nv-hero-img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;animation:nvZoom 1.6s var(--nv-in) both}
.nv-hero-tx{position:relative;z-index:3;min-height:clamp(300px,26vw,380px);justify-content:center!important;padding-top:clamp(52px,4.6vw,64px)!important;padding-bottom:clamp(32px,3.6vw,52px)!important}
.nv-bc{margin:0 0 auto!important;font-size:11.5px;color:rgba(255,255,255,.7)}
.nv-bc a{color:rgba(255,255,255,.7);text-decoration:none}.nv-bc a:hover{color:#FDCF63}.nv-bc span{margin:0 8px!important}.nv-bc b{font-weight:500;color:#fff}
.nv-hero .nv-tag{margin-top:clamp(20px,2.4vw,32px)!important;color:#FDCF63}
.nv-hero .nv-tag::before{width:30px;height:1px;clip-path:none;background:#FDCF63}
.nv-h1{margin:10px 0 0!important;font-size:clamp(34px,4vw,58px);font-weight:300;letter-spacing:-.035em;line-height:1.05;color:#fff;max-width:26ch;text-wrap:balance}
.nv-h1 :is(b,strong){color:#FDCF63}
.nv-ld{margin:12px 0 0!important;max-width:68ch;font-size:14.5px;font-weight:300;line-height:1.75;color:rgba(255,255,255,.85)}
.nv-ctas{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:12px;margin:20px 0 auto!important}
/* Guirnalda de bombillas arriba, solo con CSS */
.nv-luces{position:absolute!important;left:0;right:0;top:0;height:40px;z-index:2;padding:0!important;pointer-events:none;
	background:radial-gradient(4px 5px at 50% 70%,#FDCF63 60%,transparent 72%) 0 0/4.5% 40px repeat-x,
	radial-gradient(ellipse 50% 60% at 50% 0,transparent calc(100% - 1px),rgba(255,255,255,.28) 100%,transparent calc(100% + 1px)) 0 -6px/18% 32px repeat-x;
	filter:drop-shadow(0 0 5px rgba(253,207,99,.65));animation:nvBrillo 2.6s ease-in-out infinite}
/* Nieve, solo con CSS: dos capas de copos que caen */
.nv-nieve{position:absolute!important;inset:0;z-index:1;padding:0!important;overflow:hidden;pointer-events:none}
.nv-nieve::before,.nv-nieve::after{content:'';position:absolute;left:0;right:0;top:-100%;height:200%;
	background-image:radial-gradient(2px 2px at 12% 8%,#fff 50%,transparent 60%),radial-gradient(3px 3px at 28% 22%,rgba(255,255,255,.8) 50%,transparent 60%),radial-gradient(2px 2px at 44% 4%,#fff 50%,transparent 60%),radial-gradient(4px 4px at 61% 18%,rgba(255,255,255,.7) 50%,transparent 60%),radial-gradient(2px 2px at 77% 11%,#fff 50%,transparent 60%),radial-gradient(3px 3px at 91% 27%,rgba(255,255,255,.8) 50%,transparent 60%),radial-gradient(2px 2px at 6% 36%,#fff 50%,transparent 60%),radial-gradient(3px 3px at 53% 40%,rgba(255,255,255,.7) 50%,transparent 60%),radial-gradient(2px 2px at 84% 45%,#fff 50%,transparent 60%);
	background-size:100% 50%;animation:nvNieve 16s linear infinite;opacity:.75}
.nv-nieve::after{background-size:90% 50%;background-position:40px 0;animation-duration:23s;opacity:.5}

/* ---------- Cuenta atrás ---------- */
.nv-date{background:var(--nv-r);color:#fff}
.nv-date-in{flex-direction:row!important;align-items:center!important;justify-content:center;gap:12px!important;padding:16px 0!important;text-align:center}
.nv-cd{width:auto!important;margin:0!important;padding-right:16px;border-right:1px solid rgba(255,255,255,.25)}
.nv-cd .elementor-countdown-wrapper{display:flex;margin:0!important}
.nv-cd .elementor-countdown-item{display:flex;align-items:center;gap:10px;padding:0;background:none!important}
.nv-cd .elementor-countdown-digits{font-family:var(--nv-s);font-style:normal;font-size:34px;font-weight:400;line-height:1;color:#fff}
.nv-cd .elementor-countdown-label{max-width:9em;font-size:9.5px;font-weight:600;letter-spacing:.14em;line-height:1.35;text-transform:uppercase;text-align:left;color:#FDCF63}
/* Hasta que corre el script de Elementor (WP Rocket lo retrasa al primer gesto) no hay número: no se enseña la etiqueta sola */
.nv-cd:has(.elementor-countdown-digits:empty){display:none}
.nv-date-p{margin:0!important;font-size:13.5px;font-weight:300;color:rgba(255,255,255,.9)}.nv-date-p :is(b,strong){font-weight:600;color:#fff}

/* ---------- Por zonas ---------- */
.nv-zn{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)!important}
.nv-z{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--nv-g);color:#fff;transition:box-shadow .4s var(--nv-in)}
.nv-z:nth-child(even){background:var(--nv-r)}
.nv-z:hover{box-shadow:0 18px 36px -24px rgba(6,22,61,.6)}
.nv-z-img{width:100%!important;aspect-ratio:1;object-fit:contain;padding:10%;background:#fff;transition:transform 1.1s var(--nv-in)}
.nv-z-amb .nv-z-img{object-fit:cover;padding:0}
.nv-z:hover .nv-z-img{transform:scale(1.05)}
.nv-z-tx{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px!important}
.nv-z-n{margin:0!important;font-size:18px;font-weight:500;color:#fff}
.nv-z-n a{color:inherit;text-decoration:none}.nv-z-n a::after{content:'';position:absolute;inset:0;z-index:2}
.nv-z-d{margin:5px 0 0!important;font-size:12.5px;font-weight:300;line-height:1.55;color:rgba(255,255,255,.82)}
.nv-z-go{margin:auto 0 0!important;padding-top:14px;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#FDCF63}
.nv-z-go::after{content:' →';transition:margin .4s var(--nv-in)}.nv-z:hover .nv-z-go::after{margin-left:4px!important}

/* ---------- La selección: pestañas por zona ---------- */
.nv-tabs .e-n-tabs-heading{gap:8px;margin-bottom:clamp(20px,2.2vw,28px)!important;flex-wrap:wrap}
.nv-tabs .e-n-tab-title{height:38px;padding:0 18px!important;border:1px solid rgba(6,22,61,.2)!important;border-radius:2px!important;background:#fff!important;font-family:inherit;font-size:12.5px;font-weight:500;color:#06163d!important;transition:background .3s var(--nv-in),border-color .3s var(--nv-in)}
.nv-tabs .e-n-tab-title:hover{border-color:#06163d!important}
.nv-tabs .e-n-tab-title[aria-selected=true]{background:var(--nv-r)!important;border-color:var(--nv-r)!important;color:#fff!important}
.nv-tabs .e-n-tab-title-text{color:inherit!important;font-size:inherit!important;font-weight:inherit!important}
.nv-tabs .e-n-tabs-content>.e-con{padding:0!important;border:0!important}
.nv-grid .e-loop-item{animation:nvEntra .45s var(--nv-in) both}

/* ---------- Ideas de regalo: paquetes con lazo ---------- */
.nv-pr{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)!important}
.nv-pr-c{position:relative;overflow:hidden;min-height:220px;display:flex;flex-direction:column;padding:clamp(24px,2.4vw,34px)!important;color:#fff;transition:box-shadow .4s var(--nv-in)}
.nv-pr-c:nth-child(1){background-color:var(--nv-r)}.nv-pr-c:nth-child(2){background-color:var(--nv-g)}.nv-pr-c:nth-child(3){background-color:#b07a00}
.nv-pr-c:hover{box-shadow:0 18px 36px -22px rgba(60,10,16,.6)}
.nv-pr-c{--nv-cinta:rgba(253,207,99,.9);--nv-nudo:#FDCF63;background-image:linear-gradient(var(--nv-cinta),var(--nv-cinta)),linear-gradient(var(--nv-cinta),var(--nv-cinta));background-size:10px 100%,100% 10px;background-position:right 72px top 0,0 58px;background-repeat:no-repeat}
.nv-pr-c:nth-child(3){--nv-cinta:rgba(255,255,255,.85);--nv-nudo:#fff}
.nv-pr-c::before{content:'';position:absolute;z-index:3;left:auto;right:58px;top:44px;width:38px;height:38px;border-radius:2px;background:var(--nv-nudo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2306163d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h8M6.5 2.5 10 6l-3.5 3.5'/%3E%3C/svg%3E") center/12px no-repeat;transition:background-position .4s var(--nv-in);pointer-events:none}
.nv-pr-c:hover::before{background-color:#fff;background-position:calc(50% + 3px) center}
.nv-pr-s{position:relative;z-index:1;margin:66px 0 0!important;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.nv-pr-n{position:relative;z-index:1;margin:6px 0 0!important;font-family:var(--nv-s);font-style:normal;font-size:clamp(42px,4.2vw,60px);font-weight:400;letter-spacing:-.02em;line-height:1;color:#fff}
.nv-pr-n a{color:inherit;text-decoration:none}.nv-pr-n a::after{content:'';position:absolute;inset:-400px;z-index:2}
.nv-pr-c{isolation:isolate}
.nv-pr-d{position:relative;z-index:1;margin:12px 0 0!important;max-width:calc(100% - 100px);font-size:13.5px;font-weight:300;line-height:1.6;color:rgba(255,255,255,.88)}

/* ---------- Antes de comprar ---------- */
.nv-gd{background:var(--nv-g);color:#fff}
.nv-gd-in{display:grid!important;grid-template-columns:minmax(0,.75fr) minmax(0,1.7fr);gap:clamp(28px,4vw,64px)!important;align-items:center!important;padding:clamp(40px,4vw,60px) 0!important}
.nv-gd .nv-tag{color:#FDCF63}.nv-gd .nv-tag::before{background:#FDCF63}
.nv-gd .nv-h2{max-width:18ch;font-size:clamp(24px,2.6vw,36px);color:#fff}.nv-gd .nv-h2 :is(b,strong){color:#FDCF63}
.nv-gd-ol{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)!important}
.nv-gd-li{position:relative;display:flex;flex-direction:column;padding:clamp(20px,2vw,28px)!important;background:var(--nv-gd);border:1px solid rgba(255,255,255,.1);transition:border-color .4s var(--nv-in),transform .4s var(--nv-in)}
.nv-gd-li:hover{border-color:#FDCF63;transform:translateY(-3px)}
.nv-gd-ico{width:auto!important}
.nv-gd-ico .elementor-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:2px;background:#FDCF63;font-size:19px}
.nv-gd-ico .elementor-icon :is(i,svg){color:#06163d!important;fill:#06163d!important;width:19px;height:19px}
.nv-gd-num{position:absolute;top:clamp(20px,2vw,28px);right:clamp(20px,2vw,28px);margin:0!important;font-size:11px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.4)}
.nv-gd-t{margin:16px 0 0!important;font-size:15.5px;font-weight:600;color:#fff}
.nv-gd-p{margin:8px 0 0!important;font-size:13px;font-weight:300;line-height:1.7;color:rgba(255,255,255,.75)}

/* ---------- Suscripción: el banner B con los colores de Navidad ---------- */
.nv-nl.nl-b{background:var(--nv-rd)}

/* ---------- Tablet y móvil ---------- */
@media (max-width:1100px){.nv-gd-in{grid-template-columns:1fr}}
@media (max-width:900px){
	.nv-zn{display:flex!important;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px!important;scrollbar-width:none}.nv-zn::-webkit-scrollbar{display:none}
	.nv-z{flex:0 0 58%;scroll-snap-align:start}
	.nv-pr,.nv-gd-ol{grid-template-columns:1fr}
	.nv-hero::after{background:linear-gradient(180deg,rgba(94,16,25,.55) 0%,rgba(78,10,20,.92) 70%)}
}
@media (max-width:620px){
	.nv-z{flex-basis:74%}
	.nv-tabs .e-n-tabs-heading{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.nv-tabs .e-n-tab-title{flex:0 0 auto}
	.nv-date-in{justify-content:flex-start;text-align:left}.nv-cd .elementor-countdown-digits{font-size:26px}
	.nv-luces{background-size:9% 40px,36% 32px}
}
@media (prefers-reduced-motion:reduce){.nv-hero-img,.nv-luces,.nv-grid .e-loop-item{animation:none}.nv-nieve{display:none}}

@keyframes nvZoom{from{transform:scale(1.05)}to{transform:none}}
@keyframes nvEntra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes nvBrillo{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes nvNieve{to{transform:translate3d(0,50%,0)}}
