/* NVS 2027 — override da base saudece2027 (Tailwind compilado) para identidade bs5-2026 */
:root{
  --nvs-primary:#e86f6f;
  --nvs-primary-dark:#d15858;
  --nvs-primary-light:#fdf2f2;
  --nvs-secondary:#3a6b5f;
  --nvs-secondary-dark:#2c534a;
  --nvs-ink:#2b2b2b;
  --nvs-muted:#6b7280;
  --font-heading:"Playfair Display",Georgia,serif;
  --font-body:Ubuntu,Inter,system-ui,-apple-system,sans-serif;
}
/* Remapeia utilitários Tailwind herdados (compilados com verde/azul saudece) */
.bg-primary{background-color:var(--nvs-primary)!important;}
.bg-primary\/10{background-color:rgba(232,111,111,.1)!important;}
.bg-primary\/5{background-color:rgba(232,111,111,.06)!important;}
.text-primary{color:var(--nvs-primary)!important;}
.border-primary{border-color:var(--nvs-primary)!important;}
.hover\:bg-primary\/90:hover{background-color:var(--nvs-primary-dark)!important;}
.hover\:text-primary:hover{color:var(--nvs-primary-dark)!important;}
.hover\:border-primary\/40:hover{border-color:rgba(232,111,111,.4)!important;}
.bg-secondary{background-color:var(--nvs-secondary)!important;}
.text-secondary{color:var(--nvs-secondary)!important;}
.bg-secondary\/10{background-color:rgba(58,107,95,.1)!important;}
.bg-secondary\/5{background-color:rgba(58,107,95,.06)!important;}
.hover\:bg-secondary\/90:hover{background-color:var(--nvs-secondary-dark)!important;}
.from-primary{--tw-gradient-from:var(--nvs-primary)!important;}
.to-secondary{--tw-gradient-to:var(--nvs-secondary)!important;}
body{font-family:var(--font-body);color:var(--nvs-ink);}
h1,h2,h3,.font-display{font-family:var(--font-heading);}
.nvs-hero-gradient{background:linear-gradient(135deg,#e86f6f 0%,#d15858 45%,#ffcfcf 100%);}
.nvs-hero-gradient #crumbs,.nvs-hero-gradient #crumbs a{color:rgb(255 255 255);}
.nvs-soft{background:var(--nvs-primary-light);}
.nvs-card{transition:transform .3s ease,box-shadow .3s ease;}
.nvs-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(232,111,111,.18);}
[x-cloak]{display:none!important;}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease-out,transform .7s ease-out;}
.rv.on{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;}*{animation:none!important;transition:none!important;}}
.marquee{animation:tick 48s linear infinite;}
@keyframes tick{to{transform:translateX(-50%);}}
.bg-animado{background:linear-gradient(-45deg,#e86f6f,#ffb6c1,#3a6b5f,#d15858);background-size:400% 400%;animation:nvsGrad 15s ease infinite;}
@keyframes nvsGrad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
/* Cores arbitrárias Tailwind usadas no tema — NÃO existem no app.css compilado, por isso declaradas aqui */
.bg-\[\#e76e6e\]{background-color:#e76e6e!important;}
.bg-\[\#afb339\]{background-color:#afb339!important;}
.bg-\[\#e86f6f\]{background-color:#e86f6f!important;}
.bg-\[\#d15858\]{background-color:#d15858!important;}
.bg-\[\#2b2b2b\]{background-color:#2b2b2b!important;}
.bg-\[\#fdf2f2\]{background-color:#fdf2f2!important;}
.bg-\[\#25d366\]{background-color:#25d366!important;}
.hover\:brightness-95:hover{filter:brightness(.95);}
/* Utilitários de posição ausentes no app.css compilado */
.top-3{top:.75rem}
.pl-9{padding-left:2.25rem}
.shrink-0{flex-shrink:0}
/* Ícone amarelo do tema anterior (Bootstrap text-warning) */
.nvs-ic-yellow{color:#ffc107}
/* Breakpoint lg do menu (1024px): utilitários ausentes no app.css compilado (só tinha xl:) */
@media(min-width:1024px){
  .lg\:flex{display:flex}
  .lg\:block{display:block}
  .lg\:hidden{display:none}
  .lg\:col-span-1{grid-column:span 1/span 1}
}
@media(min-width:640px){
  .sm\:col-span-2{grid-column:span 2/span 2}
  .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .sm\:text-base{font-size:1rem;line-height:1.5rem}
  .sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}
  .sm\:mb-3{margin-bottom:.75rem}
  .sm\:px-4{padding-left:1rem;padding-right:1rem}
  .sm\:gap-6{gap:1.5rem}
}
/* Hero: transição suave texto + zoom elegante imagem (sem sombra/borda) */
@keyframes nvsFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.fx{animation:nvsFadeUp .8s ease-out both;animation-delay:var(--d,0s)}
@keyframes nvsZoom{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
.zoom{animation:nvsZoom 5.5s ease-out both}
@media(prefers-reduced-motion:reduce){.fx,.zoom{animation:none!important}}
/* Agendamento: mesmo estilo dias do tema antigo bs5-2026 */
.dia-btn{width:100%;background:#fff;border:2px solid #dee2e6;border-radius:10px;padding:1.5rem 1rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#212529}
.dia-btn:hover{border-color:#e86f6f;background:#e86f6f;color:#fff;transform:translateY(-5px);box-shadow:0 5px 15px rgba(232,111,111,.3)}
.dia-nome{font-family:"Playfair Display",Georgia,serif;font-size:1.25rem;font-weight:700}
.dia-status{font-size:.875rem;opacity:.8}
.agendamento-info{background:#fff;padding:1.5rem;border-radius:10px;border-left:4px solid #e86f6f;margin-top:2rem;color:#495057}
/* Conteúdo ACF herdado do bs5-2026 */
.nvs-acf-content img{max-width:100%;height:auto;border-radius:12px}
.nvs-acf-content h2,.nvs-acf-content h3{font-family:"Playfair Display",Georgia,serif;color:#212529;margin:1.2em 0 .5em;font-size:1.8rem;}
.nvs-acf-content p,.nvs-acf-content li{margin-bottom:.75em}
.nvs-acf-content ul{list-style:disc;padding-left:1.4em}
.nvs-acf-content a,.nvs-post-content a{color:#5959db;text-decoration:underline}
.nvs-acf-content a:hover,.nvs-post-content a:hover{color:#4343b8}
/* Brand ao lado da logo (topbar) */
.brand-name{font-size:1.2rem}
.brand-crn{color:#e76e6e;font-size:.8rem}
/* Componentes herdados do antigo, no visual novo (hover/effects) */
.nvs-lift{transition:transform .3s ease,box-shadow .3s ease}
.nvs-lift:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.15)}
.nvs-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--nvs-primary);color:#fff;border:2px solid var(--nvs-primary);border-radius:9999px;padding:.9rem 2.2rem;font-weight:700;transition:all .3s ease}
.nvs-btn:hover{background:var(--nvs-primary-dark);border-color:var(--nvs-primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px rgba(232,111,111,.3)}
.nvs-btn-outline{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--nvs-primary);border:2px solid var(--nvs-primary);border-radius:9999px;padding:.9rem 2.2rem;font-weight:700;transition:all .3s ease}
.nvs-btn-outline:hover{background:var(--nvs-primary);border-color:var(--nvs-primary);color:#fff;transform:translateY(-2px)}
.nvs-badge{display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;padding:.5rem .9rem;font-weight:600;color:#fff;background:var(--nvs-primary)}
.nvs-badge-green{background:var(--nvs-secondary)}
.nvs-icon-circle{display:grid;place-items:center;width:68px;height:68px;border-radius:9999px;flex-shrink:0;font-size:1.6rem}
.nvs-icon-xl{width:105px;height:105px;font-size:3rem}
.nvs-ic-blue{background:rgba(74,144,164,.12);color:#4a90a4}
@media(min-width:640px){.nvs-stat-mid{border-left:1px solid rgba(255,255,255,.25);border-right:1px solid rgba(255,255,255,.25)}}
/* Sobre: h2 das seções */
.nvs-sec h2{font-size:2.1rem;line-height:2.5rem}
@media(min-width:640px){.nvs-sec h2{font-size:3rem;line-height:3.4rem}}
/* 6 áreas: h2 próprio + primeiro h2 sem margem superior */
.nvs-area h2{font-size:2rem;line-height:2.4rem}
.nvs-area .nvs-area-first h2:first-of-type{margin-top:0}
@media(min-width:640px){.nvs-area h2{font-size:2.6rem;line-height:3rem}}
.nvs-ic-rose{background:rgba(232,111,111,.12);color:var(--nvs-primary)}
.nvs-ic-green{background:rgba(58,107,95,.12);color:var(--nvs-secondary)}
.nvs-ic-olive{background:rgba(175,179,57,.16);color:#7a7a1f}
.nvs-ic{color:var(--nvs-primary)}
.nvs-ic-green-t{color:var(--nvs-secondary)}
/* Contato premium (identidade rosa/verde) */
.nvs-contact-card{position:relative;overflow:hidden}
.nvs-contact-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#e86f6f,#afb339,#3a6b5f)}
.nvs-contact-featured{background:linear-gradient(160deg,#fdf2f2 0%,#fff 60%);border-color:rgba(232,111,111,.4)}
/* CF7: inputs ajustados */
.wpcf7-form label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.35rem}
.wpcf7-form input[type="text"],.wpcf7-form input[type="email"],.wpcf7-form input[type="tel"],.wpcf7-form input[type="number"],.wpcf7-form input[type="date"],.wpcf7-form select,.wpcf7-form textarea{width:100%;border:1.5px solid #e5e7eb;border-radius:.8rem;padding:.8rem 1rem;font-size:.95rem;color:#1f2937;background:#fff;transition:border-color .25s ease,box-shadow .25s ease;margin-top:.25rem}
.wpcf7-form textarea{min-height:130px;resize:vertical}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{outline:none;border-color:#e86f6f;box-shadow:0 0 0 4px rgba(232,111,111,.15)}
.wpcf7-form input[type="submit"],.wpcf7-form button[type="submit"]{width:100%;background:#e86f6f;color:#fff;border:2px solid #e86f6f;border-radius:9999px;padding:.9rem 1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:.5rem}
.wpcf7-form input[type="submit"]:hover,.wpcf7-form button[type="submit"]:hover{background:#d15858;border-color:#d15858;transform:translateY(-2px);box-shadow:0 8px 20px rgba(232,111,111,.35)}
.wpcf7-not-valid{border-color:#ef4444!important}
.wpcf7-response-output{border-radius:.8rem!important;margin:1rem 0 0!important;padding:.8rem 1rem!important}
/* Blog single: título 3rem */
.nvs-post-title{font-size:2rem;line-height:2.2rem}
@media(min-width:640px){.nvs-post-title{font-size:3rem;line-height:3rem}}
.nvs-post-content h2{font-size:2rem;line-height:2.4rem}
/* Blog índice: título dos cards */
.nvs-blog-title{font-size:1.3rem;margin-bottom:1rem;line-height:1.4}
/* Blog: paginação na identidade */
.nvs-pagination{margin-top:3rem}
.nvs-pagination ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:0;margin:0}
.nvs-pagination a,.nvs-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;padding:.6rem .9rem;border-radius:.7rem;border:1.5px solid #e5e7eb;background:#fff;font-weight:700;font-size:.9rem;color:#374151;text-decoration:none;transition:all .25s ease}
.nvs-pagination a:hover{border-color:#e86f6f;color:#e86f6f;transform:translateY(-2px);box-shadow:0 5px 15px rgba(232,111,111,.2)}
.nvs-pagination .current{background:#e86f6f;border-color:#e86f6f;color:#fff}
.nvs-pagination .dots{border:none;background:none}
/* Blog single: anterior/próximo com miniatura */
.nvs-prevnext{display:grid;gap:1rem;margin-top:2.5rem}
@media(min-width:640px){.nvs-prevnext{grid-template-columns:1fr 1fr}}
.nvs-prevnext a{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:.8rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.nvs-prevnext a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(232,111,111,.16);border-color:rgba(232,111,111,.4)}
.nvs-prevnext img{width:96px;height:72px;object-fit:cover;border-radius:.7rem;flex-shrink:0}
.nvs-prevnext small{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#e86f6f}
.nvs-prevnext strong{display:block;font-size:.95rem;color:#1f2937;line-height:1.4;margin-top:.15rem}
.nvs-prevnext .nvs-next{flex-direction:row-reverse;text-align:right}
/* Blog: respiro entre texto e botão */
.nvs-blog-excerpt{padding-bottom:1.75rem}
/* Internas: coluna lateral 30% com cards das áreas irmãs */
.nvs-side-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:.8rem}
.nvs-side-cards>article{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid #e5e7eb;border-radius:.8rem;padding:.7rem;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:.9rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.nvs-side-cards>article:last-child{margin-bottom:0}
.nvs-side-cards>article:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(232,111,111,.16);border-color:rgba(232,111,111,.4)}
.nvs-side-cards img{width:80px;height:64px;object-fit:cover;border-radius:.6rem;flex-shrink:0}
.nvs-side-cards h3{font-size:.88rem;font-weight:700;color:#1f2937;line-height:1.35}
.nvs-side-cards p{font-size:.78rem;color:#6b7280;margin-top:.15rem;line-height:1.4}
.nvs-side-cards a{display:inline-block;margin-top:.45rem;background:var(--nvs-primary);color:#fff;font-size:.72rem;font-weight:700;border-radius:.5rem;padding:.32rem .8rem;transition:background .25s ease}
.nvs-side-cards a:hover{background:var(--nvs-primary-dark);color:#fff}
/* Dúvidas: 70% perguntas / 30% card */
.nvs-duvidas-grid{display:grid;gap:2rem;align-items:start}
@media(min-width:1024px){.nvs-duvidas-grid{grid-template-columns:7fr 3fr}}
.nvs-faq-list>article{margin-bottom:1.75rem}
.nvs-faq-list>article:last-child{margin-bottom:0}
/* Dúvidas: card lateral sticky */
.nvs-side-img{aspect-ratio:6/5}
@media(min-width:1024px){.nvs-sticky{position:sticky;top:6rem}}
/* Contato: título Locais padronizado */
.nvs-locais-title{font-size:2.1rem;line-height:2.5rem}
@media(min-width:640px){.nvs-locais-title{font-size:3rem;line-height:3.4rem}}
/* PageSpeed: pula render offscreen sem mudar layout (intrinsic-size evita CLS) */
#areas-atuacao,#servicos,#contato,#regiao,#blog,#faq{content-visibility:auto;contain-intrinsic-size:auto 800px}
/* PageSpeed: reserva dos mapas (mesmas dimensões do iframe antigo, CLS zero) */
.nvs-map{min-height:280px;background:#e9ecef}
.nvs-map iframe{width:100%;height:280px;border:0;display:block}
