.elementor-kit-6{--e-global-color-primary:#0D4A9A;--e-global-color-secondary:#0A2E63;--e-global-color-text:#323843;--e-global-color-accent:#25D366;--e-global-color-blue50:#EAF1F9;--e-global-color-blue100:#D2E2F1;--e-global-color-blue200:#A6C6E6;--e-global-color-blue300:#6C9BD3;--e-global-color-blue400:#2F72BE;--e-global-color-blue600:#0B3E86;--e-global-color-blue700:#0B3168;--e-global-color-blue800:#0A2650;--e-global-color-blue900:#081C3C;--e-global-color-gold500:#C9A24B;--e-global-color-gold600:#B0894B;--e-global-color-gold50:#F5EEDD;--e-global-color-gray50:#FBFCFE;--e-global-color-gray100:#F4F6FB;--e-global-color-gray200:#E6EAF2;--e-global-color-gray300:#D3DAE6;--e-global-color-gray500:#7A8393;--e-global-color-gray600:#565E6C;--e-global-color-gray900:#14181F;--e-global-color-white:#FFFFFF;--e-global-typography-primary-font-family:"Spectral";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Libre Franklin";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Libre Franklin";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:700;color:#323843;font-family:"Libre Franklin", Sans-serif;font-size:17px;font-weight:400;line-height:1.65em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#0D4A9A;font-family:"Libre Franklin", Sans-serif;font-weight:600;color:#FFFFFF;border-radius:8px 8px 8px 8px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#0B3E86;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#0D4A9A;}.elementor-kit-6 a:hover{color:#0B3E86;}.elementor-kit-6 h1{color:#0A2E63;font-family:"Spectral", Sans-serif;font-size:40px;font-weight:700;}.elementor-kit-6 h2{color:#0A2E63;font-family:"Spectral", Sans-serif;font-size:30px;font-weight:700;}.elementor-kit-6 h3{color:#0A2E63;font-family:"Spectral", Sans-serif;font-size:23px;font-weight:700;}.elementor-kit-6 h4{color:#0A2E63;font-family:"Spectral", Sans-serif;font-size:19px;font-weight:700;}.elementor-kit-6 h5{color:#0A2E63;font-family:"Spectral", Sans-serif;font-size:17px;font-weight:700;}.elementor-kit-6 h6{color:#0A2E63;font-family:"Spectral", Sans-serif;font-size:15px;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===================== prelúdio de compatibilidade ===================== */
/* O widget Heading recebe cor e tipografia globais do Elementor com peso
   maior (.elementor-widget-heading .elementor-heading-title) que o reset de
   tags do design system. Estas regras devolvem o padrão. */
.elementor-kit-6 h1.elementor-heading-title,
.elementor-kit-6 h2.elementor-heading-title,
.elementor-kit-6 h3.elementor-heading-title,
.elementor-kit-6 h4.elementor-heading-title,
.elementor-kit-6 h5.elementor-heading-title,
.elementor-kit-6 h6.elementor-heading-title {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  color: var(--text-strong);
}
/* Heading com tag p/span/div é sempre um texto que herda do bloco em volta. */
.elementor-kit-6 p.elementor-heading-title,
.elementor-kit-6 span.elementor-heading-title,
.elementor-kit-6 div.elementor-heading-title {
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
}

/* O tema Hello impõe line-height a campos e rótulos de formulário; o design
   system conta com o padrão do navegador. */
.elementor-kit-6 button,
.elementor-kit-6 input,
.elementor-kit-6 optgroup,
.elementor-kit-6 select,
.elementor-kit-6 textarea { line-height: normal; }
.elementor-kit-6 label { display: inline; line-height: inherit; vertical-align: baseline; }

/* O Elementor zera a margem de <hr>; o design system contava com o padrão do navegador. */
.elementor-kit-6 hr { margin-block: 0.5em; }
/* ================== fim do prelúdio de compatibilidade ================= */
/* ===================== tokens.css ===================== */
/* ============================================================
   3TN Osasco — Tokens "Registro & Tinta"
   Consolidado do design system (docs/design-system/tokens/*).
   Fontes carregadas via <link> no <head> (Spectral, Libre Franklin, Montserrat).
   ============================================================ */
:root{
  /* --- Brand blue (primary) — rampa com hue-shift --- */
  --blue-50:  #EAF1F9;
  --blue-100: #D2E2F1;
  --blue-200: #A6C6E6;
  --blue-300: #6C9BD3;
  --blue-400: #2F72BE;
  --blue-500: #0D4A9A; /* PRIMARY — azul institucional */
  --blue-600: #0B3E86;
  --blue-700: #0B3168;
  --blue-800: #0A2650;
  --blue-900: #081C3C;
  --ink-blue: #0A2E63; /* azul-tinta — grandes áreas, cabeçalhos, footer */

  /* --- Accent: ouro-gravação (selo/filete) — NUNCA em botão --- */
  --gold-50:  #F5EEDD;
  --gold-500: #C9A24B;
  --gold-600: #B0894B;
  --gold-700: #96733B;

  /* --- WhatsApp green (uso restrito) --- */
  --green-whatsapp:      #25D366;
  --green-whatsapp-dark: #1EB958;
  --green-whatsapp-50:   #E9FBF0;

  /* --- Neutros FRIOS (papel frio, leve azul da marca) --- */
  --white:    #FFFFFF;
  --gray-50:  #FBFCFE; /* quase-branco frio — superfície de card */
  --gray-100: #F4F6FB; /* papel frio — fundo de página */
  --gray-200: #E6EAF2; /* cinza-azulado claro — divisores */
  --gray-300: #D3DAE6; /* borda default */
  --gray-400: #AEB7C6; /* muted claro / disabled */
  --gray-500: #7A8393; /* borda interativa / muted (>=3:1) */
  --gray-600: #565E6C; /* texto secundário */
  --gray-700: #323843; /* texto corpo */
  --gray-800: #232833;
  --gray-900: #14181F; /* tinta quase-preta */

  /* --- Semânticos --- */
  --success-500: #1E7D4E; --success-50: #E4F1E9;
  --warning-500: #A85D00; --warning-50: #F7ECDD;
  --danger-500:  #BC2E2E; --danger-50:  #F8E7E7;
  --info-500:    var(--blue-500); --info-50: var(--blue-50);

  /* --- Aliases semânticos --- */
  --color-primary:        var(--blue-500);
  --color-primary-hover:  var(--blue-600);
  --color-primary-active: var(--blue-700);
  --color-navy:           var(--ink-blue);
  --color-navy-deep:      var(--blue-800);
  --color-accent:         var(--green-whatsapp);
  --color-accent-hover:   var(--green-whatsapp-dark);
  /* Acento de assinatura — agora MONO AZUL (antes ouro). */
  --color-seal:           var(--color-primary); /* filete/ícones em seções claras */
  --color-seal-strong:    var(--blue-200);      /* acento claro sobre navy (eyebrow/selo) */
  --color-seal-tint:      var(--blue-50);

  /* Surfaces */
  --surface-page:      var(--gray-100);
  --surface-card:      var(--gray-50);
  --surface-raised:    var(--white);
  --surface-tint:      var(--blue-50);
  --surface-band:      var(--gray-200);
  --surface-navy:      var(--ink-blue);
  --surface-navy-deep: var(--blue-800);

  /* Text */
  --text-strong:        var(--gray-900);
  --text-body:          var(--gray-700);
  --text-secondary:     var(--gray-600);
  --text-muted:         var(--gray-500);
  --text-on-navy:       var(--white);
  --text-on-navy-muted: rgba(255, 255, 255, 0.78);
  --text-on-seal:       var(--gray-900);
  --text-link:          var(--blue-500);

  /* Borders */
  --border-subtle:  var(--gray-200);
  --border-default: var(--gray-300);
  --border-strong:  var(--gray-500);
  --border-focus:   var(--blue-500);
  --border-on-navy: rgba(255, 255, 255, 0.24);
  --ring-focus: 0 0 0 3px rgba(13, 74, 154, 0.35);

  /* Tipografia */
  --font-display: 'Spectral', Georgia, 'Times New Roman', serif;
  --font-body:    'Libre Franklin', 'Segoe UI', system-ui, sans-serif;
  --font-brand:   'Montserrat', 'Segoe UI', system-ui, sans-serif;
  --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700; --fw-extra: 800;
  --fs-display: 3.25rem; --fs-h1: 2.5rem; --fs-h2: 2rem; --fs-h3: 1.5rem; --fs-h4: 1.25rem;
  --fs-lead: 1.25rem; --fs-body: 1.125rem; --fs-sm: 1rem; --fs-xs: 0.8125rem;
  --lh-tight: 1.14; --lh-snug: 1.3; --lh-normal: 1.55; --lh-relaxed: 1.65;
  --ls-heading: -0.01em; --ls-tight: -0.01em; --ls-normal: 0; --ls-wide: 0.04em; --ls-caps: 0.08em;
  --measure: 66ch;

  /* Espaçamento */
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
  --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem;
  --container-max: 1200px;
  --container-pad: 1.5rem;
  --section-pad:         clamp(3rem, 6vw, 6rem);
  --section-pad-compact: clamp(2rem, 4vw, 3.5rem);
  --section-pad-ample:   clamp(4rem, 9vw, 8rem);

  /* Raios / sombras / motion */
  --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px;
  --radius-xl: 10px; --radius-2xl: 12px; --radius-pill: 999px;
  --shadow-xs: 0 1px 1px rgba(20, 24, 31, 0.04);
  --shadow-sm: 0 1px 2px rgba(20, 24, 31, 0.05), 0 1px 1px rgba(20, 24, 31, 0.04);
  --shadow-md: 0 2px 4px rgba(20, 24, 31, 0.06), 0 1px 2px rgba(20, 24, 31, 0.05);
  --shadow-lg: 0 6px 14px rgba(20, 24, 31, 0.08), 0 2px 4px rgba(20, 24, 31, 0.05);
  --shadow-xl: 0 12px 28px rgba(20, 24, 31, 0.10), 0 4px 8px rgba(20, 24, 31, 0.06);
  --card-shadow: var(--shadow-sm);
  --card-shadow-hover: var(--shadow-md);
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 140ms; --dur-normal: 220ms; --dur-slow: 360ms;
}/* ============================================================
   Base reset & element defaults
   ============================================================ */
*, *::before, *::after{ box-sizing: border-box; }html{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }body.elementor-kit-6{
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}.elementor-kit-6 h1, .elementor-kit-6 h2, .elementor-kit-6 h3, .elementor-kit-6 h4, .elementor-kit-6 h5, .elementor-kit-6 h6{
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  color: var(--text-strong);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-heading);
  margin: 0;
  text-wrap: balance;
}.elementor-kit-6 p{ margin: 0; text-wrap: pretty; }.elementor-kit-6 a{ color: var(--text-link); text-decoration: none; }.elementor-kit-6 a:hover{ text-decoration: underline; }.elementor-kit-6 img{ max-width: 100%; display: block; }.elementor-kit-6 button{ font-family: inherit; }.elementor-kit-6 :focus-visible{ outline: 3px solid var(--border-focus); outline-offset: 2px; }.elementor-kit-6 :focus:not(:focus-visible){ outline: none; }/* Eyebrow / rótulo caps */
.elementor-kit-6 .eyebrow{
  font-family: var(--font-body);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  color: var(--color-primary);
}/* Numerais OpenType */
.elementor-kit-6 .num-oldstyle{ font-feature-settings: "onum" 1; }.elementor-kit-6 .num-tabular{ font-feature-settings: "lnum" 1, "tnum" 1; }.elementor-kit-6 .measure{ max-width: var(--measure); }/* ===== Responsivo ===== */
.elementor-kit-6 .tn-grid{ display: grid; grid-template-columns: var(--cols, 1fr); }@media (max-width: 900px){.elementor-kit-6 .tn-grid{ grid-template-columns: var(--cols-md, 1fr); } }@media (max-width: 560px){.elementor-kit-6 .tn-grid{ grid-template-columns: 1fr; } }.elementor-kit-6 .tn-nav-desktop{ display: flex; align-items: center; gap: 0.25rem; }.elementor-kit-6 .tn-hamburger{ display: none; }.elementor-kit-6 .tn-mobile-nav{ display: none; }@media (max-width: 900px){.elementor-kit-6 .tn-nav-desktop{ display: none; }.elementor-kit-6 .tn-hamburger{ display: inline-flex; }.elementor-kit-6 .tn-mobile-nav.is-open{ display: block; }
}/* ===== Signature ===== */
.elementor-kit-6 .guilloche-wm{
  -webkit-mask: url("https://3tnosasco.com.br/wp-content/uploads/guilloche-rosette.svg") center / contain no-repeat;
  mask: url("https://3tnosasco.com.br/wp-content/uploads/guilloche-rosette.svg") center / contain no-repeat;
  background-color: currentColor;
  pointer-events: none;
}.elementor-kit-6 .seal-mark{
  -webkit-mask: url("https://3tnosasco.com.br/wp-content/uploads/3tn-seal.svg") center / contain no-repeat;
  mask: url("https://3tnosasco.com.br/wp-content/uploads/3tn-seal.svg") center / contain no-repeat;
  background-color: currentColor;
  pointer-events: none;
}.elementor-kit-6 .rule-engraving{
  border: 0; height: 1px; background: var(--border-default);
  position: relative; overflow: visible;
}.elementor-kit-6 .rule-engraving::after{
  content: ""; position: absolute; left: 0; top: 50%;
  width: 2.25rem; height: 2px; transform: translateY(-50%);
  background: var(--color-seal);
}@media (prefers-reduced-motion: reduce){html{ scroll-behavior: auto; }*, *::before, *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}/* ===================== styles.css ===================== */
/* ============================================================
   3TN Osasco — Estilos do site (layout + componentes)
   Traduzido do design system "Registro & Tinta".
   ============================================================ */
