/* CartorioLabs — assets/css/main.css v3.0 */

:root {
  --navy: #0d1b2a;
  --gold: #c9a84c;
  --gold-light: #e8c97a;
  --cream: #f7f3ec;
  --border: rgba(201,168,76,0.2);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--navy); color:var(--cream); overflow-x:hidden; }

/* ── NAV ── */
nav {
  position:fixed; top:0; width:100%; z-index:100;
  padding:0.4rem 4rem;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(13,27,42,0.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.logo-link { display:flex; align-items:center; text-decoration:none; flex-shrink:0; }
.logo-link:hover { opacity:0.85; transition:opacity .2s; }
.logo {
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem; font-weight:600;
  color:var(--gold); letter-spacing:0.08em;
  text-transform:uppercase; text-decoration:none;
}
.logo span { color:var(--cream); font-weight:300; }
nav ul { list-style:none; display:flex; gap:0.2rem; align-items:center; }
nav ul li a {
  display:block;
  text-decoration:none; color:var(--cream);
  font-size:0.8rem; font-weight:500;
  letter-spacing:0.06em; text-transform:uppercase;
  opacity:0.75; transition:opacity .2s, color .2s;
  padding:0.5rem 1rem;
}
nav ul li a:hover { opacity:1; color:var(--gold); }
nav ul li a.nav-cta {
  background:var(--gold); color:var(--navy) !important;
  opacity:1 !important; font-weight:600;
  padding:0.5rem 1.2rem;
  transition:background .2s;
}
nav ul li a.nav-cta:hover { background:var(--gold-light); }

/* ── HERO ── */
#hero { min-height:100vh; display:flex; align-items:center; padding:0 4rem; position:relative; overflow:hidden; }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(201,168,76,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.04) 1px,transparent 1px); background-size:60px 60px; }
.hero-glow { position:absolute; right:-10%; top:10%; width:650px; height:650px; background:radial-gradient(circle,rgba(201,168,76,0.08) 0%,transparent 70%); pointer-events:none; }
.hero-content { position:relative; max-width:760px; }
.hero-badge { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(201,168,76,0.1); border:1px solid var(--border); padding:0.4rem 1rem; border-radius:2px; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:2rem; }
.hero-badge::before { content:''; width:6px; height:6px; background:var(--gold); border-radius:50%; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.3} }
h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,6vw,5.5rem); font-weight:300; line-height:1.05; margin-bottom:1.5rem; color:var(--cream); }
h1 em { font-style:normal; color:var(--gold); display:block; }
.hero-sub { font-size:1.05rem; line-height:1.75; color:rgba(247,243,236,0.65); max-width:700px; margin-bottom:2.5rem; font-weight:300; }
.since { font-family:'Cormorant Garamond',serif; font-size:0.9rem; letter-spacing:0.2em; color:var(--gold); opacity:0.7; text-transform:uppercase; margin-bottom:3rem; }
.hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; }

/* BOTÕES */
.btn-primary { display:inline-block; background:var(--gold); color:var(--navy); padding:0.85rem 2.2rem; font-size:0.82rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; transition:background .2s,transform .15s; }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-1px); }
.btn-outline { display:inline-block; border:1px solid var(--border); color:var(--cream); padding:0.85rem 2.2rem; font-size:0.82rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; transition:border-color .2s,color .2s; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }

/* STATS */
#stats { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:3rem 4rem; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; background:rgba(201,168,76,0.03); }
.stat-item { text-align:center; }
.stat-number { font-family:'Cormorant Garamond',serif; font-size:3.2rem; font-weight:700; color:var(--gold); line-height:1; display:block; }
.stat-label { font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(247,243,236,0.5); margin-top:0.4rem; }

