
/* DIFUSOR V115 · COTIZADOR PREMIUM
   Base: V114 completa.
   Objetivo: mejorar claridad, jerarquía, confianza y facilidad de uso.
   Se conserva el criterio aprobado: panel del formulario más oscuro que el contenedor exterior. */

body.v73-home #contacto{
  padding-top:76px!important;
  padding-bottom:82px!important;
}

/* Contenedor principal de contacto */
body.v73-home #contacto .contact-box,
body.v73-home #contacto .quote-box{
  width:min(1440px,calc(100% - 88px))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding:34px!important;
  display:grid!important;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)!important;
  gap:28px!important;
  align-items:stretch!important;
  border-radius:26px!important;
  background:
    linear-gradient(135deg,rgba(7,25,34,.68),rgba(4,15,21,.72))!important;
  border:1px solid rgba(145,214,242,.15)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 20px 54px rgba(0,0,0,.18)!important;
  -webkit-backdrop-filter:blur(14px) saturate(108%)!important;
  backdrop-filter:blur(14px) saturate(108%)!important;
}

/* Columna editorial izquierda */
body.v73-home #contacto .contact-copy{
  min-width:0!important;
  padding:12px 10px 10px 6px!important;
  display:flex!important;
  flex-direction:column!important;
}

body.v73-home #contacto .contact-copy .kicker{
  margin-bottom:14px!important;
}

body.v73-home #contacto .contact-copy h2{
  max-width:520px!important;
  margin:0 0 15px!important;
  font-size:clamp(34px,3.25vw,54px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  text-wrap:balance!important;
}

body.v73-home #contacto .contact-copy>p{
  max-width:500px!important;
  margin:0 0 25px!important;
  font-size:12px!important;
  line-height:1.62!important;
  color:rgba(255,255,255,.69)!important;
}

/* Los tres pasos pasan a ser más claros y compactos */
body.v73-home #contacto .quote-benefits{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin:0 0 24px!important;
}

body.v73-home #contacto .quote-benefits>div{
  min-height:58px!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:36px 1fr!important;
  align-items:center!important;
  gap:10px!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  background:rgba(3,12,17,.26)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}

body.v73-home #contacto .quote-benefits strong{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  border:1px solid rgba(143,209,236,.25)!important;
  color:#9ddcf3!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
}

body.v73-home #contacto .quote-benefits span{
  color:rgba(255,255,255,.78)!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:.02em!important;
}

/* Datos de contacto como cierre de la columna izquierda */
body.v73-home #contacto .contact-links{
  margin-top:auto!important;
  padding-top:17px!important;
  display:grid!important;
  gap:6px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}

body.v73-home #contacto .contact-links a{
  width:max-content!important;
  max-width:100%!important;
  color:rgba(255,255,255,.72)!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  text-decoration:none!important;
  transition:color .24s ease,transform .24s ease!important;
}

body.v73-home #contacto .contact-links a:hover{
  color:#b7e6f7!important;
  transform:translateX(3px)!important;
}

/* Formulario interior deliberadamente más oscuro */
body.v73-home #contacto .quote-form,
body.v73-home #contacto .form{
  min-width:0!important;
  margin:0!important;
  padding:25px!important;
  border-radius:20px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:
    linear-gradient(145deg,rgba(2,9,13,.88),rgba(4,17,23,.86))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.028),
    0 16px 44px rgba(0,0,0,.20)!important;
  -webkit-backdrop-filter:blur(16px) saturate(106%)!important;
  backdrop-filter:blur(16px) saturate(106%)!important;
}

/* Cabecera nueva del formulario */
body.v73-home #contacto .quote-form-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,.68fr)!important;
  align-items:end!important;
  gap:18px!important;
  margin:0 0 22px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}

body.v73-home #contacto .quote-form-kicker{
  display:block!important;
  margin:0 0 6px!important;
  font-size:8.5px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:#90d2ec!important;
}

body.v73-home #contacto .quote-form-head h3{
  margin:0!important;
  font-size:21px!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  color:#fff!important;
}

body.v73-home #contacto .quote-form-head p{
  max-width:280px!important;
  margin:0 0 1px auto!important;
  font-size:9.5px!important;
  line-height:1.45!important;
  color:rgba(255,255,255,.52)!important;
}

/* Inputs */
body.v73-home #contacto .form-grid{
  gap:12px!important;
}

body.v73-home #contacto .field{
  gap:7px!important;
}

body.v73-home #contacto .field>span{
  font-size:9px!important;
  line-height:1.3!important;
  font-weight:750!important;
  letter-spacing:.055em!important;
  color:rgba(255,255,255,.73)!important;
}

