.open-filters-btn {
  display: none;
  width: 100%;
  padding: 15px;
  background-color: #0c860c;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.filters-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: white;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
  display: none;
}

.filters-sidebar.is-visible {
  transform: translateX(0);
}

.filters-container {
  padding: 20px;
}
.filters-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
}
.close-filters-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: #333;
  padding: 0;
}
.filters-title {
  font-size: 24px;
  font-weight: bold;
  color: #0c860c;
  margin: 0;
}
.filters-card {
  background-color: #fff;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
.filter-options-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.filter-option-item {
  margin-bottom: 15px;
}
.filter-option-item:last-child {
  margin-bottom: 0;
}
.filter-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #333;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.2s;
}
.filter-button {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background-color: transparent;
  padding: 0;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.filter-icon {
  width: 20px !important;
  height: 20px !important;
}
.filter-link:hover {
  border-color: #0c860c;
  background-color: #f7f7f7;
}
.filter-option-item.active .filter-link {
  background-color: #0c860c;
  color: #fff;
  border-color: #0c860c;
}
.filter-option-item.active .filter-link .filter-icon {
  filter: brightness(0) invert(1);
}
/*
Theme Name: The7 Child
Template: dt-the7
Version: 1.0
*/
/* Variables globales */
:root {
  --color-principal: #009933;
  --color-secundario: #002c5f;
  --color-blanco: #fff;
  --color-negro: #1a1a1a;
  --color-fondo-block: rgba(249, 249, 249, 1);
  --p-block-left: 15%;
  --p-block-right: 15%;
  --p-block-top: 5%;
  --p-block-bottom: 5%;
  --color-fondo-testimonio: #f9f9f9;
  --color-fondo-novedades: #ececec;
  --color-boton-verde: #0c860c;
  --fuente-principal: "Plus Jakarta Sans", "Plus Jakarta Sans";
  --border-radius-grande: 22px;
  --border-radius-mediano: 15px;
  --border-radius-pequeno: 10px;
  --border-radius-btn: 30px;
  --sombra-box: 0 4px 12px rgba(0, 0, 0, 0.1);
  --sombra-box-grande: 0 10px 30px rgba(0, 0, 0, 0.15);
  --sombra-box-hover: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Tipografía global */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-family: var(--fuente-principal) !important;
}

#main {
  padding: 0px 0 0px 0 !important;
}

/* Footer */
.site-footer {
  background-color: var(--color-secundario);
  color: var(--color-blanco);
  padding: 40px 20px;
  font-family: "Plus Jakarta Sans";
}

/* HEADER ANCHO */
.masthead:not(.side-header):not(.mixed-header) .header-bar,
.header-space {
  min-height: 100px;
  max-width: 90%;
}

/* Sección invertir */
.session_invertir {
  border-radius: var(--border-radius-grande);
  margin: 15px 10%;
}

/*
.session_invertir {
    border-radius: var(--border-radius-grande);
    padding-left: 10%;
    padding-right: 10%;
  }
  */

.emsa-elemento {
  margin-top: 24%;
  text-align: center;
  padding: 20px;
}
.text-header-terrenos {
  padding-top: 2%;
  padding-bottom: 1%;
}
.text-header-terrenos .uvc-main-heading h2 {
  font-weight: 700;
}
.uvc-sub-heading p {
}

.emsa-titulo,
.emsa-descripcion {
  color: var(--color-blanco);
}

.emsa-titulo {
  font-size: clamp(15px, 2.5vw, 16px);
  font-weight: 700;
}

.emsa-descripcion {
  text-align: center;
  font-size: clamp(1rem, 2.5vw, 1rem);
  padding: 0 18px;
}

.text-novedades .uvc-main-heading h2 {
  font-size: clamp(1.5rem, 3.7vw, 32px);
  font-weight: 700;
}
.text-novedades .uvc-sub-heading p {
  font-size: clamp(1rem, 2.5vw, 18px) !important;
}
.nps_text p {
  font-weight: 700;
}

/* Contenedor invertir */
.container_white_invertir {
  background-color: var(--color-blanco);
  border-radius: var(--border-radius-grande);
  box-shadow: var(--sombra-box);
  padding: 15px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: center;
  max-width: 859px;
  top: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  justify-content: center;
  position: relative;
  z-index: 4;
}

.container_white_invertir .uvc-main-heading h2 {
  font-size: clamp(24px, 5vw, 32px);
  font-weight: 700;
}

.container_white_invertir .uvc-sub-heading p {
  font-size: clamp(14px, 1.2vw, 16px);
}

.container_white_invertir:hover {
  transform: translateY(-4px);
  box-shadow: var(--sombra-box-hover);
}

/* BOX */
.financia-box {
  background: rgba(0, 150, 0, 0.74);
  /* Verde con 74% opacidad */
  color: var(--color-blanco);
  border-radius: 14px;
  padding: 30px 74px 37px 74px;
  max-width: 52%;
  box-shadow: var(--sombra-box-grande);
  animation: fadeSlide 0.6s ease-out 0.2s both;
  margin-left: 20%;
}

.financia-box h2 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 16px;
}

.financia-box ul {
  margin: 0 0 24px;
  padding-left: 20px;
}

.financia-box ul li {
  position: relative;
  margin-bottom: 8px;
}

.financia-box ul li::marker {
  color: var(--color-blanco);
}

.financia-box .btn,
.btn-financiamos {
  background: var(--color-blanco) !important;
  color: var(--color-principal) !important;
  font-weight: 700 !important;
  padding: 12px 24px;
  border-radius: var(--border-radius-btn);
  transition: background 0.25s ease, color 0.25s ease;
}

.financia-box .btn:hover,
.financia-box .btn:focus {
  background: var(--color-principal) !important;
  color: var(--color-blanco) !important;
}

.btn-financiamos i {
  color: var(--color-principal) !important;
}

/* Slider y paginación */
.rev_slider_wrapper,
.rev_slider {
  height: 560px !important;
  max-height: 560px !important;
  overflow: hidden;
}

.swiper-pagination-bullet {
  /*background-color: var(--color-negro);*/
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin: 0 6px;
  box-sizing: content-box;
  position: relative;
}

.swiper-pagination-bullet-active {
  /*background-color: var(--color-blanco) !important;
  border: 2px solid var(--color-negro);*/
  width: 16px !important;
  height: 16px !important;
  box-sizing: border-box;
  position: relative;
}

.swiper-pagination-bullet {
  background-color: #cccfd2 !important;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: #0c860c !important;
}
.swiper-pagination-bullet-active::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  /*background-color: var(--color-negro);*/
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.swiper-button-next,
.swiper-button-prev {
  color: var(--color-negro) !important;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  background: var(--color-blanco);
  border-radius: 50%;
  display: none !important;
}

.swiper-button-prev {
  left: -8px;
}

.swiper-button-next {
  right: -8px;
}

/* Testimonios */
.testimonio-item {
  background: var(--color-fondo-testimonio);
  border-radius: var(--border-radius-mediano);
  min-height: 230px;
}

.testimonio-perfil {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.testimonio-nombres {
  text-align: left;
  line-height: 8px;
}

.testimonio-nombres h3 {
  font-size: 19px;
  font-weight: 500;
  color: #1a1a1a;
}

.slider-testimonios {
  position: relative;
  padding-bottom: 50px;
}

.slider-testimonios .swiper-pagination {
  position: absolute;
  bottom: 3px !important;
  width: 100%;
  text-align: center;
}

/* Secciones */
.session_experiencia {
  border-radius: var(--border-radius-mediano);
  margin-left: 9%;
  margin-right: 9%;
  margin-bottom: 3%;
  background: var(--color-fondo-testimonio);
  margin-top: 3%;
}

.seccion_testimonio {
  padding-left: 18%;
  padding-right: 18%;
  padding-top: 10%;
}
.testimonio-descripcion {
  margin-top: 18px;
  text-align: center;
  font-size: 17px;
  line-height: 32px;
  color: #1a1a1a;
}
.session_novedades {
  border-radius: var(--border-radius-mediano);
  padding: 15px 6% 3% 6%;
  margin-left: 9%;
  margin-right: 9%;
  background: var(--color-fondo-novedades);
  color: #002554 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding-bottom: 2%;
  padding-top: 2%;
}

.session_slider_blog {
  padding: 15px 6%;
  margin-left: 9%;
  margin-right: 9%;
  display: flex;
  justify-content: center;
}

.faq-accordion {
  padding-left: 10%;
  padding-right: 10%;
}

.session_dudas {
  margin-left: 9%;
  margin-right: 9%;
  margin-bottom: 1%;
}

.accordion_opcions {
  display: flex;
  background: var(--color-fondo-testimonio);
}

.faq-contaniner {
  display: flex;
  flex-direction: column;
}

/* NPS */
#nps-container {
  display: flex;
  justify-content: space-around;
  align-content: center;
  align-items: center;
}

.nps_text {
  padding: 15px;
  font-size: clamp(1.5rem, 3.7vw, 32px);
  line-height: 40px;
  color: var(--color-negro);
  padding-left: 9%;
  padding-right: 12%;
}

.nps_text_sub {
  font-size: clamp(1rem, 2.5vw, 18px) !important;
  line-height: 27px;
}

#nps-buttons {
  display: flex;
  gap: 1.1875rem;
}

#nps-rating {
  color: var(--color-negro);
}
#nps-rating span {
  font-size: 12px;
}

#nps-rating #nps-buttons .nps-btn {
  border-radius: var(--border-radius-pequeno);
}
.text-ver-todas-las-novedades {
  border-top: 1px solid #002554;
  padding-top: 10px;
  width: 50%;
}
.text-ver-todas-las-novedades a {
  text-decoration: none;
  color: #002554;
  font-weight: bold;
  font-size: clamp(1rem, 2.5vw, 18px) !important;
}
.icono-flecha {
  margin-left: 5px;
}
.nps-text-rating {
  display: flex;
  justify-content: space-between;
}

#calificarBtn,
.btn-send-rating {
  width: 164px;
  border-radius: var(--border-radius-btn);
}

.btn-send-rating {
  width: 100px !important;
}
.pop_up_modal .popup-content .btn_enviar_pop_up {
  width: 100px !important;
  background: green;
  color: white;
  border: none;
  padding: 10px;
  width: 100%;
  cursor: pointer;
  border-radius: 30px !important;
}
.popup-content .btn_enviar_pop_up:hover {
  background: green !important;
}

.btn_enviar_pop_up {
  position: relative;
}