/* SEÇÕES */
section { padding:6rem 4rem; }
.section-tag { font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; display:flex; align-items:center; gap:0.75rem; }
.section-tag::before { content:''; display:block; width:28px; height:1px; background:var(--gold); }
h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:300; color:var(--cream); line-height:1.15; margin-bottom:1.2rem; }
h2 strong { font-weight:700; color:var(--gold); }
.section-intro { font-size:1rem; line-height:1.75; color:rgba(247,243,236,0.6); max-width:560px; font-weight:300; }

/* SERVIÇOS — 3 colunas */
#servicos .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; margin-top:3.5rem; background:var(--border); }
.service-card { background:var(--navy); padding:2.5rem; transition:background .25s; position:relative; overflow:hidden; }
.service-card::before { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--gold); transition:width .3s ease; }
.service-card:hover { background:rgba(201,168,76,0.05); }
.service-card:hover::before { width:100%; }
.service-icon { font-size:1.8rem; margin-bottom:1.2rem; display:block; }
.service-title { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:600; color:var(--cream); margin-bottom:0.75rem; }
.service-desc { font-size:0.88rem; line-height:1.7; color:rgba(247,243,236,0.55); font-weight:300; }

/* SISTEMAS */
#sistemas { background:rgba(201,168,76,0.02); border-top:1px solid var(--border); }
.sistemas-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:3.5rem; }
.sistema-card { border:1px solid var(--border); padding:2.8rem; position:relative; overflow:hidden; transition:border-color .3s; }
.sistema-card:hover { border-color:var(--gold); }
.sistema-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:100%; background:var(--gold); opacity:0.5; }
.sistema-numero { font-family:'Cormorant Garamond',serif; font-size:4rem; font-weight:700; color:rgba(201,168,76,0.12); line-height:1; position:absolute; top:1.5rem; right:2rem; }
.sistema-badge { display:inline-block; background:rgba(201,168,76,0.1); border:1px solid var(--border); padding:0.25rem 0.7rem; font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; }
.sistema-title { font-family:'Cormorant Garamond',serif; font-size:1.65rem; font-weight:600; color:var(--cream); margin-bottom:0.8rem; line-height:1.2; }
.sistema-desc { font-size:0.9rem; line-height:1.75; color:rgba(247,243,236,0.6); font-weight:300; margin-bottom:1.5rem; }
.sistema-features { list-style:none; }
.sistema-features li { display:flex; align-items:flex-start; gap:0.6rem; font-size:0.82rem; color:rgba(247,243,236,0.55); padding:0.4rem 0; border-bottom:1px solid rgba(201,168,76,0.07); line-height:1.5; }
.sistema-features li:last-child { border-bottom:none; }
.sistema-features li::before { content:'✓'; color:var(--gold); font-size:0.75rem; margin-top:2px; flex-shrink:0; }
.sistema-ai-badge { display:inline-flex; align-items:center; gap:0.4rem; background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.25); padding:0.3rem 0.8rem; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); margin-top:1.2rem; }

/* TRAJETÓRIA */
#trajetoria { background:rgba(201,168,76,0.02); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.expertise-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; margin-top:3.5rem; background:var(--border); }
.expertise-item { background:var(--navy); padding:2rem 1.8rem; transition:background .25s; }
.expertise-item:hover { background:rgba(201,168,76,0.05); }
.expertise-icon { font-size:1.6rem; margin-bottom:0.8rem; display:block; }
.expertise-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:600; color:var(--gold); margin-bottom:0.5rem; }
.expertise-desc { font-size:0.82rem; line-height:1.6; color:rgba(247,243,236,0.5); font-weight:300; }

