
:root {
  --bg:#07111f;
  --panel:rgba(18,29,46,.92);
  --panel2:rgba(15,23,42,.86);
  --line:rgba(255,255,255,.15);
  --text:#f8fafc;
  --muted:rgba(248,250,252,.72);
  --accent:#e7bf62;
  --pink:#f3a6bd;
  --ok:#86efac;
  --danger:#fecaca;
  --radius:26px;
  --shadow:0 28px 80px rgba(0,0,0,.35);
}
[data-theme="wine"]{--bg:#170512;--panel:rgba(49,20,35,.92);--panel2:rgba(35,17,29,.9);--accent:#f3a6bd;--pink:#e7bf62;}
[data-theme="emerald"]{--bg:#04140d;--panel:rgba(10,48,31,.92);--panel2:rgba(10,35,25,.9);--accent:#69d88f;--pink:#e7bf62;}
[data-theme="gold"]{--bg:#090703;--panel:rgba(38,30,11,.92);--panel2:rgba(25,21,13,.9);--accent:#facc15;--pink:#f3a6bd;}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at top left,rgba(59,130,246,.18),transparent 34rem),var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(7,13,24,.92);backdrop-filter:blur(16px)}
.header-inner{max-width:1180px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand strong{display:block;color:var(--accent);font-size:20px}.brand span{display:block;color:var(--muted);font-size:12px}
.nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.nav a{padding:10px 12px;border-radius:999px;color:var(--muted);font-weight:800;font-size:14px}.nav a:hover,.nav a.active{background:rgba(255,255,255,.08);color:var(--text)}
.container{max-width:1180px;margin:auto;padding:56px 24px}
.panel,.hero{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:clamp(24px,5vw,48px);box-shadow:var(--shadow)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:center}
.badge{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(231,191,98,.16);color:var(--accent);font-weight:950;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
h1{margin:16px 0;font-size:clamp(40px,7vw,78px);line-height:.95}h2{font-size:clamp(28px,4vw,44px);margin:0 0 18px}h3{margin:0 0 12px}p{color:var(--muted);line-height:1.65}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{min-height:48px;border:0;border-radius:14px;padding:13px 18px;background:var(--accent);color:#111827;font-weight:950;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.btn.secondary{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:24px 0}
.card,.package-card,.result{border:1px solid var(--line);background:var(--panel2);border-radius:22px;padding:22px}
.package-card{text-align:left;width:100%;color:var(--text);cursor:pointer}.package-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px rgba(231,191,98,.35)}
.price,.total{display:block;margin:18px 0;font-size:clamp(30px,5vw,58px);font-weight:950;color:var(--accent)}
.line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.line span:last-child{text-align:right;font-weight:900}
.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:24px 0}
.field{display:grid;gap:8px;color:var(--muted);font-size:14px}.input{width:100%;min-height:48px;border-radius:14px;border:1px solid var(--line);background:rgba(15,23,42,.86);color:var(--text);padding:12px 14px}.input:disabled{opacity:.55;cursor:not-allowed}
.notice{padding:14px;border:1px solid rgba(134,239,172,.35);background:rgba(34,197,94,.12);color:var(--ok);border-radius:14px}
.footer{border-top:1px solid var(--line);margin-top:56px}.footer-inner{max-width:1180px;margin:auto;padding:28px 24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted)}
.admin-shell{max-width:1180px;margin:auto;padding:36px 24px 80px}.admin-toolbar{position:sticky;top:72px;z-index:20;border:1px solid var(--line);background:rgba(15,23,42,.96);border-radius:20px;padding:14px;display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.admin-tabs{display:grid;gap:14px}.admin-tabs details{border:1px solid var(--line);background:var(--panel);border-radius:20px;overflow:hidden}.admin-tabs summary{cursor:pointer;padding:20px;font-size:20px;font-weight:950;color:var(--accent)}.admin-section{padding:0 20px 22px}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.admin-grid.one{grid-template-columns:1fr}textarea.input{min-height:110px;resize:vertical}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr}.header-inner{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}}


/* MODULO_03_ZERO_V2_R1_UI_CARDS_INPUTS */
.grid {
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  align-items: stretch;
}

.package-card {
  min-height: 560px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.package-card h3 {
  min-height: 32px;
}

.package-card p {
  min-height: 54px;
}

.package-card .price {
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.04;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  letter-spacing: -0.04em;
}

.result .total {
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.package-card .line {
  align-items: flex-start;
}

.package-card .line span:first-child {
  min-width: 116px;
}

.package-card .line span:last-child {
  max-width: 58%;
  overflow-wrap: anywhere;
}

.package-card ul {
  margin-top: auto;
  padding-left: 22px;
}

.controls {
  align-items: end;
}

.field .input {
  scroll-margin-top: 140px;
}

@media (max-width: 900px) {
  .grid {
    grid-template-columns: 1fr;
  }

  .package-card {
    min-height: auto;
  }

  .package-card .price {
    font-size: clamp(30px, 9vw, 46px);
  }
}


/* MODULO_03_ZERO_V2_R2_LISTA_10_TEMAS */
[data-theme="premium_dark"] {
  --bg:#060b14;
  --panel:rgba(18,29,46,.94);
  --panel2:rgba(11,18,32,.92);
  --accent:#f3a6bd;
  --pink:#e7bf62;
}

[data-theme="classico_juridico"] {
  --bg:#0b0f1a;
  --panel:rgba(23,28,42,.94);
  --panel2:rgba(18,22,34,.92);
  --accent:#d6b36a;
  --pink:#cbd5e1;
}

[data-theme="claro_moderno"] {
  --bg:#eef3f8;
  --panel:rgba(255,255,255,.94);
  --panel2:rgba(248,250,252,.96);
  --line:rgba(15,23,42,.14);
  --text:#0f172a;
  --muted:rgba(15,23,42,.72);
  --accent:#2563eb;
  --pink:#0f172a;
}

[data-theme="conversao_comercial"] {
  --bg:#100716;
  --panel:rgba(48,20,64,.94);
  --panel2:rgba(35,16,48,.92);
  --accent:#fb7185;
  --pink:#facc15;
}

[data-theme="luxo_gold"] {
  --bg:#090703;
  --panel:rgba(38,30,11,.94);
  --panel2:rgba(25,21,13,.92);
  --accent:#facc15;
  --pink:#f3a6bd;
}

[data-theme="midnight_blue"] {
  --bg:#020617;
  --panel:rgba(15,23,42,.94);
  --panel2:rgba(8,13,28,.92);
  --accent:#60a5fa;
  --pink:#e0f2fe;
}

[data-theme="graphite_pro"] {
  --bg:#0a0a0b;
  --panel:rgba(39,39,42,.94);
  --panel2:rgba(24,24,27,.92);
  --accent:#a1a1aa;
  --pink:#f5f5f5;
}

[data-theme="emerald_legal"] {
  --bg:#04140d;
  --panel:rgba(10,48,31,.94);
  --panel2:rgba(10,35,25,.92);
  --accent:#69d88f;
  --pink:#e7bf62;
}

[data-theme="vinho_executivo"] {
  --bg:#170512;
  --panel:rgba(49,20,35,.94);
  --panel2:rgba(35,17,29,.92);
  --accent:#f3a6bd;
  --pink:#e7bf62;
}

[data-theme="minimal_soft"] {
  --bg:#f8fafc;
  --panel:rgba(255,255,255,.96);
  --panel2:rgba(241,245,249,.96);
  --line:rgba(15,23,42,.12);
  --text:#111827;
  --muted:rgba(17,24,39,.70);
  --accent:#64748b;
  --pink:#0f172a;
}

.theme-preview-box {
  margin-top: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--panel2);
  color: var(--muted);
}

/* ZERO_V2_R3_LAYOUT_CARDS_START */

/* Aumenta largura útil das páginas principais */
.page-shell,
.site-shell,
.page-wrap,
.site-wrap,
main,
.main-content,
.page-content,
.container,
.page-container {
  max-width: 1680px;
}

/* Seções comerciais principais */
.planos-page,
.montar-page,
.comprar-page,
.area-comprador-page,
.page-planos,
.page-montador,
.page-comprar,
.page-comprador,
.planos-section,
.montador-section,
.packages-section,
.final-packages-section,
.builder-section,
.commercial-section {
  width: min(1680px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

/* Grid dos cards: cards maiores e mais respiro */
.packages-grid,
.plans-grid,
.cards-grid,
.package-grid,
.plan-grid,
.commercial-grid,
.final-packages-grid,
.builder-packages-grid,
.pricing-grid,
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 28px;
  align-items: stretch;
}

/* Cards comerciais */
.package-card,
.plan-card,
.pricing-card,
.commercial-card,
.builder-card,
.product-card,
.final-package-card,
.pack-card,
.price-card {
  min-height: 660px;
  padding: 28px 28px 26px 28px;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: visible;
}

/* Título e descrição */
.package-card h2,
.package-card h3,
.plan-card h2,
.plan-card h3,
.pricing-card h2,
.pricing-card h3,
.commercial-card h2,
.commercial-card h3,
.builder-card h2,
.builder-card h3,
.product-card h2,
.product-card h3,
.final-package-card h2,
.final-package-card h3 {
  line-height: 1.12;
  margin-bottom: 10px;
}

.package-card p,
.plan-card p,
.pricing-card p,
.commercial-card p,
.builder-card p,
.product-card p,
.final-package-card p {
  line-height: 1.45;
}

/* Preço: continua grande, mas agora controlado para não estourar */
.package-card .price,
.package-card .card-price,
.package-card .price-value,
.package-card .price-display,
.plan-card .price,
.plan-card .card-price,
.plan-card .price-value,
.plan-card .price-display,
.pricing-card .price,
.pricing-card .card-price,
.pricing-card .price-value,
.pricing-card .price-display,
.commercial-card .price,
.commercial-card .card-price,
.commercial-card .price-value,
.commercial-card .price-display,
.builder-card .price,
.builder-card .card-price,
.builder-card .price-value,
.builder-card .price-display,
.product-card .price,
.product-card .card-price,
.product-card .price-value,
.product-card .price-display,
.final-package-card .price,
.final-package-card .card-price,
.final-package-card .price-value,
.final-package-card .price-display {
  display: block;
  font-size: clamp(2.3rem, 3vw, 3.8rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  white-space: nowrap;
  margin: 20px 0 22px 0;
  max-width: 100%;
  overflow: visible;
}

/* Lista interna com mais espaço */
.package-card ul,
.plan-card ul,
.pricing-card ul,
.commercial-card ul,
.builder-card ul,
.product-card ul,
.final-package-card ul {
  flex: 1;
  margin-top: 18px;
  padding-left: 20px;
}

.package-card li,
.plan-card li,
.pricing-card li,
.commercial-card li,
.builder-card li,
.product-card li,
.final-package-card li {
  margin-bottom: 6px;
  line-height: 1.35;
}

/* Tabela/linhas-resumo dentro do card */
.package-card .meta,
.package-card .rows,
.package-card .specs,
.package-card .details,
.plan-card .meta,
.plan-card .rows,
.plan-card .specs,
.plan-card .details,
.pricing-card .meta,
.pricing-card .rows,
.pricing-card .specs,
.pricing-card .details,
.commercial-card .meta,
.commercial-card .rows,
.commercial-card .specs,
.commercial-card .details,
.builder-card .meta,
.builder-card .rows,
.builder-card .specs,
.builder-card .details,
.product-card .meta,
.product-card .rows,
.product-card .specs,
.product-card .details,
.final-package-card .meta,
.final-package-card .rows,
.final-package-card .specs,
.final-package-card .details {
  margin-top: 10px;
  margin-bottom: 12px;
}

/* Campos da área do montador */
.builder-form,
.builder-controls,
.commercial-form,
.form-row,
.inputs-row {
  align-items: end;
}

.builder-form input,
.builder-form select,
.builder-controls input,
.builder-controls select,
.commercial-form input,
.commercial-form select {
  min-height: 50px;
}

/* Em larguras médias, força menos aperto */
@media (max-width: 1440px) {
  .packages-grid,
  .plans-grid,
  .cards-grid,
  .package-grid,
  .plan-grid,
  .commercial-grid,
  .final-packages-grid,
  .builder-packages-grid,
  .pricing-grid,
  .product-grid {
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  }

  .package-card,
  .plan-card,
  .pricing-card,
  .commercial-card,
  .builder-card,
  .product-card,
  .final-package-card,
  .pack-card,
  .price-card {
    min-height: 640px;
  }
}

/* Em larguras menores, 2 colunas ou 1 coluna automaticamente */
@media (max-width: 1100px) {
  .packages-grid,
  .plans-grid,
  .cards-grid,
  .package-grid,
  .plan-grid,
  .commercial-grid,
  .final-packages-grid,
  .builder-packages-grid,
  .pricing-grid,
  .product-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }

  .package-card .price,
  .package-card .card-price,
  .package-card .price-value,
  .package-card .price-display,
  .plan-card .price,
  .plan-card .card-price,
  .plan-card .price-value,
  .plan-card .price-display,
  .pricing-card .price,
  .pricing-card .card-price,
  .pricing-card .price-value,
  .pricing-card .price-display,
  .commercial-card .price,
  .commercial-card .card-price,
  .commercial-card .price-value,
  .commercial-card .price-display,
  .builder-card .price,
  .builder-card .card-price,
  .builder-card .price-value,
  .builder-card .price-display,
  .product-card .price,
  .product-card .card-price,
  .product-card .price-value,
  .product-card .price-display,
  .final-package-card .price,
  .final-package-card .card-price,
  .final-package-card .price-value,
  .final-package-card .price-display {
    font-size: clamp(2.1rem, 4vw, 3.2rem);
  }
}

@media (max-width: 860px) {
  .packages-grid,
  .plans-grid,
  .cards-grid,
  .package-grid,
  .plan-grid,
  .commercial-grid,
  .final-packages-grid,
  .builder-packages-grid,
  .pricing-grid,
  .product-grid {
    grid-template-columns: 1fr;
  }

  .package-card,
  .plan-card,
  .pricing-card,
  .commercial-card,
  .builder-card,
  .product-card,
  .final-package-card,
  .pack-card,
  .price-card {
    min-height: auto;
  }

  .package-card .price,
  .package-card .card-price,
  .package-card .price-value,
  .package-card .price-display,
  .plan-card .price,
  .plan-card .card-price,
  .plan-card .price-value,
  .plan-card .price-display,
  .pricing-card .price,
  .pricing-card .card-price,
  .pricing-card .price-value,
  .pricing-card .price-display,
  .commercial-card .price,
  .commercial-card .card-price,
  .commercial-card .price-value,
  .commercial-card .price-display,
  .builder-card .price,
  .builder-card .card-price,
  .builder-card .price-value,
  .builder-card .price-display,
  .product-card .price,
  .product-card .card-price,
  .product-card .price-value,
  .product-card .price-display,
  .final-package-card .price,
  .final-package-card .card-price,
  .final-package-card .price-value,
  .final-package-card .price-display {
    font-size: clamp(2rem, 8vw, 3rem);
  }
}

/* ZERO_V2_R3_LAYOUT_CARDS_END */

/* ZERO_V2_R4_GRID_3X2_CARDS_START */

/*
  R4 — Repaginação visual dos cards:
  - Desktop: exatamente 3 cards por linha.
  - Como a ordem no JS já é 3 híbridos + 3 cloud, fica 3 em cima e 3 embaixo.
  - Corrige preço invadindo outros cards.
  - Aumenta respiro e altura dos cards.
*/

.container,
main.container {
  max-width: 1500px;
  width: min(1500px, calc(100% - 64px));
  padding-left: 0;
  padding-right: 0;
}

main[data-page="plans"] .panel,
main[data-page="builder"] .panel,
main[data-page="checkout"] .panel {
  padding: 42px;
  overflow: visible;
}

main[data-page="plans"] .grid,
main[data-page="builder"] .grid,
main[data-page="checkout"] .grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  align-items: stretch;
  margin-top: 30px;
  margin-bottom: 34px;
}

main[data-page="plans"] .package-card,
main[data-page="builder"] .package-card,
main[data-page="checkout"] .package-card {
  min-height: 610px;
  padding: 30px 28px;
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

main[data-page="plans"] .package-card .badge,
main[data-page="builder"] .package-card .badge,
main[data-page="checkout"] .package-card .badge {
  max-width: 100%;
  white-space: normal;
  line-height: 1.15;
  padding: 7px 12px;
  font-size: 11px;
  letter-spacing: .06em;
}

main[data-page="plans"] .package-card h3,
main[data-page="builder"] .package-card h3,
main[data-page="checkout"] .package-card h3 {
  font-size: 21px;
  line-height: 1.15;
  margin-top: 12px;
  margin-bottom: 18px;
}

main[data-page="plans"] .package-card p,
main[data-page="builder"] .package-card p,
main[data-page="checkout"] .package-card p {
  min-height: 74px;
  line-height: 1.5;
  margin-bottom: 18px;
}

main[data-page="plans"] .package-card .price,
main[data-page="builder"] .package-card .price,
main[data-page="checkout"] .package-card .price {
  font-size: clamp(30px, 2.4vw, 44px);
  line-height: 1.04;
  letter-spacing: -0.045em;
  white-space: nowrap;
  overflow: visible;
  margin: 14px 0 28px;
  color: var(--accent);
}

main[data-page="plans"] .package-card .line,
main[data-page="builder"] .package-card .line,
main[data-page="checkout"] .package-card .line {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) auto;
  align-items: start;
  column-gap: 14px;
  padding: 11px 0;
}

main[data-page="plans"] .package-card .line span:last-child,
main[data-page="builder"] .package-card .line span:last-child,
main[data-page="checkout"] .package-card .line span:last-child {
  max-width: 160px;
  text-align: right;
  overflow-wrap: break-word;
  word-break: normal;
}

main[data-page="plans"] .package-card ul,
main[data-page="builder"] .package-card ul,
main[data-page="checkout"] .package-card ul {
  margin-top: auto;
  padding-left: 22px;
}

main[data-page="plans"] .package-card li,
main[data-page="builder"] .package-card li,
main[data-page="checkout"] .package-card li {
  margin-bottom: 7px;
  line-height: 1.35;
}

/* Controles abaixo dos 6 cards */
main[data-page="plans"] .controls,
main[data-page="builder"] .controls,
main[data-page="checkout"] .controls {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  align-items: end;
  margin-top: 34px;
}

/* Resultado do pedido mais largo e legível */
main[data-page="plans"] .result,
main[data-page="builder"] .result,
main[data-page="checkout"] .result {
  margin-top: 30px;
  padding: 34px;
  border-radius: 26px;
}

main[data-page="plans"] .result .total,
main[data-page="builder"] .result .total,
main[data-page="checkout"] .result .total {
  font-size: clamp(42px, 5vw, 76px);
  line-height: 1;
  letter-spacing: -0.04em;
}

/* Tela média: 2 cards por linha para não apertar */
@media (max-width: 1280px) {
  .container,
  main.container {
    width: min(1180px, calc(100% - 48px));
  }

  main[data-page="plans"] .grid,
  main[data-page="builder"] .grid,
  main[data-page="checkout"] .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  main[data-page="plans"] .controls,
  main[data-page="builder"] .controls,
  main[data-page="checkout"] .controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile: 1 card por linha */
@media (max-width: 820px) {
  .container,
  main.container {
    width: min(100% - 28px, 760px);
  }

  main[data-page="plans"] .panel,
  main[data-page="builder"] .panel,
  main[data-page="checkout"] .panel {
    padding: 24px;
  }

  main[data-page="plans"] .grid,
  main[data-page="builder"] .grid,
  main[data-page="checkout"] .grid {
    grid-template-columns: 1fr;
  }

  main[data-page="plans"] .package-card,
  main[data-page="builder"] .package-card,
  main[data-page="checkout"] .package-card {
    min-height: auto;
  }

  main[data-page="plans"] .controls,
  main[data-page="builder"] .controls,
  main[data-page="checkout"] .controls {
    grid-template-columns: 1fr;
  }

  main[data-page="plans"] .package-card .price,
  main[data-page="builder"] .package-card .price,
  main[data-page="checkout"] .package-card .price {
    font-size: clamp(30px, 9vw, 46px);
  }
}

/* ZERO_V2_R4_GRID_3X2_CARDS_END */

/* ZERO_V2_R5_TEMAS_LAYOUTS_REAIS_START */

/*
  R5 — Temas com identidade visual real.
  Agora cada tema altera mais que cor:
  - tipografia
  - formato dos cards
  - sombras
  - espaçamento
  - bordas
  - comportamento visual dos preços
  - estilo da header
  - estilo do painel
  - estilo dos botões
*/

/* Base comum para transições */
html,
body,
.header,
.panel,
.hero,
.card,
.package-card,
.result,
.btn,
.input {
  transition:
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    border-radius .22s ease,
    transform .18s ease;
}

/* Melhor leitura geral dos temas */
.package-card:hover {
  transform: translateY(-4px);
}

/* =========================================================
   1. PREMIUM DARK — SaaS premium, escuro, alto contraste
========================================================= */
[data-theme="premium_dark"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top right, rgba(96,165,250,.18), transparent 34rem),
    linear-gradient(180deg, #030712 0%, #08111f 100%);
}

[data-theme="premium_dark"] .header {
  background: rgba(3,7,18,.94);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}

[data-theme="premium_dark"] .panel,
[data-theme="premium_dark"] .hero {
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 32px 90px rgba(0,0,0,.42);
}

[data-theme="premium_dark"] .package-card {
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 70px rgba(0,0,0,.30);
}

[data-theme="premium_dark"] .package-card.selected {
  box-shadow: 0 0 0 2px var(--accent), 0 28px 80px rgba(243,166,189,.20);
}

[data-theme="premium_dark"] .package-card .price {
  text-shadow: 0 0 24px rgba(243,166,189,.28);
}

/* =========================================================
   2. CLÁSSICO JURÍDICO — formal, serifado, advocacia
========================================================= */
[data-theme="classico_juridico"] body {
  font-family: Georgia, "Times New Roman", serif;
  background:
    linear-gradient(180deg, #101522 0%, #070b13 100%);
}

[data-theme="classico_juridico"] .nav a,
[data-theme="classico_juridico"] .btn,
[data-theme="classico_juridico"] .input {
  font-family: Arial, sans-serif;
}

[data-theme="classico_juridico"] h1,
[data-theme="classico_juridico"] h2,
[data-theme="classico_juridico"] h3 {
  letter-spacing: -0.025em;
}

[data-theme="classico_juridico"] .panel,
[data-theme="classico_juridico"] .hero {
  border-radius: 12px;
  border: 2px solid rgba(214,179,106,.30);
  box-shadow: 0 20px 60px rgba(0,0,0,.30);
}

[data-theme="classico_juridico"] .package-card {
  border-radius: 8px;
  border: 1px solid rgba(214,179,106,.35);
  background: rgba(17,24,39,.94);
  position: relative;
}

[data-theme="classico_juridico"] .package-card::before {
  content: "";
  display: block;
  height: 5px;
  width: 80px;
  background: var(--accent);
  margin-bottom: 18px;
}

[data-theme="classico_juridico"] .package-card .price {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  color: var(--accent);
}

/* =========================================================
   3. CLARO MODERNO — claro, limpo, institucional
========================================================= */
[data-theme="claro_moderno"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 34rem),
    #eef3f8;
}

[data-theme="claro_moderno"] .header {
  background: rgba(255,255,255,.90);
  border-bottom: 1px solid rgba(15,23,42,.10);
}

[data-theme="claro_moderno"] .panel,
[data-theme="claro_moderno"] .hero {
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 22px 70px rgba(15,23,42,.10);
}

[data-theme="claro_moderno"] .package-card {
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(15,23,42,.10);
  border: 1px solid rgba(15,23,42,.10);
}

[data-theme="claro_moderno"] .package-card.selected {
  border-color: #2563eb;
  box-shadow: 0 20px 60px rgba(37,99,235,.18);
}

[data-theme="claro_moderno"] .badge {
  background: rgba(37,99,235,.10);
  color: #1d4ed8;
}

[data-theme="claro_moderno"] .btn {
  border-radius: 999px;
}

/* =========================================================
   4. CONVERSÃO COMERCIAL — venda, CTA, impacto
========================================================= */
[data-theme="conversao_comercial"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top right, rgba(251,113,133,.24), transparent 32rem),
    linear-gradient(135deg, #18051f 0%, #310f38 58%, #1b071e 100%);
}

[data-theme="conversao_comercial"] .hero,
[data-theme="conversao_comercial"] .panel {
  border-radius: 38px;
  border: 1px solid rgba(251,113,133,.28);
}

[data-theme="conversao_comercial"] .package-card {
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(76,29,149,.25), rgba(15,23,42,.92));
  border: 1px solid rgba(251,113,133,.30);
}

[data-theme="conversao_comercial"] .package-card.selected {
  transform: translateY(-8px) scale(1.015);
  border-color: #fb7185;
  box-shadow: 0 30px 90px rgba(251,113,133,.22);
}

[data-theme="conversao_comercial"] .package-card .price {
  color: #fb7185;
  font-weight: 1000;
}

[data-theme="conversao_comercial"] .btn {
  background: linear-gradient(135deg, #fb7185, #facc15);
  border-radius: 18px;
}

/* =========================================================
   5. LUXO GOLD — escuro, dourado, premium jurídico
========================================================= */
[data-theme="luxo_gold"] body {
  font-family: "Trebuchet MS", Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top, rgba(250,204,21,.14), transparent 32rem),
    linear-gradient(180deg, #090703, #151004 55%, #070602);
}

[data-theme="luxo_gold"] h1,
[data-theme="luxo_gold"] h2,
[data-theme="luxo_gold"] h3 {
  font-family: Georgia, "Times New Roman", serif;
}

[data-theme="luxo_gold"] .panel,
[data-theme="luxo_gold"] .hero {
  border: 1px solid rgba(250,204,21,.32);
  border-radius: 22px;
  box-shadow: 0 30px 100px rgba(0,0,0,.50);
}

[data-theme="luxo_gold"] .package-card {
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(24,20,10,.98), rgba(10,8,4,.96));
  border: 1px solid rgba(250,204,21,.30);
}

[data-theme="luxo_gold"] .package-card::after {
  content: "";
  display: block;
  margin-top: auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(250,204,21,.70), transparent);
}

[data-theme="luxo_gold"] .package-card .price {
  color: #facc15;
}

/* =========================================================
   6. MIDNIGHT BLUE — tecnológico, azul escuro
========================================================= */
[data-theme="midnight_blue"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at 20% 0%, rgba(59,130,246,.24), transparent 30rem),
    linear-gradient(180deg, #020617, #07112b);
}

[data-theme="midnight_blue"] .panel,
[data-theme="midnight_blue"] .hero {
  border-radius: 30px;
  background: rgba(8,13,28,.92);
  border: 1px solid rgba(96,165,250,.24);
}

[data-theme="midnight_blue"] .package-card {
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(15,23,42,.96), rgba(3,7,18,.96));
  border: 1px solid rgba(96,165,250,.24);
}

[data-theme="midnight_blue"] .package-card.selected {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa, 0 0 50px rgba(96,165,250,.18);
}

[data-theme="midnight_blue"] .package-card .price {
  color: #60a5fa;
}

/* =========================================================
   7. GRAPHITE PRO — corporativo, quadrado, discreto
========================================================= */
[data-theme="graphite_pro"] body {
  font-family: Arial, Helvetica, sans-serif;
  background: #0a0a0b;
}

[data-theme="graphite_pro"] .header {
  background: rgba(10,10,11,.96);
}

[data-theme="graphite_pro"] .panel,
[data-theme="graphite_pro"] .hero,
[data-theme="graphite_pro"] .package-card,
[data-theme="graphite_pro"] .result,
[data-theme="graphite_pro"] .card {
  border-radius: 10px;
}

[data-theme="graphite_pro"] .package-card {
  background: #18181b;
  border: 1px solid #3f3f46;
  box-shadow: none;
}

[data-theme="graphite_pro"] .package-card.selected {
  border-color: #a1a1aa;
  box-shadow: inset 0 0 0 1px #a1a1aa;
}

[data-theme="graphite_pro"] .package-card .price {
  color: #f5f5f5;
  font-size: clamp(28px, 2.1vw, 40px);
}

/* =========================================================
   8. EMERALD LEGAL — verde jurídico premium
========================================================= */
[data-theme="emerald_legal"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(105,216,143,.18), transparent 34rem),
    linear-gradient(180deg, #04140d, #020a07);
}

[data-theme="emerald_legal"] .panel,
[data-theme="emerald_legal"] .hero {
  border-radius: 30px;
  border: 1px solid rgba(105,216,143,.26);
}

[data-theme="emerald_legal"] .package-card {
  border-radius: 24px;
  border: 1px solid rgba(105,216,143,.22);
  background:
    linear-gradient(180deg, rgba(10,35,25,.96), rgba(2,12,8,.94));
  position: relative;
  padding-left: 34px;
}

[data-theme="emerald_legal"] .package-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 28px;
  bottom: 28px;
  width: 5px;
  border-radius: 999px;
  background: var(--accent);
}