.btn_enviar_pop_up {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px; /* espacio entre texto y spinner */
}

/* Spinner nativo CF7 */
/*
.wpcf7-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-top: 2px solid #000;
  border-radius: 50%;
  display: inline-block;
  animation: spin 0.8s linear infinite;
  vertical-align: middle;
  position: absolute !important;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
*/
.wpcf7-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-top: 2px solid #000;
  border-radius: 50%;
  display: inline-block;
  animation: spin 0.8s linear infinite;
  vertical-align: middle;
  transform: translateX(-50%);
}
.emsa-form-novedades .wpcf7-spinner {
  width: 32px !important;
  top: 39px !important;
  right: 105px !important;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.nps-btn {
  display: flex;
  justify-content: flex-end;
}

/* Popups */
.popup-one-input,
.popup-two-input {
  display: flex;
  flex-direction: row;
  gap: 15px;
}

.popup-one-input input,
.popup-two-input input {
  border-radius: var(--border-radius-mediano);
  padding: 15px;
  width: 100%;
}

/* Botón formulario */
.btn-form-rating {
  display: flex;
  justify-content: flex-end;
}

/* 6. ESTILO DEL BOTÓN */
.ver-mas {
  display: inline-block;
  /* Eliminamos: margin-top: 10px; ya que el post-btn ya tiene el espaciado */
  background-color: var(--color-boton-verde);
  color: var(--color-blanco);
  padding: 8px 16px;
  border-radius: 20px;
  text-decoration: none;
  width: 164px;
  font-weight: 700;
  text-align: center;
}

/* Resto de tu CSS lo mantienes igual si no afecta el layout de la tarjeta */

#nps-buttons button {
  margin: 5px;
  padding: 10px 15px;
  border: 1px solid #ccc;
  background: #fff;
  cursor: pointer;
}

#nps-buttons button.selected {
  background-color: #4caf50;
  color: white;
}

#calificarBtn {
  margin-top: 15px;
  padding: 10px 20px;
  background: green;
  color: white;
  border: none;
  cursor: pointer;
  font-weight: 700 !important;
}

#popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 500;
}

.popup-content {
  background: white;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  max-width: 365px;
}

.popup-content input {
  width: 100%;
  padding: 8px;
  /*margin: 8px 0;*/
}

.widget_search input[type="text"].searchform-s,
.woocommerce
  div.elementor
  .the7-elementor-widget
  form.cart
  table.variations
  td.value
  select,
.wpcf7-number,
input[type="text"]:not(.elementor-field):not(.searchform-s),
input[type="search"]:not(.elementor-field),
input[type="tel"]:not(.elementor-field),
input[type="url"]:not(.elementor-field),
input[type="email"]:not(.elementor-field),
input[type="number"]:not(.elementor-field),
input[type="date"]:not(.elementor-field),
input[type="range"]:not(.elementor-field),
input[type="password"]:not(.elementor-field),
select:not(.elementor-field):not(.elementor-field-textual),
textarea:not(.elementor-field) {
  margin-bottom: 0px !important;
  border-style: var(--the7-form-border);
  box-sizing: border-box;
}

.popup-content button {
  background: green;
  color: white;
  border: none;
  padding: 10px;
  width: 100%;
  cursor: pointer;
}

.hidden {
  display: none;
}

.close-btn {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.faq-accordion .faq-answer {
  display: none;
}

.faq-answer {
  padding-top: 1%;
  padding-left: 2%;
  padding-right: 2%;
}

.faq-item.active .faq-answer {
  display: block;
}

.faq-question {
  cursor: pointer;
  font-weight: bold;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wpml-ls-item a .menu-item-text {
  width: 26px;
  text-align: center;
}

/*
.wpml-ls-menu-item.wpml-ls-current-language a .underline {
  border-bottom: 2px solid #002554;
}
*/
/* Estilo para el idioma activo (con la línea) */
/* Asegura que el subrayado del idioma activo esté siempre visible */
.wpml-ls-current-language .underline {
  display: block !important;
  height: 2px !important;
  width: 100% !important;
  background-color: #002554 !important;
}

/* Opcional: Si la línea sigue apareciendo al pasar el cursor, puedes añadir esto */

/* Estilo para el contenedor del conmutador de idiomas */
.custom-mobile-ls-container {
  display: flex;
  justify-content: flex-end; /* Alinea los elementos a la derecha si es necesario */
  padding: 0;
  list-style: none; /* Elimina los puntos de la lista */
}

/* Estilo para cada elemento de la lista (cada idioma) */
.custom-mobile-ls-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 10px;
}

/* Estilo para el enlace que contiene la bandera y el texto */
.custom-mobile-ls-item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}

.custom-mobile-ls-item.active a,
.custom-mobile-ls-item a:hover {
  border-bottom: 2px solid #1b3a4d;
}

/* Espacio entre la bandera y el texto */
.custom-mobile-ls-item img {
  margin-bottom: 5px;
}
#primary-menu > li:nth-child(5) a {
  border-right: 2px solid #f0effb;
  padding-right: 15px;
  margin-right: 15px;
}
.masthead:not(.side-header) .main-nav {
  display: -ms-flexbox;
  display: -ms-flex;
  display: flex;
  -ms-flex-flow: row !important;
  flex-flow: row !important;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.main-nav > li > a .menu-text {
  font: normal 400 16px / 20px "Plus Jakarta Sans", Helvetica, Arial, Verdana,
    sans-serif !important;
  text-transform: none;
}
.main-nav > li:not(.wpml-ls-item) > a .menu-text {
  color: #1b3a4d !important;
}
.mobile-menu-flags {
  display: flex;
  gap: 13px;
  color: #1b3a4d;
}
.mobile-menu-flags .wpml-ls-item a {
  text-transform: none !important;
  color: #1b3a4d !important;
}
.mobile-menu-flags .wpml-ls-item a,
a:hover {
  text-transform: none !important;
  /*color: #1b3a4d !important;*/
}
.mobile-menu-flags .wpml-ls-item a .menu-item-text {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-transform: none !important;
  color: #1b3a4d !important;
}

.mobile-menu-flags .wpml-ls-item a .menu-item-text .wpml-ls-native {
  text-transform: none !important;
}

#mobile-menu li:last-child {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
}

li.wpml-ls-menu-item .wpml-ls-flag,
.wpml-ls-item .wpml-ls-flag {
  margin-right: 0px !important;
}
.faq-item {
  margin-bottom: 10px;
  transition: background-color 0.3s ease;
  padding-left: 15%;
  padding-right: 15%;
  padding-bottom: 36px;
  padding-top: 25px;
  color: #000000;
  display: flex;
  justify-content: space-between;
  border-radius: 15px;
}

.faq-icon {
  font-size: 42px;
  cursor: pointer;
}

.financia-box {
  flex: 1 1 auto !important;
  /* ocupa toda la altura disponible */
}

.my-custom-wpml-class {
  display: flex;
  align-items: center; /* Alinea la bandera y el texto verticalmente */
}

.my-custom-wpml-class .wpml-ls-link {
  display: flex;
  align-items: center;
  gap: 8px; /* Añade un espacio entre la bandera y el texto */
}

.my-custom-wpml-class .wpml-ls-flag {
  display: block !important; /* Asegura que la bandera se muestre */
}

.my-custom-wpml-class .wpml-ls-native {
  margin: 0;
}

/* Asegura que el selector de idiomas móvil se muestre correctamente */
.mobile-mini-widgets .wpml-ls-flag {
  display: inline-block !important;
}

/* Espacio entre la bandera y el texto */
.mobile-mini-widgets .wpml-ls-link {
  gap: 8px;
}
.emsa-form-wrapper {
  background: #eeeeee;
  border-radius: 15px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: "Plus Jakarta Sans";
}

.emsa-form-content {
  flex: 1 1 250px;
}

.emsa-form-content h3 {
  margin: 0;
  font-size: 20px;
  font-weight: bold;
  color: #0f2b53;
}

.emsa-form-content p {
  margin: 5px 0 0;
  color: #0f2b53;
  font-size: 14px;
}

.emsa-form {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: flex-start;
}

.emsa-form input[type="email"] {
  padding: 12px 20px;
  border: 1px solid #ccc;
  border-radius: 50px;
  flex: 1;
  font-size: 16px;
  margin-bottom: 0px;
  border-radius: 30px !important;
}

.emsa-form .emsa-submit {
  background-color: #198c19 !important;
  color: white !important;
  border: none !important;
  padding: 12px 25px !important;
  border-radius: 50px !important;
  font-size: 16px !important;
  cursor: pointer !important;
  margin-left: 15px !important;
  font-weight: 700;
}

.emsa-form form .emsa-submit {
  background-color: #198c19;
  color: white;
  border: none;
  padding: 12px 25px;
  border-radius: 50px;
  font-size: 16px;
  cursor: pointer;
  margin-left: 15px;
  border-radius: 30px !important;
}

.emsa-form button:hover {
  background-color: #157a15 !important;
}

.emsa-form button.loading {
  position: relative;
  pointer-events: none;
  opacity: 0.8;
}

.emsa-form button.loading::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 16px;
  height: 16px;
  border: 2px solid #fff;
  border-top: 2px solid transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  transform: translateY(-50%);
}

.text-tenes-dudas .uvc-main-heading h2 {
  font-size: clamp(1.25rem, 2vw + 0.5rem, 2.5rem);
}

.text-tenes-dudas .uvc-sub-heading p {
  font-size: clamp(1.125rem, 1.2vw, 1rem);
}

.faq-question {
  font-size: clamp(20px, 2.1vw, 1.3125rem);
}

@keyframes spin {
  0% {
    transform: translateY(-50%) rotate(0deg);
  }

  100% {
    transform: translateY(-50%) rotate(360deg);
  }
}

/* Animaciones */
@keyframes fadeSlide {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.session_bolsa {
  margin-top: var(--p-block-top);
  margin-bottom: var(--p-block-bottom);
  background: var(--color-fondo-block);
  border-radius: var(--border-radius-grande);
  height: 489px;
  margin-left: 0% !important;
  margin-right: 0% !important;
}

.session_bola_column {
  padding-left: 9%;
  padding-right: 9%;
}

.session_bola_column_img .vc_column-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 489px !important;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}

.btn-bolsa {
  margin-top: 3%;
  font-weight: 700 !important;
}

.session_mision_vision {
  margin-bottom: var(--p-block-bottom);
  display: flex;
}

