:root{ 
  --color1:#007476ff; 
  --color1-h: rgb(0, 137, 139);
  --color2:#90c42fff; 
  --color2-h: #90c42fff; 
}

body {
    font-family: 'Poppins', sans-serif;
}
.pointer{
  cursor: pointer;
}
.center{
  justify-content: center;
  align-items: center;
}
.sombra-texto{
  text-shadow: 0 2px 10px rgba(0,0,0,0.15);
}
.sombra-texto2{
  text-shadow: 0 2px 10px rgb(227, 10, 10);
}
/* .con-principal{
  margin-top: 10vh;
} */
/* Bgs*/

.bg-danger{
  background-color: rgb(190, 31, 31)!important;
}
.bg-primary{
    background-color: var(--color1)!important;
}
.bg-secondary{
    background-color: var(--color2)!important;
}
.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgb(48, 177, 179) !important;
}
.c-primario{
    color: var(--color1);
}
.c-secundario{
    color: var(--color2);
}
.form-control:focus {
  border-color: var(--color2) !important;
  box-shadow: 0 0 0 0.25rem rgba(144, 196, 47, 0.25) !important;
}
.form-select:focus {
  border-color: var(--color2) !important;
  box-shadow: 0 0 0 0.25rem rgba(144, 196, 47, 0.25) !important;
}

/* Botones */
.btn-primary {
  background-color: var(--color1) !important;
  border: none !important;
  border-radius: 30px !important;
  transition: all 0.3s ease; /* suavizado */
}

.btn-primary:hover {
  background-color: var(--color2) !important;
  border: none !important;
  transform: scale(1.05);
}

.btn-outline-primary {
  border-color: var(--color1)!important;
  color: var(--color1)!important;
  border-radius: 30px !important;
  transition: all 0.3s ease; /* suavizado */
}

.btn-outline-primary:hover {
  background-color: var(--color2) !important;
  border-color: var(--color2)!important;
  color: white!important;
}

/* Botones */

.titulos {
    font-size: clamp(32px, 5vw, 50px);
    font-weight: bold;
}

.subtitulos {
    font-size: clamp(16px, 2.5vw, 25px);
    color: #6c757d;
}

.top-tittle {
  transition: opacity 0.4s ease;
}

@media (max-width: 700px) {
  .top-tittle {
    font-size: 18px;
}
}
@media (max-width: 500px) {
  .top-tittle {
    font-size: 15px;
}
.navbar-brand img{
  height: 40px;
}
}


.min-vh-90{
  min-height: 90vh;
}

/*FAVORITOS

*/


.btn-fav-toggle{
  width: 39px;
  height: 39px;
  border-radius: 999px;
  border: 1px solid rgba(0, 116, 118, 0.35);
  background: rgba(0, 116, 118, 0.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .2s ease;
}

.btn-fav-toggle:hover{
  transform: translateY(-1px);
  border-color: var(--color1);
  box-shadow: 0 8px 20px rgba(0,0,0,.10);
}

.btn-fav-toggle.is-active{
  border-color: var(--color1);
  background: var(--color1);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

.btn-fav-toggle .fav-ico{
  width: 15px;
  height: 15px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  padding: 7px;
  background-size: 15px 15px;
}

/* Star outline (default) */
.btn-fav-toggle .fav-ico{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007476' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
}

/* Star filled (active) */
.btn-fav-toggle.is-active .fav-ico{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2390c42f'%3E%3Cpath d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
}

/* Floating button */
.fav-float-btn{
  position: fixed;
  top: calc(10vh + 12px);
  right: 16px;
  z-index: 999;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: var(--color1);
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}

.fav-float-btn:hover{
  transform: translateY(-2px);
  background: var(--color1-h);
}

.fav-float-star{
  width: 22px;
  height: 22px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
}

.fav-float-count{
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--color2);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
}




/* FAVORITOS FAVORITOS FAVORITOS 
FAVORITOS FAVORITOS FAVORITOS FAVORITOS 
FAVORITOS FAVORITOS FAVORITOS FAVORITOS FAVORITOS */



/* ==== CHECKBOX PERSONALIZADO CON COLOR PRIMARIO ==== */
/* ==== CHECKBOX PERSONALIZADO CON COLOR PRIMARIO ==== */
/* ==== CHECKBOX PERSONALIZADO CON COLOR PRIMARIO ==== */

.form-check-input {
    border: 1px solid #adb5bd; /* borde gris como bootstrap */
    cursor: pointer;
}

/* Cuando está seleccionado */
.form-check-input:checked {
    background-color: var(--color1) !important;
    border-color: var(--color1) !important;
}

/* Hover */
.form-check-input:hover {
    border-color: var(--color1) !important;
}

/* Focus (cuando se selecciona con teclado) */
.form-check-input:focus {
    border-color: var(--color1) !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 116, 118, 0.3) !important;
}

/* Icono interno (tilde blanco) asegurado */
.form-check-input:checked[type="checkbox"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='white' d='M13.485 1.929L6 9.414 2.515 5.929 1.1 7.343 6 12.243l8.485-8.485-1.414-1.414z'/%3e%3c/svg%3e") !important;
}



/* ==== CHECKBOX PERSONALIZADO CON COLOR PRIMARIO ==== */
/* ==== CHECKBOX PERSONALIZADO CON COLOR PRIMARIO ==== */
/* ==== CHECKBOX PERSONALIZADO CON COLOR PRIMARIO ==== */









/*nav*/
header .nav-link {
  cursor: pointer;
  position: relative;
  display: inline-block;
  color: white;
  padding-bottom: 1px; /* Para que la línea esté alineada correctamente */
}
header .nav-link.active {
  color: var(--color2)!important;
}

.navbar ,.navbar-expand-lg {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10!important;
  width: 100%;
  background-color: transparent!important;
  height: 10vh;
}
footer, .footer-con{
  background-color: var(--color-c1) !important;
}
.navbar.scrolled {
  /*background-color: var(--color-c1) !important;
  transition: background-color 0.7s ease;*/
  /* background-color: var(--color1)!important; */
  background-color: white!important;
  /* backdrop-filter: blur(20px); */
  transition:  backdrop-filter 0.7s ease;
}
.navbar.scrolled .nav-link{
  color: var(--gris-o);
}
.navbar-brand{
  opacity: 0;
}
.navbar-brand.logoIntro{
  opacity: 1;
  transition: opacity 2s ease;
}
.navbar.nav-black .nav-link{
  color: var(--gris-o);
}

/*responsive nav*/
@media (max-width: 991px) {
.navbar {
    background-color: white !important; /* tu color oscuro */
}
.navbar-brand{
  opacity: 1;
}

  /* Botón hamburguesa */
/* Botón hamburguesa normal */
.navbar-toggler {
    border-radius: 10px;
    padding: 6px 10px;
}


/* Ícono hamburguesa con color personalizado */
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23007476' stroke-width='2' stroke-linecap='round' d='M4 7h22 M4 15h22 M4 23h22'/%3e%3c/svg%3e");
}
/* Cuando el menú está abierto (active) */
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler:not(.collapsed) {
    border-color: var(--color2);
    box-shadow: none!important;
}

/* Ícono hamburguesa en activo */
.navbar-toggler:not(.collapsed) .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23007476' stroke-width='2' stroke-linecap='round' d='M4 7h22 M4 15h22 M4 23h22'/%3e%3c/svg%3e");
}





/* Fondo del menú desplegado */
.navbar-collapse {
  background-color: white; /* mismo fondo que la barra */
  padding: 1rem;
  position: absolute!important;      
  top: 10vh!important;  
  left: 0!important;  
  width: 100%!important;
  z-index: 10!important;
}

.navbar-nav .nav-link {
  color: var(--gris-o);
  animation: slideInRight 0.5s ease forwards;
}
.nav-link {
  width: 100%;
}
.nav-link:hover{
  color: var(--color1);
  width: 100%;
  border: none!important;
}
.nav-link.active{
    border-bottom: none!important;
}
a.nav-link{
    padding: 0px 10px!important;
}
}

@media (min-width: 992px) { 
  header  .nav-link:hover {
    color: var(--color1)!important;
  }
}

/*nav *//*nav *//*nav *//*nav *//*nav *//*nav */
/*nav *//*nav *//*nav *//*nav *//*nav *//*nav */
/*nav *//*nav *//*nav *//*nav *//*nav *//*nav */
/*nav *//*nav *//*nav *//*nav *//*nav *//*nav */
/*nav *//*nav *//*nav *//*nav *//*nav *//*nav */
/*nav *//*nav *//*nav *//*nav *//*nav *//*nav */


/*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*/
/*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*/
/*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*/
/*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*/
/*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*/
/*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*/
/*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*/
/*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*//*SPINNERS*/

/* -------- PRELOADER (pantalla negra) -------- */
#preloader2 {
  position: fixed;
  inset: 0;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

#preloader2.hide {
  opacity: 0;
  visibility: hidden;
}

.preloader3 {
  position: fixed;
  inset: 0;
  background-color: transparent!important;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#preloader2.hide {
  opacity: 0;
  visibility: hidden;
}



body:not(.page-loaded) .hero {
  opacity: 0;
}
/* -------- PRELOADER (pantalla negra) -------- */
#preloader {
  position: fixed;
  inset: 0;
  background-color: #000; /* negro absoluto */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  animation: fadeOut 1s ease forwards;
  animation-delay: 3.2s; /* después de la animación del logo */
}

/* Logo spinner tipo “heartbeat” */
.logo-hero-spinner {
  width: 160px;
  opacity: 0;
  animation: logoPulse 3s ease-in-out infinite;
  animation-delay: 0.2s;
}

/* Aparece y late */
@keyframes logoPulse {
  0%   { transform: scale(0.8); opacity: 0; }
  20%  { transform: scale(1.1); opacity: 1; }
  40%  { transform: scale(0.9); }
  60%  { transform: scale(1.05); }
  80%  { transform: scale(0.95); }
  100% { transform: scale(1);   opacity: 1; }
}

