/* ====== Plano de fundo global ====== */
body{
  /* Background herdado de base.css: var(--color-primary-200, #bfc5e8) */
  background-image:
    radial-gradient(circle at 12% 18%, rgba(var(--bs-primary-rgb, 33, 40, 108), .12) 0%, transparent 55%),
    radial-gradient(circle at 88% 14%, rgba(var(--bs-primary-rgb, 33, 40, 108), .08) 0%, transparent 52%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--color-primary-50, #F3F5FB) 92%, var(--color-neutral-0, #ffffff) 8%),
      var(--color-neutral-0, #ffffff)
    );
  background-repeat:no-repeat;
  background-attachment:fixed;
  /* Scrollbar visível em telas claras/claras */
  --scrollbar-track: rgba(33, 40, 108, 0.12);
  --scrollbar-thumb: rgba(33, 40, 108, 0.45);
  --scrollbar-thumb-hover: rgba(33, 40, 108, 0.65);
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  scrollbar-width: thin;
}

/* WebKit scrollbars */
body::-webkit-scrollbar{
  width: 10px;
  height: 10px;
}
body::-webkit-scrollbar-track{
  background: var(--scrollbar-track);
  border-radius: 12px;
}
body::-webkit-scrollbar-thumb{
  background: var(--scrollbar-thumb);
  border-radius: 12px;
  border: 2px solid rgba(255,255,255,0.4);
}
body::-webkit-scrollbar-thumb:hover{
  background: var(--scrollbar-thumb-hover);
}

/* ====== Escopo da página de contato ====== */
#win-contact{
  --pp-text: var(--bs-body-color, var(--color-neutral-900, #111827));
  --pp-muted: #4b5563;
  --pp-brand: var(--color-primary-600, #21286C);
  --pp-brand-700: var(--color-primary-700, #1B214F);
  --pp-success:#16a34a;
  --pp-error:#dc2626;
  --pp-warning:#f59e0b;

  /* Neumorphism base */
  --pp-neumorphic-base: var(--color-neutral-100, #e4e9f2);
  --pp-shadow-light:#ffffff;
  --pp-shadow-dark:#b8bfcb;

  /* Tokens herdados pelo utilitário neo-btn */
  --neo-bg: var(--pp-neumorphic-base);
  --neo-shadow-light: var(--pp-shadow-light);
  --neo-shadow-dark: var(--pp-shadow-dark);
  --neo-text: var(--pp-text);
  --neo-text-hover: #1a1e24;

  --neo-btn-padding-block: clamp(.85rem, 3vw, 1.05rem);
  --neo-btn-padding-inline: clamp(1.6rem, 6vw, 2.8rem);
  --neo-btn-radius: clamp(38px, 9vw, 999px);
  --neo-btn-font-size: clamp(.96rem, 2.8vw, 1.1rem);
  --neo-btn-letter-spacing: .5px;
  --neo-btn-line-height: 1.18;
  --neo-btn-white-space: normal;
  --neo-btn-flex-wrap: wrap;
  --neo-btn-gap: .4rem;
  --neo-btn-max-width: 100%;
  --neo-btn-min-width: 0;
  --neo-btn-shadow: 9px 9px 18px var(--pp-shadow-dark), -9px -9px 18px var(--pp-shadow-light);
  --neo-btn-shadow-hover: 9px 9px 18px var(--pp-shadow-dark), -9px -9px 18px var(--pp-shadow-light),
                         inset 0 0 10px rgba(255,255,255,.8), 0 0 35px rgba(255,255,255,1);
  --neo-btn-shadow-active: inset 7px 7px 14px var(--pp-shadow-dark), inset -7px -7px 14px var(--pp-shadow-light);

  --contact-btn-flex: 1 1 clamp(240px, 45%, 320px);

  /* Noscript fallback */
  --wpc-noscript-max-width: 980px;

  /* Dimensões — sem largura mínima fixa para acompanhar viewports estreitos */
  --wpc-shell-gap: var(--site-shell-radius, 20px);
  /* Usa 100% (não 100vw) para alinhar com header/footer e ignorar scrollbar */
  --pp-container: max(0px, calc(100% - 2 * var(--wpc-shell-gap)));
  --wpc-card-radius: var(--site-shell-radius, 20px);

  padding:0;
}

/* Padroniza utilitário .mt-4 dentro de páginas sob #win-contact (ex.: Blog, FAQ, Contato) */
#win-contact .mt-4{ margin-top: 24px !important; }

/* ====== Shell responsivo padrão (Neumorfismo FlatMeta) ====== */
@media (max-width: 991.98px){
  #win-contact{
    --wpc-shell-gap: clamp(12px, 4vw, 20px);
  }
}

@media (max-width: 767.98px){
  #win-contact{
    --wpc-shell-gap: clamp(8px, 2.8vw, 16px);
    --wpc-shell-block-gap: clamp(12px, 4vw, 22px);
  }

  /* Containers dos FlatMeta sem padding lateral no mobile */
  .wpc-container{
    --wpc-container-inline-padding: 0;
    max-width: 100%;
  }

  #win-contact #win-pp .wpc-container{
    /* Remover padding lateral em telas menores também */
    --wpc-container-inline-padding: 0;
  }

  #win-contact .wpc-contact-card{
    /* Mantém padding lateral também no mobile com valor fixo */
    padding-inline: 8px !important;
    padding-block: var(--wpc-shell-block-gap, clamp(12px, 4vw, 22px)) !important;
    border-radius: clamp(12px, 5vw, 16px);
  }
}

#win-contact .wpc-noscript-alert{
  max-width: var(--wpc-noscript-max-width);
  margin: 0 auto 12px;
}

