.elementor-52 .elementor-element.elementor-element-7cb6231e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-52 .elementor-element.elementor-element-02a95ac{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-52 .elementor-element.elementor-element-9cda3bd{width:100%;max-width:100%;margin:-0px -0px calc(var(--kit-widget-spacing, 0px) + -8px) -0px;padding:-22px -22px -22px -22px;border-style:none;}.elementor-52 .elementor-element.elementor-element-e09a79c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-52 .elementor-element.elementor-element-6810723{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-52 .elementor-element.elementor-element-07a39c3{--display:flex;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-52 .elementor-element.elementor-element-a9bb8c2.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-52 .elementor-element.elementor-element-a9bb8c2{width:100%;max-width:100%;}.elementor-52 .elementor-element.elementor-element-a9bb8c2 .elementor-main-swiper{height:440px;width:100%;}.elementor-52 .elementor-element.elementor-element-a9bb8c2 .elementor-swiper-button{font-size:20px;}body.elementor-page-52:not(.elementor-motion-effects-element-type-background), body.elementor-page-52 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F1EC;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-52 .elementor-element.elementor-element-a9bb8c2.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:767px){.elementor-52 .elementor-element.elementor-element-a9bb8c2.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}/* Start custom CSS for html, class: .elementor-element-1de3dcf6 *//* =========================
HEADER BASE
========================= */

.ls-header {
  position: sticky;
  top: 0;
  z-index: 999;

  width: 100%;
  padding: 20px 30px;

  background: rgba(244,241,236,0.85);
  backdrop-filter: blur(12px);

  border-bottom: 1px solid rgba(0,0,0,0.05);
}

/* CONTENEDOR */

.ls-header-inner {
  max-width: 1200px;
  margin: 0 auto;

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

/* LOGO */

.ls-logo a {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  color: #2e2e2e;
  text-decoration: none;
}

/* NAV */

.ls-nav {
  display: flex;
  align-items: center;
  gap: 30px;
}

.ls-nav a {
  font-size: 14px;
  text-decoration: none;
  color: #2e2e2e;

  transition: opacity 0.3s ease;
}

.ls-nav a:hover {
  opacity: 0.6;
}

/* CTA */

.ls-contact-btn {
  padding: 10px 22px;
  border-radius: 999px;

  background: #7a8a7b;
  color: #fff !important;

  font-size: 13px;

  transition: all 0.3s ease;
}

.ls-contact-btn:hover {
  background: #657565;
}

/* MOBILE BUTTON */

.ls-menu-toggle {
  display: none;
  font-size: 22px;
  cursor: pointer;
}

/* MOBILE MENU */

.ls-mobile-menu {
  display: none;
  flex-direction: column;
  gap: 20px;

  padding: 20px;

  background: #f4f1ec;
}

.ls-mobile-menu a {
  text-decoration: none;
  color: #2e2e2e;
  font-size: 16px;
}

/* ACTIVE */

.ls-mobile-menu.active {
  display: flex;
}

/* =========================
RESPONSIVE
========================= */

@media (max-width: 768px) {

  .ls-nav {
    display: none;
  }

  .ls-menu-toggle {
    display: block;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9cda3bd *//* =========================
RESET BASE
========================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:'Inter',sans-serif;
  background:#f4f1ec;
  color:#2e2e2e;
}

html{
  scroll-behavior:smooth;
}

/* =========================
HERO
========================= */

.ls-hero{
  padding:40px 20px;
  background:#f4f1ec;
}

.ls-hero-inner{

  position:relative;

  max-width:1200px;
  margin:0 auto;

  min-height:72vh;

  border-radius:28px;

  overflow:hidden;

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

  background-image:url('https://lsliving.es/wp-content/uploads/2026/03/Dossier-Chalet-Villa-Horacia-scaled.png');
  background-size:cover;
  background-position:center;

  box-shadow:
  0 25px 80px rgba(0,0,0,0.14);

}

/* =========================
AURA ROJA DETRÁS DEL BORDE
========================= */

.ls-hero-inner::before{

  content:"";

  position:absolute;

  inset:-2px;

  border-radius:30px;

  border:1px solid rgba(255,70,70,0.20);

  box-shadow:
  0 0 10px rgba(255,40,40,0.20),
  0 0 22px rgba(255,40,40,0.14),
  0 0 50px rgba(255,40,40,0.10);

  z-index:0;

  pointer-events:none;

}

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

.ls-hero-inner::after{

  content:"";

  position:absolute;
  inset:0;

  border-radius:28px;

  background:
  linear-gradient(
    to bottom,
    rgba(0,0,0,0.10),
    rgba(0,0,0,0.42)
  );

  z-index:1;

}

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

.ls-hero-content{

  position:relative;
  z-index:5;

  width:100%;
  max-width:720px;

  padding:60px 40px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  text-align:center;

}

/* =========================
BADGE VENDIDO ROJO
========================= */

.ls-status-badge{

  position:absolute;

  top:30px;
  right:30px;

  transform:
  rotate(11deg);

  z-index:20;

  padding:18px 42px;

  border-radius:999px;

  background:
  linear-gradient(
    135deg,
    #d94b4b,
    #b93333
  );

  color:#ffffff;

  font-size:15px;
  font-weight:700;

  letter-spacing:5px;
  text-transform:uppercase;

  border:
  1px solid rgba(255,255,255,0.28);

  box-shadow:
  0 14px 34px rgba(0,0,0,0.22),
  0 0 24px rgba(217,75,75,0.28);

  backdrop-filter:blur(6px);

  overflow:hidden;

}

/* DOBLEZ PEGATINA */

.ls-status-badge::after{

  content:"";

  position:absolute;

  top:0;
  right:0;

  width:26px;
  height:26px;

  background:
  linear-gradient(
    135deg,
    #ffffff,
    #ececec
  );

  border-bottom-left-radius:10px;

  transform:
  translate(7px,-7px)
  rotate(22deg);

  box-shadow:
  -2px 2px 8px rgba(0,0,0,0.08);

}

/* =========================
TIPOGRAFÍA
========================= */

.ls-hero-eyebrow{

  position:relative;
  z-index:5;

  font-size:11px;
  letter-spacing:3px;
  text-transform:uppercase;

  color:rgba(255,255,255,0.72);

  margin-bottom:18px;

}

.ls-hero-content h1{

  position:relative;
  z-index:5;

  font-family:'Playfair Display',serif;

  font-size:clamp(56px,7vw,100px);

  line-height:.95;

  color:#fff;

  margin-bottom:18px;

  text-shadow:
  0 6px 20px rgba(0,0,0,0.28);

}

.ls-hero-location{

  position:relative;
  z-index:5;

  font-size:18px;

  margin-bottom:16px;

}

.ls-hero-location a{

  color:rgba(255,255,255,0.92);

  text-decoration:none;

  border-bottom:
  1px solid rgba(255,255,255,0.25);

  transition:all .3s ease;

}

.ls-hero-location a:hover{
  border-color:#fff;
}

.ls-hero-price{

  position:relative;
  z-index:5;

  font-size:clamp(28px,3vw,44px);
  font-weight:300;

  color:#fff;

  margin-bottom:20px;

}

/* =========================
BOTÓN
========================= */

.ls-hero-btn{

  position:relative;
  z-index:5;

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

  width:240px;

  padding:16px 24px;

  border-radius:999px;

  background:
  rgba(255,255,255,0.08);

  border:
  1px solid rgba(255,255,255,0.18);

  backdrop-filter:blur(8px);

  color:#fff;
  text-decoration:none;

  font-size:14px;
  font-weight:500;

  transition:all .3s ease;

}

.ls-hero-btn:hover{

  transform:translateY(-2px);

  background:
  rgba(255,255,255,0.16);

}

/* =========================
RESPONSIVE
========================= */

@media(max-width:768px){

  .ls-hero{
    padding:16px;
  }

  .ls-hero-inner{
    min-height:82vh;
    border-radius:22px;
  }

  .ls-hero-inner::before{
    border-radius:24px;
  }

  .ls-hero-inner::after{
    border-radius:22px;
  }

  .ls-hero-content{
    padding:40px 20px;
  }

  .ls-hero-content h1{
    font-size:54px;
  }

  .ls-hero-location{
    font-size:14px;
  }

  .ls-hero-price{
    font-size:30px;
  }

  .ls-hero-btn{
    width:100%;
    max-width:240px;

    padding:14px 18px;

    font-size:13px;
  }

  .ls-status-badge{

    top:20px;
    right:16px;

    padding:12px 28px;

    font-size:11px;

    letter-spacing:3px;

  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-29964df *//* =========================
SECCIÓN ENTORNO
========================= */

.ls-environment {
  padding: 80px 20px 100px; /* 🔥 menos espacio arriba */
  background: #f4f1ec;
}

.ls-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* =========================
TITULO
========================= */

.ls-environment-header {
  text-align: center;
}

.ls-environment-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 6vw, 56px);
  font-weight: 400;
  line-height: 1.1;

  color: #6f7f73;

  margin-bottom: 50px;

  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================
GRID IMÁGENES
========================= */

.ls-environment-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;

  margin-bottom: 50px;
}

/* TARJETAS */

.ls-env-item {
  overflow: hidden;
  border-radius: 20px;

  box-shadow: 0 20px 50px rgba(0,0,0,0.1);

  transition: all 0.4s ease;
}

/* IMÁGENES (DESKTOP OK) */

.ls-env-item img {
  width: 100%;
  height: 220px;
  object-fit: cover;

  transition: transform 0.6s ease;
}

/* HOVER */

.ls-env-item:hover {
  transform: translateY(-2px);
}

.ls-env-item:hover img {
  transform: scale(1.05);
}

/* =========================
TEXTO
========================= */

.ls-environment-text {
  text-align: center;
  max-width: 850px;
  margin: 0 auto;
}

.ls-environment-text p {
  font-size: 17px;
  line-height: 1.8;
  color: rgba(46,46,46,0.75);

  margin-bottom: 20px;
}

.ls-environment-text strong {
  font-style: italic;
  font-weight: 500;
  color: #2e2e2e;
}

/* =========================
RESPONSIVE TABLET
========================= */

@media (max-width: 1024px) {

  .ls-environment {
    padding: 70px 20px 90px;
  }

  .ls-environment-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ls-env-item img {
    height: 200px; /* 🔥 más compacto */
  }

}

/* =========================
RESPONSIVE MOBILE (CLAVE)
========================= */

@media (max-width: 768px) {

  .ls-environment {
    padding: 60px 15px 80px; /* 🔥 mucho más compacto */
  }

  .ls-environment-header h2 {
    font-size: 34px;
    margin-bottom: 30px;
  }

  .ls-environment-grid {
    gap: 14px;
  }

  /* 🔥 AQUÍ ESTÁ LA CLAVE REAL */
  .ls-env-item img {
    height: 160px; /* antes 320px → ahora mucho más usable */
  }

  .ls-env-item {
    border-radius: 16px;
  }

  .ls-environment-text p {
    font-size: 14px;
    line-height: 1.7;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2ea1c54 *//* =========================
BASE
========================= */

.ls-distribucion {
  background: #f4f1ec;
  padding: 140px 20px;
}

.ls-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* =========================
TÍTULO
========================= */

.ls-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 400;

  color: #7a8a7b;

  text-align: center;
  margin-bottom: 100px;
}

/* =========================
BLOQUES GENERALES
========================= */

.ls-block {
  margin-bottom: 60px;
}

/* =========================
INTRO (TIPOGRAFÍA PREMIUM)
========================= */

.ls-intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 80px;
}

.ls-intro h3 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 400;

  margin-bottom: 25px;
}

/* LISTA */

.ls-intro ul {
  list-style: none;
  margin-bottom: 25px;
  padding: 0;
}

.ls-intro li {
  font-size: 16px;
  margin-bottom: 10px;
  color: #444;
}

.ls-intro li::before {
  content: "•";
  color: #7a8a7b;
  margin-right: 8px;
}

/* TEXTO */

.ls-intro p {
  font-size: 18px;
  line-height: 1.6;
  color: #6f6f6f;
}

/* =========================
GALERÍA (GLASS + PROFUNDIDAD)
========================= */

.ls-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;

  margin-bottom: 100px;
}

/* TARJETAS IMAGEN */

.ls-gallery img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;

  border-radius: 28px;

  /* 🔥 EFECTO PREMIUM */
  box-shadow: 
    0 20px 60px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.4);

  transition: all 0.4s ease;
}