/* SOBRE */
#sobre { display:grid; grid-template-columns:1fr 1.4fr; gap:6rem; align-items:center; }
.sobre-visual { position:relative; }
.sobre-card { background:rgba(201,168,76,0.06); border:1px solid var(--border); padding:2.5rem; }
.sobre-card::after { content:'"20+ anos\Ade experiência"'; white-space:pre; font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:300; color:var(--gold); line-height:1.3; }
.sobre-accent { position:absolute; bottom:-1.5rem; right:-1.5rem; width:80px; height:80px; border-right:2px solid var(--gold); border-bottom:2px solid var(--gold); }
.sobre-text p { font-size:0.95rem; line-height:1.8; color:rgba(247,243,236,0.65); margin-bottom:1.2rem; font-weight:300; }
.sobre-text strong { color:var(--cream); font-weight:500; }
.tags-row { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1.5rem; }
.tag { font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; padding:0.35rem 0.8rem; border:1px solid var(--border); color:rgba(247,243,236,0.5); transition:border-color .2s,color .2s; }
.tag:hover { border-color:var(--gold); color:var(--gold); }

/* CONTATO */
#contato { text-align:center; padding:6rem 4rem; background:rgba(201,168,76,0.03); border-top:1px solid var(--border); }
#contato h2 { margin-bottom:1rem; }
#contato .section-intro { margin:0 auto 2.5rem; text-align:center; }
.contato-layout { display:grid; grid-template-columns:1fr 1.5fr; gap:3rem; margin-top:3rem; text-align:left; align-items:start; }
.contact-cards-col { display:flex; flex-direction:column; gap:1rem; }
.contact-card { border:1px solid var(--border); padding:1.2rem 1.5rem; display:flex; align-items:center; gap:1rem; text-decoration:none; color:var(--cream); transition:border-color .2s,background .2s; }
.contact-card:hover { border-color:var(--gold); background:rgba(201,168,76,0.06); }
.contact-card .ci { font-size:1.3rem; flex-shrink:0; }
.contact-card small { display:block; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); opacity:0.8; margin-bottom:0.15rem; }
.contact-card span { font-size:0.85rem; color:rgba(247,243,236,0.75); }

