/* Tu Boleto Ganador RD · recorrido de compra (estructura). Colores y detalles de marca en tbg.css */
:root{--checkout-acento:#3866e7;--checkout-light:#89a6fc;--checkout-bronze:#234694}
.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 #284eb055;border-radius:20px;background:radial-gradient(ellipse at right top,#2452cb21,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,#547cf103 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(--acento)}.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 #355fd730;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(--acento-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:#657dc1}.journey-mini i{font-style:normal;color:#27365d}.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:barridoBrillo 5s ease-in-out infinite;pointer-events:none}.shimmer-button:disabled::after{display:none}@keyframes barridoBrillo{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:#8b97ba}.sales-progress-label strong{font:16px var(--mono);color:var(--acento-light);text-shadow:0 0 18px #658af955}.sales-track{height:11px;position:relative;border-radius:999px;background:#1a2239;border:1px solid #282d38;margin:12px 0;overflow:hidden}.sales-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#224895,#2a5bd9 40%,#87a3fa);box-shadow:0 0 17px #3866e788;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:#d1d6e4}.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 #203a77;margin:auto;padding:0;width:min(940px,calc(100% - 32px));max-width:940px;max-height:calc(100dvh - 38px);background:#0d0d13;color:#dde1ee;border-radius:20px;overflow:hidden;box-shadow:0 25px 120px #000d,0 0 60px #143fae18}.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,#1242ba10,transparent 50%)}.checkout-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 30px 20px;border-bottom:1px solid #1d2640;flex-shrink:0}.checkout-header .eyebrow{font-size:9px;letter-spacing:.1em;color:#506cb9;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 #253153;border-radius:50%;background:#101930;color:#96a3c7;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:#385ec4;color:#85a4fb}.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:#525e80;cursor:pointer;padding:0}.checkout-steps button:disabled{cursor:default}.checkout-steps button span{display:grid;place-items:center;border:1px solid #253152;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:#84a1f6}.checkout-steps .current button span{background:#315ed71b;border-color:#2d54b9;box-shadow:0 0 16px #315ed824}.checkout-steps .complete button{color:#4c6cbf}.checkout-steps .complete button span{background:#385bbb;color:#0c1325;border-color:#385bbb}.checkout-progress{height:3px;background:#1c253e;border-radius:4px;overflow:hidden}.checkout-progress i{display:block;height:100%;width:25%;background:linear-gradient(90deg,#204494,#527cf1,#b6c8fe);transition:width .5s ease;box-shadow:0 0 12px #3f6be3}.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:#2b3754 #0f172c;min-height:180px}.checkout-scroll::-webkit-scrollbar{width:6px}.checkout-scroll::-webkit-scrollbar-thumb{background:#2c3956;border-radius:9px}.stage-intro{text-align:center;margin-bottom:25px}.step-chip{display:inline-block;font:8px var(--mono);letter-spacing:.18em;color:#5268a4;border:1px solid #242b3b;border-radius:20px;padding:5px 10px;margin-bottom:11px}.stage-intro>p{font-size:19px;font-weight:600;color:#dadeea;margin:0 0 6px;line-height:1.4}.stage-intro>small{font-size:12px;color:#7480a2;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:#406edd;--accent-muted:#1c3161;--halo:#1442b522;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,#151c2e,#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),#0e1529 90%)}.ticket-pack.tone-1{--accent:#7593d5;--accent-muted:#394c71;--halo:#4062a628}.ticket-pack.tone-2{--accent:#6286f3;--accent-muted:#264391;--halo:#325bde2c}.ticket-pack.tone-3{--accent:#b6c4ee;--accent-muted:#546388;--halo:#718cd320}.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:#d8dfef;font-size:15px;font-weight:700;width:90%}.pack-bonus-label{font-size:9px;color:#7a87aa;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:#080f1f}.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 #2f3f66;border-radius:10px;background:#3560d810;padding:16px 20px;margin-top:20px}.custom-package b{display:block;font-size:13px;color:#aebfeb}.custom-package small{display:block;font-size:10px;color:#63729a;margin-top:5px}.checkout-stepper{display:flex;align-items:center;border:1px solid #283e72;border-radius:7px;overflow:hidden;flex-shrink:0}.checkout-stepper button{border:0;background:#161c28;color:#6084e5;width:35px;height:38px;cursor:pointer;font-size:19px}.checkout-stepper input{width:60px;text-align:center;background:#0d1427;border:0;color:#92acf8;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:#677499;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 #1f283b;background:linear-gradient(115deg,#13161c,#0e1529);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:#717ea0}.checkout-total strong{font:25px var(--display);letter-spacing:-.03em;color:#7b9cf7;line-height:1.1}.checkout-total>span{font-size:10px;color:#7682a4}.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 #3c618f;color:#a4c6f8;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 #233154;background:linear-gradient(110deg,#111a3270,#101830);padding:17px;border-radius:10px;margin-bottom:24px}.selected-icon{font-size:25px;color:#5277d9}.selected-package>div{flex:1}.selected-package b{font:11px var(--mono);letter-spacing:.04em;color:#87a0e4}.selected-package small{display:block;margin-top:5px;font-size:11px;color:#7d89a6}.selected-package>strong{font-size:17px;color:#5d82e5;white-space:nowrap}.selected-package button{background:transparent;border:0;color:#596c9f;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:#b1b9cc;margin-top:13px}.checkout-fields label span{color:#466dd7}.checkout-fields label small{font-size:10px;font-weight:400;color:#5f6e95}.checkout-fields input{width:100%;padding:14px;border:1px solid #253152;border-radius:8px;background:#17151e;color:#dbe2f5;min-height:49px;font-family:var(--body);font-size:15px}.checkout-fields input:focus{outline:2px solid #355ac030;border-color:#2f54b5;box-shadow:0 0 18px #234ec810}.checkout-fields small{font-size:11px;color:#6e7b9e;line-height:1.7}.checkout-note{display:flex;align-items:center;gap:12px;border:1px solid #293656;border-radius:8px;padding:14px 17px;background:#10328f16;color:#8d9dca;margin-top:24px;font-size:12px;line-height:1.6}.checkout-note>span{font-size:19px;color:#4b6cc8}.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 #2d3340;background:#101930;border-radius:10px;padding:20px 9px;min-height:130px;color:#d0d9ef;cursor:pointer}.bank-monogram{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,#2e59cb,#9eb5fc);color:#071127;font:14px var(--display);box-shadow:0 0 20px #0e37a522}.bank-choice b{font-size:12px}.bank-choice small{font-size:10px;color:#63729a}.bank-choice i{position:absolute;right:9px;top:7px;font-style:normal;color:var(--acento);opacity:0}.bank-choice[aria-pressed=true]{border-color:#3664db;box-shadow:inset 0 0 0 1px #3664db,0 0 25px #153a9c22}.bank-choice[aria-pressed=true] i{opacity:1}.bank-placeholder{padding:28px;text-align:center;color:#617098;font-size:12px}.transfer-card{border:1px solid #2f3f65;border-radius:11px;background:linear-gradient(145deg,#191d25,#0e1529);padding:23px;margin-top:20px;animation:stageArrival .25s ease-out}.transfer-amount{padding-bottom:19px;border-bottom:1px dashed #2c3f6c;display:flex;justify-content:space-between;align-items:center;gap:12px}.transfer-amount small{font:9px var(--mono);letter-spacing:.09em;color:#627bba}.transfer-amount strong{font:26px var(--display);color:#6489f3}.account-detail{margin-top:19px}.account-detail small{display:block;font:8px var(--mono);letter-spacing:.11em;color:#6c7aa0;margin-bottom:7px}.account-detail b{font-size:17px;color:#d2daf2;overflow-wrap:anywhere}.account-detail>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.account-detail button{border:1px solid #284287;background:#3e63cc1a;color:#7594e6;font-size:10px;padding:8px 15px;border-radius:5px;cursor:pointer}.transfer-card>p{font-size:11px;color:#7885a6;line-height:1.7;margin-top:20px}.bank-instructions{font-size:12px;color:#8792af;line-height:1.8;margin-top:16px}.checkout-unavailable{text-align:center;border:1px solid #2b385b;border-radius:12px;padding:30px;background:#2f5ad60c}.checkout-unavailable>span{font-size:32px;color:#466ac6}.checkout-unavailable h3{font:18px var(--display);color:#849de3;margin:15px 0}.checkout-unavailable p{font-size:13px;color:#838ea8;line-height:1.8;max-width:480px;margin:0 auto}.checkout-unavailable a{display:inline-block;color:#7490db;font-size:12px;margin-top:20px}.receipt-drop{position:relative;border:1px dashed #334d8f;border-radius:12px;background:radial-gradient(ellipse at center,#153ca612,transparent);padding:30px 20px;text-align:center;min-height:190px;cursor:pointer;transition:background .2s,border-color .2s}.receipt-drop:hover{border-color:#6588ed;background-color:#1c45bc10}.receipt-drop:focus-within{outline:2px solid #3866e7;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 #2a4073;background:#3360d812;color:#6287f0;font-size:32px}.receipt-drop b{display:block;font-size:17px;color:#859ee1;overflow-wrap:anywhere}.receipt-drop p{font-size:12px;color:#7985a3;margin-top:7px}.receipt-drop small{display:block;font:9px var(--mono);color:#536083;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:#38539e}.checkout-fields.compact{margin-top:20px}.checkout-terms{display:flex;align-items:flex-start;gap:11px;margin-top:24px;font-size:11px;color:#8e98b4;line-height:1.8;cursor:pointer}.checkout-terms input{margin:4px 0 0;width:18px;height:18px;flex-shrink:0;accent-color:#466ede}.checkout-terms button{display:inline;border:0;background:transparent;color:#5f83e6;text-decoration:underline;font:inherit;padding:0;cursor:pointer}.checkout-legal{white-space:pre-wrap;max-height:230px;overflow:auto;border:1px solid #262e41;padding:17px;border-radius:7px;margin-top:14px;font-size:12px;line-height:1.8;color:#98a1b7}.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 #2d53b7;box-shadow:0 0 35px #204bc41f,inset 0 0 25px #204bc41f;margin:0 auto 24px;animation:successGlow 2.5s ease-in-out infinite}.success-orbit span{color:#6d8ff3;font-size:35px}.checkout-success h3{font:25px var(--display);color:#a4b8f4;margin:14px 0}.checkout-success>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#8892ab}.checkout-success b{color:#96aade}.purchase-reference{padding:20px;border:1px dashed #365296;background:#2356e60b;border-radius:10px;margin:24px 0 14px}.purchase-reference small{display:block;font:8px var(--mono);letter-spacing:.12em;color:#566a9b}.purchase-reference strong{display:block;font:clamp(15px,3vw,23px) var(--mono);color:#5c81ea;margin:12px 0}.purchase-reference button{font-size:10px;color:#5b72af;background:transparent;border:0;text-decoration:underline;cursor:pointer}.success-summary{display:flex;justify-content:center;gap:18px;color:#7689bd;font-size:13px}.checkout-success .btn{margin:22px auto 0}.finished-step{display:block;text-align:center;color:#5879d7;font-size:11px}.lookup-status{display:inline-block;padding:6px 11px;border-radius:20px;font-size:11px;background:#182b59;color:#789af6;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 #204bc43f,inset 0 0 30px #204bc42f}}
@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 #355fd725;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 #2b4174;border-radius:16px;padding:28px;background:radial-gradient(ellipse at top,#214dca10,transparent 55%),#0d1427}.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:#83a0f3;font-size:17px;font-weight:700}.confirmation-amount{margin-top:8px!important}.assigned-tickets{margin:24px 0 18px;padding:20px;border:1px solid #23304b;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:#e2e6f2;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.assigned-heading>span{background:#141f39;color:#7b9af2;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 #2b467b;border-radius:9px;background:linear-gradient(140deg,#101d3970,#0e1529);min-width:0}.assigned-ticket>span{display:block;font-size:16px;color:#5176df;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 #2e3d62;margin-top:18px;padding-top:16px;color:#7093f9;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:#99a2bb;font-size:13px;line-height:1.7;margin-top:12px}.copy-numbers,.verifier-shortcut{width:100%;min-height:46px;padding:13px;border:1px solid #353d52;border-radius:9px;background:#192138;color:#c8d3f2;font:600 13px var(--body);cursor:pointer}.copy-numbers:hover,.verifier-shortcut:hover{border-color:#5276d7;background:#182135}.confirmation-guide{margin-top:18px;padding:20px;border:1px solid #253458;border-left:3px solid #5a7ddb;border-radius:12px;background:#305cd810;text-align:center}.confirmation-guide>strong{color:#86a3f3;font-size:14px}.confirmation-guide>p{font-size:12px;line-height:1.8;color:#9ea7bd;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 #7093f9;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 #23304b;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, #717da0);
  font-size: 15px;
  line-height: 1.6;
}