#win-contact .wpc-noscript-alert-links{
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

#win-contact .wpc-noscript-item{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wpc-container{
  /* Padding lateral zerado para todas as páginas FlatMeta */
  --wpc-container-inline-padding: 0;
  max-width: calc(
    var(--pp-container, 100%)
    + 2 * var(--wpc-container-inline-padding)
  );
  margin-inline:auto;
  padding-inline: var(--wpc-container-inline-padding);
}
.wpc-container.wpc-grid{
  padding:0;
}

/* ====== CARD PRINCIPAL (Glassmorphism) ====== */
.wpc-contact-card{
  /* Um ÚNICO gutter para alinhar todos os filhos */
  --wpc-gutter: clamp(12px, 4vw, 28px);

  background:rgba(255,255,255,.55);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);

  border-radius:var(--wpc-card-radius, var(--site-shell-radius, 20px));

  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 8px 32px rgba(31,38,135,.15);

  /* O gutter controla o alinhamento lateral de TUDO dentro do card */
  padding-block:16px;
  /* Laterais 70% menores para manter o card compacto sem perder alinhamento */
  padding-inline:calc(var(--wpc-gutter) * 0.3);
  box-sizing:border-box;
}

/* Garante box-sizing consistente para evitar “crescimento” inesperado */
.wpc-contact-card *{ box-sizing:border-box; }

/* ====== GRID Único ====== */
.wpc-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; align-items:start; }
.wpc-right{ display:grid; gap:1rem; }
.wpc-right > *{ min-width:0; }

/* ====== Banner ====== */
.wpc-banner{
  width:100%;
  margin:0;               /* sem offset lateral */
  border-radius:max(12px, calc(var(--wpc-card-radius, var(--site-shell-radius, 20px)) - 4px));
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.1);
}
.wpc-banner-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  user-select:none;
  -webkit-user-drag:none;
}