.session_mision_vision_column {
  border-radius: var(--border-radius-grande);
  display: flex;
  flex-direction: column;
  align-content: center;
  max-height: 345px;
  height: 345px;
  padding-left: 40px;
  padding-right: 40px;
  padding-bottom: 30px;
}

.emsa-titulo-contenedor {
  width: 100%;
  height: 35px;
  margin-top: 40px;
}
.emsa-titulo-contenedor h3 {
  font-size: clamp(1rem, 2vw, 2rem);
  font-weight: 700;
}
.text-conocemos-mas .uvc-main-heading h2 {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 700;
}

.session_valores {
  border-radius: var(--border-radius-grande);
  display: flex;
  flex-direction: column;
  align-content: center;
  padding-left: 2px;
  padding-right: 2px;
  padding-bottom: 30px;
  height: 190px;
  justify-content: center;
  align-items: center;
}

.session_valores .emsa-imagen-contenedor {
  margin-top: 13%;
  height: 80px;
  width: 253px;
}

.session_valores .emsa-descripcion-contenedor {
  padding: 20px;
  text-align: center;
  font-size: 16px;
  color: #1b3a4d !important;
}

.session_valores_accordion .emsa-imagen-contenedor {
  margin-top: 20%;
}

.session_valores_column {
  padding-right: 17px !important;
  padding-left: 17px !important;
}

.paraguay-timeline-slider {
  max-width: 100%;
  position: relative;
  border-radius: 30px;
  padding-top: 25px;
  padding-bottom: 0px;
  background: #d3efc6;
}

.paraguay-timeline-slider .swiper-slide {
  text-align: center;
}

.paraguay-timeline-slider .mapa img {
  max-width: 100%;
  height: auto;
  margin-top: 30px;
  margin-bottom: 30px;
}

.paraguay-timeline-slider .texto h3 {
  font-size: 24px;
  margin-top: 20px;
}

.paraguay-timeline-slider .mapa {
  margin-left: 25px;
  margin-right: 25px;
}

.paraguay-timeline-slider .swiper-button-next,
.paraguay-timeline-slider .swiper-button-prev {
  color: var(--color-negro) !important;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  background: var(--color-blanco);
  border-radius: 50%;
  display: flex !important;
  /* Cambiado de none a flex */
  justify-content: center;
  align-items: center;
  box-shadow: var(--sombra-box);
  transition: all 0.3s ease;
}

.paraguay-timeline-slider .swiper-button-prev {
  left: 30px;
}

.paraguay-timeline-slider .swiper-button-next {
  right: 30px;
}

.paraguay-timeline-slider .swiper-button-next:hover,
.paraguay-timeline-slider .swiper-button-prev:hover {
  background: var(--color-fondo-testimonio);
  box-shadow: var(--sombra-box-hover);
}

.paraguay-timeline-slider .swiper-button-next:after,
.paraguay-timeline-slider .swiper-button-prev:after {
  font-size: 18px;
  font-weight: bold;
}

/* Ocultar los íconos por defecto de Swiper */
.paraguay-timeline-slider .swiper-button-next:after,
.paraguay-timeline-slider .swiper-button-prev:after {
  display: none;
}

/* Estilos para los nuevos íconos */
.paraguay-timeline-slider .swiper-button-next i,
.paraguay-timeline-slider .swiper-button-prev i {
  font-size: 24px;
  color: var(--color-negro);
}

/* Rotar el ícono para la flecha previa */
.paraguay-timeline-slider .swiper-button-prev i {
  transform: rotate(180deg);
  display: inline-block;
}

/* Línea horizontal detrás de las bolitas */
.paraguay-timeline-nav {
  position: relative;
  max-width: 90%;
  height: 240px;
}

.timeline-dot-line {
  border: 1px solid #000000;
}

/*
.paraguay-timeline-nav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: var(--color-secundario);
    opacity: 0.5;
    z-index: 1;
}
*/
/* Contenedor individual del item */
.timeline-item-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
  width: 250px;
  /* Ancho fijo para cada elemento */
  padding: 0 20px;
}

/* Bolita encima de cada año */
.timeline-dot {
  width: 15px;
  height: 15px;
  background-color: var(--color-secundario);
  border-radius: 50%;
  margin-bottom: 15px;
  position: relative;
  z-index: 2;
  transition: all 0.3s ease;
  top: -8px;
}

/* Bolita activa más grande y de color diferente */
.paraguay-timeline-nav .swiper-slide-thumb-active .timeline-dot {
  width: 20px;
  height: 20px;
  background-color: var(--color-principal);
  transition: all 0.3s ease;
  top: -11px;
}

/* Texto del año y descripción */
.timeline-text-item {
  text-align: center;
  max-width: 200px;
  margin: 0 auto;
}

.timeline-year {
  font-size: 2rem;
  font-weight: 700;
  color: #1b3a4d;
  line-height: 1.2;
  text-align: left;
  margin-left: 4%;
  margin-bottom: 16px;
}

.timeline-description {
  line-height: 1.4;
  color: #1b3a4d;
  text-align: justify;
  font-size: clamp(12px, 2vw, 16px) !important;
}

/* Estilos para la línea debajo de "Nuestra Historia" */
.linea-historia {
  width: 100px;
  height: 2px;
  background-color: #002880;
  margin: 15px auto;
}

/* Ajuste del contenedor del texto */
.paraguay-slider-text {
  color: #002880;
  font-size: 1.875rem;
  font-weight: bold;
  padding-bottom: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.paraguay-timeline-wrapper {
  border-radius: 30px;
}

/* Agrega estos estilos en la sección <style> de tu función */
.mapa-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.mapa-logo {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 10;
  max-width: 100px;
  /* Ajusta según el tamaño deseado */
}

.mapa-logo img {
  width: 100%;
  height: auto;
  display: block;
}

/* Asegúrate que el mapa principal mantenga su posición relativa */
.mapa {
  position: relative;
  overflow: hidden;
}

.emsa-equipo {
  text-align: center;
  margin: 20px;
}

.emsa-equipo img {
  border-radius: 12px;
  width: 100%;
  max-width: 300px;
}

.equipo-activo {
  opacity: 1;
}

.equipo-inactivo {
  opacity: 0.5;
}

.emsa-equipo h3,
.emsa-equipo p {
  text-align: left;
  margin-left: 20px;
}

.emsa-cv-container {
  background: #f8fafc;
  padding: 30px;
  border-radius: 12px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding-top: 5%;
  padding-bottom: 5%;
}

.emsa-cv-button {
  background: #009600;
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 20px;
  cursor: pointer;
  font-weight: 700;
  font-size: 1rem;
}

.emsa-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
  /* Ajustar z-index */
}

.emsa-modal-content {
  background: white;
  padding: 30px;
  border-radius: 10px;
  position: relative;
  max-width: 450px;
  max-height: 90vh;
  /*overflow-y: auto;*/
}
.emsa-modal-content .btn_enviar_pop_up {
  background: #009600 !important;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 22px !important;
  cursor: pointer;
  width: 120px !important;
}

.emsa-modal-content .btn_enviar_pop_up:hover {
  background: #ffffff !important;
  color: #009600 !important;
}

.emsa-modal-content input::placeholder,
.emsa-modal-content textarea::placeholder {
  color: #001619b2; /* color con 60% de opacidad */
  opacity: 0.6; /* 60% de opacidad */
}
.emsa-form-detalle-proyecto .form-detalle input::placeholder,
.emsa-form-detalle-proyecto .form-detalle textarea::placeholder {
  color: #001619b2; /* color con 60% de opacidad */
  opacity: 0.6; /* 60% de opacidad */
}

.emsa-form-detalle-proyecto .form-detalle input,
.emsa-form-detalle-proyecto .form-detalle textarea {
  color: #001619; /* color más oscuro para el texto */
}

.emsa-form-detalle-proyecto .form-detalle label {
  font-weight: 700 !important;
}

.emsa-modal-content input,
.emsa-modal-content textarea {
  color: #001619; /* color más oscuro para el texto */
}

.emsa-modal-content input,
textarea {
  border-radius: 22px !important;
}
.cf7-country-tel {
  border: 1px solid #6d6e71 !important;
  border-radius: 22px !important;
}

.titulo_form_modal {
  color: #1b3a4d;
  font-family: Plus Jakarta Sans;
  font-size: 24px;
  font-weight: 700;
  line-height: 34px;
  margin: 0px 0px 10px;
  text-align: center;
}

.subtitulo_form_modal {
  color: #1b3a4d;
  display: inline;
  font-weight: 700;
  line-height: 25.6px;
  padding: 0px 0px 2%;
  text-align: center;
}
.emsa-form-cv {
  margin-top: 10px;
}

.emsa-form-cv .wpcf7-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-top: 2px solid #000;
  border-radius: 50%;
  display: inline-block;
  animation: spin 0.8s linear infinite;
  vertical-align: middle;
  transform: translateX(-50%);
  bottom: 5px !important;
  right: 77px !important;
  position: absolute;
}

.emsa-form-vender .wpcf7-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-top: 2px solid #000;
  border-radius: 50%;
  display: inline-block;
  animation: spin 0.8s linear infinite;
  vertical-align: middle;
  transform: translateX(-50%);
  bottom: 28px !important;
  right: 35px !important;
  position: absolute;
}
.emsa-form-contacto .wpcf7-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-top: 2px solid #000;
  border-radius: 50%;
  display: inline-block;
  animation: spin 0.8s linear infinite;
  vertical-align: middle;
  transform: translateX(-50%);
  bottom: 23px !important;
  right: 285px !important;
  position: absolute;
}
.emsa-form-detalle-proyecto .wpcf7-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-top: 2px solid #000;
  border-radius: 50%;
  display: inline-block;
  animation: spin 0.8s linear infinite;
  vertical-align: middle;
  transform: translateX(-50%);
  right: -66px !important;
  position: relative;
}
.text-form-contacto .uvc-main-heading h2 {
  font-size: clamp(18px, 4vw, 24px) !important;
  font-weight: 700;
  color: #000000;
}
.text-form-contacto .uvc-sub-heading p {
  font-size: clamp(12px, 3vw, 16px) !important;
  font-weight: 400 !important;
  color: #000000 !important;
}
.emsa-form-vender {
  margin-top: 10px;
}
.container_btn_proyectos {
  text-align: center;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}