[data-theme="emerald_legal"] .package-card .price {
  color: #69d88f;
}

/* =========================================================
   9. VINHO EXECUTIVO — elegante, comercial, atual
========================================================= */
[data-theme="vinho_executivo"] body {
  font-family: Georgia, "Times New Roman", serif;
  background:
    radial-gradient(circle at top right, rgba(243,166,189,.12), transparent 34rem),
    linear-gradient(180deg, #170512, #09020a);
}

[data-theme="vinho_executivo"] .nav a,
[data-theme="vinho_executivo"] .btn,
[data-theme="vinho_executivo"] .input {
  font-family: Inter, Arial, sans-serif;
}

[data-theme="vinho_executivo"] .panel,
[data-theme="vinho_executivo"] .hero {
  border-radius: 30px;
  border: 1px solid rgba(243,166,189,.24);
}

[data-theme="vinho_executivo"] .package-card {
  border-radius: 24px;
  background: rgba(35,17,29,.92);
  border: 1px solid rgba(243,166,189,.24);
}

[data-theme="vinho_executivo"] .package-card.selected {
  box-shadow: 0 0 0 1px #f3a6bd, 0 26px 80px rgba(243,166,189,.16);
}

/* =========================================================
   10. MINIMAL SOFT — claro, leve, minimalista
========================================================= */
[data-theme="minimal_soft"] body {
  font-family: Inter, Arial, sans-serif;
  background: #f8fafc;
}

[data-theme="minimal_soft"] .header {
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(15,23,42,.10);
}

[data-theme="minimal_soft"] .panel,
[data-theme="minimal_soft"] .hero {
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 12px 40px rgba(15,23,42,.08);
}

[data-theme="minimal_soft"] .package-card {
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: none;
}

[data-theme="minimal_soft"] .package-card.selected {
  border-color: #64748b;
  box-shadow: 0 14px 44px rgba(15,23,42,.10);
}

[data-theme="minimal_soft"] .package-card .price {
  color: #111827;
  font-weight: 900;
}

[data-theme="minimal_soft"] .badge {
  background: #f1f5f9;
  color: #334155;
}

/* Ajustes de layout diferenciados por tema */

/* Claro e Minimal mais espaçosos */
[data-theme="claro_moderno"] main[data-page="plans"] .grid,
[data-theme="claro_moderno"] main[data-page="builder"] .grid,
[data-theme="minimal_soft"] main[data-page="plans"] .grid,
[data-theme="minimal_soft"] main[data-page="builder"] .grid {
  gap: 38px;
}

/* Graphite mais compacto e técnico */
[data-theme="graphite_pro"] main[data-page="plans"] .grid,
[data-theme="graphite_pro"] main[data-page="builder"] .grid {
  gap: 22px;
}

[data-theme="graphite_pro"] main[data-page="plans"] .package-card,
[data-theme="graphite_pro"] main[data-page="builder"] .package-card {
  min-height: 560px;
}

/* Luxo e Clássico com visual mais editorial */
[data-theme="luxo_gold"] main[data-page="plans"] .panel,
[data-theme="luxo_gold"] main[data-page="builder"] .panel,
[data-theme="classico_juridico"] main[data-page="plans"] .panel,
[data-theme="classico_juridico"] main[data-page="builder"] .panel {
  padding-top: 56px;
}

/* Conversão destaca o card selecionado de verdade */
[data-theme="conversao_comercial"] .package-card.selected .badge {
  background: rgba(251,113,133,.24);
  color: #fff;
}

/* ZERO_V2_R5_TEMAS_LAYOUTS_REAIS_END */

/* ZERO_V2_R6_TEMAS_SAZONAIS_START */

/*
  R6 — Temas sazonais/comemorativos.
  Alteram fundo, cards, botões, badges, preço, bordas e clima visual.
*/

/* =========================
   NATAL PREMIUM
========================= */
[data-theme="natal_premium"] {
  --bg:#07120c;
  --panel:rgba(16,52,34,.95);
  --panel2:rgba(8,35,24,.94);
  --line:rgba(255,255,255,.16);
  --text:#fffaf0;
  --muted:rgba(255,250,240,.76);
  --accent:#ef4444;
  --pink:#facc15;
}

[data-theme="natal_premium"] body {
  font-family: Georgia, "Times New Roman", serif;
  background:
    radial-gradient(circle at top left, rgba(239,68,68,.20), transparent 34rem),
    radial-gradient(circle at bottom right, rgba(250,204,21,.16), transparent 30rem),
    linear-gradient(180deg, #06130c, #010604);
}

[data-theme="natal_premium"] .header {
  background: rgba(6,19,12,.95);
  border-bottom: 1px solid rgba(250,204,21,.28);
}

[data-theme="natal_premium"] .badge {
  background: rgba(239,68,68,.18);
  color: #fecaca;
}

[data-theme="natal_premium"] .package-card,
[data-theme="natal_premium"] .panel,
[data-theme="natal_premium"] .hero {
  border-radius: 26px;
  border: 1px solid rgba(250,204,21,.25);
}

[data-theme="natal_premium"] .package-card {
  background:
    linear-gradient(180deg, rgba(16,52,34,.97), rgba(7,23,16,.96));
  box-shadow: 0 26px 80px rgba(0,0,0,.36);
}

[data-theme="natal_premium"] .package-card::before {
  content:"";
  display:block;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#ef4444,#facc15,#22c55e);
  margin-bottom:18px;
}

[data-theme="natal_premium"] .package-card .price {
  color:#facc15;
}

/* =========================
   PÁSCOA SUAVE
========================= */
[data-theme="pascoa_suave"] {
  --bg:#fff7ed;
  --panel:rgba(255,255,255,.96);
  --panel2:rgba(255,247,237,.96);
  --line:rgba(124,58,237,.16);
  --text:#2e1065;
  --muted:rgba(46,16,101,.72);
  --accent:#a78bfa;
  --pink:#f9a8d4;
}

[data-theme="pascoa_suave"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(249,168,212,.22), transparent 32rem),
    radial-gradient(circle at bottom right, rgba(167,139,250,.18), transparent 30rem),
    #fff7ed;
}

[data-theme="pascoa_suave"] .package-card,
[data-theme="pascoa_suave"] .panel,
[data-theme="pascoa_suave"] .hero {
  border-radius: 34px;
  box-shadow: 0 18px 56px rgba(124,58,237,.10);
}

[data-theme="pascoa_suave"] .badge {
  background: rgba(249,168,212,.24);
  color:#7e22ce;
}

[data-theme="pascoa_suave"] .btn {
  border-radius: 999px;
  background: linear-gradient(135deg,#f9a8d4,#a78bfa);
}

/* =========================
   BLACK FRIDAY
========================= */
[data-theme="black_friday"] {
  --bg:#000000;
  --panel:rgba(10,10,10,.96);
  --panel2:rgba(18,18,18,.96);
  --line:rgba(255,255,255,.14);
  --text:#ffffff;
  --muted:rgba(255,255,255,.72);
  --accent:#facc15;
  --pink:#ef4444;
}

[data-theme="black_friday"] body {
  font-family: Impact, Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top right, rgba(239,68,68,.18), transparent 32rem),
    #000;
}

[data-theme="black_friday"] .header {
  background: rgba(0,0,0,.96);
  border-bottom: 1px solid rgba(250,204,21,.30);
}

[data-theme="black_friday"] h1,
[data-theme="black_friday"] h2,
[data-theme="black_friday"] h3 {
  text-transform: uppercase;
  letter-spacing: -0.03em;
}

[data-theme="black_friday"] .package-card {
  border-radius: 10px;
  border: 1px solid rgba(250,204,21,.32);
  background: linear-gradient(180deg,#151515,#050505);
}

[data-theme="black_friday"] .package-card.selected {
  transform: translateY(-8px) rotate(-.3deg);
  box-shadow: 0 0 0 2px #facc15, 0 28px 80px rgba(250,204,21,.16);
}

[data-theme="black_friday"] .badge {
  background:#ef4444;
  color:#fff;
}

[data-theme="black_friday"] .btn {
  background:#facc15;
  color:#000;
  border-radius:8px;
}

/* =========================
   ANO NOVO
========================= */
[data-theme="ano_novo"] {
  --bg:#f8fafc;
  --panel:rgba(255,255,255,.96);
  --panel2:rgba(255,255,255,.98);
  --line:rgba(203,213,225,.70);
  --text:#0f172a;
  --muted:rgba(15,23,42,.70);
  --accent:#d6b36a;
  --pink:#2563eb;
}

[data-theme="ano_novo"] body {
  font-family: Georgia, "Times New Roman", serif;
  background:
    radial-gradient(circle at top, rgba(214,179,106,.18), transparent 30rem),
    linear-gradient(180deg,#ffffff,#eef2f7);
}

[data-theme="ano_novo"] .package-card,
[data-theme="ano_novo"] .panel,
[data-theme="ano_novo"] .hero {
  border-radius: 0 36px 0 36px;
  box-shadow: 0 18px 60px rgba(15,23,42,.10);
}

[data-theme="ano_novo"] .package-card::before {
  content:"2026";
  display:inline-flex;
  color:rgba(214,179,106,.85);
  font-weight:900;
  letter-spacing:.22em;
  margin-bottom:14px;
}

[data-theme="ano_novo"] .btn {
  border-radius: 0 18px 0 18px;
}

/* =========================
   CARNAVAL
========================= */
[data-theme="carnaval"] {
  --bg:#19002a;
  --panel:rgba(51,16,86,.94);
  --panel2:rgba(32,8,58,.94);
  --line:rgba(255,255,255,.18);
  --text:#fff7ff;
  --muted:rgba(255,247,255,.75);
  --accent:#facc15;
  --pink:#22d3ee;
}

[data-theme="carnaval"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(250,204,21,.22), transparent 28rem),
    radial-gradient(circle at top right, rgba(34,211,238,.20), transparent 28rem),
    radial-gradient(circle at bottom, rgba(236,72,153,.20), transparent 32rem),
    #19002a;
}

[data-theme="carnaval"] .package-card {
  border-radius: 34px 10px 34px 10px;
  background: linear-gradient(145deg, rgba(88,28,135,.92), rgba(14,116,144,.34));
  border:1px solid rgba(250,204,21,.28);
}

[data-theme="carnaval"] .package-card.selected {
  transform: translateY(-6px) rotate(.4deg);
}

[data-theme="carnaval"] .btn {
  background:linear-gradient(135deg,#facc15,#22d3ee,#ec4899);
  color:#111827;
}

/* =========================
   FESTA JUNINA
========================= */
[data-theme="festa_junina"] {
  --bg:#211006;
  --panel:rgba(61,32,12,.95);
  --panel2:rgba(43,22,10,.94);
  --line:rgba(251,191,36,.22);
  --text:#fff7ed;
  --muted:rgba(255,247,237,.75);
  --accent:#f59e0b;
  --pink:#22c55e;
}

[data-theme="festa_junina"] body {
  font-family: "Trebuchet MS", Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(245,158,11,.18), transparent 30rem),
    radial-gradient(circle at bottom right, rgba(34,197,94,.16), transparent 30rem),
    linear-gradient(180deg,#211006,#100703);
}

[data-theme="festa_junina"] .package-card {
  border-radius: 14px;
  border: 2px dashed rgba(251,191,36,.36);
}

[data-theme="festa_junina"] .badge {
  border-radius: 8px;
}

[data-theme="festa_junina"] .btn {
  border-radius: 10px;
}

/* =========================
   DIA DA ADVOCACIA
========================= */
[data-theme="dia_advocacia"] {
  --bg:#07111f;
  --panel:rgba(17,24,39,.96);
  --panel2:rgba(15,23,42,.96);
  --line:rgba(214,179,106,.26);
  --text:#f8fafc;
  --muted:rgba(248,250,252,.72);
  --accent:#d6b36a;
  --pink:#e5e7eb;
}

[data-theme="dia_advocacia"] body {
  font-family: Georgia, "Times New Roman", serif;
  background:linear-gradient(180deg,#07111f,#020617);
}

[data-theme="dia_advocacia"] .package-card {
  border-radius: 12px;
  border: 1px solid rgba(214,179,106,.34);
  background: rgba(15,23,42,.96);
}

[data-theme="dia_advocacia"] .package-card h3::before {
  content:"§ ";
  color:var(--accent);
}

[data-theme="dia_advocacia"] .btn {
  border-radius: 6px;
}

/* =========================
   DIA DA MULHER
========================= */
[data-theme="dia_mulher"] {
  --bg:#19071a;
  --panel:rgba(67,20,73,.94);
  --panel2:rgba(45,14,52,.94);
  --line:rgba(244,114,182,.25);
  --text:#fff7fb;
  --muted:rgba(255,247,251,.74);
  --accent:#f472b6;
  --pink:#facc15;
}

[data-theme="dia_mulher"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(244,114,182,.22), transparent 32rem),
    #19071a;
}

[data-theme="dia_mulher"] .package-card,
[data-theme="dia_mulher"] .panel,
[data-theme="dia_mulher"] .hero {
  border-radius: 34px;
}

[data-theme="dia_mulher"] .btn {
  background:linear-gradient(135deg,#f472b6,#facc15);
}

/* =========================
   DIA DAS MÃES
========================= */
[data-theme="dia_maes"] {
  --bg:#fff1f2;
  --panel:rgba(255,255,255,.96);
  --panel2:rgba(255,241,242,.96);
  --line:rgba(244,63,94,.16);
  --text:#3f0a1f;
  --muted:rgba(63,10,31,.72);
  --accent:#f43f5e;
  --pink:#fb7185;
}

[data-theme="dia_maes"] body {
  background:
    radial-gradient(circle at top right, rgba(244,63,94,.16), transparent 32rem),
    #fff1f2;
}

[data-theme="dia_maes"] .package-card {
  border-radius: 38px;
  box-shadow: 0 18px 50px rgba(244,63,94,.12);
}

[data-theme="dia_maes"] .btn {
  border-radius:999px;
}

/* =========================
   DIA DOS PAIS
========================= */
[data-theme="dia_pais"] {
  --bg:#061521;
  --panel:rgba(14,40,64,.95);
  --panel2:rgba(10,29,48,.94);
  --line:rgba(125,211,252,.22);
  --text:#f0f9ff;
  --muted:rgba(240,249,255,.72);
  --accent:#7dd3fc;
  --pink:#facc15;
}

[data-theme="dia_pais"] body {
  background:
    radial-gradient(circle at top left, rgba(125,211,252,.18), transparent 32rem),
    linear-gradient(180deg,#061521,#020617);
}

[data-theme="dia_pais"] .package-card {
  border-radius: 18px;
  border-left: 6px solid var(--accent);
}

[data-theme="dia_pais"] .btn {
  border-radius:14px;
}

/* =========================
   CYBER MONDAY
========================= */
[data-theme="cyber_monday"] {
  --bg:#030014;
  --panel:rgba(20,10,56,.95);
  --panel2:rgba(15,7,43,.94);
  --line:rgba(34,211,238,.24);
  --text:#ecfeff;
  --muted:rgba(236,254,255,.72);
  --accent:#22d3ee;
  --pink:#a78bfa;
}

[data-theme="cyber_monday"] body {
  font-family: Inter, Arial, sans-serif;
  background:
    linear-gradient(135deg, rgba(34,211,238,.12), transparent 35%),
    radial-gradient(circle at top right, rgba(167,139,250,.20), transparent 32rem),
    #030014;
}

[data-theme="cyber_monday"] .package-card {
  border-radius: 16px;
  border: 1px solid rgba(34,211,238,.28);
  box-shadow: 0 0 40px rgba(34,211,238,.08);
}

[data-theme="cyber_monday"] .package-card.selected {
  box-shadow: 0 0 0 1px #22d3ee, 0 0 60px rgba(34,211,238,.20);
}

[data-theme="cyber_monday"] .btn {
  background:linear-gradient(135deg,#22d3ee,#a78bfa);
}

/* =========================
   PRIMAVERA
========================= */
[data-theme="primavera"] {
  --bg:#f7fee7;
  --panel:rgba(255,255,255,.96);
  --panel2:rgba(240,253,244,.96);
  --line:rgba(34,197,94,.16);
  --text:#12301c;
  --muted:rgba(18,48,28,.72);
  --accent:#22c55e;
  --pink:#f9a8d4;
}

[data-theme="primavera"] body {
  background:
    radial-gradient(circle at top left, rgba(249,168,212,.20), transparent 30rem),
    radial-gradient(circle at bottom right, rgba(34,197,94,.18), transparent 30rem),
    #f7fee7;
}

[data-theme="primavera"] .package-card {
  border-radius: 42px 18px 42px 18px;
  box-shadow: 0 18px 50px rgba(34,197,94,.10);
}

[data-theme="primavera"] .badge {
  background:rgba(34,197,94,.13);
  color:#15803d;
}

[data-theme="primavera"] .btn {
  border-radius:999px;
  background:linear-gradient(135deg,#22c55e,#f9a8d4);
}

/* ZERO_V2_R6_TEMAS_SAZONAIS_END */

/* ZERO_V2_R7_LEGIBILIDADE_TEMAS_START */

/*
  R7 — Correção de legibilidade/acessibilidade dos temas.
  Objetivo:
  - Tema claro não pode colocar texto escuro dentro de input escuro.
  - Black Friday não pode usar fonte ilegível no corpo inteiro.
  - Admin Comercial deve ser sempre legível.
  - Botões, labels, status, inputs e menus precisam ter contraste mínimo.
*/

/* =========================
   Base de legibilidade global
========================= */

body,
button,
input,
select,
textarea,
.field,
.line,
.package-card,
.result,
.card,
.admin-tabs,
.admin-section {
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

.input,
select.input,
textarea.input {
  background: var(--input-bg, #111827) !important;
  color: var(--input-text, #f8fafc) !important;
  border-color: var(--input-border, rgba(148,163,184,.38)) !important;
  caret-color: var(--input-caret, var(--accent)) !important;
}

.input::placeholder,
textarea.input::placeholder {
  color: var(--input-placeholder, rgba(248,250,252,.62)) !important;
  opacity: 1 !important;
}

select.input option {
  background: var(--input-bg, #111827) !important;
  color: var(--input-text, #f8fafc) !important;
}

.field {
  color: var(--label-text, var(--muted)) !important;
  font-weight: 700;
}

.field span,
.field small {
  color: var(--label-text, var(--muted)) !important;
}

.admin-toolbar {
  background: var(--admin-toolbar-bg, rgba(15,23,42,.96)) !important;
  color: var(--admin-toolbar-text, #f8fafc) !important;
  border-color: var(--admin-toolbar-border, rgba(255,255,255,.14)) !important;
}

.admin-toolbar span,
.admin-toolbar [data-admin-status] {
  color: var(--admin-toolbar-text, #f8fafc) !important;
  font-weight: 800;
}

.btn {
  color: var(--button-text, #111827) !important;
  font-weight: 950 !important;
}

.btn.secondary {
  color: var(--secondary-button-text, var(--text)) !important;
}

.header .nav a {
  color: var(--nav-text, var(--muted)) !important;
}

.header .nav a.active,
.header .nav a:hover {
  color: var(--nav-active-text, var(--text)) !important;
}

.brand strong {
  color: var(--brand-text, var(--accent)) !important;
}

.brand span {
  color: var(--brand-subtitle, var(--muted)) !important;
}

.admin-tabs summary {
  color: var(--summary-text, var(--accent)) !important;
}

.package-card .line span,
.result .line span {
  color: var(--card-line-text, var(--text)) !important;
}

.package-card p,
.card p,
.result p,
.hero p,
.panel p {
  color: var(--paragraph-text, var(--muted)) !important;
}

/* =========================
   Temas claros: inputs e labels legíveis
========================= */

[data-theme="claro_moderno"],
[data-theme="minimal_soft"],
[data-theme="ano_novo"],
[data-theme="pascoa_suave"],
[data-theme="dia_maes"],
[data-theme="primavera"] {
  --input-bg: #ffffff;
  --input-text: #0f172a;
  --input-border: rgba(15,23,42,.22);
  --input-placeholder: rgba(15,23,42,.48);
  --input-caret: var(--accent);

  --label-text: rgba(15,23,42,.78);
  --paragraph-text: rgba(15,23,42,.72);
  --card-line-text: #0f172a;

  --admin-toolbar-bg: #111827;
  --admin-toolbar-text: #f8fafc;
  --admin-toolbar-border: rgba(15,23,42,.20);

  --button-text: #111827;
  --secondary-button-text: #f8fafc;

  --nav-text: rgba(15,23,42,.72);
  --nav-active-text: #0f172a;
  --brand-text: var(--accent);
  --brand-subtitle: rgba(15,23,42,.62);
}

/* Botões em temas claros */
[data-theme="claro_moderno"] .btn,
[data-theme="minimal_soft"] .btn,
[data-theme="ano_novo"] .btn,
[data-theme="pascoa_suave"] .btn,
[data-theme="dia_maes"] .btn,
[data-theme="primavera"] .btn {
  color: #ffffff !important;
}

[data-theme="ano_novo"] .btn {
  color: #111827 !important;
}

[data-theme="minimal_soft"] .btn {
  color: #ffffff !important;
  background: #334155 !important;
}

/* Header clara precisa ficar clara de verdade */
[data-theme="claro_moderno"] .header,
[data-theme="minimal_soft"] .header,
[data-theme="ano_novo"] .header,
[data-theme="pascoa_suave"] .header,
[data-theme="dia_maes"] .header,
[data-theme="primavera"] .header {
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid rgba(15,23,42,.10) !important;
}

/* =========================
   Temas escuros: manter contraste alto
========================= */

[data-theme="premium_dark"],
[data-theme="classico_juridico"],
[data-theme="conversao_comercial"],
[data-theme="luxo_gold"],
[data-theme="midnight_blue"],
[data-theme="graphite_pro"],
[data-theme="emerald_legal"],
[data-theme="vinho_executivo"],
[data-theme="natal_premium"],
[data-theme="black_friday"],
[data-theme="carnaval"],
[data-theme="festa_junina"],
[data-theme="dia_advocacia"],
[data-theme="dia_mulher"],
[data-theme="dia_pais"],
[data-theme="cyber_monday"] {
  --input-bg: #111827;
  --input-text: #f8fafc;
  --input-border: rgba(255,255,255,.20);
  --input-placeholder: rgba(248,250,252,.62);
  --label-text: rgba(248,250,252,.78);
  --paragraph-text: rgba(248,250,252,.74);
  --card-line-text: #f8fafc;
  --admin-toolbar-bg: rgba(15,23,42,.96);
  --admin-toolbar-text: #f8fafc;
  --secondary-button-text: #f8fafc;
}

/* =========================
   Black Friday — fonte corrigida
========================= */

[data-theme="black_friday"] body,
[data-theme="black_friday"] button,
[data-theme="black_friday"] input,
[data-theme="black_friday"] select,
[data-theme="black_friday"] textarea,
[data-theme="black_friday"] .field,
[data-theme="black_friday"] .line,
[data-theme="black_friday"] .package-card,
[data-theme="black_friday"] .result,
[data-theme="black_friday"] .card,
[data-theme="black_friday"] .admin-tabs,
[data-theme="black_friday"] .admin-section,
[data-theme="black_friday"] .nav a {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}

[data-theme="black_friday"] h1,
[data-theme="black_friday"] h2,
[data-theme="black_friday"] h3 {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.04em !important;
  line-height: 1.02 !important;
}

[data-theme="black_friday"] .badge {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  letter-spacing: .08em !important;
  font-weight: 950 !important;
}

[data-theme="black_friday"] .package-card .price {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  letter-spacing: -0.045em !important;
  color: #facc15 !important;
}

/* Black Friday admin mais legível */
[data-theme="black_friday"] .admin-tabs summary,
[data-theme="black_friday"] .brand strong {
  color: #facc15 !important;
}

[data-theme="black_friday"] .btn {
  background: #facc15 !important;
  color: #000 !important;
}

[data-theme="black_friday"] .btn.secondary {
  background: rgba(255,255,255,.10) !important;
  color: #f8fafc !important;
  border-color: rgba(255,255,255,.22) !important;
}

/* =========================
   Correções específicas dos sazonais claros
========================= */

/* Páscoa, Mães e Primavera estavam suaves demais: reforçar texto */
[data-theme="pascoa_suave"] {
  --text: #25104a;
  --muted: rgba(37,16,74,.78);
  --label-text: rgba(37,16,74,.82);
  --paragraph-text: rgba(37,16,74,.76);
}

[data-theme="dia_maes"] {
  --text: #3f0a1f;
  --muted: rgba(63,10,31,.78);
  --label-text: rgba(63,10,31,.84);
  --paragraph-text: rgba(63,10,31,.76);
}

[data-theme="primavera"] {
  --text: #12301c;
  --muted: rgba(18,48,28,.78);
  --label-text: rgba(18,48,28,.84);
  --paragraph-text: rgba(18,48,28,.76);
}

[data-theme="ano_novo"] {
  --text: #0f172a;
  --muted: rgba(15,23,42,.76);
  --label-text: rgba(15,23,42,.82);
}

/* =========================
   Botões de toolbar no Admin
========================= */

.admin-toolbar .btn {
  min-height: 46px;
  color: var(--button-text, #111827) !important;
}

.admin-toolbar .btn.secondary {
  color: var(--secondary-button-text, #f8fafc) !important;
}

/* Em temas claros, botões secundários da toolbar precisam contrastar com fundo escuro */
[data-theme="claro_moderno"] .admin-toolbar .btn.secondary,
[data-theme="minimal_soft"] .admin-toolbar .btn.secondary,
[data-theme="ano_novo"] .admin-toolbar .btn.secondary,
[data-theme="pascoa_suave"] .admin-toolbar .btn.secondary,
[data-theme="dia_maes"] .admin-toolbar .btn.secondary,
[data-theme="primavera"] .admin-toolbar .btn.secondary {
  background: rgba(255,255,255,.10) !important;
  color: #f8fafc !important;
  border-color: rgba(255,255,255,.20) !important;
}

/* =========================
   Inputs dentro de cards claros
========================= */

[data-theme="claro_moderno"] .card .input,
[data-theme="claro_moderno"] .package-card .input,
[data-theme="claro_moderno"] .admin-section .input,
[data-theme="minimal_soft"] .card .input,
[data-theme="minimal_soft"] .package-card .input,
[data-theme="minimal_soft"] .admin-section .input,
[data-theme="ano_novo"] .card .input,
[data-theme="ano_novo"] .package-card .input,
[data-theme="ano_novo"] .admin-section .input,
[data-theme="pascoa_suave"] .card .input,
[data-theme="pascoa_suave"] .package-card .input,
[data-theme="pascoa_suave"] .admin-section .input,
[data-theme="dia_maes"] .card .input,
[data-theme="dia_maes"] .package-card .input,
[data-theme="dia_maes"] .admin-section .input,
[data-theme="primavera"] .card .input,
[data-theme="primavera"] .package-card .input,
[data-theme="primavera"] .admin-section .input {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid rgba(15,23,42,.22) !important;
}

/* Hover/focus com contraste em todos os temas */
.input:focus,
select.input:focus,
textarea.input:focus {
  outline: 3px solid color-mix(in srgb, var(--accent) 32%, transparent);
  outline-offset: 2px;
  border-color: var(--accent) !important;
}

/* Fallback para navegadores sem color-mix */
@supports not (color: color-mix(in srgb, red 50%, blue)) {
  .input:focus,
  select.input:focus,
  textarea.input:focus {
    outline: 3px solid rgba(96,165,250,.38);
  }
}

/* ZERO_V2_R7_LEGIBILIDADE_TEMAS_END */

/* ZERO_V2_R8_ESPECIALIDADES_ESCOLHIVEIS_START */

.specialty-box {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--panel2);
}

.specialty-box h3 {
  margin: 0 0 14px;
  color: var(--summary-text, var(--accent));
}

.specialty-included {
  margin-bottom: 14px;
}

.specialty-help {
  margin: 12px 0 10px;
  font-weight: 900;
  color: var(--label-text, var(--muted));
}

.specialty-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.specialty-check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--panel) 72%, transparent);
  color: var(--card-line-text, var(--text));
  font-weight: 850;
}

.specialty-check input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.result .line:nth-child(4),
.result .line:nth-child(5),
.result .line:nth-child(6) {
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  margin-left: -8px;
  margin-right: -8px;
  padding-left: 8px;
  padding-right: 8px;
  border-radius: 10px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
  .specialty-check {
    background: rgba(255,255,255,.06);
  }

  .result .line:nth-child(4),
  .result .line:nth-child(5),
  .result .line:nth-child(6) {
    background: rgba(255,255,255,.06);
  }
}

/* ZERO_V2_R8_ESPECIALIDADES_ESCOLHIVEIS_END */

/* ZERO_V2_R9_CATALOGO_MASTER_ESPECIALIDADES_START */

.specialty-box {
  grid-column: 1 / -1;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: var(--panel2);
}

.specialty-box h3 {
  margin: 0 0 16px;
  color: var(--summary-text, var(--accent));
}

.specialty-included {
  margin-bottom: 18px;
}

.specialty-help {
  margin: 14px 0 12px;
  font-weight: 950;
  color: var(--label-text, var(--muted));
}

.specialty-groups {
  display: grid;
  gap: 12px;
}

.specialty-group,
.admin-specialty-group {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 64%, transparent);
  overflow: hidden;
}

.specialty-group summary,
.admin-specialty-group summary {
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 950;
  color: var(--summary-text, var(--accent));
  border-bottom: 1px solid var(--line);
}

.specialty-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  padding: 14px;
}

.specialty-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--panel2);
  color: var(--card-line-text, var(--text));
  font-weight: 850;
  line-height: 1.25;
}

.specialty-check input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--accent);
}

.admin-specialty-group .admin-grid {
  padding: 16px;
}

.admin-specialty-card {
  min-height: 340px;
}

.specialty-meta {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.5;
}

.result .line:nth-child(4),
.result .line:nth-child(5),
.result .line:nth-child(6),
.result .line:nth-child(7) {
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  margin-left: -8px;
  margin-right: -8px;
  padding-left: 8px;
  padding-right: 8px;
  border-radius: 10px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
  .specialty-group,
  .admin-specialty-group,
  .specialty-check {
    background: rgba(255,255,255,.06);
  }

  .result .line:nth-child(4),
  .result .line:nth-child(5),
  .result .line:nth-child(6),
  .result .line:nth-child(7) {
    background: rgba(255,255,255,.06);
  }
}

/* ZERO_V2_R9_CATALOGO_MASTER_ESPECIALIDADES_END */

/* ZERO_V2_R10_UI_ESPECIALIDADES_MENU_START */

/* Planos agora é página comparativa, não montador */
.plans-notice-r10 {
  margin: 20px 0 10px;
}

.plan-overview-actions {
  margin-top: 28px;
}

/* Especialidades por áreas comerciais do Direito */
.specialty-box-r10 {
  grid-column: 1 / -1;
}

.specialty-groups-r10 {
  display: grid;
  gap: 14px;
}

.specialty-group-r10 {
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  background: color-mix(in srgb, var(--panel) 70%, transparent);
}

.specialty-group-r10 summary {
  cursor: pointer;
  padding: 16px 18px;
  font-size: 18px;
  font-weight: 950;
  color: var(--summary-text, var(--accent));
  border-bottom: 1px solid var(--line);
}

.specialty-options-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  padding: 16px;
}

.specialty-select-card {
  position: relative;
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: var(--panel2);
  color: var(--card-line-text, var(--text));
  cursor: pointer;
  user-select: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.specialty-select-card:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
}

.specialty-select-card.selected {
  border-color: var(--accent);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--accent) 40%, transparent),
    0 18px 50px rgba(0,0,0,.16);
}

.specialty-select-card.selected::after {
  content: "Selecionada";
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--button-text, #111827);
  font-size: 11px;
  font-weight: 950;
}

.specialty-hidden-check {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.specialty-select-card strong {
  padding-right: 92px;
  font-size: 15px;
  line-height: 1.25;
}

.specialty-select-card .specialty-price {
  font-weight: 950;
  color: var(--accent);
}

.specialty-select-card small {
  color: var(--paragraph-text, var(--muted));
  line-height: 1.35;
}

.admin-specialty-group {
  margin-bottom: 12px;
}

.admin-specialty-group summary {
  cursor: pointer;
  padding: 16px 18px;
  font-size: 18px;
  font-weight: 950;
  color: var(--summary-text, var(--accent));
}

.admin-specialty-card {
  min-height: 360px;
}

.admin-specialty-card .specialty-meta {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.5;
}

/* Reduz cansaço visual da lista grande no Admin */
.admin-specialty-group:not([open]) {
  min-height: 58px;
}

/* Menu configurável */
.admin-tabs .card h3 {
  margin-bottom: 8px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
  .specialty-group-r10 {
    background: rgba(255,255,255,.06);
  }

  .specialty-select-card.selected {
    box-shadow: 0 0 0 2px rgba(255,255,255,.25);
  }
}

/* ZERO_V2_R10_UI_ESPECIALIDADES_MENU_END */

/* ZERO_V2_R11_ESPECIALIDADES_COMERCIAIS_CONSOLIDADAS_START */

.admin-panel {
  margin-top: 26px;
}

.admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.admin-tabs {
  display: grid;
  gap: 14px;
}

.admin-section {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel2);
  overflow: hidden;
}

.admin-section summary {
  cursor: pointer;
  padding: 16px 18px;
  font-size: 20px;
  font-weight: 950;
  color: var(--summary-text, var(--accent));
  border-bottom: 1px solid var(--line);
}

.admin-section-body {
  padding: 18px;
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.admin-grid.one {
  grid-template-columns: 1fr;
}

.admin-area-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
}

.admin-commercial-area-card {
  min-height: 320px;
}

.check-field {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
}

.check-field input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.notice {
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  color: var(--paragraph-text, var(--muted));
  font-weight: 800;
}

.commercial-area-box {
  grid-column: 1 / -1;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: var(--panel2);
}

.commercial-area-box h3 {
  margin: 0 0 16px;
  color: var(--summary-text, var(--accent));
}

.commercial-area-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.commercial-area-card {
  position: relative;
  display: grid;
  gap: 8px;
  min-height: 148px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: var(--panel);
  cursor: pointer;
  user-select: none;
}

.commercial-area-card:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
}

.commercial-area-card.selected {
  border-color: var(--accent);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--accent) 42%, transparent),
    0 18px 50px rgba(0,0,0,.16);
}

.commercial-area-card.selected::after {
  content: "Selecionada";
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--button-text, #111827);
  font-size: 11px;
  font-weight: 950;
}

.commercial-area-card strong {
  padding-right: 98px;
  font-size: 17px;
  line-height: 1.2;
  color: var(--card-line-text, var(--text));
}

.commercial-area-card .specialty-price {
  font-weight: 950;
  color: var(--accent);
}

.commercial-area-card small {
  line-height: 1.42;
  color: var(--paragraph-text, var(--muted));
}

.specialty-hidden-check {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.plans-notice-r11 {
  margin: 20px 0 12px;
}

.plan-overview-actions {
  margin-top: 26px;
}

.buyer-form {
  margin-top: 26px;
}

.mini-grid {
  margin-top: 18px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
  .notice {
    background: rgba(255,255,255,.06);
  }

  .commercial-area-card.selected {
    box-shadow: 0 0 0 2px rgba(255,255,255,.25);
  }
}

/* ZERO_V2_R11_ESPECIALIDADES_COMERCIAIS_CONSOLIDADAS_END */

/* === ZERO V2 R11.1 UX START === */

/* Jornada visual */
.zv2-journey {
    width: min(1120px, calc(100% - 32px));
    margin: 18px auto 24px;
    padding: 14px;
    border: 1px solid rgba(255, 176, 205, 0.22);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.045);
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

.zv2-journey-title {
    font-size: 0.82rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #ffb6d2;
    margin-bottom: 10px;
    font-weight: 800;
}

.zv2-journey-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 8px;
}

.zv2-step {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    padding: 10px 12px;
    background: rgba(6, 14, 28, .46);
    color: rgba(255,255,255,.72);
    font-size: .82rem;
    line-height: 1.25;
}

.zv2-step strong {
    display: block;
    color: #fff;
    font-size: .9rem;
    margin-bottom: 2px;
}

.zv2-step.is-active {
    border-color: rgba(255, 151, 190, .8);
    background: linear-gradient(135deg, rgba(255,151,190,.22), rgba(255,255,255,.06));
    color: #fff;
}

.zv2-step.is-done {
    opacity: .86;
}

/* Alertas elegantes de preview */
.zv2-preview-note {
    width: min(1120px, calc(100% - 32px));
    margin: 10px auto 20px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 214, 148, .28);
    border-radius: 18px;
    background: rgba(255, 218, 158, .08);
    color: rgba(255,255,255,.88);
    font-size: .92rem;
    line-height: 1.45;
}