/* Desvanecimiento del preloader */
@keyframes fadeOut {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

/* -------- HERO APARICIÓN -------- */
.hero {
  position: relative;
  overflow: hidden;
  background-image: url('/static/images/banner.jpeg'); 
  background-size: cover;
  background-position: center;
  width: 100%; 
  height: 100vh;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  scroll-behavior: smooth; /* Scroll suave global */
  text-align: center;
  opacity: 0;
  transform: scale(1.02);
  animation: heroFadeIn 1.5s ease forwards;
  animation-delay: 3.4s; /* empieza justo al terminar el preloader */
}

@keyframes heroFadeIn {
  0% {
    opacity: 0;
    transform: scale(1.02);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Animaciones individuales para textos y botón */
.hero-ti,
.hero-sti,
.btn-hero,
.logo-hero {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 1s ease forwards;
}

.hero-ti { animation-delay: 3.6s; }
.hero-sti { animation-delay: 3.8s; }
.btn-hero { animation-delay: 4s; }
.logo-hero { animation-delay: 3.5s; }

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

/*spinner */
.loader {
  /* width: 48px;
  height: 48px; */
  width: 40px;
  height: 40px;
  display: block;
  margin:15px auto;
  position: relative;
  color: #FFF;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.loader::after,
.loader::before {
  content: '';  
  box-sizing: border-box;
  position: absolute;
  width: 24px;
  height: 24px;
  top: 0;
  background-color: var(--color1);
  border-radius: 50%;
  animation: scale50 1s infinite ease-in-out;
}
.loader::before {
  top: auto;
  bottom: 0;
  background-color: var(--color2);
  animation-delay: 0.5s;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
} 
@keyframes scale50 {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
} 
/*spinner*/

/*texto s*/
/* ---------- TEXTO DEL PRELOADER ---------- */
.loading-text {
  color: white;
  font-size: 1.2rem;
  margin-top: 1.5rem;
  letter-spacing: 2px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  border-right: 3px solid #90c42f; /* cursor de tipeo */
  width: 0; /* se irá “escribiendo” */
  animation:
    typing 2.2s steps(24) 0.6s forwards,  /* efecto de tipeo */
    blink 0.8s step-end infinite alternate; /* cursor parpadeante */
}

/* Tipeo letra por letra */
@keyframes typing {
  from { width: 0; }
  to { width: 24ch; } /* ajustá según el texto */
}

/* Parpadeo del cursor */
@keyframes blink {
  50% { border-color: transparent; }
}

/*textp */



/* Capa negra con opacidad */
.hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* negro con 80% de opacidad */
    z-index: 1;
}


/* Asegura que el contenido esté encima de la capa oscura */
.hero > * {
    position: relative;
    z-index: 2;
}

.logo-hero{
    width: clamp(140px, 22vw, 20vh);
    height: auto;
    display: block;
    /* height: 20vh; */
}
.hero-ti{
    /* font-size: 7vh; */
    font-size: clamp(28px, 5vw, 50px);
    color: white;
}
.hero-sti{
    /* font-size: 3vh; */
    font-size: clamp(16px, 2.5vw, 30px);
    color: rgb(228, 228, 228);
}
.btn-hero{
    font-size: 2vh;
    padding: 15px 30px;
    border-radius: 50px!important;
    transition: transform 0.3s ease; /* Transición suave */
}
.btn-hero:hover {
  transform: translateY(-5px)!important; /* Sube un poco el botón */
}

/* 🔽 Flecha animada */
/* 🔽 Flecha minimalista con CSS */
.scroll-down {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  border-radius: 3px;
  height: 30px;
  border-left: 5px solid white;
  border-bottom: 5px solid white;
  transform: translateX(-50%) rotate(-45deg);
  cursor: pointer;
  animation: bounce 1.5s infinite;
  z-index: 3;
  opacity: 0.9;
  transition: opacity 0.3s ease;
}

.scroll-down:hover {
  opacity: 1;
}

/* Animación de rebote */
@keyframes bounce {
  0%, 100% {
    transform: translateX(-50%) translateY(-20px) rotate(-45deg);
  }
  50% {
    transform: translateX(-50%) translateY(0px) rotate(-45deg);
  }
}



/*Destacadas*/
.destacada{
    min-height: 90vh;
}
.card-img-top {
  height: 220px;
  object-fit: cover;
}
.card-img-top:hover {
  transform: scale(1.05);
  transition: all 3s ease;
}

.badge {
  font-size: 0.9rem;
  border-radius: 12px;
}

.destacada .card {
  transition: all 0.3s ease;
  min-height: 500px;
}

.destacada .card:hover {
  transform: translateY(-5px);
  /* box-shadow: 0 6px 16px rgba(0, 116, 118, 0.418)!important; */
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15)!important;
}

.destacada .carousel {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.destacada .carousel-inner {
    width: 100%;
    height: 100%;
}

.destacada .carousel-item {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.destacada .carousel-item img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}







/*buscador */


/* ================================
   BUSCADOR HERO CON VIDEO DE FONDO
   ================================ */

.buscador-hero2 {
    position: relative;
    min-height: 100vh;
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ================================
   VIDEO FONDO (SOLO ESTA SECCIÓN)
   ================================ */

.buscador-hero2 .hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    pointer-events: none;
}

/* ================================
   OVERLAY OSCURO
   ================================ */

.buscador-hero2 .hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

/* ================================
   CONTENIDO
   ================================ */

.buscador-hero2 .hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

















/* Buscador principal hero */


.buscador-hero  {    
    position: relative;
    overflow: hidden;
    background-image: url('/static/images/casaOutdoorF.png'); 
    background-size: cover;
    background-position: center;
    width: 100%; 
    height: 100vh;
    /* background-attachment: fixed;  */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    scroll-behavior: smooth; /* Scroll suave global */
    text-align: center;
}


.buscador-box {
  width: 70vw;
  /* background: rgba(255, 255, 255, 0.15);  */
  /* backdrop-filter: blur(3px) saturate(150%);  */
  /* -webkit-backdrop-filter: blur(12px) saturate(150%); */
  border-radius: 20px;
  /* border: 1px solid rgba(255, 255, 255, 0.25); */
  /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); */
  padding: 40px 20px 40px 20px!important;
  transition: all 0.3s ease;
}
.btn-buscador {
  font-size: 1rem; /* tamaño base */
  transition: font-size 0.25s ease, color 0.25s ease;
}

.btn-buscador:hover {
  font-size: 1.08rem; /* leve agrandado (8%) */
  transform: none; /* mantené tu regla existente */
  letter-spacing: 0.5px;
}

.dropdown-bootstrap {
  position: relative;
  width: 100%;
  font-family: Arial, sans-serif;
}

.dropdown-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 1rem;
line-height: 1.5;
color: #212529;
background-color: #fff;
border: 1px solid #ced4da;
border-radius: 0.375rem;
cursor: pointer;
user-select: none;
}

.dropdown-arrow {
font-size: 0.8rem;
color: #6c757d;
margin-left: 8px;
}

.dropdown-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #ced4da;
  border-top: none;
  border-radius: 0.375rem;
  display: none;
  position: absolute;
  width: 100%;
  background-color: #fff;
  z-index: 10;
}

.dropdown-list li {
padding: 0.375rem 0.75rem 0.375rem 1.5rem; /* ⬅️ aumentamos el padding izquierdo */
cursor: pointer;
border-radius: 0.375rem;
transition: background-color 0.2s, color 0.2s;
position: relative;
text-align: left; /* ⬅️ aseguramos alineación izquierda */
}

.dropdown-list li:hover {
  background-color: #4CAF50;
  color: white;
}

.dropdown-list li.active::before {
  content: "✓ ";
  color: #4CAF50;
  position: absolute;
  left: 0.75rem;
}

.dropdown-list li.active:hover::before {
  color: white;
}
    

/* --- Efecto de foco completo sobre el input-group --- */
.input-group:focus-within {
  border: 1px solid var(--color2);
  border-radius: 10px;
  box-shadow: 0 0 6px rgba(144, 196, 47, 0.5);
}

/* Elimina los bordes internos del span y el input */
.input-group .input-group-text,
.input-group .form-control {
  border: none !important;
  box-shadow: none !important;
}

/* Fondo blanco unificado y esquinas redondeadas */
.input-group {
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.3s ease;
}









/*Vender*/
.vender-page .paso {
    background: #ffffff;
    border-radius: 16px;
    padding: 24px;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0,0,0,.05);
}

.vender-page .paso h5 {
    font-weight: 600;
    margin-bottom: 8px;
}


.vender-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        135deg,
        /* rgb(0, 116, 118), */
        rgb(18, 160, 162),
        rgba(144, 196, 47, 0.494)
    );

    /* IMPORTANTÍSIMO: evita que el navbar tape contenido */
    padding-top: 110px;   /* ajustá si tu navbar es más alto */
    padding-bottom: 80px;
}

/* Contenedor con altura elegante en desktop */
.vender-hero-container {
    display: flex;
    align-items: center;
}

/* Texto arriba de la imagen */
.vender-hero-text {
    position: relative;
    z-index: 2;
}

/* Lista */
.vender-hero-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.vender-hero-list li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 10px;
    color: rgba(255,255,255,.95);
}
.vender-hero-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color2);
    font-weight: 700;
}

/* Imagen hero */
.vender-hero-bg {
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 55%;
    max-height: 90%;
    object-fit: contain;
    pointer-events: none;
    z-index: 1;
}
/* Tablet/Mobile: texto centrado vertical y la imagen queda detrás */
@media (max-width: 991px) {
    :root { --nav-h: 90px; }

    .vender-hero {
        padding-top: var(--nav-h);
        padding-bottom: 40px; /* nada de reserva gigante */
    }

    .vender-hero-container {
        min-height: calc(90vh - var(--nav-h));
        display: flex;
        align-items: center;        /* centra vertical */
        justify-content: center;    /* centra horizontal */
    }

    .vender-hero-text {
        max-width: 560px;          /* prolijo centrado */
        margin: 0 auto;
    }

    .vender-hero-list li {
        text-align: left;          /* lista legible */
        display: inline-block;
    }

    .vender-hero-bg {
        max-width: 100%;
        max-height: 55vh;          /* se ve pero no tapa todo */
        opacity: 0.95;
    }
}

/* Mobile chico */
@media (max-width: 575px) {
    .vender-hero-text {
        max-width: 92%;
    }

    .vender-hero-bg {
        max-height: 48vh;
    }
}


.vender-proceso .paso-card {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 32px 28px 28px;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
    transition: transform .3s ease, box-shadow .3s ease;
}

.vender-proceso .paso-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 45px rgba(0,0,0,.10);
}

/* Número */
.vender-proceso .paso-num {
    position: absolute;
    top: 14px;
    right: 20px;
    background: var(--color2);
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Icono */
.vender-proceso .paso-icon {
    font-size: 34px;
    color: var(--color1);
    margin-bottom: 16px;
}

/* Título */
.vender-proceso h5 {
    font-weight: 600;
    margin-bottom: 10px;
}

/* Texto */
.vender-proceso p {
    margin-bottom: 0;
    color: #555;
}

/* Responsive */
@media (max-width: 575px) {
    .vender-proceso .paso-card {
        padding: 28px 22px;
    }
}

.vender-stats {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        135deg,
        rgba(0, 116, 118, 0.95),
        rgba(144, 196, 47, 0.75)
    );
    color: #fff;
}

.vender-stats .stat-card {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 18px;
    padding: 26px 18px;
    height: 100%;
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
    backdrop-filter: blur(6px);
}

.vender-stats .stat-num {
    font-size: 34px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.5px;
    margin-bottom: 8px;
}

.vender-stats .stat-label {
    font-size: 16px;
    color: rgba(255,255,255,.92);
}

@media (max-width: 575px) {
    .vender-stats .stat-num {
        font-size: 38px;
    }
}






/* vender *//* vender *//* vender *//* vender */
/* vender *//* vender *//* vender *//* vender */
/* vender *//* vender *//* vender *//* vender */
/* vender *//* vender *//* vender *//* vender */




/* NOSOTROS */
.nosotros-band {
  position: relative;
  background:
    linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)),
    url("/static/images/textura1.png") center/cover no-repeat;
  padding: 6rem 0;
  overflow: hidden;
}
.num-nos{
  color: var(--color1);
  font-size: 50px;
}
.p-estr{
  height: 200px;
}

