/* KM Magazine Sorteios Premium V2.2.6 */
.raffle-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.raffle-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:28px}
.raffle-admin-card{overflow:hidden;border:1px solid #e9dfea;border-radius:26px;background:#fff;box-shadow:0 20px 55px rgba(67,43,73,.1)}
.raffle-admin-cover{position:relative;height:245px;background:linear-gradient(145deg,#38233f,#8a5a97);background-size:cover;background-position:center}
.raffle-admin-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(20,12,23,.82))}
.raffle-admin-status{position:absolute;z-index:2;top:17px;left:17px;padding:7px 11px;border-radius:999px;background:#fff;font-size:.7rem;font-weight:900;text-transform:uppercase}
.raffle-admin-cover-overlay{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}
.raffle-admin-cover-overlay small{font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.raffle-admin-cover-overlay h2{margin:7px 0 0;font:700 2rem Georgia,serif}
.raffle-admin-body{padding:22px}
.raffle-admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}
.raffle-admin-metrics div{padding:13px 8px;border-radius:13px;background:#f8f4f9;text-align:center}
.raffle-admin-metrics strong,.raffle-admin-metrics span{display:block}
.raffle-admin-metrics strong{font-size:1.25rem;color:#332637}
.raffle-admin-metrics span{margin-top:3px;color:#8d818f;font-size:.72rem}
.raffle-winner-record{padding:14px;margin-bottom:16px;border-radius:15px;background:linear-gradient(135deg,#fff1bd,#f5d471)}
.raffle-winner-record span,.raffle-winner-record strong,.raffle-winner-record small{display:block}
.raffle-winner-record strong{margin:5px 0;font-size:1.2rem}
.mini.draw{color:#fff;background:linear-gradient(135deg,#5b3d65,#8a5a97)}
.raffle-form-panel,.raffle-history-panel{margin-top:28px}
.raffle-history-panel code{padding:5px 7px;border-radius:7px;background:#f4eef5;color:#60436d}
.draw-modal{position:fixed;z-index:9999;inset:0;display:none;place-items:center;padding:20px}
.draw-modal.open{display:grid}
.draw-modal-backdrop{position:absolute;inset:0;background:rgba(23,13,26,.86);backdrop-filter:blur(14px)}
.draw-stage{position:relative;z-index:2;width:min(660px,100%);overflow:hidden;padding:42px;border:1px solid rgba(255,255,255,.18);border-radius:34px;color:#fff;background:radial-gradient(circle at 50% 30%,#8e62a0,#4a3152 55%,#291c2e);box-shadow:0 45px 130px rgba(0,0,0,.5);text-align:center}
.draw-close{position:absolute;top:15px;right:17px;width:38px;height:38px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.1);font-size:1.5rem;cursor:pointer}
.draw-kicker{font-size:.75rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.draw-stage h2{margin:10px 0 5px;font:700 2.3rem Georgia,serif}
.draw-stage>p{color:rgba(255,255,255,.72)}
.draw-machine{position:relative;width:250px;height:250px;display:grid;place-items:center;margin:30px auto}
.draw-number{position:relative;z-index:3;width:145px;height:145px;display:grid;place-items:center;border:7px solid rgba(255,255,255,.82);border-radius:50%;background:linear-gradient(145deg,#fff,#e7d8eb);color:#4b3053;box-shadow:0 0 0 14px rgba(255,255,255,.08),0 28px 60px rgba(0,0,0,.25);font:700 4rem Georgia,serif}
.draw-machine.running .draw-number{animation:drawPulse .2s infinite alternate}
.draw-orbit{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%}
.orbit-one{inset:4px;animation:spin 5s linear infinite}
.orbit-two{inset:28px;border-style:dashed;animation:spin 3s linear infinite reverse}
.draw-orbit:before{content:"✦";position:absolute;top:-10px;left:50%;color:#f8d778;font-size:1.2rem}
.draw-progress{height:7px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.13)}
.draw-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f6d477,#fff);transition:width .15s linear}
.draw-message{min-height:24px}
.draw-winner{margin:20px 0;padding:20px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.1)}
.draw-winner span,.draw-winner strong,.draw-winner h3,.draw-winner small{display:block}
.draw-winner strong{margin:7px 0;font:700 3rem Georgia,serif;color:#f9db7a}
.draw-winner h3{margin:0;font:700 1.5rem Georgia,serif}
.draw-winner small{margin-top:8px;color:rgba(255,255,255,.58)}
.draw-controls{display:flex;justify-content:center;gap:12px;margin-top:23px}
.draw-stage.celebrate{animation:stageGlow .8s ease}
.draw-stage.celebrate:before,.draw-stage.celebrate:after{content:"✦ ✧ ★ ✦ ✧";position:absolute;left:0;right:0;color:#f8d778;font-size:1.5rem;letter-spacing:2rem;animation:confettiFall 2.2s ease forwards}
.draw-stage.celebrate:before{top:-30px}
.draw-stage.celebrate:after{top:-70px;animation-delay:.25s}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes drawPulse{to{transform:scale(1.04)}}@keyframes stageGlow{50%{box-shadow:0 0 90px #f3cf65}}@keyframes confettiFall{to{transform:translateY(620px) rotate(260deg);opacity:0}}
.raffles-public-hero,.raffle-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:78px max(6vw,25px);color:#fff;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.13),transparent 28%),linear-gradient(135deg,#3a263f,#73507e)}
.raffles-public-hero h1,.raffle-detail-hero h1{margin:10px 0;font:700 clamp(3rem,7vw,6rem) Georgia,serif}
.raffles-public-hero p,.raffle-detail-hero p{max-width:650px;color:rgba(255,255,255,.74);line-height:1.7}
.raffles-public-badge{width:150px;height:150px;display:grid;place-items:center;flex:0 0 auto;border:2px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(255,255,255,.1);font:700 2.7rem Georgia,serif}
.site-alert{max-width:1100px;margin:20px auto 0;padding:14px 17px;border-radius:14px}.site-alert.success{color:#13764d;background:#e7f7ee}.site-alert.error{color:#a5281e;background:#fde7e5}
.raffles-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;padding:60px max(6vw,25px)}
.raffle-public-card{overflow:hidden;border:1px solid #ebdfed;border-radius:27px;background:#fff;box-shadow:0 20px 58px rgba(69,45,75,.11);transition:.25s}
.raffle-public-card:hover{transform:translateY(-7px);box-shadow:0 30px 72px rgba(69,45,75,.17)}
.raffle-public-cover{position:relative;height:270px;background:linear-gradient(145deg,#4e3257,#9a69a7);background-size:cover;background-position:center}
.raffle-public-status{position:absolute;top:17px;left:17px;padding:8px 12px;border-radius:999px;background:#fff;color:#4c3553;font-size:.7rem;font-weight:900;text-transform:uppercase}
.raffle-public-content{padding:25px}.raffle-public-prize{color:#60436d;font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.raffle-public-content h2{margin:8px 0;font:700 1.9rem Georgia,serif}.raffle-public-content p{color:#7e7281;line-height:1.6}
.raffle-public-progress{margin:20px 0}.raffle-public-progress>div{height:8px;overflow:hidden;border-radius:999px;background:#eee7f0}.raffle-public-progress>div span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#60436d,#a16faf)}.raffle-public-progress small{display:block;margin-top:7px;color:#928696}
.raffle-public-winner{padding:16px;border-radius:16px;background:linear-gradient(135deg,#fff2bf,#f5d570)}.raffle-public-winner span,.raffle-public-winner strong,.raffle-public-winner small{display:block}.raffle-public-winner strong{margin:5px 0;font-size:1.4rem}
.raffle-back{display:inline-block;margin-bottom:20px;color:#fff;text-decoration:none;font-weight:800}
.raffle-detail-prize{min-width:280px;padding:27px;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:rgba(255,255,255,.1);text-align:center}.raffle-detail-prize span,.raffle-detail-prize strong,.raffle-detail-prize small{display:block}.raffle-detail-prize strong{margin:8px 0;font:700 2rem Georgia,serif}.raffle-detail-prize small{color:rgba(255,255,255,.7)}
.number-picker-panel,.raffle-rules-panel{margin:45px max(6vw,25px);padding:30px;border:1px solid #e9dfea;border-radius:28px;background:#fff;box-shadow:0 20px 60px rgba(67,43,73,.09)}
.number-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.number-picker-heading h2{margin:0;font:700 2.2rem Georgia,serif}.number-picker-heading p{color:#817584}
.number-picker-counter{padding:13px 18px;border-radius:15px;background:#f3ebf5;text-align:center}.number-picker-counter span,.number-picker-counter strong{display:block}.number-picker-counter span{font-size:.72rem;color:#837587}.number-picker-counter strong{font-size:1.7rem;color:#60436d}
.my-confirmed-numbers{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0;padding:15px;border-radius:15px;background:#f8f3f9}.my-confirmed-numbers span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#60436d;font-weight:900}
.number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(55px,1fr));gap:9px;margin-top:25px}
.number-item{position:relative;margin:0}.number-item input{position:absolute;opacity:0}.number-item span{height:52px;display:grid;place-items:center;border:1px solid #dfd3e2;border-radius:12px;background:#fff;color:#47384c;font-weight:900;cursor:pointer;transition:.2s}
.number-item.available span:hover{transform:translateY(-3px);border-color:#8c6597;box-shadow:0 8px 18px rgba(96,67,109,.13)}
.number-item input:checked+span{color:#fff;border-color:#60436d;background:linear-gradient(135deg,#60436d,#9366a0);box-shadow:0 9px 20px rgba(96,67,109,.25)}
.number-item.taken span{color:#a69da8;background:#eee9ef;cursor:not-allowed}.number-item.mine span{color:#fff;border-color:#60436d;background:#60436d;cursor:default}
.number-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:22px;border-top:1px solid #eee7f0}.number-picker-footer p{color:#7f7382}
.drawn-result-public{margin-top:25px;padding:30px;border-radius:24px;background:linear-gradient(135deg,#fff0b6,#f3cf5d);text-align:center}.drawn-result-public span,.drawn-result-public strong,.drawn-result-public h3{display:block}.drawn-result-public strong{margin:10px 0;font:700 3rem Georgia,serif}.drawn-result-public h3{margin:0;font:700 1.5rem Georgia,serif}
.raffle-rules-panel h2{font:700 2rem Georgia,serif}.raffle-rules-panel p{color:#756a78;line-height:1.8}
@media(max-width:800px){.raffle-page-head,.raffles-public-hero,.raffle-detail-hero,.number-picker-heading,.number-picker-footer{align-items:flex-start;flex-direction:column}.raffles-public-badge{width:100px;height:100px}.raffle-detail-prize{min-width:0;width:100%;box-sizing:border-box}.draw-stage{padding:30px 20px}.draw-machine{width:210px;height:210px}.draw-number{width:125px;height:125px;font-size:3.2rem}.raffle-admin-metrics{grid-template-columns:1fr}.number-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}}