/* ====== Título e texto abaixo do banner ====== */
.wpc-banner-caption{
  width:100%;
  margin:0;
  padding:8px 0 0;        /* nada de padding lateral: já vem do card */
  background:transparent;
  border:0;
  box-shadow:none;
}
.wpc-banner-title{
  margin:0 0 .25rem;
  font-weight:900;
  font-size:clamp(1.7rem,4vw,2.4rem);
  letter-spacing:-.02em;
}
.wpc-banner-sub{
  margin:0;
  color:var(--pp-muted);
  font-size:clamp(1rem,2.4vw,1.1rem);
}

/* ====== Grade de informações ====== */
.wpc-info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:.9rem;
  margin-top:1.25rem;
}

/* ====== Info Item — Neumorphism (fundo “inset”) ====== */
.wpc-info-item,
.wpc-info-tip{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  padding:1.15rem 1.2rem;
  border-radius:20px;
  background: var(--neo-bg, #e0e5ec);
  color:var(--pp-text);
  border:none;
  box-shadow:
    inset 4px 4px 8px var(--pp-shadow-dark),
    inset -4px -4px 8px var(--pp-shadow-light);
  transition:none;
  cursor:default;
  outline:0;
}
.wpc-info-item h3{
  margin:0;
  font-size:1.02rem;
  font-weight:800;
  color:var(--pp-brand);
}
.wpc-bullets{ margin:.25rem 0 0; padding-left:1.1rem; }
.wpc-bullets li{ margin:.2rem 0; }

.small{ font-size:.92rem; }
.text-muted{ color:var(--pp-muted); }

/* Sem pseudoefeitos/overlays */
.wpc-info-item::before,
.wpc-info-item::after,
.wpc-info-tip::before,
.wpc-info-tip::after{ display:none !important; }

/* Foco acessível */
.wpc-info-item:focus-visible,
.wpc-info-tip:focus-visible{ outline:3px solid rgba(var(--bs-primary-rgb,33,40,108),.28); outline-offset:3px; }

@media (prefers-reduced-motion: reduce){
  .wpc-info-item, .wpc-info-tip{ transition:none; }
}

/* Expandível (ex.: Atendimento) */
.wpc-info-details{
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height .35s ease, opacity .25s ease;
}
.wpc-info-item.is-expanded .wpc-info-details{
  max-height:320px;
  opacity:1;
}

/* ====== Chips de ação ====== */
.wpc-chip-group{
  display:flex;
  gap:.45rem;
  margin-top:.6rem;
  flex-wrap:nowrap; /* chips lado a lado por padrão */
}
.wpc-chip{
  display:inline-flex; align-items:center; justify-content:center; gap:.3rem;
  user-select:none; cursor:pointer;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0;
  flex:1 1 0; /* dividir igualmente a largura entre os chips */
}
.wpc-chip.neo-btn,
.wpc-chip{
  padding: 3px 8px !important;
  font-size: clamp(.54rem, 1.6vw, .66rem) !important;
  letter-spacing: .1px !important;
  min-height: 22px;
}
.wpc-chip:focus-visible{ outline:2px solid rgba(var(--bs-primary-rgb,33,40,108),.3); outline-offset:2px; }
.wpc-chip[data-variant="brand"]{ color:var(--pp-brand); }
.wpc-chip[data-variant="wa"]{ color:var(--pp-success); }
.wpc-chip[data-variant="mail"]{ color:#0e7490; }

/* Empilhamento progressivo dos chips (ícone acima do texto) apenas quando necessário */
@media (max-width: 520px){
  /* Mantém ícone ao lado do texto o máximo possível; abaixo de ~520px empilha */
  .wpc-chip.neo-btn,
  .wpc-chip{
    flex-direction: column;          /* ícone sobre o texto */
    align-items: center;
    justify-content: center;
    white-space: normal;             /* permite quebra da palavra quando necessário */
    gap: .3rem;
    text-align: center;
  }
  .wpc-chip.neo-btn i{ margin:0; }
}

/* Hover “pulse” (desativado para reduce-motion) */
@keyframes wpcPulse{
  0%,100%{
    transform:translateY(0);
    box-shadow:inset 3px 3px 6px var(--pp-shadow-dark),
               inset -3px -3px 6px var(--pp-shadow-light);
  }
  50%{
    transform:translateY(1px);
    box-shadow:inset 10px 10px 18px var(--pp-shadow-dark),
               inset -10px -10px 18px var(--pp-shadow-light);
  }
}
.wpc-info-item:hover,
.wpc-info-tip:hover{
  animation:wpcPulse 1200ms ease-in-out infinite;
  will-change:transform, box-shadow;
}
@media (prefers-reduced-motion: reduce){
  .wpc-info-item:hover, .wpc-info-tip:hover{ animation:none; }
}

/* ====== Formulário (Neumorphism) ====== */
.lc-card{
  border:none; border-radius:20px;
  padding:clamp(1rem,4vw,1.75rem);
  /* Igual ao wpc-info-item */
  background: var(--neo-bg, #e0e5ec);
  box-shadow:
    inset 4px 4px 8px var(--pp-shadow-dark),
    inset -4px -4px 8px var(--pp-shadow-light);
  width:100%;
  max-width:100%;
  min-width:0;
}

/* Host do SPA/form e cartão de sucesso: alinham 100% ao gutter */
#contatoCaptureHost,
#contatoSuccessCard{
  display:block;
  width:100%;
  margin:0;
  padding:0;
}

.lc-title{ margin:0 0 .25rem; font-size:1.35rem; font-weight:700; color:#0f172a; }
.lc-form{ display:grid; gap:1rem; min-width:0; width:100%; }
.lc-field{ display:grid; gap:.35rem; min-width:0; }
.lc-label{ font-weight:600; font-size:.95rem; color:#334155; padding-left:4px; }

.lc-card p,
.lc-card .lc-hint,
.lc-card .lc-error,
.lc-card .lc-privacy-tip,
.lc-card .lc-security,
.lc-card .lc-consent{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.lc-input,.lc-textarea{
  width:100%; max-width:100%; min-width:0;
  border-radius:12px; border:none;
  padding:clamp(.65rem, 4vw, .75rem);
  font-size:clamp(.94rem, 3.6vw, 1rem);
  background:var(--pp-neumorphic-base); color:var(--pp-text);
  box-shadow:inset 4px 4px 8px var(--pp-shadow-dark),
             inset -4px -4px 8px var(--pp-shadow-light);
  transition:box-shadow .2s ease-out;
}
.lc-input:focus,.lc-textarea:focus{
  outline:none;
  box-shadow:inset 2px 2px 4px var(--pp-shadow-dark),
             inset -2px -2px 4px var(--pp-shadow-light);
}
.lc-textarea{ min-height:120px; resize:vertical; }

/* ====== Select aprimorado (Assunto) ====== */
/* Mantém dropdown dentro da hierarquia do card, com o mesmo visual neumórfico */
#win-contact .lc-select{ position:relative; isolation:isolate; width:100%; }
#win-contact .lc-select .lc-select-native{
  position:absolute !important; opacity:0 !important; pointer-events:none !important;
  width:0 !important; height:0 !important; overflow:hidden; clip:rect(0 0 0 0);
}
#win-contact .lc-select-toggle{
  width:100%; min-height:44px; border-radius:12px; border:0;
  padding:clamp(.65rem, 4vw, .75rem);
  background:var(--pp-neumorphic-base); color:var(--pp-text);
  box-shadow:inset 4px 4px 8px var(--pp-shadow-dark), inset -4px -4px 8px var(--pp-shadow-light);
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  cursor:pointer;
}
#win-contact .lc-select-toggle:focus-visible{ outline:3px solid rgba(var(--bs-primary-rgb,33,40,108),.28); outline-offset:2px; }
#win-contact .lc-select-label{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#win-contact .lc-select-caret{ font-size:.9rem; opacity:.75; transform:translateY(1px); }

#win-contact .lc-select-list{
  position:absolute; left:0; right:auto; width:100%; top:calc(100% + 6px);
  background:var(--pp-neumorphic-base); color:var(--pp-text);
  border-radius:12px; padding:6px;
  box-shadow: 6px 6px 12px var(--pp-shadow-dark), -6px -6px 12px var(--pp-shadow-light);
  border:1px solid rgba(0,0,0,.04);
  max-height:min(260px, 40vh); overflow:auto; overflow-x:hidden; display:none; z-index:30;
  box-sizing:border-box; max-width:100%; transform:translateZ(0);
}
#win-contact .lc-select.is-open .lc-select-list{ display:block; }

#win-contact .lc-select-option{
  padding:10px; border-radius:10px; cursor:pointer; line-height:1.1; user-select:none;
}
#win-contact .lc-select-option + .lc-select-option{ margin-top:4px; }
#win-contact .lc-select-option:hover,
#win-contact .lc-select-option.is-highlight{ background:rgba(0,0,0,.04); }
#win-contact .lc-select-option.is-selected{
  background:rgba(var(--bs-primary-rgb,33,40,108),.08); color:var(--pp-brand); font-weight:600;
}

