/* ===================================================================
   EVENTIA · Contacto (contacto.html)
=================================================================== */

.contact-layout{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-6);
  align-items: start;
}

/* ---------- Formulario ---------- */
.contact-form{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-l);
  padding: var(--sp-5);
}
.form-row{ margin-bottom: var(--sp-4); }
.form-row label{
  display: block;
  font-size: var(--step-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-mid);
  color: var(--ink-faint);
  margin-bottom: 6px;
}
.form-row input,
.form-row textarea,
.form-row select{
  width: 100%;
  padding: 0.85em 1em;
  border-radius: var(--radius-s);
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--ink);
  transition: border-color var(--dur-fast) var(--ease);
}
.form-row input:focus,
.form-row textarea:focus,
.form-row select:focus{ border-color: var(--dorado-500); outline: none; }
.form-row textarea{ min-height: 120px; resize: vertical; }
.form-error{ color: var(--error); font-size: var(--step-caption); margin-top: 4px; min-height: 1em; }
.form-grid-2{ display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.form-submit{ width: 100%; justify-content: center; }
.form-note{ font-size: var(--step-caption); color: var(--ink-faint); margin-top: var(--sp-3); text-align: center; }

/* ---------- Info lateral ---------- */
.info-card{
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  padding: var(--sp-4);
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  margin-bottom: var(--sp-3);
  background: var(--surface);
}
.info-icon{
  flex: none;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--dorado-100);
  display: flex; align-items: center; justify-content: center;
}
.info-icon svg{ width: 18px; height: 18px; stroke: var(--dorado-600); }
.info-card h4{ font-family: var(--font-body); font-weight: 500; font-size: var(--step-body); }
.info-card p, .info-card a{ font-size: var(--step-small); color: var(--ink-soft); }
.info-card a:hover{ color: var(--dorado-600); }

.map-frame{
  border-radius: var(--radius-m);
  overflow: hidden;
  border: 1px solid var(--line);
  aspect-ratio: 16/10;
  margin-top: var(--sp-3);
}
.map-frame iframe{ width: 100%; height: 100%; border: 0; }

.hours-table{ width: 100%; font-size: var(--step-small); }
.hours-table td{ padding-block: 4px; color: var(--ink-soft); }
.hours-table td:last-child{ text-align: right; color: var(--ink); }

@media (max-width: 900px){
  .contact-layout{ grid-template-columns: 1fr; }
  .form-grid-2{ grid-template-columns: 1fr; }
}