.alc-nosotros-section {
  background: #fff;
}

.alc-nosotros {
  position: relative;
}

.alc-nosotros .alc-nosotros-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color1);
  font-size: 12px;
}

.alc-nosotros .alc-nosotros-kicker::before {
  content: "";
  width: 26px;
  height: 3px;
  border-radius: 999px;
  background: var(--color2);
}

.alc-nosotros .alc-nosotros-p {
  color: #4b5c66;
  line-height: 1.7;
  margin: 0;
}

.alc-nosotros .alc-nosotros-h3 {
  font-weight: 800;
  color: #0b1f2a;
  font-size: clamp(22px, 2.2vw, 30px);
}

.alc-nosotros .alc-nosotros-h4 {
  font-weight: 800;
  color: #0b1f2a;
  font-size: 18px;
}

.alc-nosotros .alc-nosotros-h5 {
  font-weight: 800;
  color: #0b1f2a;
  font-size: 16px;
}


.alc-nosotros .alc-nosotros-card {
  height: auto;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* .alc-nosotros .alc-nosotros-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.09);
  border-color: rgba(0, 116, 118, 0.18);
} */

.alc-nosotros .alc-nosotros-card--soft {
  background: linear-gradient(
    180deg,
    rgba(0, 116, 118, 0.06) 0%,
    rgba(144, 196, 47, 0.05) 100%
  );
}

.alc-nosotros .alc-nosotros-actions .btn {
  padding: 12px 18px;
}

.alc-nosotros .alc-nosotros-hero {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  min-height: 520px;
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.15);
  transform: translateZ(0);
}

.alc-nosotros .alc-nosotros-hero-img {
  position: absolute;
  inset: 0;
  background-image: url("/static/images/ofi4.png");
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
  transition: transform 0.9s ease;
}

.alc-nosotros .alc-nosotros-hero:hover .alc-nosotros-hero-img {
  transform: scale(1.08);
}

.alc-nosotros .alc-nosotros-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1200px 500px at 30% 20%, rgba(144, 196, 47, 0.22), transparent 55%),
    radial-gradient(900px 420px at 80% 15%, rgba(0, 116, 118, 0.25), transparent 55%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.60), rgba(0, 0, 0, 0.72));
}

.alc-nosotros .alc-nosotros-hero-content {
  position: relative;
  z-index: 1;
  padding: 22px 22px 18px 22px;
  color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.alc-nosotros .alc-nosotros-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.alc-nosotros .alc-nosotros-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(12px);
}

.alc-nosotros .alc-nosotros-badge i {
  color: var(--color2);
}

.alc-nosotros .alc-nosotros-stats {
  margin-left: 0;
  margin-right: 0;
}

.alc-nosotros .alc-nosotros-stat {
  height: 100%;
  border-radius: 18px;
  padding: 14px 14px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(14px);
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.alc-nosotros .alc-nosotros-stat:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(144, 196, 47, 0.35);
}

.alc-nosotros .alc-nosotros-stat-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(144, 196, 47, 0.16);
  border: 1px solid rgba(144, 196, 47, 0.24);
  margin-bottom: 10px;
}

.alc-nosotros .alc-nosotros-stat-icon i {
  font-size: 18px;
  color: var(--color2);
}

.alc-nosotros .alc-nosotros-stat-num {
  font-weight: 900;
  font-size: 22px;
  line-height: 1.05;
}

.alc-nosotros .alc-nosotros-stat-txt {
  margin-top: 6px;
  font-size: 12px;
  opacity: 0.9;
}

.alc-nosotros .alc-nosotros-strip {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.alc-nosotros .alc-nosotros-strip-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.30);
  border: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 12px;
}

.alc-nosotros .alc-nosotros-strip-item i {
  color: var(--color2);
}

.alc-nosotros .alc-nosotros-headline {
  border-left: 5px solid var(--color2);
  padding-left: 16px;
}

.alc-nosotros .alc-nosotros-card-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.alc-nosotros .alc-nosotros-card-ico {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(0, 116, 118, 0.10);
  border: 1px solid rgba(0, 116, 118, 0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.alc-nosotros .alc-nosotros-card-ico i {
  font-size: 20px;
  color: var(--color1);
}

.alc-nosotros .alc-nosotros-card:hover .alc-nosotros-card-ico {
  transform: scale(1.04);
}

.alc-nosotros .alc-nosotros-bullets {
  display: grid;
  gap: 10px;
}

.alc-nosotros .alc-nosotros-bullet {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #30414a;
  font-weight: 600;
  font-size: 14px;
}

.alc-nosotros .alc-nosotros-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--color2);
  box-shadow: 0 0 0 6px rgba(144, 196, 47, 0.14);
  flex-shrink: 0;
}

.alc-nosotros .alc-nosotros-office {
  display: block;
  text-decoration: none;
  /* background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.06); */
  padding: 14px 14px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  height: 100%;
}

.alc-nosotros .alc-nosotros-office:hover {
  transform: translateY(-4px);
  /* border-color: rgba(0, 116, 118, 0.20); */
  color: var(--color1)!important;
  /* box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08); */
}

.alc-nosotros .alc-nosotros-office-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  color: #0b1f2a;
  transition: all 0.3s ease;
}

.alc-nosotros .alc-nosotros-office:hover .alc-nosotros-office-title {
  color: var(--color1)!important;
  transform: scale(1.05);
}

.alc-nosotros .alc-nosotros-office:hover .alc-nosotros-office-sub {
  color: var(--color1)!important;
  transform: scale(1.05);
}



.alc-nosotros .alc-nosotros-office-title i {
  color: var(--color1);
  font-size: 18px;
}

.alc-nosotros .alc-nosotros-office-sub {
  margin-top: 6px;
  color: #4b5c66;
  font-size: 13px;
  line-height: 1.35;
  transition: all 0.3s ease;
}

.alc-nosotros .alc-nosotros-office-cta {
  margin-top: 10px;
  color: var(--color1);
  font-weight: 800;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.alc-nosotros .alc-nosotros-office:hover .alc-nosotros-office-cta {
  color: var(--color1-h);
}

.alc-nosotros .alc-nosotros-note {
  color: #6b7a82;
  font-size: 12px;
}

.alc-nosotros .alc-nosotros-lead {
  border-radius: 22px;
  /* background:
    radial-gradient(900px 420px at 10% 0%, rgba(0, 116, 118, 0.10), transparent 60%),
    radial-gradient(700px 360px at 80% 20%, rgba(144, 196, 47, 0.10), transparent 60%),
    #ffffff; */
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 14px 50px rgba(0, 0, 0, 0.07);
}

.alc-nosotros .alc-nosotros-chip {
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: #0b1f2a;
  /* background: rgba(144, 196, 47, 0.12); */
  /* border: 1px solid rgba(144, 196, 47, 0.24); */
}

.alc-nosotros .alc-nosotros-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.alc-nosotros .alc-nosotros-mini {
  border-radius: 18px;
  padding: 14px 14px;
  background: #fff;
  /* border: 1px solid rgba(0, 0, 0, 0.06); */
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* .alc-nosotros .alc-nosotros-mini:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
  border-color: rgba(0, 116, 118, 0.18);
} */

.alc-nosotros .alc-nosotros-mini-ico {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  /* background: rgba(0, 116, 118, 0.10); */
  /* background: rgba(0, 116, 118, 0.04);
  border: 1px solid rgba(0, 116, 118, 0.18); */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}

.alc-nosotros .alc-nosotros-mini-ico i {
  color: var(--color1);
  font-size: 35px;
}

.alc-nosotros .alc-nosotros-mini-title {
  font-weight: 900;
  color: #0b1f2a;
  font-size: 14px;
}

.alc-nosotros .alc-nosotros-mini-sub {
  color: #4b5c66;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 4px;
}

.alc-nosotros .alc-nosotros-lead-footer {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #30414a;
  font-weight: 700;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  padding-top: 14px;
}

.alc-nosotros .alc-nosotros-lead-footer i {
  color: var(--color2);
  margin-top: 2px;
}

.alc-nosotros .alc-nosotros-vision {
  position: relative;
  border-radius: 22px;
  min-height: 500px;
  overflow: hidden;
  background: #0b1f2a;
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.18);
}

.alc-nosotros .alc-nosotros-vision-img {
  position: absolute;
  inset: 0;
  background-image: url("/static/images/person.jpg");
  background-size: cover;
  background-position: center;
  filter: brightness(0.45);
  transform: scale(1.03);
  transition: all 0.9s ease;
}

.alc-nosotros .alc-nosotros-vision:hover .alc-nosotros-vision-img {
  transform: scale(1.08);
  filter: brightness(0.55);
}

.alc-nosotros .alc-nosotros-vision-content {
  position: relative;
  z-index: 1;
  color: #fff;
}

.alc-nosotros .alc-nosotros-vision-content .alc-nosotros-h3 {
  color: #fff;
}

.alc-nosotros .alc-nosotros-vision-content .alc-nosotros-p {
  color: rgba(255, 255, 255, 0.86);
}

.alc-nosotros .alc-nosotros-quote {
  position: relative;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(14px);
}

.alc-nosotros .alc-nosotros-quote-mark {
  position: absolute;
  left: 14px;
  top: 14px;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: var(--color2);
  box-shadow: 0 0 0 8px rgba(144, 196, 47, 0.20);
}

.alc-nosotros .alc-nosotros-pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.alc-nosotros .alc-nosotros-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.90);
  font-weight: 700;
  font-size: 12px;
}

.alc-nosotros .alc-nosotros-pill i {
  color: var(--color2);
}

@media (max-width: 992px) {
  .alc-nosotros .alc-nosotros-hero {
    min-height: 520px;
  }

  .alc-nosotros .alc-nosotros-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .alc-nosotros .alc-nosotros-hero-content {
    padding: 18px 16px 16px 16px;
  }

  .alc-nosotros .alc-nosotros-stats .col-12 {
    flex: 0 0 auto;
  }
}

/* @media (max-width: 900px) {
  .alc-nosotros .alc-nosotros-hero-img {
    background-position: center;
  }
} */



/*NOSOTROS*/


/*Contacto */
.loc-switch{
  position: relative;
  display: inline-flex;
  width: fit-content;
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.14);
  margin-bottom: 10px;
}

.loc-btn{
  position: relative;
  z-index: 2;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.85);
  font-weight: 600;
  padding: 8px 14px;
  width: fit-content;
  border-radius: 999px;
  cursor: pointer;
  transition: color .2s ease;
  outline: none;
}