/* Mobile refinements: garantir que o dropdown não ultrapasse o card */
@media (max-width: 560px){
  #win-contact .lc-select-list{ top:calc(100% + 4px); padding:4px; border-radius:14px; }
}

/* Fallback: se o select nativo estiver visível por algum motivo, arredonda e remove aparência */
#win-contact select.lc-input{
  -webkit-appearance:none; appearance:none; border:0;
  border-radius:12px; background:var(--pp-neumorphic-base); color:var(--pp-text);
  box-shadow:inset 4px 4px 8px var(--pp-shadow-dark), inset -4px -4px 8px var(--pp-shadow-light);
  padding-right:2.2rem; /* espaço para caret do sistema */
}

/* ====== Neumorphism: ajustes locais da navbar ====== */
.navbar.navbar-expand-lg .navbar-toggler{
  background: rgba(15,23,42,.08);
  box-shadow: inset -2px -2px 6px rgba(255,255,255,.7), inset 3px 3px 8px rgba(15,23,42,.12);
}
.navbar.navbar-expand-lg .navbar-toggler:hover,
.navbar.navbar-expand-lg .navbar-toggler:focus-visible{
  background: rgba(15,23,42,.12);
  box-shadow: inset -3px -3px 8px rgba(255,255,255,.75), inset 3px 3px 10px rgba(15,23,42,.18);
}