.zv2-preview-note strong {
    color: #ffd99b;
}

/* Página de planos mais comercial */
.zv2-badge-recommended {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    margin: 0 0 10px 0;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255, 151, 190, .18);
    border: 1px solid rgba(255,151,190,.38);
    color: #ffc2d8;
    font-weight: 800;
    font-size: .74rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.zv2-plan-cta {
    display: inline-flex;
    margin-top: 16px;
    padding: 10px 13px;
    border-radius: 13px;
    border: 1px solid rgba(255,151,190,.35);
    background: rgba(255,151,190,.16);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    font-size: .86rem;
}

.zv2-plan-cta:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

/* Cards de área jurídica mais clicáveis */
.zv2-area-card,
[data-area-card],
.area-card,
.specialty-card,
.juridico-area-card {
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.zv2-area-card:hover,
[data-area-card]:hover,
.area-card:hover,
.specialty-card:hover,
.juridico-area-card:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 178, 211, .55) !important;
    background: rgba(255, 255, 255, .055) !important;
}

.zv2-card-selected,
.is-selected,
.selected {
    outline: 2px solid rgba(255, 151, 190, .72) !important;
    outline-offset: 2px;
    background: rgba(255, 151, 190, .13) !important;
}

/* Resumo do pedido */
.zv2-summary-note {
    margin: 12px 0 14px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255, 214, 148, .25);
    background: rgba(255, 214, 148, .07);
    color: rgba(255,255,255,.86);
    font-size: .9rem;
}