/* ---- Layout base ---- */
html{ scroll-padding-top: 84px; }/* compensa o header fixo ao navegar por âncoras */
.elementor-kit-6 .container{ max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad); }.elementor-kit-6 .section{ padding: var(--section-pad) 0; }.elementor-kit-6 .section--compact{ padding: var(--section-pad-compact) 0; }.elementor-kit-6 .section--paper{ background: var(--surface-page); }.elementor-kit-6 .section--white{ background: #fff; }.elementor-kit-6 .skip-link{
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--color-primary); color: #fff; padding: 0.6rem 1rem; border-radius: 0 0 var(--radius-md) 0;
}.elementor-kit-6 .skip-link:focus{ left: 0; top: 0; }/* ---- Ícones (Lucide) ---- */
.elementor-kit-6 .i-14{ width: 14px; height: 14px; }.elementor-kit-6 .i-16{ width: 16px; height: 16px; }.elementor-kit-6 .i-18{ width: 18px; height: 18px; }.elementor-kit-6 .i-20{ width: 20px; height: 20px; }.elementor-kit-6 .i-22{ width: 22px; height: 22px; }.elementor-kit-6 .i-26{ width: 26px; height: 26px; }.elementor-kit-6 .i-28{ width: 28px; height: 28px; }.elementor-kit-6 .i-30{ width: 30px; height: 30px; }.elementor-kit-6 [data-lucide]{ display: inline-flex; flex: none; vertical-align: middle; }/* ---- Botões ---- */
.elementor-kit-6 .btn{
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.7rem 1.25rem; min-height: 48px;
  font-family: var(--font-body); font-weight: 600; font-size: 1.0625rem; line-height: 1.1; letter-spacing: 0.005em;
  border-radius: var(--radius-md); border: 1px solid transparent; cursor: pointer; text-decoration: none; white-space: nowrap;
  transition: background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);
}.elementor-kit-6 .btn:hover{ text-decoration: none; }.elementor-kit-6 .btn:active{ transform: translateY(1px); }.elementor-kit-6 .btn--sm{ padding: 0.5rem 0.95rem; min-height: 44px; font-size: 0.9375rem; }.elementor-kit-6 .btn--lg{ padding: 0.9rem 1.6rem; min-height: 54px; font-size: 1.125rem; }.elementor-kit-6 .btn--block{ display: flex; width: 100%; }.elementor-kit-6 .btn--primary{ background: var(--color-primary); color: #fff; border-color: var(--color-primary); }.elementor-kit-6 .btn--primary:hover{ background: var(--color-primary-hover); }.elementor-kit-6 .btn--primary:active{ background: var(--color-primary-active); }.elementor-kit-6 .btn--secondary{ background: transparent; color: var(--color-primary); border: 1.5px solid var(--color-primary); }.elementor-kit-6 .btn--secondary:hover{ background: var(--blue-50); }.elementor-kit-6 .btn--whatsapp{ background: var(--color-accent); color: #fff; border-color: var(--color-accent); }.elementor-kit-6 .btn--whatsapp:hover{ background: var(--color-accent-hover); }.elementor-kit-6 .btn--navy{ background: #fff; color: var(--color-navy); border-color: #fff; }.elementor-kit-6 .btn--navy:hover{ background: rgba(255,255,255,0.9); }.elementor-kit-6 .btn--on-navy{ color: #fff; border-color: rgba(255,255,255,0.6); background: transparent; }.elementor-kit-6 .btn--on-navy:hover{ background: rgba(255,255,255,0.12); }/* ---- Badges ---- */
.elementor-kit-6 .badge{ display: inline-block; font-family: var(--font-body); font-weight: 600; font-size: 0.8125rem; padding: 4px 10px; border-radius: var(--radius-sm); }.elementor-kit-6 .badge--blue{ background: var(--blue-50); color: var(--blue-600); }.elementor-kit-6 .badge--navy{ background: var(--blue-700); color: #fff; }.elementor-kit-6 .badge--gold{ background: var(--blue-50); color: var(--blue-600); }/* ---- TopBar ---- */
.elementor-kit-6 .topbar{ background: var(--surface-navy-deep); color: #fff; }.elementor-kit-6 .topbar__inner{
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem 1.5rem;
  padding: 0.5rem var(--container-pad); font-size: 0.8125rem;
}.elementor-kit-6 .topbar a, .elementor-kit-6 .topbar span{ display: inline-flex; align-items: center; gap: 0.45rem; color: rgba(255,255,255,0.9); }.elementor-kit-6 .topbar a:hover{ text-decoration: none; color: #fff; }/* ---- Header ---- */
.elementor-kit-6 .site-header{ position: sticky; top: 0; z-index: 80; background: var(--surface-card); border-bottom: 1px solid var(--border-subtle); box-shadow: var(--shadow-xs); }.elementor-kit-6 .site-header__inner{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem var(--container-pad); }/* Logo wordmark (marca em Montserrat) */
.elementor-kit-6 .logo{ display: inline-flex; align-items: center; gap: 0.5rem; text-decoration: none; }.elementor-kit-6 .logo:hover{ text-decoration: none; }.elementor-kit-6 .logo__mark{ height: 34px; width: auto; display: block; flex: none; }.elementor-kit-6 .logo__divider{ width: 2px; align-self: stretch; background: var(--gray-200); margin: 3px 0; }.elementor-kit-6 .logo__text{ font-family: var(--font-brand); font-weight: 700; font-size: 11px; line-height: 1.15; letter-spacing: 0.02em; color: var(--color-primary); text-transform: uppercase; }.elementor-kit-6 .logo__sub{ display: block; font-size: 8px; font-weight: 600; color: var(--text-secondary); letter-spacing: 0.14em; }.elementor-kit-6 .logo--white .logo__text{ color: #fff; }.elementor-kit-6 .logo--white .logo__sub{ color: rgba(255,255,255,0.78); }.elementor-kit-6 .logo--white .logo__divider{ background: rgba(255,255,255,0.28); }/* Nav */
.elementor-kit-6 .tn-nav-desktop{ gap: 0.25rem; }.elementor-kit-6 .nav-link{
  display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.5rem 0.75rem; min-height: 44px;
  border-radius: var(--radius-sm); font-family: var(--font-body); font-weight: 600; font-size: 0.9375rem; color: var(--text-body);
}.elementor-kit-6 .nav-link:hover, .elementor-kit-6 .nav-link.is-active{ color: var(--color-primary); text-decoration: none; }.elementor-kit-6 .tn-hamburger{ width: 44px; height: 44px; align-items: center; justify-content: center; background: transparent; border: none; cursor: pointer; color: var(--text-strong); }/* Nav mobile */
.elementor-kit-6 .tn-mobile-nav{ border-top: 1px solid var(--border-subtle); background: var(--surface-card); padding: 0.25rem var(--container-pad) 1rem; }.elementor-kit-6 .mobile-link{ display: flex; align-items: center; min-height: 48px; font-family: var(--font-body); font-weight: 600; font-size: 1.0625rem; color: var(--text-body); border-bottom: 1px solid var(--border-subtle); }.elementor-kit-6 .mobile-link:hover{ text-decoration: none; color: var(--color-primary); }.elementor-kit-6 .tn-mobile-nav .btn{ margin-top: 0.85rem; }/* Mega-menu (dropdown de Serviços) — abre por hover/foco, sem JS */
.elementor-kit-6 .nav-dd{ position: static; display: inline-flex; align-items: center; }.elementor-kit-6 .nav-dd__trigger [data-lucide]{ transition: transform var(--dur-fast) var(--ease-standard); }.elementor-kit-6 .nav-dd:hover .nav-dd__trigger [data-lucide], .elementor-kit-6 .nav-dd:focus-within .nav-dd__trigger [data-lucide]{ transform: rotate(180deg); }.elementor-kit-6 .nav-dd__panel{
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--surface-card); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-lg); z-index: 5;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity var(--dur-normal) var(--ease-standard), transform var(--dur-normal) var(--ease-standard), visibility var(--dur-normal);
}.elementor-kit-6 .nav-dd:hover .nav-dd__panel, .elementor-kit-6 .nav-dd:focus-within .nav-dd__panel{ opacity: 1; visibility: visible; transform: none; }.elementor-kit-6 .nav-dd__inner{ padding: 1.75rem 0 1.15rem; }.elementor-kit-6 .nav-dd__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem 2rem; }.elementor-kit-6 .nav-dd__col{ display: flex; flex-direction: column; }.elementor-kit-6 .nav-dd__title{ font-family: var(--font-body); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: var(--ls-caps); color: var(--color-primary); margin-bottom: 0.6rem; }.elementor-kit-6 .nav-dd__link{ display: block; padding: 0.32rem 0; font-family: var(--font-body); font-size: 0.9375rem; font-weight: 500; color: var(--text-body); }.elementor-kit-6 .nav-dd__link:hover{ color: var(--color-primary); text-decoration: none; }.elementor-kit-6 .nav-dd__foot{ margin-top: 1.35rem; padding-top: 1rem; border-top: 1px solid var(--border-subtle); }.elementor-kit-6 .nav-dd__all{ display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--font-body); font-weight: 600; font-size: 0.9375rem; color: var(--color-primary); }.elementor-kit-6 .nav-dd__all:hover{ text-decoration: none; gap: 0.6rem; }/* Submenu mobile (acordeão nativo <details>) */
.elementor-kit-6 .mobile-dd summary::-webkit-details-marker{ display: none; }.elementor-kit-6 .mobile-dd__summary{ list-style: none; cursor: pointer; justify-content: space-between; }.elementor-kit-6 .mobile-dd__chev{ transition: transform var(--dur-fast) var(--ease-standard); color: var(--text-secondary); }.elementor-kit-6 .mobile-dd[open] .mobile-dd__chev{ transform: rotate(180deg); }.elementor-kit-6 .mobile-dd__panel{ display: flex; flex-direction: column; padding: 0.35rem 0 0.85rem; }.elementor-kit-6 .mobile-dd__group{ font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: var(--ls-caps); color: var(--color-primary); margin: 0.9rem 0 0.15rem; }.elementor-kit-6 .mobile-sublink{ display: flex; align-items: center; min-height: 42px; padding-left: 0.9rem; font-family: var(--font-body); font-size: 1rem; color: var(--text-body); }.elementor-kit-6 .mobile-sublink:hover{ text-decoration: none; color: var(--color-primary); }.elementor-kit-6 .mobile-dd__all{ font-weight: 600; color: var(--color-primary); margin-top: 0.6rem; }/* Tabs (serviços na home) */
.elementor-kit-6 .tabs{ margin-top: 1.75rem; }.elementor-kit-6 .tabs__list{ display: flex; flex-wrap: wrap; gap: 0.15rem; border-bottom: 1px solid var(--border-subtle); }.elementor-kit-6 .tabs__tab{
  appearance: none; background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px;
  padding: 0.7rem 1.1rem; min-height: 44px; cursor: pointer;
  font-family: var(--font-body); font-weight: 600; font-size: 0.9375rem; color: var(--text-secondary);
}.elementor-kit-6 .tabs__tab:hover{ color: var(--text-strong); }.elementor-kit-6 .tabs__tab[aria-selected="true"]{ color: var(--color-primary); border-bottom-color: var(--color-primary); }.elementor-kit-6 .tabs__panel{ margin-top: 1.5rem; }.elementor-kit-6 .tabs__panel[hidden]{ display: none; }/* ---- Hero (banner com imagem de fundo + overlay azul-tinta) ---- */
.elementor-kit-6 .hero{
  position: relative; overflow: hidden; color: #fff;
  /* Overlay mais fechado que o original: com o texto deslocado para a direita,
     a foto passaria por baixo dele e o contraste cairia. */
  background-image:
    linear-gradient(100deg, rgba(10,46,99,0.96) 0%, rgba(10,46,99,0.90) 55%, rgba(10,46,99,0.72) 100%),
    url("https://3tnosasco.com.br/wp-content/uploads/hero-assinatura.jpg");
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}.elementor-kit-6 .hero__wm{ position: absolute; top: -80px; right: -100px; width: 460px; height: 460px; color: #fff; opacity: 0.08; z-index: 0; }.elementor-kit-6 .hero__inner{
  position: relative; z-index: 1;
  min-height: clamp(440px, 66vh, 600px);
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(3rem, 6vw, 4.5rem) var(--container-pad);
}.elementor-kit-6 .hero__col{ display: flex; flex-direction: column; gap: 1.25rem; max-width: 640px; text-shadow: 0 1px 3px rgba(6, 21, 46, 0.28); }.elementor-kit-6 .hero__eyebrow{ color: var(--color-seal-strong); }.elementor-kit-6 .hero h1{ color: #fff; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.12; font-weight: 700; }.elementor-kit-6 .hero__sub{ color: rgba(255,255,255,0.92); font-size: var(--fs-lead); line-height: 1.55; max-width: 540px; }.elementor-kit-6 .hero__actions{ display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.5rem; text-shadow: none; }@media (max-width: 700px){.elementor-kit-6 .hero{
    background-image:
      linear-gradient(180deg, rgba(10,46,99,0.90) 0%, rgba(10,46,99,0.88) 100%),
      url("https://3tnosasco.com.br/wp-content/uploads/hero-assinatura.jpg");
    background-position: center;
  }
}/* ---- Faixa de confiança ---- */
.elementor-kit-6 .trust-strip{ background: var(--surface-card); border-bottom: 1px solid var(--border-subtle); }.elementor-kit-6 .trust-strip__inner{ padding: 1.5rem var(--container-pad); gap: 1.5rem; }.elementor-kit-6 .trust-item{ display: flex; gap: 0.75rem; align-items: flex-start; }.elementor-kit-6 .trust-item [data-lucide]{ color: var(--color-primary); margin-top: 2px; }.elementor-kit-6 .trust-item h3{ font-family: var(--font-body); font-weight: 700; font-size: 1rem; color: var(--text-strong); }.elementor-kit-6 .trust-item p{ color: var(--text-secondary); font-size: 0.9375rem; line-height: 1.45; }/* ---- Section heading ---- */
.elementor-kit-6 .section-heading{ display: flex; flex-direction: column; gap: 0.6rem; }.elementor-kit-6 .section-heading h2{ font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 700; }.elementor-kit-6 .section-heading__lead{ font-size: var(--fs-lead); color: var(--text-secondary); line-height: 1.55; max-width: var(--measure); }/* ---- Serviços: pilares ---- */
.elementor-kit-6 .pillars{ gap: 1.5rem; margin-top: 2.25rem; }.elementor-kit-6 .pillar{
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 0.85rem;
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--card-shadow);
  padding: 1.9rem 1.8rem; text-decoration: none;
  transition: box-shadow var(--dur-normal) var(--ease-standard), transform var(--dur-normal) var(--ease-standard);
}.elementor-kit-6 .pillar:hover{ box-shadow: var(--shadow-lg); transform: translateY(-2px); text-decoration: none; }.elementor-kit-6 .pillar--tint{ background: var(--surface-tint); }.elementor-kit-6 .pillar__icon{ width: 56px; height: 56px; border-radius: var(--radius-md); background: var(--blue-50); display: inline-flex; align-items: center; justify-content: center; color: var(--color-primary); }.elementor-kit-6 .pillar--tint .pillar__icon{ background: #fff; }.elementor-kit-6 .pillar h3{ font-size: 1.5rem; font-weight: 700; }.elementor-kit-6 .pillar p{ font-size: 1.0625rem; color: var(--text-secondary); line-height: 1.55; flex: 1; }.elementor-kit-6 .pillar__cta{ display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; color: var(--color-primary); }/* ---- Serviços: lista secundária ---- */
.elementor-kit-6 .services-sub{ font-family: var(--font-body); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary); margin: 2.5rem 0 1.1rem; }.elementor-kit-6 .service-list{ gap: 0.75rem; }.elementor-kit-6 .service-item{ display: flex; gap: 0.85rem; align-items: center; padding: 0.9rem 1rem; border-radius: var(--radius-md); border: 1px solid var(--border-subtle); background: var(--surface-card); text-decoration: none; transition: border-color var(--dur-fast) var(--ease-standard); }.elementor-kit-6 .service-item:hover{ border-color: var(--color-primary); text-decoration: none; }.elementor-kit-6 .service-item [data-lucide]{ color: var(--color-primary); }.elementor-kit-6 .service-item__title{ display: block; font-weight: 600; color: var(--text-strong); font-size: 1rem; }.elementor-kit-6 .service-item__desc{ display: block; color: var(--text-secondary); font-size: 0.875rem; }.elementor-kit-6 .services-links{ display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.75rem; margin-top: 1.6rem; }.elementor-kit-6 .services-all{ margin-top: 1.6rem; display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; color: var(--color-primary); }.elementor-kit-6 .services-links .services-all{ margin-top: 0; }.elementor-kit-6 .services-all:hover{ text-decoration: none; gap: 0.6rem; }/* ---- Sobre ---- */
.elementor-kit-6 .about{ gap: 3rem; align-items: center; }.elementor-kit-6 .about__media{ border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-lg); aspect-ratio: 4 / 3; max-width: 480px; }.elementor-kit-6 .about__media img{ width: 100%; height: 100%; object-fit: cover; }.elementor-kit-6 .about__col{ display: flex; flex-direction: column; gap: 1.25rem; }/* ---- Feature list ---- */
.elementor-kit-6 .feature-list{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }.elementor-kit-6 .feature-list li{ display: flex; gap: 0.75rem; align-items: flex-start; }.elementor-kit-6 .feature-list__icon{ flex: none; width: 26px; height: 26px; border-radius: var(--radius-sm); background: var(--blue-50); display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; color: var(--color-primary); }.elementor-kit-6 .feature-list__title{ font-family: var(--font-body); font-weight: 600; font-size: 1.0625rem; color: var(--text-strong); }.elementor-kit-6 .feature-list__desc{ font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.5; margin-top: 2px; }/* ---- Localização / mapa ---- */
.elementor-kit-6 .map-grid{ gap: 2.5rem; align-items: stretch; margin-top: 2rem; }.elementor-kit-6 .map-info{ display: flex; flex-direction: column; gap: 1.1rem; }.elementor-kit-6 .map-frame{ border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--card-shadow); min-height: 360px; }.elementor-kit-6 .map-frame iframe{ width: 100%; height: 100%; min-height: 360px; border: 0; display: block; filter: saturate(0.9); }/* ---- Contato ---- */
.elementor-kit-6 .contact-grid{ gap: 2.5rem; align-items: start; margin-top: 2rem; }/* linhas de dado (usadas também na Localização) */
.elementor-kit-6 .contact-row{ display: flex; align-items: flex-start; gap: 0.75rem; color: var(--text-body); font-size: 1.0625rem; padding: 0.45rem 0; }.elementor-kit-6 .contact-row a{ color: var(--text-body); }.elementor-kit-6 .contact-row a:hover{ color: var(--color-primary); }.elementor-kit-6 .contact-row [data-lucide]{ color: var(--color-primary); margin-top: 2px; flex: none; }.elementor-kit-6 .contact-row--hours [data-lucide]{ color: var(--color-seal); }/* Cartões de canal (WhatsApp / Ligar / E-mail) */
.elementor-kit-6 .contact-channels{ display: flex; flex-direction: column; gap: 1rem; }.elementor-kit-6 .channel-card{
  display: flex; align-items: center; gap: 1rem;
  padding: 1.15rem 1.25rem;
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  box-shadow: var(--card-shadow); text-decoration: none;
  transition: border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);
}.elementor-kit-6 .channel-card:hover{ border-color: var(--color-primary); box-shadow: var(--shadow-md); transform: translateY(-1px); text-decoration: none; }.elementor-kit-6 .channel-card__icon{ width: 48px; height: 48px; border-radius: var(--radius-md); background: var(--blue-50); color: var(--color-seal); display: inline-flex; align-items: center; justify-content: center; flex: none; }.elementor-kit-6 .channel-card__text{ display: flex; flex-direction: column; }.elementor-kit-6 .channel-card__label{ font-family: var(--font-body); font-weight: 600; color: var(--text-strong); }.elementor-kit-6 .channel-card__value{ color: var(--text-secondary); font-size: 0.9375rem; }/* ---- Formulário (HTML/CSS) ---- */
.elementor-kit-6 .form-card{ background: var(--surface-raised); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--card-shadow); padding: 1.75rem; }.elementor-kit-6 .form-grid{ gap: 1.1rem; }.elementor-kit-6 .form-grid .full{ grid-column: 1 / -1; }.elementor-kit-6 .field{ display: flex; flex-direction: column; gap: 0.4rem; }.elementor-kit-6 .field__label{ font-family: var(--font-body); font-weight: 600; font-size: 1rem; color: var(--text-strong); }.elementor-kit-6 .field__req{ color: var(--danger-500); margin-left: 3px; }.elementor-kit-6 .field__opt{ color: var(--text-muted); margin-left: 6px; font-weight: 400; }.elementor-kit-6 .field__hint{ font-size: 0.875rem; color: var(--text-secondary); }.elementor-kit-6 .control{
  width: 100%; min-height: 48px; font-family: var(--font-body); font-size: 1.0625rem; color: var(--text-strong);
  background: var(--white); border: 1.5px solid var(--border-strong); border-radius: var(--radius-md);
  padding: 0.7rem 0.9rem; outline: none;
  transition: border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);
}.elementor-kit-6 .control::placeholder{ color: var(--text-muted); }.elementor-kit-6 .control:focus{ border-color: var(--border-focus); box-shadow: var(--ring-focus); }.elementor-kit-6 textarea.control{ resize: vertical; line-height: 1.55; min-height: 128px; }.elementor-kit-6 .select-wrap{ position: relative; }.elementor-kit-6 .select-wrap select.control{ appearance: none; -webkit-appearance: none; padding-right: 2.75rem; cursor: pointer; }.elementor-kit-6 .select-wrap__chevron{ position: absolute; right: 0.85rem; top: 50%; transform: translateY(-50%); pointer-events: none; display: inline-flex; color: var(--text-secondary); }.elementor-kit-6 .checkbox{ display: flex; align-items: flex-start; gap: 0.6rem; cursor: pointer; min-height: 44px; padding: 0.2rem 0; }.elementor-kit-6 .checkbox input{ margin-top: 3px; width: 20px; height: 20px; accent-color: var(--color-primary); flex: none; }.elementor-kit-6 .checkbox span{ font-size: 1.0625rem; color: var(--text-body); line-height: 1.4; }/* ---- Footer ---- */
.elementor-kit-6 .site-footer{ position: relative; background: var(--surface-navy); color: #fff; }.elementor-kit-6 .site-footer__grid{ position: relative; z-index: 1; padding: 3.5rem var(--container-pad) 2rem; gap: 2.5rem; }.elementor-kit-6 .footer-brand{ display: flex; flex-direction: column; gap: 1rem; }.elementor-kit-6 .footer-desc{ color: rgba(255,255,255,0.72); font-size: 0.9375rem; line-height: 1.6; max-width: 280px; }.elementor-kit-6 .footer-col h4{ color: #fff; font-size: 1rem; font-weight: 700; margin-bottom: 0.75rem; }.elementor-kit-6 .footer-link{ display: block; color: rgba(255,255,255,0.78); font-size: 0.9375rem; line-height: 2; }.elementor-kit-6 .footer-link:hover{ color: #fff; text-decoration: underline; }.elementor-kit-6 .footer-contact{ display: flex; flex-direction: column; gap: 0.85rem; }.elementor-kit-6 .footer-contact h4{ color: #fff; font-size: 1rem; font-weight: 700; }.elementor-kit-6 .footer-contact a, .elementor-kit-6 .footer-contact span{ display: flex; align-items: flex-start; gap: 0.6rem; color: rgba(255,255,255,0.85); font-size: 0.9375rem; line-height: 1.5; }.elementor-kit-6 .footer-contact a:hover{ color: #fff; }.elementor-kit-6 .footer-bottom{ position: relative; z-index: 1; border-top: 1px solid rgba(255,255,255,0.14); }.elementor-kit-6 .footer-bottom__inner{ padding: 1.1rem var(--container-pad); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; color: rgba(255,255,255,0.8); font-size: 0.8125rem; }.elementor-kit-6 .footer-bottom__inner span{ display: inline-flex; align-items: center; gap: 0.45rem; }/* ---- WhatsApp FAB ---- */
.elementor-kit-6 .wa-fab{
  position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 90;
  width: 60px; height: 60px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-accent); color: #fff; border-radius: var(--radius-pill);
  box-shadow: 0 4px 14px rgba(20, 83, 45, 0.30); text-decoration: none;
  transition: transform var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard);
}.elementor-kit-6 .wa-fab:hover{ background: var(--color-accent-hover); transform: translateY(-2px); text-decoration: none; }/* ---- Scroll-reveal (respeita prefers-reduced-motion via tokens) ---- */
.elementor-kit-6 .reveal{ opacity: 0; transform: translateY(16px); transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out); }.elementor-kit-6 .reveal.is-in{ opacity: 1; transform: none; }@media (prefers-reduced-motion: reduce){.elementor-kit-6 .reveal{ opacity: 1; transform: none; } }/* ============================================================
   Placa do tabelião — cabeçalho e rodapé
   ============================================================ */