/* FORMULÁRIO */
.form-box { border:1px solid var(--border); padding:2.5rem; background:rgba(201,168,76,0.02); }
.form-box h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:600; color:var(--cream); margin-bottom:0.4rem; }
.form-box > p { font-size:0.83rem; color:rgba(247,243,236,0.45); margin-bottom:1.8rem; line-height:1.5; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1rem; }
.form-group label { font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); opacity:0.85; }
.form-group input,
.form-group select,
.form-group textarea { background:rgba(13,27,42,0.9); border:1px solid var(--border); color:var(--cream); padding:0.7rem 1rem; font-size:0.88rem; font-family:'DM Sans',sans-serif; outline:none; transition:border-color .2s; width:100%; }
.form-group input::placeholder,
.form-group textarea::placeholder { color:rgba(247,243,236,0.25); }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--gold); }
.form-group select { appearance:none; cursor:pointer; }
.form-group select option { background:#0d1b2a; }
.form-group textarea { resize:vertical; min-height:110px; }
.form-submit { background:var(--gold); color:var(--navy); border:none; padding:0.9rem 2.5rem; font-size:0.82rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; width:100%; margin-top:0.5rem; transition:background .2s; font-family:'DM Sans',sans-serif; }
.form-submit:hover { background:var(--gold-light); }
.form-note { font-size:0.72rem; color:rgba(247,243,236,0.25); margin-top:0.75rem; text-align:center; }

/* CONTACT FORM 7 — estilo forçado no padrão do tema */
.wpcf7 { width:100%; }
.wpcf7 br { display:none; }
.wpcf7 p,
.wpcf7 .wpcf7-form p { margin-bottom:0.8rem; }
.wpcf7 .wpcf7-form-control-wrap,
.wpcf7 span.wpcf7-form-control-wrap { display:block; width:100%; }

/* Força fundo escuro em TODOS os campos — sobrescreve CF7 e qualquer tema */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea,
.wpcf7 .wpcf7-text,
.wpcf7 .wpcf7-email,
.wpcf7 .wpcf7-tel,
.wpcf7 .wpcf7-textarea,
.wpcf7 .wpcf7-select,
div.wpcf7 input,
div.wpcf7 textarea,
div.wpcf7 select,
#pagina-contato .wpcf7 input,
#pagina-contato .wpcf7 textarea,
#pagina-contato .wpcf7 select,
#contato .wpcf7 input,
#contato .wpcf7 textarea,
#contato .wpcf7 select {
  display:block !important;
  width:100% !important;
  background:#0d1b2a !important;
  background-color:#0d1b2a !important;
  border:1px solid rgba(201,168,76,0.25) !important;
  color:#f7f3ec !important;
  padding:0.85rem 1.1rem !important;
  font-size:0.92rem !important;
  font-family:'DM Sans',sans-serif !important;
  outline:none !important;
  margin-bottom:1rem !important;
  transition:border-color .2s !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus,
div.wpcf7 input:focus,
div.wpcf7 textarea:focus { border-color:#c9a84c !important; }

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder { color:rgba(247,243,236,0.3) !important; }
.wpcf7 select option { background:#0d1b2a !important; color:#f7f3ec !important; }

.wpcf7 textarea,
.wpcf7 .wpcf7-textarea,
div.wpcf7 textarea { min-height:140px !important; resize:vertical !important; }

.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit,
div.wpcf7 input[type="submit"] {
  display:block !important;
  width:100% !important;
  background:#c9a84c !important;
  color:#0d1b2a !important;
  border:none !important;
  padding:1rem 2.5rem !important;
  font-size:0.85rem !important;
  font-weight:700 !important;
  letter-spacing:0.1em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  font-family:'DM Sans',sans-serif !important;
  transition:background .2s !important;
  border-radius:0 !important;
  margin-top:0.5rem !important;
  box-shadow:none !important;
}
.wpcf7 input[type="submit"]:hover,
div.wpcf7 input[type="submit"]:hover { background:#e8c97a !important; }

.wpcf7 .wpcf7-not-valid-tip {
  color:#f87171 !important;
  font-size:0.75rem !important;
  margin-top:-0.6rem !important;
  margin-bottom:0.5rem !important;
  display:block !important;
}
.wpcf7 .wpcf7-response-output {
  border:1px solid rgba(201,168,76,0.2) !important;
  padding:0.75rem 1rem !important;
  margin-top:1rem !important;
  font-size:0.82rem !important;
  color:#f7f3ec !important;
  background:rgba(201,168,76,0.06) !important;
  border-radius:0 !important;
}
.wpcf7 .wpcf7-mail-sent-ok { border-color:#c9a84c !important; color:#c9a84c !important; }
.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-spam-blocked { border-color:#f87171 !important; }

.wpcf7 label {
  display:block !important;
  font-size:0.7rem !important;
  letter-spacing:0.1em !important;
  text-transform:uppercase !important;
  color:#c9a84c !important;
  opacity:0.85 !important;
  margin-bottom:0.35rem !important;
  font-family:'DM Sans',sans-serif !important;
}

/* FOOTER */
footer { padding:2rem 4rem; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; font-size:0.78rem; color:rgba(247,243,236,0.3); }
footer .logo { font-size:1rem; }

/* ANIMAÇÕES */
.fade-up { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease,transform 0.6s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* RESPONSIVO */
@media (max-width:960px) {
  nav { padding:1rem 1.5rem; }
  nav ul { display:none; }
  #hero,section,#contato { padding:4rem 1.5rem; }
  #stats { grid-template-columns:repeat(2,1fr); padding:2rem 1.5rem; }
  #servicos .services-grid,.sistemas-grid,.expertise-grid { grid-template-columns:1fr; }
  #sobre { grid-template-columns:1fr; gap:2.5rem; }
  .contato-layout { grid-template-columns:1fr; gap:2rem; }
  .form-row { grid-template-columns:1fr; }
  footer { flex-direction:column; gap:0.5rem; text-align:center; }
  h1 { font-size:2.8rem; }
  #prov213 > div { grid-template-columns:1fr !important; gap:2.5rem !important; }
}