.btn_proyectos-all {
  font-weight: 700 !important;
}
.error-message {
  font-size: 12px;
  color: red;
  display: block;
  margin-top: 5px;
}
.emsa-close {
  position: absolute;
  right: 15px;
  top: 10px;
  cursor: pointer;
  font-size: 20px;
}
.emsa-grid input[type="text"],
.emsa-grid input[type="email"],
.emsa-grid input[type="tel"] {
  border-radius: 22px !important;
  border: 1px solid #6d6e71 !important;
}
.text-datos-seguro-contacto {
  text-align: center;
}
.text-datos-seguro-contacto .text-seguridad {
  font-size: 12px;
}

.emsa-field label,
.emsa-field-full label {
  color: #434343 !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
}

.emsa-form input[type="file"] {
  width: 100%;
  margin-bottom: 15px;
  padding: 10px;
}

.emsa-submit {
  background: #009600 !important;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 30px !important;
  cursor: pointer;
  width: 164px !important;
}

.emsa-submit:hover {
  background: #009600 !important;
  color: white !important;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
}

.color-emsa {
  color: #009600 !important;
  font-weight: 700 !important;
}
.titulo-form {
  margin-bottom: 7%;
}

.wpcf7-quiz.wpcf7-not-valid,
input.wpcf7-validates-as-required.wpcf7-not-valid {
  border-color: #d33 !important;
}

.emsa-modal-content {
  background: white;
  padding: 30px;
  border-radius: 16px;
  position: relative;
  font-family: "Plus Jakarta Sans";
}

.emsa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.emsa-field {
  display: flex;
  flex-direction: column;
}

.emsa-field-full {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
}

.emsa-form label {
  color: #434343 !important;
  font-size: 14px;
  margin-bottom: 5px;
}

.emsa-form input[type="text"],
.emsa-form input[type="email"] {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f8f8f8;
  color: #001619; /* color más oscuro para el texto */
}

.emsa-dropzone {
  position: relative;
  padding: 20px;
  border: 2px dashed #ccc;
  border-radius: 12px;
  background: #f9f9f9;
  text-align: center;
  cursor: pointer;
}

.emsa-dropzone input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.emsa-dropzone p {
  margin: 0;
  color: #666;
}

.emsa-submit {
  background: #009600;
  color: white;
  padding: 12px 28px;
  font-weight: bold;
  border: none;
  border-radius: 22px !important;
  font-size: 16px !important;
  cursor: pointer;
  transition: background 0.3s;
}

.emsa-submit:hover {
  background: #009900;
}

.emsa-dropzone .upload-icon {
  width: 40px;
  height: 40px;
  vertical-align: middle;
}

.emsa-dropzone p {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0px;
}

.emsa-cv-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 20px;
}

.emsa-cv-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-negro);
  line-height: 1.2;
}

.emsa-cv-subtitle {
  color: var(--color-negro);
  line-height: 1.4;
  font-size: clamp(20px, 2.5vw, 30px);
  font-weight: 700;
}

.emsa-dropzone {
  border: 2px dashed #ccc;
  padding: 20px;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
}

.emsa-dropzone.has-file {
  border-color: #4caf50;
  background: #f8fff8;
}

.file-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.remove-file {
  background: #ff4444;
  color: white;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  line-height: 20px;
  cursor: pointer;
  padding: 0;
}

.file-name {
  color: #4caf50;
  font-weight: 500;
}

.session_subcontainer_quiero_vender {
  display: flex;
}

.btn_ensa_vender_terreno {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  margin-top: 2%;
}
.text-sucursales .uvc-main-heading h2 {
  font-weight: 700;
}
.text-novedades .uvc-main-heading h2 {
  font-weight: 700;
}
.emsa-vender-button {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}

/* Reducir el margen inferior de las tarjetas */

.sucursal-card .vc_col-sm-6.vc_col-md-3 {
  /* Asegura que las columnas de WPBakery tengan la misma altura */
}

.sucursal-card {
  /* El contenedor de la tarjeta se convierte en un flexbox vertical */
  display: flex;
  flex-direction: column;
  height: 100%; /* La tarjeta ocupa toda la altura de su contenedor */
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.sucursal-card img {
  /* La imagen mantiene su altura fija */
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.card-body {
  /* Este div crece para rellenar el espacio vacío */
  flex-grow: 1;
  padding: 15px;
  display: flex;
  flex-direction: column;
  height: 290px;
}

.container-btn-novedades {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  text-align: center;
}
.btn-novedades {
  font-weight: 700 !important;
}

.icono-texto:first-child {
  height: 48px;
  display: flex; /* para alinear mejor el icono y el texto */
  align-items: center; /* centrado vertical */
}
.cargos {
  margin-top: 8px;
  color: #1a1a1a;
}

.card-body ul {
  /* El espacio se distribuye al final del contenido */
  margin-top: auto;
}

.card-body ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
  color: #555;
  display: flex; /* Esto hace que la lista se comporte como un flexbox */
  flex-direction: column; /* Apila los elementos de la lista verticalmente */
  gap: 10px; /* Agrega un espacio entre cada elemento de la lista */
}

.icono-texto {
  display: flex; /* Hace que cada elemento de la lista sea un flexbox */
  align-items: flex-start; /* Alinea los elementos en la parte superior */
  gap: 10px; /* Espacio entre el ícono y el texto */
}

.col-icon {
  width: 20px; /* Ancho fijo para el contenedor del ícono */
  flex-shrink: 0; /* Evita que el contenedor del ícono se encoja */
}

.custom-icon {
  width: 100%; /* El ícono ocupa el ancho completo de su contenedor */
  height: auto;
}

/* Reducir el espacio horizontal entre columnas */
.sucursales-grid .vc_col-xs-1,
.sucursales-grid .vc_col-sm-1,
.sucursales-grid .vc_col-md-1,
.sucursales-grid .vc_col-lg-1,
.sucursales-grid .vc_col-xs-2,
.sucursales-grid .vc_col-sm-2,
.sucursales-grid .vc_col-md-2,
.sucursales-grid .vc_col-lg-2,
.sucursales-grid .vc_col-xs-3,
.sucursales-grid .vc_col-sm-3,
.sucursales-grid .vc_col-md-3,
.sucursales-grid .vc_col-lg-3,
.sucursales-grid .vc_col-xs-4,
.sucursales-grid .vc_col-sm-4,
.sucursales-grid .vc_col-md-4,
.sucursales-grid .vc_col-lg-4,
.sucursales-grid .vc_col-xs-5,
.sucursales-grid .vc_col-sm-5,
.sucursales-grid .vc_col-md-5,
.sucursales-grid .vc_col-lg-5,
.sucursales-grid .vc_col-xs-6,
.sucursales-grid .vc_col-sm-6,
.sucursales-grid .vc_col-md-6,
.sucursales-grid .vc_col-lg-6,
.sucursales-grid .vc_col-xs-7,
.sucursales-grid .vc_col-sm-7,
.sucursales-grid .vc_col-md-7,
.sucursales-grid .vc_col-lg-7,
.sucursales-grid .vc_col-xs-8,
.sucursales-grid .vc_col-sm-8,
.sucursales-grid .vc_col-md-8,
.sucursales-grid .vc_col-lg-8,
.sucursales-grid .vc_col-xs-9,
.sucursales-grid .vc_col-sm-9,
.sucursales-grid .vc_col-md-9,
.sucursales-grid .vc_col-lg-9,
.sucursales-grid .vc_col-xs-10,
.sucursales-grid .vc_col-sm-10,
.sucursales-grid .vc_col-md-10,
.sucursales-grid .vc_col-lg-10,
.sucursales-grid .vc_col-xs-11,
.sucursales-grid .vc_col-sm-11,
.sucursales-grid .vc_col-md-11,
.sucursales-grid .vc_col-lg-11,
.sucursales-grid .vc_col-xs-12,
.sucursales-grid .vc_col-sm-12,
.sucursales-grid .vc_col-md-12,
.sucursales-grid .vc_col-lg-12 {
  padding-left: 15px;
  padding-right: 15px;
}

/* Ajustar el margen del contenedor */
.sucursales-grid .vc_row {
  margin-left: -5px;
  margin-right: -5px;
}

.breadcrumbs a {
  color: #002554 !important;
}

.sucursales_mobiles {
  display: none;
}

.custom-icon {
  width: 20px;
  height: 20px;
  margin-right: 5px;
}

.icono-texto {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.icono-texto img.custom-icon,
.icono-texto i,
.icono-texto .emoji-icon {
  object-fit: contain;
  display: inline-block;
}

.icono-texto span {
  flex: 1;
  display: inline-block;
}

.icono-texto {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px;
  align-items: start;
}

.icono-texto .col-icon {
  flex: 0 0 24px;
  /* ancho fijo más pequeño */
  display: flex;
  justify-content: center;
  align-items: center;
}

.icono-texto {
  display: flex;
  align-items: flex-start;
  /* Esto alinea mejor si hay salto de línea */
  gap: 8px;
}

.icono-texto .col-texto {
  flex: 1;
  font-size: 0.75rem;
  /* 14px */
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  line-height: 1.4;
}

.icono-texto img.custom-icon,
.icono-texto i,
.icono-texto .emoji-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

#novedades-resultados {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  /* Alinea los elementos a la izquierda */
  margin: 0 -15px;
  /* Compensar el padding de las columnas */
}

.col-texto a,
.col-texto-email {
  font-size: 0.8125rem;
  /* ~13px */
  word-break: break-word;
}

.novedades-col {
  width: calc(33.333% - 30px);
  /* Ancho para tres elementos por fila */
  padding: 15px;
  box-sizing: border-box;
  margin-bottom: 20px;
}

.novedades-card {
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.post-thumb {
  width: 100%;
  height: 200px;
  /* Ajusta la altura de la imagen */
  overflow: hidden;
}

.post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 15px 15px 0 0;
}

.post-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.post-title {
  margin: 0 0 10px;
  font-weight: bold;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  /* Limit to 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.emsa-form-contacto .emsa-field-form label {
  color: #434343 !important;
  font-weight: 600;
}

.novedades-card .post-content .post-link {
  padding: 8px 28px;
  background-color: #2ea043;
  color: #fff;
  text-decoration: none;
  border-radius: 30px;
  transition: background-color 0.3s ease;
  max-width: 100px;
  text-align: center;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}

.fa-arrow-right {
  font-size: 0.85em;
  margin-left: 5px;
}

/* Estilos para el buscador de novedades */
#novedades-container {
  text-align: center;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.novedades-buscador-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 710px;
  margin-bottom: 30px;
}

.novedades-buscador-wrapper input {
  width: 100%;
  padding: 10px 40px 10px 15px;
  border: 1px solid #ccc;
  border-radius: 30px;
  font-size: 16px;
  outline: none;
}

.novedades-icono {
  position: absolute;
  right: 6px;
  top: 49%;
  transform: translateY(-50%);
  /* opacity: 0.7; */
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(12, 134, 12, 1);
  display: flex;
  justify-content: center;
  align-items: center;
}

.novedades-icono img {
  width: 20px;
  height: 20px;
}

.novedades-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 -15px;
}

