/* Contenedor principal de filtros */
#apartment-filter-form {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  gap: 1rem;
  background-color: #ffffff;
  padding: 1rem 1rem;
  border-radius: 16px;
}

/* Cada grupo de filtros */
.filter-group {
  flex: 1 1 auto;
  box-sizing: border-box;
}
.filter-group.check-in,
.filter-group.check-out,
.filter-group.persons {
  width: 20%;
  min-width: 150px;
}
.filter-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #495057;
}

/* Campos de fecha y select */
.filter-group input[type="date"],
.filter-group select {
  padding: 10px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
  display: block;
  margin-bottom: 0;
  background-color: #f8f9fa;
  color: #495057;
  transition: border-color 0.3s, box-shadow 0.3s;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

#apartment-filter-form .filter-group.persons select {
  padding: 10px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
  display: block;
  margin-bottom: 0;
  background-color: #f8f9fa;
  color: #495057;
  transition: border-color 0.3s, box-shadow 0.3s;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* Enfoque para inputs tipo fecha y select */
.filter-group input[type="date"]:focus,
.filter-group select:focus {
  border-color: #80bdff;
  box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
  outline: none;
}

/* Ocultar botones nativos en date */
.filter-group input[type="date"]::-webkit-inner-spin-button,
.filter-group input[type="date"]::-webkit-clear-button {
  display: none;
}

/* Ajustes de apariencia nativa e ícono para date */
input[type="date"] {
  position: relative;
}

input[type="date"]:focus::before,
input[type="date"]:valid::before {
  display: none;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  color: #0f74bc;
  opacity: 1;
  background-color: #ffffff;
  padding: 5px;
  border-radius: 50%;
  cursor: pointer;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover {
  background-color: #0057b338;
}

/* Botón de "Buscar Departamentos" */
#apartment-filter-form button[type="submit"] {
  padding: 10px 20px;
  background-color: #0f74bc;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  justify-content: center;
  flex: 0 0 auto;
  align-self: flex-end;
  line-height: 1.5;
  margin-bottom: 2px;
}
#apartment-filter-form button[type="submit"]:hover {
  background-color: #0056b3;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(42, 100, 216, 0.2);
}

/* Responsive */
@media (max-width: 768px) {
  #apartment-filter-form {
    flex-direction: column;
    align-items: stretch;
  }
  .filter-group.check-in,
  .filter-group.check-out,
  .filter-group.persons {
    width: 100%;
  }
  #apartment-filter-form button[type="submit"] {
    width: 100%;
  }
}

/* Estilos para la sección de apartamentos */
.dates-group {
  display: flex;
  margin-top: 20px;
}

.apartment-listing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.apartment-item {
  border: 1px solid #eee;
  padding: 15px;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
}

.apartment-thumbnail {
  width: 100%;
  overflow: hidden;
}

.apartment-thumbnail img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-bottom: 10px;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.apartment-title a {
  text-decoration: none;
  color: #333;
}

.apartment-excerpt {
  margin-bottom: 10px;
  color: #666;
  flex-grow: 1;
}

.apartment-view-details {
  display: inline-block;
  padding: 8px 15px;
  background-color: #0f74bc;
  color: white !important;
  border-radius: 5px;
  align-self: flex-start;
  font-weight: bold;
}

.hb-vertical-search-form:not(.hb-search-form-no-children) p.hb-people-wrapper,
.hb-vertical-search-form .hb-date-range-picker,
.hb-vertical-search-form .hb-date-range-picker input {
  width: 100% !important;
}

/* Media query para pantallas pequeñas */
@media (max-width: 768px) {
  #apartment-filter-form {
    flex-direction: column;
    align-items: stretch;
  }

  .filter-group,
  .filter-group.check-in,
  .filter-group.check-out {
    width: 100%;
  }

  #apartment-filter-form button[type="submit"] {
    width: 100%;
  }
}

