/* ============================================================
   Rifa Premiada — design system 2026
   Trust-first PIX commerce. One theme (light). One accent (emerald).
   Loaded LAST; overrides the legacy app-original-2.css / inline styles.
   ============================================================ */

:root{
  --rf-bg:#f5f7fa;
  --rf-surface:#ffffff;
  --rf-surface-2:#f1f4f8;
  --rf-ink:#0f1729;
  --rf-muted:#5b6472;
  --rf-faint:#8b94a3;
  --rf-line:#e6eaf1;
  --rf-line-2:#eef1f6;

  --rf-acc:#12b76a;
  --rf-acc-strong:#039855;
  --rf-acc-press:#027a48;
  --rf-acc-tint:#e7f7ef;
  --rf-acc-ink:#05603a;

  --rf-r-card:16px;
  --rf-r-input:12px;
  --rf-r-pill:999px;

  --rf-sh-1:0 1px 2px rgba(16,24,40,.05);
  --rf-sh-2:0 2px 6px rgba(16,24,40,.06), 0 12px 28px rgba(16,24,40,.07);
  --rf-sh-acc:0 8px 22px rgba(4,152,85,.28);

  --rf-max:600px;
  --rf-ease:cubic-bezier(.16,1,.3,1);
}

/* ---- reset / neutralize legacy ---- */
html,body{ background:var(--rf-bg) !important; }
body{
  font-family:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif !important;
  color:var(--rf-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  margin:0;
}
body *{ box-sizing:border-box; }
/* kill the legacy dark storefront + odd margins from old CSS */
.app-main,.rifas,.rifa-content,.detail{
  background:transparent !important;
  margin-top:0 !important;
  min-height:0 !important;
  position:static !important;
  max-width:none !important;
  border-radius:0 !important;
  z-index:auto !important;
}
.rf-wrap{ width:100%; max-width:var(--rf-max); margin:0 auto; padding:0 16px; }

/* ============================================================
   NAV
   ============================================================ */
.rf-nav{
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--rf-line);
}
.rf-nav__inner{ height:60px; display:flex; align-items:center; justify-content:space-between; }
.rf-brand{
  display:inline-flex; align-items:center; gap:9px;
  font-weight:800; font-size:17px; letter-spacing:-.01em; color:var(--rf-ink) !important; text-decoration:none;
}
.rf-brand__mark{
  width:30px; height:30px; border-radius:9px; display:inline-grid; place-items:center;
  background:linear-gradient(135deg,var(--rf-acc),var(--rf-acc-strong)); color:#fff; font-size:16px;
  box-shadow:var(--rf-sh-acc);
}
.rf-nav__actions{ display:flex; align-items:center; gap:6px; }
.rf-nav__link{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--rf-surface-2); border:1px solid var(--rf-line);
  color:var(--rf-ink); font-weight:600; font-size:13px;
  padding:8px 13px; border-radius:var(--rf-r-pill); cursor:pointer;
  transition:background .15s var(--rf-ease), transform .12s var(--rf-ease);
}
.rf-nav__link i{ font-size:15px; color:var(--rf-acc-strong); }
.rf-nav__link:active{ transform:scale(.97); }
.rf-iconbtn{
  width:40px; height:40px; border-radius:11px; display:grid; place-items:center;
  background:var(--rf-surface-2); border:1px solid var(--rf-line); color:var(--rf-ink);
  font-size:20px; cursor:pointer;
}

.rf-main{ padding-top:18px; padding-bottom:20px; }

/* ============================================================
   HERO
   ============================================================ */
.rf-hero{
  position:relative; overflow:hidden;
  background:var(--rf-surface);
  border:1px solid var(--rf-line);
  border-radius:var(--rf-r-card);
  padding:22px 20px 20px;
  box-shadow:var(--rf-sh-2);
}
.rf-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 90% at 100% 0%, rgba(18,183,106,.10), transparent 55%);
}
.rf-hero>*{ position:relative; }
.rf-hero__eyebrow{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700; color:var(--rf-acc-ink);
  background:var(--rf-acc-tint); border:1px solid rgba(4,152,85,.16);
  padding:5px 11px; border-radius:var(--rf-r-pill);
}
.rf-hero__title{
  margin:14px 0 0; font-size:26px; line-height:1.12; font-weight:800; letter-spacing:-.02em;
  color:var(--rf-ink);
}
.rf-hero__sub{ margin:9px 0 0; font-size:14.5px; line-height:1.5; color:var(--rf-muted); max-width:38ch; }
.rf-hero__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.rf-chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:600; color:var(--rf-ink);
  background:var(--rf-surface-2); border:1px solid var(--rf-line);
  padding:6px 11px; border-radius:var(--rf-r-pill);
}
.rf-chip i{ color:var(--rf-acc-strong); font-size:13px; }

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.rf-sectionhead{ display:flex; align-items:baseline; gap:9px; margin:26px 2px 12px; }
.rf-sectionhead h2{ margin:0; font-size:19px; font-weight:800; letter-spacing:-.02em; color:var(--rf-ink); }
.rf-sectionhead span{ font-size:13px; color:var(--rf-faint); font-weight:500; }