/* .loc-btn.is-active{
} */
.loc-btn:hover{ color: #fff; }
.loc-btn:focus-visible{
  box-shadow: 0 0 0 3px rgba(255,255,255,.22);
}

.loc-indicator{
  position: absolute;
  z-index: 1;
  top: 6px;
  left: 0px!important;
  height: calc(100% - 12px);
  width: 120px;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
  transition: transform .25s ease, width .25s ease;
}

.loc-current{
  font-size: .95rem;
  opacity: .92;
  margin-bottom: 12px;
}

.loc-link{
  display: inline-block;
  margin-top: 6px;
  font-weight: 600;
  text-decoration: none;
  color: rgba(255,255,255,.92);
  opacity: .9;
  transition: opacity .2s ease;
}
.loc-link:hover{ opacity: 1; }

/* Mobile: que el selector respire */
@media (max-width: 767px){
  .loc-switch{
    width: 100%;
    justify-content: space-between;
  }
  .loc-btn{
    flex: 1;
    text-align: center;
    padding: 10px 12px;
  }
}


.mapa-stack{
    position: relative;
    width: 100%;
    height: 100%;
}

.mapa-frame{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    opacity: 0;
    transform: scale(.7);
    transition:
        opacity .6s ease,
        transform .6s cubic-bezier(.4,0,.2,1);
    pointer-events: none;
}

.mapa-frame.active{
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}


.contacto-section {
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* ----- FORMULARIO ----- */
.container-contacto {
  background: #fff;
  padding: 5rem 2rem;
  text-align: center;
  flex: 1;
  min-height: 90vh;
}

.titulo-contacto {
  font-size: 2.5rem;
  font-weight: 700;
}

.subtitulo-contacto {
  font-size: 1.1rem;
  color: #555;
  margin-bottom: 2rem;
}

.form-contacto {
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.inputs-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.form-control {
  flex: 1;
  border: 1px solid #ddd;
  border-radius: 30px;
  outline: none;
}
#contacto .form-control {
  padding: 0.8rem 1rem;
}
.textarea {
  margin-top: 0.5rem;
  border-radius: 15px;
  resize: none;
}

.label-mensaje {
  text-align: left;
  font-size: 0.9rem;
  color: #444;
  margin-top: 1rem;
}


/* ----- SECCIÓN MAPA ----- */
.seccion-mapa {
  /* background-color: var(--color1); */
  /* background: #003638;
  background: linear-gradient(135deg, rgba(0, 54, 56, 1) 0%, rgba(0, 116, 118, 1) 50%, rgba(0, 163, 166, 1) 100%); */

  background-image: url('/static/images/bgText2.png'); 
  background-size: cover;
  background-position: center;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

/* Imagen con overlay */
.overlay {
  position: relative;
  width: 90%;
  height: 30vh;
  overflow: hidden;
  margin-top: -200px;
}

.contacto-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* filter: brightness(40%) sepia(20%) hue-rotate(120deg); */
}

.texto-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
}

/* Info + mapa */
.info-mapa {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  padding: 3rem 2rem;
  height: 70vh;
  flex-wrap: wrap;
  gap: 2rem;
}

.info-datos {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  color: white;
}

.dato {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.dato i {
  font-size: 2rem;
  padding: 5px 15px;
  border-radius: 50%;
  background-color: white;
  color: var(--color1);
}

.dato h5 {
  font-size: 0.9rem;
  font-weight: 700;
  margin: 0;
}

.dato p {
  margin: 0;
  font-size: 0.95rem;
}

.mapa {
  width: 40%;
  height: 50vh;
  border-radius: 15px;
  overflow: hidden;
}

/* ----- RESPONSIVE ----- */
@media (max-width: 992px) {
  .container-contacto{
    height: auto;
  }
  .overlay {
    height: 40vh;
  }
  .texto-overlay {
    font-size: 1.7rem;
  }
  .contacIcons-con{
  width: 100%;
  }
  .mapa {
      width: 100%;
    }
  .info-mapa{
    margin-bottom: 100px!important;
  }
  .seccion-mapa {
    padding: 100px 0!important;
  }
}

@media (max-height: 992px) {
  .overlay {
    height: 25vh;
    margin-top: -50px;
  }
   .texto-overlay {
    font-size: 36px;
  }
}

@media (max-width: 768px) {
  .container-contacto{
    height: auto;
  }
  .overlay {
    margin-top: -200px!important;
  }
  .inputs-group {
    flex-direction: column;
  }
  .mapa {
    width: 100%;
  }
  .texto-overlay {
    font-size: 1.5rem;
  }
  .contacIcons-con{
  width: 100%;
}

.info-mapa{
  margin-bottom: 150px!important;
}
}


/*Contacto*/


/*servicios */

.service-card {
  background-color: #f9f9f9;
  border-radius: 15px;
  border: 1px solid rgb(239, 239, 239);
  padding: 2rem;
  text-align: left;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
  min-height: 200px;
}

.service-card i {
  font-size: 2.5rem;
  color: var(--color1);
  margin-bottom: 1rem;
}

.service-card h4 {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--color1);
}

.service-card p {
  color: #333;
  font-size: 0.95rem;
}

.service-card:hover {
  transform: translateY(-5px);
  border: none;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  /* background-color: var(--color2); */
  background: linear-gradient(135deg,rgba(144, 196, 47, 1) 0%, rgba(133, 181, 43, 1) 100%);
  color: white!important;
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .30) !important;
}
.service-card:hover * {
  color: white!important;
}

.service-card.hover-active {
  transform: translateY(-5px);
  border: none;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  /* background-color: var(--color2); */
  background: linear-gradient(135deg,rgba(144, 196, 47, 1) 0%, rgba(133, 181, 43, 1) 100%);
  color: white!important;
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .30) !important;
}
.service-card.hover-active * {
  color: white!important;
}

 /*servicios */

 /*facts*/

 .facts-section {
  position: relative;
  background-attachment: fixed!important;
  background: url("/static/images/balcon2.png") center/cover no-repeat;
  padding: 6rem 0;
  overflow: hidden;
}

.facts-section .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.facts-section .container {
  position: relative;
  z-index: 2;
}

.big-number {
  font-size: 7rem;
  font-weight: 700;
  color: var(--color2);
  opacity: 0.8;
  line-height: 1;
}

.fact h3 {
  font-size: 3rem;
  font-weight: 600;
  color: white;
  margin-bottom: 0.3rem;
}

.fact p {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  margin: 0; 
  line-height: 100%;
}

@media (max-width: 768px) {
  .big-number {
    font-size: 4rem;
    display: block;
    margin-bottom: 2rem;
  }
  .facts-section {
    text-align: center;
  }
  .fact h3 {
  font-size: 1.5rem;
}
}


/*modal */

.facts-cta {
  cursor: pointer;
}

.facts-cta .container {
  transition: transform .25s ease, box-shadow .25s ease;
}


.facts-cta:focus {
  outline: none;
}

/* .facts-cta:focus .container {
  box-shadow: 0 0 0 .18rem rgba(144, 196, 47, 0.22);
  border-radius: 16px;
} */

.alcayaga-modal {
  border: none;
  border-radius: 22px;
  overflow: hidden;
  background: transparent;
}

.alcayaga-card-title {
  color: #0b1f2a!important;
}

.alcayaga-sub,
.alcayaga-list,
.alcayaga-footnote {
  color: #4b5c66!important;
}


.alcayaga-modal-hero {
  position: relative;
  /* background: rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.22); */
  background-color: white;
  box-shadow: 0 22px 80px rgba(0, 0, 0, 0.45);
}

/* .alcayaga-modal-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 116, 118, 0.12) 0%,
    rgba(255, 255, 255, 0.92) 40%,
    rgba(255, 255, 255, 0.98) 100%
  );
  z-index: 0;
} */


.alcayaga-hero-content {
  position: relative;
  z-index: 1;
  padding: 26px 26px 22px 26px;
  color: white;
}

.alcayaga-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  /* filter: invert(1); */
  opacity: .9;
}

.alcayaga-modal-logo {
  height: 58px;
  width: auto;
  /* filter: drop-shadow(0 6px 16px rgba(0,0,0,.35)); */
}

.alcayaga-chip {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.22);
  font-size: 12px;
  letter-spacing: .02em;
  margin-bottom: 6px;
}

.alcayaga-title {
  font-weight: 800;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.15;
}

.alcayaga-sub {
  margin-top: 6px;
  color: rgba(255,255,255,0.85);
  line-height: 1.4;
}

.alcayaga-stats {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.alc-stat {
  /* background: rgba(170, 170, 170, 0.22); */
  /* border: 1px solid rgba(255,255,255,0.14); */
  border-radius: 16px;
  padding: 12px 14px;
  text-align: center;
}

.alc-stat-num {
  font-weight: 900;
  font-size: 20px;
  color: var(--color2);
  line-height: 1;
}

.alc-stat-txt {
  margin-top: 4px;
  font-weight: bold;
  font-size: 12px;
  color: var(--color2);
}

.alcayaga-card {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 16px;
  padding: 16px 16px;
  height: 100%;
}

.alcayaga-card-title {
  font-weight: 800;
  margin-bottom: 10px;
  color: white;
}

.alcayaga-list {
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,0.90);
}

.alcayaga-list li {
  margin-bottom: 8px;
}

.alcayaga-cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.alcayaga-cta .btn {
  border-radius: 14px;
  padding: 12px 16px;
}

.alcayaga-footnote {
  margin-top: 12px;
  font-size: 12px;
  color: rgba(255,255,255,0.75);
}

@media (max-width: 576px) {
  .alcayaga-hero-content {
    padding: 20px 18px 18px 18px;
  }
  /* .alcayaga-stats {
    grid-template-columns: 1fr;
  } */
}


















/*facts*/

/*emprende*/
.emprende-section {
  position: relative;
  background: url("/static/images/fondoEmpr.png") center/cover no-repeat;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.emprende-section .emprende-carousel{
  position:relative;
  width:70%;
  height:500px;
  overflow:hidden;
}

.emprende-section .emprende-item{
  position:absolute;
  width:70%;
  max-width:700px;
  height:100%;
  left:15%;
  top:0;
  opacity:0;
  transform:scale(0.8);
  transition:all 0.6s ease;
  border-radius:20px;
  overflow:hidden;
  /* box-shadow:0 8px 20px rgba(0,0,0,0.25); */
  /* background:#fff; */
  visibility:hidden;
}

.emprende-section .emprende-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:20px;
}

.emprende-section .emprende-item .emprende-info{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  background:rgba(255,255,255,0.9);
  text-align:center;
  padding:10px;
  font-weight:bold;
  display:none;
}

.emprende-section .emprende-item.active{
  padding: 50px;
  opacity:1;
  transform:translateX(0) scale(1);
  z-index:3;
  visibility:visible;
}

.emprende-item.active img{
  box-shadow: 0 10px 10px rgb(16, 16, 16);
}

.emprende-section .emprende-item.prev,
.emprende-section .emprende-item.next{
  opacity:0.4;
  transform:scale(0.8);
  visibility:visible;
  z-index:2;
}

.emprende-section .emprende-item,
.emprende-section .emprende-item img,
.emprende-section .emprende-item::after {
  border-radius: 20px !important;
  overflow: hidden;
}

.emprende-section .prev,
.emprende-section .next{
 padding: 50px;
 background-color: transparent!important;
}

.emprende-section .emprende-item.prev{ transform:translateX(-35%) scale(0.8); }
.emprende-section .emprende-item.next{ transform:translateX(35%) scale(0.8); }

.emprende-section .emprende-item.active .emprende-info{ display:block; }

