.elementor-284 .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-284 .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-284 .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-284 .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-284 .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-284 .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-284 .elementor-element.elementor-element-a9bb8c2.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-284 .elementor-element.elementor-element-a9bb8c2{width:100%;max-width:100%;}.elementor-284 .elementor-element.elementor-element-a9bb8c2 .elementor-main-swiper{height:440px;width:100%;}.elementor-284 .elementor-element.elementor-element-a9bb8c2 .elementor-swiper-button{font-size:20px;}body.elementor-page-284:not(.elementor-motion-effects-element-type-background), body.elementor-page-284 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F1EC;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-284 .elementor-element.elementor-element-a9bb8c2.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:767px){.elementor-284 .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/05/WhatsApp-Image-2026-02-28-at-11.02.33.jpeg');

  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.18);

  box-shadow:
  0 0 12px rgba(255,40,40,0.14),
  0 0 28px rgba(255,40,40,0.10),
  0 0 60px rgba(255,40,40,0.08);

  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;

}

/* =========================
STICKER VENDIDO
========================= */

.ls-status-badge{

  position:absolute;

  top:28px;
  right:28px;

  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 DISTRIBUCIÓN
========================= */

.ls-distribucion {

  padding: 80px 20px 100px;
  background: #f4f1ec;

}

.ls-container {

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

}

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

.ls-distribucion-header {

  text-align: center;

}

.ls-distribucion-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-distribucion-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 30px;

  margin-bottom: 50px;

}

/* TARJETAS */

.ls-dist-item {

  overflow: hidden;

  border-radius: 20px;

  background: #f4f1ec;

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

  transition: all 0.4s ease;

}

/* IMÁGENES */

.ls-dist-item img {

  width: 100%;
  height: 220px;

  object-fit: contain;

  background: #f4f1ec;

  transition: transform 0.6s ease;

  display: block;

}

/* HOVER */

.ls-dist-item:hover {

  transform: translateY(-2px);

}

.ls-dist-item:hover img {

  transform: scale(1.03);

}

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

.ls-distribucion-text {

  text-align: center;

  max-width: 850px;

  margin: 0 auto;

}

.ls-distribucion-text p {

  font-size: 17px;

  line-height: 1.8;

  color: rgba(46,46,46,0.75);

  margin-bottom: 20px;

}

.ls-distribucion-text strong {

  font-style: italic;

  font-weight: 500;

  color: #2e2e2e;

}

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

@media (max-width: 1024px) {

  .ls-distribucion {

    padding: 70px 20px 90px;

  }

  .ls-distribucion-grid {

    grid-template-columns: 1fr;

    gap: 18px;

  }

  .ls-dist-item img {

    height: 200px;

  }

}

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

@media (max-width: 768px) {

  .ls-distribucion {

    padding: 60px 15px 80px;

  }

  .ls-distribucion-header h2 {

    font-size: 34px;

    margin-bottom: 30px;

  }

  .ls-distribucion-grid {

    gap: 14px;

  }

  .ls-dist-item img {

    height: 160px;

  }

  .ls-dist-item {

    border-radius: 16px;

  }

  .ls-distribucion-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
========================= */

.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;

  color: #2e2e2e;

}

/* =========================
LISTA INTRO
========================= */

.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 INTRO
========================= */

.ls-intro p {

  font-size: 18px;

  line-height: 1.6;

  color: #6f6f6f;

}

/* =========================
GALERÍA
========================= */

.ls-gallery {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 25px;

  margin-bottom: 100px;

}

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

.ls-gallery img {

  width: 100%;

  height: 320px;

  object-fit: cover;

  object-position: center;

  border-radius: 28px;

  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;

  display: block;

}

/* =========================
HOVER
========================= */

.ls-gallery img:hover {

  transform: translateY(-6px) scale(1.02);

}

/* =========================
GRID TARJETAS
========================= */

.ls-grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 30px;

  margin-bottom: 80px;

}

/* =========================
CARDS
========================= */

.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;

  box-shadow:
    0 25px 70px rgba(0,0,0,0.08);

}

/* BORDE INTERNO */

.ls-card::after {

  content: "";

  position: absolute;

  inset: 0;

  border-radius: 30px;

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

  pointer-events: none;

}

/* =========================
HOVER CARD
========================= */

.ls-card:hover {

  transform: translateY(-8px) scale(1.02);

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

}

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

.ls-card h4 {

  font-size: 20px;

  margin-bottom: 15px;

  color: #fff;

}

/* =========================
TEXTOS CARD
========================= */

.ls-card p {

  font-size: 14px;

  line-height: 1.6;

  opacity: 0.92;

}

/* =========================
LISTAS CARD
========================= */

.ls-card ul {

  padding-left: 18px;

}

.ls-card li {

  margin-bottom: 8px;

  font-size: 14px;

  line-height: 1.5;

}

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

.ls-footer {

  text-align: center;

  max-width: 760px;

  margin: 0 auto;

  font-size: 16px;

  color: #777;

  line-height: 1.8;

}

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

@media (max-width: 1024px) {

  .ls-gallery {

    grid-template-columns: repeat(2, 1fr);

  }

  .ls-grid {

    grid-template-columns: repeat(2, 1fr);

  }

  .ls-gallery img {

    height: 260px;

  }

}

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

@media (max-width: 768px) {

  .ls-distribucion {

    padding: 90px 20px;

  }

  .ls-title {

    margin-bottom: 60px;

  }

  .ls-intro {

    margin-bottom: 60px;

  }

  .ls-intro h3 {

    font-size: 28px;

  }

  .ls-intro p {

    font-size: 16px;

  }

  .ls-gallery {

    grid-template-columns: 1fr;

    gap: 20px;

    margin-bottom: 60px;

  }

  .ls-gallery img {

    height: 220px;

    border-radius: 22px;

  }

  .ls-grid {

    grid-template-columns: 1fr;

    gap: 20px;

  }

  .ls-card {

    min-height: auto;

    padding: 30px 24px;

  }

  .ls-footer {

    font-size: 15px;

    line-height: 1.7;

  }

}/* End custom CSS */