/* HOVER */

.ls-gallery img:hover {
  transform: translateY(-6px) scale(1.02);
}

/* =========================
GRID TARJETAS (NO PLANO)
========================= */

.ls-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;

  margin-bottom: 80px;
}

/* =========================
CARDS (LIQUID GLASS)
========================= */

.ls-card {
  position: relative;

  padding: 35px 28px;
  border-radius: 30px;

  background: rgba(122,138,123,0.85);

  backdrop-filter: blur(12px);

  color: #fff;

  min-height: 260px;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;

  transition: all 0.4s ease;

  /* profundidad */
  box-shadow: 
    0 25px 70px rgba(0,0,0,0.08);
}

/* BORDE INTERNO SUTIL */

.ls-card::after {
  content: "";
  position: absolute;
  inset: 0;

  border-radius: 30px;
  border: 1px solid rgba(255,255,255,0.2);

  pointer-events: none;
}

/* HOVER PRO */

.ls-card:hover {
  transform: translateY(-8px) scale(1.02);
  background: rgba(122,138,123,0.95);
}

/* TÍTULO */

.ls-card h4 {
  font-size: 20px;
  margin-bottom: 15px;
}

/* TEXTO */

.ls-card p {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.9;
}

/* LISTAS */

.ls-card ul {
  padding-left: 18px;
}

.ls-card li {
  margin-bottom: 8px;
  font-size: 14px;
}

/* =========================
FOOTER
========================= */

.ls-footer {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;

  font-size: 16px;
  color: #777;
  line-height: 1.6;
}

/* =========================
RESPONSIVE
========================= */

@media (max-width: 1024px) {

  .ls-gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .ls-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media (max-width: 768px) {

  .ls-distribucion {
    padding: 90px 20px;
  }

  .ls-title {
    margin-bottom: 60px;
  }

  .ls-gallery {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ls-gallery img {
    aspect-ratio: 16 / 10;
  }

  .ls-grid {
    grid-template-columns: 1fr;
  }

  .ls-card {
    min-height: auto;
  }

}/* End custom CSS */