/* Botones */
.emprende-section .emprende-control{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(0,0,0,0.6);
  border:none;
  color:#fff;
  font-size:2rem;
  cursor:pointer;
  padding:8px 14px;
  border-radius:50%;
  z-index:10;
  transition:background 0.3s;
}
.emprende-section .emprende-control:hover{ background:rgba(0,0,0,0.9); }
.emprende-section .emprende-control.prev{ left:10px; }
.emprende-section .emprende-control.next{ right:10px; }

/* Responsive */
@media(max-width:768px){
  .emprende-section .emprende-carousel{ height:350px; }
  .emprende-section .emprende-item{ width:85%; left:7.5%; }
  .emprende-section .emprende-item.prev{ transform:translateX(-55%) scale(0.8); }
  .emprende-section .emprende-item.next{ transform:translateX(55%) scale(0.8); }
}
@media(max-width:480px){
  .emprende-section .emprende-carousel{ height:280px; }
  .emprende-section .emprende-item{ width:95%; left:2.5%; }
  .emprende-section .emprende-item.prev{ transform:translateX(-50%) scale(0.8); }
  .emprende-section .emprende-item.next{ transform:translateX(50%) scale(0.8); }
  .emprende-section .emprende-control{ font-size:1.5rem; }
}














/*footer */
/* Footer fondo blanco */
.byg-footer {
  margin-top: 70px;
    background: white;
}

/* Títulos */
.footer-title {
    font-weight: bold;
    color: var(--color1);
    font-size: clamp(18px, 2vw, 22px);
}

/* Lista base */
.footer-list li,
.footer-list li a {
    color: var(--gris-o);
    text-decoration: none;
    font-size: clamp(14px, 1.5vw, 16px);
}

.footer-list li a:hover {
    color: var(--color1);
}

/* Social icons */
.footer-social {
    font-size: 20px;
    color: var(--gris-o);
    transition: 0.3s ease;
}

.footer-social:hover {
    color: var(--color1);
}

/* Newsletter form */
.footer-form input {
    border: 1px solid #ccc;
    border-radius: 6px;
}

.footer-form input:focus {
    border-color: var(--color1);
    box-shadow: 0 0 0 0.15rem rgba(0,116,118,0.25);
}
/*footer */



/*animaciones */
.buscador-box {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

/* Estado cuando entra a pantalla */
.buscador-box.aparece {
    opacity: 1;
    transform: translateY(0);
}

/* Fade simple para títulos dentro de .destacada */
.destacada .titulos,
.destacada .subtitulos {
    opacity: 0;
    transition: opacity 0.8s ease-out;
}

.destacada .titulos.aparece,
.destacada .subtitulos.aparece {
    opacity: 1;
}


/* Cards destacadas */
.destacada .destacada-1,
.destacada .destacada-2,
.destacada .destacada-3 {
    opacity: 0;
    transform: translateX(100px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

/* Secuencia con delay */
.destacada .destacada-1.aparece {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 0s;
}

.destacada .destacada-2.aparece {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 0.25s;
}

.destacada .destacada-3.aparece {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 0.50s;
}


/* facts
.facts-fade {
    opacity: 0;
    transform: translateX(100px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.facts-fade.aparece {
    opacity: 1;
    transform: translateX(0);
}
 */

/* Fade simple para los títulos de esta sección */
.servicios-fade .titulos,
.servicios-fade .subtitulos {
    opacity: 0;
    transition: opacity 0.8s ease-out;
}

.servicios-fade .titulos.aparece,
.servicios-fade .subtitulos.aparece {
    opacity: 1;
}


/* Animaciones para las service-card */
.servicios-fade .service-card {
    opacity: 0;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* s-card-1 y s-card-3: entran desde izquierda */
.servicios-fade .s-card-1,
.servicios-fade .s-card-3 {
    transform: translateX(-60px);
}

/* s-card-2 y s-card-4: entran desde derecha */
.servicios-fade .s-card-2,
.servicios-fade .s-card-4 {
    transform: translateX(60px);
}

/* Estado final */
.servicios-fade .service-card.aparece {
    opacity: 1;
    transform: translateX(0);
}


/* Fade vertical para emprende */
.emprende-fade {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

.emprende-fade.aparece {
    opacity: 1;
    transform: translateY(0);
}

/* Bubble effect genérico */
.bubble-fade {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.bubble-fade.aparece {
    opacity: 1;
    transform: scale(1);
}

/* Para bloques grandes (mapa) un bubble más suave */
.bubble-fade-lg {
    opacity: 0;
    transform: scale(0.96);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}

.bubble-fade-lg.aparece {
    opacity: 1;
    transform: scale(1);
}


/* 
- EMPRENDE - EMPRENDE  - EMPRENDE  - EMPRENDE  
- EMPRENDE  - EMPRENDE  - EMPRENDE  - EMPRENDE  
- EMPRENDE  - EMPRENDE  - EMPRENDE  - EMPRENDE  */ 
/* Cada slide ocupa todo el alto */
/* Cada slide ocupa el alto y tiene la imagen */
#carousel-emprende .carousel-item {
    min-height: 100vh;
    align-items: center;
    align-content: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

/* Overlay negro */
#carousel-emprende .carousel-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.70); 
    z-index: 1;
}

/* Contenido arriba del overlay */
.slide-content {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Imagenes individuales */
.slide-1 {
    background-image: url("/static/images/proyec/1.jpeg");
}

.slide-2 {
    background-image: url("/static/images/proyec/4.jpeg");
}

.slide-3 {
    background-image: url("/static/images/proyec/3.jpeg");
}
/* Asegurar que los controles estén arriba del overlay */
#carousel-emprende .carousel-control-prev,
#carousel-emprende .carousel-control-next {
    z-index: 3;
    width: 8%;
}

/* Asegurar que los indicadores estén arriba también */
#carousel-emprende .carousel-indicators {
    z-index: 3;
}

#carousel-emprende .carousel-indicators [data-bs-target] {
    background-color: var(--color1); /* tu color primario */
    width: 12px;
    height: 12px;
    border-radius: 50%;
    opacity: .7;
}

/* Indicador activo */
#carousel-emprende .carousel-indicators .active {
    background-color: var(--color2); /* tu color secundario */
    opacity: 1;
}


/* Tablet (entre ~600px y ~1024px) */
@media (max-width: 1024px) {
  .slide-content {
    padding: 100px;
  }
}

/* Celular (menos de 600px) */
@media (max-width: 600px) {
  .slide-content {
    padding: 50px;
  }
}

.emprender-box {
  background: rgba(255, 255, 255, 0.15); /* blanco translúcido */
  backdrop-filter: blur(3px) saturate(150%); /* efecto vidrio */
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding: 2rem;
  transition: all 0.3s ease;
}


/* Contenedor general */
.emp-iconos {
    position: relative;
    z-index: 2;
}

/* Cada bloque */
.emp-item {
    width: 150px;
    height: 150px;
    /* background: rgba(255, 255, 255, 0.10); */

    /* border: 1px solid rgba(255, 255, 255, 0.25); */
    border-radius: 12px;
    /* backdrop-filter: blur(4px); */
    padding: 20px;
}

/* Icono */
.emp-icon {
    font-size: 42px;
    color: #fff;
}

/* Texto */
.emp-text {
    font-size: 16px;
    font-weight: 600;
}

/* Responsivo */
@media (max-width: 991px) {
    .emp-iconos {
        flex-direction: row;
    }

    .emp-item {
        width: 120px;
        height: 120px;
        padding: 15px;
    }

    .emp-icon {
        font-size: 32px;
    }

    .emp-text {
        font-size: 14px;
    }
}

@media (max-width: 576px) {
    .emp-iconos {
        flex-direction: column;
        gap: 20px;
    }
}

/* Caja general */
.emp-features-box {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    padding: 30px 25px;
    border-radius: 15px;
    width: 100%;
    max-width: 350px;

    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Cada item */
.emp-feature-item {
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

/* Iconos */
.emp-feature-icon {
    font-size: 36px;
    color: var(--color1); 
}

/* Título */
.emp-feature-title {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
}

/* Subtítulo */
.emp-feature-sub {
    margin-top: 3px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
}

/* Último item sin borde */
.emp-feature-item:last-child {
    border-bottom: none;
}

/* Responsive */
@media (max-width: 768px) {
    .emp-features-box {
        max-width: 100%;
        padding: 20px;
    }
}



/*invertir */#porque-invertir {
    background: #ffffff;
}

.inv-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px 25px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all .3s ease;
    border: 1px solid rgba(0,0,0,0.05);
}

.inv-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.12);
    background-color: var(--color2);
}

.inv-card:hover .inv-title {
  color: white;
}
.inv-card:hover li {
  color: white;
}
.inv-card:hover li::before {
    background: white;
}
.inv-card:hover .inv-icon {
  color: white;
}
/* Iconos */
.inv-icon {
    font-size: 40px;
    color: var(--color1);
    margin-bottom: 15px;
}

/* Título */
.inv-title {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 15px;
    /* color: #212121; */
    color: var(--color1);
}

/* Lista */
.inv-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.inv-list li {
    font-size: 15px;
    color: #666;
    margin-bottom: 10px;
    position: relative;
    padding-left: 18px;
}

.inv-list li::before {
    content: "";
    width: 8px;
    height: 8px;
    background: var(--color2);
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 7px;
}


/* linea*/



/* Contenedor general */
.process-wrapper {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 100%;
    max-width: 700px;
    margin: 0 auto; /* centrar horizontal */
}

/* Cada fila */
.process-item {
    display: flex;
    align-items: center; /* centra verticalmente */
    gap: 20px;
}

/* Círculo con número */
.process-icon {
    min-width: 45px;
    min-height: 45px;
    background: var(--color1);
    color: white;
    font-weight: 700;
    font-size: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center; /* centra horizontal y vertical */
}

/* Texto */
.process-text h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: #0d1c1f;
}

.process-text p {
    margin: 3px 0 0;
    font-size: 15px;
    color: #555;
}

/* Responsive */
@media (max-width: 576px) {
    .process-icon {
        width: 38px;
        height: 38px;
        font-size: 18px;
    }
    .process-item {
        gap: 15px;
    }
}


/* datos */
/* Sección con fondo */
#datos-duros {
    background-image: url("/static/images/prop2.jpg");
    background-size: cover;
    background-position: center;
    /* padding: 100px 0; */
}

/* Capa oscura */
.datos-overlay {
    background: rgba(0,0,0,0.60);
    padding: 80px 0;
}

/* GRID GENERAL */
.datos-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

/* CARD PRINCIPAL */
.dato-card {
    display: flex;
    align-items: center;
    gap: 20px;
    /* background: rgba(0,0,0,0.45);
    backdrop-filter: blur(8px); */
    background: rgba(255, 255, 255, 0.15); /* blanco translúcido */
    backdrop-filter: blur(3px) saturate(150%); /* efecto vidrio */
    -webkit-backdrop-filter: blur(12px) saturate(150%);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 35px 25px;
    color: #fff;
    /* border: 1px solid rgba(255,255,255,0.08); */
    height: 160px;              /* MISMO TAMAÑO EN TODAS */
    box-sizing: border-box;
}




/* ÍCONO — izquierda */
.dato-left i {
    font-size: 48px;
    color: var(--color2);
}

/* TITULO + SUBTITULO — derecha */
.dato-right h3 {
    margin: 0;
    font-size: 30px;
    font-weight: 800;
}