.zv2-hidden-technical-row {
    display: none !important;
}

/* Admin comercial */
.zv2-admin-counters {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 10px;
    margin: 0 0 18px 0;
}

.zv2-admin-counter {
    padding: 13px 14px;
    border-radius: 17px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(6, 14, 28, .38);
}

.zv2-admin-counter strong {
    display: block;
    font-size: 1.35rem;
    color: #ffb6d2;
}

.zv2-admin-counter span {
    color: rgba(255,255,255,.76);
    font-size: .83rem;
}

.zv2-admin-actions-enhanced {
    position: sticky;
    top: 80px;
    z-index: 5;
    backdrop-filter: blur(10px);
}

/* Legibilidade geral */
body {
    text-rendering: optimizeLegibility;
}

select,
input,
textarea {
    min-height: 38px;
}

@media (max-width: 900px) {
    .zv2-journey-steps,
    .zv2-admin-counters {
        grid-template-columns: 1fr;
    }

    .zv2-journey,
    .zv2-preview-note {
        width: min(100% - 20px, 1120px);
    }
}

/* === ZERO V2 R11.1 UX END === */

/* === ZERO V2 R11.1B VISUAL FORTE START === */

/* Selo para confirmar visualmente que R11.1B carregou */
body.zero-v2-r11-1b::before {
    content: "Zero V2 R11.1B";
    position: fixed;
    right: 14px;
    bottom: 14px;
    z-index: 99999;
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(255, 151, 190, .95);
    color: #180716;
    font-weight: 900;
    font-size: 12px;
    box-shadow: 0 10px 28px rgba(0,0,0,.35);
}