/* formulario de reserva */

/*primera parte del formulario*/
.hb-clearfix p {
  margin: 0.25em 5px;
}

/* segunda parte del formulario */

.hbook-wrapper-booking-form .has-intermediate-step {
  width: 100%;
}

body.page-id-1675 #hbook-booking-form-1,
body.page-id-1778 #hbook-booking-form-1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.hb-previous-step-1 {
  display: none !important;
}
.hb-booking-details-form .hb-step-button {
  display: none !important;
}

.hb-intermediate-step-wrapper {
  max-width: 800px;
  width: 500px;
  background-color: #ffffff;
  border: none;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  margin: 30px auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  transition: all 0.3s ease;
}

.hb-title {
  color: #0f74bc;
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 20px;
  border-bottom: 2px solid #f0f3f8;
  padding-bottom: 12px;
}

body.page-id-1675 .hb-options-multi-accoms,
body.page-id-1778 .hb-options-multi-accoms {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.hb-single-option {
  display: flex;
  align-items: center;
  border: 1px solid #e8eef7;
  border-radius: 8px;
  padding: 16px;
  background-color: #f9fafc;
  transition: all 0.2s ease;
  cursor: pointer;
}

.hb-single-option:hover {
  background-color: #f0f5ff;
  border-color: #d0e0ff;
  transform: translateY(-2px);
}

.hb-checkbox-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
}

.hb-checkbox-wrapper input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  background-color: white;
  border: 2px solid #ccd7e6;
  border-radius: 4px;
  cursor: pointer;
  margin-right: 12px;
  position: relative;
  transition: all 0.2s ease;
}

.hb-checkbox-wrapper input[type="checkbox"]:checked {
  background-color: #0f74bc;
  border-color: #0f74bc;
}

.hb-checkbox-wrapper input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 4px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.hb-checkbox-wrapper label {
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 15px;
  color: #4a5568;
  cursor: pointer;
}

.hb-checkbox-wrapper label b {
  font-weight: 600;
  color: #2c3e50;
  margin-right: 5px;
}

.hb-step-button {
  margin-top: 15px;
  align-self: flex-end;
}

/* next btn */
.hb-step-button input[type="submit"] {
  background-color: #0f74bc;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
}

.hb-step-button input[type="submit"]:hover {
  background-color: #0f74bc;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(42, 100, 216, 0.2);
}

.hb-options-gap {
  display: none;
}

@media (max-width: 576px) {
  .hb-intermediate-step-wrapper {
    padding: 20px;
    width: 95%;
  }

  .hb-title {
    font-size: 20px;
  }

  .hb-single-option {
    padding: 14px;
  }

  .hb-step-button input[type="submit"] {
    padding: 10px 20px;
    font-size: 15px;
  }
}

.hb-next-step-2 {
  display: none !important;
}

body.page-id-1675 .hb-next-step-2,
body.page-id-1778 .hb-next-step-2 {
  display: block !important;
}

.hb-intermediate-step-wrapper {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
}

body.page-id-1675 .hb-intermediate-step-wrapper,
body.page-id-1778 .hb-intermediate-step-wrapper {
  opacity: 1;
  visibility: visible;
  height: auto;
  pointer-events: auto;
}

.hb-booking-details-form {
  margin: 1rem auto 0 auto;
  max-width: 100%;
}

.hb-summary-wrapper {
  margin-top: 4rem;
}

.hb-options-form {
  margin-top: 20px;
}

.hb-options-gap {
  display: none;
}

body.page-id-1675 .hb-searched-summary,
body.page-id-1778 .hb-searched-summary {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 20px;
  width: 100%;

  background-color: #ffffff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
}

body.page-id-1675 .hb-summary-container,
body.page-id-1778 .hb-summary-container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