.novedades-col {
  width: calc(33.333% - 30px);
  /* Ancho para tres columnas */
  padding: 15px;
  box-sizing: border-box;
  margin-bottom: 20px;
}

.swiper-pagination {
  display: block !important;
}

/********************/
.novedades-slider {
  width: 100%;
  overflow: hidden;
}

.novedades-slider .swiper-slide {
  width: 300px;
  /* Ajusta el ancho de cada slide */
  margin-right: 20px;
}

.novedades-slider .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 50%;
  /*background: #ccc;*/
  margin: 0 5px;
  cursor: pointer;
}

.novedades-slider .swiper-pagination-bullet-active {
  /*background: #333;*/
}

.novedades-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  color: #555;
  font-family: "Plus Jakarta Sans";
}

.novedades-loader .spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #ccc;
  border-top: 4px solid #0073aa;
  /* Azul WordPress */
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin-bottom: 10px;
}

.containner-flotante {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  font-weight: bold;
  gap: 10px;
  top: 100px;
  position: relative;
  left: 150px;
}

.bag_flotante {
  top: 180px;
}

.lista-contacto {
  list-style: none;
  padding: 0;
  margin: 0;
}

.icono-texto {
  display: flex;
  align-items: flex-start;
  /* Alinea el ícono arriba si hay texto largo */
  gap: 10px;
  margin-bottom: 10px;
}

.icono-texto .col-icon {
  flex: 0 0 20px;
  /* ancho fijo del ícono */
  display: flex;
  justify-content: center;
  align-items: flex-start;
  /* importante para evitar que baje el ícono */
}

.icono-texto .custom-icon {
  max-width: 100%;
  height: auto;
}

.container_contactos {
  padding: 30px;
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  align-content: flex-start;
  justify-content: center;
  align-items: flex-start;
  margin-top: 5%;
}

.container_contactos .titulo-contacto {
  margin-left: 17px;
  margin-bottom: 30px;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 700;
}

.mapa-leaflet {
  width: 100%;
  height: 300px;
  border-radius: 12px;
}

.mapa-imagen-fallback {
  width: 100%;
  border-radius: 12px;
}

.mapa-leaflet {
  width: 100%;
  height: 350px;
  min-height: 250px;
  border-radius: 10px;
  margin-bottom: 20px;
}

.container_informacion_mapa {
  padding-top: 5%;
  border-radius: 30px;
  margin-top: 5%;
  margin-bottom: 5%;
  margin-left: 3%;
  margin-right: 3%;
}

.text-contactos-mobile {
  display: none;
}

/* Contenedor principal */
.form-contacto {
  max-width: 500px;
  margin: 0 auto;
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 10px;
}

/* Fila de nombre y apellido en la misma línea */
.form-contacto .form-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 15px;
}

.form-contacto .form-row:first-child {
  flex-direction: row;
}

/* Inputs y textarea */
.form-contacto input[type="text"],
.form-contacto input[type="email"],
.form-contacto input[type="tel"],
.form-contacto textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #b7b7b7;
  border-radius: 10px;
  font-size: 14px;
  font-family: "Plus Jakarta Sans";
  box-sizing: border-box;
}

.form-contacto input::placeholder,
.form-contacto textarea::placeholder {
  color: #001619b2; /* color con 60% de opacidad */
  opacity: 0.6; /* 60% de opacidad */
}

.form-contacto input,
.form-contacto textarea {
  color: #001619; /* color más oscuro para el texto */
}

/* Nombre y Apellido lado a lado */
.form-contacto .form-row:first-child > div {
  flex: 1;
}

/* Botón de envío */
.form-contacto .form-submit {
  text-align: right;
}

.form-contacto .btn-enviar {
  background-color: #138000 !important;
  color: white;
  padding: 6px 18px;
  font-size: 14px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
  width: 105px !important;
  border-radius: 10px !important;
  transition: background 0.3s ease;
  padding: 8px !important;
  text-align: center;
}

.form-contacto .btn-enviar:hover {
  background: #0f6b00 !important;
}

.linea-separadora {
  border: none;
  height: 2px;
  background-color: #dddddd;
  margin: 30px 0;
  width: 100%;
}

.container_contact_form div {
  background: #f5f5f5 !important;
}

.container_contact_form div {
  border-radius: 30px;
}
.container_contact_form {
  margin-top: 5%;
  margin-bottom: 5%;
  margin-left: 5%;
  margin-right: 5%;
  border-radius: 30px;
}

.text_nuestros_clientes .uvc-main-heading h2 {
  font-size: clamp(1.25rem, 2vw + 0.5rem, 2.125rem);
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.nps-rating-container {
  text-align: center;
  max-width: 600px;
  margin: auto;
  font-family: "Plus Jakarta Sans";
}

.nps-scale-labels {
  display: flex;
  justify-content: space-between;
  margin: 10px 0;
  font-size: 0.9rem;
  padding: 0 15px;
}

.nps-buttons-wrapper {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.emsa-imagen-contenedor {
  display: flex;
  justify-content: center;
  align-items: center;
}

.text-heading-valores .uvc-main-heading h2 {
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  font-weight: 700 !important;
}

.text-nuestra-historia .uvc-main-heading h2 {
  font-size: clamp(1.25rem, 3.1vw, 2.5rem);
  font-weight: 700 !important;
  color: #002554 !important;
  margin-bottom: 5%;
}

.text-heading-equipo .uvc-main-heading h2 {
  font-size: clamp(20px, 3vw, 40px);
  font-weight: 700 !important;
  color: #1a1a1a;
}

.text-heading-equipo .uvc-sub-heading p {
  font-size: clamp(12px, 2vw, 17px);
  font-weight: 400;
  color: #1a1a1a;
}

.emsa-cv-text span {
  font-size: clamp(20px, 2.5vw, 32px);
  font-weight: 700;
}

/* ESTILOS EXISTENTES QUE SE MANTIENEN */
.paraguay-timeline-wrapper {
  position: relative;
}

.paraguay-timeline-slider {
  margin-bottom: 20px;
}

/* NUEVOS ESTILOS SOLO PARA EL SEGUNDO SLIDER (basado en tu imagen) */
.timeline-text-item {
  text-align: center;

  max-width: 300px;
  margin: 0 auto;
}

/* Ajustes del slider inferior */
.paraguay-timeline-slider .swiper-slide,
.paraguay-timeline-nav .swiper-slide {
  width: 335px !important;
  box-sizing: border-box;
}

.paraguay-timeline-nav {
  padding-top: 30px;
}

.paraguay-slider-text {
  font-size: clamp(24px, 5vw, 34px) !important;
}

.paraguay-timeline-nav .swiper-slide-thumb-active .timeline-year {
  font-size: clamp(24px, 5vw, 34px) !important;
}

/* Estado activo */
.paraguay-timeline-nav .swiper-slide-thumb-active .timeline-year {
  color: #1b3a4d;
  font-size: 26px;
  margin-top: -9px;
}

.emsa-equipo-lista {
  display: flex;
  flex-wrap: wrap;
  gap: 0px;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
}

.emsa-equipo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: calc(33.333% - 20px);
  max-width: 300px; /* Ajusta este valor si lo necesitas */
  box-sizing: border-box; /* Asegura que el padding no desborde el ancho */
}

.emsa-equipo img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  align-self: center;
}

.emsa-equipo h3 {
  font-size: 21px !important;
  font-weight: 600;
  margin: 12px 26px 0px;
  color: #1a1a1a;
  font-weight: 500;
}

.emsa-equipo p {
  font-size: 15px;
  color: #1a1a1a;
  font-weight: 400;
  margin: 0 26px 12px;
}

.emsa-equipo-lista-mobile {
  display: flex;
  flex-wrap: wrap;
  gap: 0px;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
}

.emsa-equipo-mobile {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  align-content: center;
  justify-content: center;
}

.emsa-equipo-mobile img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  align-self: center;
}

.emsa-equipo-mobile h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 12px 26px 4px;
}
.row_cv {
  padding-top: 3%;
  padding-bottom: 5%;
}

.project-detail-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.project-title {
  font-size: clamp(24px, 4vw, 40px);
  margin-bottom: 10px;
}

.project-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 10px;
}

.project-gallery img {
  width: 100%;
  border-radius: 8px;
}

.container_contacto_foto {
  padding-top: 3%;
  padding-bottom: 5%;
}

.project-map img {
  max-width: 100%;
}

/*GOOGLE MAPS*/
.gm-style-iw-d {
  overflow: hidden !important;
}

.gm-style-iw.gm-style-iw-d > div {
  padding: 0 !important;
}
.gm-style .gm-style-iw-c {
  padding: 0 !important;
}
.gm-style-iw-ch,
.gm-style-iw-chr {
  display: none;
}

/* Contenedor general */

.contenedor-main-proyectos {
  margin-top: 3%;
}
.proyectos-terrenos-ui {
  max-width: 1200px;
  margin: auto;
  font-family: "Plus Jakarta Sans";
  padding: 20px;
}

/* Títulos */
.proyectos-terrenos-ui .proyectos-title {
  font-size: 28px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 5px;
}

.proyectos-terrenos-ui .proyectos-subtitle {
  text-align: center;
  color: #666;
  margin-bottom: 25px;
}

/* Contenedor filtros */
.filtros-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  justify-content: center;
  margin-bottom: 30px;
}

/* Input de búsqueda */
.busqueda {
  display: flex;
  align-items: center;
}

.busqueda input {
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px 0 0 6px;
  font-size: 14px;
  min-width: 200px;
}

.busqueda .btn-buscar {
  background: #00a859;
  color: white;
  border: none;
  padding: 10px 15px;
  border-radius: 0 6px 6px 0;
  cursor: pointer;
}

.busqueda .btn-buscar:hover {
  background: #008a49;
}

/* Selects */
.filtros-selects select {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
  background-color: white;
}

/* Botones de vista */
.vista-opciones {
  display: flex;
  gap: 8px;
}

.vista-opciones button {
  background: #f5f5f5;
  border: 1px solid #ddd;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
}

.vista-opciones button:hover {
  background: #e5e5e5;
}

.vista-opciones .activo {
  background: #00a859;
  color: white;
  border-color: #00a859;
}