/* ====== Footer ajustado (espelha o header) ====== */
.footer-winvest{
  background: var(--color-primary-600, #21286C);
  color: #f8fafc;
  padding-top: 0;
}

.footer-winvest .footer-winvest-container{
  position: relative;
  width: 100%;
  margin: 0;
  padding: clamp(2.3rem, 6vw, 3.4rem) clamp(1.6rem, 5vw, 2.8rem);
  /* usa o fundo do próprio footer para que o arredondado do topo fique visível */
  background: transparent;
  color: inherit;
}
.footer-winvest .footer-winvest-container > *{ position: relative; z-index: 1; }
.footer-winvest .footer-winvest-container .footer-winvest-title{ color: #fff; }
.footer-winvest .footer-winvest-container .link-anim{ color: #f8fafc !important; }
.footer-winvest .footer-winvest-container{ --link-stroke-color: rgba(255,255,255,.45); }

/* Input de arquivo */
.lc-input[type="file"]{
  background: var(--pp-neumorphic-base);
  color: var(--pp-text);
  border-radius: 12px;
  height: 44px;
  padding: .35rem .5rem;
  box-shadow: inset 4px 4px 8px var(--pp-shadow-dark), inset -4px -4px 8px var(--pp-shadow-light);
  cursor: pointer;
  min-width:0;
}
.lc-input[type="file"]::file-selector-button{
  height: 36px; line-height: 1;
  margin-right: .75rem; padding: 0 1rem;
  border: none; border-radius: 10px;
  background: var(--pp-neumorphic-base); color: var(--pp-text);
  box-shadow: 5px 5px 10px var(--pp-shadow-dark), -5px -5px 10px var(--pp-shadow-light);
  cursor: pointer; font-weight: 600;
  transition: color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.lc-input[type="file"]:hover::file-selector-button{ color: var(--pp-brand); transform: translateY(-1px); }
.lc-input[type="file"]:active::file-selector-button{ transform: translateY(1px); box-shadow: inset 3px 3px 6px var(--pp-shadow-dark), inset -3px -3px 6px var(--pp-shadow-light); }
/* WebKit antigo */
.lc-input[type="file"]::-webkit-file-upload-button{
  height:36px; line-height:1; margin-right:.75rem; padding:0 1rem;
  border:none; border-radius:10px;
  background: var(--pp-neumorphic-base); color: var(--pp-text);
  box-shadow: 5px 5px 10px var(--pp-shadow-dark), -5px -5px 10px var(--pp-shadow-light);
  cursor:pointer; font-weight:600;
  transition: color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.lc-input[type="file"]:hover::-webkit-file-upload-button{ color: var(--pp-brand); transform: translateY(-1px); }
.lc-input[type="file"]:active::-webkit-file-upload-button{ transform: translateY(1px); box-shadow: inset 3px 3px 6px var(--pp-shadow-dark), inset -3px -3px 6px var(--pp-shadow-light); }

/* Erros e dicas */
.lc-error{ color:var(--pp-error); font-size:.85rem; min-height:1em; font-weight:500; }
.lc-error-summary{ border:1px solid #fecaca; background:#fff1f2; color:#991b1b; border-radius:10px; padding:.75rem; }
.lc-hint{ color:#475569; font-size:.85rem; min-height:1em; }

/* Consentimento e ações */
.lc-consent{
  display:flex;
  align-items:center; /* alinha o texto com o checkbox */
  gap:.6rem;
  font-size:.9rem;
  flex-wrap:wrap;
}
.lc-consent input[type="checkbox"]{ width:18px; height:18px; flex:0 0 auto; }
.lc-consent > *{ min-width:0; }
.lc-actions{
  display:flex;
  gap:.75rem;
  justify-content:flex-end;
  align-items:center;
  padding-top:.5rem;
  flex-wrap:wrap;
  width:100%;
  min-width:0;
}

#win-contact .lc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:auto;
  min-height:clamp(2.85rem, 8vw, 3.5rem);
  padding:var(--neo-btn-padding-block) var(--neo-btn-padding-inline);
  border-radius:var(--neo-btn-radius);
  border:none;
  outline:none;
  background:var(--neo-bg);
  color:var(--neo-text);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-size:var(--neo-btn-font-size);
  font-weight:600;
  letter-spacing:var(--neo-btn-letter-spacing);
  line-height:var(--neo-btn-line-height);
  box-shadow:var(--neo-btn-shadow);
  transition:all .25s ease;
  cursor:pointer;
  position:relative;
  max-width:var(--neo-btn-max-width);
  min-width:var(--neo-btn-min-width);
  flex:var(--contact-btn-flex);
  flex-wrap:var(--neo-btn-flex-wrap);
  gap:var(--neo-btn-gap);
  white-space:var(--neo-btn-white-space);
  text-align:center;
  text-wrap:balance;
  box-sizing:border-box;
}
#win-contact .lc-btn:hover{
  box-shadow:var(--neo-btn-shadow-hover);
  color:var(--neo-text-hover);
}
#win-contact .lc-btn:active{
  transform:scale(.98);
  box-shadow:var(--neo-btn-shadow-active);
}
#win-contact .lc-btn[disabled]{ opacity:.7; cursor:not-allowed; box-shadow:none; }
#win-contact .lc-btn-primary,
#win-contact .lc-btn-whatsapp,
#win-contact .lc-btn-ghost{
  background:var(--neo-bg);
  border:none;
  box-shadow:var(--neo-btn-shadow);
}
#win-contact .lc-btn-primary{ color:var(--pp-brand) !important; }
#win-contact .lc-btn-whatsapp{ color:var(--pp-success) !important; }
#win-contact .lc-btn-whatsapp:hover{ color:#15803d; }
#win-contact .lc-btn-ghost{ color:var(--neo-text); }

/* Ícones no botão: leve “inner shadow” */
#win-contact .lc-btn i{
  text-shadow: -1px -1px 0 rgba(255,255,255,.35), 1px 1px 1px rgba(0,0,0,.18);
}

/* Spinner */
.lc-spinner{
  display:inline-block; margin-right:.5rem; width:16px; height:16px; border-radius:999px;
  border:2px solid rgba(0,0,0,.12); border-top-color:rgba(0,0,0,.45);
  animation:lcspin .7s linear infinite;
}
@keyframes lcspin{ to{ transform:rotate(360deg) } }

/* Card de Sucesso: usar o estilo base de lc-core.css (sem overrides aqui) */

/* ====== Toasts ====== */
#toastContainer{ position:fixed; right:20px; bottom:20px; z-index:1000; }
#toastContainer .toast{
  background:rgba(30,41,59,.8); color:#fff; padding:12px 18px; border-radius:8px; margin-top:8px;
  box-shadow:0 4px 12px rgba(0,0,0,.15); backdrop-filter:blur(5px); animation:fadeIn .25s ease-out;
}
#toastContainer .toast.success{ background:rgba(22,163,74,.8); }
#toastContainer .toast.error{ background:rgba(220,38,38,.8); }
#toastContainer .toast.fade-out{ animation:fadeOut .25s forwards; }
@keyframes fadeIn{ from{ opacity:0; transform:translateY(6px) } to{ opacity:1; transform:translateY(0) } }
@keyframes fadeOut{ to{ opacity:0; transform:translateY(-6px) } }

/* Toast inline */
.lc-inline-toast .toast{ padding:12px 18px; border-radius:10px; text-align:center; animation:fadeIn .25s ease-out; }
.lc-inline-toast .toast.error{ background:#fecaca; color:#991b1b; }
.lc-inline-toast .toast.warning{ background:#fee2b1; color:#92400e; }

/* Textos auxiliares */
.lc-privacy-tip{
  font-size:.85rem;
  color:#475569;
}

.lc-actions .lc-privacy-tip{
  margin-left:0;
  flex:1 0 100%;
  width:100%;
  text-align:left;
  order:10;
  margin-top:calc(var(--wpc-gutter, 16px) * .5);
}
.lc-security{ margin-top:.5rem; color:#334155; font-size:.9rem; }

/* ====== Intro e responsividade ====== */
.wpc-article-intro{ margin-bottom:.5rem; }
.wpc-intro{ max-width:var(--pp-container); margin:0 auto; padding:0 clamp(12px, 4vw, 24px); }

/* ====== Ajustes mobile gerais ====== */
@media (max-width:520px){
  .wpc-article-intro .wpc-intro{ padding-inline:clamp(16px, 4.5vw, 32px); }
  #win-contact .wpc-grid{ gap:1rem; }
}
@media (max-width:480px){
  #win-contact{
    --contact-btn-flex: 1 1 100%;
    --neo-btn-padding-inline: clamp(1.2rem, 8vw, 2.1rem);
  }
  #win-contact .lc-actions{ justify-content:center; align-items:stretch; }
}

/* ====== Responsivo crítico (≤435px): ALIGN 100% ====== */
@media (max-width:435px){
  .wpc-container{
    --wpc-container-inline-padding: min(
      var(--wpc-shell-gap, var(--site-shell-radius, 20px)),
      clamp(14px, 6vw, 18px)
    );
  }

  .wpc-contact-card{
    --wpc-gutter: 12px;     /* gutter único fixo para máxima previsibilidade */
    border-radius:var(--wpc-card-radius, var(--site-shell-radius, 20px));
    padding-block:12px;
  }

  .wpc-info-grid{
    grid-template-columns:1fr;
    gap:.75rem;
  }

  .wpc-chip-group{ gap:.4rem; }

  .wpc-chip{
    min-height:22px;
    padding:4px 8px !important;
    font-size: clamp(.55rem, 3vw, .68rem) !important;
  }
}

@media (max-width:390px){
  .wpc-container{
    --wpc-container-inline-padding: min(
      var(--wpc-shell-gap, var(--site-shell-radius, 20px)),
      clamp(12px, 5vw, 16px)
    );
  }
  .wpc-contact-card{ --wpc-gutter: 10px; border-radius:var(--wpc-card-radius, var(--site-shell-radius, 20px)); padding-block:10px; }
  .wpc-info-item,
  .wpc-info-tip{ padding:1rem; }
  .wpc-chip-group{ gap:.3rem; }
  .wpc-chip{ padding:3px 6px !important; font-size:clamp(.52rem, 3.2vw, .64rem) !important; }
  #win-contact{
    --neo-btn-padding-block: clamp(.72rem, 4.6vw, .9rem);
    --neo-btn-padding-inline: clamp(1.05rem, 6.5vw, 1.9rem);
    --neo-btn-font-size: clamp(.9rem, 3.4vw, 1rem);
  }
  .lc-label{ font-size:.9rem; }
  .lc-input,
  .lc-textarea{ font-size:.9rem; }
  .lc-consent{ font-size:.85rem; }
}
/* Permitir quebra apenas abaixo de 320px */
@media (max-width:320px){
  .wpc-chip-group{ flex-wrap:wrap; }
  .wpc-chip{ flex:1 1 100%; max-width:100%; }
  /* Quebra de texto global no escopo do contato */
  #win-contact{ overflow-wrap:anywhere; word-break:break-word; hyphens:auto; }
  #win-contact *{ min-width:0; }

  /* Itens de informação ocupam toda a largura, alinhados ao card */
  .wpc-info-item,
  .wpc-info-tip{ width:100%; max-width:100%; }
  .wpc-info-item > *,
  .wpc-info-tip > *{ min-width:0; max-width:100%; }

  /* Botões primário e WhatsApp: cabem sempre e o texto pode quebrar */
  #win-contact{
    --neo-btn-font-size: clamp(.72rem, 4.6vw, .9rem);
    --neo-btn-padding-block: .65rem;
    --neo-btn-padding-inline: clamp(.95rem, 6.8vw, 1.4rem);
    --neo-btn-line-height: 1.22;
  }
  #win-contact .lc-btn{ text-wrap:balance; }
  /* Se houver ícone no botão, esconder em telas muito estreitas evita deslocamento */
  #win-contact .lc-btn.lc-btn-whatsapp i{ display:none; }
  #win-contact .lc-btn i{ flex:0 0 auto; }
  #win-contact{ overflow-x:hidden; }
}
@media (max-width:340px){
  .wpc-container{
    --wpc-container-inline-padding: min(
      var(--wpc-shell-gap, var(--site-shell-radius, 20px)),
      clamp(10px, 6vw, 14px)
    );
  }
  .wpc-contact-card{ --wpc-gutter: 8px; padding-block:8px; }
  .wpc-info-item,
  .wpc-info-tip{ padding:.9rem; }
  .lc-input,
  .lc-textarea{ padding:.6rem; }
  #win-contact{
    --neo-btn-padding-block: clamp(.68rem, 5.2vw, .85rem);
    --neo-btn-padding-inline: clamp(1rem, 6.6vw, 1.6rem);
    --neo-btn-font-size: clamp(.86rem, 3.6vw, .96rem);
  }
}

/* Override final: manter zero padding do container em ≤435px para todos os FlatMeta */
@media (max-width: 435px){
  .wpc-container{ --wpc-container-inline-padding: 0; }
}