/* Jornada bem perceptível */
.zv2-r11b-journey {
    width: min(1120px, calc(100% - 32px));
    margin: 18px auto 22px;
    padding: 16px;
    border-radius: 24px;
    border: 1px solid rgba(255, 151, 190, .38);
    background:
        linear-gradient(135deg, rgba(255,151,190,.16), rgba(255,214,160,.06)),
        rgba(6, 14, 28, .56);
    box-shadow: 0 20px 46px rgba(0,0,0,.28);
}

.zv2-r11b-journey-title {
    margin-bottom: 12px;
    color: #ffc0d8;
    font-weight: 900;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zv2-r11b-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 10px;
}

.zv2-r11b-step {
    min-height: 58px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.76);
}

.zv2-r11b-step strong {
    display: block;
    color: #fff;
    margin-bottom: 4px;
    font-size: 15px;
}

.zv2-r11b-step span {
    font-size: 12px;
}

.zv2-r11b-step.active {
    border-color: rgba(255,151,190,.9);
    background: rgba(255,151,190,.18);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

/* Aviso preview mais bonito */
.zv2-r11b-preview-note {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto 22px;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid rgba(255, 217, 155, .34);
    background: rgba(255, 217, 155, .10);
    color: rgba(255,255,255,.9);
    line-height: 1.45;
    font-size: 14px;
}

.zv2-r11b-preview-note strong {
    color: #ffd99b;
}

/* Cards dos planos com CTA visível */
.zv2-r11b-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 11px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255,151,190,.44);
    background: #f5a1bd;
    color: #1d0717 !important;
    text-decoration: none !important;
    font-weight: 900;
    font-size: 13px;
}