/* --- tablero de boletos premiados --- */
.prized-board {
  position: relative;
  border: 1px solid #2b52bb;
  border-radius: 20px;
  background: linear-gradient(180deg, #0f172b, #0a0d14 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: #4675f4; 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: #4675f4;
}
.prized-head p { margin: 0; font-size: 15px; color: #b7bed0; }

.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 #1e346d;
  border-radius: 12px;
  background: linear-gradient(160deg, #10182d, #090d17);
  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: #a6b7ea;
}
.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: #cbd3e9;
}
.prized-amount {
  display: block;
  width: 100%;
  margin-top: 10px;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: #4675f4;
  font-variant-numeric: tabular-nums;
}
.prized-currency { display: block; padding-top: 8px; border-top: 1px dashed #1e346d; font-size: 11px; font-weight: 400; color: #8e98b4; }
.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(170,191,255,.35) 45%, rgba(220,227,255,.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 #6d91f5; border-radius: 50%; font-size: 0; }
.prized-card.is-available .prized-state i::after { content: ""; position: absolute; inset: 1px; border-radius: 50%; background: #86a4ff; }
.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: #475683; background: linear-gradient(160deg, #191c27, #0f1117); }
.prized-card.is-pending .prized-number { color: #a8b1c9; }

/* ganador: ya tiene dueno */
.prized-card.is-won { border-color: #1e346d; }
.prized-card.is-won .prized-number {
  color: #8e98b4;
  text-decoration: line-through;
}
.prized-card.is-won .prized-amount { color: #c8ccd8; white-space: nowrap; }
.prized-card.is-won .prized-state i { color: #c8ccd8; }

/* --- bloques del formulario --- */
.buy-block {
  border-top: 1px solid var(--line, #202b48);
  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, #717da0);
}
.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, #717da0); }

/* --- 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, #202b48);
  border-radius: 12px;
  background: var(--ink-3, #141b2d);
  color: var(--bone, #e1e4ed);
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: border-color .15s ease, background .15s ease;
}
.pack-row:hover { border-color: var(--acento-deep, #133692); }
.pack-row[aria-pressed="true"] {
  border-color: var(--acento, #3866e7);
  background: linear-gradient(180deg, rgba(56,102,231,.12), var(--ink-3, #141b2d) 75%);
}
.pack-row-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: rgba(56,102,231,.12);
  color: var(--acento, #3866e7);
  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(--acento, #3866e7);
  color: #0a0c12;
  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, #717da0); }
.pack-row-price {
  text-align: right;
  font-weight: 700;
  font-size: 15px;
  color: var(--acento, #3866e7);
  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, #202b48);
  border-radius: 10px;
  background: var(--ink, #07070A);
  color: var(--bone, #e1e4ed);
  font-family: inherit;
  font-size: 15px;
}
#bankSelect:focus { border-color: var(--acento, #3866e7); 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:#a6b7ea}
@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, #133692);
  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, #202b48);
  border-radius: 12px;
  background: var(--ink-3, #141b2d);
  color: var(--bone, #e1e4ed);
  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(--acento-deep, #133692); transform: translateX(2px); }
.bank-option[aria-pressed="true"] {
  border-color: var(--acento, #3866e7);
  background: linear-gradient(90deg, rgba(56,102,231,.12), var(--ink-3, #141b2d) 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, #717da0); }
.bank-selected-label{display:block;margin-top:5px;font-size:11px;font-weight:700;color:var(--acento-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, #202b48);
  color: transparent;
  font-size: 11px;
  transition: all .18s ease;
}
.bank-option[aria-pressed="true"] .bank-option-check {
  border-color: var(--acento, #3866e7);
  background: var(--acento, #3866e7);
  color: #0a0c12;
}
.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(--acento); }
.bank-item.is-open .bank-option { border-radius: 12px 12px 0 0; border-bottom-color: transparent; transform: none; }
.bank-details { border: 1px solid var(--acento, #3866e7); border-top: 0; border-radius: 0 0 12px 12px; padding: 0 20px 20px; background: var(--ink-3, #141b2d); }
.bank-details[hidden] { display: none; }
.bank-details .transfer-card { margin: 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--line, #202b48); 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, #202b48);
}
.transfer-bank b { display: block; font-size: 15px; }
.transfer-bank small { display: block; font-size: 12px; color: var(--muted, #717da0); }

/* 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 tbg-surgir { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes tbg-latido { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes tbg-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: tbg-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(80,126,249,.95)) brightness(1.15)}}
@keyframes tkTitila{0%,100%{filter:none}50%{filter:drop-shadow(0 0 6px #507ef9) brightness(1.5)}}
@keyframes tkHalo{0%,100%{box-shadow:0 0 0 rgba(80,126,249,.10)}50%{box-shadow:0 0 28px rgba(80,126,249,.45)}}
@keyframes tkLuz{0%,100%{filter:none}50%{filter:drop-shadow(0 0 12px rgba(80,126,249,.85))}}

/* los bloques del formulario entran uno detras de otro */
.buy-block { animation: tbg-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(56,102,231,.16), transparent);
  background-size: 220% 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.pack-row[aria-pressed="true"]::after { opacity: 1; animation: tbg-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: tbg-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(--acento, #3866e7); 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(--acento, #3866e7);
  }
  .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:#404a64;background:linear-gradient(150deg,#182036,#0e1529);box-shadow:none}
.prized-card.is-locked .prized-number{color:#a6afc7}
.prized-card.is-locked .prized-state{color:#7f8ba9}

/* 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:#e5e9f3; 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%,#12214366,transparent 70%),#0c1324; }
#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(--acento-deep, #133692);
  border-radius: 11px;
  background: transparent;
  color: var(--acento, #3866e7);
  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(56,102,231,.10);
  border-color: var(--acento, #3866e7);
  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: #3664db; box-shadow: inset 0 0 0 1px #3664db55, 0 0 22px #153a9c22; }

/* --- 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 #6d91f5; border-radius: 50%; font-size: 0; }
.prized-card.is-locked .prized-state i::after { content: ""; position: absolute; inset: 1px; border-radius: 50%; background: #86a4ff; }
.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 #6d91f5; border-radius: 50%; animation: tkPunto 1.8s ease-in-out infinite; }
.leg-circulo::after { content: ""; position: absolute; inset: 1px; border-radius: 50%; background: #86a4ff; }
@media (prefers-reduced-motion: reduce) { .leg-circulo { animation: none; } }

/* --- total y botón de compra en una sola fila en celulares (04/11/2026) --- */
@media(max-width:650px){
  #purchaseDialog .checkout-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}
  #purchaseDialog .checkout-total{display:flex;flex-direction:column;gap:2px;flex:0 0 auto}
  #purchaseDialog .checkout-total small{font-size:7px}
  #purchaseDialog .checkout-total strong{font-size:20px}
  #purchaseDialog .checkout-total>span{font-size:9px}
  #purchaseDialog .checkout-actions{display:flex;flex:1 1 auto;min-width:0;justify-content:flex-end}
  #purchaseDialog .checkout-actions .btn{width:100%;max-width:240px;min-height:44px;padding:10px 12px;font-size:12px;line-height:1.2}
}
#packageField.is-missing .pack-rows { border-radius: 12px; outline: 2px solid #e0675a; outline-offset: 5px; }
#packageField.is-missing .buy-legend { color: #ff9d8a; }
#packageFieldError { margin: 0 0 12px; }

/* --- paquetes en celular: misma fila que en computadora (13/11/2026) --- */
@media (max-width: 620px) {
  .pack-row { grid-template-columns: 30px minmax(0, 1fr) auto auto; column-gap: 10px; row-gap: 0; padding: 11px 12px; }
  .pack-row-icon { width: 30px; height: 30px; border-radius: 8px; font-size: 13px; }
  .pack-row-name { font-size: 13px; letter-spacing: .04em; min-width: 0; overflow-wrap: anywhere; }
  .pack-row-name em { margin-left: 6px; padding: 2px 6px; font-size: 8px; }
  .pack-row-qty b { font-size: 17px; }
  .pack-row-qty small { font-size: 7.5px; letter-spacing: .1em; }
  .pack-row-price { grid-column: auto; text-align: right; font-size: 14px; white-space: nowrap; }
  .pack-row-price small { font-size: 10px; }
}
/* En pantallas táctiles no hay "pasar el ratón": la fila elegida conserva el ícono inclinado y al tocar se levanta. */
@media (hover: none) {
  .pack-row:active { transform: translateY(-2px); }
  .pack-row[aria-pressed="true"] .pack-row-icon, .pack-row:active .pack-row-icon { transform: rotate(-8deg) scale(1.08); }
}
@media (hover: none) and (prefers-reduced-motion: reduce) {
  .pack-row:active, .pack-row[aria-pressed="true"] .pack-row-icon, .pack-row:active .pack-row-icon { transform: none; }
}

/* --- aviso sobre el concepto de la transferencia (13/11/2026) --- */
.concept-notice { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 14px; padding: 13px 15px; border: 1px solid #28448c; border-left: 3px solid var(--acento, #3866e7); border-radius: 10px; background: linear-gradient(115deg, rgba(56,102,231,.1), rgba(56,102,231,.03)); }
.concept-notice-icon { flex: none; display: grid; place-items: center; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--acento, #3866e7); color: #0a0d16; font-size: 13px; font-weight: 800; line-height: 1; }
.concept-notice b { display: block; font-size: 12.5px; letter-spacing: .02em; color: #87a4f4; }
.concept-notice p { margin: 4px 0 0; font-size: 12.5px; line-height: 1.55; color: #b8c2da; }
.concept-notice q { quotes: "«" "»"; font-weight: 700; color: #cfdbff; white-space: nowrap; }
.transfer-concept-warning { margin-top: 6px !important; font-size: 11.5px; font-weight: 600; color: #779df4 !important; }