.elementor-kit-6 .site-header__brand{ display: flex; align-items: center; gap: 0.5rem; min-width: 0; }.elementor-kit-6 .header-notary{ display: flex; flex-direction: column; gap: 1px; margin: 0; }.elementor-kit-6 .header-notary__role{
  font-family: var(--font-body); font-size: 8px; font-weight: var(--fw-semibold);
  text-transform: uppercase; letter-spacing: var(--ls-caps); color: var(--text-secondary);
}.elementor-kit-6 .header-notary__name{
  font-family: var(--font-display); font-size: 0.8125rem; font-weight: var(--fw-semibold);
  line-height: 1.2; color: var(--text-strong); white-space: nowrap;
}/* Com seis itens de nav o cabeçalho fica apertado antes de virar mobile;
   a placa sai aqui e reaparece no topo do menu mobile. */
@media (max-width: 1100px){.elementor-kit-6 .site-header__inner .header-notary, .elementor-kit-6 .site-header__inner .header-notary__divider{ display: none; }
}.elementor-kit-6 .header-notary--mobile{
  padding: 0.75rem 0 0.9rem;
  border-bottom: 1px solid var(--border-subtle);
  gap: 2px;
}.elementor-kit-6 .header-notary--mobile .header-notary__role{ font-size: 0.6875rem; }.elementor-kit-6 .header-notary--mobile .header-notary__name{ font-size: 1.0625rem; }.elementor-kit-6 .footer-notary{ display: flex; flex-direction: column; gap: 2px; margin: 0; }.elementor-kit-6 .footer-notary__role{
  font-family: var(--font-body); font-size: 0.6875rem; font-weight: var(--fw-semibold);
  text-transform: uppercase; letter-spacing: var(--ls-caps); color: rgba(255,255,255,0.62);
}.elementor-kit-6 .footer-notary__name{
  font-family: var(--font-display); font-size: 1.0625rem; font-weight: var(--fw-semibold); color: #fff;
}/* ============================================================
   Hero dividido — logotipo e placa à esquerda, texto à direita
   O filete que separa as colunas é a margem do livro de notas:
   selo e referência de um lado, texto corrido do outro.
   ============================================================ */
