/* ═══════════════════════════════════════════════════════
   COMPONENTES COMPARTILHADOS
   Estilos que no site original eram injetados via JS
   (header.js, footer.js, services-modal.js, cta-form.js).
   Carregado em todas as páginas.
   ═══════════════════════════════════════════════════════ */

/* ─── Page transition (header.js TRANSITION_CSS) ─── */
body{opacity:0;transition:opacity .35s ease}
body.page-visible{opacity:1}
body.page-leaving{opacity:0;transition:opacity .2s ease}

/* ─── Logo (header.js LOGO_CSS) ─── */
.nav-logo{display:flex;align-items:center}
.nav-logo img{height:62px;width:auto;transition:opacity .3s}
.nav.scrolled .nav-logo img{height:48px}
.nav-logo-dark{display:block}
.nav-logo-light{display:none}
.nav.scrolled .nav-logo-dark{display:none}
.nav.scrolled .nav-logo-light{display:block}
@media(max-width:768px){
.nav-logo img{height:42px !important}
.nav.scrolled .nav-logo img{height:36px !important}
.nav .nav-cta{display:none !important}
.nav-mobile-overlay{padding:5rem 2rem 2rem !important;gap:0 !important;overflow-y:auto !important;justify-content:flex-start !important;align-items:flex-start !important;background:rgba(28,36,48,0.98) !important}
.nav-mobile-overlay .nav-link{font-size:1rem !important;letter-spacing:0.08em !important;text-align:left !important;color:#FFFFFF !important;padding:0.75rem 0 !important;width:100% !important}
.nav-mobile-overlay .nav-cta{color:#1c2430 !important;margin-top:1rem !important;align-self:flex-start !important}
.nav-mobile-toggle-services{font-family:inherit;font-size:1rem;letter-spacing:0.08em;text-transform:uppercase;color:#FFFFFF;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:0.4rem;padding:0.75rem 0;width:100%;text-align:left}
.nav-mobile-toggle-services iconify-icon{transition:transform .3s;color:#d4d0b1}
.nav-mobile-toggle-services.open iconify-icon{transform:rotate(180deg)}
.nav-mobile-services{display:none;flex-direction:column;gap:0;padding:0.25rem 0 0.5rem 1rem !important;width:100%;border-left:1px solid rgba(198,193,155,0.2);margin-left:0.25rem;align-items:flex-start !important}
.nav-mobile-services.open{display:flex}
.nav-svc-link{display:flex !important;align-items:center;gap:0.5rem;font-size:0.82rem !important;letter-spacing:0.01em !important;text-transform:none !important;line-height:1.4 !important;color:#d4d0b1 !important;padding:0.45rem 0 !important;text-decoration:none;transition:color .2s;text-align:left !important}
.nav-svc-link:hover{color:#FFFFFF !important}
.nav-svc-link iconify-icon{color:#a39e7d;flex-shrink:0}
}

/* ─── Mega menu (header.js MEGA_CSS) ─── */
.nav-mega{
  min-width:min(720px,calc(100vw - 3rem)) !important;
  max-width:760px !important;
  padding:0.65rem !important;
  border-radius:14px !important;
}
.nav-mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.15rem}
.nav-mega-item{
  display:flex !important;flex-direction:row !important;align-items:center !important;gap:0.6rem !important;
  padding:0.55rem 0.65rem !important;border-radius:9px !important;
  background:transparent !important;
  color:var(--color-cream) !important;
  transition:background .2s !important;
}
.nav-mega-item:hover{background:rgba(198,193,155,0.14) !important}
.nav-mega-icon{
  width:28px;height:28px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border-radius:7px;background:rgba(198,193,155,0.16);
  color:var(--color-accent-light);
  transition:background .2s,color .2s;
}
.nav-mega-item:hover .nav-mega-icon{background:var(--color-accent);color:#1c2430}
.nav-mega-name{font-size:0.78rem;font-weight:500;line-height:1.25;color:var(--color-cream)}
@media(max-width:1024px){.nav-mega{min-width:min(540px,calc(100vw - 2rem)) !important;max-width:560px !important}.nav-mega-grid{grid-template-columns:repeat(2,1fr)}}

/* ─── Footer logo (footer.js FOOTER_CSS) ─── */
.footer-logo{display:block !important;margin-bottom:1.25rem}
.footer-logo img{height:58px;width:auto;display:block}

/* ─── Modal de serviços (services-modal.js MODAL_CSS) ─── */
.svc-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transition:opacity .3s ease}
.svc-modal.active{display:flex;opacity:1}
.svc-modal-backdrop{position:absolute;inset:0;background:rgba(14,18,24,0.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.svc-modal-content{position:relative;z-index:1;max-width:760px;width:100%;max-height:88vh;background:#FFFFFF;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,0.45);overflow:hidden;transform:scale(0.96) translateY(20px);transition:transform .35s cubic-bezier(0.16,1,0.3,1);display:flex;flex-direction:column}
.svc-modal.active .svc-modal-content{transform:scale(1) translateY(0)}
.svc-modal-scroll{flex:1;overflow-y:auto;padding:clamp(2rem,4vw,3rem);padding-right:clamp(1.25rem,2.5vw,1.75rem)}
.svc-modal-scroll::-webkit-scrollbar{width:6px}
.svc-modal-scroll::-webkit-scrollbar-track{background:transparent;margin:8px 0}
.svc-modal-scroll::-webkit-scrollbar-thumb{background:rgba(28,36,48,0.18);border-radius:3px}
.svc-modal-scroll::-webkit-scrollbar-thumb:hover{background:rgba(28,36,48,0.35)}
.svc-modal-scroll{scrollbar-width:thin;scrollbar-color:rgba(28,36,48,0.18) transparent}
.svc-modal-close{position:absolute;top:1rem;right:1rem;z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(198,193,155,0.18);color:#1c2430;cursor:pointer;transition:all .3s;border:none;font-size:1.3rem;line-height:1}
.svc-modal-close:hover{background:#c6c19b;transform:rotate(90deg)}
.svc-modal-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(198,193,155,0.18);border:1px solid rgba(198,193,155,0.4);color:#5a543b;font-size:1.7rem;margin-bottom:1.25rem}
.svc-modal-title{font-family:'Lora',Georgia,serif;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:400;color:#1c2430;margin-bottom:0.4rem;line-height:1.2;padding-right:3rem}
.svc-modal-label{font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:#5a543b;font-weight:600;margin-bottom:0.4rem}
.svc-modal-divider{height:1px;background:rgba(28,36,48,0.12);margin:1.5rem 0 1.75rem}
.svc-modal-body{font-size:0.95rem;line-height:1.75;color:#1c2430}
.svc-modal-body p{margin-bottom:1rem}
.svc-modal-body p:last-child{margin-bottom:0}
.svc-modal-body ul{margin:0.5rem 0 1rem;padding-left:1.5rem;display:flex;flex-direction:column;gap:0.4rem}
.svc-modal-body li{font-size:0.92rem;line-height:1.65;color:#1c2430}
.svc-modal-footer{margin-top:2rem;padding-top:1.75rem;border-top:1px solid rgba(28,36,48,0.12);display:flex;justify-content:flex-end;gap:0.75rem;flex-wrap:wrap}
.svc-modal-cta{display:inline-flex;align-items:center;gap:0.6rem;padding:0.95rem 1.85rem;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;border-radius:100px;background:#c6c19b;color:#1c2430;border:1px solid #c6c19b;cursor:pointer;transition:all .3s cubic-bezier(0.16,1,0.3,1)}
.svc-modal-cta:hover{background:#a39e7d;border-color:#a39e7d;transform:translateY(-2px);box-shadow:0 6px 20px rgba(28,36,48,0.18)}
[data-service-modal]{cursor:pointer}

/* ─── CTA Form (cta-form.js FORM_CSS) ─── */
.cta-form-section{position:relative;padding:clamp(4rem,8vh,7.5rem) 0;background:var(--color-bg);overflow:hidden;transition:background-color .4s}
.cta-form-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(198,193,155,0.10) 0%,transparent 60%),radial-gradient(ellipse at 20% 80%,rgba(102,102,102,0.08) 0%,transparent 55%);pointer-events:none}
.cta-form-inner{position:relative;z-index:1}
.cta-form-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(3rem,5vw,5rem);align-items:start}
.cta-form-text .section-label{margin-bottom:1.25rem}
.cta-form-title{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,2.8rem);font-weight:400;line-height:1.15;color:var(--color-cream);margin-bottom:1.25rem;transition:color .4s}
.cta-form-title em{font-style:italic;color:var(--color-accent-light)}
.cta-form-desc{font-size:0.95rem;line-height:1.7;color:var(--color-text-muted);margin-bottom:1.75rem}
.cta-form-features{list-style:none;display:flex;flex-direction:column;gap:0.75rem}
.cta-form-features li{display:flex;align-items:center;gap:0.6rem;font-size:0.86rem;color:var(--color-text-muted)}
.cta-form-features iconify-icon{color:var(--color-accent-light);flex-shrink:0}
.cta-form{
  background:rgba(198,193,155,0.06);
  border:1px solid rgba(198,193,155,0.15);
  border-radius:18px;
  padding:clamp(1.75rem,3vw,2.5rem);
  display:flex;flex-direction:column;gap:1.1rem;
}
.cta-field{display:flex;flex-direction:column;gap:0.4rem}
.cta-field label{font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-accent-light);font-weight:500}
.cta-field input,.cta-field select,.cta-field textarea{
  width:100%;padding:0.85rem 1rem;
  font-family:var(--font-body);font-size:0.9rem;
  color:var(--color-cream);
  background:rgba(28,36,48,0.4);
  border:1px solid rgba(198,193,155,0.25);
  border-radius:10px;
  transition:border-color .3s,background .3s;
  resize:vertical;
}
[data-theme="light"] .cta-field input,
[data-theme="light"] .cta-field select,
[data-theme="light"] .cta-field textarea{background:rgba(255,255,255,0.7);color:var(--color-cream)}
.cta-field input:focus,.cta-field select:focus,.cta-field textarea:focus{
  outline:none;border-color:var(--color-accent-light);
  background:rgba(198,193,155,0.10);
}
.cta-field input::placeholder,.cta-field textarea::placeholder{color:rgba(204,204,204,0.4)}
.cta-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23707D75' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.cta-field textarea{min-height:110px;line-height:1.6}
.cta-check{display:flex;align-items:flex-start;gap:0.6rem;font-size:0.78rem;line-height:1.55;color:var(--color-text-muted);cursor:pointer;user-select:none}
.cta-check input{margin-top:0.18rem;width:16px;height:16px;flex-shrink:0;accent-color:var(--color-accent)}
.cta-check a{color:var(--color-accent-light);text-decoration:underline;text-underline-offset:3px}
.cta-check a:hover{color:var(--color-cream)}
.cta-form-submit{align-self:flex-start;margin-top:0.5rem}
.cta-form-success{
  display:none;align-items:center;gap:0.6rem;
  margin-top:0.75rem;padding:0.85rem 1rem;border-radius:10px;
  background:rgba(198,193,155,0.18);border:1px solid rgba(226,223,200,0.4);
  color:var(--color-cream);font-size:0.85rem;
}
.cta-form-success.show{display:flex}
.cta-form-success iconify-icon{color:var(--color-accent-bright)}
@media(max-width:1024px){.cta-form-grid{grid-template-columns:1fr;gap:2.5rem}}