/* Grid de proyectos */
.grid-proyectos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-bottom: 2%;
  justify-items: center;
}
.session_finanzas {
  padding-top: 3% !important;
  padding-bottom: 3% !important;

  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url(/wp-content/uploads/2025/09/buscando-terreno.png?id=3657);

  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
.proyecto-item {
  width: 100%;
  max-width: 298px;
}

#mapa-proyectos {
  width: 70%;
  /* ancho relativo */
  max-width: 1024px;
  /* ancho máximo fijo */
  height: 500px;
  margin: 0 auto;
  display: block;
  border-radius: 30px;
  /* o lo que tengas para mostrarlo */
}

/* Card */
.card {
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  background: white;
  position: relative;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease;
}

.card:hover {
  transform: translateY(-4px);
}

/* Etiqueta NUEVO LANZAMIENTO */

/* Imagen */
.card {
  position: relative;
  overflow: hidden;
}

/* Info dentro de la card */
.card .info {
  padding: 15px;
  text-align: left;
}

.card .proyecto-titulo {
  font-size: 18px;
  margin: 0 0 8px;
  border-bottom: 1px solid #f0effb;
  padding-bottom: 5px;
  font-weight: 700;
  color: #000929;
}

.card .proyecto-meta {
  font-size: 14px;
  color: #808494;
  margin-bottom: 0px;
}

.card .proyecto-descripcion {
  font-size: 14px;
  color: #808494;
}

.enlace-proyecto {
  text-decoration: none !important;
}

.proyecto-img img {
  width: 100%;
  max-height: 170px;
  /* Ajusta la altura máxima */
  height: 170px;
  /* Necesario para que object-fit funcione bien */
  object-fit: cover;
  /* Recorta manteniendo proporción */
  display: block;
}

.proyectos-filtros-container {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Buscador */
.proyectos-buscador-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 50px;
  overflow: hidden;
  width: 350px;
  background: #fff;
}

.proyectos-buscador-wrapper input {
  flex: 1;
  border: none;
  padding: 10px 15px;
  outline: none;
}

.proyectos-btn-buscar {
  background: green;
  color: #fff;
  border: none;
  padding: 0 15px;
  cursor: pointer;
}

/* Filtros */
.proyectos-filtros-inline {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 5%;
  align-items: center;
}

#mapa-proyectos {
  display: none;
}

.proyectos-filtro-items {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  gap: 14px;
}

.proyectos-filtro-item select {
  border: 1px solid #ccc;
  border-radius: 50px;
  padding: 8px 15px;
  outline: none;
  background: #fff;
  appearance: none;
  cursor: pointer;
}

/* Botones de vista */
.proyectos-vista-opciones {
  display: flex;
  gap: 10px;
}

.proyectos-vista-opciones button {
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 8px 12px;
  cursor: pointer;
}

.select-departamento select,
.select-precio select,
.select-lanzamiento select {
  padding: 5px 10px 5px 50px;
  /* Más padding izquierdo para el ícono */
  border: 1px solid #ccc;
  border-radius: 20px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-repeat: no-repeat;
  background-position: 10px center, right 10px center;
  background-size: 24px, 24px;
  width: auto;
  /* mínimo ancho */
  max-width: 90%;
  /* máximo ancho no sobrepase el contenedor */
  font-size: 14px;
  cursor: pointer;
}

.select-departamento select {
  background-image: url(/wp-content/themes/dt-the7-child/img/dpto.png),
    url('data:image/svg+xml;utf8,<svg fill="%23999" height="12" viewBox="0 0 24 24" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
  background-position: 10px center, right 10px center;
  background-size: 24px, 24px;
}

.select-precio select {
  background-image: url(/wp-content/themes/dt-the7-child/img/precios.png),
    url('data:image/svg+xml;utf8,<svg fill="%23999" height="12" viewBox="0 0 24 24" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
  background-position: 10px center, right 10px center;
  background-size: 17px, 24px;
}

.select-lanzamiento select {
  background-image: url(/wp-content/themes/dt-the7-child/img/lanzamientos.png),
    url('data:image/svg+xml;utf8,<svg fill="%23999" height="12" viewBox="0 0 24 24" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
  background-position: 10px center, right 10px center;
  background-size: 24px, 24px;
}

.btn-enlace-proyecto-detalle {
  color: #fff;
  background: #0c860c;
  padding: 5px;
  text-decoration: none;
  border-radius: 20px;
  display: flex;
  text-align: center;
  font-weight: bold;
  width: 80px;
  align-items: center;
  justify-content: center;
}

.btn-enlace-proyecto-detalle::hover {
  background: #0c860c;
  color: #fff;
}

.modal-filtro {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
}

.modal-filtro-contenido {
  background-color: #fff;
  margin: 10% auto;
  padding: 4px 15px 16px 15px;
  width: 90%;
  max-width: 400px;
  border-radius: 8px;
}

.cerrar-modal {
  float: right;
  font-size: 24px;
  cursor: pointer;
}

.modal-title {
  display: flex;
  align-items: center; /* Centra verticalmente */
  justify-content: center; /* Centra el contenido horizontalmente */
  position: relative; /* Para posicionar la X */
  padding: 0px 20px;
  border-bottom: 1px solid #ccc;
}

/* El título ocupa todo el espacio y se centra */
.modal-title h2 {
  flex: 1;
  text-align: center;
  margin: 0;
  font-size: 1.125rem;
}

/* La X queda siempre a la derecha */
.modal-title .cerrar-modal {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  cursor: pointer;
}
.proyectos-filtro-item select {
  display: none; /* Oculta los select */
}
#modal-filtro-inner select {
  display: block !important; /* fuerza que se vea dentro del modal */
}

/* Estilo base para los botones del modal */
#btn-filtrar-departamento,
#btn-filtrar-precio,
#btn-filtrar-lanzamiento {
  border: 1px solid #ccc;
  border-radius: 22px;
  background-repeat: no-repeat;
  background-position: 10px center, right 10px center;
  background-size: 24px, 24px;
  font-size: 13px;
  cursor: pointer;
  background-color: #fff;

  /* Altura igual al select */
  height: 36px; /* Ajusta según la altura real del select */
  line-height: 36px; /* Centra verticalmente el texto */
  padding-left: 38px;
  padding-right: 34px;
  display: inline-block;
  white-space: nowrap;
}

/* Iconos específicos para cada botón */
#btn-filtrar-departamento {
  background-image: url(/wp-content/themes/dt-the7-child/img/dpto.png),
    url(/wp-content/themes/dt-the7-child/img/down-arrow.svg);
  background-size: 25px, 18px;
  color: #001619;
}

#btn-filtrar-precio {
  background-image: url(/wp-content/themes/dt-the7-child/img/precios.png),
    url(/wp-content/themes/dt-the7-child/img/down-arrow.svg);
  background-size: 16px, 18px;
  color: #001619;
}

#btn-filtrar-lanzamiento {
  background-image: url(/wp-content/themes/dt-the7-child/img/lanzamientos.png),
    url(/wp-content/themes/dt-the7-child/img/down-arrow.svg);
  background-size: 18px, 18px;
  color: #001619;
}
.filter-button {
  display: none;
}
.proyectos-vista-opciones {
  display: flex;
  gap: 10px;
}

.proyectos-vista-opciones button {
  position: relative;
  padding: 8px 35px 8px 12px;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 15px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.2;
  min-height: 36px;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: right 10px center;
  height: 46px;
}

/* Icono de Grid */
.proyectos-vista-grilla {
  background-image: url(/wp-content/themes/dt-the7-child/img/grid_emsa.svg);
}

/* Icono de Mapa */
.proyectos-vista-mapa {
  background-image: url(/wp-content/themes/dt-the7-child/img/location_emsa.svg);
}
.proyectos-activo {
  background-color: #e3e3e3 !important;
  border-color: #999;
}

.home-activo {
  background-color: #e3e3e3 !important;
  border-color: #999;
}

.home-vista-grilla {
  background-image: url(/wp-content/themes/dt-the7-child/img/grid_emsa.svg);
}

.home-vista-mapa {
  background-image: url(/wp-content/themes/dt-the7-child/img/location_emsa.svg);
}

/***/

/* Modal */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal-content {
  background: white;
  padding: 30px;
  border-radius: 15px;
  max-width: 500px;
  width: 90%;
  text-align: center;
  position: relative;
}

.modal-close {
  position: absolute;
  right: 20px;
  top: 15px;
  font-size: 24px;
  cursor: pointer;
}

.rango-precios {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin: 0px 0;
}

.rango-precios input[type="range"] {
  width: 48%;
  -webkit-appearance: none;
  background: transparent;
}

.rango-precios input::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 35px;
  width: 35px;
  border-radius: 50%;
  background: white;
  border: 2px solid green;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  cursor: pointer;
}

.precios-valores {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

.valor-box {
  width: 45%;
  border: 1px solid #ccc;
  border-radius: 25px;
  padding: 10px;
}

.valor {
  font-weight: bold;
  font-size: 18px;
}

.btn-verde {
  background-color: green;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 7px 24px;
  font-size: 16px;
  cursor: pointer;
  font-weight: bold;
}

.btn-azul {
  background-color: #002554;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 7px 24px;
  font-size: 16px;
  cursor: pointer;
  font-weight: bold;
  margin-right: 5px;
}

.rango-precios {
  position: relative;
  width: 100%;
}

.rango-precios input[type="range"] {
  position: absolute;
  width: 100%;
  pointer-events: none; /* importante para que no se sobrepongan */
  -webkit-appearance: none;
  background: transparent;
}

.rango-precios input[type="range"]::-webkit-slider-thumb {
  pointer-events: all; /* ahora sí se puede mover */
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: white;
  cursor: pointer;
  border: 1px solid #ccc;
  -webkit-appearance: none;
}

.slider-rango {
  position: absolute;
  height: 0px;
  border-radius: 5px;
  background: #ddd; /* pista gris */
  top: 80%;
  transform: translateY(-50%);
  width: 100%;
}

.slider-rango::before {
  content: "";
  position: absolute;
  height: 0px;
  border-radius: 5px;
  background: green; /* barra verde */
  top: 0;
  left: 0;
  right: 0;
}

.rango-precios {
  position: relative;
  width: 100%;
  height: 80px; /* alto del histograma */
  background: url(/wp-content/themes/dt-the7-child/img/barras-verdes.svg) center
    no-repeat;
  background-size: contain;
}

.rango-precios input[type="range"] {
  position: absolute;
  width: 100%;
  top: 80%;
  transform: translateY(-50%);
  background: transparent;
  z-index: 5000;
  border: none;
}
.rango-label {
  color: #434343;
  font-weight: bold;
  margin-top: 18px;
  font-size: 18px;
}
.precios-valores {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
  gap: 20px;
}

.valor-col {
  text-align: center;
  flex: 1;
}

.valor-col .label {
  font-weight: bold;
  margin-bottom: 5px;
  color: #434343;
  font-size: 0.875rem;
}

.valor-box {
  border: 1px solid #ccc;
  border-radius: 40px;
  padding: 5px 20px;
  display: inline-block;
  min-width: 120px;
}

.valor {
  font-size: 13px;
  font-weight: 500;
  color: #374151; /* gris oscuro */
}

.container-btn-filtro-precio {
  display: flex;
  justify-content: space-around;
  font-weight: bold;
}

#precio-min::-webkit-slider-track,
#precio-max::-webkit-slider-track {
  /* Add properties like height, background, etc. */
  height: 30px;
}

