:root{
  color-scheme: light;
  --operation-border-radius: var(--bs-border-radius-xl);
  --intersection-avatar-width-height: 86px;
  --nav-offset: 0px;
}
body {
  /* padding-block-start:  calc(var(--nav-offset) + env(safe-area-inset-top, 0px)); */
  position: relative;
  z-index: 0;
}
body:has(#wpadminbar) .navbar{
    top: 30px !important;
}
/* layout */

/* .headroom--pinned.not-top .navbar-brand{
  padding-block: 0;
} */
:has(.navbar.fixed-top) + main{
    /* padding-block: max(9vh, 130px) 48px; */
    /* padding-block: max(9vh, 100px) 48px; */
    padding-block-start: clamp(24px, 8svh, 54px);

}
body:has(.property__single) :has(.navbar.fixed-top) + main{

}
main{
  min-height: calc(100vh - 602px);
}

.navbar-toggler{
  border-color: transparent;
}

body{
  background-color: white;
  overflow-x: hidden;
}


.letterhead{
  position: relative;
  pointer-events: none;

  &::before {
    content: "";
    display: block;
    /* aspect-ratio: 16 / 9; */
    width: 150%;
    height: 80%;
    position: absolute;
    background: var(--brand-green-color);
    left: -152px;
    top: -316px;
    z-index: -1;
    transform: rotate(167deg);
    border: 13px solid #e3e3e3;
}
}
/* hero */


/* ===== HERO ===== */
.container__hero{
    --hero-max-w: 990px;
    margin-inline: auto;
    padding: clamp(2rem, 4vw, 8rem) 0;

}
.hero{
    --hero-text: white;
    position: relative;
    color: var(--hero-text);
    isolation: isolate;
    padding-block-start: 13svh;
}
.hero::before{ /* overlay */
    content:"";
    position:absolute; inset:0;
    background: #001f29;
    /* background: linear-gradient(179deg, rgba(0, 31, 41, 0.75) 0%, rgba(0, 17, 26, 0.34) 100%); */

    background: linear-gradient(179deg, rgba(0, 31, 41, 0.85) 0%, rgba(0, 17, 26, 0.44) 100%);
  }
.hero::after{ /* marca decorativa */
    content:"";
    position:absolute;
    top: 50%;
    right: 15%;
    transform: translateY(-50%);
    width:min(36vw,320px); aspect-ratio:1/1;
    background: url("../assets/images/isologo-stroke-yellow.svg") center/contain no-repeat;
    pointer-events:none;
    z-index:1;
    opacity: .8;
}

.hero__media{
  position:absolute; inset:0;
  z-index:-1; /* detrás de overlay/mark */
}
.hero__media img{
  width:100%; height:100%; object-fit:cover; display:block;
}

.hero__content{
    position: relative;
    /* padding: clamp(2rem, 10vw, 8rem) clamp(1rem, 3vw, 2rem); */
    padding-inline: 16px;
    z-index:2; /* por encima de overlay y marca */


}
.hero__title{
    color: var(--hero-text);
    --hero-blur: 10px;                /* ajustá el nivel de blur */
    --hero-tint: rgba(0, 0, 0, .25); /* leve oscurecido para contraste */
    letter-spacing: -1px;
    /* backdrop-filter: blur(var(--hero-blur));
    -webkit-backdrop-filter: blur(var(--hero-blur));
    background-color: var(--hero-tint); */
    margin:0 0 .75rem;
    font-weight:600;
    line-height:1.05;
    font-size: clamp(2rem, 4vw, 4rem);
}

.hero__emph{ color: var(--brand-yellow-color); }
.hero__lead{
  max-width:60ch;
  margin:0 0 2rem;
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height:1.6;
}
.hero__content .hero__lead{
  color: var(--brand-lightgrey-color);
}

.hero__actions{
  display:grid; gap:1rem;
  grid-template-columns: repeat(4, minmax(0,1fr));
}
.operation__container{
    position: relative;
    z-index: 2;
    padding-inline: 16px;

}
.operation__container > nav{
    background-color: white;
    display: inline-flex;
    padding: 1rem 0.75rem 0 0.75rem;
    margin-block-end: 0;
    border-top-left-radius: var(--operation-border-radius);
    border-top-right-radius: var(--operation-border-radius);
}
.operation__container .tab-content{
    border-color: transparent;
}
.operation__container [class*="col"]:has(> button[type="submit"]){
    min-width: 128px;
}
.search-shell{ border-radius:0 var(--operation-border-radius) var(--operation-border-radius) var(--operation-border-radius); padding: 1rem .75rem;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.06); padding-block-end: 1rem;}
/* .search-form .form-select,.search-form .form-control{height:3rem} */
.search-form .btn{height:3rem;}

.srch__form :is(.form-control,.form-select){ font-weight: 700;}


@media (prefers-reduced-motion: reduce){ .btn{ transition:none; } }
@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
.navigation__down{
  display: flex;
  justify-content: center;
  margin-block-start: 2rem;
}
.navigation__down > a{
  color: white;
  font-size: 2rem;
  &:hover{
    color: var(--brand-lightblue-color);
  }
  & > i{
    animation-duration: 5s;
  }
}

/* featured properties */

.viviendas__carousel > .container-fluid{
  padding-inline-start: 48px;
  padding-inline-end: 48px;
}

.properties {
  padding-block: 3rem;
  color: #fff;
}
.properties__wrap {
  border-radius: var(--bs-border-radius-xl);
  /* box-shadow: 0 10px 30px rgba(0,0,0,.25); */
  /* padding: 1.5rem; */
  isolation: isolate;
}

/* Carousel */
.properties__carousel {
  margin-inline-start: -36px;
  margin-inline-end: -36px;
}
.properties__slide {
  position: relative;
  border-radius: var(--bs-border-radius-xl);
  overflow: hidden; /* recorta imagen/link */
}

.properties__link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none; /* sin subrayado */
  color: inherit;        /* por si agregás caption */
}
.properties__img {
  width: 100%;
  aspect-ratio: 15 / 9;
  height: auto;
  object-fit: cover;
  border-radius: var(--bs-border-radius-xl);
  display: block;
}


/* Controles Swiper */

.properties__control--prev {}
.properties__control--next {}
/* .featproperties__pagination {
  opacity: 0;
} */
.viviendas__carousel .swiper:hover .properties__control {
  opacity: 0.8;
}
.properties__control {
  color: white;
  opacity: 0;
}

.viviendas__carousel .swiper .properties__control:hover {
  opacity: 1;
}