body.page-id-1675 .hb-change-search-wrapper,
body.page-id-1778 .hb-change-search-wrapper {
  margin-left: auto;
  display: flex;
  align-items: center;
  height: 100%;
  white-space: nowrap;
  width: 100%;
}
/* change btn */
body.page-id-1675 .hb-change-search-wrapper input[type="submit"],
body.page-id-1778 .hb-change-search-wrapper input[type="submit"] {
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 20px;
  text-align: center;
  line-height: 1.2;
  word-break: break-word;
  min-width: 180px; /* or the width that you need*/
}

body.page-id-1675 #hb-form-1-hb-search-form-submit,
body.page-id-1778 #hb-form-1-hb-search-form-submit {
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  body.page-id-1675 .hb-searched-summary,
  body.page-id-1778 .hb-searched-summary {
    flex-direction: column;
    align-items: flex-start;
  }

  body.page-id-1675 .hb-change-search-wrapper,
  body.page-id-1778 .hb-change-search-wrapper {
    margin-left: 0;
    margin-top: 15px;
    width: 100%;
  }

  body.page-id-1675 .hb-change-search-wrapper input[type="submit"],
  body.page-id-1778 .hb-change-search-wrapper input[type="submit"] {
    width: 100%;
    min-width: auto;
  }
}

/* Estilos unificados para el formulario de reserva */
.hb-booking-details-form {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, sans-serif;
  color: #333;
  line-height: 1.6;
}

.hb-details-fields {
  background-color: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  margin-bottom: 2rem;
}

.hb-title {
  color: #0f74bc;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #f0f3f8;
}

.hb-detail-field {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin-bottom: 1rem;
  font-size: 1rem;
  transition: border-color 0.3s;
}

.hb-detail-field:focus {
  border-color: #0f74bc;
  outline: none;
  box-shadow: 0 0 0 2px rgba(15, 116, 188, 0.1);
}

label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #555;
}

.hb-summary-wrapper,
.hb-extra-info,
.hb-policies-area {
  background-color: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.hb-confirm-button input[type="submit"] {
  background-color: #0f74bc;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s;
}

.hb-confirm-button input[type="submit"]:hover {
  background-color: #0c5d9c;
}

/* Estilos responsivos */
@media (max-width: 768px) {
  .hb-booking-details-form,
  .hb-details-fields,
  .hb-summary-wrapper,
  .hb-extra-info,
  .hb-policies-area {
    padding: 1rem;
  }

  .hb-title {
    font-size: 1.3rem;
  }
}
body.page-id-1675 .hb-search-fields-and-submit,
body.page-id-1778 .hb-search-fields-and-submit {
  display: none;
}

/* css de input pais */
.selectize-control.single {
  border: 1.25px solid #ccc;
  border-radius: 3px;
  background-color: #fff;
  padding: 6px;
  box-sizing: border-box;
}

.selectize-control.single .selectize-input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/*css del prefijo*/

#hb-form-1-prefix {
  text-indent: -9999px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  color: white;
}

.intl-tel-input input[type="tel"] {
  padding-left: 90px;
}

.intl-tel-input .country-list {
  max-height: 300px;
  overflow-y: auto;
  width: 300px;
  position: absolute;
  z-index: 9999;
}

/* Estilo para el calendario de hbook */
input[type="date"]::-webkit-calendar-picker-indicator {
  background-color: #ffffff;
  color: #0f74bc;
  padding: 5px;
  border-radius: 50%;
  cursor: pointer;
  opacity: 1;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-clear-button {
  display: none;
}

input[type="date"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  padding: 10px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  font-size: 16px;
  background-color: #f8f9fa;
  color: #495057;
  transition: border-color 0.3s, box-shadow 0.3s;
}

input[type="date"]:focus {
  border-color: #80bdff;
  box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
  outline: none;
}

input[type="date"]::before {
  content: none !important;
  display: none !important;
}

/* Estilos responsivos para tablets y móviles */
@media (max-width: 768px) {
  .custom-apartment-filters {
    padding: 15px;
    max-width: 100%;
  }

  #apartment-filter-form {
    flex-direction: column;
    align-items: stretch;
  }

  .filter-group {
    margin-right: 0;
    margin-bottom: 15px;
    width: 100%;
  }

  .filter-group.check-in,
  .filter-group.check-out {
    margin: 0 0 15px 0;
  }

  .filter-group input[type="date"],
  .filter-group input[type="number"] {
    width: 100%;
  }

  #apartment-filter-form button[type="submit"] {
    width: 100%;
    margin-top: 15px;
  }
}

