/* ═══════════════════════════════════════════════
   SPARKING FOOD — PUBLIC APP v2
   Poppins + cards com imagem/emoji hero
═══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

:root{
  --or:#F4721B;--or2:#F28B3A;--tr:#E8441A;
  --cr:#F5EFE0;--cr2:#EDE3CC;--cr3:#FAF7F0;--cr4:#FDF9F3;
  --tx:#3A2210;--tx2:#6B3D1E;--gz:#9A8070;
  --wh:#FFFFFF;--gn:#2EAB6E;--rd:#E04444;--yl:#F0A500;
  --grad:linear-gradient(135deg,#F4721B,#E8441A);
  --ff:'Poppins',sans-serif;--fs:'Poppins',sans-serif;
}
#sfcs-app-root *,#sfcs-validator-root *{box-sizing:border-box;margin:0;padding:0;font-family:var(--ff);}
.sfcs-section{padding:2.5rem 1.5rem;max-width:1080px;margin:0 auto;}
.sfcs-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.75rem;gap:1rem;flex-wrap:wrap;}
.sfcs-title{font-family:var(--fs);font-size:1.7rem;color:var(--tx);}
.sfcs-title small{display:block;font-size:.68rem;font-family:var(--ff);color:var(--gz);letter-spacing:.6px;text-transform:uppercase;font-weight:600;margin-bottom:.3rem;}
.sfcs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
@media(max-width:820px){.sfcs-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.sfcs-grid{grid-template-columns:1fr;}}
/* CARD */
.sfcs-card{background:var(--wh);border-radius:18px;border:1.5px solid var(--cr2);overflow:hidden;transition:transform .22s,box-shadow .22s;animation:sfcsUp .35s ease both;cursor:pointer;display:flex;flex-direction:column;}
.sfcs-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(58,34,16,.12);}
.sfcs-card:nth-child(1){animation-delay:.04s}.sfcs-card:nth-child(2){animation-delay:.10s}.sfcs-card:nth-child(3){animation-delay:.16s}.sfcs-card:nth-child(4){animation-delay:.22s}.sfcs-card:nth-child(5){animation-delay:.28s}.sfcs-card:nth-child(6){animation-delay:.34s}
/* Hero creme — emoji ou imagem */
.sfcs-card-hero{background:var(--cr3);height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;position:relative;}
.sfcs-card-hero img{width:100%;height:100%;object-fit:cover;}
.sfcs-card-hero .sfcs-emoji{font-size:3.5rem;line-height:1;filter:drop-shadow(0 4px 8px rgba(58,34,16,.12));}
/* Restaurante */
.sfcs-card-rest{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem .3rem;}
.sfcs-card-rest-logo{width:28px;height:28px;border-radius:7px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;overflow:hidden;}
.sfcs-card-rest-logo img{width:100%;height:100%;object-fit:cover;}
.sfcs-card-rest-name{font-size:.76rem;font-weight:700;color:var(--tx);line-height:1.2;}
.sfcs-card-rest-cat{font-size:.61rem;color:var(--gz);}
/* Corpo */
.sfcs-card-body{padding:.2rem 1rem .85rem;display:flex;flex-direction:column;flex:1;}
.sfcs-card-title{font-family:var(--fs);font-size:.95rem;font-weight:700;color:var(--tx);margin-bottom:.35rem;line-height:1.3;}
.sfcs-card-desc{font-size:.71rem;color:var(--gz);line-height:1.5;margin-bottom:.65rem;flex:1;}
/* Código */
.sfcs-card-code{background:var(--cr3);border:1.5px dashed var(--cr2);border-radius:9px;padding:.38rem .7rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;cursor:pointer;transition:background .15s;}
.sfcs-card-code:hover{background:var(--cr2);}
.sfcs-card-code-val{font-size:.79rem;font-weight:700;letter-spacing:2px;color:var(--tx);font-family:monospace;}
.sfcs-card-copy{font-size:.63rem;color:var(--or);font-weight:600;}
.sfcs-card-code.hidden{display:none;}
/* Rodapé */
.sfcs-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;}
.sfcs-card-disc{font-family:var(--fs);font-size:1.15rem;font-weight:900;color:var(--or);line-height:1;}
.sfcs-card-disc.green{color:var(--gn);}
.sfcs-card-meta{font-size:.61rem;color:var(--gz);line-height:1.3;text-align:right;}
.sfcs-card-btn{background:var(--grad);color:white;border:none;padding:.44rem .95rem;border-radius:9px;font-size:.72rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:opacity .15s;}
.sfcs-card-btn:hover{opacity:.9;}
/* Tags */
.sfcs-card-tags{display:flex;gap:.3rem;margin-bottom:.55rem;flex-wrap:wrap;}
.sfcs-ctag{font-size:.57rem;font-weight:700;padding:.1rem .38rem;border-radius:5px;}
.sfcs-ctag.s{background:rgba(244,114,27,.1);color:var(--or);}
.sfcs-ctag.d{background:rgba(46,171,110,.1);color:var(--gn);}
.sfcs-ctag.e{background:rgba(107,61,30,.1);color:var(--tx2);}
/* MODAL TERMOS */
.sfcs-modal-bg{position:fixed;inset:0;background:rgba(26,8,0,.6);z-index:9000;display:none;align-items:flex-end;justify-content:center;backdrop-filter:blur(4px);}
.sfcs-modal-bg.open{display:flex;}
@media(min-width:600px){.sfcs-modal-bg{align-items:center;} .sfcs-modal{border-radius:20px !important;max-width:460px !important;}}
.sfcs-modal{background:var(--wh);border-radius:20px 20px 0 0;width:100%;max-width:460px;max-height:92vh;overflow-y:auto;animation:sfcsSlide .3s cubic-bezier(.34,1.2,.64,1);}
@keyframes sfcsSlide{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sfcs-modal-hero{background:var(--cr3);height:140px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0;}
.sfcs-modal-hero img{width:100%;height:100%;object-fit:cover;}
.sfcs-modal-hero .sfcs-emoji{font-size:4.5rem;filter:drop-shadow(0 6px 12px rgba(58,34,16,.15));}
.sfcs-modal-body{padding:1.4rem 1.4rem .85rem;}
.sfcs-modal-rest{display:flex;align-items:center;gap:.55rem;margin-bottom:.8rem;}
.sfcs-modal-rest-logo{width:30px;height:30px;border-radius:7px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:.9rem;overflow:hidden;flex-shrink:0;}
.sfcs-modal-rest-logo img{width:100%;height:100%;object-fit:cover;}
.sfcs-modal-rest-name{font-size:.77rem;font-weight:700;color:var(--tx);}
.sfcs-modal-rest-cat{font-size:.62rem;color:var(--gz);}
.sfcs-modal-title{font-family:var(--fs);font-size:1.15rem;color:var(--tx);margin-bottom:.5rem;line-height:1.3;}
.sfcs-modal-desc{font-size:.76rem;color:var(--gz);line-height:1.6;margin-bottom:.85rem;}
/* De/Por */
.sfcs-promo-box{background:var(--tx);border-radius:10px;padding:.75rem 1rem;margin-bottom:.85rem;display:flex;align-items:center;justify-content:space-between;}
.sfcs-promo-de{text-decoration:line-through;color:rgba(255,255,255,.4);font-size:.76rem;}
.sfcs-promo-por{font-family:var(--fs);font-size:1.4rem;font-weight:900;color:var(--or);}
.sfcs-promo-eco{font-size:.67rem;font-weight:700;background:rgba(244,114,27,.2);color:var(--or);padding:.18rem .48rem;border-radius:100px;}
/* Combo */
.sfcs-combo-box{background:var(--cr3);border:1.5px solid var(--cr2);border-radius:10px;padding:.65rem 1rem;margin-bottom:.85rem;text-align:center;font-size:.82rem;font-weight:700;color:var(--tx);}
.sfcs-combo-box span{color:var(--or);}
/* Regras */
.sfcs-rules-box{background:var(--cr3);border:1.5px solid var(--cr2);border-radius:10px;padding:.75rem 1rem;margin-bottom:.9rem;}
.sfcs-rules-title{font-size:.62rem;font-weight:700;color:var(--gz);text-transform:uppercase;letter-spacing:.6px;margin-bottom:.35rem;}
.sfcs-rules-text{font-size:.73rem;color:var(--tx2);line-height:1.55;}
/* Código modal */
.sfcs-modal-code{background:var(--cr3);border:2px dashed var(--cr2);border-radius:10px;padding:.55rem .95rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;cursor:pointer;}
.sfcs-modal-code:hover{background:var(--cr2);}
.sfcs-modal-code-val{font-size:.93rem;font-weight:800;letter-spacing:3px;color:var(--tx);font-family:monospace;}
.sfcs-modal-code-copy{font-size:.68rem;color:var(--or);font-weight:600;}
/* Termos */
.sfcs-terms-wrap{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1.1rem;}
.sfcs-terms-cb{width:20px;height:20px;border-radius:5px;border:2px solid var(--cr2);flex-shrink:0;appearance:none;-webkit-appearance:none;cursor:pointer;margin-top:.05rem;transition:all .15s;background:white;position:relative;}
.sfcs-terms-cb:checked{background:var(--or);border-color:var(--or);}
.sfcs-terms-cb:checked::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.78rem;color:white;font-weight:800;}
.sfcs-terms-label{font-size:.72rem;color:var(--gz);line-height:1.55;cursor:pointer;}
.sfcs-terms-label b{color:var(--tx);}
/* Botões */
.sfcs-modal-btns{display:flex;gap:.6rem;padding:0 1.4rem 1.5rem;}
.sfcs-modal-cancel{flex:1;padding:.6rem;background:var(--cr3);border:1.5px solid var(--cr2);border-radius:10px;font-size:.8rem;font-weight:600;color:var(--gz);cursor:pointer;}
.sfcs-modal-use{flex:2;padding:.6rem;background:var(--grad);border:none;border-radius:10px;font-size:.83rem;font-weight:700;color:white;cursor:pointer;transition:opacity .15s;}
.sfcs-modal-use:disabled{opacity:.38;cursor:not-allowed;}
/* PWA INSTALL BAR */
.sfcs-pwa-bar{position:fixed;bottom:0;left:0;right:0;background:var(--tx);color:var(--cr);padding:.8rem 1.2rem;z-index:8000;display:flex;align-items:center;gap:.75rem;transform:translateY(100%);transition:transform .4s cubic-bezier(.34,1.2,.64,1);box-shadow:0 -8px 28px rgba(58,34,16,.3);}
.sfcs-pwa-bar.show{transform:translateY(0);}
.sfcs-pwa-ico{font-size:1.5rem;flex-shrink:0;}
.sfcs-pwa-txt{flex:1;}
.sfcs-pwa-title{font-size:.8rem;font-weight:700;color:white;margin-bottom:.08rem;}
.sfcs-pwa-sub{font-size:.65rem;color:rgba(255,255,255,.55);}
.sfcs-pwa-btn{background:var(--grad);color:white;border:none;border-radius:9px;padding:.48rem .95rem;font-size:.76rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.sfcs-pwa-close{background:none;border:none;color:rgba(255,255,255,.35);cursor:pointer;font-size:1rem;flex-shrink:0;padding:.2rem;}
/* WIDGET FLUTUANTE */
.sfcs-widget-btn{position:fixed;bottom:4.5rem;right:1.5rem;z-index:500;background:var(--grad);color:white;border:none;border-radius:50px;padding:.7rem 1.25rem;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:0 6px 24px rgba(244,114,27,.45);display:flex;align-items:center;gap:.5rem;transition:all .25s;}
.sfcs-widget-btn:hover{transform:translateY(-3px);}
.sfcs-widget-bdg{position:absolute;top:-4px;right:-4px;background:var(--tr);color:white;width:18px;height:18px;border-radius:50%;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--cr3);}
.sfcs-widget-panel{position:fixed;bottom:8rem;right:1.5rem;z-index:499;width:320px;max-height:72vh;background:white;border-radius:18px;box-shadow:0 20px 60px rgba(58,34,16,.2);border:1.5px solid var(--cr2);transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;transition:all .28s cubic-bezier(.34,1.2,.64,1);overflow:hidden;display:flex;flex-direction:column;}
.sfcs-widget-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:all;}
.sfcs-wp-head{background:var(--tx);padding:.9rem 1.15rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.sfcs-wp-logo{width:26px;height:26px;background:var(--grad);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;}
.sfcs-wp-title{font-family:var(--fs);color:var(--cr);font-size:.9rem;}
.sfcs-wp-close{background:transparent;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:1rem;}
.sfcs-wp-scroll{overflow-y:auto;flex:1;}
.sfcs-wp-item{border-bottom:1px solid var(--cr2);padding:.75rem 1rem;cursor:pointer;transition:background .15s;display:flex;gap:.65rem;align-items:center;}
.sfcs-wp-item:hover{background:var(--cr3);}
.sfcs-wp-item:last-child{border-bottom:none;}
.sfcs-wp-item-img{width:38px;height:38px;border-radius:8px;background:var(--cr3);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;overflow:hidden;}
.sfcs-wp-item-img img{width:100%;height:100%;object-fit:cover;}
.sfcs-wp-item-info{flex:1;min-width:0;}
.sfcs-wp-item-name{font-size:.75rem;font-weight:700;color:var(--tx);}
.sfcs-wp-item-desc{font-size:.66rem;color:var(--gz);margin-top:.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sfcs-wp-item-disc{font-family:var(--fs);font-size:1rem;font-weight:900;color:var(--or);flex-shrink:0;}
/* TOAST */
.sfcs-toast{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%) translateY(60px);background:var(--tx);color:var(--cr);padding:.6rem 1.3rem;border-radius:100px;font-size:.8rem;font-weight:500;box-shadow:0 6px 20px rgba(0,0,0,.2);z-index:9999;opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;}
.sfcs-toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
@keyframes sfcsUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ── SECTION HEADER ──────────────────────────── */
.sfc-sec-hdr { text-align:center; margin-bottom:1.4rem; }
.sfc-sec-title { font-family:'Poppins',sans-serif; font-size:1.6rem; font-weight:900; color:var(--tx,#5C3315); line-height:1.2; }
.sfc-sec-sub { font-size:.74rem; color:var(--gz,#B09070); margin-top:.32rem; }

/* ── SPARKING FOOTER ─────────────────────────── */
.sfc-sparking-footer { text-align:center; font-size:.55rem; color:var(--gz,#B09070); margin-top:.6rem; padding-top:.5rem; border-top:1px solid var(--cr2,#EDE3CC); }
.sfc-sparking-footer a { color:var(--or,#F4721B); text-decoration:none; font-weight:600; }
.sfc-sparking-footer a:hover { text-decoration:underline; }

/* ── COUNTDOWN ───────────────────────────────── */
.sfc-countdown { text-align:center; font-size:.65rem; color:var(--or,#F4721B); font-weight:600; background:rgba(244,114,27,.06); border-radius:6px; padding:.28rem .5rem; margin-top:.5rem; }

/* ── OPT-IN TERMS ────────────────────────────── */
.sfc-optin-wrap { display:flex; flex-direction:column; gap:.4rem; margin-bottom:.8rem; }
.sfc-optin-row { display:flex; align-items:center; gap:.5rem; font-size:.72rem; color:var(--tx,#5C3315); cursor:pointer; }
.sfc-optin-row input[type=checkbox] { accent-color:var(--or,#F4721B); width:14px; height:14px; cursor:pointer; }

/* ── LAYOUT: LISTA ───────────────────────────── */
.sfc-lista { display:flex; flex-direction:column; gap:.4rem; }
.sfc-list-item { display:flex; align-items:center; gap:.75rem; background:#fff; border:1.5px solid var(--cr2,#EDE3CC); border-radius:10px; padding:.65rem .9rem; cursor:pointer; transition:all .15s; }
.sfc-list-item:hover { border-color:var(--or,#F4721B); box-shadow:0 3px 12px rgba(244,114,27,.12); }
.sfc-li-logo { font-size:1.4rem; flex-shrink:0; width:36px; text-align:center; }
.sfc-li-body { flex:1; min-width:0; }
.sfc-li-title { font-size:.78rem; font-weight:700; color:var(--tx,#5C3315); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sfc-li-cta { font-size:.62rem; color:var(--gz,#B09070); margin-top:.1rem; }
.sfc-li-right { text-align:right; flex-shrink:0; }
.sfc-li-disc { font-size:.78rem; font-weight:800; color:var(--or,#F4721B); }
.sfc-li-exp { font-size:.58rem; color:var(--gz,#B09070); }
.sfc-li-arrow { font-size:1.1rem; color:var(--or,#F4721B); margin-left:.2rem; flex-shrink:0; }

/* ── LAYOUT: HERO ────────────────────────────── */
.sfc-hero-wrap { display:flex; flex-direction:column; gap:.7rem; }
.sfc-hero { position:relative; border-radius:16px; overflow:hidden; min-height:280px; display:flex; align-items:flex-end; background:linear-gradient(135deg,#F4721B,#E8441A); }
.sfc-hero-img-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.sfc-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(58,34,16,.82) 0%, rgba(58,34,16,.2) 60%, transparent 100%); }
.sfc-hero-emoji { position:absolute; top:1.5rem; right:1.5rem; font-size:4rem; opacity:.22; }
.sfc-hero-body { position:relative; z-index:1; padding:1.4rem 1.2rem; width:100%; }
.sfc-hero-badge { display:inline-block; background:var(--or,#F4721B); color:#fff; font-size:.65rem; font-weight:800; padding:.2rem .6rem; border-radius:100px; margin-bottom:.5rem; }
.sfc-hero-title { font-family:'Poppins',sans-serif; font-size:1.4rem; font-weight:900; color:#fff; line-height:1.25; margin-bottom:.35rem; }
.sfc-hero-cta { font-size:.74rem; color:rgba(255,255,255,.8); margin-bottom:.8rem; }
.sfc-hero-btn { display:inline-flex; align-items:center; gap:.38rem; padding:.55rem 1.2rem; background:#fff; color:var(--or,#F4721B); border:none; border-radius:100px; font-size:.78rem; font-weight:800; cursor:pointer; transition:all .18s; }
.sfc-hero-btn:hover { background:var(--cr,#F5EFE0); }
.sfc-hero-others { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; }
.sfc-hero-mini { background:#fff; border:1.5px solid var(--cr2,#EDE3CC); border-radius:10px; padding:.6rem .7rem; cursor:pointer; transition:all .15s; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.2rem; }
.sfc-hero-mini:hover { border-color:var(--or,#F4721B); }
.sfc-hm-emoji { font-size:1.3rem; }
.sfc-hm-title { font-size:.6rem; font-weight:700; color:var(--tx,#5C3315); line-height:1.3; }
.sfc-hm-disc { font-size:.62rem; font-weight:800; color:var(--or,#F4721B); }

/* ── LAYOUT: CARROSSEL ───────────────────────── */
.sfc-carrossel { position:relative; border-radius:16px; overflow:hidden; background:#fff; border:1.5px solid var(--cr2,#EDE3CC); box-shadow:0 4px 20px rgba(244,114,27,.1); }
.sfc-slides-wrap { display:flex; transition:none; }
.sfc-slide { min-width:100%; display:none; flex-direction:column; }
.sfc-slide.active { display:flex; }
.sfc-slide-img img { width:100%; height:180px; object-fit:cover; }
.sfc-slide-emoji { height:140px; display:flex; align-items:center; justify-content:center; font-size:4.5rem; background:linear-gradient(135deg,var(--cr,#F5EFE0),var(--cr2,#EDE3CC)); }
.sfc-slide-body { padding:1.1rem 1.2rem 1.4rem; }
.sfc-slide-disc { display:inline-block; background:var(--grad,linear-gradient(135deg,#F4721B,#E8441A)); color:#fff; font-size:.68rem; font-weight:800; padding:.22rem .65rem; border-radius:100px; margin-bottom:.5rem; }
.sfc-slide-title { font-family:'Poppins',sans-serif; font-size:1.1rem; font-weight:900; color:var(--tx,#5C3315); margin-bottom:.3rem; line-height:1.3; }
.sfc-slide-cta { font-size:.7rem; color:var(--gz,#B09070); margin-bottom:.6rem; }
.sfc-slide-code { display:flex; align-items:center; gap:.5rem; background:var(--cr3,#FAF7F0); border:1.5px dashed var(--cr2,#EDE3CC); border-radius:8px; padding:.35rem .7rem; margin-bottom:.7rem; }
.sfc-slide-code span { font-size:.8rem; font-weight:800; letter-spacing:2px; color:var(--tx,#5C3315); flex:1; }
.sfc-slide-code button { border:none; background:none; color:var(--or,#F4721B); font-size:.9rem; cursor:pointer; }
.sfc-slide-btn { width:100%; padding:.58rem; background:linear-gradient(135deg,#F4721B,#E8441A); color:#fff; border:none; border-radius:9px; font-size:.78rem; font-weight:800; cursor:pointer; }
.sfc-carr-prev, .sfc-carr-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.9); border:none; width:32px; height:32px; border-radius:50%; font-size:1.2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.12); z-index:2; }
.sfc-carr-prev { left:.6rem; }
.sfc-carr-next { right:.6rem; }
.sfc-carr-dots { display:flex; justify-content:center; gap:.4rem; padding:.7rem 0 .8rem; }
.sfc-dot { width:7px; height:7px; border-radius:50%; background:var(--cr2,#EDE3CC); cursor:pointer; transition:all .2s; }
.sfc-dot.on { background:var(--or,#F4721B); width:16px; border-radius:4px; }

/* ═══════════════════════════════════════════════
   CUPOM VIP — Badge legado (mantido para compatibilidade)
═══════════════════════════════════════════════ */
/* Os estilos VIP foram movidos para a seção CARD REDESIGN abaixo */

/* ═══════════════════════════════════════════════
   VIP GATE — Tela de acesso exclusivo
═══════════════════════════════════════════════ */
.sfc-vip-sheet {
  max-width: 400px !important;
  padding: 2rem 1.6rem 1.6rem !important;
  border-top: 4px solid #7B2FF7 !important;
  text-align: center;
}
.sfc-vip-crown {
  font-size: 2.8rem;
  margin-bottom: .5rem;
  filter: drop-shadow(0 4px 12px rgba(123,47,247,.3));
  animation: sfc-float 3s ease-in-out infinite;
}
@keyframes sfc-float {
  0%,100%{ transform:translateY(0) }
  50%{ transform:translateY(-6px) }
}
.sfc-vip-badge-pill {
  display: inline-block;
  background: linear-gradient(135deg, #7B2FF7, #B066FF);
  color: #fff; font-size: .6rem; font-weight: 800;
  letter-spacing: 1.2px; text-transform: uppercase;
  padding: .28rem .85rem; border-radius: 100px;
  margin-bottom: .85rem;
  box-shadow: 0 3px 12px rgba(123,47,247,.3);
}
.sfc-vip-title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.4rem; font-weight: 900;
  color: var(--tx,#3A2210); margin-bottom: .55rem;
  line-height: 1.25;
}
.sfc-vip-subtitle {
  font-size: .76rem; color: var(--gz,#9A8070);
  line-height: 1.6; margin-bottom: 1.1rem;
}
.sfc-vip-coupon-preview {
  display: flex; align-items: center; gap: .8rem;
  background: linear-gradient(135deg,#fdf6ff,#f5eeff);
  border: 1.5px solid rgba(123,47,247,.2);
  border-radius: 12px; padding: .75rem 1rem;
  margin-bottom: 1.2rem; text-align: left;
}
.sfc-vip-cp-icon { font-size: 1.8rem; flex-shrink: 0; }
.sfc-vip-cp-title {
  font-size: .82rem; font-weight: 700;
  color: var(--tx,#3A2210); margin-bottom: .2rem;
}
.sfc-vip-cp-disc {
  font-size: .72rem; font-weight: 800;
  color: #7B2FF7;
}
.sfc-vip-steps {
  display: flex; flex-direction: column; gap: .55rem;
  margin-bottom: 1.3rem; text-align: left;
}
.sfc-vip-step {
  display: flex; align-items: center; gap: .65rem;
  font-size: .74rem; color: var(--tx,#3A2210);
}
.sfc-vip-step-n {
  width: 22px; height: 22px; border-radius: 50%;
  background: linear-gradient(135deg,#7B2FF7,#B066FF);
  color: #fff; font-size: .65rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sfc-btn-vip-enter {
  display: block; width: 100%; padding: .85rem 1.2rem;
  background: linear-gradient(135deg,#7B2FF7,#B066FF);
  color: #fff; border: none; border-radius: 12px;
  font-size: .85rem; font-weight: 800; cursor: pointer;
  text-decoration: none; text-align: center;
  box-shadow: 0 6px 20px rgba(123,47,247,.35);
  transition: opacity .18s; margin-bottom: .65rem;
}
.sfc-btn-vip-enter:hover { opacity: .92; color:#fff; }
.sfc-btn-vip-back {
  display: block; width: 100%; padding: .7rem 1.2rem;
  background: transparent;
  color: #7B2FF7; border: 1.5px solid rgba(123,47,247,.35);
  border-radius: 12px; font-size: .78rem; font-weight: 700;
  cursor: pointer; transition: all .18s; margin-bottom: .5rem;
}
.sfc-btn-vip-back:hover {
  background: rgba(123,47,247,.07);
  border-color: #7B2FF7;
}
.sfc-vip-disclaimer {
  font-size: .6rem; color: var(--gz,#9A8070);
  margin-top: .6rem; font-style: italic;
}

/* ═══════════════════════════════════════════════
   SPARKING FOOD — CARD v3 (sfc- classes)
   Usadas por app.js renderCard()
═══════════════════════════════════════════════ */

/* ── APP WRAPPER ─────────────────────────────── */
.sfc-app { width:100%; }
.sfc-app-hdr { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.1rem; flex-wrap:wrap; gap:.5rem; }
.sfc-app-title { font-family:var(--fs,'Poppins',sans-serif); font-size:1.2rem; font-weight:900; color:var(--tx,#3A2210); }
.sfc-app-count { font-size:.68rem; font-weight:700; color:var(--gz,#9A8070); background:var(--cr3,#FAF7F0); padding:.2rem .6rem; border-radius:100px; }
/* ═══════════════════════════════════════
   CARD v4 — food delivery premium
   Hierarquia clara, sem ruído visual
   ═══════════════════════════════════════ */

/* ── GRID ──────────────────────────────── */
.sfc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
@media(max-width:900px){ .sfc-grid { grid-template-columns:1fr 1fr; gap:.9rem; } }
@media(max-width:520px){ .sfc-grid { grid-template-columns:1fr; gap:.8rem; } }
.sfc-empty { text-align:center; padding:3rem 1rem; color:var(--gz,#9A8070); font-size:.85rem; }

/* ── CARD WRAPPER ───────────────────────── */
.sfc-ch4 {
  background:#fff;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.07);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 2px 6px rgba(58,34,16,.05), 0 6px 24px rgba(58,34,16,.07);
  transition:transform .2s ease, box-shadow .2s ease;
  animation:sfcsUp .35s ease both;
}
.sfc-ch4:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 36px rgba(58,34,16,.13), 0 2px 8px rgba(58,34,16,.07);
}
.sfc-ch4:nth-child(1){animation-delay:.04s}
.sfc-ch4:nth-child(2){animation-delay:.1s}
.sfc-ch4:nth-child(3){animation-delay:.16s}
.sfc-ch4:nth-child(4){animation-delay:.22s}
.sfc-ch4:nth-child(5){animation-delay:.28s}
.sfc-ch4:nth-child(6){animation-delay:.34s}
.sfc-ch4--vip {
  background:linear-gradient(160deg,#231508 0%,#3A2210 100%);
  border-color:rgba(255,210,80,.18);
}

/* ── HERO ───────────────────────────────── */
.sfc-ch4-hero {
  position:relative;
  height:136px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  padding:.7rem .8rem;
  flex-shrink:0;
}
.sfc-ch4-hero--img {
  background-size:cover;
  background-position:center;
}
.sfc-ch4-hero--plain {
  background:linear-gradient(135deg,#FFF0E3 0%,var(--cr3,#FAF7F0) 100%);
  align-items:center;
  justify-content:center;
  border-bottom:1px solid var(--cr2,#EDE3CC);
}
.sfc-ch4-hero--vip {
  background:linear-gradient(135deg,#2A1505 0%,#4A2A0A 100%) !important;
  border-bottom-color:rgba(255,210,80,.12) !important;
}
.sfc-ch4-hero-scrim {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(20,8,0,.62) 0%, transparent 52%);
  pointer-events:none;
}

/* Emoji grande no hero sem imagem */
.sfc-ch4-emoji {
  font-size:3.2rem;
  line-height:1;
  filter:drop-shadow(0 3px 8px rgba(58,34,16,.15));
}

/* Badge de exclusividade — canto superior esquerdo */
.sfc-ch4-badge {
  position:absolute;
  top:.55rem; left:.65rem;
  font-size:.58rem; font-weight:800;
  letter-spacing:.45px; text-transform:uppercase;
  padding:.22rem .55rem;
  border-radius:20px;
  background:rgba(255,255,255,.94);
  color:var(--tx,#3A2210);
  border:1px solid rgba(58,34,16,.1);
  z-index:2;
  line-height:1.3;
  max-width:52%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sfc-ch4-badge--vip {
  background:linear-gradient(135deg,#B8860B,#FFD700);
  color:#2A1A04;
  border:none;
  box-shadow:0 2px 8px rgba(184,134,11,.4);
}

/* Pílula de desconto — canto inferior direito do hero */
.sfc-ch4-pill {
  position:absolute; bottom:.55rem; right:.6rem;
  display:inline-flex; flex-direction:column; align-items:center;
  background:var(--or,#F4721B);
  border-radius:9px;
  padding:.3rem .6rem .22rem;
  z-index:2;
  min-width:38px;
  max-width:52%;
  width:auto;
  text-align:center;
  box-shadow:0 3px 10px rgba(244,114,27,.45);
  white-space:nowrap;
}
.sfc-ch4-pill b {
  font-size:clamp(.78rem, 3vw, 1.05rem);
  font-weight:900;
  color:#fff; line-height:1.1;
  font-family:var(--fs,'Poppins',sans-serif);
  white-space:nowrap;
}
.sfc-ch4-pill span {
  font-size:clamp(.4rem, 1.6vw, .5rem);
  font-weight:700;
  color:rgba(255,255,255,.92);
  text-transform:uppercase; letter-spacing:.3px;
  line-height:1;
  margin-top:.05rem;
  white-space:nowrap;
  display:block;
}

/* Mobile: pill menor */
@media(max-width:400px){
  .sfc-ch4-pill {
    padding:.22rem .5rem .18rem;
    min-width:32px;
    border-radius:7px;
    max-width:44%;
  }
  .sfc-ch4-pill b  { font-size:.72rem; }
  .sfc-ch4-pill span { font-size:.38rem; }
}

/* ── BODY ───────────────────────────────── */
.sfc-ch4-body {
  padding:.9rem 1rem .6rem;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:0;
}
.sfc-ch4-title {
  font-size:.94rem; font-weight:700;
  color:var(--tx,#3A2210);
  line-height:1.35; margin:0 0 .3rem;
  font-family:var(--fs,'Poppins',sans-serif);
}
.sfc-ch4--vip .sfc-ch4-title { color:#FFF3D0; }
.sfc-ch4-sub {
  font-size:.71rem; color:var(--gz,#9A8070);
  line-height:1.5; margin:0 0 .45rem;
}
.sfc-ch4--vip .sfc-ch4-sub { color:rgba(255,243,208,.55); }

/* Linha inferior: código · canal · validade */
.sfc-ch4-foot {
  display:flex; align-items:center; gap:.4rem;
  flex-wrap:wrap; margin-top:.3rem;
  padding-top:.45rem;
  border-top:1px solid var(--cr2,#EDE3CC);
}
.sfc-ch4--vip .sfc-ch4-foot { border-top-color:rgba(255,210,80,.1); }

/* Badge de código */
.sfc-ch4-code {
  font-family:monospace;
  font-size:.72rem; font-weight:800;
  letter-spacing:1.5px;
  color:var(--or,#F4721B);
  background:rgba(244,114,27,.08);
  border:1px dashed rgba(244,114,27,.3);
  border-radius:6px;
  padding:.12rem .45rem;
  cursor:pointer;
  transition:background .15s;
  line-height:1.4;
}
.sfc-ch4-code:hover { background:rgba(244,114,27,.16); }

/* Badge de canal (Salão, Delivery...) */
.sfc-ch4-ch {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:2rem;
  font-size:.62rem; font-weight:700;
  color:var(--gz,#9A8070);
  background:var(--cr3,#FAF7F0);
  border:1px solid var(--cr2,#EDE3CC);
  border-radius:12px;
  padding:.34rem .9rem;
  line-height:1.1;
  white-space:nowrap;
  box-sizing:border-box;
}
.sfc-ch4--vip .sfc-ch4-ch { background:rgba(255,210,80,.08); border-color:rgba(255,210,80,.15); color:rgba(255,243,208,.5); }

/* Badge de validade */
.sfc-ch4-exp {
  font-size:.6rem; font-weight:500;
  color:var(--gz,#9A8070);
  margin-left:auto;
  white-space:nowrap;
}
.sfc-ch4--vip .sfc-ch4-exp { color:rgba(255,243,208,.4); }
.sfc-ch4-exp--urgent {
  color:#C0392B; font-weight:700;
  animation:sfcPulse 1.5s ease-in-out infinite;
}
@keyframes sfcPulse {
  0%,100%{opacity:1} 50%{opacity:.55}
}

/* ── BOTÃO CTA ──────────────────────────── */
.sfc-ch4-cta {
  display:block; width:calc(100% - 2rem);
  margin:.5rem 1rem .85rem;
  padding:.62rem 1rem;
  background:var(--grad,linear-gradient(135deg,#F4721B,#E85D04));
  color:#fff;
  border:none; border-radius:11px;
  font-size:.82rem; font-weight:700;
  cursor:pointer; text-align:center;
  box-shadow:0 3px 14px rgba(244,114,27,.3);
  transition:transform .15s, box-shadow .15s, opacity .15s;
  letter-spacing:.1px;
  flex-shrink:0;
}
.sfc-ch4-cta:hover {
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(244,114,27,.4);
}
.sfc-ch4-cta:active { transform:translateY(0); opacity:.88; }
.sfc-ch4-cta--vip {
  background:linear-gradient(135deg,#B8860B,#FFD700);
  color:#2A1A04;
  box-shadow:0 3px 12px rgba(255,210,80,.3);
}
.sfc-ch4-cta--vip:hover { box-shadow:0 6px 20px rgba(255,210,80,.44); }

/* VIP card override para o footer */
.sfc-ch4--vip .sfc-sparking-footer { color:rgba(255,210,80,.25); }
.sfc-ch4--vip .sfc-sparking-footer a { color:rgba(255,210,80,.4); }

/* Footer Sparking */
.sfc-overlay {
  position:fixed; inset:0; background:rgba(26,8,0,.6);
  z-index:9000; display:none; align-items:flex-end; justify-content:center;
  backdrop-filter:blur(4px);
}
.sfc-sheet {
  background:#fff; border-radius:22px 22px 0 0;
  width:100%; max-width:480px; max-height:92vh; overflow-y:auto;
  padding:2rem 1.75rem 2.4rem; animation:sfcsSlide .3s cubic-bezier(.34,1.2,.64,1);
}
@media(min-width:600px){ .sfc-sheet { border-radius:22px; margin:auto; } .sfc-overlay { align-items:center; } }
/* Handle bar indicator */
.sfc-sheet::before {
  content:''; display:block;
  width:36px; height:4px; border-radius:2px;
  background:var(--cr2,#EDE3CC);
  margin:-0.5rem auto 1.25rem;
}
.sfc-sheet-title { font-family:var(--fs,'Poppins',sans-serif); font-size:1.15rem; font-weight:900; color:var(--tx,#3A2210); margin-bottom:.35rem; line-height:1.3; }
.sfc-rules-box { background:var(--cr3,#FAF7F0); border:1.5px solid var(--cr2,#EDE3CC); border-radius:10px; padding:.75rem 1rem; margin-bottom:.85rem; }
.sfc-rules-lbl { font-size:.62rem; font-weight:700; color:var(--gz,#9A8070); text-transform:uppercase; letter-spacing:.6px; margin-bottom:.3rem; }
.sfc-rules-txt { font-size:.74rem; color:var(--tx2,#6B3D1E); line-height:1.55; white-space:pre-wrap; }
.sfc-accept-row { display:flex; align-items:flex-start; gap:.55rem; font-size:.72rem; color:var(--gz,#9A8070); line-height:1.5; cursor:pointer; margin-bottom:.85rem; }
.sfc-btn-ok { display:block; width:100%; padding:.7rem; background:var(--grad); color:#fff; border:none; border-radius:11px; font-size:.87rem; font-weight:700; cursor:pointer; margin-bottom:.5rem; }
.sfc-btn-cancel { display:block; width:100%; padding:.6rem; background:var(--cr3,#FAF7F0); border:1.5px solid var(--cr2,#EDE3CC); border-radius:11px; font-size:.8rem; font-weight:600; color:var(--gz,#9A8070); cursor:pointer; }

/* ── Salvar cupom no celular ────────────────── */
.sfc-save-row { margin-bottom:.85rem; display:flex; gap:.6rem; }
.sfc-save-btn {
  display:flex; align-items:center; justify-content:center; gap:.4rem;
  flex:1; padding:.7rem 1rem;
  background:#fff;
  border:1.5px solid var(--or,#F4721B);
  border-radius:11px;
  color:var(--or,#F4721B);
  font-size:.82rem; font-weight:700;
  cursor:pointer;
  transition:background .15s, color .15s, border-color .15s, opacity .15s;
}
.sfc-save-btn:hover:not(:disabled) { background:rgba(244,114,27,.06); }
.sfc-save-btn:disabled { opacity:.55; cursor:default; }
.sfc-save-btn--saved {
  background:rgba(46,171,110,.07);
  border-color:#2EAB6E;
  color:#2EAB6E;
  cursor:default;
}
.sfc-save-btn--saved:hover { background:rgba(46,171,110,.07); }
/* Botão de download de imagem */
.sfc-dl-btn {
  display:flex; align-items:center; justify-content:center; gap:.35rem;
  flex-shrink:0; padding:.6rem .85rem;
  background:var(--or,#F4721B);
  border:none; border-radius:11px;
  color:#fff;
  font-size:.78rem; font-weight:700;
  cursor:pointer;
  transition:background .15s, opacity .15s;
  white-space:nowrap;
}
.sfc-dl-btn:hover { background:#D95E0A; }
.sfc-dl-btn:active { opacity:.8; }

/* Reveal do código */
.sfc-reveal-code { background:var(--cr3,#FAF7F0); border:2px dashed var(--cr2,#EDE3CC); border-radius:11px; padding:.65rem 1rem; display:flex; flex-direction:column; align-items:center; gap:.55rem; margin-bottom:.85rem; }
.sfc-big-code { font-size:1.5rem; font-weight:900; letter-spacing:4px; color:var(--tx,#3A2210); font-family:monospace; }
.sfc-reveal-foot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; margin-bottom:1.2rem; padding:.5rem .1rem 0; border-top:1px solid var(--cr2,#EDE3CC); }
.sfc-reveal-disc { font-family:var(--fs,'Poppins',sans-serif); font-size:1.15rem; font-weight:900; color:var(--or,#F4721B); letter-spacing:-.01em; }
.sfc-no-code { text-align:center; padding:.9rem; background:rgba(46,171,110,.06); border:1.5px solid rgba(46,171,110,.18); border-radius:10px; font-size:.8rem; font-weight:600; color:#2EAB6E; margin-bottom:1rem; }
.sfc-exp {
  display:inline-flex; align-items:center; gap:.3rem;
  font-size:.7rem; font-weight:600; color:#8A6800;
  background:rgba(240,165,0,.1); border:1px solid rgba(240,165,0,.25);
  border-radius:20px; padding:.18rem .6rem;
}
.sfc-exp--urgent {
  color:#C0392B !important; background:rgba(192,57,43,.08) !important;
  border-color:rgba(192,57,43,.3) !important;
  animation:sfcPulse 1.5s ease-in-out infinite;
}

/* ── INSTALL BAR ─────────────────────────────── */
.sfc-install-bar { position:fixed; bottom:0; left:0; right:0; background:var(--tx,#3A2210); color:var(--cr,#F5EFE0); padding:.8rem 1.2rem; z-index:8000; display:flex; align-items:center; gap:.75rem; transform:translateY(100%); transition:transform .4s cubic-bezier(.34,1.2,.64,1); box-shadow:0 -8px 28px rgba(58,34,16,.3); }
.sfc-install-bar.show { transform:translateY(0); }
.sfc-ib-txt { flex:1; font-size:.78rem; color:#fff; }
.sfc-ib-btns { display:flex; gap:.4rem; flex-shrink:0; }
.sfc-ib-ok { background:var(--grad); color:white; border:none; border-radius:9px; padding:.46rem .95rem; font-size:.76rem; font-weight:700; cursor:pointer; }
.sfc-ib-x { background:rgba(255,255,255,.15); color:rgba(255,255,255,.6); border:none; border-radius:7px; padding:.46rem .65rem; font-size:.8rem; cursor:pointer; }

/* ── TOAST PÚBLICO ───────────────────────────── */
.sfc-pub-toast { position:fixed; bottom:5rem; left:50%; transform:translateX(-50%) translateY(60px); background:var(--tx,#3A2210); color:var(--cr,#F5EFE0); padding:.6rem 1.3rem; border-radius:100px; font-size:.8rem; font-weight:500; box-shadow:0 6px 20px rgba(0,0,0,.2); z-index:9999; opacity:0; transition:all .3s cubic-bezier(.34,1.56,.64,1); white-space:nowrap; }
.sfc-pub-toast.show { transform:translateX(-50%) translateY(0); opacity:1; }

/* ═══════════════════════════════════════════════
   CÓDIGO REVEAL SEGURO — reveal sheet
   ═══════════════════════════════════════════════ */
.sfc-code-wrap { margin: .9rem 0 1.4rem; }

/* Estado de carregamento */
.sfc-code-loading {
  display:flex; align-items:center; justify-content:center; gap:.55rem;
  padding:1.6rem 1rem;
  font-size:.78rem; color:var(--gz);
}
.sfc-code-spin {
  width:18px; height:18px; flex-shrink:0;
  border:2.5px solid var(--cr2,#EDE3CC);
  border-top-color:var(--or,#F4721B);
  border-radius:50%;
  animation:sfcsPin .7s linear infinite;
}
@keyframes sfcsPin{ to{transform:rotate(360deg)} }

/* Estado de erro */
.sfc-code-err {
  display:flex; align-items:center; gap:.5rem;
  background:#FFF5F5; border:1px solid #FFCCCC;
  border-radius:12px; padding:.65rem .85rem;
  font-size:.76rem; color:#B91C1C; font-weight:500;
}

/* Caixa principal */
.sfc-code-box {
  display:flex; flex-direction:column; align-items:center; gap:.85rem;
  background:var(--cr3,#FAF7F0);
  border:1.5px solid var(--cr2,#EDE3CC);
  border-radius:20px; padding:1.6rem 1.4rem 1.3rem;
  width:100%;
}

/* Nome do restaurante acima do código */
.sfc-code-brand {
  font-size:.65rem; font-weight:800; letter-spacing:.8px;
  text-transform:uppercase; color:var(--gz);
  font-family:var(--ff,'Poppins',sans-serif);
}

/* Área de reveal do código */
.sfc-code-canvas-wrap { position:relative; }
.sfc-code-box canvas {
  display:block; border-radius:14px;
  box-shadow:0 4px 20px rgba(58,34,16,.16);
  transition:filter .4s;
  width:240px !important; height:240px !important;
}

/* Barra inferior: cadeado + timer */
.sfc-code-meta {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:0 .1rem;
}
.sfc-code-lock {
  font-size:.6rem; font-weight:600; color:var(--gz);
}
.sfc-code-timer {
  font-size:.71rem; font-weight:800;
  color:var(--or,#F4721B);
  font-family:monospace;
  background:rgba(244,114,27,.08);
  border:1px solid rgba(244,114,27,.18);
  padding:.1rem .45rem; border-radius:20px;
  transition:color .3s, background .3s, border-color .3s;
}
/* Últimos 30 segundos — alerta vermelho */
.sfc-code-timer--warn {
  color:#D94F3A !important;
  background:rgba(217,79,58,.1) !important;
  border-color:rgba(217,79,58,.3) !important;
  animation:sfcsBlink 1s step-start infinite;
}
@keyframes sfcsBlink{ 50%{opacity:.5} }

/* ── Código alternativo abaixo do código ── */
.sfc-code-code-alt {
  display:flex; flex-direction:column; align-items:center; gap:.2rem;
  width:100%; padding:.75rem 1rem .6rem;
  background:rgba(58,34,16,.045);
  border:1.5px dashed rgba(58,34,16,.18);
  border-radius:12px;
  cursor:pointer; -webkit-tap-highlight-color:transparent;
  transition:background .15s;
}
.sfc-code-code-alt:active { background:rgba(58,34,16,.09); }
.sfc-code-code-alt-label {
  font-size:.58rem; font-weight:700; letter-spacing:.7px;
  text-transform:uppercase; color:var(--gz,#9A8070);
}
.sfc-code-code-alt-value {
  font-family:monospace,'Courier New',monospace;
  font-size:1.35rem; font-weight:900; letter-spacing:4px;
  color:var(--tx,#3A2210);
  line-height:1.1;
}
.sfc-code-code-alt-hint {
  font-size:.56rem; color:var(--gz,#9A8070);
}


/* ═══════════════════════════════════════════════
   FIDELIDADE SPARK — widget público
   ═══════════════════════════════════════════════ */
.sfc-loyalty-panel {
  background:#fff;
  border-radius:20px;
  border:1.5px solid var(--cr2,#EDE3CC);
  padding:1.1rem 1.1rem 1rem;
  margin-top:1.4rem;
  max-width:900px;
  margin-left:auto; margin-right:auto;
  box-shadow:0 2px 12px rgba(58,34,16,.06);
  animation:sfcsUp .4s ease both;
}

.sfc-loy-header {
  display:flex; align-items:center; gap:.55rem;
  margin-bottom:.85rem;
}
.sfc-loy-flame { font-size:1.2rem; }
.sfc-loy-title {
  font-family:var(--fs,'Poppins',sans-serif);
  font-size:1rem; font-weight:700; color:var(--tx,#3A2210); flex:1;
}
.sfc-loy-pts-badge {
  font-size:1.05rem; font-weight:900;
  color:var(--or,#F4721B);
  font-family:var(--fs);
}
.sfc-loy-pts-badge span { font-size:.65rem; font-weight:600; }

/* Níveis */
.sfc-loy-levels {
  display:flex; gap:.5rem; margin-bottom:.85rem; flex-wrap:wrap;
}
.sfc-loy-lv {
  flex:1; min-width:70px;
  display:flex; flex-direction:column; align-items:center; gap:.2rem;
  padding:.45rem .4rem;
  border-radius:12px;
  border:1.5px solid var(--cr2,#EDE3CC);
  background:var(--cr3,#FAF7F0);
  font-size:.62rem; color:var(--gz);
  transition:border-color .2s, background .2s;
}
.sfc-loy-lv--active {
  border-color:var(--or,#F4721B);
  background:rgba(244,114,27,.06);
}
.sfc-loy-lv--active .sfc-loy-lv-name { color:var(--tx,#3A2210); font-weight:700; }
.sfc-loy-lv > span:first-child { font-size:1.3rem; }
.sfc-loy-lv-name { font-size:.65rem; font-weight:600; color:var(--gz); }
.sfc-loy-lv-pts { font-size:.58rem; color:var(--gz); }

/* Barra de progresso */
.sfc-loy-bar-wrap { margin-bottom:.6rem; }
.sfc-loy-bar-track {
  height:8px; background:var(--cr2,#EDE3CC);
  border-radius:20px; overflow:hidden; margin-bottom:.35rem;
}
.sfc-loy-bar-fill {
  height:100%;
  background:var(--or,#F4721B);
  border-radius:20px;
  transition:width .6s cubic-bezier(.34,1.4,.64,1);
}
.sfc-loy-bar-labels {
  display:flex; justify-content:space-between;
  font-size:.63rem; color:var(--gz); font-weight:600;
}

/* Reward */
.sfc-loy-reward {
  font-size:.72rem; color:var(--tx2,#6B3D1E); line-height:1.5;
  background:var(--cr3,#FAF7F0);
  border-radius:10px; padding:.45rem .75rem;
  margin-bottom:.75rem;
}

/* Stats */
.sfc-loy-stats {
  display:flex; align-items:center; gap:.75rem;
  border-top:1px solid var(--cr2,#EDE3CC);
  padding-top:.7rem; margin-top:.1rem;
}
.sfc-loy-stat {
  display:flex; flex-direction:column; align-items:center; gap:.12rem; flex:1;
}
.sfc-loy-stat b { font-size:1rem; font-weight:800; color:var(--tx,#3A2210); font-family:var(--fs); }
.sfc-loy-stat span { font-size:.6rem; color:var(--gz); font-weight:600; }
.sfc-loy-stat-sep { width:1px; height:30px; background:var(--cr2,#EDE3CC); }

/* Sparking Cupons v6, campos de resgate obrigatórios */
.sfc-crm-sheet{max-width:420px!important}
.sfc-crm-sub{font-size:.74rem;color:#9A8070;line-height:1.45;margin-top:.25rem}
.sfc-crm-grid{display:grid;gap:.6rem;margin:.85rem 0}
.sfc-crm-input{width:100%;border:1.5px solid #EDE3CC;border-radius:12px;background:#fff;padding:.78rem .95rem;font:600 .82rem Poppins,system-ui;color:#3A2210;outline:none;box-sizing:border-box}
.sfc-crm-input:focus{border-color:#F4721B;box-shadow:0 0 0 3px rgba(244,114,27,.12)}
#sfc-ib,.sfc-install-bar{display:none!important}

/* Sparking Cupons Final, cadastro único e Poppins */
.sfc-crm-note{background:#FFF7EC;border:1px solid #F1D6B8;color:#7A5135;border-radius:14px;padding:.72rem .86rem;font-size:.72rem;line-height:1.45;margin:.2rem 0 .85rem;text-align:left;font-family:'Poppins',sans-serif}
.sfc-crm-hint{font-size:.66rem;color:#9A8070;line-height:1.45;margin:.35rem 0 .8rem;text-align:left;font-family:'Poppins',sans-serif}
.sfc-crm-sheet,.sfc-sheet,.sfc-app,.sfc-ch4,.sfc-rv2-sheet{font-family:'Poppins',sans-serif!important}
.sfc-sheet-title,.sfc-sec-title,.sfc-hero-title,.sfc-slide-title,.sfc-app-title,.sfc-ch4-title,.sfc-rv2-title,.sfc-rv2-price,.sfc-reveal-disc{font-family:'Poppins',sans-serif!important}

/* final coupon UI fixes v8 */
.sfc-ch4-ch{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:.46rem .86rem;border-radius:999px;line-height:1.1;white-space:nowrap;}
.sfc-sparking-footer{font-family:var(--ff);}


/* sfcs-v13-channel-badge-hard-fix
   Corrige definitivamente o badge de canal, ex: Salão.
   Ele não pode virar círculo nem ficar comprimido. */
.sfc-app .sfc-ch4 .sfc-ch4-foot .sfc-ch4-ch,
.sfc-ch4-foot > .sfc-ch4-ch,
span.sfc-ch4-ch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 64px !important;
  max-width: none !important;
  min-height: 34px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  padding: 8px 18px !important;
  border-radius: 12px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
}


/* sfcs-v14-foot-spacing-fix */
.sfc-app .sfc-ch4 .sfc-ch4-body .sfc-ch4-foot,
.sfc-ch4 .sfc-ch4-foot {
  margin-top: .55rem !important;
  padding-top: .8rem !important;
  gap: .55rem !important;
}
.sfc-app .sfc-ch4 .sfc-ch4-body .sfc-ch4-foot .sfc-ch4-ch,
.sfc-ch4-foot > .sfc-ch4-ch {
  margin-top: .08rem !important;
  margin-bottom: .08rem !important;
}


/* sfcs-v15-consent-required-fix */
.sfc-form input[required],
.sfc-capture input[required],
.sfc-sheet input[required],
.sfc-modal input[required],
.sfc-gate input[required] {
  border-color: #E8D8BF !important;
}

.sfc-consent,
.sfc-terms-accept,
.sfc-check-consent,
.sfc-gate-consent,
.sfc-modal .sfc-consent,
.sfc-sheet .sfc-consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 14px 0 12px !important;
  padding: 14px 16px !important;
  border: 1px solid #E8D8BF !important;
  border-radius: 16px !important;
  background: #FFF9F0 !important;
  box-sizing: border-box !important;
  color: #3A2210 !important;
  line-height: 1.45 !important;
}

.sfc-consent input[type="checkbox"],
.sfc-terms-accept input[type="checkbox"],
.sfc-check-consent input[type="checkbox"],
.sfc-gate-consent input[type="checkbox"],
.sfc-modal input[type="checkbox"],
.sfc-sheet input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  margin: 2px 0 0 !important;
  accent-color: #F4721B !important;
  border-radius: 6px !important;
}

.sfc-consent label,
.sfc-terms-accept label,
.sfc-check-consent label,
.sfc-gate-consent label {
  font-family: var(--fs,'Poppins',sans-serif) !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  color: #3A2210 !important;
}

.sfc-consent small,
.sfc-terms-accept small,
.sfc-check-consent small,
.sfc-gate-consent small,
.sfcs-profile-note,
.sfc-profile-note,
.sfc-age-note,
.sfc-gender-note {
  display: none !important;
}

.sfc-required-note {
  display:block;
  margin: 8px 0 0;
  font-size:.72rem;
  color:#9A8070;
  line-height:1.45;
}


/* sfcs-v17-modal-scroll-and-crm-fix */
#sfc-crm.sfc-overlay,
#sfc-tm.sfc-overlay {
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#sfc-crm .sfc-sheet,
#sfc-tm .sfc-sheet {
  max-height: calc(100vh - 36px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(154,128,112,.35) transparent !important;
}

#sfc-crm .sfc-sheet::-webkit-scrollbar,
#sfc-tm .sfc-sheet::-webkit-scrollbar {
  width: 6px !important;
}

#sfc-crm .sfc-sheet::-webkit-scrollbar-track,
#sfc-tm .sfc-sheet::-webkit-scrollbar-track {
  background: transparent !important;
}

#sfc-crm .sfc-sheet::-webkit-scrollbar-thumb,
#sfc-tm .sfc-sheet::-webkit-scrollbar-thumb {
  background: rgba(154,128,112,.28) !important;
  border-radius: 99px !important;
}

#sfc-crm .sfc-crm-sheet {
  width: min(100%, 440px) !important;
  max-width: 440px !important;
  border-radius: 24px !important;
  padding: 1.75rem 1.45rem 1.1rem !important;
}

#sfc-crm .sfc-crm-grid {
  gap: .58rem !important;
  margin: .75rem 0 .7rem !important;
}

#sfc-crm .sfc-crm-input {
  min-height: 54px !important;
  padding: .78rem .95rem !important;
}

#sfc-crm .sfc-optin-row {
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  width:100% !important;
  margin: .75rem 0 .75rem !important;
  padding: 13px 14px !important;
  border:1px solid #E8D8BF !important;
  border-radius:16px !important;
  background:#FFF9F0 !important;
  color:#3A2210 !important;
  font-family:'Poppins',sans-serif !important;
  font-size:.79rem !important;
  font-weight:500 !important;
  line-height:1.42 !important;
  box-sizing:border-box !important;
}

#sfc-crm .sfc-optin-row input[type="checkbox"] {
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  margin:1px 0 0 !important;
  accent-color:#F4721B !important;
}

#sfc-crm .sfc-crm-note {
  margin:.1rem 0 .75rem !important;
  padding:.7rem .85rem !important;
}

#sfc-crm .sfc-btn-ok {
  margin-top:.35rem !important;
}

@media (max-height: 760px) {
  #sfc-crm .sfc-crm-sheet {
    padding: 1.25rem 1.25rem .9rem !important;
  }
  #sfc-crm .sfc-crm-sheet::before {
    margin-bottom: .85rem !important;
  }
  #sfc-crm .sfc-crm-sub {
    font-size:.7rem !important;
  }
  #sfc-crm .sfc-crm-note {
    font-size:.68rem !important;
    padding:.6rem .75rem !important;
  }
  #sfc-crm .sfc-crm-input {
    min-height:48px !important;
    padding:.65rem .82rem !important;
  }
}


/* sfcs-v18-checkin-download-fix */
.sfc-rv2-checkin-wrap {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.55rem !important;
}
.sfc-rv2-checkin-note {
  max-width: 330px;
  text-align:center;
  font-size:.68rem;
  line-height:1.45;
  color:#8A6F5C;
  font-weight:500;
}
.sfc-rv2-checkin-pill {
  min-height:42px !important;
  padding:.55rem 1.55rem !important;
}


/* sfcs-v19-hide-public-remaining-count
   Quantidade restante é dado interno. Não aparece na experiência do cliente. */
.sfc-rv2-uses,
.sfc-rv2-uses-cnt,
.sfc-rv2-uses-lim {
  display: none !important;
}


/* sfcs-v20-hide-public-remaining-count */
.sfc-rv2-uses,
.sfc-rv2-uses-cnt,
.sfc-rv2-uses-lim {
  display: none !important;
}


/* sfcs-v22-public-days-not-remaining */
.sfc-rv2-uses,
.sfc-rv2-uses-cnt,
.sfc-rv2-uses-lim {
  display:none !important;
}
.sfc-rv2-days {
  display:flex;
  justify-content:center;
  margin-top:.55rem;
}
.sfc-rv2-days span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:.35rem .8rem;
  border-radius:999px;
  border:1px solid rgba(244,114,27,.22);
  background:rgba(244,114,27,.08);
  color:#D94F0A;
  font-size:.68rem;
  font-weight:700;
  line-height:1.2;
  text-align:center;
}


/* sfcs-v24-public-days-not-remaining */
.sfc-rv2-uses,
.sfc-rv2-uses-cnt,
.sfc-rv2-uses-lim {
  display:none !important;
}
.sfc-rv2-days {
  display:flex;
  justify-content:center;
  margin-top:.55rem;
}
.sfc-rv2-days span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:.35rem .8rem;
  border-radius:999px;
  border:1px solid rgba(244,114,27,.22);
  background:rgba(244,114,27,.08);
  color:#D94F0A;
  font-size:.68rem;
  font-weight:700;
  line-height:1.2;
  text-align:center;
}


/* sfcs-v25-hide-badge-label */
.sfc-rv2-badge-label {
  display:none !important;
}


/* sfcs-v26-download-forensic-fix */
.sfc-rv2-badge-label {
  display:none !important;
}


/* sfcs-v27-close-download-fix */
.sfc-rv2-close {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
}


/* sfcs-v28-coupon-wallet */
.sfc-wallet-sheet {
  max-width: 440px !important;
  border-radius: 24px !important;
  padding: 1.4rem 1.35rem 1rem !important;
}
.sfc-wallet-head {
  text-align:center;
  margin-bottom:1rem;
}
.sfc-wallet-icon {
  font-size:2.1rem;
  margin-bottom:.45rem;
}
.sfc-wallet-title {
  font-family:var(--fs,'Poppins',sans-serif);
  font-size:1.22rem;
  font-weight:900;
  color:#3A2210;
  line-height:1.25;
}
.sfc-wallet-sub {
  margin:.45rem auto 0;
  max-width:330px;
  font-size:.78rem;
  color:#8A6F5C;
  line-height:1.5;
}
.sfc-wallet-card {
  background:#FAF7F0;
  border:1px solid #EDE3CC;
  border-radius:18px;
  padding:1rem;
  margin:.85rem 0 1rem;
  text-align:center;
}
.sfc-wallet-restaurant {
  font-size:.58rem;
  font-weight:800;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:#9A8070;
  margin-bottom:.45rem;
}
.sfc-wallet-coupon {
  font-size:1rem;
  font-weight:900;
  color:#3A2210;
  line-height:1.25;
}
.sfc-wallet-days {
  display:inline-flex;
  margin-top:.65rem;
  min-height:28px;
  align-items:center;
  justify-content:center;
  padding:.32rem .75rem;
  border-radius:999px;
  border:1px solid rgba(244,114,27,.22);
  background:rgba(244,114,27,.08);
  color:#D94F0A;
  font-size:.68rem;
  font-weight:800;
}
.sfc-wallet-steps {
  display:flex;
  flex-direction:column;
  gap:.38rem;
  background:#FFF9F0;
  border:1px solid #E8D8BF;
  border-radius:16px;
  padding:.85rem .95rem;
  margin:.75rem 0;
  color:#3A2210;
  font-size:.76rem;
  line-height:1.45;
}
.sfc-wallet-steps b {
  font-size:.78rem;
  color:#3A2210;
}
.sfc-rv2-uses,
.sfc-rv2-uses-cnt,
.sfc-rv2-uses-lim,
.sfc-rv2-badge-label {
  display:none !important;
}
.sfc-rv2-days {
  display:flex;
  justify-content:center;
  margin-top:.55rem;
}
.sfc-rv2-days span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:.35rem .8rem;
  border-radius:999px;
  border:1px solid rgba(244,114,27,.22);
  background:rgba(244,114,27,.08);
  color:#D94F0A;
  font-size:.68rem;
  font-weight:700;
  line-height:1.2;
  text-align:center;
}


/* sfcs-v29-simple-coupon-access */
.sfc-wallet-sheet-simple {
  max-width: 410px !important;
  padding: 1.35rem 1.2rem 1rem !important;
}
.sfc-wallet-sheet-simple .sfc-wallet-card {
  margin: .8rem 0 .85rem;
}
.sfc-wallet-simple-note {
  margin: .75rem 0;
  padding: .82rem .9rem;
  border-radius: 15px;
  background: #FFF9F0;
  border: 1px solid #E8D8BF;
  color: #3A2210;
  font-size: .74rem;
  line-height: 1.45;
  display: flex;
  flex-direction: column;
  gap: .28rem;
}
.sfc-wallet-simple-note b {
  font-size: .75rem;
}
.sfc-wallet-copy {
  margin-top: .5rem !important;
}


/* sfcs-v30-auto-wallet-check */
.sfc-wallet-auto-msg {
  margin-top: .75rem;
  padding: .72rem .85rem;
  border-radius: 14px;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  border: 1px solid #E8D8BF;
  background: #FFF9F0;
  color: #8A6F5C;
}
.sfc-wallet-auto-msg[data-type="success"] {
  background: rgba(46,171,110,.1);
  border-color: rgba(46,171,110,.25);
  color: #1E7A4A;
}
.sfc-wallet-auto-msg[data-type="warn"] {
  background: rgba(244,114,27,.08);
  border-color: rgba(244,114,27,.22);
  color: #D94F0A;
}


/* sfcs-v31-open-saved-coupon-fix */
.sfc-wallet-open {
  position: relative;
  z-index: 3;
  pointer-events: auto !important;
}