/* Banner inferior */
.swipper__contain{
  padding: 28px 0;
  border-radius: var(--bs-border-radius-xl) var(--bs-border-radius-xl) 0 var(--bs-border-radius-xl);

}
.properties__banner {
  margin: 0;
}
.properties__legend {
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0 0 var(--bs-border-radius-xl) var(--bs-border-radius-xl);
    padding: 0 1.5rem 0 3rem;
}
.properties__avatars__col{
  background-color: white;
  padding: 16px 20px;
  border-top-right-radius: var(--bs-border-radius-xl);
  margin: -1px -17px 0 0;
  z-index: 1;
}
.properties__avatars{
  display: flex;
  flex-direction: row;
  & > li{
    margin-inline-start: -22px;
  }
}
.properties__avatar {
  width: var(--intersection-avatar-width-height);
  height: var(--intersection-avatar-width-height);
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #d7d7d7;
  /* box-shadow: 0 6px 18px rgba(0,0,0,.2); */
}
.properties__btn {
  width: var(--intersection-avatar-width-height);
  height: var(--intersection-avatar-width-height);
  border-radius: 50%;
  border: 3px solid #dca64a;
  background: transparent;
  color: var(--brand-yellow-color);
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* Título */
.properties__title {
  font-weight: 600;
  font-size: clamp(1.8rem, 3vw,2.5rem);
  margin: 0;
}
.properties__title--accent {
  color: #dca64a;
}

/* intersection  */
.col__iso > svg{
  height: 130px;
}
.col__iso svg > g > path{
    fill: var(--brand-lightblue-color);
}
.intersection__title{
  font-size: clamp(2vw, 3.5rem, 4vw);
  font-weight: 700;
  color: var(--brand-blue-color);
}


/* intersection about */
.about-card{ padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.about-card__wrap{
  position: relative;
  border-radius: var(--bs-border-radius-xl);
  overflow: hidden;
  isolation: isolate;
  min-height: clamp(260px, 42vw, 420px);
  background: #0b1e24;            /* fallback */
  box-shadow: 0 4px 145px rgba(0,0,0,0.18);
  &::before{
    content:"";
    position:absolute; inset:0;
    /* background: linear-gradient(90deg, rgba(7,52,60,.75) 0%, rgba(7,52,60,.55) 36%, rgba(7,52,60,0) 62%); */
    background: linear-gradient(90deg, rgba(7,52,60,.75) 12%, rgba(7,52,60,0.55) 36%, rgba(7,52,60,0) 72%);
    z-index:-1;
  }

  &::after{
    content:"";
    position:absolute;
    right: -50px;
    bottom: -50px;
    width: min(34vw, 360px);
    aspect-ratio: 1/1;
    background: url("../assets/images/isologo-stroke-yellow.svg") center/contain no-repeat;

    pointer-events:none;
    mix-blend-mode: normal;
  }
}

/* Imagen LCP */
.about-card__media{ position:absolute; inset:0; z-index:-2; }
.about-card__img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.about-card__content{
  position: relative;
  max-width: 47ch;
  padding: 7rem 1rem 1rem 1rem;
  margin: clamp(1rem, 6vw, 6.5rem);
  border-radius: var(--bs-border-radius-xl);

}
.about-card__title{
  margin: 0 0 .5rem 0;
  font-weight: 700;
  line-height: 1.05;
  font-size: clamp(1.5rem, 3.6vw, 2.25rem);
}
.about-card__lead{
  margin: 0;
  font-size: clamp(.9rem, 1.3vw, 1rem);
  line-height: 1.55;
}

/* ===== PROPERTIES LIST ======= */
:root{
  --ls-color-teal:var(--brand-blue-color);
  --ls-color-accent:var(--brand-yellow-color);
  --ls-color-text:var(--brand-blue-color);
  --ls-radius: var(--bs-border-radius-xl);
  --ls-shadow:0 4px 16px rgba(0,0,0,.06);
}

.properties__list{
  padding-block-start: 2rem;
}
/* PROPERTY Header */
.property{ padding-block: clamp(1.5rem, 3vw, 2.5rem); }

.property__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.25rem;
  border-bottom:2px solid #e6edf0;
  padding-bottom:.75rem;
}

.properties__list__f {
  position: relative;
}
.legend__properties__founded{
  color: var(--brand-blue-color);
}
.search__results__col{
  display: flex;
  gap: 8px;
}
.properties__loader {
  /* position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease; */
  display: none;
  grid-area: 1 / 1 / -1 / -1;
  grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
  grid-template-rows: auto;
  gap: 1rem;
}

.properties__loader.is-active {
  display: grid;

  opacity: 1;
  pointer-events: all;
}

.properties__loader__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}

.properties__loader__logo {
  width: clamp(64px, 8vw, 120px);
  height: auto;
  filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.15));
  animation: properties-logo-pulse 1.5s ease-in-out infinite;
}