.dato-right p {
    margin: 5px 0 0;
    font-size: 15px;
    opacity: 0.85;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .datos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .dato-card {
        height: 150px;
    }
}

@media (max-width: 576px) {
    .datos-grid {
        grid-template-columns: 1fr;
    }
    .dato-card {
        height: auto;
        padding: 25px;
    }
}


/*agentes*/
.logo-recorte {
    height: 420px;
    width: 100%;
    max-width: 700px;
    background-image: url("/static/images/logoRecorte3.png");
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden!important;
    background-size: cover;
}
.agente{
  max-width: 45%;  /* ajusta según el hueco del PNG */
  transition: transform .3s ease, filter .3s ease;
}


.agente.hover {
    transform: scale(1.1);
    filter: drop-shadow(0px 4px 12px rgba(255, 255, 255, 0.644));
}
.agente:hover {
    transform: scale(1.1);
    cursor: pointer;
}


.texto-agentes{
  margin-top: 20px;
  width: 100%;
  max-width: 700px;
}

.agente-info {
    font-size: 1.1rem;
    line-height: 1.3;
}
.agente-nombre {
    font-weight: 700;
    margin-bottom: 4px;
}


.agente-info {
    transition: color .2s ease, transform .2s ease;
    cursor: pointer;
}

.agente-info:hover {
    color: var(--color1); /* Tu verde petróleo */
    transform: translateY(-2px); /* movimiento mínimo */
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.167);
}

.agente-nombre {
    font-weight: 700;
    font-size: 1.25rem;
    margin-bottom: 6px;
}

.agente-datos {
    margin: 0;
    font-size: 1rem;
    line-height: 1.4;
}

/* Iconos */
.agente-icon {
    color: var(--color1);
    margin-right: 6px;
    font-size: 1rem;
}

/* Hover más suave aún */
.agente-info:hover .agente-icon {
    filter: brightness(1.1);
}

/* 
- EMPRENDE - EMPRENDE  - EMPRENDE  - EMPRENDE  
- EMPRENDE  - EMPRENDE  - EMPRENDE  - EMPRENDE  
- EMPRENDE  - EMPRENDE  - EMPRENDE  - EMPRENDE  */ 


/*
- PROYECTO - PROYECTO - PROYECTO - PROYECTO -
- PROYECTO -PROYECTO -PROYECTO - PROYECTO - 
*/

/* CONTENEDOR PRINCIPAL */
.seccion-video {
    width: 100%;
    min-height: 550px;
    z-index: 2;
    position: relative;
    overflow: hidden;
}

/* FONDO CON BLUR Y OSCURECIDO */
.video-fondo {
    position: absolute;
    top: -20px;
    left: -20px;
    width: calc(100% + 40px);
    height: calc(100% + 40px);
    background-image: url("/static/images/proyec/1.jpeg");
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    filter: blur(0px) brightness(0.4);
    z-index: 1;
}


/* CONTENIDO */
.contenido-video {
    margin-top: -450px;
    position: relative;
    z-index: 2;
    padding: 80px 0;
    color: white;
}

/* TAG */
.tag-video {
    color: var(--color1);
    font-weight: 700;
    margin-bottom: 10px;
}

/* TITULO */
.titulo-video {
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 40px;
}

/* CAROUSEL */
.video-carousel {
    width: 90%;
    max-width: 900px;
    margin: auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.35);
}

.img-video {
    max-height: 500px;
    min-height: 500px;
    object-fit: cover;
    height: 100%;
}
@media (max-width: 768px) {
    .img-video {
        max-height: 320px;
        min-height: 320px;
    }
}

@media (max-width: 480px) {
    .img-video {
        max-height: 260px;
        min-height: 260px;
    }
}

/* FLECHAS BOOTSTRAP */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(1);
}


/* PLAY BUTTON */
.play-btn {
    width: 65px;
    height: 65px;
    background: var(--color1);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    transition: .2s ease;
}

.play-btn:hover {
    transform: translate(-50%, -50%) scale(1.1);
    background: #009d97;
}


/* especificacioens
*/

/* .especificaciones {  
  position: relative;
  margin-top: -380px;
  min-height: calc(90vh + 350px);
  background-image: url('/static/images/planos-bg.png'); 
  background-size: cover;
  background-position: center;

  display: flex;              
  justify-content: center;    
  align-items: center;       
} */

.especificaciones {  
  position: relative;
  margin-top: -380px;
  min-height: calc(90vh + 350px);
  
  background-size: cover;
  background-position: center;

  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-height: 800px) {
  .especificaciones {  
    min-height: calc(90vh + 550px);
  }
}

/* Capa para controlar la opacidad del fondo */
.especificaciones::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('/static/images/planos-bg.png');
  background-size: cover;
  background-position: center;
  opacity: 0.6;              
  z-index: 1;
}

/* Para que el contenido quede encima */
.especificaciones > * {
  position: relative;
  z-index: 2;
}





.especificaciones .datos-grid {
    width: 100%;
    max-width: 1100px;
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    row-gap: 40px;
    column-gap: 40px;
    padding: 50px 20px;
    margin-top: 200px;
}


.proy-desc{
  margin-top: 50px;
}
.linea-desc{
  height: 3px;
  margin-bottom: 50px;
  background-color: var(--color2);
  width: 20%;
}

.especificaciones .separator {
    background-color: var(--color1);
    width: 4px;
    height: 80%;
    border-radius: 3px;
    justify-self: center;
    align-self: center;
    /* opacity: 0.5; */
}

.especificaciones .dato-item {
    text-align: center;
    transition: transform 0.5s ease;
}
.especificaciones .dato-item:hover  {
    transform: scale(1.1);
}

.especificaciones .icono {
    font-size: 3rem;
    color: var(--color1);
    margin-bottom: 10px;
}

.especificaciones .dato-titulo {
    font-weight: 700;
    margin: 0;
}

.especificaciones .dato-texto {
    margin: 5px 0 0 0;
}

/* MOBILE — CRECIMIENTO LIBRE Y SIN SEPARAR SECCIONES */
@media (max-width: 992px) {

.especificaciones {
    display: block !important;       /* ELIMINA CENTRADO VERTICAL */
    margin-top: -450px !important;   /* SE MANTIENE */
    padding-top: 500px !important;   /* EMPUJA EL CONTENIDO HACIA ABAJO */
    min-height: auto !important;     /* PERMITE CRECIMIENTO */
    padding-bottom: 100px !important;
}

.especificaciones .datos-grid {
    grid-template-columns: 1fr !important;
    row-gap: 30px;
    max-width: 90%;
    margin: auto;
    padding-bottom: 60px;
}

.especificaciones .separator {
    display: none;
}
}



/*galeria proyecto */
.galeria-fotos {
    width: 100%;
    padding: 80px 0;
    background-color: #fff;
}

.galeria-grid {
    width: 90%;
    max-width: 1400px;
    margin: auto;

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 260px));
    grid-auto-rows: 220px;
    gap: 20px;

    justify-content: center;
}


.galeria-item {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    cursor: pointer;
}

/* Imagen */
.galeria-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease, filter .4s ease;
}

/* Hover premium */
.galeria-item:hover img {
    transform: scale(1.06);
    filter: brightness(0.75);
}

/* Overlay sutil */
/* .galeria-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background .4s ease;
} */

.galeria-item:hover::after {
    background: rgba(0,0,0,0.25);
}

/* Responsive */
@media (max-width: 992px) {
    .galeria-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 200px;
    }
}

@media (max-width: 600px) {
    .galeria-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 220px;
    }
}

.proy-fotos {
    position: relative;
    background-color: #fff;
}

/* Fade superior */
.proy-fotos::before {
    content: "";
    position: absolute;
    top: -80px; /* cuánto sube para mezclar con la sección anterior */
    left: 0;
    width: 100%;
    height: 80px; /* altura del degradado */
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 100%);
    pointer-events: none;
    z-index: 2;
}


.galeria-modal-img {
    max-height: 85vh;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

#galeriaModal .modal-content {
    background-color: rgba(0, 0, 0, 0.3) !important;
    border: 0;
}

#galeriaModal .modal-header {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1056;
}

#galeriaModal .btn-close {
    opacity: 1;
}

#galeriaModal .carousel-control-prev-icon,
#galeriaModal .carousel-control-next-icon {
    filter: none !important;
    opacity: 1;
}

.modal-backdrop.show {
    opacity: 0.85;
}



/*galeria proyecto */







/* PROYECTOS*/


/* contacto */

/* -------- HERO APARICIÓN -------- */
.contact-banner {
  position: relative;
  overflow: hidden;
  background-image: url('/static/images/edificios-bg.jpg'); 
  background-size: cover;
  background-position: center;
  width: 100%; 
  height: 50vh;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  text-align: center;
}
/* Capa negra con opacidad */
.contact-banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 47, 48, 0.635); 
    /* background-color: rgba(0, 0, 0, 0.5);   */
    z-index: 1;
}


/* Asegura que el contenido esté encima de la capa oscura */
.contact-banner > * {
    position: relative;
    z-index: 2;
}




/* ===================================
****Listado
====================================*/

/* -------- HERO APARICIÓN -------- */
.listado-banner {
  position: relative;
  overflow: hidden;
  background-image: url('/static/images/nqndrone.png'); 
  background-size: cover;
  background-position: center;
  width: 100%; 
  height: 50vh;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  text-align: center;
}
/* Capa negra con opacidad */
.listado-banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 47, 48, 0.635); 
    /* background-color: rgba(0, 0, 0, 0.5);   */
    z-index: 1;
}


/* Asegura que el contenido esté encima de la capa oscura */
.listado-banner > * {
    position: relative;
    z-index: 2;
}
.chip-filtros{
  box-shadow: 0 2px 3px rgba(28, 28, 28, 0.622);
}
.chip-filtros:hover{
  background-color: var(--color1-h)!important;
  box-shadow: 0 2px 5px rgba(28, 28, 28, 0.715);
}
.prop-similares .card {
  min-height: 500px;
}
.listado-propiedades .card h5{
  line-height: 0.9!important;
}
.listado-propiedades .card {
  line-height: 0.9!important;
  min-height: 500px;
}
.favoritos-grid .card h5{
  line-height: 0.9!important;
}
.favoritos-grid .card {
  line-height: 0.9!important;
  min-height: 500px;
}


.ubicacion-link {
    /* padding: 6px 10px;
    border-radius: 8px;
    color: var(--color1);
    font-weight: 600; */
    text-decoration: none;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.15s ease;
}
.ver-ubi-link{
  justify-content: center;
  line-height: 90%;
}
.ver-ubi-small{
  font-size: 10px;
}
.ver-ubi-pin{
  font-size: 23px;
}
.ubicacion-link:active {
    transform: scale(0.97); /* efecto mobile */
}

.ubicacion-link:hover {
    /* background: rgba(0, 116, 118, 0.18); */
    color: var(--color1-h)!important;
}
.ubicacion-link:hover .ver-ubi-direc {
    transform: scale(1.01); /* efecto mobile */
    color: var(--color1-h)!important;
}





