/**
 * Theme Name:     Farecor
 * Author:         Small Development
 * Template:       Divi
 * Text Domain:	   Farecor
 * Description:    Tema hijo de DIVI 5 para Farecor
 * Author URI:     https://smalldev.es
 * Version:        1.0
 */

@keyframes sombra-cabecera {
  from { box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0); }
  to   { box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.3); }
}

@supports (animation-timeline: scroll()) {
  #cabecera-home {
    animation: sombra-cabecera linear both;
    animation-timeline: scroll(root);
    animation-range: 0 150px;
  }
}

/* ESTILOS PARA MENÚ PRINCIPAL */
#menu-principal .nav li ul.sub-menu {
  width: max-content;
  min-width: 240px;
}
#menu-principal .nav li ul.sub-menu li {
  width: auto;
  display: block;
}
#menu-principal .nav li ul.sub-menu li a {
  width: auto;
  white-space: nowrap;
  font-size: 16px;
}
/* Opción visible solo en móvil (oculta en tablet y escritorio) */
@media (min-width: 768px) {
  .menu-item.solo-movil {
    display: none !important;
  }
}
/* ESTILOS PARA SUBMENU MOVIL */
#dm_nav li ul.sub-menu li a { font-family: inherit; } 

/* ESTILO CUADRO DE RESULTADOS DEL BUSCADOR */
#buscador-header .dipl_ajax_search_results_wrap {
  width: 560px;
  left: auto;
  right: 0;
}

/* CARRUSEL PROYECTOS */
#carrusel-proyectos .dsm-post-carousel-item .dsm-grid-post-holder-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
#carrusel-proyectos .dsm-entry-wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
}
#carrusel-proyectos .dsm-readmore-wrap {
  margin-top: auto;
}
/* ---------------------- */
/* -------- MAPA ------- */
/* -------------------- */
.columna-mapa {
  display: flex;
  flex-direction: column;
}
.columna-mapa .mapa-contacto {
  flex: 1;
  min-height: 350px;
}
.mapa-contacto .et_pb_code_inner {
  height: 100%;
}
.mapa-contacto iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 350px;
  border: 0;
}

/* Móvil: formato horizontal */
@media (max-width: 767px) {
  .columna-mapa .mapa-contacto {
    flex: none;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  .mapa-contacto iframe {
    min-height: 0;
  }
}

/* ----------------------  */
/* FORMULARIO DE CONTACTO */
/* --------------------- */
.form-contacto {
  display: grid;
  gap: 1.5rem;
}
.form-contacto p { margin: 0; }
.form-contacto br { display: none; }

.form-contacto .fila {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.form-contacto .campo { flex: 1 1 100%; min-width: 0; }
.form-contacto .fila--2 .campo { flex: 1 1 12rem; }
.form-contacto .wpcf7-form-control-wrap { display: block; }

/* Campos: solo línea inferior */
.form-contacto input[type="text"],
.form-contacto input[type="email"],
.form-contacto input[type="tel"],
.form-contacto select,
.form-contacto textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 1rem;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--gcid-body-color, #5d5f57);
  border-radius: 0;
  box-shadow: none;
  outline: none;
  font: inherit;
  color: inherit;
}
.form-contacto input:focus,
.form-contacto select:focus,
.form-contacto textarea:focus {
  border-bottom-color: var(--gcid-primary-color, #b5172a);
}
.form-contacto ::placeholder { color: inherit; opacity: 0.6; }
.form-contacto textarea { resize: vertical; }

/* Desplegable con flecha a la derecha */
.form-contacto select {
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2 2l6 6-6 6' fill='none' stroke='%235d5f57' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 0.5rem;
}

/* Aceptación */
.form-contacto .wpcf7-list-item { margin: 0; }
.form-contacto .aceptacion label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.875rem;
}
.form-contacto .aceptacion input[type="checkbox"] {
  margin-top: 0.25em;
  accent-color: var(--gcid-primary-color, #b5172a);
}

/* Botón */
.form-contacto input[type="submit"] {
  width: 100%;
  padding: 1rem;
  border: 0;
  border-radius: 0.5rem;
  background: var(--gcid-primary-color, #b5172a);
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: filter 0.2s;
}
.form-contacto input[type="submit"]:hover { filter: brightness(0.9); }

/* Mensajes de CF7 */
.form-contacto .wpcf7-not-valid-tip { margin-top: 0.25rem; font-size: 0.8rem; }
.wpcf7 .wpcf7-response-output { margin: 1rem 0 0; font-size: 0.9rem; }
.form-contacto .wpcf7-spinner { display: block; margin: 0.5rem auto 0; }
/* Select (anula a Divi Supreme) */
.form-contacto .campo .wpcf7-form-control-wrap select {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid var(--gcid-body-color, #5d5f57);
  border-radius: 0;
  padding: 1rem;
  box-shadow: none;
  color: inherit;
  font: inherit;
}

/* Botón Enviar Mensaje */
.form-contacto .campo button[type=submit] {
  display: block;
  width: 100%;
  padding: 1rem;
  border: 0;
  border-radius: .5rem;
  background: var(--gcid-secondary-color, #d31223);
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.form-contacto .campo button[type=submit]:hover {
  filter: brightness(.9);
}
.form-contacto .campo button[type=submit]::after {
  display: none;
}