.elementor-kit-6 .hero--split .hero__inner{
  display: flex;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
  align-content: center; /* sobra de altura fica dividida, não toda embaixo */
}/* Alinha o topo do logotipo com a primeira linha do título, e não com a
   sobrancelha — é o que forma o eixo horizontal entre as duas colunas. */
.elementor-kit-6 .hero--split .hero__plate{ padding-top: 2.35rem; }.elementor-kit-6 .hero--split .hero__col{
  position: relative;
  max-width: 640px;
  padding-left: clamp(2rem, 4vw, 3.5rem);
}.elementor-kit-6 .hero--split .hero__col::before{
  content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  width: 1px; background: rgba(255, 255, 255, 0.22);
}.elementor-kit-6 .hero--split .hero__col::after{
  content: ""; position: absolute; left: 0; top: 0;
  width: 3px; height: 3.5rem; background: var(--color-seal-strong);
}.elementor-kit-6 .hero__plate{ display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }.elementor-kit-6 .hero__logo{ width: 132px; height: auto; }.elementor-kit-6 .hero__plate-rule{
  width: 3.25rem; height: 2px; margin: 0; border: 0;
  background: var(--color-seal-strong);
}.elementor-kit-6 .hero__notary{ display: flex; flex-direction: column; gap: 0.15rem; margin: 0; }.elementor-kit-6 .hero__notary-role{
  font-family: var(--font-body); font-size: 0.6875rem; font-weight: var(--fw-semibold);
  text-transform: uppercase; letter-spacing: var(--ls-caps); color: var(--color-seal-strong);
}.elementor-kit-6 .hero__notary-name{
  font-family: var(--font-display); font-size: 1.375rem; font-weight: var(--fw-semibold);
  line-height: 1.2; color: #fff;
}@media (max-width: 900px){.elementor-kit-6 .hero--split .hero__inner{ grid-template-columns: 1fr; gap: 2rem; }.elementor-kit-6 .hero--split .hero__col{ padding-left: 0; padding-top: 1.75rem; }/* o filete deita: vira o mesmo traço horizontal do .rule-engraving */
.elementor-kit-6 .hero--split .hero__col::before{ right: 0; bottom: auto; width: auto; height: 1px; }.elementor-kit-6 .hero--split .hero__col::after{ width: 2.25rem; height: 2px; }.elementor-kit-6 .hero__logo{ width: 104px; }
}/* ============================================================
   Mega-menu — mais de um grupo por coluna, e o rail de atendimento
   ============================================================ */