@media (max-width: 576px) {
  .custom-apartment-filters {
    padding: 10px;
  }

  .filter-group label {
    font-size: 14px;
  }

  .filter-group input[type="date"],
  .filter-group input[type="number"] {
    font-size: 14px;
  }

  #apartment-filter-form button[type="submit"] {
    font-size: 14px;
    padding: 8px 16px;
  }
}

.hb-title-payment {
  margin-top: 2rem;
}

.hb-intermediate-step-wrapper {
  display: none;
}

.hb-booking-search-form.hb-form-1.hb-vertical-search-form.hb-narrow-search-form {
  background-color: #ffffff;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  margin-top: 3.5rem;
}

/* Estilos para la sección de Información Adicional en formulario */

body .hb-extra-info {
  background-color: #ffffff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 2rem 4rem !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
  margin-top: 3rem !important;
  margin-bottom: 1rem !important;
}

/* Título principal (Policies for Reservation / Políticas de Reserva) */
body .hb-extra-info .hb-title.hb-title-terms {
  font-size: 20px !important;
  font-weight: bold !important;
  margin-bottom: 15px !important;
}

/* Subtítulos (Credit Card Damage Fees, Cleaning, etc.) */
body .hb-extra-info .info-section .hb-subtitle {
  font-size: 1.2em !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
  color: #333 !important;
}

/* Párrafos en negrita */
body .hb-extra-info .info-section p {
  font-weight: bold !important;
  margin-bottom: 10px !important;
}

/* Listas dentro de la sección */
body .hb-extra-info .info-section ul {
  margin-left: 20px !important;
  padding-left: 0 !important;
}

body .hb-extra-info .info-section ul li {
  list-style-type: disc !important;
  margin-bottom: 5px !important;
}

.hb-policies-area {
  padding: 2rem 4rem !important;
}

@media only screen and (max-width: 767px) {
  body .hb-extra-info {
    background-color: #ffffff !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 1rem 2rem !important;
    padding-top: 3rem !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
    margin-top: 3rem !important;
    margin-bottom: 1rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .hb-policies-area {
    padding: 1rem 2rem !important;
  }
}
@media only screen and (max-width: 767px) {
  .hb-payment-info-wrapper {
    padding: 1rem 2rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .hb-confirm-area {
    padding: 1rem 2rem !important;
  }
}
@media only screen and (max-width: 767px) {
  .hb-resa-summary-content {
    padding: 0 !important;
  }
}

/* boton de reserva */
/* Ajuste del botón dentro del menú */
#menu-item-2229 .avia-menu-text {
  transition: all 0.3s ease-in-out;
}

/* Ajuste del enlace dentro del botón */
#menu-item-2229 .avia-menu-text {
  border-radius: 20px !important;
  padding: 7px 20px !important;
}

/* Efecto hover */
#menu-item-2229 .avia-menu-text {
  background-color: #005bb5;
  transform: scale(1.05);
}

#menu-item-2230 .avia-menu-text {
  transition: all 0.3s ease-in-out;
}

/* Ajuste del enlace dentro del botón */
#menu-item-2230 .avia-menu-text {
  border-radius: 20px !important;
  padding: 7px 20px !important;
}

/* Efecto hover */
#menu-item-2230 .avia-menu-text {
  background-color: #005bb5;
  transform: scale(1.05);
}