/* ============================================================
   CARDS
   ============================================================ */
.rf-card{ display:block; text-decoration:none !important; color:inherit; margin-bottom:12px; }
.rf-card--feat{
  background:var(--rf-surface); border:1px solid var(--rf-line);
  border-radius:var(--rf-r-card); overflow:hidden; box-shadow:var(--rf-sh-2);
  transition:transform .16s var(--rf-ease), box-shadow .16s var(--rf-ease);
}
.rf-card--feat:active{ transform:scale(.99); }
.rf-card__media{ position:relative; aspect-ratio:16/10; background:var(--rf-surface-2); }
.rf-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.rf-card--feat .rf-card__body{ padding:15px 16px 16px; }
.rf-card__title{ margin:0; font-size:18px; font-weight:800; letter-spacing:-.01em; color:var(--rf-ink); line-height:1.2; }
.rf-card__sub{ margin:5px 0 0; font-size:13.5px; color:var(--rf-muted); line-height:1.45; }
.rf-card__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:15px; }

.rf-price{ display:flex; flex-direction:column; line-height:1.1; }
.rf-price__label{ font-size:11px; color:var(--rf-faint); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.rf-price__val{ font-size:20px; font-weight:800; color:var(--rf-ink); font-variant-numeric:tabular-nums; margin-top:2px; }

/* row card */
.rf-card--row{
  display:flex; align-items:center; gap:13px;
  background:var(--rf-surface); border:1px solid var(--rf-line);
  border-radius:var(--rf-r-card); padding:11px; box-shadow:var(--rf-sh-1);
  transition:transform .16s var(--rf-ease);
}
.rf-card--row:active{ transform:scale(.99); }
.rf-card__thumb{ width:72px; height:72px; border-radius:12px; overflow:hidden; flex:none; background:var(--rf-surface-2); }
.rf-card__thumb img{ width:100%; height:100%; object-fit:cover; }
.rf-card__rowbody{ flex:1; min-width:0; }
.rf-card--row .rf-card__title{ font-size:15px; }
.rf-card--row .rf-card__sub{ margin:3px 0 7px; font-size:12.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rf-card__chev{ color:var(--rf-faint); font-size:18px; flex:none; }

/* badges */
.rf-badge{
  display:inline-flex; align-items:center; gap:2px;
  font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:var(--rf-r-pill);
}
.rf-badge--open{ background:var(--rf-acc-tint); color:var(--rf-acc-ink); }
.rf-badge--live{
  position:absolute; top:12px; left:12px;
  background:var(--rf-ink); color:#fff; box-shadow:0 4px 12px rgba(15,23,41,.3);
}
.rf-detail .rf-badge--live{ position:static; }
.rf-badge--live i{ color:#ffd15c; font-size:18px; margin:-4px -3px; animation:rf-blink 1.4s ease-in-out infinite; }
@keyframes rf-blink{ 0%,100%{opacity:1} 50%{opacity:.35} }
@media (prefers-reduced-motion:reduce){ .rf-badge--live i{ animation:none } }

/* ============================================================
   STEPS
   ============================================================ */
.rf-steps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.rf-step{
  display:flex; align-items:center; gap:13px;
  background:var(--rf-surface); border:1px solid var(--rf-line);
  border-radius:14px; padding:13px 15px; font-size:14px; color:var(--rf-ink);
}
.rf-step strong{ font-weight:700; }
.rf-step__n{
  flex:none; width:30px; height:30px; border-radius:50%;
  display:grid; place-items:center; font-weight:800; font-size:14px;
  color:var(--rf-acc-ink); background:var(--rf-acc-tint); border:1px solid rgba(4,152,85,.18);
}

/* ============================================================
   WINNERS
   ============================================================ */
.rf-winner{
  display:flex; align-items:center; gap:12px;
  background:var(--rf-surface); border:1px solid var(--rf-line);
  border-radius:14px; padding:10px 12px; margin-bottom:10px;
}
.rf-winner__ph{ width:48px; height:48px; border-radius:12px; object-fit:cover; border:2px solid var(--rf-acc); flex:none; }
.rf-winner__info{ flex:1; min-width:0; display:flex; flex-direction:column; }
.rf-winner__info strong{ font-size:14.5px; font-weight:700; }
.rf-winner__info span{ font-size:12.5px; color:var(--rf-muted); }
.rf-winner__prize{ width:42px; height:42px; border-radius:50%; object-fit:cover; flex:none; }

/* ============================================================
   FAQ
   ============================================================ */
.rf-faq{ display:flex; flex-direction:column; gap:8px; }
.rf-faq__item{
  background:var(--rf-surface); border:1px solid var(--rf-line);
  border-radius:14px; overflow:hidden;
}
.rf-faq__item summary{
  list-style:none; cursor:pointer; padding:14px 16px;
  font-size:14px; font-weight:600; color:var(--rf-ink);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.rf-faq__item summary::-webkit-details-marker{ display:none; }
.rf-faq__item summary::after{
  content:"\F282"; font-family:"bootstrap-icons"; font-size:15px; color:var(--rf-faint);
  transition:transform .2s var(--rf-ease);
}
.rf-faq__item[open] summary::after{ transform:rotate(180deg); }
.rf-faq__item p{ margin:0; padding:0 16px 15px; font-size:13.5px; line-height:1.55; color:var(--rf-muted); }

/* ============================================================
   DETAIL
   ============================================================ */
.rf-detail{ padding-bottom:8px; }
.rf-detail__media{
  border-radius:var(--rf-r-card); overflow:hidden; border:1px solid var(--rf-line);
  box-shadow:var(--rf-sh-2); aspect-ratio:16/10; background:var(--rf-surface-2);
}
.rf-detail__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.rf-detail__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:16px 2px 0; }
.rf-detail__title{ margin:0; font-size:23px; font-weight:800; letter-spacing:-.02em; line-height:1.15; }
.rf-detail__sub{ margin:6px 0 0; font-size:14px; color:var(--rf-muted); line-height:1.45; }

.rf-pricebar{
  display:flex; align-items:center; justify-content:space-between;
  background:var(--rf-acc-tint); border:1px solid rgba(4,152,85,.16);
  border-radius:14px; padding:12px 16px; margin-top:16px;
}
.rf-pricebar__label{ font-size:13px; font-weight:600; color:var(--rf-acc-ink); }
.rf-pricebar__val{ font-size:22px; font-weight:800; color:var(--rf-acc-ink); font-variant-numeric:tabular-nums; }

/* countdown */
.rf-count{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:14px; }
.rf-count__cell{
  background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:12px;
  padding:11px 4px; text-align:center;
}
.rf-count__cell b{ display:block; font-size:22px; font-weight:800; color:var(--rf-ink); font-variant-numeric:tabular-nums; line-height:1; }
.rf-count__cell span{ display:block; margin-top:5px; font-size:11px; color:var(--rf-faint); text-transform:uppercase; letter-spacing:.04em; font-weight:600; }

/* progress */
.rf-progress{ margin-top:16px; }
.rf-progress__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; font-size:13px; }
.rf-progress__top span{ color:var(--rf-muted); font-weight:600; }
.rf-progress__top b{ color:var(--rf-acc-strong); font-weight:800; font-variant-numeric:tabular-nums; }
.rf-progress__track{ height:12px; border-radius:var(--rf-r-pill); background:var(--rf-surface-2); border:1px solid var(--rf-line); overflow:hidden; }
.rf-progress__fill{
  height:100%; border-radius:var(--rf-r-pill);
  background:linear-gradient(90deg,var(--rf-acc),var(--rf-acc-strong));
  transition:width .5s var(--rf-ease);
}

/* generic block */
.rf-block{ margin-top:22px; }
.rf-block__head{ display:flex; align-items:baseline; gap:8px; margin-bottom:11px; flex-wrap:wrap; }
.rf-block__head h3{ margin:0; font-size:17px; font-weight:800; letter-spacing:-.01em; }
.rf-block__head span{ font-size:12.5px; color:var(--rf-faint); }

/* promo tiles */
.rf-promos{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.rf-promo{
  display:flex; flex-direction:column; gap:2px; text-align:left;
  background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:13px;
  padding:12px 14px; cursor:pointer; color:var(--rf-ink);
  transition:transform .12s var(--rf-ease), border-color .15s var(--rf-ease), box-shadow .15s var(--rf-ease);
}
.rf-promo b{ font-size:15px; font-weight:800; }
.rf-promo span{ font-size:13px; color:var(--rf-acc-strong); font-weight:700; font-variant-numeric:tabular-nums; }
.rf-promo:hover{ border-color:var(--rf-acc); box-shadow:var(--rf-sh-1); }
.rf-promo:active{ transform:scale(.97); }

/* buy card */
.rf-buy{
  background:var(--rf-surface); border:1px solid var(--rf-line);
  border-radius:var(--rf-r-card); padding:16px; box-shadow:var(--rf-sh-2);
}
.rf-qtygrid{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.rf-qty{
  position:relative; text-align:center; cursor:pointer;
  background:var(--rf-surface-2); border:1px solid var(--rf-line); border-radius:13px;
  padding:14px 8px 11px; color:var(--rf-ink);
  transition:transform .12s var(--rf-ease), border-color .15s var(--rf-ease);
}
.rf-qty b{ display:block; font-size:20px; font-weight:800; font-variant-numeric:tabular-nums; }
.rf-qty span{ display:block; margin-top:3px; font-size:11px; color:var(--rf-faint); text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
.rf-qty:hover{ border-color:var(--rf-acc); }
.rf-qty:active{ transform:scale(.96); }
.rf-qty--pop{ border-color:var(--rf-acc); background:var(--rf-acc-tint); }
.rf-qty__tag{
  position:absolute; top:-9px; left:50%; transform:translateX(-50%);
  background:var(--rf-acc-strong); color:#fff !important; font-size:9.5px !important;
  font-weight:800 !important; letter-spacing:.06em !important; padding:2px 9px; border-radius:var(--rf-r-pill);
  white-space:nowrap;
}

/* stepper */
.rf-stepper{ display:flex; align-items:center; gap:10px; margin:15px 0; }
.rf-stepper__btn{
  width:46px; height:46px; border-radius:12px; flex:none;
  background:var(--rf-surface-2); border:1px solid var(--rf-line); color:var(--rf-ink);
  font-size:17px; cursor:pointer; display:grid; place-items:center;
  transition:transform .12s var(--rf-ease);
}
.rf-stepper__btn:active{ transform:scale(.92); }
.rf-stepper__input{
  flex:1; height:46px; text-align:center; font-size:18px; font-weight:800; color:var(--rf-ink);
  background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:12px;
  -moz-appearance:textfield; font-variant-numeric:tabular-nums;
}
.rf-stepper__input::-webkit-outer-spin-button,.rf-stepper__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.rf-stepper__input:focus{ outline:none; border-color:var(--rf-acc); box-shadow:0 0 0 3px var(--rf-acc-tint); }

/* buttons */
.rf-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:inherit; font-weight:700; font-size:15px; cursor:pointer;
  border:none; border-radius:var(--rf-r-pill); text-decoration:none;
  padding:13px 20px; transition:transform .12s var(--rf-ease), box-shadow .15s var(--rf-ease), background .15s var(--rf-ease);
}
.rf-btn--sm{ background:var(--rf-acc-strong); color:#fff !important; padding:9px 16px; font-size:13.5px; box-shadow:var(--rf-sh-acc); }
.rf-btn--buy{
  width:100%; background:linear-gradient(135deg,var(--rf-acc),var(--rf-acc-strong)); color:#fff;
  box-shadow:var(--rf-sh-acc); justify-content:space-between; font-size:16px; padding:16px 20px;
}
.rf-btn--buy:active,.rf-btn--sm:active{ transform:translateY(1px) scale(.99); }
.rf-btn--buy span{ display:inline-flex; align-items:center; gap:8px; }
.rf-btn__total{ font-weight:800; font-variant-numeric:tabular-nums; }
.rf-actions{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:14px; }
.rf-btn--ghost{
  background:var(--rf-surface); color:var(--rf-ink); border:1px solid var(--rf-line);
  font-size:13.5px; font-weight:600; padding:12px 10px;
}
.rf-btn--ghost i{ color:var(--rf-acc-strong); }
.rf-btn--ghost:active{ transform:scale(.98); }

/* share */
.rf-share{ margin-top:24px; text-align:center; }
.rf-share__label{ font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--rf-faint); font-weight:600; margin-bottom:11px; display:block; }
.rf-share__row{ display:flex; gap:11px; justify-content:center; }
.rf-share__btn{
  width:46px; height:46px; border-radius:50%; display:inline-grid; place-items:center;
  background:var(--c); color:#fff !important; font-size:20px; text-decoration:none;
  box-shadow:0 4px 12px rgba(16,24,40,.15); transition:transform .15s var(--rf-ease);
}
.rf-share__btn:active{ transform:scale(.92); }

/* ============================================================
   FOOTER
   ============================================================ */
.rf-footer{
  margin-top:26px; padding:26px 16px 30px; text-align:center;
  background:var(--rf-ink); color:#fff;
}
.rf-footer__brand{ font-weight:800; font-size:17px; letter-spacing:-.01em; }
.rf-footer__note{ font-size:12.5px; color:#9aa3b2; margin-top:5px; }
.rf-footer__note i{ color:var(--rf-acc); }
.rf-footer__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin:16px 0 4px; }
.rf-footer__links a{ color:#c7cdd8; font-size:12.5px; text-decoration:none; }
.rf-footer__links a:hover{ color:#fff; }
.rf-footer__wa{
  display:inline-flex; align-items:center; gap:7px; margin-top:10px;
  background:#25d366; color:#fff; font-size:13.5px; font-weight:700; text-decoration:none;
  padding:10px 20px; border-radius:var(--rf-r-pill);
}
.rf-footer__copy{ font-size:11px; color:#6b7280; margin-top:18px; }

/* desktop refinement */
@media (min-width:680px){
  .rf-hero__title{ font-size:30px; }
  .rf-qtygrid{ grid-template-columns:repeat(4,1fr); }
}

/* ============================================================
   MODALS + FORMS  (restyle the legacy Bootstrap modal DOM in place —
   the checkout JS depends on this structure, so we only skin it)
   ============================================================ */
.modal-content{ border:none !important; border-radius:18px !important; overflow:hidden; box-shadow:0 24px 60px rgba(16,24,40,.28) !important; }
.modal-header{
  background:var(--rf-ink) !important; color:#fff !important; border:none !important; padding:15px 18px !important;
}
.modal-header .modal-title{ font-weight:800 !important; font-size:16px !important; letter-spacing:-.01em; }
.modal-header .close{ opacity:.9; text-shadow:none; font-weight:400; }
.modal-body{ background:var(--rf-surface) !important; color:var(--rf-ink) !important; padding:18px !important; }
.modal-body label{ font-size:12.5px; font-weight:700; color:var(--rf-ink); margin-bottom:6px; text-transform:none; }
.modal .form-control{
  background:var(--rf-surface) !important; border:1px solid var(--rf-line) !important; color:var(--rf-ink) !important;
  border-radius:var(--rf-r-input) !important; height:48px; font-size:15px; padding:10px 14px; box-shadow:none !important;
}
.modal .form-control:focus{ border-color:var(--rf-acc) !important; box-shadow:0 0 0 3px var(--rf-acc-tint) !important; }
.modal .form-group{ margin-bottom:14px; }
.modal-footer{ background:var(--rf-surface) !important; border:none !important; padding:0 18px 18px !important; }

/* checkout primary buttons (Continuar / Concluir / Buscar / Prosseguir) */
#staticBackdrop .btn-primary,
#staticBackdrop button[type="submit"],
.modal .btn-success,
.modal .btn-danger{
  background:linear-gradient(135deg,var(--rf-acc),var(--rf-acc-strong)) !important;
  border:none !important; color:#fff !important; border-radius:var(--rf-r-pill) !important;
  font-weight:700 !important; padding:14px 20px !important; box-shadow:var(--rf-sh-acc) !important;
}
#btn-checkout-action{ width:100%; min-height:52px; font-size:16px; margin-top:4px; }
.modal .btn-outline-secondary{ border-radius:var(--rf-r-pill) !important; border-color:var(--rf-line) !important; color:var(--rf-muted) !important; }
/* info chips inside checkout */
#div-info{ background:var(--rf-acc-tint) !important; color:var(--rf-acc-ink) !important; border-radius:12px; }
#div-info i{ color:var(--rf-acc-strong); }

/* the "está adquirindo N cotas" note */
#staticBackdrop .form-group[style*="cff4fc"]{ background:var(--rf-acc-tint) !important; color:var(--rf-acc-ink) !important; border-radius:12px !important; }

/* social-proof popup */
#messageIn{
  background:var(--rf-ink) !important; color:#fff !important; border-radius:var(--rf-r-pill) !important;
  padding:8px 14px !important; font-size:12px; box-shadow:0 8px 20px rgba(16,24,40,.25);
  width:auto !important; max-width:220px;
}

/* floating support / instagram buttons -> tidy pills */
.botao-flutuante,.botao-flutuante-insta{
  position:fixed !important; right:14px !important; z-index:9998 !important;
  width:auto !important; height:auto !important; padding:10px 15px !important; left:auto !important; top:auto !important;
  border-radius:var(--rf-r-pill) !important; font-size:13px !important; font-weight:700 !important;
  box-shadow:0 8px 20px rgba(16,24,40,.22) !important; display:inline-flex !important; align-items:center; gap:7px;
  color:#fff !important; text-decoration:none !important;
}
.botao-flutuante{ bottom:18px !important; background:#25d366 !important; }
.botao-flutuante-insta{ bottom:66px !important; background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF) !important; }
.botao-flutuante i,.botao-flutuante-insta i{ margin-top:0 !important; font-size:16px; }

/* legacy dark navy modal headers -> ink */
.modal-header[style*="020f1e"]{ background:var(--rf-ink) !important; }
.modal-body[style*="020f1e"]{ background:var(--rf-surface) !important; color:var(--rf-ink) !important; }
.modal-body[style*="020f1e"] .form-control{ color:var(--rf-ink) !important; }

/* mobile fullscreen menu (#mobileMenu) kept from base layout — light skin */
#mobileMenu .modal-content{ background:var(--rf-surface) !important; border-radius:0 !important; }
#mobileMenu .modal-body{ background:var(--rf-surface) !important; }
#mobileMenu .nav-vertical a{ color:var(--rf-ink) !important; font-weight:600; }
#mobileMenu .nav-vertical .icone{ color:var(--rf-acc-strong) !important; }
#mobileMenu .app-header{ background:var(--rf-ink); }
#mobileMenu .btn-primary{ background:linear-gradient(135deg,var(--rf-acc),var(--rf-acc-strong)) !important; border:none !important; }

/* de-uglify legacy carousel controls on detail */
.carousel-item img{ border-radius:16px !important; }

/* ---- card status chip (status() badge from model) + draw date ---- */
.rf-cardstatus{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:2px; }
.rf-cardstatus .badge,.rf-cardstatus span[class*="badge"]{
  background:var(--rf-acc-tint) !important; color:var(--rf-acc-ink) !important;
  font-weight:700 !important; font-size:11.5px !important; padding:4px 10px !important;
  border-radius:var(--rf-r-pill) !important; letter-spacing:0 !important;
}
.rf-cardstatus__date{ font-size:12px; color:var(--rf-faint); font-weight:600; }
.rf-detail__head .rf-cardstatus{ margin-top:10px; }

/* ---- help / fale conosco card ---- */
.rf-help{
  display:flex; align-items:center; gap:13px; cursor:pointer;
  background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:14px;
  padding:13px 14px; margin:14px 0 4px; transition:transform .15s var(--rf-ease);
}
.rf-help:active{ transform:scale(.99); }
.rf-help__icon{ width:42px; height:42px; border-radius:12px; flex:none; display:grid; place-items:center; background:#25d366; color:#fff; font-size:20px; }
.rf-help__txt{ flex:1; display:flex; flex-direction:column; }
.rf-help__txt strong{ font-size:14.5px; font-weight:700; }
.rf-help__txt span{ font-size:12.5px; color:var(--rf-muted); }

/* ---- description (collapsible) ---- */
.rf-desc{ margin-top:16px; background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:14px; overflow:hidden; }
.rf-desc summary{
  list-style:none; cursor:pointer; padding:14px 16px; font-size:14px; font-weight:700; color:var(--rf-ink);
  display:flex; align-items:center; justify-content:space-between;
}
.rf-desc summary::-webkit-details-marker{ display:none; }
.rf-desc summary::after{ content:"\F282"; font-family:"bootstrap-icons"; font-size:15px; color:var(--rf-faint); transition:transform .2s var(--rf-ease); }
.rf-desc[open] summary::after{ transform:rotate(180deg); }
.rf-desc__body{ padding:0 16px 15px; font-size:13.5px; line-height:1.6; color:var(--rf-muted); }
.rf-desc__body p{ margin:0 0 8px; }

/* nav: keep brand on one line; collapse "Meus números" label on small screens */
.rf-brand{ white-space:nowrap; flex:none; }
.rf-nav__inner{ gap:10px; }
@media (max-width:430px){
  .rf-nav__link span{ display:none; }
  .rf-nav__link{ padding:9px 11px; }
  .rf-brand{ font-size:16px; }
}

/* ============================================================
   CHECKOUT / PIX (new-checkout)
   ============================================================ */
.rf-paystatus{ display:flex; align-items:center; gap:13px; background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:16px; padding:15px 16px; box-shadow:var(--rf-sh-2); margin-bottom:14px; }
.rf-paystatus__ic{ width:46px; height:46px; border-radius:50%; display:grid; place-items:center; font-size:24px; background:#fff7e6; color:#f79009; flex:none; }
.rf-paystatus__ic.ok{ background:var(--rf-acc-tint); color:var(--rf-acc-strong); }
.rf-paystatus__ic.err{ background:#fdecec; color:#e5484d; }
.rf-paystatus h2{ margin:0; font-size:16px; font-weight:800; letter-spacing:-.01em; color:var(--rf-ink); }
.rf-paystatus p{ margin:3px 0 0; font-size:13px; color:var(--rf-muted); }

.rf-paytimer{ text-align:center; margin-bottom:14px; background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:14px; padding:12px 14px; }
.rf-paytimer .desc{ margin:0 0 4px; font-size:12px; color:var(--rf-muted); font-weight:600; }
.rf-paytimer #qrclock,.rf-paytimer #cpclock{ font-size:22px; font-weight:800; color:var(--rf-ink); font-variant-numeric:tabular-nums; }
.rf-paytimer .progress{ height:8px; border-radius:999px; background:var(--rf-surface-2); margin-top:9px; overflow:hidden; }
.rf-paytimer .progress-bar{ background:linear-gradient(90deg,var(--rf-acc),var(--rf-acc-strong)) !important; }

.rf-paycard{ background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:16px; padding:18px; box-shadow:var(--rf-sh-2); margin-bottom:14px; }
.rf-qr{ display:grid; place-items:center; margin:4px 0 14px; }
.rf-qr img{ width:210px; max-width:64%; border:1px solid var(--rf-line); border-radius:14px; padding:8px; background:#fff; }
.rf-pixlabel{ font-size:13px; font-weight:700; color:var(--rf-ink); margin-bottom:8px; text-align:center; }
.rf-pixcode{ display:flex; gap:8px; }
.rf-pixcode input{ flex:1; height:46px; border:1px solid var(--rf-line); border-radius:12px; padding:0 14px; font-size:13px; color:var(--rf-ink); background:var(--rf-surface-2); }
.rf-pixcode__btn{ flex:none; min-width:120px; height:46px; border:none; border-radius:12px; font-weight:800; color:#fff; cursor:pointer; background:linear-gradient(135deg,var(--rf-acc),var(--rf-acc-strong)); box-shadow:var(--rf-sh-acc); }
.rf-pixcode__btn:active{ transform:scale(.98); }
.rf-paysteps{ list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.rf-paysteps li{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--rf-ink); line-height:1.4; }
.rf-paysteps .n{ flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:800; background:var(--rf-acc-tint); color:var(--rf-acc-ink); }

.rf-payinfo{ background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:16px; padding:16px 18px; box-shadow:var(--rf-sh-1); }
.rf-payinfo__t{ font-size:14px; font-weight:800; color:var(--rf-ink); margin:0 0 10px; display:flex; align-items:center; gap:7px; }
.rf-payinfo__t i{ color:var(--rf-acc-strong); }
.rf-payinfo__row{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--rf-line-2); font-size:13px; }
.rf-payinfo__row:first-of-type{ border-top:none; }
.rf-payinfo__row span{ color:var(--rf-muted); font-weight:600; }
.rf-payinfo__row b{ color:var(--rf-ink); font-weight:700; text-align:right; }

/* ---- segmented tabs (listagem /sorteios) ---- */
.rf-tabs{ display:flex; gap:6px; background:var(--rf-surface-2); border:1px solid var(--rf-line); border-radius:var(--rf-r-pill); padding:4px; margin:0 0 16px; }
.rf-tab{ flex:1; border:none; background:transparent; padding:9px 12px; border-radius:var(--rf-r-pill); font-family:inherit; font-weight:700; font-size:13.5px; color:var(--rf-muted); cursor:pointer; transition:background .15s var(--rf-ease); }
.rf-tab.active{ background:var(--rf-surface); color:var(--rf-ink); box-shadow:var(--rf-sh-1); }

/* ============================================================
   MEUS NÚMEROS (minhas-reservas)
   ============================================================ */
.rf-select{ width:100%; height:48px; border:1px solid var(--rf-line); border-radius:12px; padding:0 13px; font-family:inherit; font-size:14px; color:var(--rf-ink); background:var(--rf-surface); margin-bottom:14px; }
.rf-select:focus{ outline:none; border-color:var(--rf-acc); box-shadow:0 0 0 3px var(--rf-acc-tint); }
.rf-order{ background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:16px; padding:14px; margin-bottom:12px; box-shadow:var(--rf-sh-1); }
.rf-order__head{ display:flex; gap:12px; align-items:center; }
.rf-order__thumb{ width:54px; height:54px; border-radius:12px; overflow:hidden; flex:none; background:var(--rf-surface-2); }
.rf-order__thumb img{ width:100%; height:100%; object-fit:cover; }
.rf-order__meta{ flex:1; min-width:0; }
.rf-order__date{ font-size:11.5px; color:var(--rf-faint); font-weight:600; }
.rf-order__name{ font-size:15px; font-weight:800; color:var(--rf-ink); line-height:1.2; margin:1px 0; }
.rf-order__status{ font-size:12px; color:var(--rf-muted); font-weight:700; text-transform:uppercase; letter-spacing:.02em; }
.rf-nums{ display:flex; flex-wrap:wrap; gap:5px; margin-top:11px; max-height:160px; overflow:auto; }
.rf-num{ font-size:11px; font-weight:700; padding:3px 8px; border-radius:7px; background:var(--rf-acc-tint); color:var(--rf-acc-ink); font-variant-numeric:tabular-nums; }
.rf-nums__pending{ font-size:12.5px; color:var(--rf-muted); margin-top:10px; }
.rf-order__pay{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:12px; background:linear-gradient(135deg,var(--rf-acc),var(--rf-acc-strong)); color:#fff !important; font-weight:700; font-size:14px; padding:12px; border-radius:12px; text-decoration:none; box-shadow:var(--rf-sh-acc); }
.rf-order__pay:active{ transform:translateY(1px); }
.rf-emptystate{ text-align:center; padding:44px 20px; background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:16px; }
.rf-emptystate i{ font-size:42px; color:var(--rf-faint); }
.rf-emptystate p{ margin:12px 0 0; color:var(--rf-muted); font-size:14px; }

/* ---- finalizada / ganhadores ---- */
.rf-finalized{ text-align:center; background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:16px; padding:26px 18px; box-shadow:var(--rf-sh-1); }
.rf-finalized i{ font-size:40px; color:var(--rf-acc-strong); }
.rf-finalized h2{ margin:12px 0 0; font-size:19px; font-weight:800; color:var(--rf-ink); }
.rf-finalized p{ margin:8px 0 0; font-size:13.5px; color:var(--rf-muted); }
.rf-winrow{ background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:14px; padding:13px 15px; margin-bottom:10px; }
.rf-winrow__prize{ font-size:12.5px; color:var(--rf-faint); font-weight:600; }
.rf-winrow__who{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:4px; }
.rf-winrow__who strong{ font-size:15px; font-weight:800; color:var(--rf-ink); }
.rf-winrow__who span{ font-size:12px; color:var(--rf-acc-ink); font-weight:700; background:var(--rf-acc-tint); padding:2px 9px; border-radius:999px; white-space:nowrap; }

/* ---- auth (login) ---- */
.rf-authwrap{ max-width:420px; }
.rf-authcard{ background:var(--rf-surface); border:1px solid var(--rf-line); border-radius:18px; padding:28px 22px; box-shadow:var(--rf-sh-2); text-align:center; margin-top:10px; }
.rf-auth__ic{ display:inline-grid; place-items:center; width:54px; height:54px; border-radius:15px; background:var(--rf-acc-tint); color:var(--rf-acc-strong); font-size:25px; }
.rf-auth__title{ margin:14px 0 0; font-size:22px; font-weight:800; letter-spacing:-.02em; color:var(--rf-ink); }
.rf-auth__sub{ margin:6px 0 20px; font-size:14px; color:var(--rf-muted); }
.rf-authform{ text-align:left; display:flex; flex-direction:column; gap:5px; }
.rf-authform label{ font-size:12.5px; font-weight:700; color:var(--rf-ink); margin-top:9px; }
.rf-authform input{ height:48px; border:1px solid var(--rf-line); border-radius:12px; padding:0 14px; font-size:15px; color:var(--rf-ink); background:var(--rf-surface); }
.rf-authform input:focus{ outline:none; border-color:var(--rf-acc); box-shadow:0 0 0 3px var(--rf-acc-tint); }
.rf-auth__err{ color:#e5484d; font-size:12.5px; font-weight:600; margin-top:3px; }

/* ---- seção "crie sua própria ação" (landing p/ organizadores) ---- */
.rf-creator{ position:relative; overflow:hidden; background:linear-gradient(135deg,var(--rf-ink),#182338); border:1px solid #232f47; border-radius:var(--rf-r-card); padding:24px 20px; color:#fff; box-shadow:var(--rf-sh-2); }
.rf-creator::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(120% 90% at 100% 0%, rgba(18,183,106,.22), transparent 55%); }
.rf-creator>*{ position:relative; }
.rf-creator__t{ font-size:20px; font-weight:800; letter-spacing:-.02em; line-height:1.2; }
.rf-creator__p{ margin:9px 0 14px; font-size:14px; color:#c7cdd8; line-height:1.55; max-width:44ch; }
.rf-creator__feats{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.rf-creator__feats span{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); padding:6px 11px; border-radius:var(--rf-r-pill); }
.rf-creator__feats i{ color:var(--rf-acc); }
.rf-creator__cta{ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; background:linear-gradient(135deg,var(--rf-acc),var(--rf-acc-strong)); color:#fff !important; font-weight:800; font-size:15px; padding:14px 20px; border-radius:var(--rf-r-pill); text-decoration:none; box-shadow:var(--rf-sh-acc); }
.rf-creator__cta:active{ transform:translateY(1px); }