.listado-propiedades .card.highlight {
    animation: highlightCard 2s ease forwards;
    box-shadow: 0 0 20px rgb(118, 0, 0);
    border: 2px solid var(--color1);
}

@keyframes highlightCard {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 rgba(0,116,118,0);
    }
    40% {
        transform: scale(1.03);
        box-shadow: 0 0 25px rgba(0,116,118,0.5);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 10px rgba(0,116,118,0.35);
    }
}







/* NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB
  NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB
  NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB*/


.nav-tab-prop{
  border-color: var(--color2);
}

.nav-tab-prop nav.link.active{
  color: white!important;
  background-color: var(--color1)!important;
}


/* --- Estilo general del nav tab --- */
.nav-tab-prop .nav-link {
    color: #000;
    border: 1px solid #ddd;
    /* background: #f8f8f8; */
    transition: all .4s ease;
}

/* --- Hover --- */
.nav-tab-prop .nav-link:hover {
    background: rgba(0, 116, 118, 0.73);
    color: white;
}

/* --- Activo --- */
.nav-tab-prop .nav-link.active {
    background: var(--color1);
    color: #fff;
    border-color: var(--color1);
}

/* Si quieres que las esquinas se vean uniformes */
.nav-tab-prop .nav-link {
    border-radius: .25rem .25rem 0 0;
}

.prop-grid, .prop-map {
    overflow: hidden;
    opacity: 1;
    transform: translateY(0);
    transition: all .45s ease;
}
/* .prop-map {
    max-height: 1000px; 
} */


@media (max-width: 992px) {
  #map{
    height: 60vh!important;
  }
}
@media (max-width: 700px) {
  #map{
    height: 40vh!important;
  }
}
.prop-cont-map-grid{
  height: fit-content!important;
}
.slide-hidden {
    max-height: 0;
    opacity: 0;
    transform: translateY(-15px);
    pointer-events: none;
}
.sticky-map{
  position: sticky!important;
  top: 10vh!important;
}


/* === CARD HORIZONTAL GOOGLE MAPS === */

.map-card-horizontal {
    display: flex;
    flex-direction: row;
    width: fit-content!important;
    height: 130px; /* <--- forzamos una altura fija y elegante */
    border-radius: 12px;
    background: white;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.664);
    overflow: hidden;
}
.map-card-body * {
    line-height: 80% !important;
}


/* Contenedor de imagen */
.map-card-img-wrapper {
    width: 120px;
    overflow: hidden;
    position: relative; /* <--- necesario para posicionar el tag dentro */
}


/* Imagen */
.map-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Cuerpo */
.map-card-body {
    width: fit-content;
    min-width: 200px;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
}

/* Tag venta / alquiler */
.map-card-tag {
    position: absolute;
    top: 8px;       /* separación del borde superior */
    left: 8px;      /* separación del borde izquierdo */
    background: var(--color1);
    color: white;
    padding: 4px 8px;
    font-size: 11px;
    border-radius: 6px;
    z-index: 5;     /* para asegurar que quede encima de la imagen */
}


/* Título */
.map-card-title {
    font-size: 14px;
    font-weight: bold;
    margin: 4px 0 6px 0;
}

/* Dirección */
.map-card-dir {
    font-size: 12px;
    color: #666;
    margin: 0 0 3px 0;
}

/* Precio */
.map-card-precio {
    font-size: 14px;
    font-weight: bold;
    color: var(--color1);
    margin-bottom: 6px;
}

/* Dormitorios */
.map-card-amb {
    font-size: 12px;
    color: #444;
    margin-bottom: 10px;
}

/* Botón */
.map-card-btn {
    display: inline-block;
    text-align: center;
    background: var(--color1);
    color: white;
    padding: 8px 10px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 13px;
}

.map-card-btn:hover {
    background: var(--color1-h);
}

/* Responsiveness */
@media (max-width: 400px) {
    .map-card-horizontal {
        flex-direction: column;
        max-height: none;
    }

    .map-card-img-wrapper {
        width: 100%;
        height: 150px;
    }

    .map-card-body {
        width: 100%;
    }
}

/* Quitar scroll interno del InfoWindow */
.gm-style-iw-d {
    max-height: none !important;
    min-width: fit-content!important;
    overflow: visible !important;
    padding: 0 !important;
}

/* Asegurar que el contenedor principal se achique al contenido */
.gm-style-iw {
    max-height: none !important;
    min-width: fit-content!important;
    padding: 0 !important;
}

/* Asegurar que NO se reserve espacio para nada extra */
.gm-style-iw-c {
    min-width: fit-content!important;
    max-height: none !important;
    padding: 0 !important;
}

/* Ocultar el triángulo inferior del infowindow si genera espacio */
.gm-style-iw-t::after {
    display: none !important;
}
.gm-style-iw-chr{
    min-width: fit-content!important;
  height: 0!important;
}


#accordionTipoPropiedad .accordion-button {
  height: 12px!important;
  border: 1px solid #ced4da;
  border-radius: 6px;
}


/* Hover */
#accordionTipoPropiedad .accordion-button:hover {
    background: rgba(0, 116, 118, 0.1); /* tu color1 con transparencia */
}
.sidebar-filtros select:hover{
    background: rgba(0, 116, 118, 0.1); /* tu color1 con transparencia */
}

/* Estado activo (abierto) */
#accordionTipoPropiedad .accordion-button:not(.collapsed) {
    background: rgba(0, 116, 118, 0.15);
    border-color: var(--color1-h);
}

/* Rotar flecha cuando está abierto */
.accordion-button:not(.collapsed) .arrow {
    transform: rotate(180deg);
}

/* Quitar fondos y bordes feos del accordion default */
.accordion-item,
.accordion-button:focus {
    box-shadow: none !important;
    border: none;
}











/* NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB
  NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB
  NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB NAV TAB*/






/* DETALLE DETALLE  DETALLE  DETALLE  DETALLE 
DETALLE DETALLE  DETALLE  DETALLE  DETALLE 
DETALLE DETALLE  DETALLE  DETALLE  DETALLE 
DETALLE DETALLE  DETALLE  DETALLE  DETALLE  */
.alerta-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.9); /* nivel de oscurecimiento */
  z-index: 9998;
  opacity: 0;
  animation: fadeInOutOverlay 2s ease forwards;
}

.alerta-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  background-color: var(--color1);
  color: #fff;
  padding: 14px 28px;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  font-weight: 600;
  z-index: 9999;
  opacity: 0;
  animation: fadeInOutModal 2s ease forwards;
}

.alerta-modal.error {
  background-color: #c0392b;
}

@keyframes fadeInOutModal {
  0% {
    opacity: 0;
    transform: translate(-50%, -55%) scale(0.85);
  }
  10% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  90% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -45%) scale(0.9);
  }
}

@keyframes fadeInOutOverlay {
  0% { opacity: 0; }
  10%, 90% { opacity: 0.9; }
  100% { opacity: 0; }
}





.detalle-propiedad { 
  background:#fff;
  margin-top: 10vh;
}
.text-identidad { color: var(--color1); }

/* Carrusel principal */
.detalle-propiedad .main-carousel .carousel-inner img{
  height: 500px; width:100%;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}

/* Controles con sombreado lateral en hover */
.detalle-propiedad .carousel-control-prev,
.detalle-propiedad .carousel-control-next {
  width: 12%;
  transition: background .3s ease;
}
.detalle-propiedad .carousel-control-prev:hover {
  background: linear-gradient(to right, rgba(0,0,0,.35), transparent);
  border-radius: 16px 0 0 16px;
}
.detalle-propiedad .carousel-control-next:hover {
  background: linear-gradient(to left, rgba(0,0,0,.35), transparent);
  border-radius: 0 16px 16px 0;
}

/* Miniaturas */
.detalle-propiedad .thumbs { border: none; }
.detalle-propiedad .thumbs-track {
  white-space: nowrap;
  scrollbar-color: var(--color1) #e6e6e6; /* Firefox */
  scrollbar-width: thin;
  padding: 4px 0;                /* deja espacio arriba y abajo */
  overflow-y: visible;            /* permite que las sombras/bordes salgan */
  overflow-x: auto;
}
.detalle-propiedad .thumbs-track::-webkit-scrollbar { height: 8px; }
.detalle-propiedad .thumbs-track::-webkit-scrollbar-track {
  background: #e6e6e6; border-radius: 10px;
}
.detalle-propiedad .thumbs-track::-webkit-scrollbar-thumb {
  background:  var(--color1); border-radius: 10px;
}

.detalle-propiedad .miniatura{
  height: 110px; width: auto;
  border-radius: 10px;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.detalle-propiedad .miniatura:hover{ transform: scale(1.04); }
.detalle-propiedad .miniatura.active{
  outline: 3px solid  var(--color1);
  box-shadow: 0 0 10px rgba(28,40,112,.35);
}

/* Formulario */
.detalle-propiedad .interes-box .form-label { color: var(--color1); }
.detalle-propiedad .anim-input{
  border-radius:8px; border:1px solid #ccc; transition:.3s;
}
.detalle-propiedad .anim-input:focus{
  border-color: var(--color1); box-shadow:0 0 8px rgba(28,40,112,.3); transform:translateY(-2px);
}
.detalle-propiedad .btn-enviar{
  background: var(--color1); color:#fff; border-radius:8px; font-weight:600; padding:.6rem 1.5rem; transition:.3s;
}
.detalle-propiedad .btn-enviar:hover{
  background: var(--color1-h); transform:translateY(-2px); box-shadow:0 6px 12px rgba(28,40,112,.3);
}
.interes-box .contacto-form{
  border: none!important;
}
/* Responsive */
@media (max-width: 992px){
  .detalle-propiedad .main-carousel .carousel-inner img{ height: 360px; }
  .detalle-propiedad .miniatura{ height: 90px; }
}
@media (max-width: 576px){
  .detalle-propiedad .main-carousel .carousel-inner img{ height: 280px; }
  .detalle-propiedad .miniatura{ height: 70px; }
}


 /* video propiedad video propiedad video propiedad
 video propiedad video propiedad video propiedad
 video propiedad video propiedad video propiedad
 video propiedad video propiedad video propiedad */


#propiedad-video-viewer {
    width: 100%;
  }

#propiedad-video-viewer .video-wrapper {
  width: 100%;
  height: 80vh;
  overflow: hidden;
  /* background: #000; */
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  #propiedad-video-viewer .video-wrapper {
    height: 50vh;
  }
}

#propiedad-video-viewer .img-video {
  width: 100%;
  height: 80vh;
  object-fit: cover;
  display: block;
}

#propiedad-video-viewer video.img-video {
  background: #000;
}



/*detalle propeidad texto */
/* =============================
   DETALLE INFORMACIÓN
============================= */
.detalle-informacion {
  /* background-color: #f8f9fc; */
  font-family: 'Poppins', sans-serif;
}

.text-identidad {
  color:  var(--color1) !important;
}

/* Íconos + texto */
.detalle-informacion i {
  flex-shrink: 0;
  color:  var(--color1);
}

.detalle-informacion span {
  font-size: 1rem;
  color: #333;
}

/* Títulos */
.detalle-informacion h3 {
  font-size: clamp(1.6rem, 3vw, 2rem);
}

