:root{
  --green-950:#0c2717;--green-900:#123820;--green-800:#174f2e;--green-700:#20663a;
  --green-600:#2b7b48;--green-100:#e5f4ea;--green-50:#f2faf4;--bg:#f4f7f5;
  --surface:#fff;--text:#172019;--muted:#6f7b72;--border:rgba(23,79,46,.10);
  --soft-shadow:0 10px 30px rgba(15,56,31,.08);--shadow:0 20px 55px rgba(15,56,31,.13);
  --ease:cubic-bezier(.2,.7,.2,1)
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 15% 0%,rgba(43,123,72,.12),transparent 30%),linear-gradient(180deg,#fbfdfb 0%,var(--bg) 100%);-webkit-font-smoothing:antialiased}
a,button{font:inherit;-webkit-tap-highlight-color:transparent}button{border:0}
.page{width:100%;overflow:hidden}
.hero{position:relative;min-height:330px;padding:38px 16px 105px;display:flex;justify-content:center;color:#fff;background-image:none;background-position:center;background-size:cover;background-repeat:no-repeat;border-radius:0 0 36px 36px;box-shadow:0 25px 70px rgba(12,39,23,.22);overflow:hidden;--hero-overlay-a:rgba(7,31,17,.72);--hero-overlay-b:rgba(23,79,46,.58)}


.hero-inner{width:min(100%,560px);text-align:center;position:relative;z-index:1}
.brand-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;margin-bottom:14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px}
.logo-shell{width:108px;height:108px;margin:0 auto 14px;padding:5px;border-radius:28px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.14);box-shadow:0 18px 42px rgba(0,0,0,.25)}
.logo{width:100%;height:100%;object-fit:cover;border-radius:23px;background:#fff;display:block}
h1{font-size:clamp(30px,8vw,40px);line-height:1.04;font-weight:850;letter-spacing:-1px}
.tagline{max-width:430px;margin:9px auto 0;font-size:15px;color:rgba(255,255,255,.84)}
.hero-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:15px}
.meta-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);font-size:12px}
.wrap{width:min(100%,560px);margin:-74px auto 0;padding:0 12px 32px;position:relative;z-index:3}
.main-card{padding:12px;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.82);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:27px}
.primary-card{display:block;position:relative;padding:18px;border-radius:21px;background:linear-gradient(135deg,var(--green-800),var(--green-600));color:#fff;text-decoration:none;box-shadow:0 18px 40px rgba(23,79,46,.25)}
.primary-top{display:flex;align-items:flex-start;gap:13px}.primary-icon{flex:0 0 46px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:21px}
.primary-copy{flex:1;text-align:left}.eyebrow{font-size:9px;font-weight:850;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.68)}.primary-title{display:block;margin-top:3px;font-size:18px;font-weight:820}.primary-sub{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:rgba(255,255,255,.75)}
.response-badge{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:7px 10px;border-radius:999px;font-size:10.5px;font-weight:750;background:rgba(255,255,255,.11)}
.section-title{display:flex;align-items:center;gap:10px;margin:20px 5px 10px;font-size:10px;font-weight:850;letter-spacing:1px;text-transform:uppercase;color:#718077}.section-title:after{content:"";height:1px;flex:1;background:var(--border)}
.nfc-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.nfc-action{min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 7px;border-radius:15px;border:1px solid var(--border);background:#fff;color:var(--text);text-decoration:none;box-shadow:var(--soft-shadow);cursor:pointer}.nfc-action i{width:33px;height:33px;display:grid;place-items:center;border-radius:11px;background:var(--green-100);color:var(--green-800)}.nfc-action span{font-size:10px;font-weight:750;text-align:center}
.link-list{display:grid;gap:9px}.link-item{min-height:66px;display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:17px;border:1px solid var(--border);background:#fff;color:var(--text);text-decoration:none;box-shadow:var(--soft-shadow)}.link-icon{flex:0 0 43px;width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:var(--green-800);background:var(--green-100);font-size:17px}.link-copy{flex:1;text-align:left}.link-copy strong{display:block;font-size:14px}.link-copy small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.panel-block{margin-top:15px;padding:14px;border-radius:19px;border:1px solid var(--border);background:linear-gradient(180deg,#fff,#f8fbf9)}
.block-head{display:flex;align-items:flex-start;gap:9px;margin-bottom:11px}.block-head i{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--green-100);color:var(--green-700);font-size:12px}.block-head h3{font-size:13px;font-weight:850}.block-head p{margin-top:3px;font-size:10.5px;color:var(--muted)}
.promo-list{display:grid;gap:9px}.promo-card{display:grid;grid-template-columns:82px 1fr;gap:11px;align-items:center;padding:9px;border-radius:15px;border:1px solid rgba(23,79,46,.08);background:#fff}.promo-card img{width:82px;height:82px;object-fit:cover;border-radius:12px;background:var(--green-50)}.promo-card strong{display:block;font-size:12.5px}.promo-card small{display:block;margin-top:4px;font-size:10.5px;color:var(--muted);line-height:1.35}.promo-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fff3df;color:#8a5a15;font-size:8px;font-weight:850;text-transform:uppercase}.promo-action{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:7px 9px;border-radius:9px;background:var(--green-800);color:#fff;text-decoration:none;font-size:9px;font-weight:800}
.store-info-grid,.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.info-mini,.trust-item{display:flex;align-items:center;gap:8px;min-height:54px;padding:9px;border-radius:12px;background:#fff;border:1px solid rgba(23,79,46,.08)}.info-mini i,.trust-item i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--green-100);color:var(--green-700);font-size:11px}.info-mini strong{display:block;font-size:10.5px}.info-mini small{display:block;margin-top:2px;font-size:9.5px;color:var(--muted)}
.store-gallery{display:grid;grid-template-columns:1.55fr 1fr;grid-template-rows:100px 100px;gap:7px}.store-photo{overflow:hidden;border-radius:14px;background:var(--green-50);cursor:pointer}.store-photo:first-child{grid-row:1/3}.store-photo img{width:100%;height:100%;object-fit:cover;display:block}.gallery-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.gallery-map{padding:7px 9px;border-radius:9px;background:var(--green-100);color:var(--green-800);text-decoration:none;font-weight:800}
.social-row{display:flex;justify-content:center;gap:9px;padding:3px}.social-btn{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--border);background:#fff;color:var(--green-800);text-decoration:none;cursor:pointer;box-shadow:var(--soft-shadow)}
.footer{text-align:center;padding:21px 8px 4px;color:var(--muted);font-size:11px}
.photo-modal,.modal{position:fixed;inset:0;z-index:1700;display:grid;place-items:center;padding:18px;background:rgba(8,24,14,.72);backdrop-filter:blur(9px);opacity:0;visibility:hidden;transition:.2s}.photo-modal.show,.modal.show{opacity:1;visibility:visible}.photo-modal-inner,.modal-card{position:relative;width:min(100%,760px)}.photo-modal img{width:100%;max-height:88vh;object-fit:contain;border-radius:18px;background:#0d1c12}.photo-close,.close-btn{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:12px;background:#fff;color:var(--green-800);cursor:pointer}.modal-card{max-width:360px;background:#fff;padding:18px;border-radius:22px}.qr-box{min-height:240px;display:grid;place-items:center}
.notification{position:fixed;left:50%;bottom:22px;z-index:2000;transform:translate(-50%,14px);padding:11px 14px;border-radius:11px;background:var(--green-950);color:#fff;font-size:12px;font-weight:700;opacity:0;visibility:hidden}.notification.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:460px){.nfc-actions{grid-template-columns:repeat(2,1fr)}.store-info-grid,.trust-grid{grid-template-columns:1fr}.promo-card{grid-template-columns:72px 1fr}.promo-card img{width:72px;height:72px}.store-gallery{grid-template-columns:1fr 1fr;grid-template-rows:165px 100px}.store-photo:first-child{grid-column:1/-1;grid-row:auto}}


/* ===== Temas selecionáveis pelo CMS ===== */

/* Classic: visual original */
body.theme-classic{
  --bg:#f4f7f5;
  --surface:#fff;
  --text:#172019;
  --muted:#6f7b72;
}

/* Emerald Glass: mais sofisticado, ainda claro */
body.theme-emerald{
  --bg:#edf6f0;
  --surface:rgba(255,255,255,.88);
  --text:#122019;
  --muted:#63756a;
  background:
    radial-gradient(circle at 12% 0%,rgba(52,133,83,.19),transparent 31%),
    radial-gradient(circle at 92% 40%,rgba(45,123,72,.10),transparent 27%),
    linear-gradient(180deg,#f8fcf9,#eaf4ed);
}
body.theme-emerald .hero{--hero-overlay-a:color-mix(in srgb,var(--green-800) 72%,#07140c);--hero-overlay-b:color-mix(in srgb,var(--green-700) 58%,transparent);border-radius:0 0 42px 42px}
body.theme-emerald .main-card{
  background:rgba(255,255,255,.68);
  border-color:rgba(255,255,255,.78);
  box-shadow:0 26px 70px rgba(14,62,34,.16);
}
body.theme-emerald .primary-card{
  background:linear-gradient(135deg,var(--green-800),var(--green-700));
}
body.theme-emerald .nfc-action,
body.theme-emerald .link-item,
body.theme-emerald .panel-block,
body.theme-emerald .social-btn{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
}

/* Dark Tech */
body.theme-dark{
  --bg:#080d0a;
  --surface:#121713;
  --text:#f3f7f4;
  --muted:#9aa69e;
  --border:rgba(255,255,255,.075);
  --soft-shadow:0 12px 30px rgba(0,0,0,.22);
  --shadow:0 24px 65px rgba(0,0,0,.38);
  background:
    radial-gradient(circle at 10% 0%,rgba(34,116,65,.18),transparent 30%),
    #080d0a;
  color:var(--text);
}
body.theme-dark .hero{--hero-overlay-a:color-mix(in srgb,var(--green-800) 48%,#030704);--hero-overlay-b:color-mix(in srgb,var(--green-700) 42%,#07100a);box-shadow:0 25px 70px rgba(0,0,0,.38)}
body.theme-dark .main-card{
  background:rgba(14,18,15,.88);
  border-color:rgba(255,255,255,.07);
}
body.theme-dark .primary-card{
  background:linear-gradient(135deg,var(--green-800),var(--green-700));
}
body.theme-dark .section-title{color:#8e9b92}
body.theme-dark .section-title:after{background:rgba(255,255,255,.07)}
body.theme-dark .nfc-action,
body.theme-dark .link-item,
body.theme-dark .panel-block,
body.theme-dark .social-btn{
  background:#121713;
  color:#f2f6f3;
  border-color:rgba(255,255,255,.07);
}
body.theme-dark .nfc-action i,
body.theme-dark .link-icon,
body.theme-dark .info-mini i,
body.theme-dark .trust-item i,
body.theme-dark .block-head i{
  background:color-mix(in srgb,var(--green-700) 18%,transparent);
  color:var(--green-700);
}
body.theme-dark .promo-card,
body.theme-dark .info-mini,
body.theme-dark .trust-item{
  background:#0d120e;
  border-color:rgba(255,255,255,.06);
}
body.theme-dark .link-copy small,
body.theme-dark .info-mini small,
body.theme-dark .block-head p,
body.theme-dark .promo-card small,
body.theme-dark .footer{
  color:#929f97;
}
body.theme-dark .gallery-footer{
  border-top-color:rgba(255,255,255,.07);
  color:#96a199;
}
body.theme-dark .gallery-map{
  background:color-mix(in srgb,var(--green-700) 18%,transparent);
  color:var(--green-700);
}
body.theme-dark .modal-card{
  background:#111713;
  color:#fff;
}
body.theme-dark .qr-box{background:#fff}

/* Graphite: neutro/corporativo */
body.theme-graphite{
  --bg:#e9edeb;
  --surface:#fff;
  --text:#1c211e;
  --muted:#6c746f;
  --border:rgba(33,47,39,.10);
  background:
    radial-gradient(circle at 15% 0%,rgba(61,89,72,.10),transparent 28%),
    linear-gradient(180deg,#f3f5f4,#e7ebe9);
}
body.theme-graphite .hero{--hero-overlay-a:color-mix(in srgb,var(--green-800) 42%,#232624);--hero-overlay-b:color-mix(in srgb,var(--green-700) 34%,#4b514d)}
body.theme-graphite .primary-card{
  background:linear-gradient(135deg,var(--green-800),var(--green-700));
}
body.theme-graphite .main-card{
  background:rgba(245,247,246,.90);
  border-color:rgba(255,255,255,.80);
}
body.theme-graphite .nfc-action i,
body.theme-graphite .link-icon,
body.theme-graphite .info-mini i,
body.theme-graphite .trust-item i,
body.theme-graphite .block-head i{
  background:color-mix(in srgb,var(--green-700) 14%,#ffffff);
  color:var(--green-800);
}
body.theme-graphite .gallery-map{
  background:color-mix(in srgb,var(--green-700) 14%,#ffffff);
  color:var(--green-800);
}

.footer{display:flex;flex-direction:column;align-items:center;gap:5px}
.tapvio-credit{font-size:11px;color:var(--muted);opacity:.82}
.tapvio-credit a{color:var(--green-800);font-weight:800;text-decoration:none;transition:.2s ease}
.tapvio-credit a:hover{opacity:.72}
body.theme-dark .tapvio-credit a{color:#72c68d}


/* ===== Selo Tecnologia TapVio ===== */
.tapvio-credit{display:none}
.tapvio-tech-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:30px;
  margin-top:5px;
  padding:5px 10px 5px 12px;
  border:1px solid rgba(28,88,51,.12);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:#647168;
  text-decoration:none;
  box-shadow:0 5px 16px rgba(22,63,38,.045);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tapvio-tech-badge:hover{
  transform:translateY(-1px);
  border-color:rgba(28,88,51,.24);
  box-shadow:0 8px 20px rgba(22,63,38,.08);
}
.tapvio-tech-label{
  font-size:10px;
  font-weight:500;
  color:#7c8980;
}
.tapvio-tech-mark{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:6px;
  background:var(--green-800);
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:-.3px;
}
.tapvio-tech-badge strong{
  color:var(--green-800);
  font-size:10px;
  font-weight:850;
}
body.theme-dark .tapvio-tech-badge{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.1);
  color:#aebbb2;
}
body.theme-dark .tapvio-tech-label{color:#91a097}
body.theme-dark .tapvio-tech-mark{background:var(--green-700);color:#07180f}
body.theme-dark .tapvio-tech-badge strong{color:var(--green-700)}


/* ===== Cores da marca globais em todos os temas ===== */
body[class*="theme-"] .primary-card,
body[class*="theme-"] .promo-action{background:linear-gradient(135deg,var(--green-800),var(--green-700));}
body[class*="theme-"] .nfc-action i,
body[class*="theme-"] .link-icon,
body[class*="theme-"] .info-mini i,
body[class*="theme-"] .trust-item i,
body[class*="theme-"] .block-head i{
  color:var(--green-800);
  background:color-mix(in srgb,var(--green-700) 14%,transparent);
}
body[class*="theme-"] .gallery-map,
body[class*="theme-"] .tapvio-tech-badge strong{color:var(--green-800);}
body[class*="theme-"] .tapvio-tech-mark{background:var(--green-800);}
body[class*="theme-"] .social-btn{color:var(--green-800);}
body.theme-dark .nfc-action i,
body.theme-dark .link-icon,
body.theme-dark .info-mini i,
body.theme-dark .trust-item i,
body.theme-dark .block-head i{
  color:var(--green-700);
  background:color-mix(in srgb,var(--green-700) 18%,transparent);
}


/* Capa real: independente dos temas e de variáveis CSS */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}


.hero-inner{
  position:relative;
  z-index:1;
}


/* V16.4 - capa carregada como URL pública real */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}


.hero-inner{
  position:relative;
  z-index:1;
}


/* ===== TapVio V16.5 - CORREÇÃO FINAL DA CAPA =====
   Ordem correta: imagem (0) -> overlay (1) -> conteúdo (2). */
.hero{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:transparent !important;
  background-image:none !important;
}

.hero-cover-image{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
}

.hero-cover-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.05),transparent 38%),
    linear-gradient(
      135deg,
      var(--hero-overlay-a,rgba(7,31,17,.54)),
      var(--hero-overlay-b,rgba(23,79,46,.38))
    ) !important;
}

.hero-inner{
  position:relative !important;
  z-index:2 !important;
}

/* Os temas podem alterar somente o overlay; nunca o fundo do hero. */
body.theme-classic .hero,
body.theme-emerald .hero,
body.theme-dark .hero,
body.theme-graphite .hero{
  background:transparent !important;
  background-image:none !important;
}

/* Dark Tech: overlay menos opaco para a foto continuar visível */
body.theme-dark .hero{
  --hero-overlay-a:rgba(2,10,6,.58) !important;
  --hero-overlay-b:color-mix(in srgb,var(--green-700) 28%,rgba(2,10,6,.42)) !important;
}

body.theme-emerald .hero{
  --hero-overlay-a:color-mix(in srgb,var(--green-800) 52%,rgba(5,25,13,.46)) !important;
  --hero-overlay-b:color-mix(in srgb,var(--green-700) 36%,rgba(5,25,13,.24)) !important;
}

body.theme-graphite .hero{
  --hero-overlay-a:rgba(28,34,30,.52) !important;
  --hero-overlay-b:color-mix(in srgb,var(--green-700) 24%,rgba(40,46,42,.34)) !important;
}

/* TapVio V16.6 - legibilidade sobre capas claras */
.hero-inner,.hero-inner h1,.hero-inner .tagline,.hero-inner .brand-badge,.hero-inner .meta-pill,.hero-inner .meta-pill i{text-shadow:0 2px 5px rgba(0,0,0,.88),0 1px 2px rgba(0,0,0,.95)!important}
.hero-inner .brand-badge,.hero-inner .meta-pill{box-shadow:0 2px 10px rgba(0,0,0,.18)}

/* ===== TapVio V19: blocos ordenáveis e countdown ===== */
.main-card{display:flex;flex-direction:column}
.page-order-block{min-width:0}
.promo-countdown{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:5px 7px;border-radius:999px;background:color-mix(in srgb,var(--green-800) 10%,#fff);color:var(--green-800);font-size:10px;font-weight:800}
body.theme-dark .promo-countdown{background:rgba(255,255,255,.08);color:#e7f5eb}

.section-title>i{margin-right:6px;color:var(--green-700)}


/* ===== V20.40: novos temas por segmento ===== */
body.theme-business{--bg:#edf3f8;--surface:#fff;--text:#15283a;--muted:#66798a;--border:rgba(22,58,99,.12);background:linear-gradient(180deg,#f7fbff,#eaf1f7)}
body.theme-business .hero{--hero-overlay-a:rgba(10,35,61,.86);--hero-overlay-b:rgba(47,128,201,.58);border-radius:0 0 28px 28px}
body.theme-business .main-card{border-radius:18px;box-shadow:0 20px 55px rgba(22,58,99,.12)}
body.theme-business .primary-card{background:linear-gradient(135deg,var(--green-800),var(--green-700))}
body.theme-business .nfc-action,body.theme-business .link-item,body.theme-business .panel-block,body.theme-business .social-btn{border-radius:12px}

body.theme-store{--bg:#fff2f7;--surface:#fff;--text:#311b25;--muted:#826b75;--border:rgba(122,33,72,.12);background:radial-gradient(circle at 90% 0%,rgba(239,90,135,.15),transparent 28%),#fff5f8}
body.theme-store .hero{--hero-overlay-a:rgba(91,20,52,.80);--hero-overlay-b:rgba(239,90,135,.58);border-radius:0 0 48px 48px}
body.theme-store .main-card{border-radius:28px;box-shadow:0 24px 65px rgba(122,33,72,.13)}
body.theme-store .primary-card{background:linear-gradient(135deg,var(--green-800),var(--green-700));border-radius:22px}
body.theme-store .nfc-action,body.theme-store .link-item,body.theme-store .social-btn{border-radius:18px}

body.theme-beauty{--bg:#fbf3f6;--surface:rgba(255,255,255,.92);--text:#34212a;--muted:#806b74;--border:rgba(113,48,79,.11);background:radial-gradient(circle at 10% 0%,rgba(217,135,170,.18),transparent 30%),linear-gradient(#fffafb,#f8eef2)}
body.theme-beauty .hero{--hero-overlay-a:rgba(76,30,52,.76);--hero-overlay-b:rgba(217,135,170,.48);border-radius:0 0 64px 64px}
body.theme-beauty .main-card{border-radius:34px;box-shadow:0 25px 70px rgba(113,48,79,.12)}
body.theme-beauty .primary-card{background:linear-gradient(135deg,var(--green-800),var(--green-700));border-radius:26px}
body.theme-beauty .nfc-action,body.theme-beauty .link-item,body.theme-beauty .panel-block,body.theme-beauty .social-btn{border-radius:22px}

body.theme-food{--bg:#fff7ec;--surface:#fffdf9;--text:#38241a;--muted:#806e63;--border:rgba(113,53,31,.13);background:radial-gradient(circle at 90% 5%,rgba(226,138,67,.17),transparent 27%),#fff8ef}
body.theme-food .hero{--hero-overlay-a:rgba(75,34,19,.84);--hero-overlay-b:rgba(226,138,67,.55);border-radius:0 0 34px 34px}
body.theme-food .main-card{box-shadow:0 22px 60px rgba(113,53,31,.12)}
body.theme-food .primary-card{background:linear-gradient(135deg,var(--green-800),var(--green-700))}
body.theme-food .nfc-action i,body.theme-food .link-icon,body.theme-food .block-head i{border-radius:50%}

body.theme-auto{--bg:#e9edf0;--surface:#f8fafb;--text:#172129;--muted:#65727b;--border:rgba(23,36,45,.14);background:linear-gradient(135deg,#f4f6f7,#e5eaed)}
body.theme-auto .hero{--hero-overlay-a:rgba(11,19,24,.90);--hero-overlay-b:rgba(224,91,53,.48);border-radius:0}
body.theme-auto .main-card{border-radius:10px;box-shadow:0 20px 55px rgba(23,36,45,.16)}
body.theme-auto .primary-card{background:linear-gradient(110deg,var(--green-800),var(--green-700));border-radius:8px}
body.theme-auto .nfc-action,body.theme-auto .link-item,body.theme-auto .panel-block,body.theme-auto .social-btn{border-radius:7px}

body.theme-premium{--bg:#0e0d0b;--surface:#191713;--text:#f6f0e4;--muted:#a79c88;--border:rgba(196,154,74,.18);--soft-shadow:0 12px 30px rgba(0,0,0,.28);--shadow:0 28px 70px rgba(0,0,0,.45);background:radial-gradient(circle at 50% 0%,rgba(196,154,74,.10),transparent 28%),#0e0d0b;color:var(--text)}
body.theme-premium .hero{--hero-overlay-a:rgba(8,7,6,.90);--hero-overlay-b:rgba(91,69,31,.62);box-shadow:0 25px 70px rgba(0,0,0,.45)}
body.theme-premium .main-card{background:#171612;border-color:rgba(196,154,74,.16)}
body.theme-premium .primary-card{background:linear-gradient(135deg,var(--green-800),var(--green-700));color:#fff}
body.theme-premium .section-title{color:#b8ad98}body.theme-premium .section-title:after{background:rgba(196,154,74,.14)}
body.theme-premium .nfc-action,body.theme-premium .link-item,body.theme-premium .panel-block,body.theme-premium .social-btn,body.theme-premium .promo-card,body.theme-premium .info-mini,body.theme-premium .trust-item{background:#201e19;color:#f6f0e4;border-color:rgba(196,154,74,.14)}
body.theme-premium .link-copy small,body.theme-premium .info-mini small,body.theme-premium .block-head p,body.theme-premium .promo-card small,body.theme-premium .footer{color:#a79c88}
body.theme-premium .nfc-action i,body.theme-premium .link-icon,body.theme-premium .info-mini i,body.theme-premium .trust-item i,body.theme-premium .block-head i{background:rgba(196,154,74,.13);color:#d8b76f}
body.theme-premium .gallery-footer{border-top-color:rgba(196,154,74,.14);color:#a79c88}
body.theme-premium .gallery-map{background:rgba(196,154,74,.13);color:#d8b76f}
body.theme-premium .modal-card{background:#191713;color:#fff}body.theme-premium .qr-box{background:#fff}
body.theme-premium .tapvio-tech-badge{background:#201e19;border-color:rgba(196,154,74,.18)}body.theme-premium .tapvio-tech-label{color:#a79c88}

/* =====================================================================
   TapVio V20.41 — SISTEMA DE TEMAS REDESENHADO
   Cada tema altera composição, alinhamento, dimensões, cards, navegação,
   galeria, promoções, botões e personalidade — não apenas a paleta.
   ===================================================================== */

/* base de transição visual */
body[class*="theme-"] .hero-inner,body[class*="theme-"] .wrap,body[class*="theme-"] .main-card,body[class*="theme-"] .primary-card,body[class*="theme-"] .nfc-action,body[class*="theme-"] .link-item,body[class*="theme-"] .panel-block{transition:border-radius .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease}

/* 1 — CLASSIC: cartão digital central, limpo e compacto */
body.theme-classic .hero{min-height:350px;padding-top:42px;border-radius:0 0 38px 38px;--hero-overlay-a:rgba(8,42,22,.67)!important;--hero-overlay-b:color-mix(in srgb,var(--green-700) 48%,rgba(8,42,22,.36))!important}
body.theme-classic .logo-shell{width:112px;height:112px;border-radius:30px}.theme-classic .logo{border-radius:25px}
body.theme-classic .wrap{width:min(100%,560px);margin-top:-78px}.theme-classic .main-card{padding:13px;border-radius:28px;background:rgba(255,255,255,.88)}
body.theme-classic .primary-card{border-radius:21px}.theme-classic .nfc-actions{grid-template-columns:repeat(4,1fr)}
body.theme-classic .link-item{border-radius:17px}.theme-classic .panel-block{border-radius:19px}

/* 2 — EMERALD GLASS: glassmorphism, perfil flutuante e elementos translúcidos */
body.theme-emerald .hero{min-height:390px;padding-top:50px;border-radius:0 0 72px 72px;--hero-overlay-a:rgba(5,47,25,.58)!important;--hero-overlay-b:rgba(62,150,91,.35)!important}
body.theme-emerald .hero:after{content:"";position:absolute;z-index:1;width:210px;height:210px;border-radius:50%;right:-70px;bottom:-65px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(3px)}
body.theme-emerald .logo-shell{width:116px;height:116px;border-radius:50%;padding:6px;background:rgba(255,255,255,.18);backdrop-filter:blur(18px)}body.theme-emerald .logo{border-radius:50%}
body.theme-emerald .wrap{width:min(100%,590px);margin-top:-96px}.theme-emerald .main-card{padding:16px;border-radius:38px;background:rgba(255,255,255,.58);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.74)}
body.theme-emerald .primary-card{border-radius:28px;padding:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--green-800) 88%,transparent),color-mix(in srgb,var(--green-700) 78%,transparent));backdrop-filter:blur(14px)}
body.theme-emerald .nfc-actions{gap:10px}.theme-emerald .nfc-action{min-height:92px;border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 12px 28px rgba(20,80,43,.08)}
body.theme-emerald .link-item,.theme-emerald .panel-block,.theme-emerald .social-btn{background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.86);backdrop-filter:blur(18px)}
body.theme-emerald .link-item{border-radius:24px;padding:13px 15px}.theme-emerald .panel-block{border-radius:28px;padding:17px}
body.theme-emerald .store-photo{border-radius:22px}.theme-emerald .social-btn{border-radius:50%}

/* 3 — DARK TECH: painel tecnológico, cantos cortados e brilho */
body.theme-dark{background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--green-700) 18%,transparent),transparent 35%),#070b08}
body.theme-dark .hero{min-height:365px;border-radius:0;padding-top:44px;--hero-overlay-a:rgba(1,8,4,.74)!important;--hero-overlay-b:color-mix(in srgb,var(--green-800) 30%,rgba(1,8,4,.66))!important}
body.theme-dark .hero:after{content:"";position:absolute;inset:0;z-index:1;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent)}
body.theme-dark .brand-badge{border-radius:5px;border-color:color-mix(in srgb,var(--green-700) 50%,transparent);background:rgba(0,0,0,.38)}
body.theme-dark .logo-shell{border-radius:16px;border:1px solid color-mix(in srgb,var(--green-700) 60%,transparent);box-shadow:0 0 35px color-mix(in srgb,var(--green-700) 30%,transparent)}body.theme-dark .logo{border-radius:11px}
body.theme-dark .wrap{width:min(100%,620px);margin-top:-52px}.theme-dark .main-card{padding:14px;border-radius:8px;border:1px solid rgba(255,255,255,.09);background:rgba(9,14,10,.94)}
body.theme-dark .primary-card{border-radius:5px;border-left:3px solid var(--green-700);box-shadow:0 0 28px color-mix(in srgb,var(--green-700) 16%,transparent)}
body.theme-dark .nfc-actions{grid-template-columns:repeat(2,1fr)}body.theme-dark .nfc-action{min-height:68px;flex-direction:row;justify-content:flex-start;padding:12px 14px;border-radius:5px;text-align:left}
body.theme-dark .nfc-action i{flex:0 0 35px;border-radius:5px}.theme-dark .nfc-action span{text-align:left;font-size:11px}
body.theme-dark .link-item{border-radius:4px;border-left:2px solid color-mix(in srgb,var(--green-700) 55%,transparent)}.theme-dark .link-icon{border-radius:5px}
body.theme-dark .panel-block{border-radius:5px;background:#0d120e}.theme-dark .promo-card,.theme-dark .info-mini,.theme-dark .trust-item{border-radius:4px}
body.theme-dark .store-gallery{gap:3px}.theme-dark .store-photo{border-radius:2px}.theme-dark .social-btn{border-radius:5px}

/* 4 — GRAPHITE: editorial/corporativo, assimétrico e sóbrio */
body.theme-graphite .hero{min-height:300px;padding:46px 24px 78px;border-radius:0;--hero-overlay-a:rgba(26,31,28,.72)!important;--hero-overlay-b:rgba(73,82,77,.46)!important}
body.theme-graphite .hero-inner{width:min(100%,690px);text-align:left;display:grid;grid-template-columns:92px 1fr;grid-template-areas:"logo badge" "logo title" "logo tag" "meta meta";column-gap:20px;align-items:center}.theme-graphite .brand-badge{grid-area:badge;justify-self:start;margin:0 0 5px}.theme-graphite .logo-shell{grid-area:logo;width:92px;height:92px;margin:0;border-radius:14px}.theme-graphite .logo{border-radius:10px}.theme-graphite h1{grid-area:title}.theme-graphite .tagline{grid-area:tag;margin:5px 0 0;max-width:480px}.theme-graphite .hero-meta{grid-area:meta;justify-content:flex-start;margin-top:20px}
body.theme-graphite .wrap{width:min(calc(100% - 28px),700px);margin-top:-42px}.theme-graphite .main-card{border-radius:12px;padding:18px;background:#f8faf9}
body.theme-graphite .primary-card{border-radius:8px;padding:19px}.theme-graphite .nfc-actions{grid-template-columns:repeat(4,1fr)}.theme-graphite .nfc-action{border-radius:7px;box-shadow:none}.theme-graphite .link-item{border-radius:7px;box-shadow:none;border-left:4px solid var(--green-700)}
body.theme-graphite .panel-block{border-radius:8px;background:#fff}.theme-graphite .store-gallery{grid-template-columns:repeat(3,1fr);grid-template-rows:135px}.theme-graphite .store-photo:first-child{grid-row:auto}.theme-graphite .store-photo{border-radius:5px}.theme-graphite .social-btn{border-radius:6px;box-shadow:none}

/* 5 — BUSINESS BLUE: desktop profissional, hero lateral e cards em linha */
body.theme-business .hero{min-height:315px;padding:55px 28px 88px;border-radius:0;--hero-overlay-a:rgba(7,30,55,.82)!important;--hero-overlay-b:rgba(32,100,159,.48)!important}
body.theme-business .hero-inner{width:min(100%,820px);text-align:left;display:grid;grid-template-columns:112px 1fr;grid-template-areas:"logo badge" "logo title" "logo tag" "meta meta";column-gap:22px;align-items:center}.theme-business .logo-shell{grid-area:logo;margin:0;width:112px;height:112px;border-radius:18px}.theme-business .logo{border-radius:13px}.theme-business .brand-badge{grid-area:badge;justify-self:start;margin-bottom:4px}.theme-business h1{grid-area:title}.theme-business .tagline{grid-area:tag;margin:6px 0 0;max-width:560px}.theme-business .hero-meta{grid-area:meta;justify-content:flex-start}
body.theme-business .wrap{width:min(calc(100% - 30px),820px);margin-top:-50px}.theme-business .main-card{padding:20px;border-radius:18px;background:#fff}
body.theme-business .primary-card{border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:18px}.theme-business .primary-top{flex:1}.theme-business .response-badge{margin-top:0;white-space:nowrap}
body.theme-business .nfc-actions{grid-template-columns:repeat(4,1fr)}.theme-business .nfc-action{min-height:72px;flex-direction:row;justify-content:flex-start;padding:10px;border-radius:10px}.theme-business .nfc-action span{text-align:left}
body.theme-business .link-list{grid-template-columns:repeat(2,1fr)}.theme-business .link-item{border-radius:10px;box-shadow:none}.theme-business .panel-block{border-radius:12px;padding:18px}.theme-business .store-info-grid,.theme-business .trust-grid{grid-template-columns:repeat(4,1fr)}.theme-business .info-mini,.theme-business .trust-item{align-items:flex-start;flex-direction:column;min-height:88px}.theme-business .store-gallery{grid-template-columns:2fr 1fr 1fr;grid-template-rows:170px}.theme-business .store-photo:first-child{grid-row:auto}.theme-business .social-row{justify-content:flex-start}

/* 6 — STORE POP: vitrine comercial, promoções grandes e botões arredondados */
body.theme-store .hero{min-height:370px;border-radius:0 0 80px 80px;padding-top:42px;--hero-overlay-a:rgba(83,16,49,.72)!important;--hero-overlay-b:rgba(230,72,121,.43)!important}
body.theme-store .logo-shell{transform:rotate(-3deg);border-radius:24px}.theme-store .logo{border-radius:19px}.theme-store h1{font-size:clamp(34px,9vw,44px)}
body.theme-store .wrap{width:min(100%,630px);margin-top:-92px}.theme-store .main-card{padding:16px;border-radius:36px}.theme-store .primary-card{border-radius:28px;padding:21px}.theme-store .primary-icon{border-radius:50%}
body.theme-store .nfc-actions{grid-template-columns:repeat(2,1fr)}.theme-store .nfc-action{min-height:66px;flex-direction:row;justify-content:flex-start;border-radius:22px;padding:11px 14px}.theme-store .nfc-action i{border-radius:50%}.theme-store .nfc-action span{text-align:left;font-size:11px}
body.theme-store .link-item{border-radius:999px;padding:10px 14px}.theme-store .link-icon{border-radius:50%}
body.theme-store .panel-block{border-radius:28px;padding:16px}.theme-store .promo-list{grid-template-columns:repeat(2,1fr)}.theme-store .promo-card{display:block;border-radius:22px;padding:8px;overflow:hidden}.theme-store .promo-card img{width:100%;height:145px;border-radius:17px;margin-bottom:9px}.theme-store .promo-action{width:100%;justify-content:center;border-radius:999px}.theme-store .store-photo{border-radius:20px}.theme-store .social-btn{border-radius:50%}

/* 7 — BEAUTY ROSE: revista/luxo suave, formas orgânicas e muito respiro */
body.theme-beauty .hero{min-height:430px;padding-top:60px;border-radius:0 0 50% 50% / 0 0 12% 12%;--hero-overlay-a:rgba(73,28,50,.60)!important;--hero-overlay-b:rgba(205,120,158,.32)!important}
body.theme-beauty .brand-badge{background:rgba(255,255,255,.16);letter-spacing:1.6px}.theme-beauty .logo-shell{width:124px;height:124px;border-radius:50%;padding:7px}.theme-beauty .logo{border-radius:50%}.theme-beauty h1{font-weight:650;letter-spacing:-1.5px}.theme-beauty .tagline{font-size:16px;line-height:1.65}
body.theme-beauty .wrap{width:min(100%,610px);margin-top:-100px}.theme-beauty .main-card{padding:20px;border-radius:42px;background:rgba(255,255,255,.90)}
body.theme-beauty .primary-card{border-radius:34px;padding:23px}.theme-beauty .primary-icon{border-radius:50%}
body.theme-beauty .section-title{margin-top:28px;letter-spacing:1.8px;justify-content:center}.theme-beauty .section-title:before{content:"";height:1px;flex:1;background:var(--border)}
body.theme-beauty .nfc-action{border-radius:50% 50% 22px 22px;min-height:98px}.theme-beauty .nfc-action i{border-radius:50%}.theme-beauty .link-item{border-radius:26px;padding:14px}.theme-beauty .link-icon{border-radius:50%}
body.theme-beauty .panel-block{border-radius:32px;padding:20px}.theme-beauty .block-head i{border-radius:50%}.theme-beauty .store-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:180px 120px}.theme-beauty .store-photo:first-child{grid-column:1/-1;grid-row:auto}.theme-beauty .store-photo{border-radius:28px}.theme-beauty .social-btn{width:50px;height:50px;border-radius:50%}

/* 8 — FOOD & CAFÉ: cardápio acolhedor, blocos robustos e fotos protagonistas */
body.theme-food .hero{min-height:355px;border-radius:0 0 34px 34px;padding-top:42px;--hero-overlay-a:rgba(69,29,13,.72)!important;--hero-overlay-b:rgba(203,111,42,.42)!important}
body.theme-food .logo-shell{width:118px;height:118px;border-radius:50%;background:#fff}.theme-food .logo{border-radius:50%}
body.theme-food .wrap{width:min(100%,680px);margin-top:-72px}.theme-food .main-card{padding:16px;border-radius:24px;background:#fffaf2}
body.theme-food .primary-card{border-radius:18px;padding:20px}.theme-food .primary-icon{border-radius:50%}
body.theme-food .nfc-actions{grid-template-columns:repeat(2,1fr)}.theme-food .nfc-action{min-height:68px;flex-direction:row;justify-content:flex-start;border-radius:16px;padding:11px 14px}.theme-food .nfc-action i{border-radius:50%}.theme-food .nfc-action span{text-align:left;font-size:11px}
body.theme-food .link-item{border-radius:14px;box-shadow:0 7px 18px rgba(92,48,20,.07)}.theme-food .link-icon{border-radius:50%}
body.theme-food .panel-block{border-radius:20px;padding:16px}.theme-food .promo-card{grid-template-columns:115px 1fr;border-radius:18px}.theme-food .promo-card img{width:115px;height:105px;border-radius:15px}.theme-food .store-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:190px 130px}.theme-food .store-photo:first-child{grid-column:1/-1;grid-row:auto}.theme-food .store-photo{border-radius:18px}.theme-food .info-mini,.theme-food .trust-item{border-radius:16px}

/* 9 — AUTO RACING: visual agressivo, faixas, ângulos e cards horizontais */
body.theme-auto{background:repeating-linear-gradient(135deg,#edf0f2 0,#edf0f2 18px,#e8ecee 18px,#e8ecee 36px)}
body.theme-auto .hero{min-height:330px;border-radius:0;padding-top:48px;--hero-overlay-a:rgba(7,14,19,.83)!important;--hero-overlay-b:rgba(173,52,26,.48)!important}
body.theme-auto .hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;z-index:2;background:linear-gradient(90deg,var(--green-800) 0 65%,var(--green-700) 65%)}
body.theme-auto .hero-inner{text-align:left;width:min(100%,720px)}.theme-auto .brand-badge{border-radius:3px}.theme-auto .logo-shell{margin:0 0 14px;border-radius:7px}.theme-auto .logo{border-radius:3px}.theme-auto .tagline{margin-left:0}.theme-auto .hero-meta{justify-content:flex-start}.theme-auto .meta-pill{border-radius:4px}
body.theme-auto .wrap{width:min(calc(100% - 24px),720px);margin-top:-36px}.theme-auto .main-card{padding:14px;border-radius:5px;border-top:4px solid var(--green-800)}
body.theme-auto .primary-card{border-radius:3px;border-left:6px solid var(--green-700)}.theme-auto .primary-icon{border-radius:3px}
body.theme-auto .nfc-actions{grid-template-columns:repeat(2,1fr)}.theme-auto .nfc-action{min-height:62px;flex-direction:row;justify-content:flex-start;border-radius:3px}.theme-auto .nfc-action i{border-radius:2px}.theme-auto .nfc-action span{text-align:left}
body.theme-auto .link-list{grid-template-columns:repeat(2,1fr)}.theme-auto .link-item{border-radius:3px;border-bottom:3px solid color-mix(in srgb,var(--green-700) 45%,transparent);box-shadow:none}.theme-auto .link-icon{border-radius:2px}
body.theme-auto .panel-block{border-radius:3px}.theme-auto .promo-card,.theme-auto .info-mini,.theme-auto .trust-item,.theme-auto .store-photo{border-radius:2px}.theme-auto .social-row{justify-content:flex-start}.theme-auto .social-btn{border-radius:3px}

/* 10 — PREMIUM GOLD: boutique, dark luxury, hero amplo e composição editorial */
body.theme-premium{background:radial-gradient(circle at 50% 0%,rgba(196,154,74,.10),transparent 30%),#0c0b09}
body.theme-premium .hero{min-height:455px;padding-top:70px;border-radius:0;--hero-overlay-a:rgba(5,5,4,.79)!important;--hero-overlay-b:rgba(86,62,24,.43)!important}
body.theme-premium .hero:after{content:"";position:absolute;z-index:2;left:50%;bottom:42px;width:64px;height:1px;transform:translateX(-50%);background:#c49a4a;box-shadow:0 0 20px rgba(196,154,74,.5)}
body.theme-premium .brand-badge{border:0;background:transparent;color:#e0c98f;letter-spacing:2.2px}.theme-premium .logo-shell{width:122px;height:122px;border-radius:0;padding:5px;border:1px solid rgba(196,154,74,.55);background:rgba(0,0,0,.28)}.theme-premium .logo{border-radius:0}.theme-premium h1{font-weight:600;letter-spacing:-.5px}.theme-premium .tagline{font-size:15px;line-height:1.7;color:#d2c8b4}.theme-premium .meta-pill{border-radius:0;border-color:rgba(196,154,74,.25);background:rgba(0,0,0,.25)}
body.theme-premium .wrap{width:min(100%,650px);margin-top:-78px}.theme-premium .main-card{padding:20px;border-radius:0;border:1px solid rgba(196,154,74,.22);background:#15130f}
body.theme-premium .primary-card{border-radius:0;border:1px solid rgba(196,154,74,.40);background:linear-gradient(110deg,#201a10,#6b5227)!important;box-shadow:none}.theme-premium .primary-icon{border-radius:0;background:rgba(196,154,74,.14);color:#e4c77e}
body.theme-premium .section-title{justify-content:center;color:#b7a680;letter-spacing:2px;margin-top:28px}.theme-premium .section-title:before{content:"";height:1px;flex:1;background:rgba(196,154,74,.18)}.theme-premium .section-title:after{background:rgba(196,154,74,.18)}
body.theme-premium .nfc-actions{grid-template-columns:repeat(2,1fr)}.theme-premium .nfc-action{min-height:65px;flex-direction:row;justify-content:flex-start;border-radius:0;background:#1b1813}.theme-premium .nfc-action i{border-radius:0}.theme-premium .nfc-action span{text-align:left}
body.theme-premium .link-item{border-radius:0;background:#1b1813;border-color:rgba(196,154,74,.15);box-shadow:none}.theme-premium .link-icon{border-radius:0}.theme-premium .panel-block{border-radius:0;background:#171510;border-color:rgba(196,154,74,.15)}.theme-premium .promo-card,.theme-premium .info-mini,.theme-premium .trust-item{border-radius:0;background:#1c1914}.theme-premium .promo-action{border-radius:0;background:#c49a4a!important;color:#17120a}.theme-premium .store-photo{border-radius:0}.theme-premium .social-btn{border-radius:50%;background:#1b1813;border-color:rgba(196,154,74,.18);color:#d7b66d}

/* mobile: preserva a personalidade sem estourar largura */
@media(max-width:700px){
 body.theme-business .hero-inner,body.theme-graphite .hero-inner{display:block;text-align:center}.theme-business .logo-shell,.theme-graphite .logo-shell{margin:0 auto 14px}.theme-business .brand-badge,.theme-graphite .brand-badge{display:inline-flex}.theme-business .tagline,.theme-graphite .tagline{margin:8px auto 0}.theme-business .hero-meta,.theme-graphite .hero-meta{justify-content:center}
 body.theme-business .primary-card{display:block}.theme-business .response-badge{margin-top:14px}.theme-business .link-list,.theme-auto .link-list{grid-template-columns:1fr}.theme-business .store-info-grid,.theme-business .trust-grid{grid-template-columns:repeat(2,1fr)}
 body.theme-business .store-gallery{grid-template-columns:1fr 1fr;grid-template-rows:165px 100px}.theme-business .store-photo:first-child{grid-column:1/-1}
 body.theme-store .promo-list{grid-template-columns:1fr}.theme-store .promo-card{display:grid;grid-template-columns:90px 1fr}.theme-store .promo-card img{width:90px;height:90px;margin:0}
 body.theme-auto .hero-inner{text-align:center}.theme-auto .logo-shell{margin:0 auto 14px}.theme-auto .tagline{margin-left:auto}.theme-auto .hero-meta{justify-content:center}
}
@media(max-width:460px){body.theme-business .store-info-grid,body.theme-business .trust-grid{grid-template-columns:1fr}.theme-premium .nfc-actions,.theme-dark .nfc-actions,.theme-store .nfc-actions,.theme-food .nfc-actions,.theme-auto .nfc-actions{grid-template-columns:1fr 1fr}}


/* ==========================================================
   TapVio V20.42 — temas completos: cada tema é um layout
   ========================================================== */
.theme-chrome,.theme-intro,.theme-signature,.hero-kicker,.theme-ornament{display:none}
.hero-copy{min-width:0}

/* CLASSIC — cartão digital tradicional */
body.theme-classic .theme-intro{display:flex;align-items:center;gap:10px;margin:0 4px 10px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:1.5px}
body.theme-classic .theme-intro i{height:1px;flex:1;background:var(--border)}
body.theme-classic .main-card{border-top:3px solid var(--green-800)}
body.theme-classic .link-item:nth-child(even){background:color-mix(in srgb,var(--green-50) 55%,#fff)}
body.theme-classic .panel-block .block-head{border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:12px}

/* EMERALD — glass, camadas flutuantes, ícones soltos */
body.theme-emerald .theme-chrome{display:flex;position:fixed;inset:0 0 auto;z-index:20;height:5px;background:linear-gradient(90deg,var(--green-800),var(--green-700),#9cf0b8)}
body.theme-emerald .hero-kicker{display:inline-flex;padding:6px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;font-size:9px;font-weight:900;letter-spacing:1.4px;margin-bottom:10px;backdrop-filter:blur(10px)}
body.theme-emerald .main-card{backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.72)}
body.theme-emerald .panel-block{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.62));backdrop-filter:blur(12px)}
body.theme-emerald .nfc-action{box-shadow:inset 0 1px rgba(255,255,255,.8),0 12px 28px rgba(15,70,38,.08)}
body.theme-emerald .link-item{border-left:4px solid color-mix(in srgb,var(--green-700) 55%,transparent)}
body.theme-emerald .theme-signature{display:flex;align-items:center;gap:9px;margin:22px 0 4px;color:var(--green-700)}body.theme-emerald .theme-signature span{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--green-700),transparent)}body.theme-emerald .theme-signature i{font-size:5px}

/* DARK TECH — HUD, grade, cantos recortados e status */
body.theme-dark .theme-chrome{display:flex;align-items:center;justify-content:center;gap:12px;height:30px;background:#07110b;color:#75e39a;font:800 8px/1 monospace;letter-spacing:2px;border-bottom:1px solid rgba(117,227,154,.16)}
body.theme-dark .theme-chrome span{width:45px;height:1px;background:#2c7544}
body.theme-dark .hero-kicker{display:block;color:#82eea7;font:800 9px/1.2 monospace;letter-spacing:2px;margin-bottom:10px}
body.theme-dark .main-card,body.theme-dark .panel-block,body.theme-dark .link-item,body.theme-dark .nfc-action{position:relative}
body.theme-dark .main-card:before,body.theme-dark .panel-block:before{content:"";position:absolute;left:0;top:0;width:18px;height:18px;border-left:2px solid #52c97b;border-top:2px solid #52c97b}
body.theme-dark .main-card:after,body.theme-dark .panel-block:after{content:"";position:absolute;right:0;bottom:0;width:18px;height:18px;border-right:2px solid #52c97b;border-bottom:2px solid #52c97b}
body.theme-dark .section-title{font-family:monospace}.theme-dark .section-title:before{content:"//";color:#4acb76;margin-right:5px}
body.theme-dark .link-item>.fa-chevron-right:before{content:"\f105\f105"}
body.theme-dark .social-btn{clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%);border-radius:0}

/* GRAPHITE — editorial minimalista, numeração visual */
body.theme-graphite .theme-chrome{display:flex;align-items:center;justify-content:space-between;padding:14px max(20px,calc((100vw - 760px)/2));font-size:8px;letter-spacing:2px;color:#667069;text-transform:uppercase}
body.theme-graphite .theme-chrome span{height:1px;flex:1;background:#cdd3cf;margin:0 15px}
body.theme-graphite .hero-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:2px;color:rgba(255,255,255,.75);margin-bottom:8px}
body.theme-graphite .main-card{counter-reset:graph-section}
body.theme-graphite .section-title{counter-increment:graph-section;font-size:9px;letter-spacing:2px}
body.theme-graphite .section-title:before{content:"0" counter(graph-section);font-size:18px;font-weight:300;color:#9aa39d;margin-right:10px}
body.theme-graphite .panel-block{border-left:1px solid #bfc7c2;border-right:0;border-top:0;border-bottom:0;box-shadow:none}
body.theme-graphite .link-item{border:0;border-bottom:1px solid #dfe4e1;border-radius:0;box-shadow:none;padding-left:0;padding-right:0}

/* BUSINESS — site corporativo: faixa superior, duas colunas e títulos */
body.theme-business .theme-chrome{display:flex;align-items:center;justify-content:center;gap:12px;background:#102f51;color:#d7e9f7;height:34px;font-size:8px;font-weight:900;letter-spacing:2px}
body.theme-business .theme-chrome span{width:35px;height:1px;background:#6ba7d4}
body.theme-business .hero-kicker{display:inline-flex;background:#fff;color:#163a63;border-radius:4px;padding:5px 9px;font-size:8px;font-weight:900;letter-spacing:1.5px;margin-bottom:9px}
body.theme-business .main-card{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.theme-business .main-card>.primary-card,body.theme-business .main-card>.section-title,body.theme-business .main-card>.nfc-actions,body.theme-business .main-card>.social-row{grid-column:1/-1}
body.theme-business .main-card>.panel-block{margin:0}
body.theme-business .block-head{min-height:48px;border-bottom:2px solid #e5eef5;padding-bottom:10px}
body.theme-business .section-title{border-left:4px solid var(--green-700);padding-left:9px}
body.theme-business .theme-signature{display:flex;align-items:center;gap:12px;margin:20px 0;color:#4c7392}.theme-business .theme-signature span{height:2px;flex:1;background:#d9e7f1}.theme-business .theme-signature i{font-size:6px}

/* STORE — vitrine: etiqueta, cards de produto e CTAs */
body.theme-store .theme-chrome{display:flex;height:34px;background:repeating-linear-gradient(135deg,#7a2148 0,#7a2148 14px,#8c2a56 14px,#8c2a56 28px);align-items:center;justify-content:center;color:#fff;font-size:8px;font-weight:900;letter-spacing:2px}
body.theme-store .hero-kicker{display:inline-flex;background:#fff;color:#7a2148;padding:6px 12px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:1px;margin-bottom:9px}
body.theme-store .primary-card:after{content:"OFICIAL";position:absolute;right:12px;top:-9px;background:#fff;color:#7a2148;padding:4px 8px;border-radius:999px;font-size:7px;font-weight:1000;box-shadow:0 5px 15px rgba(80,20,48,.14)}
body.theme-store .promo-card{position:relative}.theme-store .promo-badge{position:absolute;left:14px;top:14px;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.15)}
body.theme-store .promo-card strong{font-size:15px}.theme-store .promo-action{font-size:11px;text-transform:uppercase;letter-spacing:.5px}
body.theme-store .store-gallery{gap:6px}.theme-store .store-photo:nth-child(1){transform:rotate(-1deg)}.theme-store .store-photo:nth-child(2){transform:rotate(1deg)}
body.theme-store .theme-signature{display:flex;justify-content:center;margin:22px 0}.theme-store .theme-signature:after{content:"✦  VITRINE DIGITAL  ✦";font-size:8px;font-weight:900;letter-spacing:2px;color:#a55073}

/* BEAUTY — revista, divisores florais e cards suaves */
body.theme-beauty .theme-chrome{display:flex;align-items:center;justify-content:center;gap:14px;padding:15px;color:#8c6075;font:700 8px/1 serif;letter-spacing:2.5px}
body.theme-beauty .theme-chrome span{width:50px;height:1px;background:#d9b6c6}
body.theme-beauty .hero-kicker{display:block;font-family:Georgia,serif;font-style:italic;font-size:12px;color:#fff;margin-bottom:8px}
body.theme-beauty h1{font-family:Georgia,serif}
body.theme-beauty .section-title{font-family:Georgia,serif;font-size:10px}
body.theme-beauty .section-title:after{content:"✦";height:auto;background:none;color:#c285a1;margin-left:8px}
body.theme-beauty .promo-card,body.theme-beauty .info-mini{box-shadow:0 15px 35px rgba(113,48,79,.07)}
body.theme-beauty .theme-signature{display:flex;align-items:center;justify-content:center;gap:12px;margin:25px 0;color:#c28ba4}.theme-beauty .theme-signature span{width:70px;height:1px;background:#dec0ce}.theme-beauty .theme-signature i{font-size:5px}

/* FOOD — menu: cabeçalhos de seção e cards tipo cardápio */
body.theme-food .theme-chrome{display:flex;align-items:center;justify-content:center;height:36px;background:#fff0dd;color:#7a4224;font-size:8px;font-weight:1000;letter-spacing:2px;border-bottom:1px dashed #d9b38d}
body.theme-food .theme-chrome span{width:30px;height:1px;background:#c58a58;margin:0 12px}
body.theme-food .hero-kicker{display:inline-flex;background:#f4c27f;color:#522813;padding:5px 10px;border-radius:5px;font-size:8px;font-weight:1000;letter-spacing:1px;margin-bottom:9px}
body.theme-food .section-title{font-family:Georgia,serif;font-size:12px;text-transform:none;letter-spacing:.2px}
body.theme-food .section-title:before{content:"•";color:#d17a38;font-size:20px;margin-right:7px}
body.theme-food .link-item{border-bottom:1px dashed #dbc6b1}
body.theme-food .promo-card strong{font-family:Georgia,serif;font-size:16px}.theme-food .promo-card small b{font-size:14px;color:#b55f26}
body.theme-food .panel-block .block-head{background:#fff0dd;margin:-16px -16px 14px;padding:12px 16px;border-radius:20px 20px 0 0}
body.theme-food .theme-signature{display:flex;justify-content:center;margin:22px 0}.theme-food .theme-signature:after{content:"•  BOM APETITE  •";color:#9b6846;font:700 9px Georgia,serif;letter-spacing:2px}

/* AUTO — painel mecânico: barras, recortes e indicadores */
body.theme-auto .theme-chrome{display:flex;align-items:center;justify-content:center;height:32px;background:#111c23;color:#fff;font:900 8px/1 sans-serif;letter-spacing:2px;border-bottom:4px solid #e05b35}
body.theme-auto .theme-chrome span{width:40px;height:3px;transform:skew(-25deg);background:#e05b35;margin:0 10px}
body.theme-auto .hero-kicker{display:inline-flex;color:#fff;border-left:4px solid #e05b35;padding:4px 8px;font-size:8px;font-weight:1000;letter-spacing:2px;margin-bottom:8px}
body.theme-auto .section-title{font-style:italic;letter-spacing:1.4px}
body.theme-auto .section-title:after{content:"";display:block;flex:1;height:4px;background:repeating-linear-gradient(135deg,#d9dfe2 0,#d9dfe2 8px,#cbd2d6 8px,#cbd2d6 16px)}
body.theme-auto .link-item>.fa-chevron-right{background:#e05b35;color:#fff;width:28px;height:28px;display:grid;place-items:center;clip-path:polygon(20% 0,100% 0,80% 100%,0 100%)}
body.theme-auto .block-head i{clip-path:polygon(15% 0,100% 0,85% 100%,0 100%);border-radius:0}
body.theme-auto .theme-signature{display:flex;height:5px;margin:22px 0;background:linear-gradient(90deg,#17242d 0 68%,#e05b35 68%)}body.theme-auto .theme-signature>*{display:none}

/* PREMIUM — editorial luxo: moldura, serifas e detalhes dourados */
body.theme-premium .theme-chrome{display:flex;align-items:center;justify-content:center;gap:15px;height:44px;background:#090806;color:#c9a85f;font:600 8px/1 Georgia,serif;letter-spacing:3px;border-bottom:1px solid rgba(196,154,74,.2)}
body.theme-premium .theme-chrome span{width:60px;height:1px;background:linear-gradient(90deg,transparent,#c49a4a)}
body.theme-premium .theme-chrome span:last-child{transform:scaleX(-1)}
body.theme-premium .hero-kicker{display:block;font:italic 12px Georgia,serif;color:#d8bf87;margin-bottom:9px}
body.theme-premium h1{font-family:Georgia,serif;font-size:38px}
body.theme-premium .section-title{font-family:Georgia,serif}
body.theme-premium .main-card{outline:1px solid rgba(196,154,74,.08);outline-offset:-8px}
body.theme-premium .link-item{position:relative}.theme-premium .link-item:before{content:"";position:absolute;left:0;top:50%;width:2px;height:0;background:#c49a4a;transition:.2s}.theme-premium .link-item:hover:before{height:60%;top:20%}
body.theme-premium .promo-card{border:1px solid rgba(196,154,74,.18)}
body.theme-premium .theme-signature{display:flex;align-items:center;gap:14px;margin:30px 0;color:#c49a4a}.theme-premium .theme-signature span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#80652e)}.theme-premium .theme-signature span:last-child{transform:scaleX(-1)}.theme-premium .theme-signature i{font-size:5px}

/* ornamentos exclusivos */
body.theme-store .ornament-a,body.theme-beauty .ornament-a,body.theme-premium .ornament-a{display:block;position:absolute;z-index:2;pointer-events:none}
body.theme-store .ornament-a{right:-50px;bottom:-55px;width:150px;height:150px;border:24px solid rgba(255,255,255,.10);border-radius:50%}
body.theme-beauty .ornament-a{left:-45px;top:55px;width:120px;height:180px;border:1px solid rgba(255,255,255,.24);border-radius:50%}
body.theme-premium .ornament-a{inset:22px;border:1px solid rgba(196,154,74,.18)}
body.theme-premium .ornament-b{display:block;position:absolute;z-index:2;left:50%;top:24px;bottom:24px;width:1px;background:linear-gradient(transparent,rgba(196,154,74,.15),transparent);pointer-events:none}

/* desktop layouts realmente distintos */
@media(min-width:760px){
 body.theme-business .wrap{width:min(calc(100% - 40px),900px)}
 body.theme-business .main-card>.panel-block:nth-of-type(odd){transform:translateY(8px)}
 body.theme-store .wrap{width:min(calc(100% - 32px),760px)}
 body.theme-store .promo-list{grid-template-columns:repeat(3,1fr)}
 body.theme-store .promo-card{display:flex;flex-direction:column}.theme-store .promo-card img{width:100%;height:150px}
 body.theme-food .wrap{width:min(calc(100% - 32px),760px)}
 body.theme-food .main-card{display:grid;grid-template-columns:1fr 1fr;gap:14px}
 body.theme-food .main-card>.primary-card,body.theme-food .main-card>.section-title,body.theme-food .main-card>.nfc-actions,body.theme-food .main-card>.social-row{grid-column:1/-1}
 body.theme-food .main-card>.panel-block{margin:0}
 body.theme-auto .wrap{width:min(calc(100% - 32px),820px)}
 body.theme-auto .store-info-grid,body.theme-auto .trust-grid{grid-template-columns:repeat(3,1fr)}
}

/* mobile keeps identity but returns to one content column */
@media(max-width:759px){
 body.theme-business .main-card,body.theme-food .main-card{display:flex}
 body.theme-business .main-card>.panel-block,body.theme-food .main-card>.panel-block{margin-top:16px}
 .theme-chrome b{white-space:nowrap}
 body.theme-premium h1{font-size:32px}
}


/* ==========================================================
   V20.42.1 — Mobile-first refinement
   Temas mantêm personalidade, sem exibir nomes internos.
   ========================================================== */
.theme-chrome,.theme-intro,.theme-signature,.hero-kicker{display:none!important}

/* Nenhum tema injeta palavras decorativas na página pública */
body.theme-store .theme-signature:after,
body.theme-food .theme-signature:after{content:none!important}

/* A prioridade do TapVio é celular: todos os temas seguem a ergonomia do Classic. */
@media(max-width:759px){
  html,body{max-width:100%;overflow-x:hidden}
  .page{width:100%;max-width:100%;overflow:hidden}
  .wrap{width:100%!important;max-width:560px!important;margin:0 auto!important;padding:0 12px 28px!important}
  .hero{min-height:0!important;border-radius:0 0 24px 24px!important;clip-path:none!important;margin:0!important}
  .hero-inner{width:100%!important;max-width:560px!important;margin:0 auto!important;padding:34px 18px 28px!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important}
  .hero-copy{width:100%!important;text-align:center!important}
  .logo-shell{width:88px!important;height:88px!important;min-width:88px!important;min-height:88px!important;margin:0 auto 13px!important;border-radius:24px!important;transform:none!important}
  .logo{width:100%!important;height:100%!important;object-fit:cover!important}
  .brand-badge{margin:0 auto 12px!important;transform:none!important}
  h1,.hero h1{font-size:clamp(25px,7.4vw,34px)!important;line-height:1.08!important;letter-spacing:-.7px!important;text-align:center!important;margin:0 auto 8px!important;font-family:inherit!important;font-style:normal!important}
  .tagline{max-width:390px!important;margin:0 auto 14px!important;font-size:13px!important;line-height:1.5!important;text-align:center!important}
  .hero-meta{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
  .meta-pill{max-width:100%!important;font-size:10px!important}
  .theme-ornament{pointer-events:none!important;max-width:45vw!important}
  body.theme-premium .ornament-a{inset:12px!important}
  body.theme-premium .ornament-b{display:none!important}

  .main-card{display:flex!important;flex-direction:column!important;width:100%!important;margin-top:-14px!important;padding:14px!important;border-radius:22px!important;transform:none!important;clip-path:none!important;outline:none!important}
  .main-card>*{min-width:0!important;max-width:100%!important}
  .primary-card{width:100%!important;border-radius:18px!important;padding:15px!important;transform:none!important;clip-path:none!important}
  .primary-card:after{display:none!important}
  .section-title{width:100%!important;display:flex!important;align-items:center!important;font-family:inherit!important;font-style:normal!important;font-size:9px!important;line-height:1.3!important;letter-spacing:1.1px!important;margin:18px 2px 9px!important;padding:0!important;border:0!important}
  .section-title:before{display:none!important}
  .section-title:after{content:""!important;display:block!important;height:1px!important;flex:1!important;margin-left:8px!important;background:var(--border)!important}
  .nfc-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .nfc-action{min-width:0!important;min-height:76px!important;padding:11px 7px!important;border-radius:15px!important;clip-path:none!important;transform:none!important}
  .nfc-action i{width:34px!important;height:34px!important;font-size:14px!important;border-radius:11px!important;clip-path:none!important}
  .nfc-action span{font-size:9px!important;line-height:1.2!important}
  .links-list{gap:8px!important}
  .link-item{width:100%!important;min-height:58px!important;padding:10px 11px!important;border-radius:15px!important;transform:none!important;clip-path:none!important}
  .link-item:before{display:none!important}
  .link-icon{width:37px!important;height:37px!important;min-width:37px!important;border-radius:11px!important;clip-path:none!important}
  .link-copy{min-width:0!important}
  .link-copy strong{font-size:11px!important;line-height:1.25!important}
  .link-copy small{font-size:9px!important;line-height:1.3!important;white-space:normal!important}
  .link-item>.fa-chevron-right{width:auto!important;height:auto!important;display:block!important;background:transparent!important;color:var(--muted)!important;clip-path:none!important}
  .link-item>.fa-chevron-right:before{content:"\\f054"!important}

  .panel-block{width:100%!important;margin-top:12px!important;padding:14px!important;border-radius:18px!important;transform:none!important;clip-path:none!important}
  .panel-block:before,.panel-block:after{display:none!important}
  .panel-block .block-head{min-height:0!important;margin:0 0 12px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}
  .block-head i{width:36px!important;height:36px!important;border-radius:11px!important;clip-path:none!important}
  .block-head h2{font-size:12px!important}
  .block-head p{font-size:9px!important}
  .store-info-grid,.trust-grid{grid-template-columns:1fr!important;gap:8px!important}
  .info-mini,.trust-item{min-height:0!important;padding:11px!important;border-radius:14px!important;transform:none!important}
  .promo-list{grid-template-columns:1fr!important;gap:10px!important}
  .promo-card{width:100%!important;border-radius:16px!important;transform:none!important}
  .promo-card img{width:100%!important;height:auto!important;max-height:210px!important;object-fit:cover!important}
  .store-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .store-photo{transform:none!important;border-radius:13px!important}
  .social-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .social-btn{width:100%!important;min-width:0!important;border-radius:14px!important;clip-path:none!important;transform:none!important}
  .footer{padding:22px 12px!important;text-align:center!important}

  /* Premium continua elegante, mas sem sacrificar leitura/uso no celular */
  body.theme-premium h1{font-family:inherit!important;font-size:30px!important}
  body.theme-premium .section-title{font-family:inherit!important}
  body.theme-premium .main-card{outline:none!important}
  /* Beauty mantém delicadeza nas cores, não em uma estrutura menos prática */
  body.theme-beauty h1,body.theme-beauty .section-title{font-family:inherit!important}
}

/* Telas muito estreitas */
@media(max-width:380px){
  .wrap{padding-left:9px!important;padding-right:9px!important}
  .hero-inner{padding-left:13px!important;padding-right:13px!important}
  .main-card{padding:11px!important}
  .nfc-actions{gap:6px!important}
  .nfc-action{padding-left:4px!important;padding-right:4px!important}
  .social-row{grid-template-columns:1fr!important}
}


/* ==========================================================
   TapVio V20.43 — CLASSIC É A BASE DE TODOS OS TEMAS
   Regra: temas mudam identidade, nunca estrutura/ordem/medidas.
   ========================================================== */

/* Neutraliza alterações estruturais antigas dos temas */
body[class*="theme-"] .theme-chrome,
body[class*="theme-"] .theme-intro,
body[class*="theme-"] .theme-signature,
body[class*="theme-"] .hero-kicker,
body[class*="theme-"] .theme-ornament{display:none!important}

body[class*="theme-"] .page{width:100%!important;max-width:none!important;overflow:visible!important}
body[class*="theme-"] .wrap{
  width:min(calc(100% - 24px),560px)!important;
  max-width:560px!important;
  margin:0 auto!important;
  padding:0 0 34px!important;
}
body[class*="theme-"] .hero{
  min-height:0!important;
  margin:0!important;
  border-radius:0!important;
  clip-path:none!important;
  transform:none!important;
}
body[class*="theme-"] .hero-inner{
  width:100%!important;
  max-width:560px!important;
  margin:0 auto!important;
  padding:42px 20px 40px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body[class*="theme-"] .brand-badge{
  order:0!important;
  margin:0 auto 12px!important;
  transform:none!important;
}
body[class*="theme-"] .logo-shell{
  order:1!important;
  width:94px!important;height:94px!important;
  min-width:94px!important;min-height:94px!important;
  max-width:94px!important;max-height:94px!important;
  margin:0 auto 14px!important;
  border-radius:26px!important;
  transform:none!important;
  clip-path:none!important;
}
body[class*="theme-"] .hero-copy{
  order:2!important;width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;text-align:center!important;
}
body[class*="theme-"] .hero h1{
  margin:0 auto 8px!important;
  padding:0!important;
  max-width:100%!important;
  font-family:inherit!important;
  font-style:normal!important;
  font-size:32px!important;
  line-height:1.08!important;
  letter-spacing:-.7px!important;
  text-align:center!important;
}
body[class*="theme-"] .tagline{
  max-width:420px!important;
  margin:0 auto 15px!important;
  font-size:13px!important;line-height:1.5!important;
  text-align:center!important;
}
body[class*="theme-"] .hero-meta{
  width:100%!important;
  display:flex!important;justify-content:center!important;align-items:center!important;
  gap:7px!important;flex-wrap:wrap!important;
}

/* Main: mesma ordem e espaçamento do Classic */
body[class*="theme-"] .main-card{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  margin:-18px 0 0!important;
  padding:16px!important;
  border-radius:24px!important;
  transform:none!important;
  clip-path:none!important;
  outline:none!important;
  counter-reset:none!important;
}
body[class*="theme-"] .main-card>*{
  width:100%!important;max-width:100%!important;min-width:0!important;
  grid-column:auto!important;
  transform:none!important;
}
body[class*="theme-"] .primary-card{
  margin:0!important;
  padding:16px!important;
  border-radius:19px!important;
  transform:none!important;clip-path:none!important;
}
body[class*="theme-"] .primary-card:after{display:none!important}
body[class*="theme-"] .section-title{
  display:flex!important;align-items:center!important;
  width:100%!important;
  margin:20px 2px 10px!important;
  padding:0!important;
  border:0!important;
  font-family:inherit!important;font-style:normal!important;
  font-size:9px!important;line-height:1.3!important;
  letter-spacing:1.15px!important;
}
body[class*="theme-"] .section-title:before{display:none!important}
body[class*="theme-"] .section-title:after{
  content:""!important;display:block!important;
  height:1px!important;flex:1!important;
  margin-left:9px!important;background:var(--border)!important;
}

/* Atalhos: mesma grade, tamanho e ordem */
body[class*="theme-"] .nfc-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  margin:0!important;
}
body[class*="theme-"] .nfc-action{
  min-width:0!important;min-height:80px!important;
  padding:12px 8px!important;
  border-radius:16px!important;
  transform:none!important;clip-path:none!important;
}
body[class*="theme-"] .nfc-action i{
  width:36px!important;height:36px!important;
  border-radius:12px!important;clip-path:none!important;
}

/* Links: mesma linha, altura, margens e setas */
body[class*="theme-"] .links-list{display:flex!important;flex-direction:column!important;gap:9px!important;margin:0!important}
body[class*="theme-"] .link-item{
  width:100%!important;min-height:60px!important;
  margin:0!important;padding:10px 12px!important;
  border-radius:16px!important;
  transform:none!important;clip-path:none!important;
}
body[class*="theme-"] .link-item:before{display:none!important}
body[class*="theme-"] .link-icon{
  width:39px!important;height:39px!important;min-width:39px!important;
  border-radius:12px!important;clip-path:none!important;
}
body[class*="theme-"] .link-item>.fa-chevron-right{
  width:auto!important;height:auto!important;
  display:block!important;background:transparent!important;
  color:var(--muted)!important;clip-path:none!important;
}
body[class*="theme-"] .link-item>.fa-chevron-right:before{content:"\f054"!important}

/* Blocos: mesma sequência e medidas */
body[class*="theme-"] .panel-block{
  width:100%!important;
  margin:16px 0 0!important;
  padding:16px!important;
  border-radius:20px!important;
  transform:none!important;clip-path:none!important;
}
body[class*="theme-"] .panel-block:before,
body[class*="theme-"] .panel-block:after{display:none!important}
body[class*="theme-"] .panel-block .block-head{
  min-height:0!important;
  margin:0 0 13px!important;
  padding:0!important;
  border:0!important;background:transparent!important;
  border-radius:0!important;
}
body[class*="theme-"] .block-head i{
  width:38px!important;height:38px!important;
  border-radius:12px!important;clip-path:none!important;
}
body[class*="theme-"] .store-info-grid,
body[class*="theme-"] .trust-grid{
  display:grid!important;grid-template-columns:1fr!important;gap:9px!important;
}
body[class*="theme-"] .info-mini,
body[class*="theme-"] .trust-item{
  min-height:0!important;padding:12px!important;
  border-radius:15px!important;transform:none!important;clip-path:none!important;
}

/* Promoções e galeria seguem o Classic */
body[class*="theme-"] .promo-list{
  display:grid!important;grid-template-columns:1fr!important;gap:10px!important;
}
body[class*="theme-"] .promo-card{
  width:100%!important;margin:0!important;
  border-radius:17px!important;transform:none!important;clip-path:none!important;
}
body[class*="theme-"] .promo-card img{
  width:100%!important;height:auto!important;max-height:220px!important;object-fit:cover!important;
}
body[class*="theme-"] .store-gallery{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
}
body[class*="theme-"] .store-photo{
  transform:none!important;border-radius:14px!important;
}

/* Social e footer: padrão único */
body[class*="theme-"] .social-row{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;
}
body[class*="theme-"] .social-btn{
  width:100%!important;min-width:0!important;
  border-radius:15px!important;transform:none!important;clip-path:none!important;
}
body[class*="theme-"] .footer{padding:24px 12px!important;text-align:center!important}

/* ==========================================================
   PERSONALIDADE VISUAL — só acabamento, sem alterar layout
   ========================================================== */

/* Emerald Glass */
body.theme-emerald .main-card,
body.theme-emerald .panel-block,
body.theme-emerald .link-item{backdrop-filter:blur(14px)}
body.theme-emerald .main-card{border-color:rgba(255,255,255,.68)}
body.theme-emerald .nfc-action,body.theme-emerald .link-item{box-shadow:0 8px 24px rgba(22,90,49,.06)}

/* Dark Tech */
body.theme-dark .main-card,body.theme-dark .panel-block{border-color:rgba(92,218,132,.13)}
body.theme-dark .section-title:after{background:rgba(92,218,132,.16)!important}
body.theme-dark .nfc-action,body.theme-dark .link-item{border-color:rgba(92,218,132,.12)}
body.theme-dark .social-btn{border-color:rgba(92,218,132,.12)}

/* Graphite */
body.theme-graphite .main-card{box-shadow:0 18px 50px rgba(39,48,42,.09)}
body.theme-graphite .link-item{box-shadow:none}
body.theme-graphite .section-title:after{background:#d9dfdb!important}

/* Business */
body.theme-business .main-card{box-shadow:0 20px 55px rgba(22,58,99,.11)}
body.theme-business .section-title{color:#315b7d}
body.theme-business .section-title:after{background:#dbe8f2!important}
body.theme-business .nfc-action,body.theme-business .link-item{border-color:#dce8f1}

/* Store */
body.theme-store .main-card{box-shadow:0 22px 58px rgba(122,33,72,.11)}
body.theme-store .section-title{color:#8b3d61}
body.theme-store .section-title:after{background:#ecd7e0!important}
body.theme-store .nfc-action,body.theme-store .link-item{border-color:#efdce4}

/* Beauty */
body.theme-beauty .main-card{box-shadow:0 22px 60px rgba(113,48,79,.10)}
body.theme-beauty .section-title{color:#8b6175}
body.theme-beauty .section-title:after{background:#e8d8df!important}
body.theme-beauty .nfc-action,body.theme-beauty .link-item,body.theme-beauty .panel-block{box-shadow:0 9px 26px rgba(113,48,79,.055)}

/* Food */
body.theme-food .main-card{box-shadow:0 20px 52px rgba(113,53,31,.10)}
body.theme-food .section-title{color:#855437}
body.theme-food .section-title:after{background:#eadac9!important}
body.theme-food .nfc-action,body.theme-food .link-item{border-color:#eadccb}

/* Auto */
body.theme-auto .main-card{box-shadow:0 20px 52px rgba(23,36,45,.14)}
body.theme-auto .section-title{color:#596a75}
body.theme-auto .section-title:after{background:linear-gradient(90deg,#d7dde1 0 82%,#e05b35 82%)!important}
body.theme-auto .nfc-action,body.theme-auto .link-item{border-color:#d7dde1}

/* Premium */
body.theme-premium .main-card{box-shadow:0 25px 65px rgba(0,0,0,.36);border-color:rgba(196,154,74,.15)}
body.theme-premium .section-title{color:#b9a77f}
body.theme-premium .section-title:after{background:rgba(196,154,74,.18)!important}
body.theme-premium .nfc-action,body.theme-premium .link-item,body.theme-premium .panel-block{border-color:rgba(196,154,74,.14)}
body.theme-premium .hero h1{font-family:inherit!important}

/* Mobile fino */
@media(max-width:380px){
 body[class*="theme-"] .wrap{width:calc(100% - 18px)!important}
 body[class*="theme-"] .hero-inner{padding:34px 13px 32px!important}
 body[class*="theme-"] .hero h1{font-size:28px!important}
 body[class*="theme-"] .main-card{padding:12px!important}
 body[class*="theme-"] .nfc-actions{gap:7px!important}
 body[class*="theme-"] .social-row{grid-template-columns:1fr!important}
}

/* Desktop também preserva a mesma ordem/coluna do Classic */
@media(min-width:760px){
 body[class*="theme-"] .wrap{width:min(calc(100% - 40px),620px)!important;max-width:620px!important}
 body[class*="theme-"] .hero-inner{max-width:620px!important}
 body[class*="theme-"] .main-card{display:flex!important;flex-direction:column!important}
 body[class*="theme-"] .promo-list{grid-template-columns:1fr!important}
 body[class*="theme-"] .store-info-grid,body[class*="theme-"] .trust-grid{grid-template-columns:1fr!important}
}


/* ==========================================================
   TapVio V20.44 — identidade forte sem alterar o grid Classic
   ========================================================== */

/* EMERALD — vidro, brilho e folhas discretas */
body.theme-emerald .main-card{background:rgba(255,255,255,.78)!important}
body.theme-emerald .primary-card,body.theme-emerald .nfc-action,body.theme-emerald .link-item,body.theme-emerald .panel-block{border-radius:22px!important}
body.theme-emerald .primary-card{position:relative;overflow:hidden}
body.theme-emerald .primary-card:before{content:"";display:block!important;position:absolute;right:-22px;top:-24px;width:88px;height:88px;border:1px solid rgba(255,255,255,.23);border-radius:65% 35% 65% 35%;transform:rotate(35deg)}
body.theme-emerald .nfc-action i,body.theme-emerald .link-icon,body.theme-emerald .block-head i{border-radius:50% 50% 50% 18%!important}

/* DARK TECH — quadrado, terminal e neon */
body.theme-dark .primary-card,body.theme-dark .nfc-action,body.theme-dark .link-item,body.theme-dark .panel-block,body.theme-dark .social-btn{border-radius:5px!important}
body.theme-dark .logo-shell{border-radius:8px!important}
body.theme-dark .nfc-action i,body.theme-dark .link-icon,body.theme-dark .block-head i{border-radius:3px!important;border:1px solid rgba(91,225,133,.18)}
body.theme-dark .link-item{box-shadow:inset 3px 0 0 rgba(82,201,123,.55)!important}
body.theme-dark .primary-card{position:relative;overflow:hidden}
body.theme-dark .primary-card:before{content:"";display:block!important;position:absolute;inset:0;background:linear-gradient(rgba(90,220,130,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(90,220,130,.045) 1px,transparent 1px);background-size:16px 16px;pointer-events:none}
body.theme-dark .section-title{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}

/* GRAPHITE — editorial, reto e minimalista */
body.theme-graphite .primary-card,body.theme-graphite .nfc-action,body.theme-graphite .link-item,body.theme-graphite .panel-block{border-radius:2px!important}
body.theme-graphite .logo-shell{border-radius:50%!important}
body.theme-graphite .nfc-action i,body.theme-graphite .link-icon,body.theme-graphite .block-head i{border-radius:0!important}
body.theme-graphite .link-item{border-left:0!important;border-right:0!important;border-top:0!important;border-bottom:1px solid #d8dfda!important;background:transparent!important}
body.theme-graphite .section-title{letter-spacing:2px!important}
body.theme-graphite .primary-card{border-left:5px solid #66766c!important}

/* BUSINESS — botões quadrados e aparência de painel corporativo */
body.theme-business .primary-card,body.theme-business .nfc-action,body.theme-business .link-item,body.theme-business .panel-block,body.theme-business .social-btn{border-radius:8px!important}
body.theme-business .logo-shell{border-radius:12px!important}
body.theme-business .nfc-action i,body.theme-business .link-icon,body.theme-business .block-head i{border-radius:6px!important}
body.theme-business .primary-card{border-left:5px solid #76b3df!important}
body.theme-business .link-item{box-shadow:0 4px 12px rgba(22,58,99,.045)!important}
body.theme-business .section-title{font-weight:1000!important}
body.theme-business .panel-block{border-top:3px solid #dbe9f3!important}

/* STORE — etiquetas, cartões e botões comerciais */
body.theme-store .primary-card,body.theme-store .panel-block{border-radius:20px!important}
body.theme-store .nfc-action,body.theme-store .link-item,body.theme-store .social-btn{border-radius:13px!important}
body.theme-store .nfc-action i,body.theme-store .link-icon,body.theme-store .block-head i{border-radius:12px!important}
body.theme-store .primary-card{position:relative;overflow:hidden}
body.theme-store .primary-card:before{content:"%";display:grid!important;place-items:center;position:absolute;right:-13px;top:-15px;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.14);font-size:20px;font-weight:1000;color:#fff;transform:rotate(10deg)}
body.theme-store .promo-card{border:1px solid #efd8e2!important;box-shadow:0 10px 26px rgba(122,33,72,.07)!important}
body.theme-store .promo-badge{border-radius:6px!important}
body.theme-store .link-item>.fa-chevron-right{background:#f7e7ee!important;color:#9a4268!important;width:28px!important;height:28px!important;display:grid!important;place-items:center!important;border-radius:50%!important}

/* BEAUTY — flores e pétalas, mantendo exatamente a estrutura Classic */
body.theme-beauty{background:
 radial-gradient(circle at 8% 14%,rgba(217,135,170,.13) 0 3px,transparent 4px),
 radial-gradient(circle at 92% 38%,rgba(217,135,170,.11) 0 4px,transparent 5px),
 linear-gradient(#fffafb,#f8eef2)!important}
body.theme-beauty .hero{position:relative;overflow:hidden}
body.theme-beauty .hero:before,body.theme-beauty .hero:after{content:"✿";position:absolute;z-index:2;color:rgba(255,255,255,.22);font-family:Georgia,serif;pointer-events:none}
body.theme-beauty .hero:before{font-size:92px;left:-22px;top:18px;transform:rotate(-18deg)}
body.theme-beauty .hero:after{font-size:68px;right:-8px;bottom:5px;transform:rotate(19deg)}
body.theme-beauty .hero-inner{position:relative;z-index:3}
body.theme-beauty .main-card{position:relative}
body.theme-beauty .main-card:before{content:"❀";display:block!important;position:absolute;right:16px;top:12px;color:rgba(185,99,137,.16);font-size:25px;pointer-events:none}
body.theme-beauty .primary-card,body.theme-beauty .nfc-action,body.theme-beauty .link-item,body.theme-beauty .panel-block{border-radius:24px!important}
body.theme-beauty .logo-shell{border-radius:50%!important;box-shadow:0 0 0 5px rgba(255,255,255,.18),0 12px 35px rgba(86,37,60,.18)!important}
body.theme-beauty .nfc-action i,body.theme-beauty .link-icon,body.theme-beauty .block-head i{border-radius:50%!important}
body.theme-beauty .section-title:before{content:"✿"!important;display:inline-block!important;color:#c784a2;margin-right:7px;font-size:12px}
body.theme-beauty .link-item{border-color:#ead8e1!important}
body.theme-beauty .panel-block{border:1px solid #eadce2!important}

/* FOOD — papel/cardápio, tons quentes e ícones circulares */
body.theme-food .primary-card,body.theme-food .panel-block{border-radius:16px!important}
body.theme-food .nfc-action,body.theme-food .link-item{border-radius:10px!important}
body.theme-food .nfc-action i,body.theme-food .link-icon,body.theme-food .block-head i{border-radius:50%!important}
body.theme-food .main-card{background:#fffdf8!important;background-image:radial-gradient(rgba(113,53,31,.035) 1px,transparent 1px)!important;background-size:8px 8px!important}
body.theme-food .panel-block{border:1px dashed #ddc4aa!important}
body.theme-food .link-item{border-bottom:2px dotted #e3cfbb!important}
body.theme-food .section-title:before{content:"•"!important;display:inline-block!important;color:#d17a38;font-size:18px;margin-right:6px}

/* AUTO — recortes visuais, aço e laranja, sem mexer na posição */
body.theme-auto .primary-card,body.theme-auto .nfc-action,body.theme-auto .link-item,body.theme-auto .panel-block,body.theme-auto .social-btn{border-radius:4px!important}
body.theme-auto .logo-shell{border-radius:8px!important}
body.theme-auto .nfc-action i,body.theme-auto .link-icon,body.theme-auto .block-head i{border-radius:3px!important}
body.theme-auto .primary-card{border-left:6px solid #e05b35!important}
body.theme-auto .link-item{border-left:3px solid #cfd6da!important}
body.theme-auto .link-item:hover{border-left-color:#e05b35!important}
body.theme-auto .section-title:before{content:"//"!important;display:inline-block!important;color:#e05b35;font-weight:1000;margin-right:6px}
body.theme-auto .panel-block{border-top:3px solid #263741!important}

/* PREMIUM — luxo: linhas douradas, botões mais retos e moldura */
body.theme-premium .primary-card,body.theme-premium .nfc-action,body.theme-premium .link-item,body.theme-premium .panel-block,body.theme-premium .social-btn{border-radius:6px!important}
body.theme-premium .logo-shell{border-radius:50%!important;border-color:#b8944c!important;box-shadow:0 0 0 1px rgba(196,154,74,.22),0 16px 40px rgba(0,0,0,.28)!important}
body.theme-premium .nfc-action i,body.theme-premium .link-icon,body.theme-premium .block-head i{border-radius:50%!important;border:1px solid rgba(196,154,74,.18)}
body.theme-premium .main-card{position:relative}
body.theme-premium .main-card:before{content:"";display:block!important;position:absolute;inset:7px;border:1px solid rgba(196,154,74,.07);pointer-events:none;border-radius:18px}
body.theme-premium .primary-card{border:1px solid rgba(196,154,74,.24)!important}
body.theme-premium .section-title:before{content:"◆"!important;display:inline-block!important;color:#c49a4a;font-size:7px;margin-right:7px}
body.theme-premium .link-item{box-shadow:inset 0 0 0 1px rgba(196,154,74,.035)!important}

/* Classic permanece intocado como referência estrutural. */

/* Mobile: detalhes são decorativos, nunca invadem conteúdo */
@media(max-width:759px){
 body.theme-beauty .hero:before{font-size:68px;left:-20px;top:24px}
 body.theme-beauty .hero:after{font-size:50px;right:-10px;bottom:8px}
 body.theme-beauty .main-card:before{font-size:20px;right:13px;top:10px}
 body.theme-store .primary-card:before{width:45px;height:45px;font-size:17px}
}

/* Telas estreitas: reduz decoração ainda mais */
@media(max-width:380px){
 body.theme-beauty .hero:before{font-size:54px;opacity:.7}
 body.theme-beauty .hero:after{font-size:42px;opacity:.7}
}


/* ==========================================================
   TapVio V20.45 — Social compacto + componentes temáticos
   ========================================================== */

/* "Siga e compartilhe": SEMPRE compacto e lado a lado */
body[class*="theme-"] .social-row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  margin:0!important;
}
body[class*="theme-"] .social-btn{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font-size:9px!important;
  line-height:1!important;
  white-space:nowrap!important;
  transform:none!important;
  clip-path:none!important;
}
body[class*="theme-"] .social-btn i{
  font-size:13px!important;
  margin:0!important;
}
body[class*="theme-"] .social-btn span{
  font-size:9px!important;
  line-height:1!important;
}

/* Mesmo em telas muito pequenas, tenta manter lado a lado */
@media(max-width:380px){
  body[class*="theme-"] .social-row{gap:5px!important}
  body[class*="theme-"] .social-btn{
    height:34px!important;
    min-height:34px!important;
    padding:0 9px!important;
    font-size:8px!important;
  }
  body[class*="theme-"] .social-btn span{font-size:8px!important}
}

/* Componente temático: fica antes de "Siga e compartilhe" sem alterar ordem */
.theme-component{
  width:100%;
  height:20px;
  margin:18px 0 2px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  pointer-events:none;
}
.theme-component-line{
  width:54px;
  height:1px;
  background:var(--border);
}
.theme-component-icon,
.theme-component-icon-b{
  display:block;
  position:relative;
  width:12px;
  height:12px;
}

/* Classic — ponto limpo */
body.theme-classic .theme-component-icon{
  border:2px solid var(--green-700);
  border-radius:50%;
  opacity:.7;
}
body.theme-classic .theme-component-icon-b{
  width:5px;height:5px;background:var(--green-700);border:0;
}

/* Emerald — folhas */
body.theme-emerald .theme-component-icon{
  width:13px;height:8px;
  border:1px solid color-mix(in srgb,var(--green-700) 70%,transparent);
  border-radius:100% 0 100% 0;
  transform:rotate(-25deg);
}
body.theme-emerald .theme-component-icon-b{transform:rotate(155deg)}
body.theme-emerald .theme-component-line{
  background:linear-gradient(90deg,transparent,var(--green-700),transparent);
}

/* Dark Tech — circuito */
body.theme-dark .theme-component-icon{
  width:10px;height:10px;border:1px solid #52c97b;border-radius:2px;
  box-shadow:0 0 8px rgba(82,201,123,.28);
}
body.theme-dark .theme-component-icon:after{
  content:"";position:absolute;left:11px;top:4px;width:7px;height:1px;background:#52c97b;
}
body.theme-dark .theme-component-line{
  height:1px;background:repeating-linear-gradient(90deg,#52c97b 0 6px,transparent 6px 10px);
}

/* Graphite — editorial */
body.theme-graphite .theme-component-icon{
  width:8px;height:8px;background:#879189;transform:rotate(45deg);
}
body.theme-graphite .theme-component-icon-b{
  background:transparent;border:1px solid #879189;
}
body.theme-graphite .theme-component-line{background:#c9cfcb}

/* Business — barras corporativas */
body.theme-business .theme-component-icon{
  width:4px;height:12px;background:#2f80c9;border-radius:1px;
  box-shadow:6px -3px 0 #6ba7d4,12px 2px 0 #163a63;
}
body.theme-business .theme-component-icon-b{transform:scaleX(-1)}
body.theme-business .theme-component-line{
  background:linear-gradient(90deg,#dbe8f2,#2f80c9,#dbe8f2);
}

/* Store — tag / etiqueta */
body.theme-store .theme-component-icon{
  width:13px;height:10px;background:#ef5a87;
  border-radius:3px 6px 6px 3px;
}
body.theme-store .theme-component-icon:before{
  content:"";position:absolute;left:2px;top:3px;width:3px;height:3px;border-radius:50%;background:#fff;
}
body.theme-store .theme-component-icon-b{transform:scaleX(-1)}
body.theme-store .theme-component-line{
  background:linear-gradient(90deg,transparent,#ef5a87,transparent);
}

/* Beauty — flores de verdade, pequenas e discretas */
body.theme-beauty .theme-component-icon,
body.theme-beauty .theme-component-icon-b{
  width:14px;height:14px;
}
body.theme-beauty .theme-component-icon:before,
body.theme-beauty .theme-component-icon-b:before{
  content:"✿";
  position:absolute;inset:-4px;
  color:#c784a2;
  font:16px/1 Georgia,serif;
}
body.theme-beauty .theme-component-icon-b:before{content:"❀";color:#d9a0ba}
body.theme-beauty .theme-component-line{
  background:linear-gradient(90deg,transparent,#d7a7bc,transparent);
}

/* Food — talher/prato estilizado */
body.theme-food .theme-component-icon{
  width:12px;height:12px;border:2px solid #c97436;border-radius:50%;
}
body.theme-food .theme-component-icon:after{
  content:"";position:absolute;right:-6px;top:1px;width:1px;height:10px;background:#c97436;
}
body.theme-food .theme-component-icon-b{
  width:2px;height:12px;background:#c97436;border-radius:2px;
  box-shadow:3px 0 0 #c97436;
}
body.theme-food .theme-component-line{
  background:repeating-linear-gradient(90deg,#d8b493 0 4px,transparent 4px 7px);
}

/* Auto — pista/faixa */
body.theme-auto .theme-component-icon{
  width:14px;height:7px;background:#e05b35;
  clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);
}
body.theme-auto .theme-component-icon-b{background:#263741}
body.theme-auto .theme-component-line{
  height:4px;
  background:repeating-linear-gradient(135deg,#263741 0 7px,#e05b35 7px 14px);
}

/* Premium — diamantes e ouro */
body.theme-premium .theme-component-icon{
  width:8px;height:8px;border:1px solid #c49a4a;transform:rotate(45deg);
}
body.theme-premium .theme-component-icon-b{
  background:#c49a4a;
}
body.theme-premium .theme-component-line{
  background:linear-gradient(90deg,transparent,#80652e,#c49a4a,#80652e,transparent);
}

/* Componentes extras nas áreas principais, sem trocar alinhamento do Classic */
body.theme-beauty .panel-block{position:relative;overflow:hidden}
body.theme-beauty .panel-block:after{
  content:"✿"!important;display:block!important;
  position:absolute;right:10px;bottom:7px;
  color:rgba(199,132,162,.11);font:28px/1 Georgia,serif;pointer-events:none;
}
body.theme-food .primary-card:after{
  content:"☕"!important;display:block!important;
  position:absolute;right:12px;bottom:8px;
  color:rgba(255,255,255,.15);font-size:26px;pointer-events:none;
}
body.theme-auto .primary-card:after{
  content:"";display:block!important;
  position:absolute;right:0;top:0;width:58px;height:100%;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 7px,transparent 7px 14px);
  pointer-events:none;
}
body.theme-business .primary-card:after{
  content:"";display:block!important;
  position:absolute;right:13px;bottom:11px;width:34px;height:22px;
  background:linear-gradient(90deg,rgba(255,255,255,.14) 0 4px,transparent 4px 8px,rgba(255,255,255,.14) 8px 14px,transparent 14px 18px,rgba(255,255,255,.14) 18px 28px);
  pointer-events:none;
}
body.theme-premium .primary-card:after{
  content:"◆";display:block!important;
  position:absolute;right:13px;bottom:10px;color:rgba(196,154,74,.25);font-size:12px;pointer-events:none;
}


/* ==========================================================
   TapVio V20.45.1 — Logo sempre acompanha o formato do shell
   ========================================================== */

/* Regra global: nunca deixar imagem quadrada dentro de shell arredondado */
body[class*="theme-"] .logo-shell{
  position:relative!important;
  overflow:hidden!important;
  padding:0!important;
}
body[class*="theme-"] .logo-shell .logo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  clip-path:inherit!important;
  border-radius:inherit!important;
}

/* Classic — quadrado arredondado */
body.theme-classic .logo-shell,
body.theme-classic .logo-shell .logo{border-radius:26px!important}

/* Emerald — forma orgânica suave */
body.theme-emerald .logo-shell,
body.theme-emerald .logo-shell .logo{
  border-radius:50% 50% 50% 22%!important;
}

/* Dark Tech — quadrado técnico */
body.theme-dark .logo-shell,
body.theme-dark .logo-shell .logo{
  border-radius:8px!important;
}

/* Graphite — circular */
body.theme-graphite .logo-shell,
body.theme-graphite .logo-shell .logo{
  border-radius:50%!important;
}

/* Business — quadrado corporativo */
body.theme-business .logo-shell,
body.theme-business .logo-shell .logo{
  border-radius:12px!important;
}

/* Store — arredondado de vitrine */
body.theme-store .logo-shell,
body.theme-store .logo-shell .logo{
  border-radius:22px!important;
}

/* Beauty — círculo perfeito */
body.theme-beauty .logo-shell,
body.theme-beauty .logo-shell .logo{
  border-radius:50%!important;
}

/* Food — arredondado acolhedor */
body.theme-food .logo-shell,
body.theme-food .logo-shell .logo{
  border-radius:20px!important;
}

/* Auto — quadrado/industrial */
body.theme-auto .logo-shell,
body.theme-auto .logo-shell .logo{
  border-radius:7px!important;
}

/* Premium — círculo com acabamento dourado */
body.theme-premium .logo-shell,
body.theme-premium .logo-shell .logo{
  border-radius:50%!important;
}

/* Segurança extra para navegadores que não propagam clip-path/border-radius como esperado */
body.theme-emerald .logo-shell .logo{
  clip-path:inset(0 round 50% 50% 50% 22%)!important;
}
body.theme-graphite .logo-shell .logo,
body.theme-beauty .logo-shell .logo,
body.theme-premium .logo-shell .logo{
  clip-path:circle(50% at 50% 50%)!important;
}

/* Mobile mantém exatamente o formato escolhido pelo tema */
@media(max-width:759px){
  body[class*="theme-"] .logo-shell .logo{
    width:100%!important;height:100%!important;
    object-fit:cover!important;object-position:center!important;
  }
}


/* ==========================================================
   TapVio V20.45.2 — Fundo da logo acompanha o tema + gradient
   ========================================================== */

/* O shell vira a moldura temática; a imagem fica levemente menor para o
   gradient aparecer ao redor dela. */
body[class*="theme-"] .logo-shell{
  padding:4px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  background:linear-gradient(145deg,var(--green-800),var(--green-700))!important;
  box-shadow:0 12px 32px rgba(0,0,0,.16)!important;
}
body[class*="theme-"] .logo-shell .logo{
  width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;
  object-fit:cover!important;
  background:rgba(255,255,255,.08)!important;
}

/* Classic — verde TapVio */
body.theme-classic .logo-shell{
  background:linear-gradient(145deg,#174f2e 0%,#3c8f58 55%,#79bd8a 100%)!important;
  border-color:rgba(255,255,255,.42)!important;
  box-shadow:0 12px 32px rgba(23,79,46,.24)!important;
}

/* Emerald — verde vivo / glass */
body.theme-emerald .logo-shell{
  background:linear-gradient(145deg,#0d542e 0%,#2d9a58 48%,#91e7ac 100%)!important;
  border-color:rgba(214,255,226,.55)!important;
  box-shadow:0 12px 34px rgba(31,132,69,.27),0 0 22px rgba(104,220,139,.13)!important;
}

/* Dark Tech — preto + neon */
body.theme-dark .logo-shell{
  background:linear-gradient(145deg,#07100a 0%,#173522 48%,#45c970 100%)!important;
  border-color:rgba(82,201,123,.45)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.42),0 0 18px rgba(82,201,123,.18)!important;
}

/* Graphite — grafite / prata */
body.theme-graphite .logo-shell{
  background:linear-gradient(145deg,#303833 0%,#68756d 52%,#c1cbc5 100%)!important;
  border-color:rgba(255,255,255,.48)!important;
  box-shadow:0 12px 30px rgba(41,50,44,.22)!important;
}

/* Business — azul corporativo */
body.theme-business .logo-shell{
  background:linear-gradient(145deg,#102f51 0%,#286da6 52%,#78b8e6 100%)!important;
  border-color:rgba(213,238,255,.58)!important;
  box-shadow:0 12px 32px rgba(22,58,99,.27)!important;
}

/* Store — vinho / rosa */
body.theme-store .logo-shell{
  background:linear-gradient(145deg,#64183b 0%,#b73769 52%,#f58eaf 100%)!important;
  border-color:rgba(255,224,236,.60)!important;
  box-shadow:0 12px 32px rgba(122,33,72,.25)!important;
}

/* Beauty — rose / champagne */
body.theme-beauty .logo-shell{
  background:linear-gradient(145deg,#71304f 0%,#c56f96 48%,#f2c7d9 78%,#f6dfc7 100%)!important;
  border-color:rgba(255,242,247,.72)!important;
  box-shadow:0 13px 36px rgba(113,48,79,.24),0 0 0 4px rgba(255,255,255,.10)!important;
}

/* Food — café / caramelo */
body.theme-food .logo-shell{
  background:linear-gradient(145deg,#542616 0%,#a65528 48%,#e69a55 78%,#f2c48d 100%)!important;
  border-color:rgba(255,235,210,.60)!important;
  box-shadow:0 12px 32px rgba(113,53,31,.24)!important;
}

/* Auto — aço / grafite / laranja */
body.theme-auto .logo-shell{
  background:linear-gradient(145deg,#111b22 0%,#334752 50%,#e05b35 51%,#f18a68 100%)!important;
  border-color:rgba(220,229,234,.45)!important;
  box-shadow:0 12px 34px rgba(23,36,45,.34)!important;
}

/* Premium — preto / bronze / ouro */
body.theme-premium .logo-shell{
  background:linear-gradient(145deg,#080705 0%,#2c2518 38%,#8f6d2f 68%,#d5b76e 100%)!important;
  border-color:rgba(213,183,110,.62)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.42),0 0 22px rgba(196,154,74,.12)!important;
}

/* Mantém o recorte da foto exatamente igual ao shell, inclusive com padding. */
body.theme-classic .logo-shell .logo{border-radius:22px!important;clip-path:none!important}
body.theme-emerald .logo-shell .logo{border-radius:calc(50% - 3px) calc(50% - 3px) calc(50% - 3px) 20%!important;clip-path:none!important}
body.theme-dark .logo-shell .logo{border-radius:5px!important;clip-path:none!important}
body.theme-graphite .logo-shell .logo{border-radius:50%!important;clip-path:circle(50% at 50% 50%)!important}
body.theme-business .logo-shell .logo{border-radius:8px!important;clip-path:none!important}
body.theme-store .logo-shell .logo{border-radius:18px!important;clip-path:none!important}
body.theme-beauty .logo-shell .logo{border-radius:50%!important;clip-path:circle(50% at 50% 50%)!important}
body.theme-food .logo-shell .logo{border-radius:16px!important;clip-path:none!important}
body.theme-auto .logo-shell .logo{border-radius:4px!important;clip-path:none!important}
body.theme-premium .logo-shell .logo{border-radius:50%!important;clip-path:circle(50% at 50% 50%)!important}