.elementor-kit-6 .nav-dd__group{ display: flex; flex-direction: column; }.elementor-kit-6 .nav-dd__group + .nav-dd__group{ margin-top: 1.35rem; }.elementor-kit-6 .nav-dd__col--rail{
  align-self: start;
  background: var(--surface-tint);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 1.15rem 1.25rem 1.35rem;
}/* ============================================================
   Nota de continuidade da serventia (localização)
   ============================================================ */
.elementor-kit-6 .local-note{
  display: flex; align-items: flex-start; gap: 0.85rem;
  margin-top: 1.75rem; padding: 1.15rem 1.25rem;
  background: var(--surface-tint);
  border-left: 3px solid var(--color-seal);
  border-radius: var(--radius-md);
}.elementor-kit-6 .local-note__icon{ display: inline-flex; flex: none; margin-top: 2px; color: var(--color-primary); }.elementor-kit-6 .local-note p{ margin: 0; font-size: 1rem; line-height: 1.55; color: var(--text-body); }.elementor-kit-6 .local-note strong{ color: var(--text-strong); }/* ============================================================
   Página Sobre
   ============================================================ */
/* Seção "O tabelião". Só é renderizada quando $bio_texto estiver preenchido
   em sobre.php — o retrato é opcional e define se vira uma ou duas colunas. */
