/* Fuentes web. Si se necesita uso offline, instalar localmente las fuentes originales suministradas. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&family=Raleway:wght@700;800;900&family=Spicy+Rice&display=swap');
:root{--red:#b5091b;--deep-red:#78091a;--dark-red:#520912;--green:#075c30;--pine:#074325;--gold:#ffc459;--cream:#fff7ec;--ink:#302c2b;--sky:#57c1d6}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Montserrat,Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{max-width:100%;height:auto}
.srOnly,.skipLink:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skipLink:focus{position:fixed;z-index:999;top:10px;left:10px;background:white;color:var(--dark-red);padding:12px 20px;border-radius:6px}
:focus-visible{outline:3px solid #ffc459;outline-offset:3px}
.siteHeader{z-index:30;position:relative;background:linear-gradient(105deg,#950714 0%,#b4061c 55%,#8d0716 100%);color:#fff;box-shadow:0 5px 22px #590b1730}
.siteHeader::after{position:absolute;content:"";bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#d19c43,#ffe3a4,#d19c43)}
.headerInner{max-width:1400px;min-height:90px;margin:auto;padding:10px clamp(18px,4vw,62px);display:flex;align-items:center;justify-content:space-between;gap:28px}
.headerLogo{display:flex;align-items:center;flex-shrink:0}.headerLogo img{width:160px;max-height:62px;object-fit:contain}
.headerNav{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,30px)}
.headerNav a,.headerNav button{background:none;border:0;padding:9px 1px;color:#fff;font-size:12px;letter-spacing:.02em;font-weight:750;white-space:nowrap;transition:color .2s}
.headerNav a:hover,.headerNav button:hover{color:var(--gold)}
.headerAction{display:inline-flex;justify-content:center;align-items:center;gap:13px;border:1px solid #fff7;border-radius:100px;background:#fff;color:#8b0a18;padding:12px 19px;white-space:nowrap;font-weight:850;font-size:12px;box-shadow:0 5px 0 #5e071222;transition:transform .2s,background .2s}
.headerAction:hover{transform:translateY(-2px);background:#fff1cb}
/* Escenografía navideña montada con las piezas originales del KV */
.hero{position:relative;z-index:1;overflow:hidden;background:linear-gradient(180deg,#57bdd1 2%,#8ed8e0 49%,#e0f3ec 80%,#fff6e7 100%);padding:0 15px 0;isolation:isolate}
.heroSky{position:absolute;z-index:-1;inset:0;background-image:url('/assets/navidad/016.png');background-repeat:no-repeat;background-size:100% auto;background-position:center 21%;opacity:.92;pointer-events:none}
.hero::before{content:"";z-index:-1;position:absolute;left:-5%;right:-5%;bottom:-85px;height:275px;border-radius:50% 50% 0 0;background:linear-gradient(#fffaf6,#fff8ed);box-shadow:0 -35px 85px #fff9efaa;pointer-events:none}
.snowDots{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.6;background-image:radial-gradient(#fff 1.7px,transparent 2.1px),radial-gradient(#fff 1px,transparent 1.5px);background-size:86px 103px,132px 141px;background-position:8px 33px,42px 14px}
.topCampaign{display:block;margin:-1px auto 0;width:clamp(340px,44vw,660px);max-width:96%;height:auto;filter:drop-shadow(0 10px 12px #7b2c3430)}
.campaignLogo{position:relative;top:max(-60px,-6vw);z-index:3;display:block;width:min(930px,92vw);margin:2px auto -60px;filter:drop-shadow(0 22px 18px #224b4a50)}
.flake{position:absolute;z-index:1;color:#fff2be;filter:drop-shadow(0 2px 4px #488e9170);pointer-events:none}.flake1{left:6%;top:180px;font-size:70px}.flake2{right:7%;top:245px;font-size:64px}.flake3{left:20%;top:480px;font-size:60px;color:#f5d398}
.heroIntro{min-height:1.2em;position:relative;z-index:5;margin:42px auto 55px;display:flex;align-items:center;justify-content:center;gap:16px;color:#075c30;letter-spacing:.19em;font-size:11px;font-weight:900;text-align:center}.introLine{width:60px;height:1px;background:#29866380}
.snowStage{max-width:1100px;margin:0 auto;position:relative;z-index:2}
.cabin{position:relative;width:min(1040px,100%);margin:auto;filter:drop-shadow(0 19px 14px #5d3c2e36)}
.cabinImage{display:block;width:100%}
.cabinPrize{position:absolute;top:0;bottom:0;width:28%;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.cabinPrize1{left:9.15%}.cabinPrize2{left:36.16%}.cabinPrize3{left:63.28%}
.prizeTag{position:absolute;top:17%;z-index:3;width:76%;container-type:inline-size;filter:drop-shadow(0 5px 5px #32090933)}.prizeTag img{display:block;width:100%;height:auto}.prizeTag p{position:absolute;inset:0 5%;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;font-weight:700;line-height:1.12;text-shadow:0 1px 3px #5a0008cc,0 0 6px #5a000080}.prizeTag span{font-size:8.5cqw;white-space:nowrap}.prizeTag small{font-size:6.5cqw;font-weight:600;margin-top:.45em;color:#ffe5b2}
.productImg{position:absolute;z-index:2;height:auto;object-fit:contain;filter:drop-shadow(0 9px 7px #502e2844);transition:transform .35s ease}
.cabinPrize:hover .productImg{transform:translateY(-7px) scale(1.04)}
.productBlanket{width:103.3%;bottom:7%}.productScale{width:109.5%;bottom:13.2%}.productCoffee{width:107.9%;bottom:15.85%}
.mechanics{position:relative;z-index:4;margin-top:-10px;padding:0 18px 68px;background:linear-gradient(#fff8ef 0%,#fff2e4 100%)}
.mechanicsInner{max-width:1160px;margin:auto}
.greenRibbon{position:relative;max-width:850px;margin:-12px auto 0;filter:drop-shadow(0 13px 8px #6a21241c)}
.greenRibbon>img{width:100%;display:block}
.ribbonText{position:absolute;inset:8% 8% 4%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;text-shadow:0 2px 1px #02371c70}
.ribbonText h2{font-family:Raleway,Montserrat,sans-serif;margin:0;font-size:clamp(20px,3.7vw,47px);font-weight:900;line-height:1.02;letter-spacing:-.04em}.ribbonText p{font-family:Raleway,Montserrat,sans-serif;margin:5px 0 0;font-size:clamp(14px,2.25vw,28px);letter-spacing:.08em;line-height:1.13}
.amounts{width:min(850px,95%);margin:-3px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,3vw,44px);justify-items:center;text-align:center}
.amount{min-width:0}.badge{position:relative;width:clamp(110px,15vw,165px);margin:0 auto;container-type:inline-size;filter:drop-shadow(0 7px 4px #4d192120)}.badge img{display:block;width:100%;height:auto}.badge span{position:absolute;left:0;right:0;text-align:center;color:#fff;font-weight:700;line-height:1;text-shadow:0 1px 3px #5a0008cc,0 0 6px #5a000080;transform:translateY(-50%)}.bFrom{top:28%;font-size:11cqw;letter-spacing:.1em}.bPrice{top:50%;font-size:31cqw;letter-spacing:-.01em}.bSub{top:73%;font-size:10.5cqw}
.amount p{font-size:12px;line-height:1.6;margin:9px 0;color:#6a3438}.amount strong{color:#a20e20}
.stepsIntro{position:relative;text-align:center;padding:30px 70px 30px;margin:6px auto 5px;max-width:950px}
.stepsEyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#0c673d;margin:0 0 10px}
.stepsIntro h2{font-family:Raleway,Montserrat,sans-serif;color:#a10c1d;font-weight:900;font-size:clamp(23px,3.5vw,39px);line-height:1.15;margin:0 auto 13px;max-width:760px}
.stepsIntro>p:not(.stepsEyebrow){color:#19633b;font-weight:600;font-size:clamp(14px,1.7vw,19px);margin:0}
.ornament{position:absolute;top:28px;width:95px;pointer-events:none}.ornamentLeft{left:-15px}.ornamentRight{right:-15px}
.consult{scroll-margin-top:110px;border:2px solid #e9c387;max-width:900px;margin:13px auto 0;padding:25px;display:grid;grid-template-columns:1fr minmax(320px,1.2fr);align-items:center;column-gap:25px;position:relative;background:linear-gradient(112deg,#840917,#b10c1d 70%,#9c0a19);border-radius:22px;box-shadow:0 18px 42px #6d22252f;color:#fff}
.consultInfo{display:flex;align-items:center;gap:13px}.tinyStar{flex:0 0 auto;font-size:36px;color:var(--gold)}
.consultInfo p{font-size:11px;letter-spacing:.18em;font-weight:800;color:#ffe5b2;margin:0 0 3px}.consultInfo h2{font-family:Raleway,Montserrat,sans-serif;margin:0 0 5px;font-size:clamp(24px,2.6vw,33px);line-height:1.1}.consultInfo div>span{font-size:11px;color:#ffe2df;line-height:1.45}
#saldoForm{display:flex;background:#fff;padding:5px;border-radius:12px;min-width:0;box-shadow:inset 0 0 0 1px #d6c8c7}
#saldoForm input{width:100%;min-width:0;flex:1;border:0;outline:0;padding:12px 12px;color:#412e2e;background:transparent;font-size:12px;font-weight:600}
#saldoForm input:focus-visible{box-shadow:inset 0 0 0 2px #f2c356;border-radius:7px}
#saldoForm button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:11px 15px;white-space:nowrap;font-size:12px;font-weight:850;transition:background .2s}
#saldoForm button:hover{background:#064122}.formError{grid-column:2;color:#ffe7a1;font-size:12px;margin:5px 0 0}.websiteReference{text-align:center;font-size:14px;color:#47784e;margin:20px 0 0}.websiteReference a{font-weight:800;color:#075b30;text-decoration:underline;text-underline-offset:3px}
.brands{background:#fff;padding:65px 0 72px;overflow:hidden}.brandsTitle{display:flex;align-items:center;justify-content:center;gap:16px;color:#8e0715}.brandsTitle h2{font-family:Raleway,Montserrat,sans-serif;font-size:clamp(20px,3vw,29px);letter-spacing:.03em;margin:0}.brandsTitle>span{font-size:19px;color:#cb9a43}.brands>p{font-size:13px;text-align:center;color:#74716c;margin:12px 0 35px}.marquee{overflow:hidden;margin:18px 0;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.marqueeTrack{--g:42px;display:flex;align-items:center;gap:var(--g);padding-right:var(--g);width:max-content;animation:slide 100s linear infinite}.marqueeTrack.reverse{animation-direction:reverse;animation-duration:106s}.marqueeTrack img{flex:0 0 auto;height:34px;width:auto;max-width:120px;object-fit:contain}
.legalNotice{padding:27px max(24px,8vw) 30px;background:#f6ecde;border-top:1px solid #e7d8c9}.legalNotice p{max-width:1150px;margin:auto;color:#6f625c;font-size:10.5px;line-height:1.7;text-align:center}.legalNotice a{font-weight:700;text-decoration:underline;color:#09653b}
.siteFooter{background:#a60a19;color:#fff}.footerMain{max-width:1250px;min-height:130px;margin:0 auto;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footerLogo{width:165px}.footerNav{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.footerNav button{border:0;background:none;color:#fff;opacity:.93;font-size:11px;font-weight:700;padding:6px 0}.footerNav button:hover{text-decoration:underline}.footerTag{font-family:SpicyRice,Georgia,serif;font-size:20px;color:#ffe5ab;white-space:nowrap}.footerTag span{font-family:Montserrat}.footerBottom{border-top:1px solid #ffffff43;max-width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px max(30px,calc((100vw - 1190px)/2));font-size:11px;color:#ffe8e8}.footerBottom a:hover{text-decoration:underline}
/* Modales conservados del sitio anterior, rediseñados en Navidad */
dialog{border:0;padding:0;box-shadow:0 25px 80px #22040680}dialog::backdrop{background:#120d16a8;backdrop-filter:blur(5px)}.resultModal,.legalModal{position:fixed;width:min(650px,calc(100vw - 28px));max-height:calc(100dvh - 32px);border-radius:24px;background:#fffaf4;color:#332c27;overflow:auto}.modalClose{position:absolute;z-index:3;right:15px;top:15px;border:0;border-radius:50%;background:#f3ddd6;color:#7f121d;font-size:27px;width:39px;height:39px;display:grid;place-items:center;line-height:1}.modalClose:hover{background:#e5c7bf}.modalContent,.legalModalContent{padding:46px 32px 31px;text-align:center}.modalEyebrow{font-size:11px;color:#a81a29;font-weight:900;letter-spacing:.2em}.modalContent h2,.legalModalContent h2{font-family:Raleway,Montserrat,sans-serif;color:#9c0918;margin:7px 0 13px;font-size:clamp(25px,5vw,34px)}.demoFlag{margin:0 auto 13px;display:inline-block;padding:8px 13px;border-radius:100px;font-size:11px;color:#71542d;background:#fff0cf;font-weight:800}.modalInfo{font-size:13px;line-height:1.6;color:#726962;max-width:540px;margin:0 auto 21px}.modalPrizeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.modalPrizeGrid figure{margin:0;border:1px solid #f0e1d0;border-radius:13px;padding:10px 6px;background:#fff}.modalPrizeGrid img{height:130px;width:100%;object-fit:contain}.modalPrizeGrid figcaption{font-size:11px;font-weight:650;line-height:1.4}.modalPrizeGrid figcaption strong{display:block;color:#b0081b}.btnSecondary{margin-top:23px;padding:12px 21px;background:var(--green);color:#fff;border-radius:100px;border:0;font-size:13px;font-weight:850}.btnSecondary:hover{background:#083b27}.legalModalContent{text-align:left}.legalModalContent h2{margin:0 35px 20px 0}.legalModalContent p{color:#60554f;font-size:13px;line-height:1.75}.legalModalContent a{color:#06653c;text-decoration:underline;font-weight:800}
@keyframes slide{to{transform:translateX(-50%)}}
@media(max-width:1040px){.headerInner{gap:17px}.headerLogo img{width:135px}.headerNav{gap:13px}.headerNav a,.headerNav button{font-size:11px}.headerAction{font-size:11px;padding:11px 12px}.heroSky{background-size:auto 100%;background-position:center center}.campaignLogo{width:min(830px,95vw)}.cabin{width:95%}.introLine{width:40px}.footerTag{display:none}}
@media(max-width:730px){.headerInner{flex-wrap:wrap;padding:12px 16px;gap:7px}.headerLogo img{width:127px}.headerAction{margin-left:auto}.headerNav{order:3;width:100%;justify-content:space-around;gap:8px;border-top:1px solid #ffffff33;padding-top:6px}.headerNav a,.headerNav button{font-size:10px}.hero{padding-inline:0}.heroSky{background-size:auto 100%;background-position:center center}.topCampaign{width:520px;max-width:100%;margin:0 auto}.campaignLogo{margin:0 auto -16px;width:96%}.heroIntro{margin:15px auto 30px;font-size:9px;letter-spacing:.12em}.flake1{top:200px;left:3%;font-size:35px}.flake2{right:3%;top:300px;font-size:33px}.flake3{display:none}.cabin{width:100%}.greenRibbon{margin-top:-3px}.mechanics{margin-top:0}.badge{width:clamp(80px,19vw,130px)}.amount p{font-size:11px}.stepsIntro{padding:28px 42px}.ornament{width:65px}.ornamentLeft{left:-5px}.ornamentRight{right:-5px}.consult{grid-template-columns:1fr;gap:17px;padding:21px}.formError{grid-column:1}.footerMain{flex-wrap:wrap;justify-content:center;text-align:center}.footerNav{width:100%;justify-content:center}}
@media(max-width:480px){html{scroll-padding-top:15px}.headerInner{padding:10px 12px}.headerLogo img{width:105px}.headerAction{font-size:10px;padding:10px 12px}.headerNav a,.headerNav button{font-size:9px;padding:8px 0}.hero{background:linear-gradient(#50bcd2,#93d9e6 65%,#fff9f0)}.heroSky{background-image:url('/assets/navidad/016.png');background-size:100% 100%;background-position:center top;opacity:1}.topCampaign{max-width:100%;width:410px}.campaignLogo{width:100%;margin:-7px auto -4px}.heroIntro{margin:10px auto 20px;gap:5px;font-size:8px;letter-spacing:0}.introLine{width:22px}.cabin{width:100%}.prizeTag{width:89%;top:15%}.mechanics{padding:5px 12px 40px}.greenRibbon{width:100%;margin:-7px auto 0}.ribbonText h2{font-size:clamp(16px,4.3vw,22px)}.ribbonText p{font-size:clamp(10px,2.9vw,14px);margin:3px 0}.amounts{gap:5px;width:100%}.badge{width:clamp(85px,26vw,118px)}.amount p{font-size:9px;line-height:1.4;margin:6px 0}.stepsIntro{padding:22px 15px 27px}.stepsEyebrow{font-size:9px}.stepsIntro h2{font-size:23px}.stepsIntro>p:not(.stepsEyebrow){font-size:13px}.ornament{display:none}.consult{padding:18px 13px;border-radius:15px;margin-top:4px}.consultInfo{gap:7px}.tinyStar{font-size:26px}.consultInfo h2{font-size:24px}.consultInfo div>span{font-size:10px}#saldoForm{display:flex;flex-direction:column;gap:3px}#saldoForm input{min-height:42px}#saldoForm button{width:100%;min-height:42px}.websiteReference{font-size:12px}.brands{padding:41px 0}.brandsTitle{gap:9px}.brandsTitle h2{font-size:21px}.brands>p{font-size:11px;margin-bottom:28px}.marqueeTrack{--g:24px}.marqueeTrack img{height:28px}.legalNotice{padding:25px 17px}.legalNotice p{font-size:10px;text-align:left}.footerMain{padding:26px 14px}.footerNav{gap:9px 23px}.footerNav button{font-size:10px}.footerBottom{padding:15px;gap:10px;font-size:10px}.modalContent,.legalModalContent{padding:48px 15px 24px}.modalPrizeGrid{gap:4px}.modalPrizeGrid figure{padding:6px 4px}.modalPrizeGrid img{height:90px}.modalPrizeGrid figcaption{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marqueeTrack{animation:none}.productImg{transition:none}}

/* ═══════════════════════════════════════════════════════════════════════════
   COMPONENTES DINÁMICOS .NET (consulta en dos pasos, LOPDP, ARCO)
   Integrados con la paleta Happy Xmas Time. Agregado en NETCORE-NOVIEMBRE-2026.
   ═══════════════════════════════════════════════════════════════════════════ */
.hidden{display:none!important}
/* Reemplaza a la imagen 014.png: mantiene el mismo ancho (reglas .topCampaign) y la misma proporción, sin contenido visible. */
.topCampaignSpacer{aspect-ratio:717/214;filter:none}

/* Consulta integrada en el menú: un solo formulario y el mismo flujo LOPDP.
   ponytail: distribución CSS para los enlaces actuales; si crece el menú, revisar el corte de 1180px. */
.headerInner{position:relative;display:grid;grid-template-columns:auto minmax(340px,1fr) auto auto;gap:18px}
.headerLogo img{width:200px;max-height:70px}
.headerNav{position:static;transform:none;gap:18px}
.headerNav a{min-height:44px;display:inline-flex;align-items:center}
.headerActions{display:flex;align-items:center}
.headerTerms{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid rgba(255,255,255,.75);border-radius:100px;background:transparent;color:#fff;padding:11px 18px;white-space:nowrap;font-weight:850;font-size:12px;letter-spacing:.01em;transition:background .2s,color .2s,transform .2s}
.headerTerms:hover,.headerTerms:focus-visible{background:#fff;color:#8b0a18;transform:translateY(-2px)}
.headerTermsShort{display:none}
.headerConsult{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px;min-width:0;padding:7px 9px;border:1px solid #ffffff55;border-radius:14px;scroll-margin-top:16px}
.headerConsultTitle{font-size:10px;font-weight:850;text-transform:uppercase;white-space:nowrap}
.headerConsult #saldoForm{padding:3px;border-radius:9px;flex-direction:row;gap:0}
.headerConsult #saldoForm input{padding:10px 8px;min-height:44px;font-size:12px}
.headerConsult #saldoForm input::placeholder{color:#715c5c;opacity:1}
.headerConsult #saldoForm button{min-width:96px;min-height:44px;width:auto;padding:10px;border-radius:7px;font-size:11px}
.headerConsult .formError{grid-column:1/-1;margin:0;font-size:11px;line-height:1.5}
.stepsIntro a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1259px){.headerTermsFull{display:none}.headerTermsShort{display:inline}}
@media(max-width:1180px){
  .headerInner{grid-template-columns:auto minmax(340px,1fr) auto;gap:6px 18px}
  .headerLogo{grid-column:1;grid-row:1}
  .headerConsult{grid-column:2;grid-row:1}
  .headerActions{grid-column:3;grid-row:1}
  .headerNav{grid-column:1/-1;grid-row:2;justify-content:center;gap:28px}
}
@media(max-width:1040px){.headerLogo img{width:135px}.headerTerms{font-size:11px;padding:10px 13px}}
@media(max-width:730px){
  .headerInner{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}
  .headerLogo img{width:127px}
  .headerActions{grid-column:2;margin:0}
  .headerConsult{grid-column:1/-1;grid-row:2}
  .headerNav{grid-row:3;order:initial;padding-top:4px;gap:12px;justify-content:space-around}
  .headerConsultTitle{font-size:11px}
}
@media(max-width:480px){
  .headerLogo img{width:105px}
  .headerTerms{font-size:10px;padding:9px 11px}
  .headerConsult{grid-template-columns:minmax(0,1fr);padding:9px;gap:7px}
  .headerConsultTitle{font-size:11px}
  .headerConsult #saldoForm input{font-size:16px}
}
.spinner{display:inline-block;width:1.15rem;height:1.15rem;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:consulta-spin .7s linear infinite;vertical-align:middle}
@keyframes consulta-spin{to{transform:rotate(360deg)}}
#saldoForm button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:150px}
#saldoForm button:disabled{opacity:.8;cursor:wait}

/* Modales: base compartida */
.consentModal{position:fixed;width:min(600px,calc(100vw - 28px));max-height:calc(100dvh - 32px);border-radius:24px;background:#fffaf4;color:#332c27;overflow:auto}
.resultModal[open],.consentModal[open],.legalModal[open]{animation:xmasModalIn .32s cubic-bezier(.18,.89,.32,1.2) both}
@keyframes xmasModalIn{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:none}}

/* Paso 2: consentimiento */
.consentModalContent{padding:46px 31px 34px;display:flex;flex-direction:column;gap:15px;text-align:center}
.consentModalTitle{font-family:Raleway,Montserrat,sans-serif;color:#9c0918;margin:0;font-size:clamp(23px,4.5vw,30px)}
.consentTitular{background:#fff;border:1px solid #f0dcc7;border-radius:14px;padding:12px 16px}
.consentTitularLabel{margin:0;font-size:12px;color:#8a7d73}
.consentTitularNombre{margin:4px 0 0;font-size:18px;font-weight:850;color:#075c30}
.consentModalDesc{margin:0;font-size:13px;line-height:1.5;color:#726962}
.consentChecks{display:flex;flex-direction:column;gap:10px;text-align:left}
.consentCheck{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #efdcc9;border-radius:12px;padding:11px 14px;font-size:13px;line-height:1.35;cursor:pointer;transition:background .2s,border-color .2s}
.consentCheck:hover{background:#fff4e6;border-color:#e9c387}
.consentCheck input[type='checkbox']{width:18px;height:18px;min-width:18px;accent-color:#075c30;cursor:pointer}
.legalInlineLink{background:none;border:0;padding:0;color:#a80616;font-weight:800;text-decoration:underline;text-underline-offset:2px;font-size:inherit;cursor:pointer}
.continuarBtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;border:0;border-radius:100px;background:var(--green);color:#fff;font-size:15px;font-weight:850;transition:background .2s,transform .15s}
.continuarBtn:hover:not(:disabled){background:#064122;transform:translateY(-1px)}
.continuarBtn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
.consentCheck.shake{animation:shake-it .4s ease-in-out}
@keyframes shake-it{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* Resultado de saldo */
.modalSaludo{margin:0 0 6px;font-size:15px;color:#5a4d45}
.modalSaludo strong{color:#075c30}
.modalPremioTexto{margin:0 auto 4px;max-width:470px;font-size:14px;line-height:1.6;color:#726962}
.montoTotal{display:block;margin:6px 0 2px;font-family:Raleway,Montserrat,sans-serif;font-size:clamp(34px,7vw,46px);font-weight:900;line-height:1;color:#a80616}
.modalNivel{margin:14px auto;max-width:500px;padding:11px 15px;border-radius:14px;background:#fff0cf;color:#71542d;font-size:13px;font-weight:750;line-height:1.5}
.modalSubtitulo{margin:4px 0 10px;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#075c30}
.premioUnico{margin:0 auto;max-width:260px;padding:14px 14px 12px;border:1px solid #f0e1d0;border-radius:18px;background:linear-gradient(180deg,#fff,#fff6ea);box-shadow:0 10px 26px #7a201a14}
.premioUnico img{display:block;width:100%;height:170px;object-fit:contain;animation:floatPrize 4s ease-in-out infinite}
.premioUnico figcaption{margin-top:8px;font-size:13px;font-weight:750;line-height:1.4;color:#4a3b33}
.premioUnico strong{display:block;color:#b0081b;font-size:14px}
@keyframes floatPrize{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.noResultadoIcon{font-size:44px;margin:6px 0 10px}
.modalMensaje{font-size:15px;font-weight:800;color:#9c0918;margin:0 0 8px}
.modalAyuda{font-size:13px;line-height:1.6;color:#726962;margin:0 auto;max-width:470px}

/* Documentos legales publicados desde /secure */
.legalModalContent{position:relative}
.legalModalContent>p{color:#60554f;font-size:13px;line-height:1.75}
.legalDocumentBody{margin-top:8px}
.legalPendiente,.legalLoading{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 10px;text-align:center;color:#8a7d73}
.legalPendiente p,.legalLoading p{margin:0;font-weight:700;color:#726962}
.legalPendiente small{font-size:12px}
.legalLoading .spinner{border-color:#e9d6c4;border-top-color:#a80616}
.legalVersionInfo{display:inline-block;margin-bottom:12px;padding:4px 11px;border-radius:100px;background:#fff0cf;color:#71542d;font-size:11px;font-weight:800}
.legalDocHtml{max-height:58vh;overflow-y:auto;padding-right:6px;color:#60554f;font-size:13px;line-height:1.75}
.legalDocHtml h2,.legalDocHtml h3,.legalDocHtml h4{font-family:Raleway,Montserrat,sans-serif;color:#9c0918;margin:16px 0 6px}
.legalDocHtml p{margin:0 0 10px}
.legalDocHtml li{margin-bottom:4px}

/* Formulario ARCO */
.legalModalWide{width:min(620px,calc(100vw - 28px))}
.arcoField{margin-bottom:13px;text-align:left}
.arcoField label{display:block;margin-bottom:4px;font-size:12px;font-weight:800;color:#7f121d}
.arcoField input,.arcoField select,.arcoField textarea{width:100%;padding:10px 12px;border:1.5px solid #ead8c6;border-radius:10px;background:#fff;font:inherit;font-size:13px;color:#332c27;transition:border-color .2s}
.arcoField input:focus,.arcoField select:focus,.arcoField textarea:focus{border-color:#075c30;outline:none}
.arcoSubmitBtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 20px;border:0;border-radius:100px;background:linear-gradient(112deg,#840917,#b10c1d 70%,#9c0a19);color:#fff;font-size:14px;font-weight:850;transition:transform .15s,box-shadow .2s}
.arcoSubmitBtn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #84091740}
.arcoSubmitBtn:disabled{opacity:.6;cursor:not-allowed}
.arcoResultado{margin-top:12px;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:700;text-align:center}
.arcoResultadoExito{background:#e3f4ea;color:#0b5a32}
.arcoResultadoError{background:#fde8ea;color:#9c0918}
.arcoNota{margin-top:14px;font-size:12px!important;color:#8a7d73!important}

@media(max-width:480px){
  .consentModalContent{padding:46px 18px 24px}
  .consentCheck{font-size:12px;padding:10px 12px}
  .premioUnico img{height:140px}
  #saldoForm button{min-width:0}
}
@media(prefers-reduced-motion:reduce){.premioUnico img{animation:none}.resultModal[open],.consentModal[open],.legalModal[open]{animation:none}}


/* Premios centrados en cada nicho de 015.png (centros 213/461/711 de 920 px), con ancho
   proporcional a la cabaña y válido en todos los breakpoints. `translate` compensa el margen
   transparente de 002/003/004.png y es independiente de `transform`, así se conserva el hover. */
.productBlanket{translate:2.3% 0}
.productScale{translate:2.4% 0}
.productCoffee{translate:-6.1% 0}

/* Control de música: independiente de los efectos y del video silencioso. */
.footerBottom{flex-wrap:wrap;gap:12px}
.musicToggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #ffffff88;border-radius:100px;background:transparent;color:#fff;font-size:12px;font-weight:750}
.musicToggle[hidden]{display:none}
.musicToggle:hover,.musicToggle:focus-visible{background:#fff;color:var(--deep-red)}
.footerMusic{margin-left:auto}