.detalle-informacion h5 {
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  color: #444;
}

/* Párrafos */
.detalle-informacion p {
  line-height: 1.6;
  color: #555;
}

/* Responsive */
@media (max-width: 768px) {
  .detalle-informacion {
    text-align: center;
  }
  .detalle-informacion .row .col-6 {
    justify-content: center;
  }
}


/* detalle mapa */

/* =============================
   SECCIÓN UBICACIÓN
============================= */
.detalle-ubicacion {
  /* background-color: #f8f9fc; */
  font-family: 'Poppins', sans-serif;
}

.text-identidad {
  color:  var(--color1) !important;
}


.detalle-ubicacion p {
  font-size: 1rem;
  line-height: 1.6;
}

.detalle-ubicacion .mapa-wrapper iframe {
  border-radius: 16px;
  transition: transform 0.4s ease;
}

.detalle-ubicacion .mapa-wrapper:hover iframe {
  transform: scale(1.01);
}

/* Responsive */
@media (max-width: 992px) {
  .detalle-ubicacion {
    text-align: center;
  }

  .detalle-ubicacion h5 {
    font-size: 1rem;
  }

  .detalle-ubicacion .mapa-wrapper iframe {
    height: 300px;
  }
}



/* DETALLE DETALLE  DETALLE  DETALLE  DETALLE 
DETALLE DETALLE  DETALLE  DETALLE  DETALLE 
DETALLE DETALLE  DETALLE  DETALLE  DETALLE 
DETALLE DETALLE  DETALLE  DETALLE  DETALLE  */


























/* ==========================================*/ 
/* ==========================================*/ 
/* ==========================================*/ 
/* ==========================================*/ 
/* ==========================================*/ 
/*  ADMIN - ADMIN - ADMIN - ADMIN - ADMIN -  */ 
/* ==========================================*/ 
/* ==========================================*/ 
/* ==========================================*/ 
/* ==========================================*/ 
/* ==========================================*/  



/* Select activo */
.admSection .form-select.filter-active {
    border: 1px solid var(--color1);
    color: var(--color1);
    font-weight: 600;
    background-color: rgba(0, 116, 118, 0.05);
    box-shadow: 0 0 0 0.07rem rgba(0, 116, 118, 0.25);
    transition: all 0.2s ease;
}

/* Flecha también más visible */
.admSection .form-select.filter-active:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 116, 118, 0.35);
}



/*login*/
/*login*/
/*login*/
/*login*/
/*login*/
/*login*/
/*login*/
/*login*/
body#login {
    min-height: 100vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    font-family: 'Poppins', sans-serif;
}

/* VIDEO FONDO */
body#login .login-video {
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: -2;
}

/* OVERLAY OSCURO 80% */
body#login .login-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: -1;
}
.dropdown-item:hover {
  color: white!important;
}

/* CONTENIDO */
body#login .login-content {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

/* CARD LOGIN */
.login-card {
    width: 100%;
    max-width: 350px;
    padding: 2.5rem;
    border-radius: 20px;

    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);

    color: white;
}

/* TÍTULO */
.login-title {
    text-align: center;
    margin-bottom: 2rem;
    font-weight: 700;
}

/* INPUTS */
#login .form-control {
    border-radius: 50px;
    font-size: 12px;
    padding-left: 1.2rem;
    background: rgba(255, 255, 255, 0.25);
    border: none;
    color: #fff;
}

#login .form-control::placeholder {
    color: rgba(255, 255, 255, 0.8);
}

#login .form-control:focus {
    background: rgba(255, 255, 255, 0.35);
    box-shadow: none;
    color: #fff;
}

/* TOGGLE PASSWORD */
.password-toggle {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    cursor: pointer;
    color: rgba(255, 255, 255, 0.8);
}

.password-toggle:hover {
    color: #fff;
}

.login-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 1.2rem;
}

.login-logo img {
    max-width: 80px;
    height: auto;
    opacity: 0.95;
}





/*login*/
/*login*/
/*login*/
/*login*/
/*login*/
/*login*/
/*login*/
/*login*/




/* --------- Responsive --------- */
@media (max-width: 991px) { /*tablet  */

  /*admin */
 
  .admSection{
    margin-left: 10vw!important;
    width: 90vw!important;
    padding: 30px 30px!important;
    /* background-color: #111827ff; */
  }
  #sideBarAdm{
    width: 10vw!important;    
    min-width: 70px!important;
  }
  .sideBarLinks i {
    padding: 5px 0px!important; /* Ajusta el tamaño según sea necesario */
  }
  .saludo{
  display: none;
  }
  .sideBarLinks span {
    display: none;
  }
}
.sideBarLinks {
    color: var(--color1)!important;
  }

.adm-body{
    background-color: #f0f0f0!important;
  }

.nav-pills .active{
  background-color: var(--color2)!important;
  color: white!important;
  font-weight: bold;
  /* background-color: #5b42f3!important; */
}
.sideBarLinks:hover{
  background-color:  var(--color2-h)!important;  
  color: white!important;
  /* background-color: #5b42f3!important; */
}
.dropdown-item:hover{ 
  background-color: var(--color2)!important;
}
.no-hover:hover,
.no-hover:hover * {
    background-color: inherit !important;
    color: var(--color1) !important;
    cursor: default !important;
}
.admSection{
  margin-left: 18vw!important;
  width: 82vw!important;
  padding: 70px 50px;
  /* background-color: #111827ff; */
}
/* .create{
  background-color: rgb(231, 231, 231);
} */

.precio{ 
  background:rgba(0, 116, 118, 0.133); 
  color: var(--color1);
  font-weight:600; 
}

.thumb{
  width:72px; 
  height:56px; 
  object-fit:cover;
}

.thumb-empty{ 
  width:72px; 
  height:56px; 
  background:#f1f3f5; 
  border:1px dashed #cbd3da; 
  color:#6c757d; 
  border-radius:.25rem;
}

/*LISTAR PAGINADOR */
.paginacion-admin .page-link {
    padding: 3px 10px;
    color: var(--color1);
    margin: 0 2px;
    transition: all .2s ease;
}

.paginacion-admin .page-link:hover {
    background-color: var(--color1-h);
    color: #fff;
}

.paginacion-admin .page-item.active .page-link {
    background-color: var(--color1);
    border-color: var(--color1);
    color: #fff;
}

.paginacion-admin .page-item.active .page-link:hover {
    background-color: var(--color1-h);
    border-color: var(--color1-h);
}
.paginacion-admin .page-item.disabled .page-link {
    color: #aaa;
    pointer-events: none;
    background-color: #f8f9fa;
}

.paginacion-admin .page-link:focus {
    box-shadow: 0 0 0 .15rem rgba(0,116,118,.25);
}

/*LISTAR PAGINADOR */

/*stats*/
.stats-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
}

.stat-card{
    background:#fff;
    border-radius:14px;
    padding:18px;
    display:flex;
    align-items:center;
    gap:14px;
    box-shadow:0 8px 20px rgba(0,0,0,.06);
    transition:.25s ease;
}

.stat-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(0,0,0,.08);
}

.stat-icon{
    width:48px;
    height:48px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:#fff;
    flex-shrink:0;
}

.bg-primario{
    background:var(--color1);
}

.bg-secundario{
    background:var(--color2);
}

.bg-warning-soft{
    background:rgba(255,193,7,.15);
    color:#ffc107;
}


.stat-data{
    display:flex;
    flex-direction:column;
}

.stat-label{
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#6c757d;
}

.stat-value{
    font-size:1.25rem;
    font-weight:700;
    color: #333;
    line-height:1.2;
}

.stat-value + .stat-value{
    font-size:1.05rem;
    font-weight:600;
    opacity:.85;
}


/*stats*/


/* Estilo base para todos los enlaces */
#paginador a {
  background-color: var(--color1);
  border-color: var(--color1);
  color: white;
}

/* Hover: cuando el usuario pasa el mouse por encima */
#paginador .page-item:not(.disabled):hover a {
  background-color: var(--color1-h); /* Cambia esto a tu color deseado */
  border-color: var(--color1-h);
  color: white;
}

/* Estado activo (página actual) */
#paginador .page-item.active a {
  background-color: var(--color1-h);
  border-color: var(--color1-h);
  color: white !important;
  pointer-events: none; /* Evita clics en la página actual */
  cursor: default;
  font-weight: 600;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
}

/* Estado disabled */
#paginador .page-item.disabled a {
  background-color: #e0e0e0; /* o usa var(--colordesactivado) si tienes */
  border-color: #ccc;
  color: #999;
  cursor: not-allowed!important;
}


.btn-toggle-activa {
  border: 1px solid var(--color1);
  color: var(--color1);
  background-color: transparent;
  transition: all 0.3s ease;
  font-weight: 500;
}

.btn-toggle-activa:hover {
  background-color: var(--color1-h)!important;
  color: #fff;
}
.btn-toggle-activa:active {
  background-color: var(--color1-h)!important;
  color: #fff!important;
}

.btn-toggle-activa.activa {
  background-color: var(--color1);
  color: #fff;
}

.btn-toggle-activa.inactiva {
  background-color: transparent;
  color: var(--color1);
}
.btn-toggle-activa:hover .reactivar{
  color: #fff!important;
}


/*crear prop *//*crear prop */
/*crear prop *//*crear prop */
/*crear prop *//*crear prop */
/*crear prop *//*crear prop */

/* Formulario de creación de propiedad */

.titulo-form {
  font-weight: 700;
  color: var(--color2);
  font-size: clamp(1.5rem, 4vw, 2rem);
}

.formulario-propiedad {
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
}

.formulario-propiedad .form-control,
.formulario-propiedad .form-select {
  border-radius: 8px;
  border: 1px solid #dcdcdc;
  box-shadow: none;
  transition: all 0.2s ease;
}

.formulario-propiedad .form-control:focus,
.formulario-propiedad .form-select:focus {
  border-color: var(--color2);
  box-shadow: 0 0 6px rgba(28, 40, 112, 0.3);
}

/* Botón principal */


.btn-outline-secondary{
  border-color: #333!important;
  color: #333!important;
}
.btn-outline-secondary:hover{
  background-color: #333!important;
  color: #fff!important;
}









/* Cards de preview */
.card-preview {
  background: #f9f9f9;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}

.card-preview:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(28, 40, 112, 0.2);
}

.card-preview img {
  border-bottom: 2px solid var(--color2);
}

/* Responsive */
@media (max-width: 768px) {
  .formulario-propiedad {
    padding: 2rem 1.2rem;
  }
  .titulo-form {
    font-size: 1.6rem;
  }
}

/*crear prop *//*crear prop */
/*crear prop *//*crear prop */
/*crear prop *//*crear prop */
/*crear prop *//*crear prop */


/*listar */

#imagenAmpliada{
  max-height: 90vh;
}



















/* lead /*



/*PROYECTO ADM*/


#leadViewModal .modal-content,
.modal-header,
.modal-footer {
  border: 0 !important;
}







/*METRICAS
*/

.chart-box{
  height: 260px;          /* ajustá a gusto */
  position: relative;     /* importante para Chart.js */
}
.chart-box canvas{
  width: 100% !important;
  height: 100% !important;
  display: block;
}






