/* GANAFACILRD · recorrido de compra en cuatro pasos */
:root{--checkout-gold:#e3b43c;--checkout-light:#f9df8c;--checkout-bronze:#916526}
.purchase-entry{padding-top:35px}.purchase-invite{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center;padding:44px;border:1px solid #ad842b55;border-radius:20px;background:radial-gradient(ellipse at right top,#c7952821,transparent 65%),linear-gradient(130deg,#121219,#09090d);overflow:hidden}.purchase-invite::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0 80px,#edc85803 81px 82px)}.purchase-invite h2{font-size:clamp(26px,3.2vw,42px);line-height:1.2;margin:12px 0 17px;letter-spacing:-.025em}.purchase-invite h2 span{color:var(--gold)}.purchase-invite-copy>p:last-of-type{font-size:14px;color:var(--muted);line-height:1.8;max-width:490px}.purchase-invite-action{display:flex;flex-direction:column;align-items:center;border-left:1px solid #d3ac3930;padding-left:35px;gap:10px;text-align:center}.purchase-invite-action>small{font:10px var(--mono);letter-spacing:.15em;color:var(--muted)}.purchase-invite-action>b{font:42px var(--display);color:var(--gold-light)}.purchase-invite-action>span{font-size:12px;color:var(--muted)}.purchase-invite-action .btn{margin-top:15px;width:100%;gap:20px}.journey-mini{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:25px;font:10px var(--mono);color:#bfa767}.journey-mini i{font-style:normal;color:#5c4b28}.shimmer-button{position:relative;overflow:hidden}.shimmer-button::after{content:"";position:absolute;top:0;left:-70%;height:100%;width:45%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,#ffffff6b,transparent);animation:goldSweep 5s ease-in-out infinite;pointer-events:none}.shimmer-button:disabled::after{display:none}@keyframes goldSweep{0%,60%{left:-70%}85%,100%{left:145%}}
.sales-progress{margin-top:24px}.sales-progress-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font:10px var(--mono);letter-spacing:.08em;color:#b9ad8c}.sales-progress-label strong{font:16px var(--mono);color:var(--gold-light);text-shadow:0 0 18px #f5d56955}.sales-track{height:11px;position:relative;border-radius:999px;background:#202026;border:1px solid #383128;margin:12px 0;overflow:hidden}.sales-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#926025,#d5a02e 40%,#f7df8a);box-shadow:0 0 17px #e3b43c88;transition:width 1.2s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}.sales-track i::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(110deg,transparent 0 10px,#fff3 11px 17px);background-size:35px 100%;animation:progressShimmer 1.8s linear infinite}@keyframes progressShimmer{to{background-position:35px 0}}.sales-progress-meta{display:flex;justify-content:space-between;gap:8px;font:10px var(--mono);color:#e4dfd1}.sales-progress>small{display:block;margin-top:9px;font-size:10px;color:var(--muted);line-height:1.6}.checkout-open{overflow:hidden}.purchase-dialog{border:1px solid #755722;margin:auto;padding:0;width:min(940px,calc(100% - 32px));max-width:940px;max-height:calc(100dvh - 38px);background:#0d0d13;color:#eee9dd;border-radius:20px;overflow:hidden;box-shadow:0 25px 120px #000d,0 0 60px #aa7b1818}.purchase-dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}.purchase-dialog[open]{animation:dialogArrival .25s ease-out}@keyframes dialogArrival{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.checkout-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 40px);background:radial-gradient(ellipse at 100% 0,#b6811610,transparent 50%)}.checkout-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 30px 20px;border-bottom:1px solid #29272a;flex-shrink:0}.checkout-header .eyebrow{font-size:9px;letter-spacing:.1em;color:#b69752;max-width:700px}.checkout-header h2{font:24px var(--display);letter-spacing:-.025em;margin-top:7px;line-height:1.3}.checkout-close{border:1px solid #3e3930;border-radius:50%;background:#19171b;color:#c6b997;cursor:pointer;width:36px;height:36px;font-size:25px;flex-shrink:0;display:grid;place-items:center;line-height:1}.checkout-close:hover{border-color:#c1993b;color:#f8db88}.checkout-close:disabled{opacity:.4}.checkout-steps{padding:19px 30px 0;flex-shrink:0}.checkout-steps ol{display:flex;list-style:none;padding:0;margin:0 0 15px;justify-content:space-between;gap:8px}.checkout-steps li{flex:1}.checkout-steps button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;background:transparent;color:#67636b;cursor:pointer;padding:0}.checkout-steps button:disabled{cursor:default}.checkout-steps button span{display:grid;place-items:center;border:1px solid #393439;border-radius:50%;font:10px var(--mono);width:27px;height:27px;flex-shrink:0;transition:all .25s}.checkout-steps button b{font-size:11px;font-weight:600}.checkout-steps .current button{color:#f3d987}.checkout-steps .current button span{background:#d3a5351b;border-color:#b68b30;box-shadow:0 0 16px #d4a53524}.checkout-steps .complete button{color:#bc9a4f}.checkout-steps .complete button span{background:#b8953b;color:#111;border-color:#b8953b}.checkout-progress{height:3px;background:#26232a;border-radius:4px;overflow:hidden}.checkout-progress i{display:block;height:100%;width:25%;background:linear-gradient(90deg,#916523,#edc356,#fcecb8);transition:width .5s ease;box-shadow:0 0 12px #dfb243}.checkout-shell form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.checkout-scroll{padding:24px 30px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#53452c #151319;min-height:180px}.checkout-scroll::-webkit-scrollbar{width:6px}.checkout-scroll::-webkit-scrollbar-thumb{background:#55462d;border-radius:9px}.stage-intro{text-align:center;margin-bottom:25px}.step-chip{display:inline-block;font:8px var(--mono);letter-spacing:.18em;color:#a28b54;border:1px solid #3a3325;border-radius:20px;padding:5px 10px;margin-bottom:11px}.stage-intro>p{font-size:19px;font-weight:600;color:#eae5da;margin:0 0 6px;line-height:1.4}.stage-intro>small{font-size:12px;color:#938c83;line-height:1.6;display:block;max-width:540px;margin:auto}.ticket-pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ticket-pack{--accent:#d9a544;--accent-muted:#5f461e;--halo:#b17d1822;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;min-width:0;padding:28px 10px 16px;border:1px solid var(--accent-muted);border-radius:13px;background:radial-gradient(ellipse at 50% 45%,var(--halo),transparent 70%),linear-gradient(160deg,#1c191b,#0e0f14);color:var(--accent);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden;min-height:225px;font-family:var(--body)}.ticket-pack::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff08,transparent 40%);pointer-events:none}.ticket-pack:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 25px #0005,0 0 22px var(--halo)}.ticket-pack[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 26px var(--halo);background:radial-gradient(ellipse at center,var(--halo),#151116 90%)}.ticket-pack.tone-1{--accent:#d3ad77;--accent-muted:#70563a;--halo:#a4764228}.ticket-pack.tone-2{--accent:#f0ce65;--accent-muted:#8e7029;--halo:#dab9362c}.ticket-pack.tone-3{--accent:#eddfb7;--accent-muted:#877655;--halo:#d1b37320}.pack-symbol{font-size:27px;margin:4px 0 11px;filter:drop-shadow(0 0 10px var(--accent));line-height:1.1}.pack-label{font:9px var(--mono);letter-spacing:.12em;font-weight:700;margin-bottom:8px;overflow-wrap:anywhere}.ticket-pack>strong{font:43px var(--display);line-height:1.05;letter-spacing:-.045em;text-shadow:0 0 24px var(--halo)}.ticket-pack>small{font:7px var(--mono);letter-spacing:.24em;margin-top:7px}.pack-price-label{border-top:1px solid var(--accent-muted);padding:12px 6px 0;margin-top:16px;color:#eee7d9;font-size:15px;font-weight:700;width:90%}.pack-bonus-label{font-size:9px;color:#a99b7b;margin-top:5px}.pack-ribbon{position:absolute;top:7px;left:50%;transform:translateX(-50%);font:7px var(--mono);font-weight:700;letter-spacing:.08em;border-radius:4px;padding:3px 7px;max-width:95%;white-space:nowrap;background:var(--accent);color:#1e1709}.pack-check{position:absolute;right:8px;bottom:8px;font-size:11px;opacity:0}.ticket-pack[aria-pressed=true] .pack-check{opacity:1}.custom-package{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px dashed #655130;border-radius:10px;background:#d4aa3910;padding:16px 20px;margin-top:20px}.custom-package b{display:block;font-size:13px;color:#ead8af}.custom-package small{display:block;font-size:10px;color:#8f836e;margin-top:5px}.checkout-stepper{display:flex;align-items:center;border:1px solid #70552a;border-radius:7px;overflow:hidden;flex-shrink:0}.checkout-stepper button{border:0;background:#282016;color:#e2bb63;width:35px;height:38px;cursor:pointer;font-size:19px}.checkout-stepper input{width:60px;text-align:center;background:#101015;border:0;color:#f6dc94;font:15px var(--mono);padding:8px 0;appearance:textfield;outline-offset:-3px}.checkout-stepper input::-webkit-inner-spin-button{appearance:none}.stage-footnote{font-size:10px;color:#8c8374;text-align:center;margin-top:17px!important;line-height:1.7}.checkout-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0;padding:18px 30px;border-top:1px solid #3a2f20;background:linear-gradient(115deg,#1c1813,#131216);box-shadow:0 -8px 30px #0003}.checkout-total{display:flex;flex-direction:column;gap:5px}.checkout-total small{font:8px var(--mono);letter-spacing:.12em;color:#9f9272}.checkout-total strong{font:25px var(--display);letter-spacing:-.03em;color:#f4d47e;line-height:1.1}.checkout-total>span{font-size:10px;color:#9c917e}.checkout-actions{display:flex;gap:9px;align-items:center}.checkout-actions .btn{font-size:11px;padding:14px 19px;min-height:44px}.checkout-actions .btn:disabled{opacity:.45;cursor:not-allowed}.checkout-message{padding:13px 16px;background:#41201e;border:1px solid #8d4e3e;color:#f6bfa6;border-radius:8px;font-size:12px;line-height:1.6;margin-bottom:18px}.selected-package{display:flex;align-items:center;gap:13px;border:1px solid #534224;background:linear-gradient(110deg,#31271270,#19171a);padding:17px;border-radius:10px;margin-bottom:24px}.selected-icon{font-size:25px;color:#d6ae55}.selected-package>div{flex:1}.selected-package b{font:11px var(--mono);letter-spacing:.04em;color:#e2c789}.selected-package small{display:block;margin-top:5px;font-size:11px;color:#a5987e}.selected-package>strong{font-size:17px;color:#e2bb60;white-space:nowrap}.selected-package button{background:transparent;border:0;color:#9d8a5b;font-size:10px;text-decoration:underline;cursor:pointer}.checkout-fields{display:grid;gap:10px;max-width:610px;margin:auto}.checkout-fields label{font-size:12px;font-weight:600;color:#cbc3b2;margin-top:13px}.checkout-fields label span{color:#d4ac49}.checkout-fields label small{font-size:10px;font-weight:400;color:#857d6f}.checkout-fields input{width:100%;padding:14px;border:1px solid #38323a;border-radius:8px;background:#17151e;color:#f4eddc;min-height:49px;font-family:var(--body);font-size:15px}.checkout-fields input:focus{outline:2px solid #bd963830;border-color:#b28a32;box-shadow:0 0 18px #c49a2710}.checkout-fields small{font-size:11px;color:#938a79;line-height:1.7}.checkout-note{display:flex;align-items:center;gap:12px;border:1px solid #55472a;border-radius:8px;padding:14px 17px;background:#8c681316;color:#c9b98e;margin-top:24px;font-size:12px;line-height:1.6}.checkout-note>span{font-size:19px;color:#c5a34e}.checkout-note p{margin:0}.bank-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.bank-choice{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;border:1px solid #40382d;background:#19161c;border-radius:10px;padding:20px 9px;min-height:130px;color:#eee5d1;cursor:pointer}.bank-monogram{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,#c79932,#fae5a0);color:#261b08;font:14px var(--display);box-shadow:0 0 20px #a1761222}.bank-choice b{font-size:12px}.bank-choice small{font-size:10px;color:#92856b}.bank-choice i{position:absolute;right:9px;top:7px;font-style:normal;color:var(--gold);opacity:0}.bank-choice[aria-pressed=true]{border-color:#d7a63a;box-shadow:inset 0 0 0 1px #d7a63a,0 0 25px #99711822}.bank-choice[aria-pressed=true] i{opacity:1}.bank-placeholder{padding:28px;text-align:center;color:#8c806d;font-size:12px}.transfer-card{border:1px solid #645030;border-radius:11px;background:linear-gradient(145deg,#252019,#131116);padding:23px;margin-top:20px;animation:stageArrival .25s ease-out}.transfer-amount{padding-bottom:19px;border-bottom:1px dashed #6a542e;display:flex;justify-content:space-between;align-items:center;gap:12px}.transfer-amount small{font:9px var(--mono);letter-spacing:.09em;color:#b89d64}.transfer-amount strong{font:26px var(--display);color:#f0cb67}.account-detail{margin-top:19px}.account-detail small{display:block;font:8px var(--mono);letter-spacing:.11em;color:#9f8f6d;margin-bottom:7px}.account-detail b{font-size:17px;color:#f1e9d3;overflow-wrap:anywhere}.account-detail>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.account-detail button{border:1px solid #85692a;background:#c9a4411a;color:#e3c478;font-size:10px;padding:8px 15px;border-radius:5px;cursor:pointer}.transfer-card>p{font-size:11px;color:#a59779;line-height:1.7;margin-top:20px}.bank-instructions{font-size:12px;color:#aaa08c;line-height:1.8;margin-top:16px}.checkout-unavailable{text-align:center;border:1px solid #5a4b2c;border-radius:12px;padding:30px;background:#d2a8330c}.checkout-unavailable>span{font-size:32px;color:#c39c49}.checkout-unavailable h3{font:18px var(--display);color:#e1c886;margin:15px 0}.checkout-unavailable p{font-size:13px;color:#a79b84;line-height:1.8;max-width:480px;margin:0 auto}.checkout-unavailable a{display:inline-block;color:#d9bc76;font-size:12px;margin-top:20px}.receipt-drop{position:relative;border:1px dashed #8d7135;border-radius:12px;background:radial-gradient(ellipse at center,#a37b1812,transparent);padding:30px 20px;text-align:center;min-height:190px;cursor:pointer;transition:background .2s,border-color .2s}.receipt-drop:hover{border-color:#eac768;background-color:#b8912010}.receipt-drop:focus-within{outline:2px solid #e3b43c;outline-offset:4px}.receipt-drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-icon{display:grid;place-items:center;margin:0 auto 16px;width:54px;height:54px;border-radius:50%;border:1px solid #71572c;background:#d4a43712;color:#edc865;font-size:32px}.receipt-drop b{display:block;font-size:17px;color:#dfc487;overflow-wrap:anywhere}.receipt-drop p{font-size:12px;color:#a2957a;margin-top:7px}.receipt-drop small{display:block;font:9px var(--mono);color:#786f5b;margin-top:12px}.receipt-drop img{max-width:100%;max-height:210px;object-fit:contain;border-radius:7px;margin-bottom:12px}.receipt-drop.has-file{border-style:solid;border-color:#9c813a}.checkout-fields.compact{margin-top:20px}.checkout-terms{display:flex;align-items:flex-start;gap:11px;margin-top:24px;font-size:11px;color:#b0a792;line-height:1.8;cursor:pointer}.checkout-terms input{margin:4px 0 0;width:18px;height:18px;flex-shrink:0;accent-color:#dab34a}.checkout-terms button{display:inline;border:0;background:transparent;color:#e3be62;text-decoration:underline;font:inherit;padding:0;cursor:pointer}.checkout-legal{white-space:pre-wrap;max-height:230px;overflow:auto;border:1px solid #403627;padding:17px;border-radius:7px;margin-top:14px;font-size:12px;line-height:1.8;color:#b6ad99}.checkout-success{text-align:center;max-width:550px;margin:10px auto 0}.success-orbit{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;border:1px solid #b48b30;box-shadow:0 0 35px #c095241f,inset 0 0 25px #c095241f;margin:0 auto 24px;animation:successGlow 2.5s ease-in-out infinite}.success-orbit span{color:#f0cf70;font-size:35px}.checkout-success h3{font:25px var(--display);color:#f2dfa6;margin:14px 0}.checkout-success>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#aaa089}.checkout-success b{color:#dcc898}.purchase-reference{padding:20px;border:1px dashed #947238;background:#e1af280b;border-radius:10px;margin:24px 0 14px}.purchase-reference small{display:block;font:8px var(--mono);letter-spacing:.12em;color:#998258}.purchase-reference strong{display:block;font:clamp(15px,3vw,23px) var(--mono);color:#e7c35f;margin:12px 0}.purchase-reference button{font-size:10px;color:#ad945d;background:transparent;border:0;text-decoration:underline;cursor:pointer}.success-summary{display:flex;justify-content:center;gap:18px;color:#bba878;font-size:13px}.checkout-success .btn{margin:22px auto 0}.finished-step{display:block;text-align:center;color:#d4b35b;font-size:11px}.lookup-status{display:inline-block;padding:6px 11px;border-radius:20px;font-size:11px;background:#57421a;color:#f3d17b;margin-bottom:17px}.lookup-status.approved{background:#16472d;color:#9be0b1}.lookup-status.rejected{background:#4e2926;color:#ecaca5}#lookupForm .btn{margin-top:18px}#vResult h3{font-size:19px;margin:8px 0 13px}#vResult>p{font-size:13px;line-height:1.8;margin-top:12px}#checkoutStage{animation:stageArrival .2s ease-out}@keyframes stageArrival{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes successGlow{50%{box-shadow:0 0 45px #c095243f,inset 0 0 30px #c095242f}}
@media(min-width:1000px){.ticket-pack-grid .ticket-pack:last-child:nth-child(4n+3){grid-column:auto}.checkout-scroll{max-height:calc(100dvh - 310px)}}
@media(max-width:700px){.purchase-invite{grid-template-columns:1fr;padding:28px;gap:30px}.purchase-invite-action{border:0;border-top:1px solid #d3ac3925;padding:26px 0 0}.purchase-invite-action .btn{max-width:400px}.purchase-dialog{width:calc(100% - 20px);border-radius:15px;max-height:calc(100dvh - 20px)}.checkout-shell{max-height:calc(100dvh - 22px)}.checkout-header{padding:20px}.checkout-header h2{font-size:20px}.checkout-steps{padding:16px 20px 0}.checkout-steps button{flex-direction:column;gap:6px}.checkout-steps button b{font-size:9px}.checkout-steps ol{margin-bottom:12px}.checkout-scroll{padding:22px 20px}.ticket-pack-grid{grid-template-columns:repeat(3,1fr);gap:10px}.ticket-pack{min-height:210px}.ticket-pack>strong{font-size:38px}.checkout-footer{padding:16px 20px}.checkout-total strong{font-size:23px}.checkout-actions .btn{padding:13px;font-size:10px}.checkout-steps button span{width:24px;height:24px;font-size:9px}.checkout-header .eyebrow{font-size:8px;max-width:calc(100vw - 115px)}.stage-intro>p{font-size:17px}.stage-intro>small{font-size:11px}}
@media(max-width:450px){.purchase-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;border:0;border-radius:0;margin:0}.checkout-shell{max-height:100dvh;height:100dvh}.checkout-shell form{flex:1}.checkout-scroll{flex:1}.checkout-header{padding:20px 18px 17px;padding-top:max(20px,env(safe-area-inset-top))}.checkout-header h2{font-size:19px}.checkout-header .eyebrow{font-size:7px;line-height:1.6}.checkout-close{width:32px;height:32px;font-size:23px}.checkout-steps{padding-left:17px;padding-right:17px}.checkout-scroll{padding:20px 17px}.ticket-pack-grid{grid-template-columns:repeat(2,1fr);gap:12px}.ticket-pack{min-height:230px;padding-top:31px}.ticket-pack>strong{font-size:45px}.pack-symbol{font-size:29px}.pack-label{font-size:10px}.pack-price-label{font-size:16px}.pack-ribbon{font-size:8px}.ticket-pack-grid .ticket-pack:last-child:nth-child(odd){grid-column:1/-1;min-height:160px;display:grid;grid-template-columns:1fr 1fr;padding:25px 20px 20px;gap:0 10px}.ticket-pack-grid .ticket-pack:last-child:nth-child(odd) .pack-symbol{grid-column:1;grid-row:1/3;align-self:center;font-size:40px;margin:0}.ticket-pack-grid .ticket-pack:last-child:nth-child(odd) .pack-label{grid-column:1;grid-row:3}.ticket-pack-grid .ticket-pack:last-child:nth-child(odd)>strong{grid-column:2;grid-row:1/3;font-size:46px}.ticket-pack-grid .ticket-pack:last-child:nth-child(odd)>small{grid-column:2;grid-row:3}.ticket-pack-grid .ticket-pack:last-child:nth-child(odd) .pack-price-label{grid-column:1;grid-row:4;border:0;padding:0;margin-top:15px}.ticket-pack-grid .ticket-pack:last-child:nth-child(odd) .pack-bonus-label{grid-column:2;grid-row:4;margin-top:15px}.custom-package{padding:14px;gap:10px;flex-wrap:wrap}.custom-package small{font-size:9px}.checkout-stepper input{width:49px}.checkout-stepper button{width:30px}.checkout-footer{padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));gap:10px}.checkout-total strong{font-size:22px}.checkout-total small{font-size:7px}.checkout-total>span{font-size:8px}.checkout-actions{gap:6px}.checkout-actions .btn{font-size:9px;padding:12px 10px;letter-spacing:.015em;min-height:42px}.checkout-actions .btn-ghost{padding:10px 6px;border-color:transparent}.checkout-fields input{font-size:16px}.bank-grid{grid-template-columns:repeat(2,1fr)}.bank-choice{padding:18px 8px;min-height:120px}.selected-package{gap:9px;padding:13px}.selected-package>strong{font-size:15px}.selected-package small{font-size:10px}.selected-package button{font-size:9px}.transfer-card{padding:18px}.transfer-amount strong{font-size:23px}.transfer-amount small{font-size:8px}.account-detail b{font-size:16px}.stage-intro{margin-bottom:20px}.journey-mini{font-size:9px;gap:8px}.journey-mini i{display:none}.receipt-drop{padding:26px 15px}.finished-step{font-size:8px}.purchase-invite{padding:24px;border-radius:14px}.purchase-invite h2{font-size:25px}.checkout-success h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.shimmer-button::after,.sales-track i::after,.purchase-dialog[open],#checkoutStage,.success-orbit{animation:none}.sales-track i,.checkout-progress i,.ticket-pack{transition:none}}

.purchase-confirmation{max-width:620px;margin:0 auto;border:1px solid #72572d;border-radius:16px;padding:28px;background:radial-gradient(ellipse at top,#c69b2510,transparent 55%),#101015}.purchase-confirmation .success-orbit{width:70px;height:70px;margin-bottom:20px}.purchase-confirmation h3{font-size:clamp(22px,4vw,30px);margin:12px 0}.purchase-confirmation .confirmation-raffle{color:#f0d486;font-size:17px;font-weight:700}.confirmation-amount{margin-top:8px!important}.assigned-tickets{margin:24px 0 18px;padding:20px;border:1px solid #4a3a24;border-radius:14px;background:#0a0a10;text-align:center}.assigned-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.assigned-heading h4{margin:0;color:#f2ede2;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.assigned-heading>span{background:#382b15;color:#efd17e;border-radius:20px;padding:5px 9px;white-space:nowrap;font-size:11px}.assigned-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:340px;overflow-y:auto;padding:2px}.assigned-ticket{padding:12px 5px;border:1px solid #79542d;border-radius:9px;background:linear-gradient(140deg,#38281170,#151216);min-width:0}.assigned-ticket>span{display:block;font-size:16px;color:#dcb654;margin-bottom:6px}.assigned-ticket strong{font:700 clamp(16px,3.5vw,22px) var(--mono);color:#fff;letter-spacing:.035em}.assigned-status{border-top:1px dashed #61502f;margin-top:18px;padding-top:16px;color:#f6d573;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.assigned-status>span{font-size:18px;margin-right:5px}.assigned-tickets.approved .assigned-status{color:#82ddb0}.assigned-tickets.approved .assigned-ticket{border-color:#36634e}.assigned-tickets.rejected .assigned-status{color:#f0a29a}.assigned-tickets>p{color:#b7ad9d;font-size:13px;line-height:1.7;margin-top:12px}.copy-numbers,.verifier-shortcut{width:100%;min-height:46px;padding:13px;border:1px solid #514936;border-radius:9px;background:#25231f;color:#f1e6c9;font:600 13px var(--body);cursor:pointer}.copy-numbers:hover,.verifier-shortcut:hover{border-color:#d4ad55;background:#342a19}.confirmation-guide{margin-top:18px;padding:20px;border:1px solid #574626;border-left:3px solid #d8b35d;border-radius:12px;background:#d4aa3410;text-align:center}.confirmation-guide>strong{color:#f0d389;font-size:14px}.confirmation-guide>p{font-size:12px;line-height:1.8;color:#bcb29f;margin-top:14px}.confirmation-guide .purchase-reference{margin:17px 0;padding:14px}.confirmation-guide .purchase-reference strong{font-size:16px;overflow-wrap:anywhere}.purchase-confirmation .confirmation-done{width:100%;margin-top:20px}.verifier-body .assigned-tickets{padding:16px}.copy-numbers:focus-visible,.verifier-shortcut:focus-visible{outline:2px solid #f6d573;outline-offset:3px}@media(max-width:450px){.purchase-confirmation{padding:20px 12px}.assigned-tickets{padding:14px 10px}.assigned-heading{gap:8px}.assigned-heading h4{font-size:11px}.assigned-heading>span{font-size:10px}.assigned-grid{gap:8px}.assigned-ticket strong{font-size:18px}.confirmation-guide{padding:16px 12px}.assigned-status{font-size:11px}}

.purchase-dialog.is-complete{max-width:720px}.is-complete .checkout-scroll{max-height:calc(100dvh - 150px);padding:18px}.is-complete .checkout-header{padding:18px 24px}.is-complete .purchase-confirmation{padding-top:20px}.is-complete .success-orbit{width:55px;height:55px;margin-bottom:12px}@media(max-width:450px){.is-complete .checkout-scroll{max-height:none;padding:12px}.is-complete .checkout-header{padding:16px 18px;padding-top:max(16px,env(safe-area-inset-top))}}

.lookup-purchase+.lookup-purchase{border-top:1px solid #4a3a24;margin-top:25px;padding-top:18px}.lookup-date,.lookup-purchase>p{color:var(--muted);font-size:13px;line-height:1.7}#lookupMore{margin-top:16px}

/* ---------------------------------------------------------------
   Boletos premiados y compra en una sola pantalla
   --------------------------------------------------------------- */

.buy-description {
  margin: 0 0 22px;
  color: var(--muted, #918B80);
  font-size: 15px;
  line-height: 1.6;
}

/* --- tablero de boletos premiados --- */
.prized-board {
  position: relative;
  border: 1px solid #b8902e;
  border-radius: 20px;
  background: linear-gradient(180deg, #2a2210, #14110a 45%);
  padding: 22px 10px 16px;
  margin-bottom: 26px;
  text-align: center;
}
.prized-head { text-align: center; margin-bottom: 14px; }
.prized-crown { display: block; font-size: 30px; color: #f0c04a; line-height: 1; }
.prized-head h3 {
  margin: 4px 0 8px;
  font: 700 22px/1.3 var(--body, sans-serif);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #f0c04a;
}
.prized-head p { margin: 0; font-size: 15px; color: #cfc8b8; }

.prized-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px 8px;
  overflow: visible;
}
.prized-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  border: 1px solid #6b5420;
  border-radius: 12px;
  background: linear-gradient(160deg, #2c2411, #171309);
  padding: 24px 2px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
}
.prized-state {
  position: absolute;
  top: 6px;
  right: 8px;
  line-height: 1;
  color: #e8d9a8;
}
.prized-state i { display: block; font-style: normal; font-size: 12px; line-height: 1; }
.prized-state-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.prized-number {
  font: 700 17px/1 ui-monospace, Menlo, monospace;
  letter-spacing: 0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: #e8e0cc;
}
.prized-amount {
  display: block;
  width: 100%;
  margin-top: 10px;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: #f0c04a;
  font-variant-numeric: tabular-nums;
}
.prized-currency { display: block; padding-top: 8px; border-top: 1px dashed #6b5420; font-size: 11px; font-weight: 400; color: #a8a29a; }
.prized-value { display: block; font-size: 17px; font-weight: 700; }

/* disponible: el que todavia puede tocarle a alguien */
.bp-halo { animation: tkHalo 3.6s ease-in-out infinite; }
.bp-corona { animation: tkLuz 1.8s ease-in-out infinite; }
.tk-float {
  position: relative;
  overflow: hidden;
  animation: tkFlota 1.8s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * -.27s);
}
.tk-float::after { content: ""; position: absolute; top: -15%; left: -100%; width: 45%; height: 130%; pointer-events: none; transform: skewX(22deg); background: linear-gradient(90deg, transparent, rgba(255,236,170,.35) 45%, rgba(255,253,220,.5) 55%, transparent); animation: tkBrillo 3.6s infinite; animation-delay: calc(var(--i, 0) * .42s); }
.prized-card.is-available .prized-state { top: 8px; }
.prized-card.is-available .prized-state i { position: relative; width: 11px; height: 11px; box-sizing: border-box; border: 2px solid #f2ce70; border-radius: 50%; font-size: 0; }
.prized-card.is-available .prized-state i::after { content: ""; position: absolute; inset: 1px; border-radius: 50%; background: #ffe486; }
.tk-float .tk-ico { animation: tkPunto 1.8s ease-in-out infinite; animation-delay: calc(var(--i, 0) * -.27s); }
.tk-win .tk-ico { animation: tkTitila 1.8s ease-in-out infinite; animation-delay: calc(var(--i, 0) * -.6s); }

/* en revision: apartado mientras se verifica el pago */
.prized-card.is-pending { border-color: #827448; background: linear-gradient(160deg, #272419, #17160f); }
.prized-card.is-pending .prized-number { color: #c8bfa9; }

/* ganador: ya tiene dueno */
.prized-card.is-won { border-color: #6b5420; }
.prized-card.is-won .prized-number {
  color: #a8a29a;
  text-decoration: line-through;
}
.prized-card.is-won .prized-amount { color: #d8d3c8; white-space: nowrap; }
.prized-card.is-won .prized-state i { color: #d8d3c8; }

/* --- bloques del formulario --- */
.buy-block {
  border-top: 1px solid var(--line, #2A2A33);
  padding-top: 22px;
  margin-top: 22px;
}
.buy-block:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
.buy-legend {
  margin: 0 0 14px;
  font-family: var(--display, "Archivo Black", sans-serif);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted, #918B80);
}
.buy-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.buy-hint { display: block; margin-top: 9px; font-size: 12.5px; color: var(--muted, #918B80); }

/* --- paquetes en filas --- */
.pack-rows { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pack-row {
  width: 100%;
  display: grid;
  grid-template-columns: 38px 1fr auto auto;
  align-items: center;
  gap: 14px;
  padding: 13px 15px;
  border: 1px solid var(--line, #2A2A33);
  border-radius: 12px;
  background: var(--ink-3, #16161D);
  color: var(--bone, #EDE9E1);
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: border-color .15s ease, background .15s ease;
}
.pack-row:hover { border-color: var(--gold-deep, #8F6A16); }
.pack-row[aria-pressed="true"] {
  border-color: var(--gold, #E3B43C);
  background: linear-gradient(180deg, rgba(227, 180, 60, .12), var(--ink-3, #16161D) 75%);
}
.pack-row-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: rgba(227, 180, 60, .12);
  color: var(--gold, #E3B43C);
  font-size: 15px;
}
.pack-row-name { font-weight: 700; font-size: 14.5px; letter-spacing: .05em; }
.pack-row-name em {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 99px;
  background: var(--gold, #E3B43C);
  color: #12100A;
  font-style: normal;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  vertical-align: middle;
}
.pack-row-qty { text-align: center; line-height: 1.1; }
.pack-row-qty b { display: block; font-family: var(--mono, monospace); font-size: 19px; font-variant-numeric: tabular-nums; }
.pack-row-qty small { display: block; font-size: 8.5px; letter-spacing: .12em; color: var(--muted, #918B80); }
.pack-row-price {
  text-align: right;
  font-weight: 700;
  font-size: 15px;
  color: var(--gold, #E3B43C);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.pack-row-price small { display: block; font-size: 11px; font-weight: 600; color: #4BBF87; }

/* --- desplegable de cuenta bancaria --- */
#bankSelect {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--line, #2A2A33);
  border-radius: 10px;
  background: var(--ink, #07070A);
  color: var(--bone, #EDE9E1);
  font-family: inherit;
  font-size: 15px;
}
#bankSelect:focus { border-color: var(--gold, #E3B43C); outline: none; }

@media (max-width: 620px) {
  .buy-duo { grid-template-columns: 1fr; }
  .pack-row { grid-template-columns: 32px 1fr auto; row-gap: 8px; }
  .pack-row-price { grid-column: 2 / -1; text-align: left; }
}

.prized-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 14px;margin-top:14px;font-size:13px;color:#e8d9a8}
@media(max-width:700px){
  .prized-head h3{font-size:clamp(16px,4.6vw,22px);letter-spacing:1.5px}
  .prized-head p{font-size:12px;line-height:1.6;padding-inline:4px}
  .prized-legend{gap:5px 10px;margin-top:12px;font-size:10px}
  .prized-number{font-size:clamp(12px,3.6vw,17px)}
  .prized-value{font-size:clamp(10px,3.4vw,17px);white-space:nowrap}
  .prized-amount{font-size:clamp(10px,3vw,13px)}
  .prized-card.is-won .prized-amount{font-size:clamp(8px,2.6vw,13px)}
  .prized-currency{font-size:10px}
}
@media(max-width:360px){.prized-grid{column-gap:5px}}

/* ---------------------------------------------------------------
   Insignias de banco, iconos de contacto y movimiento
   --------------------------------------------------------------- */

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

/* --- logos de bancos e insignias de respaldo --- */
.bank-badge {
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  flex: none;
  border-radius: 10px;
  background: var(--marca, #8F6A16);
  color: #fff;
  font-family: var(--mono, monospace);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 3px 10px rgba(0, 0, 0, .35);
}
.bank-badge.lg { width: 46px; height: 46px; font-size: 14px; border-radius: 12px; }
.bank-badge.bank-logo { width: 132px; height: 64px; padding: 10px; border-radius: 13px; background: linear-gradient(145deg, #fff, #eef2f5); border: 1px solid #e5e9ed; box-shadow: 0 4px 12px #0002, inset 0 1px 0 #fff; }
.bank-logo img { display: block; width: 112px; height: 44px; object-fit: contain; }
.bank-option-name { min-width: 0; overflow-wrap: anywhere; }


.bank-list { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.bank-option {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 15px;
  border: 1px solid var(--line, #2A2A33);
  border-radius: 12px;
  background: var(--ink-3, #16161D);
  color: var(--bone, #EDE9E1);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: border-color .18s ease, background .18s ease, transform .18s var(--ease-out, ease);
}
.bank-option:hover { border-color: var(--gold-deep, #8F6A16); transform: translateX(2px); }
.bank-option[aria-pressed="true"] {
  border-color: var(--gold, #E3B43C);
  background: linear-gradient(90deg, rgba(227, 180, 60, .12), var(--ink-3, #16161D) 60%);
}
.bank-option-name { flex: 1; line-height: 1.25; }
.bank-option-name b { display: block; font-size: 14.5px; }
.bank-option-name small { display: block; font-size: 12px; color: var(--muted, #918B80); }
.bank-selected-label{display:block;margin-top:5px;font-size:11px;font-weight:700;color:var(--gold-hi)}
.bank-selected-label[hidden]{display:none}
.bank-option-check {
  width: 22px; height: 22px;
  flex: none;
  display: grid; place-items: center;
  border-radius: 50%;
  border: 1px solid var(--line, #2A2A33);
  color: transparent;
  font-size: 11px;
  transition: all .18s ease;
}
.bank-option[aria-pressed="true"] .bank-option-check {
  border-color: var(--gold, #E3B43C);
  background: var(--gold, #E3B43C);
  color: #12100A;
}
.bank-option-chevron { flex: none; color: var(--muted); font: 22px/1 var(--body); transition: transform .2s ease; }
.bank-option[aria-expanded="true"] .bank-option-chevron { transform: rotate(180deg); color: var(--gold); }
.bank-item.is-open .bank-option { border-radius: 12px 12px 0 0; border-bottom-color: transparent; transform: none; }
.bank-details { border: 1px solid var(--gold, #E3B43C); border-top: 0; border-radius: 0 0 12px 12px; padding: 0 20px 20px; background: var(--ink-3, #16161D); }
.bank-details[hidden] { display: none; }
.bank-details .transfer-card { margin: 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--line, #2A2A33); border-radius: 0; background: transparent; box-shadow: none; }
.bank-details .account-detail b { overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 620px) {
  .bank-badge.bank-logo { width: 100px; height: 56px; padding: 8px; border-radius: 11px; }
  .bank-logo img { width: 84px; height: 40px; }
  .bank-option { gap: 10px; padding: 12px; }
  .bank-option-name b { font-size: 13px; }
  .bank-option-check { width: 18px; height: 18px; }
  .bank-option-chevron { font-size: 18px; }
  .bank-details { padding: 0 14px 16px; }
}
@media (max-width: 380px) {
  .bank-badge.bank-logo { width: 80px; height: 48px; padding: 6px; }
  .bank-logo img { width: 68px; height: 36px; }
  .bank-option { gap: 7px; padding: 10px; }
}
@media (prefers-reduced-motion: reduce) { .bank-option-chevron { transition: none; } }

.transfer-bank {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-bottom: 14px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--line, #2A2A33);
}
.transfer-bank b { display: block; font-size: 15px; }
.transfer-bank small { display: block; font-size: 12px; color: var(--muted, #918B80); }

/* La identidad y la salida permanecen visibles mientras se recorre la compra. */
#purchaseDialog .checkout-brand{display:flex;align-items:center;gap:14px;min-width:0}
#purchaseDialog .checkout-logo{display:block;flex:0 0 64px;width:64px;height:64px;object-fit:contain}
#purchaseDialog .checkout-logo[hidden]{display:none}
#purchaseDialog .checkout-heading-copy{min-width:0}
#purchaseDialog .checkout-heading-copy h2{overflow-wrap:anywhere}
#purchaseDialog .checkout-actions .btn{min-height:46px;font-size:13px}
@media(max-width:650px){
  #purchaseDialog .checkout-header{gap:10px}
  #purchaseDialog .checkout-brand{gap:10px}
  #purchaseDialog .checkout-logo{flex-basis:48px;width:48px;height:48px}
  #purchaseDialog .checkout-heading-copy h2{font-size:18px;line-height:1.3;margin-top:4px}
  #purchaseDialog .checkout-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  #purchaseDialog .checkout-footer[hidden]{display:none}
  #purchaseDialog .checkout-total{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:4px;align-items:center}
  #purchaseDialog .checkout-total small{grid-column:1;grid-row:1;font-size:8px}
  #purchaseDialog .checkout-total>span{grid-column:1;grid-row:2;font-size:10px}
  #purchaseDialog .checkout-total strong{grid-column:2;grid-row:1 / 3;font-size:24px}
  #purchaseDialog .checkout-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  #purchaseDialog .checkout-actions .btn{width:100%;padding:12px;min-height:46px;font-size:13px}
}

/* --- iconos de contacto --- */
.contact-link { display: inline-flex; align-items: center; gap: 9px; }
.social-glyph {
  width: 23px; height: 23px;
  flex: none;
  fill: currentColor;
  stroke: none;
  transition: transform .2s var(--ease-out, ease);
}
.social-whatsapp{color:#25d366}
.contact-link:hover .social-glyph { transform: scale(1.14) rotate(-4deg); }
.wa svg { transition: transform .2s var(--ease-out, ease); }
.wa:hover svg { transform: scale(1.1); }

/* --- movimiento --- */
@keyframes gfrd-surgir { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes gfrd-latido { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes gfrd-destello { 0% { background-position: -160% 0; } 100% { background-position: 260% 0; } }

/* Los disponibles y programados flotan a su propio ritmo, conservando su estado. */
.prized-grid > .prized-card:nth-child(1) { --i: 0 }
.prized-grid > .prized-card:nth-child(2) { --i: 1 }
.prized-grid > .prized-card:nth-child(3) { --i: 2 }
.prized-grid > .prized-card:nth-child(4) { --i: 3 }
.prized-grid > .prized-card:nth-child(5) { --i: 4 }
.prized-grid > .prized-card:nth-child(6) { --i: 5 }
.prized-grid > .prized-card:nth-child(7) { --i: 6 }
.prized-grid > .prized-card:nth-child(8) { --i: 7 }
.prized-grid > .prized-card:nth-child(9) { --i: 8 }
.prized-grid > .prized-card:nth-child(10) { --i: 9 }

/* el que esta en revision avisa que algo esta pasando */
.prized-card.is-pending .prized-state i { animation: gfrd-latido 1.2s ease-in-out infinite; }

@keyframes tkFlota {
  0%,100%{translate:0 2px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.40))}
  50%{translate:0 -2px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}
}
@keyframes tkBrillo{0%{left:-100%}25%,100%{left:160%}}
@keyframes tkPunto{0%,100%{filter:none}50%{filter:drop-shadow(0 0 5px rgba(245,196,84,.95)) brightness(1.15)}}
@keyframes tkTitila{0%,100%{filter:none}50%{filter:drop-shadow(0 0 6px #f5c454) brightness(1.5)}}
@keyframes tkHalo{0%,100%{box-shadow:0 0 0 rgba(245,196,84,.10)}50%{box-shadow:0 0 28px rgba(245,196,84,.45)}}
@keyframes tkLuz{0%,100%{filter:none}50%{filter:drop-shadow(0 0 12px rgba(245,196,84,.85))}}

/* los bloques del formulario entran uno detras de otro */
.buy-block { animation: gfrd-surgir .4s var(--ease-out, ease) both; }
.buy-block:nth-of-type(1) { animation-delay: .04s }
.buy-block:nth-of-type(2) { animation-delay: .09s }
.buy-block:nth-of-type(3) { animation-delay: .14s }
.buy-block:nth-of-type(4) { animation-delay: .19s }

/* las filas de paquete se levantan y marcan la elegida */
.pack-row { position: relative; overflow: hidden; }
.pack-row:hover { transform: translateY(-2px); }
.pack-row::after {
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, rgba(227, 180, 60, .16), transparent);
  background-size: 220% 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.pack-row[aria-pressed="true"]::after { opacity: 1; animation: gfrd-destello 2.6s linear infinite; }
.pack-row-icon { transition: transform .2s var(--ease-out, ease); }
.pack-row:hover .pack-row-icon { transform: rotate(-8deg) scale(1.08); }

/* la tarjeta de transferencia aparece al elegir el banco */
.transfer-card { animation: gfrd-surgir .34s var(--ease-out, ease) both; }

/* el area de comprobante reacciona */
.receipt-drop { transition: border-color .2s ease, background .2s ease, transform .2s var(--ease-out, ease); }
.receipt-drop:hover { border-color: var(--gold, #E3B43C); transform: translateY(-2px); }
.upload-icon { transition: transform .25s var(--ease-out, ease); }
.receipt-drop:hover .upload-icon { transform: translateY(-3px); }

/* nadie marea a nadie: si el sistema pide menos movimiento, se apaga todo */
@media (prefers-reduced-motion: reduce) {
  .bp-halo,
  .bp-corona,
  .tk-float,
  .tk-float::after,
  .tk-ico,
  .prized-board,
  .prized-card,
  .prized-card::after,
  .prized-crown,
  .buy-block,
  .transfer-card,
  .prized-head h3,
  .prized-card .prized-state i,
  .pack-row[aria-pressed="true"]::after {
    animation: none !important;
  }
  .prized-head h3 {
    background: none;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    color: var(--gold, #E3B43C);
  }
  .bank-option:hover,
  .pack-row:hover,
  .receipt-drop:hover,
  .prized-card.is-available:hover { transform: none; }
  .contact-link:hover .social-glyph,
  .pack-row:hover .pack-row-icon,
  .wa:hover svg { transform: none; }
}

/* Premios con liberación progresiva: conservar cinco columnas en móvil. */
.prized-card.is-locked{border-color:#565047;background:linear-gradient(150deg,#25221c,#141414);box-shadow:none}
.prized-card.is-locked .prized-number{color:#c6bda7}
.prized-card.is-locked .prized-state{color:#a89a80}

/* Aceptación de términos visible y accesible. */
.purchase-consent { margin-top:24px; padding:18px 16px; border:1px solid #4c9f4266; border-radius:18px; background:#152312; }
.purchase-consent p { margin:0 0 18px; color:#ecefe9; font-size:16px; line-height:1.65; }
.purchase-consent p button { display:inline; padding:0; border:0; background:none; color:#a8ed91; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.purchase-confirm { display:block; width:100%; min-height:62px; padding:16px 12px; border:1px solid #65bf50; border-radius:15px; background:#087d08; color:#fff; font:800 19px/1.4 var(--body,sans-serif); text-align:center; cursor:pointer; touch-action:manipulation; }
.purchase-confirm:hover { background:#096d09; }
.purchase-confirm:focus-visible,.purchase-consent p button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.purchase-confirm:disabled { opacity:.65; cursor:wait; }
.purchase-consent .checkout-legal { margin-bottom:18px; }

/* Confirmar funciona como una casilla grande; el dorado realiza el envío. */
.purchase-confirm::before { content:""; display:inline-grid; place-items:center; width:22px; height:22px; margin-right:10px; border:2px solid currentColor; border-radius:5px; vertical-align:-3px; font-size:18px; line-height:1; }
.purchase-confirm[aria-pressed="true"] { background:#075b0b; border-color:#b6f6a1; box-shadow:inset 0 0 0 2px #b6f6a1; }
.purchase-confirm[aria-pressed="true"]::before { content:"✓"; background:#fff; color:#075b0b; border-color:#fff; }
.purchase-consent .consent-status { margin:14px 0 0; color:#c4f2b5; font-size:15px; line-height:1.5; }

/* Marca de agua del verificador, detrás de los campos y resultados. */
#verificador { isolation:isolate; background:radial-gradient(ellipse at 50% 55%,#42301366,transparent 70%),#12120f; }
#verificador .verifier-watermark { position:absolute; top:50%; left:50%; translate:-50% -50%; width:min(76%,380px); height:auto; max-height:75%; object-fit:contain; opacity:.16; pointer-events:none; user-select:none; z-index:-1; }
#verificador .checkout-header,#verificador .verifier-body { position:relative; }
.assigned-tickets.cancelled .assigned-status { color:#f0a29a; }

/* --- Descargar el comprobante en PDF --- */
.ticket-pdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  margin-top: 14px;
  padding: 12px 18px;
  border: 1px solid var(--gold-deep, #8F6A16);
  border-radius: 11px;
  background: transparent;
  color: var(--gold, #E3B43C);
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .15s ease;
}
.ticket-pdf:hover:not(:disabled) {
  background: rgba(227, 180, 60, .10);
  border-color: var(--gold, #E3B43C);
  transform: translateY(-1px);
}
.ticket-pdf:disabled { opacity: .75; cursor: default; }
.ticket-pdf span { font-size: 15px; line-height: 1; }
@media (prefers-reduced-motion: reduce) {
  .ticket-pdf:hover:not(:disabled) { transform: none; }
}

/* --- campos obligatorios sin llenar (14-18/10/2026) --- */
.field-error { display: flex; align-items: flex-start; gap: 7px; margin: 8px 0 0; color: #ff9d8a; font-size: 12.5px; font-weight: 600; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.field-error::before { content: "!"; flex-shrink: 0; display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #e0675a; color: #1a0d0b; font-size: 11px; font-weight: 800; line-height: 1; margin-top: 1px; }
.field-error[hidden] { display: none; }
.field.is-missing label { color: #ff9d8a; }
.field.is-missing input { border-color: #e0675a !important; background: #2a1517; box-shadow: 0 0 0 3px #e0675a33; }
#bankField.is-missing .bank-list { border-radius: 12px; outline: 2px solid #e0675a; outline-offset: 5px; }
#bankField.is-missing .buy-legend { color: #ff9d8a; }
#receiptField.is-missing .receipt-drop { border: 2px solid #e0675a; background: #e0675a14; }
.is-missing { animation: campoFalta .45s ease-in-out 1; }
@keyframes campoFalta { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
@media (prefers-reduced-motion: reduce) { .is-missing { animation: none; } }
#receiptFieldError { margin-bottom: 16px; }
.custom-package + .field-error { margin-top: 10px; }
.custom-package.is-active { border-style: solid; border-color: #d7a63a; box-shadow: inset 0 0 0 1px #d7a63a55, 0 0 22px #99711822; }

/* --- circulitos de boletos premiados (22/10/2026) ---
   todos los premios sin ganar (por liberar y liberados) y la leyenda "Disponible"
   muestran el mismo circulo dorado encendido, con el brillo suave de las tarjetas. */
.prized-card.is-locked .prized-state { top: 8px; }
.prized-card.is-locked .prized-state i { position: relative; width: 11px; height: 11px; box-sizing: border-box; border: 2px solid #f2ce70; border-radius: 50%; font-size: 0; }
.prized-card.is-locked .prized-state i::after { content: ""; position: absolute; inset: 1px; border-radius: 50%; background: #ffe486; }
.leg-disponible { display: inline-flex; align-items: center; gap: 6px; }
.leg-circulo { position: relative; display: inline-block; width: 11px; height: 11px; box-sizing: border-box; border: 2px solid #f2ce70; border-radius: 50%; animation: tkPunto 1.8s ease-in-out infinite; }
.leg-circulo::after { content: ""; position: absolute; inset: 1px; border-radius: 50%; background: #ffe486; }
@media (prefers-reduced-motion: reduce) { .leg-circulo { animation: none; } }