.elementor-kit-6 .bio{ gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }.elementor-kit-6 .bio__retrato{
  width: 100%; aspect-ratio: 4 / 5; object-fit: cover;
  border-radius: var(--radius-xl); box-shadow: var(--shadow-lg);
}.elementor-kit-6 .bio__col{ display: flex; flex-direction: column; gap: 1rem; min-width: 0; }.elementor-kit-6 .bio__cargo{ margin: 0; color: var(--text-secondary); font-size: 1.0625rem; }.elementor-kit-6 .bio__col .rule-engraving{ max-width: 200px; margin: 0.25rem 0 0.5rem; }.elementor-kit-6 .bio__texto{ max-width: var(--measure); }.elementor-kit-6 .historia p{ margin: 0 0 1rem; font-size: var(--fs-body); line-height: var(--lh-relaxed); }.elementor-kit-6 .historia__acoes{ display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }.elementor-kit-6 .feature-list--grid{ display: grid; align-items: start; gap: 1.5rem; margin-top: 2rem; }/* ============================================================
   Artigos
   ============================================================ */
.elementor-kit-6 .post-list{ gap: 1.25rem; }.elementor-kit-6 .post-card .svc-card__title{ font-size: 1.3125rem; }.elementor-kit-6 .post-meta{
  display: flex; align-items: center; gap: 0.5rem; margin: 0;
  font-family: var(--font-body); font-size: 0.8125rem; font-weight: var(--fw-semibold);
  text-transform: uppercase; letter-spacing: var(--ls-caps); color: var(--text-muted);
}.elementor-kit-6 .post-meta__sep{ color: var(--border-strong); }.elementor-kit-6 .svc-hero .post-meta{ margin-top: 1.1rem; }.elementor-kit-6 .post-body{ max-width: var(--measure); }.elementor-kit-6 .post-vazio{ color: var(--text-secondary); font-size: var(--fs-lead); }/* ============================================================
   Retorno do formulário de contato
   ============================================================ */
.elementor-kit-6 .form-alert{
  display: flex; align-items: flex-start; gap: 0.85rem;
  margin-bottom: 1.5rem; padding: 1rem 1.15rem;
  border-radius: var(--radius-md);
}.elementor-kit-6 .form-alert [data-lucide]{ flex: none; margin-top: 2px; }.elementor-kit-6 .form-alert strong{ display: block; font-family: var(--font-body); font-weight: var(--fw-bold); color: var(--text-strong); }.elementor-kit-6 .form-alert p{ margin: 0.25rem 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--text-body); }.elementor-kit-6 .form-alert--ok{ background: var(--success-50); border-left: 3px solid var(--success-500); }.elementor-kit-6 .form-alert--erro{ background: var(--danger-50);  border-left: 3px solid var(--danger-500); }.elementor-kit-6 .form-alert--falha{ background: var(--warning-50); border-left: 3px solid var(--warning-500); }.elementor-kit-6 .form-alert--ok [data-lucide]{ color: var(--success-500); }.elementor-kit-6 .form-alert--erro [data-lucide]{ color: var(--danger-500); }.elementor-kit-6 .form-alert--falha [data-lucide]{ color: var(--warning-500); }.elementor-kit-6 .field__erro{ margin: 0.15rem 0 0; font-size: 0.875rem; color: var(--danger-500); }.elementor-kit-6 .control[aria-invalid="true"]{ border-color: var(--danger-500); }/* Isca anti-spam: fora da tela, fora da ordem de foco, invisível ao leitor de tela. */
.elementor-kit-6 .isca{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }/* ===================== servicos.css ===================== */
/* ============================================================
   3TN Osasco — Páginas de serviço (template único)
   Estende css/tokens.css + css/styles.css. Carregado só em /servicos/.
   ============================================================ */