body.v73-home #contacto .field>span em{
  font-style:normal!important;
  font-weight:500!important;
  color:rgba(255,255,255,.38)!important;
}

body.v73-home #contacto .quote-form input,
body.v73-home #contacto .quote-form select,
body.v73-home #contacto .quote-form textarea{
  width:100%!important;
  min-height:47px!important;
  border-radius:11px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  font-size:11px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
  transition:border-color .24s ease,background .24s ease,box-shadow .24s ease!important;
}

body.v73-home #contacto .quote-form input,
body.v73-home #contacto .quote-form select{
  padding-inline:13px!important;
}

body.v73-home #contacto .quote-form textarea{
  min-height:112px!important;
  padding:13px!important;
  resize:vertical!important;
}

body.v73-home #contacto .quote-form input:hover,
body.v73-home #contacto .quote-form select:hover,
body.v73-home #contacto .quote-form textarea:hover{
  border-color:rgba(143,209,236,.20)!important;
  background:rgba(255,255,255,.055)!important;
}

body.v73-home #contacto .quote-form input:focus,
body.v73-home #contacto .quote-form select:focus,
body.v73-home #contacto .quote-form textarea:focus{
  outline:none!important;
  border-color:rgba(143,209,236,.48)!important;
  background:rgba(255,255,255,.065)!important;
  box-shadow:0 0 0 3px rgba(83,174,214,.08)!important;
}

/* Campos dinámicos: separar visualmente sin agregar otra caja pesada */
body.v73-home #contacto .dynamic-fields:not(:empty){
  margin:15px 0!important;
  padding:15px 0 2px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

body.v73-home #contacto .dynamic-intro{
  margin-bottom:12px!important;
  color:rgba(255,255,255,.54)!important;
}

/* Botones */
body.v73-home #contacto .quote-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:18px!important;
}

body.v73-home #contacto .quote-actions .cta{
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  margin:0!important;
}

body.v73-home #contacto .quote-actions .cta-light{
  background:#eef8fb!important;
  border-color:#eef8fb!important;
  color:#08202b!important;
  box-shadow:0 9px 28px rgba(0,0,0,.16)!important;
}

body.v73-home #contacto .quote-actions .cta-light:hover{
  transform:translateY(-2px)!important;
  background:#fff!important;
  border-color:#fff!important;
  box-shadow:0 13px 34px rgba(0,0,0,.22),0 0 20px rgba(120,210,244,.08)!important;
}

body.v73-home #contacto .quote-whatsapp{
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.20)!important;
  color:#fff!important;
}

body.v73-home #contacto .quote-whatsapp:hover{
  transform:translateY(-2px)!important;
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(143,209,236,.32)!important;
}

/* Nota final */
body.v73-home #contacto .note{
  margin-top:14px!important;
  padding-top:13px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  font-size:9px!important;
  line-height:1.5!important;
  color:rgba(255,255,255,.42)!important;
}

body.v73-home #contacto .note strong{
  color:rgba(255,255,255,.62)!important;
}

/* Responsive */
@media(max-width:980px){
  body.v73-home #contacto .contact-box,
  body.v73-home #contacto .quote-box{
    grid-template-columns:1fr!important;
    width:min(820px,calc(100% - 42px))!important;
    gap:22px!important;
    padding:28px!important;
  }

  body.v73-home #contacto .contact-copy{
    padding:4px!important;
  }

  body.v73-home #contacto .quote-benefits{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  body.v73-home #contacto .quote-benefits>div{
    grid-template-columns:1fr!important;
    align-content:start!important;
    min-height:92px!important;
  }

  body.v73-home #contacto .contact-links{
    margin-top:2px!important;
  }
}

@media(max-width:650px){
  body.v73-home #contacto{
    padding-top:60px!important;
    padding-bottom:64px!important;
  }

  body.v73-home #contacto .contact-box,
  body.v73-home #contacto .quote-box{
    width:calc(100% - 24px)!important;
    padding:20px 16px!important;
    border-radius:20px!important;
  }

  body.v73-home #contacto .contact-copy h2{
    font-size:34px!important;
  }

  body.v73-home #contacto .quote-benefits{
    grid-template-columns:1fr!important;
  }

  body.v73-home #contacto .quote-benefits>div{
    min-height:0!important;
    grid-template-columns:36px 1fr!important;
  }

  body.v73-home #contacto .quote-form,
  body.v73-home #contacto .form{
    padding:18px 15px!important;
    border-radius:16px!important;
  }

  body.v73-home #contacto .quote-form-head{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  body.v73-home #contacto .quote-form-head p{
    margin:0!important;
  }

  body.v73-home #contacto .quote-actions{
    grid-template-columns:1fr!important;
  }
}