/* CSS para alinear los iconos y texto en el footer */

/* Estilo general para el contenedor del footer */
#footer .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 0;
  flex-wrap: wrap;
}

/* Estilo para las columnas del footer */
#footer .flex_column.av_one_fourth {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 10px;
  width: auto;
}

/* Eliminar separadores innecesarios */
#footer .seperator.extralight-border {
  display: none;
}

/* Estilo para widgets del footer */
#footer .widget {
  margin: 0;
  padding: 0;
  width: 100%;
}

/* Estilo para los contenedores de iconos y texto */
#footer .av_font_icon {
  display: flex;
  align-items: center;
  margin: 0;
}

/* Eliminar breaks innecesarios */
#footer .av_font_icon br,
#footer .textwidget br {
  display: none;
}

/* Estilo para los iconos */
#footer .av-icon-char {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  vertical-align: middle;
  min-width: 24px;
}

/* Estilos para el texto junto a los iconos */
#footer .texticon-footer,
#footer .texticon-footer-addr {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.5;
  white-space: nowrap;
}

#footer .textwidget a {
  text-decoration: none;
  display: flex;
  align-items: center;
}

#footer .textwidget p {
  margin: 0;
  display: flex;
  align-items: center;
}

/* Ajustes para tablets */
@media only screen and (max-width: 989px) and (min-width: 768px) {
  #footer .container {
    justify-content: center;
    gap: 20px;
  }

  #footer .flex_column.av_one_fourth {
    width: auto;
    margin: 0 10px;
  }

  #footer .texticon-footer-addr {
    white-space: normal;
    max-width: 220px;
  }
}

/* Ajustes para dispositivos móviles */
@media only screen and (max-width: 767px) {
  #footer .container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #footer .flex_column.av_one_fourth {
    margin-bottom: 15px;
    width: 100%;
  }

  #footer .av_font_icon {
    justify-content: center;
  }

  #footer .texticon-footer-addr {
    white-space: normal;
    text-align: center;
  }
}

/* Ajustes para pantallas muy pequeñas */
@media only screen and (max-width: 479px) {
  #footer .texticon-footer,
  #footer .texticon-footer-addr {
    font-size: 14px;
  }
}

/* css titulo del footer */
.footer-extra-text {
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  padding-top: 2rem;
}

/*tamaños de la imagen "nosotros"   */

.wp-image-2235 {
  max-width: 360px !important;
  height: auto;
  width: 100%;
}

/* css para texto del home en el hero */
.main-title {
  font-size: 4rem !important;
  margin-bottom: 2rem !important;
  font-weight: 800 !important;
  max-width: 550px !important;
}

.subtitle {
  font-size: 2rem !important;
  font-weight: 700 !important;
}

.description {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
}

/* Mobile Title Adjustments */
@media only screen and (max-width: 767px) {
  .main-title {
    font-size: 34px !important;
    line-height: 1.3 !important;
    margin-bottom: 1rem !important;
    max-width: 400px !important;
  }

  .subtitle {
    font-size: 24px !important;
    line-height: 1.4 !important;
    margin-bottom: 1rem !important;
  }
  .description {
    font-size: 18px !important;
    line-height: 1rem !important;
    font-weight: 600 !important;
  }
}

