/* ======================
   CONTATO — ITA DIGITAL
   ====================== */

   .contact .contact-hero {
    position: relative;
    padding-block: clamp(28px, 6vw, 56px);
    color: #0f172a;
  }
  .theme-dark .contact .contact-hero { color: #e2e8f0; }
  
  .contact .contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) .95fr;
    gap: 14px;
    align-items: start;
  }
  
  .contact .contact-header .eyebrow{
    color:#0b63f3;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    margin:0 0 6px;
  }
  .contact .contact-header h1{
    margin: 0 0 6px;
    line-height: 1.1;
    font-size: clamp(1.6rem, 3.6vw, 2.2rem);
  }
  .contact .contact-header .sub{
    margin: 0 0 10px;
    color: #475569;
  }
  .theme-dark .contact .contact-header .sub{ color:#cbd5e1; }
  
  .contact .contact-header .cta-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
  
  /* Conteúdo */
  .contact .contact-content{
    display: contents; /* deixa os 2 cards alinharem pela grid do pai */
  }
  
  /* Cartões */
  .contact .glass-card{
    border-radius: 16px;
    padding: 14px;
    background: rgba(255,255,255,.75);
    border:1px solid rgba(148,163,184,.25);
    box-shadow: 0 10px 28px rgba(2,6,23,.06);
  }
  .theme-dark .contact .glass-card{
    background: rgba(15,23,42,.55);
    border-color: rgba(148,163,184,.22);
    box-shadow: 0 10px 28px rgba(2,6,23,.5);
  }
  
  .contact .card-title{
    display:flex; align-items:center; gap:8px;
    margin:0 0 8px; font-weight:800;
  }
  .contact .card-title .i{ font-size:18px; }
  
  /* Formulário */
  .contact .form{ display:grid; gap:10px; }
  .contact .form .row{
    display:grid; grid-template-columns: 1fr 1fr; gap:10px;
  }
  .contact .field{ display:grid; gap:6px; }
  .contact .field > span{ font-weight:600; color:#334155; }
  .theme-dark .contact .field > span{ color:#e2e8f0; }
  
  .contact input[type="text"],
  .contact input[type="email"],
  .contact textarea{
    width:100%;
    border-radius:12px;
    border:1px solid rgba(148,163,184,.35);
    background:#fff;
    color:#0f172a;
    padding:10px 12px;
    outline:0;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .contact textarea{ resize: vertical; }
  .theme-dark .contact input[type="text"],
  .theme-dark .contact input[type="email"],
  .theme-dark .contact textarea{
    background:#0b1222;
    color:#e2e8f0;
    border-color: rgba(148,163,184,.35);
  }
  .contact input:focus,
  .contact textarea:focus{
    border-color:#0b63f3;
    box-shadow: 0 0 0 3px color-mix(in srgb, #0b63f3 24%, transparent);
  }
  
  .contact .form-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
  
  /* Alertas */
  .contact .alert{
    border-radius:12px; padding:10px 12px; margin: 6px 0 8px;
    border:1px solid;
  }
  .contact .alert.ok{
    background: #ecfdf5; color:#064e3b; border-color:#34d399;
  }
  .contact .alert.err{
    background: #fef2f2; color:#7f1d1d; border-color:#f87171;
  }
  .theme-dark .contact .alert.ok{
    background: color-mix(in srgb, #34d399 12%, transparent); color:#d1fae5; border-color:#34d399;
  }
  .theme-dark .contact .alert.err{
    background: color-mix(in srgb, #ef4444 12%, transparent); color:#fecaca; border-color:#ef4444;
  }
  
  /* Steps */
  .contact .steps{
    list-style:none; padding:0; margin:0 0 10px;
    display:grid; gap:10px;
  }
  .contact .steps li{
    display:grid; grid-template-columns: 28px 1fr; gap:10px; align-items:flex-start;
    background: rgba(255,255,255,.6);
    border:1px solid rgba(148,163,184,.25);
    border-radius:12px; padding:8px 10px;
  }
  .theme-dark .contact .steps li{
    background: rgba(15,23,42,.45); border-color: rgba(148,163,184,.22);
  }
  .contact .steps .badge{
    width:28px; height:28px; border-radius:999px; display:grid; place-items:center;
    background:#0b63f3; color:#fff; font-weight:800;
  }
  
  /* Horários */
  .contact .hours h3{ margin:6px 0 6px; }
  .contact .hours ul{
    list-style:none; padding:0; margin:0; display:grid; gap:6px;
  }
  .contact .hours li{ display:flex; justify-content:space-between; gap:8px; border-bottom:1px dashed rgba(148,163,184,.35); padding-bottom:6px; }
  .contact .hours li:last-child{ border-bottom:0; }
  
  /* Links inline */
  .contact .contact-box{
    display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px;
  }
  .contact .inline-link{
    color:#0b63f3; text-decoration:none; font-weight:700;
  }
  .contact .inline-link:hover{ text-decoration:underline; }
  .contact .contact-box .sep{ color:#94a3b8; }
  
  /* Responsivo */
  @media (max-width: 1024px){
    .contact .contact-grid{ grid-template-columns: 1fr; }
  }
  @media (max-width: 560px){
    .contact .form .row{ grid-template-columns:1fr; }
  }
  