/* ---- Cabeçalho da página (papel) ---- */
.elementor-kit-6 .svc-hero{ position: relative; overflow: hidden; background: var(--surface-page); border-bottom: 1px solid var(--border-subtle); }.elementor-kit-6 .svc-hero__wm{ position: absolute; top: -70px; right: -80px; width: 340px; height: 340px; color: var(--color-primary); opacity: 0.05; }.elementor-kit-6 .svc-hero__inner{ position: relative; z-index: 1; padding: clamp(1.75rem, 4vw, 3rem) 0 clamp(2rem, 5vw, 3.25rem); }.elementor-kit-6 .svc-breadcrumb{ display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-size: 0.8125rem; color: var(--text-muted); margin-bottom: 1.1rem; }.elementor-kit-6 .svc-breadcrumb a{ color: var(--text-secondary); }.elementor-kit-6 .svc-breadcrumb a:hover{ color: var(--color-primary); text-decoration: none; }.elementor-kit-6 .svc-breadcrumb__sep{ color: var(--border-strong); }.elementor-kit-6 .svc-breadcrumb [aria-current="page"]{ color: var(--text-body); }.elementor-kit-6 .svc-hero h1{ font-size: clamp(1.9rem, 3.6vw, 2.85rem); line-height: 1.1; margin-top: 0.35rem; max-width: 22ch; }.elementor-kit-6 .svc-hero__lead{ margin-top: 0.9rem; font-size: var(--fs-lead); color: var(--text-secondary); line-height: 1.55; max-width: var(--measure); }.elementor-kit-6 .svc-hero .rule-engraving{ margin-top: 1.5rem; max-width: 200px; }/* ---- Corpo: duas colunas ---- */
.elementor-kit-6 .svc-layout{ gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }.elementor-kit-6 .svc-content{ min-width: 0; }/* ---- Prosa do serviço ---- */
.elementor-kit-6 .svc-prose{ color: var(--text-body); font-size: var(--fs-body); line-height: var(--lh-relaxed); }.elementor-kit-6 .svc-prose > :first-child{ margin-top: 0; }.elementor-kit-6 .svc-prose p{ margin: 0 0 1rem; max-width: var(--measure); }.elementor-kit-6 .svc-prose a{ color: var(--text-link); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }.elementor-kit-6 .svc-prose strong{ font-weight: var(--fw-bold); color: var(--text-strong); }/* H2 de seção — Spectral com filete-acento (assinatura) */
.elementor-kit-6 .svc-prose h2{
  font-size: clamp(1.4rem, 2.4vw, 1.75rem);
  margin: 2.75rem 0 1.1rem; padding-top: 1.25rem;
  border-top: 1px solid var(--border-subtle); position: relative;
}.elementor-kit-6 .svc-prose h2::before{ content: ""; position: absolute; top: -1px; left: 0; width: 2.25rem; height: 2px; background: var(--color-seal); }.elementor-kit-6 .svc-prose > h2:first-child{ margin-top: 0; padding-top: 0; border-top: 0; }.elementor-kit-6 .svc-prose > h2:first-child::before{ display: none; }/* H3 — rótulo de categoria de documentos */
.elementor-kit-6 .svc-prose h3{ font-family: var(--font-body); font-size: 1.0625rem; font-weight: var(--fw-bold); color: var(--text-strong); margin: 1.9rem 0 0.85rem; }/* Listas de documentos — checklist com quadradinho azul-selo */
.elementor-kit-6 .svc-prose ul{ list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }.elementor-kit-6 .svc-prose ul li{ position: relative; padding-left: 1.9rem; max-width: var(--measure); line-height: 1.5; }.elementor-kit-6 .svc-prose ul li::before{ content: ""; position: absolute; left: 0; top: 0.28em; width: 1rem; height: 1rem; border: 1.5px solid var(--color-seal); border-radius: 3px; background: var(--surface-tint); }/* Observações gerais — numerada com contador em pílula */
.elementor-kit-6 .svc-prose ol{ list-style: none; margin: 0 0 1.25rem; padding: 0; counter-reset: obs; display: flex; flex-direction: column; gap: 0.65rem; }.elementor-kit-6 .svc-prose ol li{ counter-increment: obs; position: relative; padding-left: 2.4rem; max-width: var(--measure); line-height: 1.5; }.elementor-kit-6 .svc-prose ol li::before{ content: counter(obs); position: absolute; left: 0; top: 0.05em; width: 1.6rem; height: 1.6rem; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-body); font-weight: 700; font-size: 0.8125rem; color: var(--color-primary); background: var(--blue-50); border-radius: var(--radius-pill); }/* Callout "Observações" (blockquote) */
.elementor-kit-6 .svc-note{ margin: 0 0 1.5rem; padding: 1.1rem 1.25rem; background: var(--blue-50); border-left: 3px solid var(--color-seal); border-radius: var(--radius-md); }.elementor-kit-6 .svc-note__label{ font-family: var(--font-body); font-weight: 700; font-size: 0.8125rem; text-transform: uppercase; letter-spacing: var(--ls-caps); color: var(--color-primary); margin: 0 0 0.6rem; }.elementor-kit-6 .svc-note ul{ margin: 0; gap: 0.45rem; }.elementor-kit-6 .svc-note ul li{ padding-left: 1.4rem; font-size: 1rem; color: var(--text-body); }.elementor-kit-6 .svc-note ul li::before{ width: 0.5rem; height: 0.5rem; border: 0; border-radius: 50%; background: var(--color-seal); top: 0.5em; }.elementor-kit-6 .svc-note p{ margin: 0 0 0.5rem; font-size: 1rem; }.elementor-kit-6 .svc-note p:last-child{ margin-bottom: 0; }/* ---- Card lateral (sticky) ---- */
.elementor-kit-6 .svc-aside{ position: sticky; top: 96px; display: flex; flex-direction: column; gap: 1rem; }.elementor-kit-6 .svc-cta-card{ background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--card-shadow); padding: 1.5rem; }.elementor-kit-6 .svc-cta-card h2{ font-family: var(--font-display); font-size: 1.25rem; margin: 0 0 0.4rem; }.elementor-kit-6 .svc-cta-card > p{ color: var(--text-secondary); font-size: 0.9375rem; margin: 0 0 1.1rem; line-height: 1.5; }.elementor-kit-6 .svc-cta-card__actions{ display: flex; flex-direction: column; gap: 0.6rem; }.elementor-kit-6 .svc-cta-card__actions .btn{ width: 100%; }.elementor-kit-6 .svc-cta-card .rule-engraving{ margin: 1.35rem 0; }.elementor-kit-6 .svc-cta-meta{ display: flex; flex-direction: column; gap: 0.7rem; }.elementor-kit-6 .svc-cta-meta__row{ display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.875rem; color: var(--text-secondary); line-height: 1.45; }.elementor-kit-6 .svc-cta-meta__row [data-lucide]{ color: var(--color-seal); margin-top: 1px; }/* ---- Faixa CTA navy ---- */
.elementor-kit-6 .svc-band{ position: relative; overflow: hidden; background: var(--surface-navy); color: #fff; text-align: center; }.elementor-kit-6 .svc-band__wm{ position: absolute; bottom: -100px; left: -70px; width: 300px; height: 300px; color: #fff; opacity: 0.06; }.elementor-kit-6 .svc-band__inner{ position: relative; z-index: 1; padding: clamp(2.5rem, 5vw, 4rem) 0; display: flex; flex-direction: column; align-items: center; gap: 0.85rem; }.elementor-kit-6 .svc-band h2{ color: #fff; font-size: clamp(1.5rem, 3vw, 2rem); max-width: 24ch; }.elementor-kit-6 .svc-band p{ color: var(--text-on-navy-muted); max-width: 48ch; font-size: var(--fs-lead); }.elementor-kit-6 .svc-band__actions{ display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-top: 0.5rem; }/* ---- Hub (índice de serviços) ---- */
.elementor-kit-6 .svc-hub-group{ margin-top: clamp(2.25rem, 4vw, 3rem); }.elementor-kit-6 .svc-hub-group:first-of-type{ margin-top: 0; }.elementor-kit-6 .svc-hub-group__title{ font-family: var(--font-body); text-transform: uppercase; letter-spacing: var(--ls-caps); font-size: 0.8125rem; font-weight: 600; color: var(--color-primary); margin: 0 0 1.2rem; display: flex; align-items: center; gap: 0.85rem; }.elementor-kit-6 .svc-hub-group__title::after{ content: ""; flex: 1; height: 1px; background: var(--border-subtle); }.elementor-kit-6 .svc-hub-grid{ gap: 1rem; }.elementor-kit-6 .svc-card{ display: flex; flex-direction: column; gap: 0.4rem; padding: 1.4rem 1.45rem; background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--card-shadow); text-decoration: none; transition: border-color var(--dur-normal) var(--ease-standard), box-shadow var(--dur-normal) var(--ease-standard), transform var(--dur-normal) var(--ease-standard); }.elementor-kit-6 .svc-card:hover{ border-color: var(--color-primary); box-shadow: var(--shadow-md); transform: translateY(-2px); text-decoration: none; }.elementor-kit-6 .svc-card__title{ font-family: var(--font-display); font-size: 1.1875rem; font-weight: 700; color: var(--text-strong); line-height: 1.2; }.elementor-kit-6 .svc-card__desc{ color: var(--text-secondary); font-size: 0.9375rem; line-height: 1.5; flex: 1; }.elementor-kit-6 .svc-card__cta{ display: inline-flex; align-items: center; gap: 0.35rem; font-family: var(--font-body); font-weight: 600; font-size: 0.875rem; color: var(--color-primary); margin-top: 0.4rem; }/* ---- Responsivo ---- */
@media (max-width: 900px){.elementor-kit-6 .svc-aside{ position: static; }
}/* ===================== certidoes.css ===================== */
/* ============================================================
   3TN Osasco — Solicitação de certidões (wizard)
   Usa tokens + styles + servicos (svc-hero). Só nesta página.
   ============================================================ */
.elementor-kit-6 .wizard{ max-width: 780px; margin: 0 auto; }/* ---- Stepper (sequência de passos) ---- */
.elementor-kit-6 .stepper{ display: flex; list-style: none; margin: 0 0 2rem; padding: 0; }.elementor-kit-6 .stepper__item{ flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.45rem; text-align: center; }.elementor-kit-6 .stepper__item::before{ content: ""; position: absolute; top: 16px; right: 50%; width: 100%; height: 2px; background: var(--border-default); z-index: 0; }.elementor-kit-6 .stepper__item:first-child::before{ display: none; }.elementor-kit-6 .stepper__item.is-current::before, .elementor-kit-6 .stepper__item.is-done::before{ background: var(--color-primary); }.elementor-kit-6 .stepper__num{ position: relative; z-index: 1; width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; background: var(--surface-card); border: 2px solid var(--border-default); color: var(--text-muted); transition: all var(--dur-normal) var(--ease-standard); }.elementor-kit-6 .stepper__item.is-current .stepper__num{ border-color: var(--color-primary); color: var(--color-primary); background: var(--blue-50); }.elementor-kit-6 .stepper__item.is-done .stepper__num{ border-color: var(--color-primary); background: var(--color-primary); color: #fff; }.elementor-kit-6 .stepper__label{ font-family: var(--font-body); font-size: 0.8125rem; font-weight: 600; color: var(--text-muted); }.elementor-kit-6 .stepper__item.is-current .stepper__label{ color: var(--text-strong); }.elementor-kit-6 .stepper__item.is-done .stepper__label{ color: var(--text-secondary); }/* ---- Passos ---- */
.elementor-kit-6 .wizard__step{ border: 0; margin: 0; padding: 0; min-inline-size: 0; }.elementor-kit-6 .wizard__step[hidden]{ display: none; }.elementor-kit-6 .wizard__legend{ font-family: var(--font-display); font-size: clamp(1.3rem, 2.2vw, 1.6rem); font-weight: 700; color: var(--text-strong); padding: 0; margin-bottom: 0.4rem; }.elementor-kit-6 .wizard__legend:focus{ outline: none; }.elementor-kit-6 .wizard__hint{ color: var(--text-secondary); font-size: 0.9375rem; line-height: 1.5; margin: 0 0 1.4rem; }/* Opções de tipo de certidão (radio cards) */
.elementor-kit-6 .cert-options{ display: grid; gap: 0.75rem; }.elementor-kit-6 .cert-option{ display: flex; gap: 0.85rem; align-items: flex-start; padding: 1rem 1.15rem; background: var(--surface-raised); border: 1.5px solid var(--border-default); border-radius: var(--radius-md); cursor: pointer; transition: border-color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard); }.elementor-kit-6 .cert-option:hover{ border-color: var(--color-primary); }.elementor-kit-6 .cert-option input{ margin-top: 2px; width: 20px; height: 20px; accent-color: var(--color-primary); flex: none; }.elementor-kit-6 .cert-option:has(input:checked){ border-color: var(--color-primary); background: var(--blue-50); }.elementor-kit-6 .cert-option__title{ display: block; font-family: var(--font-body); font-weight: 600; color: var(--text-strong); }.elementor-kit-6 .cert-option__desc{ display: block; font-size: 0.875rem; color: var(--text-secondary); margin-top: 0.1rem; }/* Navegação do wizard */
.elementor-kit-6 .wizard__nav{ display: flex; align-items: center; gap: 0.75rem; margin-top: 1.9rem; padding-top: 1.4rem; border-top: 1px solid var(--border-subtle); }.elementor-kit-6 .wizard__nav .btn[hidden]{ display: none; }.elementor-kit-6 .wizard__nav [data-next], .elementor-kit-6 .wizard__nav [data-submit]{ margin-left: auto; }/* Revisão */
.elementor-kit-6 .review{ display: flex; flex-direction: column; }.elementor-kit-6 .review__row{ display: flex; flex-direction: column; gap: 0.15rem; padding: 0.7rem 0; border-bottom: 1px solid var(--border-subtle); }.elementor-kit-6 .review__row:first-child{ padding-top: 0; }.elementor-kit-6 .review__k{ font-family: var(--font-body); font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: var(--ls-caps); color: var(--color-primary); }.elementor-kit-6 .review__v{ color: var(--text-body); white-space: pre-wrap; word-break: break-word; }.elementor-kit-6 .review__empty{ color: var(--text-muted); }.elementor-kit-6 .wizard__note{ display: flex; align-items: flex-start; gap: 0.6rem; margin-top: 1.2rem; font-size: 0.875rem; color: var(--text-secondary); line-height: 1.5; }.elementor-kit-6 .wizard__note [data-lucide]{ color: var(--color-seal); margin-top: 1px; flex: none; }