@keyframes properties-logo-pulse {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.property__heading{
  margin:0;
  font-weight:800;
  color:var(--ls-color-teal);
  font-size:clamp(1.8rem, 4vw, 3rem);
  line-height:1.1;
}
.property__tagline{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:0;
  color:#5b7280;
  padding:.35rem .75rem;
  border:1px solid #dbe6ea;
  border-radius:999px;
  font-size:.9rem;
}
.property__dot{
  width:.6rem;
  height:.6rem;
  border-radius:50%;
  background:var(--ls-color-accent);
  display:inline-block;
}
.properties__pagination {
  bottom: -28px;
}
/* ===== Swiper / Cards */
.property__carousel{ overflow:visible; }

.property__card{
  position:relative;
  background:#fff; border-radius:var(--ls-radius);
  /* box-shadow:var(--ls-shadow); */
  overflow:hidden;
  display:flex; flex-direction:column; height:100%;
  transition: all 300ms ease-in-out;
  &:hover{
    transform: translateY(-4px);

  }
}
.property__card:hover .property__body--outline, .property__card:has(.property__body--outline):hover .property__figure{
  background-color: var(--brand-lightgrey-color);
}
.property__figure{ position:relative; margin:0; transition: background-color 300ms ease-in-out; }
@media (prefers-reduced-motion: reduce){
  .property__figure{ transition:none; }
  .property__card{ transition: none;}

}

.property__img{
  width:100%;
  aspect-ratio: 1 / 1;
  object-fit:cover;
  display:block;
}

.property__card:has(.property__body:not(.property__body--outline)) .property__img{
  border-bottom-left-radius: var(--ls-radius);
  border-bottom-right-radius: var(--ls-radius);
}

/* Badges */
.property__badges{
  position:absolute; top:.75rem; left:.75rem;
  display:flex; gap:.5rem; list-style:none; padding:0; margin:0;
}


/* Acciones (por encima del overlay) */
.property__actions{
  opacity: 0;
  position:absolute; right:.75rem; bottom:.75rem;
  z-index:2;  /* > overlay */
  display:flex; gap:.5rem;
  /* background:rgba(255,255,255,.85); */
  backdrop-filter: blur(6px) saturate(120%);
  background-color: rgba(255,255,255,0.45);
  padding:.4rem; border-radius:999px;
  /* box-shadow:0 6px 16px rgba(0,0,0,.12); */
  transition: opacity, background-color 300ms ease-in-out;
}
.property__card:hover .property__actions{ opacity:1; }

.property__action{
  width:44px; height:44px; border:0; border-radius:50%; font-size: 19px;
  /* backdrop-filter: blur(6px) saturate(120%);
  background-color: rgba(255,255,255,0.65);  */
  background-color: rgba(255, 255, 255, 0.75);

  cursor:pointer; display:inline-flex; align-items:center; justify-content:center; color: var(--brand-orange-color);
}
.property__actions:has(.property__action:focus){ opacity: 1;}
.property__action:hover{ background-color: var(--brand-orange-color); color: white; }

/* Cuerpo */
.property__body{ padding:1rem 0.3rem 1rem 0.3rem; display:flex; flex-direction:column; gap:0; border-radius: 0 0 var(--ls-radius) var(--ls-radius);transition: background-color 300ms ease-in-out; }
.property__body--outline{ padding:1rem .9rem 1rem 1rem; gap:.1rem; border-width: 0 1px 1px 1px; border-style: solid; border-color: #e1e1e1; }
.property__title{
  font-size:15px;
  line-height:1.35;
  margin:0;
  color:var(--ls-color-teal);
  --title-max-width: 28ch;
  display: block;
  max-width: var(--title-max-width);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 0 .25rem;
  line-height: 1.2;
}

.property__price{ margin:0; font-size:1.25rem; font-weight:700; color:var(--ls-color-teal); }
.property__meta{
  display: flex;
  flex-flow: row wrap;
  gap: .5rem;
  align-items: center;
  justify-content: space-between;
}
.property__meta-list{ display:flex; flex-wrap:wrap; color:var(--ls-color-teal); font-size:.92rem; }

.property__meta-item{ display:inline-flex; align-items:center; gap: 2px; }
.property__meta-item:not(:last-of-type)::after{
  content: "";
  display: inline-flex;
  margin-inline: auto;
  width: 1px;
  height: calc(100% - 50%);
  background-color: var(--ls-color-teal);
  margin-inline: 8px;
}
.property__ref{ align-self:flex-end; color:var(--ls-color-teal); }
.property__meta-value{ color: var(--ls-color-teal);}
.property__meta-item--surface .property__meta-value::after{
  content: "m²";

}

:root{
  --fcats-radius: var(--bs-border-radius-xl);
  --fcats-overlay: linear-gradient(177deg,rgba(1, 55, 77, 1) 0%, rgba(1, 55, 77, 0.28) 63%, rgba(1, 55, 77, 0) 100%);
  --fcats-text: white;
}

/* sección */
.fcats{ padding-block: clamp(1.5rem,3vw,2.5rem); }
.fcats__header{ margin-bottom: 1rem; border-bottom: 2px solid #e6edf0; padding-bottom: .5rem; }
.fcats__heading{ margin:0; font-weight:500; color:#073d49; font-size:clamp(1.6rem,3.6vw,2.25rem); }

/* card */
.fcats__card{
  position: relative;
  border-radius: var(--fcats-radius);
  overflow: hidden;
  isolation: isolate;
}
.fcats__img{
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform .45s ease;
  max-height: 40vh;
}
/* overlay para contraste */
.fcats__card::before{
  content:"";
  position:absolute; inset:0;
  background: #01374D;
  background: var(--fcats-overlay);
  z-index: 1;
}
.fcats__label{
  position: absolute;
  font-family: "Montserrat";
  left: 1rem; top: 1.5rem;
  z-index: 2;
  text-transform: uppercase;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.5px;
  font-size: clamp(1rem, 15px, 1.1rem);
  color: var(--fcats-text);
  pointer-events: none;
  transition: transform .45s ease;
}

/* link overlay */

/* hover */
.fcats__card:hover .fcats__img{ transform: scale(1.05); }
.fcats__card:hover .fcats__label{ transform: translateY(4px) }
.fcats__link-overlay:focus-visible,
.fcats__link-overlay:focus{ outline: 3px solid var(--brand-blue-color); outline-offset: 3px; }

/* goals */

/*  */
.goals__list{
  display: grid;
  grid-template-columns: min(300px, 25%) 1fr min(300px , 25%);
  /* grid-template-rows: repeat(2, min(300px,25vh)); */


}
.layout__three--cols{
  display: grid;
  grid-auto-rows: auto;
  grid-template-columns: min(300px, 25%) 1fr min(300px , 25%);
  align-items: stretch;
  grid-auto-rows: auto;
  gap: 1rem;
}
.layout__three--samecols{
  grid-template-columns: repeat(3,1fr);
}
.goals__item{

}
.goals__step{
  position:relative;
  height: 100%;
  padding:2rem;
  background:var(--card-light-grey-bg-color);
  border-radius:var(--bs-border-radius-xl);
  color:var(--brand-blue-color);
  overflow:hidden;
}
.goals__eyebrow{
  padding-left: 1px;
}
.goals__step-title {
  letter-spacing: -0.5px;
  font-size: 1.625rem;
  position: relative;
    z-index: 1;
}
.goals__bullets{
  padding-inline-start: 18px;
  font-size: 14px;
  position: relative;
  z-index: 1;
}
.goals__img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.goals__item { min-height: 260px; height: 100%; background-color: #E5E5E5; background-color: #E5E5E5; border-radius: var(--bs-border-radius-xl); }
.goals__figure{
  position:relative;
  border-radius:var(--bs-border-radius-xl);
  margin: 0;
  height: 100%;
  aspect-ratio: auto;
  overflow:hidden;
}

.goals__large__col .goals__figure {
  aspect-ratio: 16 / 9;
}


/* Números grandes decorativos */
.goals__step-number{
  position: absolute;
  right: -20px;
  top: 20%;
  pointer-events: none; user-select: none;
  background-repeat: no-repeat;
  z-index: 0;
}


.goals__step-number--one{
  top: 30%;
}
.goals__step-number--two{
  right: 6px;
  top: 12%;
}
.goals__step-number--three{
  top: 38%;
  right: 0px;

}
/* ===== Sección */
.testimonials__wrapper{
  background: var(--ts-bg);
  border-radius: var(--ts-radius);
  padding-block: clamp(1.5rem, 8vh, 5rem);
  padding-inline: clamp(1rem, 5vw, 4rem);
  color: var(--ts-text);
  display: flex;
  gap: 2rem;
  flex-direction: row;
  align-items: start;
}


/* Intro */
.testimonials__intro{ padding: clamp(.5rem, 1vw, 1rem); width: 48ch; max-width: 100%; }
.testimonials__carousel{ flex-grow: 1; }
.testimonials__carousel .swiper-wrapper{
  align-items: stretch;
}
.testimonials__carousel .swiper-slide {
  height: 100%;
}
.testimonials__kicker{
  margin: 0 0 .25rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ts-accent);
  font-weight: 700;
}
.testimonials__title{
  margin: 0 0 .75rem;
  color: var(--brand-blue-color);
  line-height: 1;
}
.testimonials__lead{
  margin: 0;
  color: var(--ts-muted);
  line-height: 1.4;
}

/* Lista de testimonios */
.testimonials__list{
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  gap: clamp(1rem, 2.4vw, 1.5rem);
  grid-template-columns: repeat(3, minmax(260px, 1fr));
}
.decorative__quotes{
  font-size: 5rem;
  color: var(--brand-orange-color);
}
/* Tarjeta */
.testimonial{
  background: var(--ts-card-bg);
  border-radius: calc(var(--ts-radius) - 4px);
  box-shadow: var(--ts-shadow);
  padding: clamp(1rem, 2.2vw, 1.5rem);
  font-size: 14px;
  height: 100%;
  display: grid;
}
.testimonial:focus-within{
  outline: 3px solid #2aa1c0; /* foco accesible si hay controles internos */
  outline-offset: 2px;
}

/* Cuerpo */
.testimonial__figure{ margin: 0; /*display: grid;*/ }
.testimonial__quote-mark{
  /* margin-inline-start: 2px; */
  color: var(--ts-accent);
}
.testimonial__blockquote{
  margin: 0;
  padding-inline-start: 2px;
  color: var(--ts-text);
  line-height: 1.6;
}

/* Autor / rating */
.testimonial__meta{
  margin-top: .5rem;
  display: grid;
  grid-template-columns: 56px 1fr;
  align-items: center;
  gap: .5rem;
}
.testimonial__avatar{
  width: 56px; height: 56px; border-radius: 50%;
  object-fit: cover; display: block;
  border: 3px solid #f4f8fa;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}
.testimonial__author{ font-weight: 700; color: #0b3d49; }
.testimonial__rating{
  display: inline-block;
  color: #0b3d49;
  letter-spacing: .15em;
  margin-top: .15rem;
  font-size: 1rem;
}

.testimonial__person{
  display: flex;
  flex-direction: column;
}

/* ===== Tokens rápidos */
:root{
  --inst-bg: var(--brand-blue-color);            /* azul profundo */
  --inst-text: white;
  --inst-accent: var(--brand-orange-color);        /* dorado */
  --inst-highlight: var(--brand-lightblue-color);     /* celeste */
  --inst-radius: var(--bs-border-radius-xl);
}

/* ===== Bloque */

.inst__card{
  position: relative;
  background: var(--inst-bg);
  color: var(--inst-text);
  border-radius: var(--inst-radius);
  padding-block: clamp(1.5rem, 8vh, 5rem);
  padding-inline: clamp(1rem, 5vw, 4rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  /* overflow: hidden; */
}
.inst__card .btn{ display: inline-block;}
/* ===== Contenido */
.inst__content{ z-index: 1; max-width: 58ch; display: flex; flex-direction: column; justify-content: space-between; }
.inst__content .section__subheading{ text-transform: initial; }
.inst__title{
  line-height: 1.02;
  font-size: clamp(2rem, 5.5vw, 4rem);
}
.inst__title--highlight{ color: var(--inst-highlight); }

.inst__actions{
  display: flex; flex-direction: column; gap: .8rem; margin-top: 1.25rem;
  align-items: start;
  width: min(480px, 100%);
}



/* ===== Media derecha */
.inst__media{
  position: relative;
  height: 100%;
  isolation: isolate;
  z-index: 0;
  position: absolute;
  right: 11%;
  top: -13%;
  width: clamp( 10vw, 340px, 20vw);
}
.inst__img{
  aspect-ratio: 3 / 4;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: visible;
}


/* =========== archive ========== */
body.loading-state .properties__result{
  display: none;
}
.properties__list__f{
  margin-block: 1.5rem;
}
.properties__grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(250px,100%),1fr));

  grid-template-rows: auto;
  gap: 1rem;
}


/* helpers */
.sr-only{position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;border:0;padding:0;margin:-1px;}


/* bloque */
.srch{padding-block:clamp(1rem,3vw,1.75rem);}
.srch__header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-block-end:.75rem;border-block-end:2px solid var(--brand-lightgrey-color); padding-block-end:.5rem;}
.srch__title{margin:0;font:700 clamp(1.4rem,4vw,2rem)/1.1 system-ui;color:var(--brand-blue-color);}
.srch__count{margin:0;color:#68808d;}

.srch__form{display:flex;gap:.5rem;  background-color: white; padding: 1rem 0; position: fixed; left: 0; right: 0; top: 0; z-index: 111; position: sticky; top: 0; transition: top .2s ease-in-out;}
.srch__searchbox{ flex: 1;}
.srch__searchbox .form-control{ border-radius: var(--chip-form-control-radius);}
.srch__input{border:1px solid #d5e2e8;border-radius:12px;padding:.55rem .9rem;font-size:1rem; outline:none;}
.srch__input:focus{ outline-color: var(--brand-green-color); outline-width: 2px; outline-style: solid; border-color:var(--brand-green-color);box-shadow:0 0 0 3px rgba(14,165,166,.18);}

/* autcomplete */

.location-search-archive-input-wrapper .srch__input{
  font-weight: normal;
  min-height: 48px;
}

/* pills row */
.srch__pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none; }
.srch__form .choices__inner,
.srch__form .fchip__btn {
    min-height: 48px;
}





/* .btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:var(--chip-radius);border:2px solid transparent;padding:.55rem .9rem;font-weight:700;cursor:pointer} */
/* .btn--apply{background:var(--);color:var(--brand-blue-color)} */
/* .btn--apply:hover{filter:brightness(.95)}
.btn--ghost{background:transparent;border-color:#92c6cc;color:#0b2e38}
.btn--ghost:hover{background:#eef7f8} */

/* toolbar */
.srch__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.25rem}
.srch__sort{border:1px solid #d5e2e8;border-radius:10px;padding:.45rem .6rem;background:#fff}
.srch__view{display:inline-flex;gap:.25rem}
.view-btn{width:38px;height:38px;border-radius:0.5rem;border:1px solid #d5e2e8;background:#fff;cursor:pointer}
.view-btn.is-active{border-color:var(--brand-green-color);box-shadow:0 0 0 3px rgba(14,165,166,.18)}
.view-btn:focus-visible{outline:3px solid #2aa1c0;outline-offset:2px}

.search__switch__view .form-select{
  border-radius: var(--chip-form-control-radius);
}

/* ================== single ============ */
:root{
  --property-slide-imgbutton-radius: var(--bs-border-radius-xl);
  --property-thumb-slide-imgbutton-radius: var(--bs-border-radius-sm);
}

/* .single .container{ max-width: 900px;} */
.property__summary__sticky{
  position: sticky;
  top: 90px;
  z-index: 10;
}
.property__col__img-buttons{
  display: flex;
  width: 150px;
}
.property__single .swiper-vertical>.swiper-wrapper{
  /* gap: .5rem; */
}
.property__single .swiper-slide.btn{
  border-color: transparent;
  border-radius: var(--property-thumb-slide-imgbutton-radius);
  outline: none;
  background-color: transparent;
  padding: 1px !important;

}
.property__single .swiper-slide.btn > img{
  object-fit: cover;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: var(--property-thumb-slide-imgbutton-radius);
  height: 100%;
  width: 100%;
}
.object-cover{object-fit:cover}
.h3-lg{font-size: clamp(1.25rem, 2vw, 1.6rem)}
.property__single .property__title{ font-size: 1.2rem;}
.property__single .property__price{ font-size: 1.75rem; }
.property__single .divider{
  margin-block: 0.5rem;
}

.property__summary > header{
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.propoerty__extras ul{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  color: var(--brand-blue-color);
}
/* Swiper: miniaturas verticales */
.thumbs{height: clamp( 30vh, 50vh, 60rem); flex: 1;}
.thumbs .swiper-slide{height:auto; opacity:.7}
.thumbs .swiper-slide:not(.swiper-slide-thumb-active){
  filter: grayscale(0.7);
  opacity: 1;
}
.thumbs .swiper-slide-thumb-active{opacity:1; outline:2px solid var(--brand-green-color); background-color: var(--brand-green-color) !important; }

.property__col__main-slide figure{
  margin: 0; height: 100%;
}
.property__col__main-slide .main {
  height: 100%;
}
.property__col__main-slide .swiper-wrapper{
  height: 100%;
}
.property__col__main-slide .swiper-slide > img{
  height: 100%;
  border-radius: var(--property-slide-imgbutton-radius);
  aspect-ratio: 4 / 3;
}
.property__single .swiper__control{
  background-color: transparent;
  border-color: transparent;
  color: white;
}
.swiper__control.swiper-button-disabled{
  background-color: transparent;
  color: var(--ts-muted);
}


.property__location iframe{
  width: 100%;
  border-radius: var(--bs-border-radius-xl);
}
.share {
  display: inline-flex;
  align-items: center;
}

.share__trigger {
  border-radius: 999px;
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Modal compartir */
.share-modal__content {
  border-radius: 1rem;
}

.share-modal__list {
  display: grid;
  gap: .75rem;
}

.share-modal__link {
  display: flex;
  align-items: center;
  gap: .5rem;
  width: 100%;
  padding: .65rem .9rem;
  border-radius: .75rem;
  border: 1px solid transparent;
  text-decoration: none;
}

/* Colores base de cada marca (podés migrarlos a tus tokens si querés) */
.share-modal {
  --share-whatsapp: #25D366;
  --share-facebook: #1877f2;
  --share-x: #111111;
  --share-email: #0d6efd; /* o el primary de tu theme */
}

.share-modal__list {
  display: grid;
  gap: .75rem;
}

.share-modal__link {
  display: flex;
  align-items: center;
  gap: .5rem;
  width: 100%;
  padding: .65rem .9rem;
  border-radius: .75rem;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 500;
  background-color: #fff; /* asumiendo modal claro */
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.share-modal__icon {
  font-size: 1.1rem;
}

/* ============================
   WhatsApp
   ============================ */
.share-modal__link--whatsapp {
  color: var(--share-whatsapp);
}

.share-modal__link--whatsapp .share-modal__icon {
  color: inherit;
}

.share-modal__link--whatsapp:hover,
.share-modal__link--whatsapp:focus-visible {
  background-color: rgba(37, 211, 102, 0.08);
  border-color: rgba(37, 211, 102, 0.4);
}

/* ============================
   Facebook
   ============================ */
.share-modal__link--facebook {
  color: var(--share-facebook);
}

.share-modal__link--facebook .share-modal__icon {
  color: inherit;
}

.share-modal__link--facebook:hover,
.share-modal__link--facebook:focus-visible {
  background-color: rgba(24, 119, 242, 0.08);
  border-color: rgba(24, 119, 242, 0.4);
}

/* ============================
   X / Twitter
   ============================ */
.share-modal__link--twitter {
  color: var(--share-x);
}

.share-modal__link--twitter .share-modal__icon {
  color: inherit;
}

.share-modal__link--twitter:hover,
.share-modal__link--twitter:focus-visible {
  background-color: rgba(0, 0, 0, 0.06);
  border-color: rgba(0, 0, 0, 0.35);
}



/* ============================
   Copiar enlace
   ============================ */

.share-modal__link--copy, .share-modal__link--generic {
  background-color: transparent;
  color: inherit;
  border-color: transparent;
}

.share-modal__link--copy .share-modal__icon,
.share-modal__link--generic .share-modal__icon {
  color: inherit;
}

.share-modal__link--copy:hover,
.share-modal__link--generic:hover,
.share-modal__link--copy:focus-visible,
.share-modal__link--generic:focus-visible{
  background-color: #ececec;
}



/* certificado */
/* =========================================================
   ENERGY CERT — Bloque BEM con dos calificaciones (Consumo/Emisiones)
   ========================================================= */

/* Base y tokens */
.energy-cert{
  --row-h: 30px;                 /* alto de cada banda A–G en el SVG */
  --radius: 12px;
  --panel-bg: #fafafa;
  --panel-brd: #e4e4e4;
  --header-bg: #efefef;
  --header-brd: #dcdcdc;
  --ink: #111;
  --muted: #6b7280;
  --marker-cons-y:105px;         /* posiciones por defecto (fila D) */
  --marker-emis-y:105px;
}

/* Panel contenedor (look de placa oficial) */
.energy-cert__panel{
  background: var(--panel-bg);
  border: 1px solid var(--panel-brd);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0,0,0,.02) inset;
}

/* Cabecera gris */
.energy-cert__header{
  background: var(--header-bg);
  border-bottom: 1px solid var(--header-brd);
  padding: .5rem .75rem;
  color: var(--ink);
}
.energy-cert__header strong{ font-weight: 700; }
.energy-cert__stats{ color: var(--muted); }

/* Lista de valores (resumen) */
.energy-cert__item{
  display:flex; align-items:center; gap:.4rem;
  margin-bottom:.25rem;
  color: var(--ink);
}

/* Badge mini (letra) */
.energy-cert__badge{
  --bg:#111; --fg:#fff;
  display:inline-grid; place-items:center;
  width:1.6rem; height:1.6rem; border-radius:.35rem;
  font:700 .9rem/1 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color:var(--fg); background:var(--bg);
  letter-spacing:.02em;
}

/* SVG de la escala A–G (limpio y nítido) */
.energy-cert__scale{
  width:100%; height:auto; max-width:100%;
  shape-rendering: crispEdges;          /* bordes nítidos */
  text-rendering: optimizeLegibility;
}
.energy-cert__row polygon{ stroke:#e6e6e6; stroke-width:1; }
.energy-cert__row text{ fill:#fff; font:700 18px/1 system-ui, sans-serif; }

/* Colores oficiales aproximados A–G */
.energy-cert__row--a polygon{ fill:#23a959; } /* verde fuerte */
.energy-cert__row--b polygon{ fill:#61b33b; }
.energy-cert__row--c polygon{ fill:#b3cf2f; }
.energy-cert__row--d polygon{ fill:#ffd000; }
.energy-cert__row--e polygon{ fill:#ff9c2a; }
.energy-cert__row--f polygon{ fill:#f16b2b; }
.energy-cert__row--g polygon{ fill:#e53935; } /* rojo */

/* Marcadores negros (valores) — estilo similar al ejemplo */
.energy-cert__marker polygon{
  fill:#111;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.25));
}
.energy-cert__marker-text{
  fill:#fff; font:800 18px/1.2 system-ui, sans-serif; letter-spacing:.02em;
}

/* Posición de cada marcador (se manejan con custom props en la raíz) */
.energy-cert__marker--consumption{ transform: translateY(var(--marker-cons-y)); }
.energy-cert__marker--emissions  { transform: translateY(var(--marker-emis-y)); }

/* ===== Modificadores por rating en cada item (badge pequeño) ===== */
.energy-cert__item--rating-a{
  --bg-energy-label:#23a959;
}
.energy-cert__item--rating-b{
  --bg-energy-label:#61b33b;
}
.energy-cert__item--rating-c{
  --bg-energy-label:#b3cf2f;
  --text-label-color:#111;
}
.energy-cert__item--rating-d{
  --bg-energy-label:#ffd000;
  --text-label-color:#111;
}
.energy-cert__item--rating-e{
  --bg-energy-label:#ff9c2a;
}
.energy-cert__item--rating-f{
  --bg-energy-label:#f16b2b;
}
.energy-cert__item--rating-g{
  --bg-energy-label:#e53935;
}

.energy-cert__item--rating-a .energy-cert__badge{ --bg:var(--bg-energy-label); }
.energy-cert__item--rating-b .energy-cert__badge{ --bg:var(--bg-energy-label); }
.energy-cert__item--rating-c .energy-cert__badge{ --bg:var(--bg-energy-label); color:var(--text-label-color); }
.energy-cert__item--rating-d .energy-cert__badge{ --bg:var(--bg-energy-label); color:var(--text-label-color); }
.energy-cert__item--rating-e .energy-cert__badge{ --bg:var(--bg-energy-label); }
.energy-cert__item--rating-f .energy-cert__badge{ --bg:var(--bg-energy-label); }
.energy-cert__item--rating-g .energy-cert__badge{ --bg:var(--bg-energy-label); }

/* ===== Modificadores en la raíz PARA POSICIONAR cada marcador ===== */
/* Consumo */
.energy-cert--consumption-a{ --marker-cons-y: 15px; }
.energy-cert--consumption-b{ --marker-cons-y: 45px; }
.energy-cert--consumption-c{ --marker-cons-y: 75px; }
.energy-cert--consumption-d{ --marker-cons-y:105px; }
.energy-cert--consumption-e{ --marker-cons-y:135px; }
.energy-cert--consumption-f{ --marker-cons-y:165px; }
.energy-cert--consumption-g{ --marker-cons-y:195px; }
/* Emisiones */
.energy-cert--emissions-a{ --marker-emis-y: 15px; }
.energy-cert--emissions-b{ --marker-emis-y: 45px; }
.energy-cert--emissions-c{ --marker-emis-y: 75px; }
.energy-cert--emissions-d{ --marker-emis-y:105px; }
.energy-cert--emissions-e{ --marker-emis-y:135px; }
.energy-cert--emissions-f{ --marker-emis-y:165px; }
.energy-cert--emissions-g{ --marker-emis-y:195px; }

/* Mejora visual del wrapper: padding y bordes redondeados del SVG */
.energy-cert__scale-wrapper{
  padding: .35rem .5rem .5rem;
  background:#fff;
}

/* Tipografía del bloque */
.energy-cert__title{ color:var(--ink); }
.energy-cert__toggle{ color:#2563eb; text-decoration: none; }
.energy-cert__toggle:hover{ text-decoration: underline; }

.energy-table {
  width: 100%;
  text-align: center;
  font-family: sans-serif;
}
.energy-table th,
.energy-table td {
  padding: .5rem .75rem;

  border: 1px solid var(--light-grey-blue-tone);

}
.energy-table tbody tr:last-child td:last-child{
  border-bottom-right-radius: var(--bs-border-radius-sm);
}
.energy-table thead {
  background: #f8f8f8;
  font-size: .9rem;
}

/* Columna flecha */
.energy-table__label {
  position: relative;
  text-align: left;
  font-weight: 700;
  color: #fff;
  padding-left: 1rem;
  border: none;
  border-top-left-radius: var(--bs-border-radius);
  border-bottom-left-radius: var(--bs-border-radius);
}

/* Flecha base */
.energy-table__label::after {
  content: "";
  position: absolute;
  top: 0;
  right: -40px; /* largo de la punta */
  width: 40px;
  height: 100%;
  clip-path: polygon(0 0, 35% 50%, 0 100%);
  background: inherit;
}

/* Colores por fila */



.energy-cert__item--rating-a .energy-table__label { background:var(--bg-energy-label); }
.energy-cert__item--rating-b .energy-table__label { background:var(--bg-energy-label); }
.energy-cert__item--rating-c .energy-table__label { background:var(--bg-energy-label); }
.energy-cert__item--rating-d .energy-table__label { background:var(--bg-energy-label); color: var(--text-label-color);; }
.energy-cert__item--rating-e .energy-table__label { background:var(--bg-energy-label); }
.energy-cert__item--rating-f .energy-table__label { background:var(--bg-energy-label); }
.energy-cert__item--rating-g .energy-table__label { background:var(--bg-energy-label); }
/* Columnas de checks */
.energy-table__cell {
  font-size: 1.2rem;
}


/* // */

.energy-scale {
    max-width: 100%;
    margin: 20px auto;
    font-family: Arial, sans-serif;
}

.scale-header {
    background-color: #f8f9fa;
    padding: 15px;
    border: 1px solid var(--brand-lightgrey-color);
    margin-bottom: 0;
    border-top-left-radius: var(--bs-border-radius-sm);
    border-top-right-radius: var(--bs-border-radius-sm);
}

.scale-body {
    border: 1px solid var(--brand-lightgrey-color);
    border-top: none;
    padding: 15px;
    background-color: white;
    border-bottom-left-radius: var(--bs-border-radius-sm);
    border-bottom-right-radius: var(--bs-border-radius-sm);
}

.scale-header h5 {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
}

.scale-cert-info {
    font-size: 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: inherit;
    padding-left: 20px;
}

.energy-row {
    position: relative;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.energy-label {
    --energy-label-bg: #23a959;
    --energy-label-text: white;
    --value-width: 150px;
    color: var(--energy-label-text);
    background-color: var(--energy-label-bg);
    position: relative;
    font-weight: bold;
    font-size: 16px;
    padding: 12px 16px;
    display: inline-flex;
    clip-path: polygon(0 0, 85% 0, 100% 50%, 85% 100%, 0 100%);
    border-radius: 16px;
    align-items: center;
}

.label-a{
  --energy-label-bg:#23a959;
}
.label-b{
  --energy-label-bg:#61b33b;
}
.label-c{
  --energy-label-bg:#b3cf2f;
  --text-label-color:#111;
}
.label-d{
  --energy-label-bg:#ffd000;
  --text-label-color:#333;
}
.label-e{
  --energy-label-bg:#ff9c2a;
}
.label-f{
  --energy-label-bg:#f16b2b;
}
.label-g{
  --energy-label-bg:#e53935;
}
.label-a { width: calc( 70% - var(--value-width)); }
.label-b { width: calc( 75% - var(--value-width)); }
.label-c { width: calc( 80% - var(--value-width)); }
.label-d { width: calc( 85% - var(--value-width)); }
.label-e { width: calc( 90% - var(--value-width)); }
.label-f { width: calc( 95% - var(--value-width)); }
.label-g { width: calc(100% - var(--value-width)); }


.label-text {
    font-size: 11px;
    margin-left: 5px;
    color: white;
}

.value-boxes {
        /* position: absolute; */
    display: flex;
    gap: 10px;
    flex: 1;
    max-width: 150px;
    justify-content: flex-end;
}

.value-box {
    background-color: #2d2d2d;
    color: white;
    padding: 8px 12px;
    font-weight: bold;
    font-size: 16px;
    border-radius: var(--bs-border-radius-sm);
    flex: 1;
}
.value-box:empty{
  background-color: transparent;
}

.header-columns {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    font-size: 11px;
    color: #666;
    margin-bottom: 5px;
}

.header-col {
    width: 70px;
    text-align: center;
}

/* contact */

.hero__integrated .hero__integrated-presentation{
    background: linear-gradient(90deg, rgba(1, 55, 77, 1) 0%, rgba(0, 124, 133, 1) 60%, rgba(0, 159, 162, 1) 100%);
    padding-block: 0.3rem 2rem;

}

.hero__integrated-description{
  max-width: 75ch;
  text-wrap: balance;
}
.hero__integrated-title{
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 600;
}

.section-video__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.section-video__media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--bs-border-radius-xl);
}

/* Bloque Servicios */
.services { --card-bg: #f2f2f2; }
.services__title { letter-spacing: -.01em; }

.service-card__icon { width: 102px;  display: block; margin-inline-start: -24px; }
.service-card__title { line-height: 1.15; font-weight: 600; color: var(--brand-blue-color); }
.service-card__text { color: #3b3b3b; }
.service-card__cta { border-radius: 999px; padding-inline: 16px; }

/* Bloque Contacto */
.contact__title { letter-spacing: -.01em; }
.contact-info__title { margin-bottom: .25rem; }
.contact-info__link { text-decoration: none; }
.contact-info__link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.contact-info .col__redes a{ color: var(--brand-blue-color); font-size: 1.5rem; }
/* .contact-form__label { font-weight: 600; }
.contact-form__control { border-radius: 999px; }
.contact-form__check { transform: translateY(1px); }
.contact-form__submit { border-radius: 999px; } */

.location iframe{ width: 100%;  border-radius: var(--bs-border-radius-xl);}

.forms-com{
  max-width: 75ch;
}
.form-block{ margin-block-end: .5rem;}

/* about us */
.section__aboutas__resume__description{
  max-width: 75ch;
}

.valores-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* grid-template-rows: 400px 400px; */
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
  height: clamp(700px, 80vh, 850px);
}
.valores__col{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.valores__col-left{
  grid-template-rows: 0.45fr 0.55fr;
}
.valores__col-middle{
  grid-template-rows: 0.55fr 0.45fr;
}
.valores__col-right{
  grid-template-rows: 0.35fr 0.30fr 0.35fr;
}
.valores-grid figure{
  margin: 0;
}
/* Tarjetas */
.valores-card {
  border-radius: var(--bs-border-radius-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.valores-card:not(figure){
  padding: 2.5rem;
}
/* Imágenes */
.valores-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.valores-card--number{
  font-size: clamp(3vw,8vw,104px);
}
.first-description,
.second-description{
  line-height: 1;
  text-wrap: balance;
}
.first-description{
}
.second-description{
  line-height: 1.2;
}
.valores-card--asesoramiento{
  gap: .5rem;
}
.valores-card--asesoramiento ul li{
  line-height: 1.2;
}
.valores-card--clientes .properties__avatars{
  display: flex;
  gap: 8px;

}
.valores-card--clientes .properties__avatars li{
  margin-inline: 0;
  flex: 1;
}
.valores-card--clientes .properties__avatar{
  width: 100%;
}

/* infromation */
.col__information__picture .letterhead{
  overflow: hidden;
  border-radius: var(--bs-border-radius-xl);
}
.col__information__picture .letterhead::before{
  z-index: 1;
  width: 90%;
  height: 60%;
  top: -50%;
}

.col__information__content{

}

/* resourses */
.section{
  padding-block: 2.5rem;
}
.section__resources{
  background-color: var(--brand-blue-color);
  position: relative;
  z-index: -1;
}
.col__resourses__content{
  display: flex;
  flex-direction: column;
}
.resourses__service-title{
  font-weight: 600;
}
.text--resources{
  color: #b9d9e5;
}
.resourses__service{ margin-block-end: 1rem;}
.resourses__service:not(:last-of-type){
  border-bottom: 1px solid #b9d9e5;
}


/* Contenedor del swiper */
.swipper__contain {
  /* si querés que el carrusel no cambie de alto, lo controlamos acá */
}

/* Relación de aspecto 16:9 en cada slide */
.people__slide {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* si tu build soporta aspect-ratio, con esto alcanza */
  overflow: hidden;
  border-radius: var(--bs-border-radius-xl); /* opcional */
}

/* fallback si necesitás soportar browsers sin aspect-ratio */
.people__slide::before {
  content: "";
  display: block;
  padding-top: 56.25%; /* 16:9 */
}

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

/* ocultar flechas y paginación que ya están en el HTML */
.section__process .swiper-button-prev,
.section__process .swiper-button-next,
.section__process .swiper-pagination {
  display: none !important;
}

.process__list {
  counter-reset: step;
}

.process__item {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  border-color: #b2cad4 !important;
  padding-block: 1.5rem;
}

.process__number {
  flex-shrink: 0;
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--brand-yellow-color);
  line-height: 1;
  min-width: 90px;
}

.process__content {
  flex: 1;
}

.process__title {
  color: var(--brand-blue-color);
}

.process__text {
  color: #195b75;
  max-width: 75ch;
  margin-block-end: 0;
}

/* hero tasacion */

.hero-valuation {
  background: var(--brand-orange-color)/*#e3a832*/;
  position: relative;
  max-height: 230px;
  padding-top: 80px!important;
  margin-block-start: 4rem;
}

.hero-valuation .container {
  position: relative;
  z-index: 1;
}

.hero-valuation-box {
  background: var(--brand-blue-color); /* azul verdoso oscuro */
  border-radius: var(--bs-border-radius-xl);
  padding: clamp(2.5rem, 4vw, 3.5rem);
  position: relative;
  overflow: hidden;
  transform: translateY(-150px);
}

.hero-valuation-deco {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at left center, transparent 0, transparent 37%, rgba(255, 180, 65, .2) 37%, rgba(255, 180, 65, .2) 39%, transparent 39%),
    radial-gradient(circle at left bottom, transparent 0, transparent 50%, rgba(255, 180, 65, .2) 50%, rgba(255, 180, 65, .2) 52%, transparent 52%);
  opacity: .5;
  pointer-events: none;
}

.hero-valuation-content {
  position: relative;
  z-index: 2;
  gap: 2.5rem;
}

.hero-valuation-header {
  /* max-width: 620px; */
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: space-between;
}


.hero-valuation-title {
  color: #fff;
  font-size: clamp(2.5rem, 4vw, 3.2rem);
  font-weight: 700;
  line-height: 1.05;
  margin-bottom: 0;
}

.hero-valuation-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.hero-valuation-actions .btn-primary{
  color: #7ec6c8;
  &:hover{ color: white;}
}

.hero-btn-icon {
  display: inline-block;
  transform: translateX(2px);
}

.hero-valuation-cards {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  margin-top: 1rem;
  min-height: 260px;
}

.hero-card {
  width: 180px;
  aspect-ratio: 3 / 4;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,.45);
  background: #eee;
  transform-origin: center bottom;
}

.hero-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* posiciones aproximadas para recrear el efecto */
.hero-card--left       { transform: rotate(-10deg) translateY(35px); }
.hero-card--left-mid   { transform: rotate(-4deg)  translateY(10px); }
.hero-card--center     { transform: translateY(-20px); width: 210px; }
.hero-card--right-mid  { transform: rotate(4deg)   translateY(5px); }
.hero-card--right      { transform: rotate(10deg)  translateY(30px); }

@media (min-width: 992px) {
  .hero-valuation-content {
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
  }
  .hero-valuation-cards {
    justify-content: flex-end;
  }
}

@media (max-width: 768px) {
  .hero-valuation-box {
    padding: 2rem 1.5rem 3rem;
  }
  .hero-valuation-cards {
    gap: .75rem;
  }
  .hero-card {
    width: 120px;
  }
}



/* Bloque base (si ya lo tenés, solo sumá lo de skeleton) */
.property-card {
  border-radius: 1rem;
  background-color: #ffffff;
  box-shadow: 0 8px 20px rgba(0,0,0,.04);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.property-card__image {
  aspect-ratio: 4 / 3; /* o la que uses para las fotos */
  background-color: #f5f5f5;
}

.property-card__body {
  padding: 1.25rem 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.property-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

/* ---------------- Skeleton ---------------- */

.property-card--skeleton {
  pointer-events: none;
}

.skeleton-block,
.skeleton-line,
.skeleton-pill,
.skeleton-chip {
  position: relative;
  overflow: hidden;
  background-color: #e5e7eb; /* gris base */
}

/* Shimmer */
.skeleton-block::before,
.skeleton-line::before,
.skeleton-pill::before,
.skeleton-chip::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.6) 50%,
    rgba(255,255,255,0) 100%
  );
  animation: skeleton-shimmer 2s infinite;
}

@keyframes skeleton-shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

/* Tamaños de los “huesitos” */

.skeleton-block {
  border-radius: 0; /* imagen ocupa todo */
}

.skeleton-pill {
  width: 5.5rem;
  height: 1.25rem;
  border-radius: 999px;
}

.skeleton-line {
  height: .9rem;
  border-radius: 999px;
  display: block;
}

.skeleton-line--long {
  width: 90%;
  margin-block-end: .5rem;
}

.skeleton-line--medium {
  width: 70%;
}

.skeleton-line--short {
  width: 40%;
}

.skeleton-chip {
  width: 2.25rem;
  height: 1.1rem;
  border-radius: 999px;
}

/* Opcional: un poco de separación extra abajo para que no se vea tan “bloque” */
.property-card--skeleton .property-card__body {
  gap: 1rem;
}
/* 404 */
.error404 {
  text-align: center;
}

.error404__title {
  color: var(--brand-blue-color);
}

.error404__description {
  color: var(--bs-secondary);
}

.error404__icon-wrapper {
  display: flex;
  justify-content: center;
}
/*
.error404__link {
  color: var(--bs-primary);
  text-decoration: none;
}

.error404__link:hover {
  text-decoration: underline;
}*/

/* succes page */

.success-page {
  padding: 4rem 1rem;
  text-align: center;
}
.success-page__icon {
  font-size: 7rem;
  margin-bottom: 1rem;
}
.success-page__title {
  font-weight: 700;
  margin-bottom: 1rem;
}
.success-page__desc {
  max-width: 480px;
  margin-inline: auto;
}

/* overrides gmaps  */
#properties-map .gm-style-iw{ border-radius: 12px;}
#properties-map .gm-style-iw-d {
    padding: 0 !important;
    overflow: hidden !important;
}
#properties-map .gm-style-iw-d > div > div{
    padding: 0 !important;
}

#properties-map .gm-style-iw{
    padding: 0 !important;
}
#properties-map .gm-style-iw-chr{
    position: absolute;
    top: 0;
    z-index: 2;
    left: 0;
    right: 0;
    overflow: hidden;
    max-width: 100%;
    padding: 4px;
}
#properties-map .gm-style-iw-ch {
    padding: 0 !important;
}
#properties-map .gm-style-iw-chr button { display: flex !important; justify-content: center; align-items: center;  border: 1px solid transparent; border-radius: 12px; width: 40px !important; height: 40px !important;  background-color: rgba(255,255,255,.75) !important;  opacity: 1; }
#properties-map .gm-style-iw-chr button:hover{ background-color: #e1e1e3;}
#properties-map .gm-style-iw-chr button > span{
    background-color: #222;
    box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
    margin: 0 !important;
    /* display: block; */
    /* border: 1px; */
}
#properties-map .pin-content{ padding: 4px 12px 12px; display: flex; flex-direction: column; flex-wrap: wrap; gap: 8px;}
.pin-content .btn{ margin-block-end: 4px;}
/* ============= footer ========= */


.page-footer{
    padding-block-start: var(--section-padding-y);
    padding-block-end: var(--section-padding-y);
    background: #009FA2;
    color: var(--brand-lightgrey-color);
    background: linear-gradient(90deg, rgba(0, 159, 162, 1) 0%, rgba(0, 124, 133, 1) 49%, rgba(1, 55, 77, 1) 100%);
    a{
        color: var(--link-color-on-dark);
        line-height: 26px;
        transition: all 250ms ease;
        &:hover{
          color: var(--link-active-color-on-dark)
        }
    }

}
.col-footer-menu-level-1 ul li a{ font-size: 1.5rem;}
.col__mail > p{
  font-weight: 300;
}
.link__mail{
  font-weight: 700;
}
.col__redes{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.social__list{
    display: flex;
    gap: 4px;
    & a{
        transition: color 300ms ease;
        &:hover{
            color: var(--link-active-color-on-dark);
        }
    }
}

/* ============= Location Search Archive (en archive de inmuebles) ========= */

.location-search-archive-container {
    position: relative;
}

.location-search-archive-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.location-search-archive-input-wrapper .srch__input {
    padding-right: 2.5rem; /* Espacio para el botón X */
    min-height: 48px; /* Misma altura que fchip__btn */
}
.location-search-archive-input-wrapper .srch__input:not(:placeholder-shown) {
  font-weight: 600;
}
.location-search-archive-clear {
    position: absolute;
    right: 0.75rem;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #68808d;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    transition: color 200ms ease;
    z-index: 10;

    &:hover {
        color: var(--brand-blue-color);
    }

    i {
        font-size: 14px;
    }
}

/* Reutilizar estilos de fchip__menu para el popover */
.location-search-archive-results {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1050;
    min-width: min(360px, 92vw);
    display: flex;
    flex-direction: column;
    max-height: 50svh !important;
    padding: 0;
    overflow: hidden;
}

@media (max-height: 700px) {
    .location-search-archive-results {
        height: 70vh !important;
        max-height: 70vh !important;
    }
}

/* Eliminar el header (::before) del popover */
.location-search-archive-results::before {
    display: none !important;
}

/* Asegurar que el contenido tenga los estilos correctos para scroll */
.location-search-archive-results .fchip__menu__content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: .75rem !important;
    padding-top: .5rem !important;
    height: 0 !important; /* Necesario para que flex funcione con overflow */
}

/* Estilos para los grupos de resultados */
.location-results-group {
    margin-bottom: 1rem;

    &:last-child {
        margin-bottom: 0;
    }
}

.location-results-group-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e2eaee;

    i {
        color: #009FA2;
        font-size: 14px;
    }
}

.location-results-group-title {
    font-weight: 700;
    font-size: 13px;
    color: #333;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.location-results-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.location-result-item {
    padding: 0.5rem;
    cursor: pointer;
    border-radius: 0.5rem;
    transition: background-color 200ms ease;
    color: var(--brand-blue-color);
    font-size: 0.95rem;
    line-height: 1.4;

    &:hover,
    &.location-result-item-active {
        background-color: #f0f4f7;
    }

    strong {
        color: #009FA2;
        font-weight: 600;
    }
}
