:root{
  --pink:#dd2d67;
  --pink-2:#ff769e;
  --pink-soft:#fff0f5;
  --rose-line:#ff7b9f;
  --text:#d72e65;
}
*{box-sizing:border-box}
html{background:#fae9ef}
body{margin:0;min-width:320px;background:radial-gradient(circle at 50% 8%,#fff9fb 0,#fcecf2 42%,#fae7ee 100%);color:var(--text);font-family:Georgia,"Times New Roman",serif}
button,input{font:inherit}
.poster-shell{width:min(960px,100%);margin:0 auto;padding:34px 58px 76px;min-height:100vh}
.product-grid{display:grid;gap:14px;margin:0 auto 14px}.product-grid-top{grid-template-columns:1fr 1fr}.product-grid-bottom{grid-template-columns:repeat(3,1fr)}
.product-card{margin:0;border-radius:24px;overflow:hidden;background:#fff;border:3px solid rgba(255,255,255,.95);box-shadow:0 0 0 2px rgba(255,99,142,.55),0 8px 17px rgba(199,59,100,.25);aspect-ratio:1.02/1}.product-card-wide{aspect-ratio:1.02/1}.product-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
.raffle-title{text-align:center;margin-top:10px}.brand-logo{display:block;width:clamp(58px,9vw,88px);height:auto;margin:2px auto 8px;filter:drop-shadow(0 8px 14px rgba(197,35,98,.22))}.raffle-title h1{font-size:clamp(48px,8vw,86px);font-weight:500;letter-spacing:2px;line-height:.95;margin:0;color:#d02d64}.script-title{font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive;font-size:clamp(54px,10.5vw,106px);line-height:1.05;margin-top:-4px;color:#d52e66;transform:rotate(-2deg)}
.prizes-box{margin:18px 42px 16px;border:1.8px dashed #f586a4;border-radius:24px;padding:14px 18px;text-align:center;font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(15px,2.4vw,23px);line-height:1.32;color:#d83268}
.public-error{margin:0 42px 16px;padding:12px 16px;border-radius:12px;background:#fff4d8;color:#7d5a00;font-family:Arial,sans-serif;text-align:center;border:1px solid #efd184}
.numbers-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin:0 60px}.raffle-number{height:46px;border-radius:6px;border:1.8px solid #ff7199;background:rgba(255,255,255,.45);color:#df2d67;font-size:22px;line-height:1;cursor:pointer;transition:.14s ease;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}.raffle-number:hover:not(:disabled){transform:translateY(-1px);background:#fff}.raffle-number:focus-visible{outline:3px solid rgba(216,46,103,.28);outline-offset:2px}.raffle-number.selected{background:#df2d67;color:#fff;border-color:#c82459;box-shadow:0 4px 10px rgba(203,41,91,.24)}.raffle-number:disabled{cursor:not-allowed}.raffle-number.reserved{background:#f5d8e1;color:#b6788e;border-color:#d8a9b8;opacity:.78}.raffle-number.sold{background:#d9d4d6;color:#9a8c91;border-color:#c8bdc1;text-decoration:line-through;opacity:.72}
.bottom-note{margin-top:26px;border:1.8px dashed #f586a4;border-radius:24px;text-align:center;padding:18px 16px;font-size:clamp(18px,3vw,28px);color:#c93367}
.contact-note{margin-top:12px;text-align:center;font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(15px,2.3vw,22px);line-height:1.35;color:#c93367}
.selection-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(760px,calc(100% - 28px));background:rgba(255,255,255,.97);border:1px solid #f09ab2;border-radius:18px;box-shadow:0 12px 34px rgba(124,33,63,.22);padding:12px 14px 12px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:20;font-family:Arial,sans-serif;color:#542534}.selection-bar[hidden]{display:none}.selection-bar div{display:flex;flex-direction:column;gap:2px}.selection-bar strong{font-size:15px}.selection-bar span{font-size:13px;color:#8a5363}.selection-bar button,.pay-button{border:0;background:#d82e67;color:#fff;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer;transition:filter .15s ease,transform .15s ease}.selection-bar button:hover,.pay-button:hover{filter:brightness(.96)}.selection-bar button:active,.pay-button:active{transform:translateY(1px)}.selection-bar button:disabled,.pay-button:disabled{opacity:.65;cursor:wait}
.modal{position:fixed;inset:0;background:rgba(48,20,31,.48);display:none;align-items:center;justify-content:center;padding:20px;z-index:40;font-family:Arial,sans-serif}.modal.open{display:flex}.modal-card{position:relative;width:min(430px,100%);background:#fff;border-radius:22px;padding:26px;box-shadow:0 20px 55px rgba(0,0,0,.28);color:#4d2633}.modal-card h2{margin:0 0 8px;color:#cf2e63}.modal-card p{margin:0 0 18px;color:#795261}.modal-card label{display:block;font-weight:700;margin-bottom:8px}.modal-card input{width:100%;border:1px solid #e7b1c2;border-radius:10px;padding:12px 13px;outline:none}.modal-card input:focus{border-color:#d82e67;box-shadow:0 0 0 3px rgba(216,46,103,.1)}.modal-card .pay-button{width:100%;margin-top:12px}.modal-card small{display:block;margin-top:12px;line-height:1.35;color:#7a666d}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;color:#9b6c7c;cursor:pointer}

.status-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:14px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#815063}.status-legend span{display:inline-flex;align-items:center;gap:7px}.legend-box{display:inline-block;width:18px;height:18px;border-radius:5px;border:1.5px solid #ff7199;background:rgba(255,255,255,.65)}.legend-box.reserved{background:#f5d8e1;border-color:#d8a9b8}.legend-box.sold{background:#d9d4d6;border-color:#c8bdc1;position:relative}.legend-box.sold:after{content:"";position:absolute;left:2px;right:2px;top:50%;height:2px;background:#9a6578;transform:translateY(-50%)}
@media(max-width:760px){.poster-shell{padding:18px 16px 86px}.product-grid{gap:8px;margin-bottom:8px}.product-card{border-radius:15px}.prizes-box{margin:12px 8px 12px;padding:11px 8px;border-radius:18px}.numbers-grid{margin:0;gap:3px}.raffle-number{height:38px;font-size:16px;border-radius:5px}.bottom-note{margin-top:18px;border-radius:18px;padding:14px 10px}.selection-bar{bottom:10px}.selection-bar span{max-width:54vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:420px){.raffle-number{height:33px;font-size:13px;padding:0}.script-title{margin-top:0}.selection-bar button{padding:11px 14px}}


.prize-clickable{cursor:zoom-in;position:relative;transition:transform .18s ease,box-shadow .18s ease}
.prize-clickable:hover{transform:translateY(-2px);box-shadow:0 0 0 2px rgba(255,99,142,.65),0 12px 24px rgba(199,59,100,.3)}
.prize-clickable:focus-visible{outline:3px solid #d82e67;outline-offset:3px}
.prize-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;z-index:100}
.prize-lightbox.open{display:flex}
.prize-lightbox-backdrop{position:absolute;inset:0;background:rgba(25,12,18,.84);backdrop-filter:blur(3px)}
.prize-lightbox-card{position:relative;z-index:1;width:min(980px,96vw);max-height:94vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.prize-lightbox-card img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 22px 70px rgba(0,0,0,.45)}
.prize-lightbox-caption{color:#fff;text-align:center;font-family:Arial,Helvetica,sans-serif;font-size:clamp(16px,2.2vw,22px);font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.prize-lightbox-close{position:absolute;right:-8px;top:-8px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#c82861;font-family:Arial,sans-serif;font-size:32px;line-height:1;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.3)}
body.lightbox-open,body.modal-open{overflow:hidden}
@media(max-width:760px){.prize-lightbox{padding:12px}.prize-lightbox-card{width:100%}.prize-lightbox-card img{max-height:78vh;border-radius:14px}.prize-lightbox-close{right:4px;top:4px;width:40px;height:40px;font-size:28px}}

.pay-button.secondary{background:#fff;color:#c02d5f;border:1px solid #e6a5b9}
.pay-button.whatsapp{background:#16834b}
.modal-card{max-height:92vh;overflow:auto}
.modal-card label{margin-top:12px}
.payment-summary{display:grid;grid-template-columns:1fr;gap:5px;margin:14px 0;padding:14px;border:1px dashed #e89cb5;border-radius:14px;background:#fff8fb}
.payment-summary span{font-size:12px;text-transform:uppercase;color:#946175;font-weight:800}
.payment-summary strong{font-size:20px;color:#cf2e63;word-break:break-word}
.result-accounts{display:grid;gap:10px;margin-top:8px}
.payment-account{padding:11px 12px;border:1px dashed #e89cb5;border-radius:12px;background:#fff}
.payment-account-title{margin-bottom:7px;color:#946175;font-size:12px;text-transform:uppercase;font-weight:800}
.payment-account-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;color:#946175;font-weight:800;text-transform:uppercase}
.payment-account-row strong{font-size:18px;text-transform:none}
.payment-account-row button{border:1px solid #e6a5b9;border-radius:8px;background:#fff;color:#c02d5f;padding:6px 9px;font-size:12px;font-weight:800;cursor:pointer}
.payment-account-row button:hover{background:#fff0f5}
.holder-row{margin-top:5px;grid-template-columns:auto minmax(0,1fr)}
.holder-row strong{font-size:16px}
.payment-account + .pay-button{margin-top:0}
.result-actions{display:grid;grid-template-columns:1fr;gap:12px}
.result-actions .pay-button{width:100%;margin-top:0}
.result-message{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff3c4;border:1px solid #f0cb64;color:#6f4f00;text-align:center;font-weight:700}
@media(max-width:420px){.result-actions{grid-template-columns:1fr}}
