/* Campaign presentation. All selectors are scoped away from the admin. */
body.trevo-reference{--incrivel-bg:#e5e5e5;--incrivel-bgColor:#222;--incrivel-bgLink:#222;--incrivel-cardBg:#fff;--incrivel-cardColor:#222;--incrivel-cardLink:#222;--incrivel-formColor:#222;--incrivel-formBg:#f5f5f5;--incrivel-modalBg:#fff;--incrivel-modalColor:#222;--incrivel-primaria:#000;--incrivel-primariaColor:#fff;--incrivel-primariaLink:#fff;--incrivel-primariaDarken:#000;background:#e5e5e5!important;color:#222!important;font-family:Montserrat,Arial,sans-serif}
body.trevo-reference .header-app-header{position:fixed!important;top:0!important;left:50%!important;transform:translateX(-50%);width:100%!important;max-width:600px;height:70px!important;background:transparent!important;box-shadow:none!important;z-index:20!important}
body.trevo-reference .header-app-header-container,body.trevo-reference .header-app-header .container{height:70px;background:transparent!important}
body.trevo-reference .header-app-header .container>div{display:grid;grid-template-columns:1fr 150px 1fr;align-items:center;height:70px;text-align-last:auto!important;padding:0!important}
body.trevo-reference .header-app-header .header-app-brand{display:inline-block!important;width:150px!important;max-width:100%!important;height:70px!important;object-fit:contain;margin:0!important}
body.trevo-reference .header-app-header a{padding:0!important;text-align:center;font-size:11px}
body.trevo-reference .black-bar{display:none!important}
body.trevo-reference .app-main{width:100%;max-width:600px!important;margin:0 auto!important;padding:0 12px 18px!important;background:transparent!important;min-height:0!important}
body.trevo-reference .campanha-header{isolation:isolate;display:flex!important;flex-direction:column!important;position:relative!important;width:calc(100% + 24px)!important;max-width:none!important;margin:0 -12px!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden;background:#000!important}
body.trevo-reference .campanha-header .SorteioTpl_imagemContainer__2-pl4{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;padding:0!important;flex:none!important;order:0}
body.trevo-reference .campanha-header .custom-image{height:auto!important;aspect-ratio:100/66}
body.trevo-reference .campanha-header .SorteioTpl_imagem__2GXxI{position:absolute!important;inset:0!important;display:block;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important}
body.trevo-reference .campanha-header .SorteioTpl_info__t1BZr{position:relative!important;inset:auto!important;width:100%!important;padding:0 12px 2px!important;margin:0!important;background:linear-gradient(#16090a,#000)!important;color:#fff!important;order:1;min-height:0!important;border-radius:0!important}
body.trevo-reference .campanha-header .SorteioTpl_title__3RLtu{font-size:16px!important;line-height:1.25!important;font-weight:600!important;margin:5px 0 2px!important;color:#fff!important;text-transform:none!important}
body.trevo-reference .campanha-header .SorteioTpl_descricao__1b7iL{font-size:12px!important;line-height:1.2!important;color:#ddd!important;margin:0!important}
body.trevo-reference .campanha-header .custom-badge-display{position:relative!important;inset:auto!important;margin:0!important;padding:0!important;font-size:10px!important}
body.trevo-reference .reference-lookup{order:2!important;width:100%!important;display:flex!important;align-items:center;justify-content:center;border:0!important;border-radius:0!important;background:#000!important;color:white!important;height:40px!important;min-height:40px!important;max-height:40px!important;box-sizing:border-box;flex-shrink:0;padding:0 8px!important;font-size:13px!important;box-shadow:none!important;gap:7px;margin:0!important}
body.trevo-reference .campanha-preco{padding:12px 0!important;margin:0!important;min-height:52px;color:#222!important;gap:0!important;font-size:12px!important;flex-wrap:wrap}
body.trevo-reference .campanha-preco .tag{border:0;border-radius:5px;font-size:11px!important;padding:6px 8px!important;white-space:nowrap}
body.trevo-reference .campanha-preco .bg-cor-primaria{background:#000!important;color:#fff!important;font-size:14px!important;font-weight:600}
body.trevo-reference .reference-quantity{width:100%!important;height:40px!important;min-height:40px!important;border-radius:11px!important;border:1px solid #ccc!important;background:#f2f2f2!important;box-shadow:0 3px 5px #0001!important;margin:0 0 16px!important}
body.trevo-reference .reference-quantity .card-body{padding:0 12px!important;height:40px;position:relative}
body.trevo-reference .reference-quantity .center{width:100%}
body.trevo-reference .reference-quantity .qty{background:transparent!important;border:0!important;color:#222!important;font-size:20px!important;font-weight:600;height:38px!important;width:100%;padding:0 65px!important;box-shadow:none!important}
body.trevo-reference .reference-quantity .left,body.trevo-reference .reference-quantity .right{position:absolute;z-index:2;top:0;height:40px;display:flex;align-items:center;color:#4c5b64;font-size:24px}
body.trevo-reference .reference-quantity .left{left:40px}body.trevo-reference .reference-quantity .right{right:12px}
body.trevo-reference .reference-reset{position:absolute;left:8px;z-index:3;top:0;height:38px;border:0;background:none;color:#4c5b64;font-size:23px;padding:0 6px}
body.trevo-reference .app-vendas-express .vendasExpressNumsSelect{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;width:100%!important;margin:0 0 4px!important;padding:0!important}
body.trevo-reference .app-vendas-express .vendasExpressNumsSelect .item{width:auto!important;flex:none!important;margin:0!important;padding:0!important;min-height:55px!important;border:0!important;border-radius:5px!important;background:#f7f7f7!important;color:#252525!important;box-shadow:none!important;position:relative;cursor:pointer}
body.trevo-reference .app-vendas-express .vendasExpressNumsSelect .item-content{padding:6px 3px!important;height:55px!important;min-height:55px!important;justify-content:center;background:transparent!important;color:inherit!important;border:0!important;box-shadow:none!important;transform:none!important}
body.trevo-reference .app-vendas-express .vendasExpressNumsSelect .item-content:before,body.trevo-reference .app-vendas-express .vendasExpressNumsSelect .item-content:after{display:none!important}
body.trevo-reference .reference-purchase-hint{display:none!important}
body.trevo-reference .app-vendas-express .vendasExpressNumsSelect h3{font-size:23px!important;line-height:1.15!important;font-weight:600!important;margin:0!important;color:inherit!important}
body.trevo-reference .app-vendas-express .vendasExpressNumsSelect .item-content-txt{font-size:10px!important;text-transform:none!important;color:inherit!important;line-height:1.3!important}
body.trevo-reference .app-vendas-express .vendasExpressNumsSelect .mais-popular{background:#000!important;color:#fff!important}
body.trevo-reference .app-vendas-express .vendasExpressNumsSelect .mais-popular:before{content:'POPULAR';position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:#198754;color:#fff;font-size:10px;line-height:16px;height:16px;width:auto;min-width:70px;border-radius:12px;padding:0 8px;font-weight:700;z-index:1;background-image:none;animation:none}
body.trevo-reference button.reference-buy{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:8px;width:100%!important;min-height:61px!important;padding:10px 14px!important;border:0!important;border-radius:11px!important;background:#198754!important;color:#fff!important;box-shadow:none!important;filter:drop-shadow(0 4px 7.5px rgba(40,167,69,.3));position:relative;overflow:hidden;animation:reference-buy-pulse 4s ease-in-out infinite;margin:0 0 16px!important;text-align:left}
body.trevo-reference .reference-buy-label{display:flex;gap:9px;align-items:center;min-width:0}
body.trevo-reference .reference-buy-label>i{font-size:23px}
body.trevo-reference .reference-buy-label strong{display:block;font-size:18px;font-weight:600;line-height:1.15;text-transform:uppercase;white-space:nowrap}
body.trevo-reference .reference-buy-label small{display:block;font-size:10px;opacity:.7;font-weight:600;line-height:1.4}
body.trevo-reference .reference-buy-price{text-align:right;flex-shrink:0;max-width:43%;font-size:13px!important;font-weight:600;line-height:1.35}
body.trevo-reference .reference-unit{font-size:10px;font-weight:600;opacity:.65}
body.trevo-reference .reference-buy #total{font-size:13px!important;opacity:1!important;color:white!important}
body.trevo-reference .sorteio_sorteioDesc__TBYaL{background:#fff!important;border:0!important;border-radius:16px!important;box-shadow:none!important;margin:0 0 20px!important;overflow:hidden;color:#222!important}
body.trevo-reference .reference-description-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;background:#fff;color:#111;border:0;padding:18px;font:500 13px Montserrat,Arial,sans-serif;text-align:left}
body.trevo-reference .reference-description-toggle span{flex:1}
body.trevo-reference .reference-description-toggle[aria-expanded=true]>.bi-chevron-down{transform:rotate(180deg)}
body.trevo-reference [hidden]{display:none!important}
body.trevo-reference .sorteio_sorteioDescBody__3n4ko{color:#444;font-size:12px;line-height:1.7;padding:0 18px 18px!important;overflow-wrap:anywhere}
body.trevo-reference .rodape{background:transparent!important;color:#888!important;font-size:10px!important;text-align:center}
body.trevo-reference .rodape p{color:#888!important;font-size:10px!important}
body.trevo-reference .age-verification-card{border:1px solid #ddd;border-radius:17px!important;width:500px!important;padding:25px!important}
body.trevo-reference .age-verification-card h3{font-size:20px!important}
body.trevo-reference .age-verification-btn-confirm{background:#000!important;border-color:#000!important}
body.trevo-reference .age-verification-btn{border-radius:17px!important;min-height:48px;font-size:20px!important}
body.trevo-reference .age-verification-backdrop{backdrop-filter:blur(5px)}
body.trevo-reference :is(button,a,[role=button]):focus-visible{outline:3px solid #2477c4;outline-offset:3px}
@media(max-width:380px){body.trevo-reference .reference-buy-label strong{font-size:15px}body.trevo-reference .reference-buy-label small{font-size:9px}body.trevo-reference .reference-buy-price{max-width:40%;font-size:12px}body.trevo-reference .header-app-header .container>div{grid-template-columns:45px 1fr 75px}}

body.trevo-reference button.reference-buy::after{content:"";position:absolute;top:-50%;left:-60%;width:20%;height:200%;background:rgba(255,255,255,.2);transform:rotate(30deg);pointer-events:none;animation:reference-buy-shimmer 5s infinite}
@keyframes reference-buy-pulse{0%,100%{filter:drop-shadow(0 4px 7.5px rgba(40,167,69,.3))}50%{filter:drop-shadow(0 4px 12.5px rgba(40,167,69,.6))}}
@keyframes reference-buy-shimmer{0%{left:-60%}15%,100%{left:120%}}
@media(prefers-reduced-motion:reduce){body.trevo-reference button.reference-buy{animation:none}body.trevo-reference button.reference-buy::after{animation:none;display:none}}
body.trevo-reference :is(#loginModal,#cadastroModal) button[type="submit"]{background:#198754!important;border-color:#198754!important;color:#fff!important} body.trevo-reference :is(#loginModal,#cadastroModal) button[type="submit"]:hover{background:#157347!important;border-color:#157347!important}

body.trevo-reference .campanha-header .custom-badge-display .badge{font-size:10px!important;line-height:1!important;padding:4px 7px!important}
/* Keep the mobile login within comfortable reach, without a full-screen top edge. */
body.trevo-reference #loginModal .modal-dialog{width:calc(100% - 32px)!important;max-width:420px!important;height:auto!important;min-height:0!important;margin:clamp(48px,18vh,150px) auto 24px!important}
body.trevo-reference #loginModal .modal-content{height:auto!important;border:0;border-radius:16px!important;overflow:hidden}
body.trevo-reference #loginModal .modal-header{padding:16px 18px 8px!important}
body.trevo-reference #loginModal .modal-body{padding:12px 18px 18px!important;overflow-y:visible!important}
@media(max-height:500px){body.trevo-reference #loginModal .modal-dialog{margin:16px auto!important}}

@keyframes reference-popular-shine{0%{background-position:150% 0}20%,100%{background-position:-150% 0}}
@keyframes reference-popular-pulse{0%,100%{filter:drop-shadow(0 0 1px #19875433)}50%{filter:drop-shadow(0 0 4px #19875488)}}
@media(prefers-reduced-motion:reduce){body.trevo-reference .app-vendas-express .vendasExpressNumsSelect .mais-popular:before{animation:none;background-image:none}}

body.trevo-reference .header-app-header.reference-scrolled{background:#000!important}
body.trevo-reference .header-app-header .reference-header-titles{justify-self:end;display:flex;flex-direction:column;align-items:center;font-size:10px;color:#ffffb8!important;line-height:1.3}
body.trevo-reference .header-app-header .reference-header-titles i{font-size:23px;color:#fff}
body.trevo-reference .campanha-header .SorteioTpl_imagemContainer__2-pl4::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.78) 100%)}
body.trevo-reference .campanha-header .SorteioTpl_info__t1BZr{position:absolute!important;top:auto!important;bottom:50px!important;left:0!important;padding:0 12px!important;background:transparent!important;z-index:2}
body.trevo-reference .campanha-header .SorteioTpl_title__3RLtu,body.trevo-reference .campanha-header .SorteioTpl_title__3RLtu a{font-size:16px!important;line-height:1.2!important;font-weight:500!important;margin:0 0 1px!important}
body.trevo-reference .campanha-header .SorteioTpl_descricao__1b7iL{font-size:12px!important;line-height:1.2!important;font-weight:400!important;margin:0 0 1px!important;opacity:.7}
body.trevo-reference .campanha-header .custom-badge-display{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:24px;margin-bottom:1px!important}
body.trevo-reference .reference-campaign-registration{display:inline-block;background:#212529;color:#fff;border-radius:5px;padding:4px 6px;font-size:10px;font-weight:700;line-height:1;overflow-wrap:anywhere;max-width:100%}
@media(max-width:380px){body.trevo-reference .header-app-header .container>div{grid-template-columns:1fr 150px 1fr}}
/* Keep legacy card overlays from covering the title and badge. */
body.trevo-reference .campanha-header::before,body.trevo-reference .campanha-header::after{display:none!important}
body.trevo-reference .campanha-header .SorteioTpl_title__3RLtu{padding:0!important}
body.trevo-reference .header-app-header .container>div>button{justify-self:start;padding:0!important;margin:0!important;font-size:30px!important}
body.trevo-reference .campanha-header .SorteioTpl_imagemContainer__2-pl4::after{z-index:3}
body.trevo-reference .campanha-header .SorteioTpl_info__t1BZr{z-index:4}
body.trevo-reference .campanha-header .SorteioTpl_descricao__1b7iL{padding:0!important}
/* Prize list, populated from the existing load_cotas response. */
body.trevo-reference .reference-prizes{margin:20px 0;color:#323232}
body.trevo-reference .reference-prizes-heading{display:flex;align-items:center;gap:8px;margin-bottom:8px}
body.trevo-reference .reference-prizes-trophy{font-size:30px;line-height:1}
body.trevo-reference .reference-prizes-copy{flex:1;min-width:0}
body.trevo-reference .reference-prizes-copy h2{font-size:14.4px;font-weight:600;margin:0;line-height:1.3}
body.trevo-reference .reference-prizes-copy small{font-size:12px;color:#6c757d}
body.trevo-reference .reference-prizes-total{border-radius:10px;padding:6px 12px;background:linear-gradient(90deg,#132d56,#3b4ad0);color:#fff;font-size:14px;white-space:nowrap}
body.trevo-reference .reference-prizes-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;font-size:14px;font-weight:600;text-align:center;color:#fff}
body.trevo-reference .reference-prizes-counts>div{padding:4px 8px;border-radius:6px}
body.trevo-reference .reference-prizes-available{background:linear-gradient(90deg,#38a143,#02c7d2)}
body.trevo-reference .reference-prizes-awarded{background:linear-gradient(90deg,#a13838,#e25a8b)}
body.trevo-reference .reference-prizes-list{display:flex;flex-direction:column;gap:4px}
body.trevo-reference .reference-prize{display:flex;align-items:center;border-radius:10px;min-width:0}
body.trevo-reference .reference-prize-won{background:#000;color:#fff;padding:5px 8px;gap:8px}
body.trevo-reference .reference-prize-medal{display:flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;border-radius:50%;background:#ffffff26;color:#ffd76a;font-size:13px}
body.trevo-reference .reference-prize-info{flex:1;min-width:0}
body.trevo-reference .reference-prize-winner{font-size:13.76px;font-weight:700;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.trevo-reference .reference-prize-detail{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:1px}
body.trevo-reference .reference-prize-won .reference-prize-reward{color:#bfbfbf}
body.trevo-reference .reference-prize-won .reference-prize-number{margin-left:auto;padding:0 6px;background:transparent;letter-spacing:1px;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}
body.trevo-reference .reference-prize-ticket-icon{display:inline-flex;color:#999;letter-spacing:0}
body.trevo-reference .reference-prize-number{padding:2px 6px;border-radius:6px;font-size:10.24px;line-height:1.05;font-weight:600;white-space:nowrap;background:#0000004d}
body.trevo-reference .reference-prize-reward{font-size:11.2px;line-height:1.25;font-weight:600;min-width:0;overflow-wrap:anywhere}
body.trevo-reference .reference-prize-free{border:1px dashed #32323238;background:#fff;color:#171717;padding:3px 7px;gap:6px}
body.trevo-reference .reference-prize-free .reference-prize-number{background:#3232320f}
body.trevo-reference .reference-prize-status{font-size:9.92px;font-weight:500;line-height:1}
body.trevo-reference .reference-prize-free .reference-prize-reward{margin-left:auto;text-align:right;font-size:11.84px}
body.trevo-reference .reference-prizes-empty{font-size:12px;margin:8px 0}