.zv2-r11b-badge {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 10px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,217,155,.34);
    background: rgba(255,217,155,.12);
    color: #ffd99b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 900;
}

/* Resumo comercial */
.zv2-r11b-summary-note {
    margin: 12px 0 16px;
    padding: 13px 15px;
    border-radius: 18px;
    border: 1px solid rgba(255, 217, 155, .30);
    background: rgba(255, 217, 155, .09);
    color: rgba(255,255,255,.9);
    font-size: 14px;
}

.zv2-r11b-hide-technical {
    display: none !important;
}

/* Admin mais executivo */
.zv2-r11b-admin-counters {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 12px;
    margin: 0 0 20px;
}

.zv2-r11b-admin-counter {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(6,14,28,.48);
}

.zv2-r11b-admin-counter strong {
    display: block;
    color: #ffb6d2;
    font-size: 26px;
    line-height: 1;
    margin-bottom: 6px;
}

.zv2-r11b-admin-counter span {
    color: rgba(255,255,255,.78);
    font-size: 13px;
}

/* Cards/áreas mais clicáveis */
.zv2-r11b-clickable,
[data-area-card],
.area-card,
.specialty-card,
.juridico-area-card {
    cursor: pointer;
}

.zv2-r11b-clickable:hover,
[data-area-card]:hover,
.area-card:hover,
.specialty-card:hover,
.juridico-area-card:hover {
    transform: translateY(-1px);
    border-color: rgba(255,151,190,.6) !important;
}

/* Mais legibilidade */
body.zero-v2-r11-1b {
    font-size: 16px;
}

body.zero-v2-r11-1b input,
body.zero-v2-r11-1b select,
body.zero-v2-r11-1b textarea {
    min-height: 40px;
}

@media (max-width: 900px) {
    .zv2-r11b-steps,
    .zv2-r11b-admin-counters {
        grid-template-columns: 1fr;
    }

    body.zero-v2-r11-1b::before {
        display: none;
    }
}

/* === ZERO V2 R11.1B VISUAL FORTE END === */
