/* Padrao visual das LPs novas da Unique (lp-unique-day), aplicado as LPs React herdadas — 22/09/2026.
   (1) FONTE: Montserrat em tudo (arquivos locais, os mesmos das LPs novas); Playfair Display italica so onde a
       pagina ja usava fonte serifada. (2) BOTOES: .uq-btn / .uq-btn-outline, marcados pelo /botoes-unique.js
       nos botoes grandes dourados (cheios ou de contorno). */

@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200 700; font-display: swap; src: url('/fonts-unique/montserrat-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200 700; font-display: swap; src: url('/fonts-unique/montserrat-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: italic; font-weight: 200 700; font-display: swap; src: url('/fonts-unique/montserrat-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: italic; font-weight: 200 700; font-display: swap; src: url('/fonts-unique/montserrat-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts-unique/playfair-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts-unique/playfair-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- fonte ---------- */
html, body, h1, h2, h3, h4, h5, h6, .font-display, .font-heading, .font-sans,
button, input, select, textarea, [style*="font-family"] {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body .font-serif { font-family: 'Playfair Display', Georgia, serif !important; font-style: italic; font-weight: 400; }

/* ---------- botao (igual ao .btn da lp-unique-day, no tamanho do .btn--quiz para caber nos cartoes) ---------- */
@keyframes uqGradientShift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.uq-btn, .uq-btn-outline {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: .6em;
  min-height: 54px !important; padding: 15px clamp(30px, 4vw, 48px) !important;
  font-family: 'Montserrat', sans-serif !important; font-size: clamp(13px, 1.2vw, 16px) !important; font-weight: 600 !important;
  letter-spacing: .16em !important; text-transform: uppercase !important; line-height: 1.35 !important;
  text-align: center !important; white-space: normal !important; border-radius: 999px !important;
  position: relative; overflow: hidden; cursor: pointer;
  transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1), background-color .3s, color .3s !important;
}
.uq-btn {
  color: #fff !important; border: 0 !important;
  background: linear-gradient(135deg, #8B7047 0%, #C5A572 50%, #D4B987 100%) !important; background-size: 200% 200% !important;
  box-shadow: 0 10px 30px rgba(139,112,71,0.32), 0 0 0 1px rgba(255,255,255,0.08) inset !important;
  animation: uqGradientShift 6s ease-in-out infinite;
}
.uq-btn *, .uq-btn-outline * { color: inherit !important; font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; }
.uq-btn::before { content: ""; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent); transform: skewX(-20deg); transition: left .8s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; }
.uq-btn:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 18px 42px rgba(139,112,71,0.46), 0 0 0 1px rgba(255,255,255,0.15) inset !important; }
.uq-btn:hover::before { left: 120%; }
.uq-btn-outline { color: #8B7047 !important; background: transparent !important; border: 1.5px solid #C5A572 !important; box-shadow: none !important; }
.uq-btn-outline:hover { background: rgba(197,165,114,0.10) !important; transform: translateY(-2px); }
.uq-btn:disabled, .uq-btn-outline:disabled, .uq-btn[aria-disabled="true"] { opacity: .55 !important; transform: none !important; cursor: not-allowed; }
@media (max-width: 600px) {
  .uq-btn, .uq-btn-outline { font-size: 12.5px !important; letter-spacing: .08em !important; padding-inline: 18px !important; }
}
@media (prefers-reduced-motion: reduce) { .uq-btn { animation: none; } .uq-btn, .uq-btn-outline { transition: none !important; } }

/* ---------- correcoes da troca para Montserrat (mais larga que Sora/Inter) — 22/09/2026 ---------- */
/* titulos que nao podiam quebrar linha em tela grande passaram a estourar a borda */
h1 .lg\:whitespace-nowrap, h2 .lg\:whitespace-nowrap, h3 .lg\:whitespace-nowrap { white-space: normal !important; }
h1, h2, h3 { text-wrap: balance; }
/* Diagnostico, resultado, "Jornada da Transformacao": colunas estreitas com palavras longas */
.p-4.border-2.border-foreground.rounded-lg { padding-left: .55rem !important; padding-right: .55rem !important; }
.p-4.border-2.border-foreground.rounded-lg p { overflow-wrap: anywhere; hyphens: auto; -webkit-hyphens: auto; }

/* ---------- Calculadora, celular (23/09/2026) ---------- */
@media (max-width: 480px) {
  /* formas de pagamento: 5 abas numa linha espremiam "Programada" -> 3 colunas */
  .grid.grid-cols-5.gap-1 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px !important; }
  /* lista de meses tinha rolagem propria e prendia a rolagem da pagina -> mostra tudo */
  .max-h-64.overflow-y-auto.space-y-1\.5, .max-h-56.overflow-y-auto.space-y-1\.5 { max-height: none !important; overflow: visible !important; }
}

/* ---------- Diagnostico: "Continuar de onde parei" + "Recomecar" (24/09/2026) ----------
   Os dois botoes com a mesma largura e altura, empilhados, texto em uma linha e a legenda
   "Apenas 3 minutos" centralizada embaixo dos dois. Vale para os 3 lugares da pagina. */
div:has(> button.border-gold):has(> div > button.bg-gold) {
  display: grid !important; grid-template-columns: 1fr; gap: 12px !important;
  width: min(420px, calc(100vw - 32px)) !important; max-width: 100% !important; align-items: stretch !important;
}
div:has(> button.border-gold):has(> div > button.bg-gold) > div { display: contents !important; }
div:has(> button.border-gold):has(> div > button.bg-gold) button {
  order: 1; width: 100% !important; min-width: 0 !important; height: 56px !important; min-height: 56px !important;
  margin: 0 !important; padding: 0 20px !important; white-space: nowrap !important; line-height: 1 !important;
  font-family: 'Montserrat', sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important; border-radius: 999px !important;
}
div:has(> button.border-gold):has(> div > button.bg-gold) > div > button.bg-gold {
  color: #fff !important; border: 0 !important;
  background: linear-gradient(135deg, #8B7047 0%, #C5A572 50%, #D4B987 100%) !important; background-size: 200% 200% !important;
  box-shadow: 0 10px 30px rgba(139,112,71,0.32) !important;
}
div:has(> button.border-gold):has(> div > button.bg-gold) > button {
  order: 2; color: #8B7047 !important; background: transparent !important;
  border: 1.5px solid #C5A572 !important; box-shadow: none !important;
}
div:has(> button.border-gold):has(> div > button.bg-gold) > div > p {
  order: 3; justify-self: center; margin: 4px 0 0 !important; white-space: nowrap;
}
@media (max-width: 380px) {
  div:has(> button.border-gold):has(> div > button.bg-gold) button { font-size: 13px !important; letter-spacing: .08em !important; }
}

/* caixinhas de marcar no celular (24/09/2026): o CSS original dava 44px a todo botao/checkbox em tela de toque e a caixa virava um quadrado enorme; o texto ao lado continua clicavel pelo label */
@media (hover: none) and (pointer: coarse) {
  button[role=checkbox], input[type=checkbox] { min-width: 0 !important; min-height: 0 !important; }
  button[role=checkbox] { width: 18px !important; height: 18px !important; flex-shrink: 0 !important; }
  input[type=checkbox] { width: 16px !important; height: 16px !important; flex-shrink: 0 !important; }
}
