/* =====================================================================
   ARMONIQ · Estilos del formulario de contacto y del modal
   Se carga en todas las páginas del sitio.
   ===================================================================== */

/* ---------- Campos del formulario ---------- */
.aq-form{display:flex;flex-direction:column;gap:16px;margin-top:8px}
.aq-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aq-field{display:flex;flex-direction:column;gap:6px}
.aq-field label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink);font-weight:600;letter-spacing:0.3px}
.aq-req{color:var(--terracotta)}
.aq-opt{color:var(--muted-2);font-weight:400;text-transform:none;letter-spacing:0}
.aq-field input[type="text"],
.aq-field input[type="email"],
.aq-field input[type="tel"],
.aq-field select,
.aq-field textarea{
  font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;transition:border-color 0.2s;width:100%;box-sizing:border-box;
}
.aq-field input:focus,
.aq-field select:focus,
.aq-field textarea:focus{outline:none;border-color:var(--terracotta)}
.aq-field textarea{resize:vertical;min-height:110px;font-family:'Inter',sans-serif;line-height:1.55}
.aq-field select{cursor:pointer}
.aq-checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted);line-height:1.55;cursor:pointer}
.aq-checkbox-row input{margin-top:3px;flex-shrink:0;accent-color:var(--terracotta);width:16px;height:16px}
.aq-checkbox-row a{color:var(--terracotta);font-weight:600}
.aq-honeypot{position:absolute !important;left:-9999px !important;opacity:0 !important;height:0 !important;width:0 !important}
.aq-form-submit{border:none;cursor:pointer;font-family:'Inter',sans-serif}
.aq-form-status{font-family:'JetBrains Mono',monospace;font-size:12.5px;text-align:center;min-height:18px;line-height:1.5}
.aq-form-status.ok{color:#2E7D5B}
.aq-form-status.err{color:var(--terracotta)}
@media(max-width:600px){.aq-form-row{grid-template-columns:1fr}}

/* ---------- Modal ---------- */
.aq-modal-overlay{
  position:fixed;inset:0;z-index:999;
  background:rgba(15,61,68,0.55);backdrop-filter:blur(4px);
  display:none;align-items:flex-start;justify-content:center;
  padding:40px 20px;overflow-y:auto;
}
.aq-modal-overlay.is-open{display:flex}
.aq-modal{
  background:var(--white);border:1px solid var(--line);border-radius:18px;
  padding:40px 38px;max-width:620px;width:100%;position:relative;
  box-shadow:0 24px 60px rgba(15,61,68,0.18);
  animation:aqModalIn 0.22s cubic-bezier(.2,.7,.3,1);
  margin:auto;
}
@keyframes aqModalIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.aq-modal-close{
  position:absolute;top:16px;right:18px;
  background:none;border:none;cursor:pointer;
  font-size:26px;line-height:1;color:var(--muted-2);
  width:34px;height:34px;border-radius:8px;transition:all 0.2s;
  display:flex;align-items:center;justify-content:center;font-family:inherit;
}
.aq-modal-close:hover{background:var(--bone);color:var(--terracotta)}
.aq-modal-tag{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--terracotta);text-transform:uppercase;letter-spacing:2px;font-weight:600;margin-bottom:12px}
.aq-modal-title{font-size:26px;font-weight:800;letter-spacing:-0.8px;color:var(--ink);margin-bottom:10px}
.aq-modal-sub{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:8px}
@media(max-width:600px){
  .aq-modal-overlay{padding:20px 14px}
  .aq-modal{padding:32px 22px}
  .aq-modal-title{font-size:22px}
}