#precio-min::-moz-range-track,
#precio-max::-moz-range-track {
  /* Add properties like height, background, etc. */
  height: 10px;
}

.proyecto-item {
  position: relative;
}

.proyecto-card {
  position: relative;
}

/* Badge solo se muestra cuando está presente en el HTML */
.badge-nuevo_lanzamiento-es {
  position: absolute;
  top: 144px;
  left: 0;
  width: 300px;
  height: 50px;
  background-image: url(/wp-content/themes/dt-the7-child/img/nuevo-lanzamiento-es.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  pointer-events: none;
  margin-left: -42px;
  margin-top: 0;
  display: block;
}

.badge-nuevo_lanzamiento-en {
  position: absolute;
  top: 144px;
  left: 0;
  width: 300px;
  height: 50px;
  background-image: url(/wp-content/themes/dt-the7-child/img/nuevo-lanzamiento-en.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  pointer-events: none;
  margin-left: -42px;
  margin-top: 0;
  display: block;
}

.badge-nuevos_lotes-es {
  position: absolute;
  top: 144px;
  left: 0;
  width: 300px;
  height: 50px;
  background-image: url(/wp-content/themes/dt-the7-child/img/nuevos-lotes-es.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  pointer-events: none;
  margin-left: -42px;
  margin-top: 0;
  display: block;
}

.badge-nuevos_lotes-en {
  position: absolute;
  top: 144px;
  left: 0;
  width: 300px;
  height: 50px;
  background-image: url(/wp-content/themes/dt-the7-child/img/nuevos-lotes-en.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  pointer-events: none;
  margin-left: -42px;
  margin-top: 0;
  display: block;
}

.badge-ultimos_lotes-es {
  position: absolute;
  top: 144px;
  left: 0;
  width: 300px;
  height: 50px;
  background-image: url(/wp-content/themes/dt-the7-child/img/ultimos-lotes-es.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  pointer-events: none;
  margin-left: -42px;
  margin-top: 0;
  display: block;
}

.badge-ultimos_lotes-en {
  position: absolute;
  top: 144px;
  left: 0;
  width: 300px;
  height: 50px;
  background-image: url(/wp-content/themes/dt-the7-child/img/ultimos-lotes-en.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  pointer-events: none;
  margin-left: -42px;
  margin-top: 0;
  display: block;
}

#pop_up_quierotereno {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.pop_up_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.btn-group {
  display: flex;
  gap: 10px;
  justify-content: center;
  padding: 30px;
  flex-direction: column;
  padding: 0px 30px 0px 30px;
}

.btn-lanzamiento {
  padding: 10px 20px;
  border-radius: 50px;
  border: 1px solid #ccc;
  background: #fff;
  color: #333;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-lanzamiento:hover {
  border-color: #0c860c; /* verde al pasar */
  color: #0c860c;
}

.btn-lanzamiento.activo {
  background: #0c860c; /* verde activo */
  color: #fff;
  border-color: #0c860c;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-content {
  background: #fff;
  border-radius: 10px;
  width: 90%;
  max-height: 80%;
  overflow-y: auto;
  padding: 20px;
}
.hidden {
  display: none;
}
#departamento-lista {
  max-height: 500px; /* altura fija que quieras */
  overflow-y: auto; /* agrega scroll vertical */
  padding: 30px;
  margin: 0;
  list-style: none;
  margin-top: 15px;
  color: #001619;
}

#departamento-lista li {
  padding: 8px 12px;
  cursor: pointer;
}

#departamento-lista li:hover {
  background-color: #f0f0f0; /* efecto hover opcional */
}

#departamento-lista li {
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 4px;
}

#departamento-lista li.activo {
  background-color: #f5f4f3; /* color de fondo cuando está seleccionado */
}

/* Contenedor con spinner */
#proyectos-grid.loading {
  position: relative;
  opacity: 0.6; /* opcional: oscurece el contenido mientras carga */
}

/* Spinner central */
#proyectos-grid.loading::after {
  content: "";
  position: absolute;
  top: 20%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border: 4px solid #002554; /* color del spinner */
  border-top: 4px solid transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  z-index: 500000;
}

.no-proyectos {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #002554; /* fondo azul oscuro */
  color: #fff; /* texto blanco */
  padding: 40px 20px;
  border-radius: 12px;
  margin: 20px 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.no-proyectos-icon {
  margin-bottom: 15px;
}

.no-proyectos p {
  font-size: 1.2rem;
  font-weight: 600;
  color: #ffffff; /* texto verde */
}

#btn-load-more {
  display: none;
  background: #002554;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  font-weight: 700;
}
.container_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

/* Contenedor principal de grid + mapa */
.container-home-grids {
  display: flex;
  flex-direction: row;
  gap: 20px; /* separación entre columnas */
}

/* Columna izquierda: grid de proyectos */
.container-filtros {
  flex: 1 1 60%; /* ocupa 60% del ancho */
  display: flex;
  flex-direction: column;
}

/* Grid de proyectos */

/* Columna derecha: mapa */
.container_mapa {
  flex: 1 1 40%; /* ocupa 40% del ancho */
  min-width: 300px;
  height: 500px; /* ajustar según necesidad */
}

/* Botón Load More */
.container_btn {
  text-align: center;
}
.container_mapa {
  display: none; /* Oculto al inicio */
}

.custom-link-location {
  color: #555;
  text-decoration: none; /* quita el subrayado */
  color: inherit;
  cursor: pointer;
}

.custom-link-location:hover {
  color: #555;
}

/* Responsivo: en móviles las columnas se apilan */
@media (max-width: 768px) {
  .container-home-grids {
    flex-direction: column;
  }

  .container_mapa {
    height: 400px;
  }
}

/* Animación */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#emsa-novedades-form {
  display: flex;
  align-items: center;
  gap: 10px; /* espacio entre input y botón */
}

.emsa-form {
  display: flex; /* ya debe estar en flex, pero lo aseguramos */
  gap: 10px; /* opcional: espacio entre input y button */
}

.emsa-form input[type="email"] {
  flex: 7; /* 70% */
}

.emsa-form button {
  flex: 3; /* 30% */
}
/*
#emsa-novedades-form input[type="email"] {
  flex: 1; 
  padding: 12px 20px; 
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 50px;
  outline: none;
  box-sizing: border-box;
  width: 100%;
}

#emsa-novedades-form input[type="submit"] {
  flex: 0 0 auto; 
  padding: 12px 25px;
  font-size: 16px;
  background-color: #28a745;
  color: #fff;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
*/
/*Formulario*/
.form-emsa {
  margin-top: 3%;
}
.text-seguridad {
  text-align: center;
  margin: 0 auto !important;
  font-size: 0.7rem;
  color: #1b3a4d !important;
}
.sub-titulo-form {
  font-weight: 700 !important;
  font-size: clamp(14px, 2.5vw, 16px);
  padding-bottom: 2% !important;
  color: #1b3a4d !important;
}
.emsa-field-form {
  text-align: left;
}

.emsa-field-form label {
  color: #434343 !important;
}
.emsa-field-form .wpcf7-form-control-wrap input,
textarea {
  border-radius: 22px !important;
  border: 1px solid #6d6e71 !important;
  color: #001619; /* color más oscuro para el texto */
}
.btn_formulario,
.btn_formulario:hover {
  margin-top: 3%;
  background: #218838 !important;
  color: white !important;
  border: none !important;
  border-radius: 22px !important;
}
div:where(.swal2-container) {
  z-index: 500000 !important;
}
.inputspace {
  margin-bottom: 4% !important;
}

.iti--separate-dial-code .iti__selected-flag {
  background-color: transparent !important;
}

.text-contactos .uvc-main-heading h2 {
  font-weight: 700 !important;
  font-size: clamp(2rem, 5vw, 4rem); /* mínimo 32px, fluye hasta 64px */
  padding-bottom: 2% !important;
}

.text-contactos .uvc-sub-heading {
  font-weight: 700 !important;
  font-size: clamp(1rem, 2.5vw, 1.5rem); /* mínimo 16px, fluye hasta 24px */
}

#emsa-novedades-form input[type="submit"]:hover {
  background-color: #218838; /* verde más oscuro al hover */
}

/*Nuevo elemento*/

/* Estilos del contenedor principal con fondo verde claro */
.paraguay-timeline-single-wrapper {
  background-color: #e8f5e9; /* Un verde muy claro */
  padding: 30px;
  border-radius: 10px;
}

