/* Checkout, ofertas, PIX e pedidos no tema da home: grafite + azul elétrico. Carregado por último. */
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; src: url('../fonts/archivo-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/inter-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

body.storefront.ef-co {
  --bg: #07080B; --bg2: #0C0D12; --card: #111218; --card2: #16171F; --field: #0C0D12; --line: #1F2029; --line2: #2A2B36;
  --tx: #F4F5F8; --tx2: #A6A8B6; --tx3: #6E7080; --blue: #2E6BFF; --blue2: #5A8CFF; --violet: #7A5CFF; --ok: #3DDC97; --bad: #FF6B6B;
  --ink: var(--tx); --paper: var(--bg); --soft: var(--bg2); --muted: var(--tx2); --mute: var(--tx2);
  --primary: var(--blue); --primary2: #1F57E6; --accent: var(--violet); --coral: var(--blue); --coral-hover: #3B76FF;
  --ig-pink: var(--blue); --pink: var(--blue); --ig-btn: var(--blue); --ig: var(--blue); --pt: var(--blue); --grad: var(--blue);
  --text: var(--tx); --border: var(--line); --card-bg: var(--card);
  --display: 'Archivo', 'Inter', system-ui, sans-serif;
  background: var(--bg) !important; color: var(--tx) !important; font-family: 'Inter', system-ui, sans-serif;
}
html body.ef-co * { scrollbar-color: #2A2B36 transparent; }
html body.ef-co :focus-visible { outline: 2px solid var(--blue2) !important; outline-offset: 3px; }
html body.ef-co h1, html body.ef-co h2, html body.ef-co h3, html body.ef-co h4, html body.ef-co b, html body.ef-co strong { color: inherit; }
html body.ef-co a { color: inherit; }

/* ---------- cabeçalho ---------- */
html body.ef-co header { position: sticky; top: 0; z-index: 80; background: rgba(7,8,11,.78) !important; backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); border-bottom: 1px solid rgba(255,255,255,.07) !important; box-shadow: none !important; }
html body.ef-co header .nav { min-height: 64px; }
html body.ef-co header .logo, html body.ef-co header .logo .txt { color: var(--tx) !important; -webkit-text-fill-color: var(--tx) !important; background: none !important; font: 800 1.15rem var(--display); font-stretch: 112%; letter-spacing: -.03em; display: inline-flex; align-items: center; gap: 10px; }
html body.ef-co .brand-mark { width: 26px !important; height: 22px !important; border-radius: 0 !important; box-shadow: none !important; background: linear-gradient(var(--blue), var(--blue)) 0 100% / 6px 40% no-repeat, linear-gradient(var(--blue), var(--blue)) 10px 100% / 6px 68% no-repeat, linear-gradient(180deg, var(--violet), var(--blue)) 20px 100% / 6px 100% no-repeat !important; opacity: 1; }
html body.ef-co .brand-mark::after, html body.ef-co .brand-mark::before { content: none !important; }
html body.ef-co .nav-links a:not(.btn) { color: var(--tx2) !important; font-weight: 500 !important; }
html body.ef-co .nav-links a:not(.btn):hover { color: var(--tx) !important; }
html body.ef-co .nav-links .btn, html body.ef-co .nav-links .btn-ghost, html body.ef-co .nav-links .btn-primary { background: transparent !important; color: var(--tx) !important; box-shadow: 0 0 0 1px var(--line2) inset !important; border: 0 !important; border-radius: 12px !important; filter: none !important; }
html body.ef-co .nav-links .btn-primary { background: var(--blue) !important; box-shadow: 0 10px 30px -10px rgba(46,107,255,.8) !important; }

/* faixas do topo */
html body.ef-co .promo-bar { background: linear-gradient(90deg, rgba(46,107,255,.18), rgba(122,92,255,.18)) !important; color: var(--tx) !important; border-bottom: 1px solid var(--line); }
html body.ef-co .promo-bar strong { color: #fff; }
html body.ef-co .checkout-trust { background: var(--bg2) !important; border-bottom: 1px solid var(--line) !important; }
html body.ef-co .checkout-trust .container, html body.ef-co .checkout-trust span { color: var(--tx2) !important; }

/* ---------- botões ---------- */
html body.ef-co .btn { font-family: inherit; }
html body.ef-co .btn-primary, html body.ef-co .stamp { background: var(--blue) !important; color: #fff !important; border: 0 !important; border-radius: 14px !important; box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset, 0 10px 30px -10px rgba(46,107,255,.8) !important; filter: none !important; position: relative; overflow: hidden; }
html body.ef-co .btn-primary:hover:not(:disabled) { background: #3B76FF !important; transform: translateY(-2px); }
html body.ef-co .btn-primary:disabled { background: #1A1C26 !important; color: var(--tx3) !important; box-shadow: 0 0 0 1px var(--line) inset !important; animation: none !important; cursor: not-allowed; }
html body.ef-co .btn-primary:not(:disabled)::after { content: ""; position: absolute; top: -40%; bottom: -40%; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-18deg); animation: efc-shine 3.6s cubic-bezier(.2,.75,.2,1) infinite; pointer-events: none; }
@keyframes efc-shine { 0%, 55% { left: -60%; } 100% { left: 130%; } }
html body.ef-co .btn-ghost { background: transparent !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line2) inset !important; border-radius: 12px !important; }
html body.ef-co .btn-ghost:hover { background: rgba(255,255,255,.05) !important; }
html body.ef-co .back-btn { color: var(--tx2) !important; }

/* ---------- etapas ---------- */
html body.ef-co .stepper { margin: 26px 0 6px; }
html body.ef-co .step-ind { color: var(--tx3) !important; }
html body.ef-co .step-ind .dot { background: transparent !important; color: var(--tx3) !important; box-shadow: 0 0 0 1px var(--line2) inset !important; }
html body.ef-co .step-ind.active { color: var(--tx) !important; }
html body.ef-co .step-ind.active .dot { background: var(--blue) !important; color: #fff !important; box-shadow: 0 0 0 4px rgba(46,107,255,.2) !important; }
html body.ef-co .step-ind.done .dot { background: rgba(46,107,255,.2) !important; color: var(--blue2) !important; box-shadow: none !important; }
html body.ef-co .step-line { background: var(--line2) !important; }
html body.ef-co .wiz-title, html body.ef-co .section-title { color: var(--tx) !important; font: 850 clamp(1.7rem, 3.6vw, 2.6rem)/1.05 var(--display) !important; font-stretch: 105% !important; letter-spacing: -.04em !important; }
html body.ef-co .wiz-sub, html body.ef-co .section-sub { color: var(--tx2) !important; }
html body.ef-co .package-eyebrow, html body.ef-co .section-kicker { color: var(--blue2) !important; letter-spacing: .14em; }

/* abas e chips */
html body.ef-co .chips { background: none !important; box-shadow: none !important; border: 0 !important; }
html body.ef-co .chip { background: var(--card) !important; color: var(--tx2) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset !important; border-radius: 12px !important; }
html body.ef-co .chip:hover { color: var(--tx) !important; }
html body.ef-co .chip.active { background: #fff !important; color: #07080B !important; box-shadow: none !important; }
html body.ef-co .purchase-categories a { background: var(--card) !important; color: var(--tx2) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset; border-radius: 12px !important; }
html body.ef-co .purchase-categories a.active { background: #fff !important; color: #07080B !important; box-shadow: none; }

/* ---------- cards: categoria, tipo, pacote ---------- */
html body.ef-co .cat-card, html body.ef-co .type-card, html body.ef-co .package-card, html body.ef-co .package-type {
  background: var(--card) !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset !important; border-radius: 20px !important; background-image: none !important;
  transition: transform .35s cubic-bezier(.2,.75,.2,1), box-shadow .35s, background .35s !important;
}
html body.ef-co .cat-card:hover, html body.ef-co .type-card:hover, html body.ef-co .package-card:hover, html body.ef-co .package-type:hover { background: var(--card2) !important; box-shadow: 0 0 0 1px #33415F inset, 0 30px 60px -30px rgba(46,107,255,.45) !important; transform: translateY(-4px); }
html body.ef-co .cat-card .cat-ico { background: rgba(46,107,255,.12) !important; color: var(--blue2) !important; border-radius: 14px !important; }
html body.ef-co .cat-card h3, html body.ef-co .type-card h3 { color: var(--tx) !important; font-family: var(--display) !important; letter-spacing: -.02em; }
html body.ef-co .cat-card .from, html body.ef-co .from { color: var(--tx3) !important; }
html body.ef-co .cat-card .from b, html body.ef-co .from b { color: var(--tx) !important; background: none !important; -webkit-text-fill-color: var(--tx) !important; }
html body.ef-co .cat-card::after { background: rgba(255,255,255,.06) !important; color: var(--tx) !important; box-shadow: none !important; border-radius: 12px !important; transition: background .3s; }
html body.ef-co .cat-card:hover::after { background: var(--blue) !important; }
html body.ef-co .type-eyebrow, html body.ef-co .t-desc, html body.ef-co .t-delivery { color: var(--tx2) !important; }
html body.ef-co .t-sub, html body.ef-co .type-action { color: var(--blue2) !important; }
html body.ef-co .type-bottom { border-color: var(--line) !important; }
html body.ef-co .t-badge, html body.ef-co .p-badge, html body.ef-co .best-badge { background: rgba(122,92,255,.18) !important; color: #B6A6FF !important; box-shadow: none !important; }
html body.ef-co .package-types-label { color: var(--tx) !important; } html body.ef-co .package-types-label small { color: var(--tx3) !important; }
html body.ef-co .package-type.active, html body.ef-co .package-type[aria-selected="true"] { background: rgba(46,107,255,.1) !important; box-shadow: 0 0 0 1.5px var(--blue) inset !important; }
html body.ef-co .package-type-copy small { color: var(--tx2) !important; }
html body.ef-co .package-type-check, html body.ef-co .package-card .package-card-check { background: rgba(255,255,255,.06) !important; color: transparent !important; }
html body.ef-co .package-type.active .package-type-check, html body.ef-co .package-card.selected .package-card-check { background: var(--blue) !important; color: #fff !important; }
html body.ef-co .package-notice { background: var(--card) !important; color: var(--tx2) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset; }
html body.ef-co .package-notice strong { color: var(--tx); }
html body.ef-co .notice-icon { background: rgba(46,107,255,.16) !important; color: var(--blue2) !important; }
html body.ef-co .package-card .p-kicker, html body.ef-co .package-card .p-name, html body.ef-co .package-card .p-unit, html body.ef-co .package-card .p-price-label { color: var(--tx3) !important; }
html body.ef-co .package-card .p-qty { color: var(--tx) !important; font-family: var(--display) !important; letter-spacing: -.04em; }
html body.ef-co .package-card .p-price { color: var(--tx) !important; background: none !important; -webkit-text-fill-color: currentColor !important; font-family: var(--display) !important; }
html body.ef-co .package-card .p-old { color: var(--tx3) !important; }
html body.ef-co .package-card .p-saving { background: rgba(61,220,151,.14) !important; color: var(--ok) !important; }
html body.ef-co .package-card.selected { background: linear-gradient(180deg, rgba(46,107,255,.14), var(--card)) !important; box-shadow: 0 0 0 2px var(--blue) inset, 0 30px 60px -30px rgba(46,107,255,.6) !important; }
html body.ef-co .package-card.selected .p-price { color: #fff !important; }
html body.ef-co .package-card .package-direct { background: rgba(255,255,255,.06) !important; color: var(--tx) !important; }
html body.ef-co .package-card:hover .package-direct, html body.ef-co .package-card.selected .package-direct { background: var(--blue) !important; color: #fff !important; }
html body.ef-co .package-continue { background: rgba(7,8,11,.88) !important; backdrop-filter: blur(14px); border-top: 1px solid var(--line) !important; }
html body.ef-co .package-continue p { color: var(--tx) !important; }

/* ---------- formulário ---------- */
html body.ef-co .checkout-section, html body.ef-co #step-combo .checkout-layout > .card, html body.ef-co .card { background: var(--card) !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset !important; border-radius: 22px !important; }
html body.ef-co .checkout-layout > .card { background: transparent !important; box-shadow: none !important; }
html body.ef-co .checkout-section h2, html body.ef-co .card h2 { color: var(--tx) !important; font-family: var(--display) !important; letter-spacing: -.02em; }
html body.ef-co .form-step { background: rgba(46,107,255,.16) !important; color: var(--blue2) !important; }
html body.ef-co .field label, html body.ef-co .username-label { color: var(--tx) !important; }
html body.ef-co .field small, html body.ef-co #verify-msg, html body.ef-co .username-tip, html body.ef-co .profile-rules { color: var(--tx3) !important; }
html body.ef-co .username-label em { background: rgba(46,107,255,.14) !important; color: var(--blue2) !important; }
html body.ef-co input[type=text], html body.ef-co input[type=email], html body.ef-co input[type=tel], html body.ef-co textarea, html body.ef-co select { background: var(--field) !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line2) inset !important; border-radius: 14px !important; }
html body.ef-co input::placeholder, html body.ef-co textarea::placeholder { color: var(--tx3) !important; }
html body.ef-co input:focus, html body.ef-co textarea:focus { box-shadow: 0 0 0 1.5px var(--blue) inset, 0 0 0 4px rgba(46,107,255,.18) !important; outline: none; }
html body.ef-co .username-help { background: rgba(255,255,255,.03) !important; color: var(--tx2) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset; }
html body.ef-co .username-help summary, html body.ef-co .username-help summary span { color: var(--tx2) !important; }
html body.ef-co .username-help b { color: var(--blue2) !important; }
html body.ef-co .uh-ico { background: rgba(46,107,255,.16) !important; color: var(--blue2) !important; border: 0 !important; }
html body.ef-co .btn-verify-profile, html body.ef-co #btn-verify { background: var(--blue) !important; color: #fff !important; box-shadow: none !important; }
html body.ef-co #btn-combo-verify::before { content: "🔍"; margin-right: 8px; }
html body.ef-co #btn-verify.is-loading::before,
html body.ef-co #btn-combo-verify.is-loading::before {
  content: "" !important;
  width: 17px;
  height: 17px;
  margin-right: 9px;
  border: 2px solid rgba(255,255,255,.38);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin .75s linear infinite;
  vertical-align: -3px;
}
html body.ef-co .pr-no { color: var(--bad) !important; } html body.ef-co .pr-yes { color: var(--ok) !important; }
html body.ef-co .profile-result, html body.ef-co .post-result { background: rgba(61,220,151,.08) !important; box-shadow: 0 0 0 1px rgba(61,220,151,.25) inset; color: var(--tx) !important; border: 0 !important; }
html body.ef-co .profile-result *, html body.ef-co .post-result * { color: inherit; }
html body.ef-co .profile-stats, html body.ef-co .profile-info small, html body.ef-co .profile-projection { color: var(--tx2) !important; }
html body.ef-co .manual-profile-confirm { color: var(--tx2) !important; }
html body.ef-co .pay-method { background: var(--field) !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line2) inset !important; }
html body.ef-co .pay-method.selected, html body.ef-co .pay-method:has(input:checked) { background: rgba(46,107,255,.1) !important; box-shadow: 0 0 0 1.5px var(--blue) inset !important; }
html body.ef-co .pm-body b { color: var(--tx) !important; } html body.ef-co .pm-body small { color: var(--tx2) !important; }
html body.ef-co #media-picker, html body.ef-co .media-grid { color: var(--tx); }
html body.ef-co .media-tile { background: var(--field) !important; border-color: var(--line2) !important; }
html body.ef-co .media-tile.selected { box-shadow: 0 0 0 2px var(--blue) !important; }
html body.ef-co .media-error, html body.ef-co .media-loading {
  background: var(--field) !important;
  color: var(--tx2) !important;
  border-color: var(--line2) !important;
}
html body.ef-co .media-error p, html body.ef-co .media-loading p { color: var(--tx2) !important; }

/* resumo lateral */
html body.ef-co .checkout-sidebar, html body.ef-co .summary-card { background: linear-gradient(180deg, #121420, #0C0D12) !important; color: var(--tx) !important; box-shadow: 0 0 0 1px var(--line2) inset, 0 40px 80px -40px rgba(46,107,255,.45) !important; border-radius: 24px !important; }
html body.ef-co .summary-line { color: var(--tx2) !important; border-color: var(--line) !important; }
html body.ef-co .summary-line.total span:last-child, html body.ef-co #ck-total, html body.ef-co #combo-total { color: #fff !important; font-family: var(--display) !important; letter-spacing: -.04em; }
html body.ef-co .summary-line.save { color: var(--ok) !important; }
html body.ef-co #ck-summary, html body.ef-co #ck-summary * { color: var(--tx2) !important; }
html body.ef-co .checkout-guarantee { background: rgba(61,220,151,.08) !important; color: #9BE9C6 !important; }
html body.ef-co .secure-badges, html body.ef-co .secure-badges span, html body.ef-co .checkout-status, html body.ef-co .checkout-destination { color: var(--tx3) !important; }

/* ---------- ofertas no checkout ---------- */
html body.ef-co .inline-offers, html body.ef-co .offers-banner { background: var(--card) !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset !important; border-radius: 22px !important; }
html body.ef-co .inline-offers h2, html body.ef-co .inline-offers h3, html body.ef-co .offers-banner * { color: var(--tx) !important; }
html body.ef-co .inline-offers p, html body.ef-co .offer-category, html body.ef-co .offer-feedback, html body.ef-co .offer-photo-hint { color: var(--tx2) !important; }
html body.ef-co .offer-card { background: var(--field) !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line2) inset !important; border-radius: 18px !important; transition: box-shadow .3s, background .3s, transform .3s !important; }
html body.ef-co .offer-card:hover { background: var(--card2) !important; transform: translateY(-2px); }
html body.ef-co .offer-card.selected { background: rgba(46,107,255,.1) !important; box-shadow: 0 0 0 1.5px var(--blue) inset !important; }
html body.ef-co .offer-card * { color: inherit; }
html body.ef-co .offer-card small, html body.ef-co .offer-card p, html body.ef-co .offer-card s { color: var(--tx2) !important; }
html body.ef-co .offer-icon { background: rgba(46,107,255,.14) !important; color: var(--blue2) !important; }
html body.ef-co .offer-discount { background: rgba(61,220,151,.14) !important; color: var(--ok) !important; }
html body.ef-co .offer-required { color: var(--blue2) !important; }
html body.ef-co .offers-more, html body.ef-co .offer-gallery-actions button { color: var(--blue2) !important; background: transparent !important; }
html body.ef-co .offer-destinations {
  background: var(--field) !important;
  color: var(--tx) !important;
  border: 0 !important;
  box-shadow: 0 0 0 1px var(--line2) inset !important;
  border-radius: 16px !important;
  padding: 16px !important;
}
html body.ef-co .offer-destinations h4,
html body.ef-co .offer-destinations strong,
html body.ef-co .offer-destinations b { color: var(--tx) !important; }
html body.ef-co .offer-destinations p,
html body.ef-co .offer-destinations small { color: var(--tx2) !important; }
html body.ef-co .offer-destinations .offer-required { color: var(--blue2) !important; }
html body.ef-co .offer-thumbnails button {
  background: var(--card2) !important;
  border: 0 !important;
  border-radius: 11px !important;
  box-shadow: 0 0 0 1px var(--line2) inset !important;
  overflow: hidden;
}
html body.ef-co .offer-thumbnails img { border-radius: 11px !important; display: block; }
html body.ef-co .offer-thumbnails button.selected {
  outline: 2px solid var(--blue) !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 1px var(--blue) inset, 0 8px 22px -12px rgba(46,107,255,.8) !important;
}
html body.ef-co .offer-thumbnails button.selected::after { background: var(--blue) !important; color: #fff !important; }
html body.ef-co .offer-gallery-actions { display: flex; flex-wrap: wrap; gap: 8px; }
html body.ef-co .offer-gallery-actions button {
  background: rgba(255,255,255,.035) !important;
  color: var(--blue2) !important;
  box-shadow: 0 0 0 1px var(--line2) inset !important;
}
html body.ef-co .offer-gallery-actions button:hover { background: rgba(46,107,255,.12) !important; }
html body.ef-co .offer-loading { display: inline-flex; align-items: center; gap: 8px; color: var(--tx2) !important; }
html body.ef-co .offer-loading .spinner,
html body.ef-co .offer-gallery-actions .spinner { width: 15px; height: 15px; flex: none; }
html body.ef-co .offer-gallery-actions button.is-loading { cursor: wait; }
html body.ef-co .offer-destinations ul { margin-bottom: 0; }
html body.ef-co .offer-destinations li { color: var(--tx2) !important; border-color: var(--line) !important; }
html body.ef-co .offer-destinations li a { color: var(--blue2) !important; }
html body.ef-co .offer-destinations li button { color: var(--bad) !important; }
html body.ef-co .offers-more {
  background: var(--field) !important;
  color: var(--blue2) !important;
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 1px rgba(46,107,255,.12) inset !important;
}

/* ---------- modais: upsell e PIX ---------- */
html body.ef-co .modal-overlay { background: rgba(3,4,6,.78) !important; backdrop-filter: blur(8px); }
html body.ef-co .modal { background: #0F1016 !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line2) inset, 0 60px 120px -40px rgba(0,0,0,.9), 0 0 120px -40px rgba(46,107,255,.4) !important; border-radius: 26px !important; }
html body.ef-co .modal h2, html body.ef-co .modal h3, html body.ef-co .modal b, html body.ef-co .modal strong { color: var(--tx) !important; }
html body.ef-co .modal p, html body.ef-co .modal .sub, html body.ef-co .modal small, html body.ef-co .modal li { color: var(--tx2) !important; }
html body.ef-co .upsell-ribbon { background: var(--blue) !important; color: #fff !important; }
html body.ef-co .upsell-ico { background: rgba(46,107,255,.16) !important; color: var(--blue2) !important; }
html body.ef-co .upsell-box { background: var(--card) !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line2) inset !important; border-radius: 18px !important; }
html body.ef-co .upsell-box * { color: inherit; border-color: var(--line2) !important; }
html body.ef-co .upsell-price, html body.ef-co .upsell-total { color: #fff !important; }
html body.ef-co .upsell-save, html body.ef-co .upsell-badge-row span { background: rgba(61,220,151,.14) !important; color: var(--ok) !important; }
html body.ef-co .btn-upsell-no { color: var(--tx2) !important; }
html body.ef-co .pix-brand strong { color: var(--tx) !important; }
html body.ef-co .pix-method { background: rgba(61,220,151,.14) !important; color: var(--ok) !important; }
html body.ef-co .pix-close { background: rgba(255,255,255,.06) !important; color: var(--tx) !important; }
html body.ef-co .pix-receipt, html body.ef-co .pix-payment-action { background: var(--card) !important; color: var(--tx) !important; box-shadow: 0 0 0 1px var(--line) inset; border: 0 !important; }
html body.ef-co .pix-amount { color: #fff !important; font-family: var(--display) !important; letter-spacing: -.04em; }
html body.ef-co .pix-code { background: var(--field) !important; color: var(--tx2) !important; border: 1px dashed var(--line2) !important; }
html body.ef-co .pix-code-label, html body.ef-co .pix-order-ref, html body.ef-co .pix-bank-note, html body.ef-co .pix-check-note, html body.ef-co .pix-intro { color: var(--tx2) !important; }
html body.ef-co .pix-guide { color: var(--tx2) !important; } html body.ef-co .pix-guide summary { color: var(--tx) !important; }
html body.ef-co #pix-qr img { background: #fff !important; }
html body.ef-co #pix-status { color: var(--tx2) !important; }
html body.ef-co .pix-footer a { color: var(--blue2) !important; }
html body.ef-co .success-ico { background: var(--ok) !important; color: #07080B !important; }

/* ---------- FAQ do checkout ---------- */
html body.ef-co .faq-item { background: var(--card) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset; color: var(--tx) !important; }
html body.ef-co .faq-q { color: var(--tx) !important; } html body.ef-co .faq-q::after { color: var(--blue2) !important; }
html body.ef-co .faq-a { color: var(--tx2) !important; }
html body.ef-co .faq-item.open { background: var(--card) !important; box-shadow: 0 0 0 1.5px var(--blue) inset !important; border: 0 !important; }

/* ---------- pedidos ---------- */
html body.ef-co .page-head h1 { color: var(--tx) !important; font: 850 clamp(1.9rem, 4vw, 2.8rem)/1.05 var(--display) !important; letter-spacing: -.04em !important; }
html body.ef-co .page-head p, html body.ef-co .lookup-privacy, html body.ef-co .order-help { color: var(--tx2) !important; }
html body.ef-co .orders-kicker { color: var(--blue2) !important; letter-spacing: .14em; }
html body.ef-co .order-help a { color: var(--blue2) !important; }
html body.ef-co .lookup-card, html body.ef-co .order-card { background: var(--card) !important; color: var(--tx) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset !important; border-radius: 22px !important; }
html body.ef-co .lookup-heading > span { background: rgba(46,107,255,.16) !important; color: var(--blue2) !important; }
html body.ef-co .lookup-heading p, html body.ef-co .order-meta, html body.ef-co .order-item { color: var(--tx2) !important; }
html body.ef-co .status { background: rgba(255,255,255,.06) !important; color: var(--tx) !important; }
html body.ef-co .empty-state { color: var(--tx2) !important; }

/* rodapé, toast e widgets */
html body.ef-co footer { background: var(--bg) !important; border-top: 1px solid var(--line) !important; color: var(--tx3) !important; }
html body.ef-co footer * { color: inherit; }
html body.ef-co #toast { background: #fff !important; color: #07080B !important; }
html body.ef-co .zap-botao { background: #25D366 !important; }
html body.ef-co .spinner { border-color: var(--line2) !important; border-top-color: var(--blue) !important; }

/* entrada suave das etapas */
html body.ef-co .wizard-step { animation: efc-in .5s cubic-bezier(.2,.75,.2,1) both; }
@keyframes efc-in { from { opacity: 0; transform: translateY(14px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@media (prefers-reduced-motion: reduce) { html body.ef-co *, html body.ef-co *::after { animation: none !important; } }

/* upsell: detalhes */
html body.ef-co .upsell-box::before, html body.ef-co .upsell-box::after { content: none !important; display: none !important; }
html body.ef-co .upsell-badge-row span { background: none !important; padding: 0 !important; }
html body.ef-co .upsell-badge-row .plus { color: var(--tx2) !important; letter-spacing: .12em; font-size: .72rem; font-weight: 700; }
html body.ef-co .upsell-badge-row .disc { background: rgba(61,220,151,.14) !important; color: var(--ok) !important; padding: 3px 9px !important; border-radius: 8px; font-weight: 800; font-size: .74rem; }
html body.ef-co .upsell-line-main .big { color: var(--blue2) !important; font-family: var(--display); }
html body.ef-co .upsell-line-main .upsell-name { color: var(--tx) !important; }
html body.ef-co .upsell-price { font-family: var(--display); letter-spacing: -.03em; }
html body.ef-co .upsell-qty-flow b { background: rgba(46,107,255,.16) !important; color: var(--blue2) !important; padding: 2px 8px; border-radius: 8px; }
html body.ef-co .upsell-total { background: rgba(255,255,255,.03) !important; border-radius: 12px; }
html body.ef-co .upsell-total-row span, html body.ef-co .upsell-total-row { color: var(--tx2) !important; }
html body.ef-co .upsell-total-pay b { color: #fff !important; }
html body.ef-co .upsell-ribbon { transform: none !important; position: static !important; display: inline-block; margin-bottom: 12px; border-radius: 8px !important; }
html body.ef-co .btn-upsell-yes::after { content: none !important; }
html body.ef-co .checkout-destination, html body.ef-co #ck-destination { background: rgba(255,255,255,.04) !important; color: var(--tx2) !important; border: 0 !important; box-shadow: 0 0 0 1px var(--line) inset !important; border-radius: 12px !important; }
html body.ef-co .checkout-destination * { color: inherit !important; }
html body.ef-co .pix-qr-error { background: rgba(255,184,77,.08) !important; color: #FFCF85 !important; border: 0 !important; box-shadow: 0 0 0 1px rgba(255,184,77,.25) inset !important; }
html body.ef-co #pix-status, html body.ef-co .pix-status { background: rgba(46,107,255,.08) !important; color: var(--tx2) !important; border: 0 !important; box-shadow: 0 0 0 1px rgba(46,107,255,.25) inset !important; }
html body.ef-co .pix-footer { border-color: var(--line) !important; }
html body.ef-co .pix-receipt-total, html body.ef-co .pix-receipt-heading { border-color: var(--line2) !important; }
html body.ef-co .pix-receipt-total span { color: var(--tx2) !important; }
html body.ef-co .package-card .package-direct { display: none !important; }

/* ---------- preço em destaque ---------- */
html body.ef-co .package-card .p-price { color: #5A8CFF !important; -webkit-text-fill-color: #5A8CFF !important; font-size: 1.75rem !important; font-weight: 900 !important; letter-spacing: -.04em; text-shadow: 0 0 24px rgba(46,107,255,.35); }
html body.ef-co .package-card.selected .p-price { color: #7FA6FF !important; -webkit-text-fill-color: #7FA6FF !important; }
html body.ef-co .package-card .p-unit { color: var(--tx3) !important; }
html body.ef-co .package-continue p { color: var(--tx2) !important; }

/* ---------- cor por variação: Brasileiros verde · Mundiais azul · Orgânicos ciano ---------- */
html body.ef-co :is(.package-type, .type-card) { --vc: #8E91A1; --vc-rgb: 142,145,161; }
html body.ef-co :is(.package-type[data-package-type$="-br"], .type-card[data-type$="-br"]) { --vc: #3DDC97; --vc-rgb: 61,220,151; }
html body.ef-co :is(.package-type[data-package-type*="mundia"], .type-card[data-type*="mundia"]) { --vc: #5A8CFF; --vc-rgb: 90,140,255; }
html body.ef-co :is(.package-type[data-package-type*="organic"], .type-card[data-type*="organic"]) { --vc: #22D3EE; --vc-rgb: 34,211,238; }

html body.ef-co .package-type { position: relative; padding-left: 16px !important; box-shadow: 0 0 0 1px rgba(var(--vc-rgb), .28) inset !important; }
html body.ef-co .package-type .package-type-copy b { color: var(--vc) !important; }
html body.ef-co .package-type-icon { display: none !important; }
html body.ef-co .package-type .package-type-copy::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 0 3px 3px 0; background: var(--vc); opacity: .7; }
html body.ef-co .package-type:hover { box-shadow: 0 0 0 1px rgba(var(--vc-rgb), .6) inset !important; background: rgba(var(--vc-rgb), .06) !important; }
html body.ef-co .package-type.active, html body.ef-co .package-type[aria-selected="true"] { background: linear-gradient(135deg, rgba(var(--vc-rgb), .18), rgba(var(--vc-rgb), .04)) !important; box-shadow: 0 0 0 1.5px var(--vc) inset, 0 14px 34px -16px rgba(var(--vc-rgb), .7) !important; }
html body.ef-co .package-type.active .package-type-copy::before { opacity: 1; }
html body.ef-co .package-type.active .package-type-check { background: var(--vc) !important; color: #07080B !important; }

html body.ef-co .type-card { box-shadow: 0 0 0 1px rgba(var(--vc-rgb), .3) inset !important; }
html body.ef-co .type-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 20px 20px 0 0; background: var(--vc); }
html body.ef-co .type-card h3 { color: var(--vc) !important; }
html body.ef-co .type-card .t-sub { color: var(--vc) !important; opacity: .85; }
html body.ef-co .type-card .type-action { color: var(--vc) !important; }
html body.ef-co .type-card:hover { box-shadow: 0 0 0 1.5px var(--vc) inset, 0 30px 60px -30px rgba(var(--vc-rgb), .55) !important; }
html body.ef-co .type-card .from b { color: #5A8CFF !important; -webkit-text-fill-color: #5A8CFF !important; }
html body.ef-co .type-card::before { content: none !important; }
html body.ef-co .type-card { background: radial-gradient(120% 70% at 0% 0%, rgba(var(--vc-rgb), .13), transparent 60%), var(--card) !important; }

/* emojis de volta: variação e pacotes */
html body.ef-co .package-type-icon { display: inline-grid !important; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 9px; background: rgba(var(--vc-rgb), .14); font-size: 1.05rem; }
html body.ef-co .package-type { gap: 10px !important; }
html body.ef-co .package-card .p-visual { display: grid !important; place-items: center; width: 40px; height: 40px; margin: 2px auto 4px !important; border-radius: 12px; background: rgba(46,107,255,.1); }
html body.ef-co .package-card .p-emoji { font-size: 1.25rem !important; line-height: 1; }
html body.ef-co .package-card.selected .p-visual { background: rgba(46,107,255,.2); }
@media (max-width: 760px) { html body.ef-co .package-card .p-visual { width: 34px; height: 34px; } html body.ef-co .package-card .p-emoji { font-size: 1.05rem !important; } }

/* Cards de pacote enxutos: quantidade, preço e preço anterior. O resto só poluía a escolha. */
.purchase-page .package-card .p-kicker,
html body.ef-co.purchase-page .package-card .p-visual,
.purchase-page .package-card .p-price-label,
.purchase-page .package-card .p-unit { display: none !important; }
.purchase-page .package-card .p-old.placeholder { display: none !important; }
.purchase-page .package-card .p-name { margin-bottom: 6px; }
/* Sem entrada com desfoque/atraso: a página aparece pronta para escolher. */
html body.ef-co .wizard-step, html body.storefront.rv-ready .rv, html body.storefront.rv-ready .rv-grid > * { animation: none !important; filter: none !important; }
html body.storefront.rv-ready .rv { opacity: 1 !important; transform: none !important; }