/* ===================== ajustes da versão WordPress ===================== */
.elementor-kit-6 .svc-layout--padrao { --cols: minmax(0, 1fr) 340px; --cols-md: 1fr; }
.elementor-kit-6 .home-grid--3 { --cols: repeat(3, 1fr); --cols-md: 1fr; }
.elementor-kit-6 .home-grid--2 { --cols: 1.05fr 0.95fr; --cols-md: 1fr; }

/* containers que no original eram blocos em fluxo normal (colapso de margens) */
.elementor-kit-6 .e-con.tn-block { display: block; }

/* o Elementor embrulha cada widget; estes wrappers nao podem quebrar os grids */
.elementor-kit-6 .tn-grid > .elementor-element { min-width: 0; }

/* o wrapper do widget entra entre .svc-prose e o primeiro parágrafo do texto */
.elementor-kit-6 .svc-prose > .elementor-widget-container > :first-child,
.elementor-kit-6 .svc-content > .elementor-widget-container > :first-child { margin-top: 0; }

/* .elementor.elementor .e-con > .elementor-widget impoe max-width:100% e apaga
   a medida de leitura quando a classe do design system esta no wrapper. */
.elementor-kit-6.elementor-kit-6 .e-con > .elementor-widget.svc-hero__lead,
.elementor-kit-6.elementor-kit-6 .e-con > .elementor-widget.post-body { max-width: var(--measure); }

/* Heading cujo estilo vem da classe do design system aplicada ao wrapper. */
.elementor-kit-6 .elementor-widget-heading.tn-herda .elementor-heading-title {
  font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; margin: 0;
}

/* .eyebrow, no original, é um <span> inline dentro de um bloco de texto normal;
   no Elementor a classe cai no wrapper e encurta a altura da linha. Devolvemos
   o wrapper ao texto normal e aplicamos o rótulo ao span interno. */
.elementor-kit-6 .elementor-widget.eyebrow {
  font-family: inherit; font-weight: inherit; font-size: inherit;
  letter-spacing: inherit; text-transform: none; color: inherit;
}
.elementor-kit-6 .elementor-widget.eyebrow .elementor-heading-title {
  font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: var(--fs-xs);
  letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--color-primary);
}

/* Widget HTML cujo wrapper precisa sumir do layout para o markup original
   continuar sendo filho direto do grid/flex do design system. */
.elementor-kit-6 .elementor-widget-html.tn-passa,
.elementor-kit-6 .elementor-widget-html.tn-passa > .elementor-widget-container { display: contents; }

.elementor-kit-6 .contact-grid--home { --cols: 0.85fr 1.15fr; --cols-md: 1fr; }

/* ---------- formulário de contato: widget Form com a cara do design system ----------
   O site original tinha .form-grid/.field/.control/.checkbox/.btn escritos à mão.
   O widget Form gera a própria marcação; aqui ela recebe os mesmos valores. */
.elementor-kit-6 .form-card .elementor-form-fields-wrapper {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem;
}
.elementor-kit-6 .form-card .elementor-field-group {
  display: flex; flex-direction: column; align-items: stretch; gap: 0.4rem;
  width: auto; max-width: none; padding: 0; margin: 0; flex-wrap: nowrap;
}
/* a largura do campo vem das classes do proprio Elementor (col-100 / col-50) */
.elementor-kit-6 .form-card .elementor-field-group.elementor-col-100 { grid-column: 1 / -1; }

.elementor-kit-6 .form-card .elementor-field-label {
  font-family: var(--font-body); font-weight: 600; font-size: 1rem;
  color: var(--text-strong); padding: 0; line-height: inherit;
}
.elementor-kit-6 .form-card .elementor-field-required .elementor-field-label::after {
  content: "*"; color: var(--danger-500); margin-left: 3px;
}
.elementor-kit-6 .form-card .elementor-field-textual {
  width: 100%; min-height: 48px; font-family: var(--font-body); font-size: 1.0625rem;
  color: var(--text-strong); background: var(--white);
  border: 1.5px solid var(--border-strong); border-radius: var(--radius-md);
  padding: 0.7rem 0.9rem; outline: none; line-height: normal; box-shadow: none;
  transition: border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);
}
.elementor-kit-6 .form-card .elementor-field-textual::placeholder { color: var(--text-muted); }
.elementor-kit-6 .form-card .elementor-field-textual:focus {
  border-color: var(--border-focus); box-shadow: var(--ring-focus);
}
.elementor-kit-6 .form-card textarea.elementor-field-textual {
  resize: vertical; line-height: 1.55; min-height: 128px;
}
/* o chevron do select era um ícone do design system; escondemos o caret do
   Elementor e desenhamos o mesmo traço como imagem de fundo */
.elementor-kit-6 .form-card .elementor-select-wrapper .select-caret-down-wrapper { display: none; }
.elementor-kit-6 .form-card select.elementor-field-textual {
  appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 2.75rem;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23565E6C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.85rem center;
}
/* aceite da LGPD = .checkbox */
.elementor-kit-6 .form-card .elementor-field-type-acceptance .elementor-field-subgroup { display: block; }
.elementor-kit-6 .form-card .elementor-field-type-acceptance .elementor-field-option {
  display: flex; align-items: flex-start; gap: 0.6rem; cursor: pointer;
  min-height: 44px; padding: 0.2rem 0;
}
.elementor-kit-6 .form-card .elementor-field-type-acceptance input[type="checkbox"] {
  margin: 3px 0 0; width: 20px; height: 20px; accent-color: var(--color-primary); flex: none;
}
.elementor-kit-6 .form-card .elementor-field-type-acceptance label {
  font-size: 1.0625rem; color: var(--text-body); line-height: 1.4; font-weight: 400;
  display: inline; cursor: pointer;
}
/* botão de envio = .btn.btn--primary.btn--block.btn--lg */
.elementor-kit-6 .form-card .elementor-button[type="submit"] {
  display: flex; width: 100%; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.9rem 1.6rem; min-height: 54px;
  font-family: var(--font-body); font-weight: 600; font-size: 1.125rem; line-height: 1.1;
  letter-spacing: 0.005em; border-radius: var(--radius-md);
  background: var(--color-primary); color: #fff; border: 1px solid var(--color-primary);
  transition: background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);
}
.elementor-kit-6 .form-card .elementor-button[type="submit"]:hover { background: var(--color-primary-hover); }
.elementor-kit-6 .form-card .elementor-button[type="submit"]:active { background: var(--color-primary-active); transform: translateY(1px); }
.elementor-kit-6 .form-card .elementor-message { font-family: var(--font-body); font-size: 1rem; }
@media (max-width: 720px) {
  .elementor-kit-6 .form-card .elementor-form-fields-wrapper { grid-template-columns: 1fr; }
}

/* o tema Hello também usa .site-header/.site-footer: devolvemos o design system */
.elementor-kit-6 .site-header,
.elementor-kit-6 .site-header:not(.dynamic-header),
.elementor-kit-6 .site-footer,
.elementor-kit-6 .site-footer:not(.dynamic-footer) {
  display: block;
  flex-wrap: nowrap;
  justify-content: flex-start;
  width: auto;
  max-width: none;
  margin-inline: 0;
  padding-block-start: 0;
  padding-block-end: 0;
  padding-inline-start: 0;
  padding-inline-end: 0;
  position: static;
}
.elementor-kit-6 .site-header { position: sticky; top: 0; }
.elementor-kit-6 .site-header + .elementor { min-height: 0; }/* End custom CSS */