/* Estilos para el slider unificado */
.paraguay-timeline-single .swiper-slide {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.paraguay-timeline-single .swiper-slide .mapa {
  width: 100%;
}

.paraguay-timeline-single .swiper-slide .timeline-text-item {
  margin-top: 20px;
}

/* Estilos para los puntos de paginación de Swiper */
.swiper-pagination-bullet {
  background-color: #8c8c8c; /* Color de los puntos inactivos */
  width: 8px;
  height: 8px;
  opacity: 0.5;
  transition: opacity 0.3s;
}

/* Estilo para el punto activo */
.swiper-pagination-bullet-active {
  background-color: #0c860c; /* Color del punto activo */
  opacity: 1;
}

/* Estilos responsivos */
@media (max-width: 1200px) {
  .novedades-col {
    width: calc(50% - 30px);
    /* Dos elementos por fila en pantallas medianas */
  }
}

@media (max-width: 768px) {
  .novedades-col {
    width: 100%;
    /* Un elemento por fila en pantallas pequeñas */
  }
}

/* Estilos para enlaces de contacto */
.whatsapp-link,
.email-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.whatsapp-link:hover,
.email-link:hover {
  text-decoration: none;
  color: inherit;
}

.whatsapp-link:focus,
.email-link:focus {
  text-decoration: none;
  color: inherit;
}

/* Cursor pointer para mapa avanzado EMSA */
.emsa-mapa-google {
  cursor: pointer;
}

/* Enlaces clickeables en tarjetas de novedades */
.post-thumb-link {
  text-decoration: none;
  display: block;
}

.post-thumb-link:hover {
  text-decoration: none;
}

.post-title-link {
  text-decoration: none;
  color: inherit;
}

.post-title-link:hover {
  text-decoration: none;
  color: inherit;
}

.post-title-link:hover .post-title {
  color: #2ea043;
  transition: color 0.3s ease;
}

/* Estilos del botón que abre los filtros (para móviles) */
.open-filters-btn {
  display: none;
  width: 100%;
  padding: 15px;
  background-color: #0c860c;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* El menú de filtros (sidebar) */
.filters-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: white;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
  display: none;
}

/* Estado del menú cuando está visible */
.filters-sidebar.is-visible {
  transform: translateX(0);
}

/* Estilos de la tarjeta de filtros */
.filters-container {
  padding: 20px;
}

.filters-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
}

.close-filters-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: #333;
  padding: 0;
}

.filters-title {
  font-size: 24px;
  font-weight: bold;
  color: #002554;
  margin: 0;
}

.filters-card {
  background-color: #fff;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.filter-options-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.filter-option-item {
  margin-bottom: 15px;
}

.filter-option-item:last-child {
  margin-bottom: 0;
}

.filter-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #333;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

.filter-button {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background-color: transparent;
  /* Fondo transparente */
  padding: 0;
  /* Sin padding interno */
  /* Para centrar la imagen */
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.filter-icon {
  width: 20px !important;
  height: 20px !important;
}

.filter-link:hover {
  border-color: #0c860c;
  background-color: #f7f7f7;
}

.filter-option-item.active .filter-link {
  background-color: #0c860c;
  color: #fff;
  border-color: #0c860c;
}

.filter-option-item.active .filter-link .filter-icon {
  filter: brightness(0) invert(1);
}

/* ===========================================
   ESTILOS PARA FILTROS DEL FOOTER
   =========================================== */

/* Contenido de filtros del footer */
.footer-filters-content {
  padding: 0;
}

/* Sección de filtro */
.footer-filter-section {
  margin-bottom: 20px;
}

.footer-filter-section:last-child {
  margin-bottom: 0;
}

.footer-filter-label {
  display: block;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Input de búsqueda */
.footer-search-input {
  width: 100%;
  padding: 10px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  font-size: 14px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.footer-search-input:focus {
  outline: none;
  border-color: #0c860c;
}

/* Dropdown de filtros */
.footer-filter-dropdown {
  position: relative;
}

.footer-filter-trigger {
  width: 100%;
  padding: 10px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  background-color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  transition: border-color 0.2s ease;
  border-radius: 33px;
}

.footer-filter-trigger:hover {
  border-color: #0c860c;
}

.footer-filter-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: white;
  border: 2px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 6px 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 250px;
  overflow-y: auto;
  z-index: 1000;
  display: none;
}

.footer-filter-list.active {
  display: block;
}

.footer-filter-list li {
  padding: 10px 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
}

.footer-filter-list li:last-child {
  border-bottom: none;
}

.footer-filter-list li:hover {
  background-color: #f5f5f5;
}

.footer-filter-list li.active {
  background-color: #0c860c;
  color: white;
}

/* Rango de precio */
.footer-price-range {
  background-color: #f8f9fa;
  padding: 15px;
  border-radius: 6px;
  border: 2px solid #e0e0e0;
}

.footer-price-inputs {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 10px;
}

.footer-price-input-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.footer-price-input-group label {
  font-size: 11px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.footer-price-input-group input[type="range"] {
  width: 100%;
  height: 4px;
  border-radius: 2px;
  background: #ddd;
  outline: none;
  -webkit-appearance: none;
  border-radius: 33px;
}

.footer-price-input-group input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #0c860c;
  cursor: pointer;
}

.footer-price-input-group input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #0c860c;
  cursor: pointer;
  border: none;
}

.footer-price-input-group span {
  font-weight: 600;
  color: #0c860c;
  font-size: 12px;
}

.footer-apply-btn {
  width: 100%;
  padding: 8px;
  background-color: #0c860c;
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-size: 16px;
  border-radius: 30px;
}

.footer-apply-btn:hover {
  background-color: #0c860c;
}

/* Botones de acción */
.footer-filter-actions {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #e0e0e0;
}

.footer-clear-btn {
  width: 100%;
  padding: 8px;
  background-color: #0c860c;
  color: #fff;
  border: 2px solid #0c860c;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 16px;
  border-radius: 30px;
}

.footer-clear-btn:hover {
  background-color: #0c860c;
  border-color: #ffffff;
}

.proyectos-terrenos-ui .novedades-buscador-wrapper .novedades-icono {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  background: #117a2a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  pointer-events: none;
  /* solo decorativo */
}

.proyectos-terrenos-ui .novedades-buscador-wrapper .novedades-icono img {
  width: 20px;
  height: 20px;
}

/* Estilos por defecto para escritorio (sin media queries) */
.emsa-equipo-lista {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px; /* Espacio entre los elementos, más moderno que margin */
}

.emsa-equipo {
  width: 30%; /* Ejemplo para 3 columnas, ajusta según tu diseño */
}

/* Oculta la versión móvil por defecto */

/* El slider móvil está oculto por defecto */

.emsa-equipo-mobile p {
  font-size: 0.95rem;
  color: #666;
  margin: 0 26px 12px;
}
.emsa-slider-mobile {
  display: none;
}

/* Color de la paginación activa */
.emsa-slider-mobile .splide__pagination__page.is-active {
  background-color: #0c860c;
  transform: scale(1.15);
}

/* Estilos de la paginación para evitar el centrado */
.emsa-slider-mobile .splide__pagination {
  text-align: center;
}

.emsa-slider-mobile .splide__pagination {
  text-align: center !important;
  margin-left: 0px !important;
  padding-left: 0px !important;
}

.footer-link-mobile {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: inherit;
}
.container-surcursal-mapa {
  padding-left: 10%;
  padding-right: 10%;
}

/********Post Card********/

/* Agrupación de clases con .post al final del archivo */

/* 2. CONTENEDOR DE LA TARJETA (El Padre Flex) */
.post-card {
  border-radius: 1rem;
  overflow: hidden;
  background: var(--color-blanco);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 3. CONTENIDO DEL POST (El Cuerpo Flexible) */
.post-content {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* 4. TÍTULO Y PÁRRAFO */
.post-content h3 {
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 0.5rem;
  flex-shrink: 0;
}

.post-content p {
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  margin-bottom: 1rem;
  flex-grow: 1;
}

/* 5. CONTENEDOR DEL BOTÓN */
.post-btn {
  margin-top: auto;
  text-align: center;
  width: 100%;
}

/* 6. ESTILO DEL BOTÓN */
.ver-mas {
  display: inline-block;
  background-color: var(--color-boton-verde);
  color: var(--color-blanco);
  padding: 8px 16px;
  border-radius: 20px;
  text-decoration: none;
  width: 164px;
  font-weight: 700;
  text-align: center;
}
.ver-mas:hover {
  color: #ffffff !important;
}

/* Post */
.post-slider-home {
  padding-top: 2%;
  padding-bottom: 40px;
}

.custom-post-slider .swiper-pagination {
  bottom: 0px !important;
}

.post-title {
  margin: 0 0 10px;
  font-weight: bold;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.post-title h3 {
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.post-content .post-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  overflow: hidden;
  text-overflow: ellipsis;
}

.post-content .post-btn {
  text-align: right;
}

.post-date {
  color: #888;
  font-size: 0.9em;
}

.post-excerpt {
  margin-top: 10px;
  color: #555;
  font-size: 1em;
  line-height: 1.4;
  flex-grow: 1;
}

.post-link {
  display: inline-block;
  margin-top: 10px;
  background: #2ea043;
  color: white;
  padding: 8px 16px;
  border-radius: 30px;
  text-decoration: none;
  transition: background-color 0.3s;
}

.post-link:hover {
  background: #227a33;
}

.novedades-card .post-thumb {
  position: relative;
  height: 270px;
  overflow: hidden;
  border-radius: 15px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
}

.novedades-card .post-thumb:hover {
  transform: scale(1.05);
}

.novedades-card .post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 15px 15px 0 0;
}

.novedades-card .post-content .post-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0px 0;
  color: #333;
  line-height: 28px;
}

.novedades-card .post-content .post-date {
  font-size: 0.9em;
  margin-bottom: 5px;
  text-align: left !important;
  color: #333;
}

.novedades-card .post-content .post-excerpt {
  color: #333;
  font-size: 1em;
  line-height: 1.4;
  margin-bottom: 10px;
}

.novedades-card .post-content .post-link {
  padding: 8px 28px;
  background-color: #2ea043;
  color: #fff;
  text-decoration: none;
  border-radius: 30px;
  transition: background-color 0.3s ease;
  max-width: 100px;
  text-align: center;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}

.novedades-card .post-content .post-link:hover {
  background-color: #2ea043;
  color: #ffffff !important;
}

.swiper-slide {
  height: auto !important; /* Asegura que el contenedor de la tarjeta no tenga un límite de altura */
}
.swiper-wrapper {
  align-items: stretch !important; /* Permite que los elementos internos estiren su altura */
}

#resultados-novedades.novedades-slider {
  position: relative;
  overflow: visible;
  padding-bottom: 60px; /* espacio para la paginación */
}

/* Paginación: colocar en flujo normal y separar con margen */
#resultados-novedades .swiper-pagination {
  position: static !important;
  margin-top: 28px !important;
  z-index: 1 !important;
  display: block !important;
  text-align: center;
}

/* Asegurar que las slides/cards queden por encima */
#resultados-novedades .swiper-wrapper,
#resultados-novedades .swiper-slide,
#resultados-novedades .novedades-card {
  position: relative;
  z-index: 3;
}

/* Ajustes responsive para pantallas <= 960px */
@media (max-width: 960px) {
  #resultados-novedades.novedades-slider {
    padding-bottom: 100px; /* más espacio en móviles si hace falta */
  }
  #resultados-novedades .swiper-pagination {
    margin: 12px auto 0px auto !important;
  }
}