/* boton hero */
.custom-book-now-btn {
  display: inline-block;
  border-radius: 20px !important;
  margin-top: 2rem;
  background-color: #0073e6;
  color: #ffffff;
  font-size: 20px !important;
  font-weight: 600;
  text-decoration: none !important;
  padding: 12px 24px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.custom-book-now-btn:hover {
  background-color: #005bb5;
}

/* Estilos unificados para formularios de reserva */
body.page-id-1675 .hb-booking-details-form,
body.page-id-1778 .hb-booking-details-form {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, sans-serif;
  color: #333;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  body.page-id-1675 .hb-booking-details-form,
  body.page-id-1778 .hb-booking-details-form {
    padding: 0;
  }
}

body.page-id-1675 .hb-title,
body.page-id-1778 .hb-title {
  color: #0f74bc;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #f0f3f8;
}

body.page-id-1675 .hb-subtitle,
body.page-id-1778 .hb-subtitle {
  color: #555;
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

body.page-id-1675 .hb-details-fields,
body.page-id-1778 .hb-details-fields,
body.page-id-1675 .hb-summary-wrapper,
body.page-id-1778 .hb-summary-wrapper,
body.page-id-1675 .hb-extra-info,
body.page-id-1778 .hb-extra-info,
body.page-id-1675 .hb-policies-area,
body.page-id-1778 .hb-policies-area {
  background-color: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 2rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

body.page-id-1675 .hb-detail-field,
body.page-id-1778 .hb-detail-field {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin-bottom: 1rem;
  font-size: 1rem;
  transition: border-color 0.3s;
  background-color: #fff;
}

body.page-id-1675 .hb-detail-field:focus,
body.page-id-1778 .hb-detail-field:focus {
  border-color: #0f74bc;
  outline: none;
  box-shadow: 0 0 0 2px rgba(15, 116, 188, 0.1);
}

body.page-id-1675 label,
body.page-id-1778 label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #555;
}

.flex_column.av_one_half.first.date input[type="date"] {
  width: 100%;
}

.faq {
  margin-top: 10rem;
  color: #0f74bc !important;
}
@media only screen and (max-width: 767px) {
  .faq {
    margin-top: 1rem;
  }
}

/* Mobile (<=767px) */
@media only screen and (max-width: 767px) {
  div#apartamentos .container.av-section-cont-open {
    gap: 20px;
    margin: 20px 0;
    display: flex !important;
    flex-direction: column !important;
  }

  div#apartamentos .av_two_third.first,
  div#apartamentos .av_one_third {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  div#apartamentos .hb-booking-search-form {
    margin-top: 20px !important;
    background: #f8f9fa !important;
    border-radius: 8px !important;
  }

  div#apartamentos .av-horizontal-gallery .av-horizontal-gallery-img {
    margin-bottom: 15px !important;
  }
}

/* Mejoras de legibilidad en móvil */
@media only screen and (max-width: 767px) {
  .portfolio-entry-title {
    font-size: 1.2rem !important;
  }

  .portfolio-entry-content {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }

  .av-booking-calendar .hb-title {
    font-size: 1.1rem !important;
  }
}

/* Ajustes para la galería responsive */
@media only screen and (max-width: 1024px) {
  .av-portfolio-grid .av-portfolio-item {
    width: calc(50% - 5px) !important;
    margin-bottom: 10px !important;
  }
}

@media only screen and (max-width: 767px) {
  .av-portfolio-grid .av-portfolio-item {
    width: 100% !important;
    margin-bottom: 15px !important;
  }

  .av-portfolio-grid .av-portfolio-item .avia-portfolio-content {
    padding: 15px !important;
  }
}

/* Ajustar layout para móviles pequeños - 5 iconos en línea */
@media (max-width: 420px) {
  #apartamentos .avia-image-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    width: 18% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }

  #apartamentos .avia-image-overlay-wrap {
    width: 18% !important;
    margin: 0 1% !important;
    text-align: center;
    font-size: 10px !important;
    line-height: 1.2 !important;
    flex-shrink: 0;
  }

  #apartamentos .avia-image-overlay-wrap img.avia_image {
    width: 30px !important;
    height: 30px !important;
    display: block;
    margin: 0 auto 3px auto;
  }

  /* Texto debajo de las imágenes */
  #apartamentos #texticon-apart {
    width: 18% !important;
  }
}

@media only screen and (min-width: 1311px) {
  #top #header_main > .container,
  #top #header_main > .container .main_menu {
    height: 160px !important;
  }
}
