/* HAACI · Página Contactos [haaci_contactos]
   Se apoya en assets/inicio/inicio.css (variables, banner, botones). */

.haaci-cont{overflow-x:clip}
.hc-hero{padding:clamp(60px,7.5vw,104px) 0 calc(clamp(40px,4.6vw,64px) + var(--onda-hero))}
.hc-hero h1{max-width:none}

.hc-grid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(20px,3vw,34px); align-items:start}
.hc-caja{background:#fff; border:1px solid var(--linea); border-radius:12px; padding:clamp(20px,2.6vw,30px); box-shadow:0 18px 40px -34px rgba(0,0,0,.45)}
.hc-form{border-top:4px solid var(--v)}
.hc-form h2{font-size:clamp(19px,2vw,23px); font-weight:800; text-transform:uppercase; margin-bottom:18px!important}

/* tipo de solicitud */
.hc-tipos{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:22px}
.hc-tipo{font-family:inherit; text-align:left; display:flex; flex-direction:column; gap:4px; padding:13px 13px 12px; border-radius:8px; border:1px solid var(--linea); background:var(--papel-2); color:inherit; cursor:pointer; transition:.18s; text-transform:none; letter-spacing:0; line-height:1.4; box-shadow:none; margin:0}
.hc-tipo:hover{border-color:var(--v); background:#fff}
.hc-tipo[aria-pressed="true"]{border-color:var(--v); background:var(--v-suave); box-shadow:inset 0 0 0 1px var(--v)}
.hc-tipo b{font-size:12.5px; font-weight:800; color:var(--tinta); text-transform:uppercase; letter-spacing:.03em}
.hc-tipo[aria-pressed="true"] b{color:var(--v-txt)}
.hc-tipo span{font-size:11.5px; color:var(--suave); font-weight:500}

/* campos */
.hc-campos{display:grid; grid-template-columns:1fr 1fr; gap:14px 16px}
.hc-campo{display:flex; flex-direction:column; gap:6px; min-width:0}
.hc-campo[hidden]{display:none}
.hc-campo.ancho{grid-column:1/-1}
.hc-campo label{font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--suave); margin:0}
.hc-campo .req{color:#C0392B}
.haaci-cont .hc-campo input,.haaci-cont .hc-campo select,.haaci-cont .hc-campo textarea{font-family:inherit; font-size:14px; padding:11px 12px; border-radius:6px; border:1px solid var(--linea); background:var(--papel-2); color:var(--tinta); width:100%; height:auto; margin:0; box-shadow:none; transition:border-color .15s, background .15s}
.haaci-cont .hc-campo input:focus,.haaci-cont .hc-campo select:focus,.haaci-cont .hc-campo textarea:focus{border-color:var(--v); background:#fff; outline:none}
.haaci-cont .hc-campo textarea{resize:vertical; min-height:110px}
.hc-campo.malo input{border-color:#C0392B; background:#FFF6F5}
.hc-tel{display:grid; grid-template-columns:158px 1fr; gap:8px}
.hc-trampa{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.hc-acciones{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; align-items:center}
.hi-btn.hc-wa{background:transparent; border-color:#1FA855; color:#128C4A!important}
.hi-btn.hc-wa svg{width:17px; height:17px}
.hi-btn.hc-wa:hover{background:#1FA855; color:#fff!important}
.hc-ok{display:flex; gap:12px; align-items:flex-start; background:var(--v-suave); border:1px solid var(--v); border-radius:8px; padding:14px 16px; margin-bottom:18px}
.hc-ok svg{flex:0 0 20px; width:20px; height:20px; color:var(--v-txt); margin-top:2px}
.hc-ok b{display:block; font-size:14px; color:var(--tinta)}
.haaci-cont .hc-ok p{font-size:13.5px; margin-top:3px}
.haaci-cont .hc-error{background:#FFF6F5; border:1px solid #E8B4AE; color:#A93226; border-radius:8px; padding:11px 14px; margin-bottom:16px; font-size:13.5px; font-weight:600}

/* datos y mapa */
.hc-lado{display:flex; flex-direction:column; gap:16px}
.hc-dato{display:flex; gap:13px; padding:14px 0; border-bottom:1px solid var(--linea); align-items:flex-start}
.hc-dato:first-child{padding-top:2px}
.hc-dato:last-child{border-bottom:0; padding-bottom:2px}
.hc-dato svg{flex:0 0 36px; width:36px; height:36px; padding:8px; border-radius:50%; background:var(--v-suave); color:var(--v-txt)}
.haaci-cont .hc-dato .k{font-size:10.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--suave)}
.haaci-cont .hc-dato .v{font-size:14.5px; color:var(--tinta); font-weight:700; margin-top:2px}
.hc-dato .v small{display:block; font-size:13px; font-weight:500; color:var(--texto); margin-top:2px}
.hc-dato a{color:inherit!important; text-decoration:none!important}
.hc-dato a:hover{color:var(--v-txt)!important}
.hc-mapa{border-radius:12px; overflow:hidden; border:1px solid var(--linea); aspect-ratio:16/11; box-shadow:0 18px 40px -34px rgba(0,0,0,.45)}
.hc-mapa iframe{width:100%; height:100%; border:0; display:block}

@media (max-width:1000px){ .hc-tipos{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px){ .hc-grid{grid-template-columns:1fr} }
@media (max-width:560px){
  .hc-campos{grid-template-columns:1fr}
  .hc-tel{grid-template-columns:150px 1fr}
}

/* (3-oct) lista completa de países */
.hc-tel{grid-template-columns:minmax(140px,190px) 1fr}
