/* Homqi Contacto — estilos sobre widgets nativos Elementor + CF7 */
:root {
  --hq-c-bg: #0c181f;
  --hq-c-panel: #141f29;
  --hq-c-gold: #c19b67;
  --hq-c-gold-2: #d4af74;
  --hq-c-line: rgba(193, 155, 103, 0.28);
  --hq-c-muted: rgba(255, 255, 255, 0.68);
}

/* —— Hero —— */
.hqh-contacto-hero .elementor-heading-title {
  margin: 0;
}
.hqh-contacto-hero .hqh-contacto-hero__title .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  line-height: 1.08 !important;
}
.hqh-contacto-hero .elementor-widget-text-editor {
  max-width: 48ch;
  margin-left: auto;
  margin-right: auto;
}
.hqh-contacto-hero .elementor-widget-text-editor p {
  margin: 0;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
}
.hqh-contacto-divider-el .elementor-divider-separator {
  max-width: 520px;
  margin-inline: auto;
}

/* Espacio bajo header Homqi */
.hqh-contacto-hero,
.hqh-contacto-vias,
.hqh-contacto-cards {
  position: relative;
  z-index: 1;
}
.hqh-contacto-vias {
  padding-top: 48px;
}
.hqh-contacto-cards {
  margin-bottom: 28px;
}
.hqh-contacto-panel {
  margin-top: 12px !important;
  margin-bottom: 56px !important;
}

/* —— Cards (Icon Box en columnas) —— */
.hqh-contacto-cards .hqh-contacto-card-col {
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.hqh-contacto-cards .elementor-widget-icon-box {
  width: 100%;
}
.hqh-contacto-cards .hqh-contacto-card-col:hover {
  border-color: rgba(193, 155, 103, 0.55) !important;
  transform: translateY(-2px);
}
.hqh-contacto-cards .elementor-icon-box-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
.hqh-contacto-cards .elementor-icon-box-description {
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
.hqh-contacto-cards .elementor-icon {
  margin-bottom: 6px !important;
}

/* —— Panel form + sidebar —— */
.hqh-contacto-panel {
  overflow: hidden;
}
.hqh-contacto-panel__form .elementor-heading-title,
.hqh-contacto-panel__side .elementor-heading-title {
  margin: 0;
}

/* Accesos = Icon List con borde tipo botón */
.hqh-contacto-accesos-el .elementor-icon-list-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hqh-contacto-accesos-el .elementor-icon-list-item {
  margin: 0 0 10px !important;
}
.hqh-contacto-accesos-el .elementor-icon-list-item a,
.hqh-contacto-accesos-el .elementor-icon-list-item > .elementor-icon-list-text {
  display: flex !important;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 12px 14px !important;
  border: 1px solid var(--hq-c-line);
  color: #fff !important;
  text-decoration: none !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.hqh-contacto-accesos-el .elementor-icon-list-item a:hover {
  border-color: rgba(193, 155, 103, 0.55);
  background: rgba(193, 155, 103, 0.08);
}
.hqh-contacto-accesos-el .elementor-icon-list-icon {
  margin-right: 0 !important;
}

/* WhatsApp icon-box */
.hqh-contacto-wa-el {
  padding: 22px 14px 8px;
  border: 1px solid var(--hq-c-line);
}
.hqh-contacto-wa-el .elementor-icon-box-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.hqh-contacto-wa-btn .elementor-button {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* —— CF7 (widget Shortcode con clase hqh-cf7) —— */
.hqh-cf7 .wpcf7,
.hqh-contacto-panel .wpcf7 {
  margin: 0;
}
.hqh-cf7 .hqh-cf7__row,
.hqh-contacto-panel .hqh-cf7__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
  margin-bottom: 14px;
}
.hqh-cf7 .hqh-cf7__row--full,
.hqh-contacto-panel .hqh-cf7__row--full {
  grid-template-columns: 1fr;
}
.hqh-cf7 .hqh-cf7__field,
.hqh-contacto-panel .hqh-cf7__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hqh-cf7 .hqh-cf7__label,
.hqh-contacto-panel .hqh-cf7__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--hq-c-gold);
}
.hqh-cf7 input[type="text"],
.hqh-cf7 input[type="email"],
.hqh-cf7 input[type="tel"],
.hqh-cf7 input[type="url"],
.hqh-cf7 textarea,
.hqh-cf7 select,
.hqh-contacto-panel .wpcf7 input[type="text"],
.hqh-contacto-panel .wpcf7 input[type="email"],
.hqh-contacto-panel .wpcf7 input[type="tel"],
.hqh-contacto-panel .wpcf7 textarea,
.hqh-contacto-panel .wpcf7 select {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0;
  background: rgba(0, 0, 0, 0.28);
  color: #fff;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}
.hqh-cf7 textarea,
.hqh-contacto-panel .wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}
.hqh-cf7 input:focus,
.hqh-cf7 textarea:focus,
.hqh-cf7 select:focus,
.hqh-contacto-panel .wpcf7 input:focus,
.hqh-contacto-panel .wpcf7 textarea:focus,
.hqh-contacto-panel .wpcf7 select:focus {
  border-color: var(--hq-c-gold);
}
.hqh-cf7 select,
.hqh-contacto-panel .wpcf7 select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--hq-c-gold) 50%),
    linear-gradient(135deg, var(--hq-c-gold) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 36px;
  color: rgba(255, 255, 255, 0.75);
}
.hqh-cf7 .wpcf7-submit,
.hqh-contacto-panel .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  width: 100%;
  margin-top: 8px;
  padding: 0 28px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--hq-c-gold-2), var(--hq-c-gold));
  color: #0c181f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter 0.2s ease;
}
.hqh-cf7 .wpcf7-submit:hover,
.hqh-contacto-panel .wpcf7-submit:hover {
  filter: brightness(1.06);
}
.hqh-cf7 .wpcf7-not-valid-tip,
.hqh-contacto-panel .wpcf7-not-valid-tip {
  font-size: 12px;
  color: #e8a0a0;
}
.hqh-cf7 .wpcf7-response-output,
.hqh-contacto-panel .wpcf7-response-output {
  margin: 16px 0 0;
  border-color: var(--hq-c-gold);
  color: #fff;
}

/* —— Mapas —— */
.hqh-contacto-maps-el .hqh-contacto-map-col {
  overflow: hidden;
  background: #101820;
}
.hqh-contacto-maps-el iframe {
  filter: grayscale(0.25) contrast(1.05);
}

@media (max-width: 980px) {
  .hqh-contacto-panel .elementor-col-65,
  .hqh-contacto-panel .elementor-col-35 {
    width: 100% !important;
  }
  .hqh-contacto-panel__form {
    border-right: 0 !important;
    border-bottom: 1px solid var(--hq-c-line) !important;
  }
}
@media (max-width: 640px) {
  .hqh-cf7 .hqh-cf7__row,
  .hqh-contacto-panel .hqh-cf7__row {
    grid-template-columns: 1fr;
  }
}

/* Social Icons Elementor */
.hqh-contacto-social-el .elementor-social-icon {
  background: transparent !important;
  border: 1px solid var(--hq-c-line) !important;
  color: var(--hq-c-gold) !important;
}
.hqh-contacto-social-el .elementor-social-icon i,
.hqh-contacto-social-el .elementor-social-icon svg {
  color: var(--hq-c-gold) !important;
  fill: var(--hq-c-gold) !important;
}
