@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&display=swap');

:root {
  --ls-bg: #f5f4f0;
  --ls-surface: #ffffff;
  --ls-ink: #20323d;
  --ls-muted: #6f6b64;
  --ls-border: #e8e4dc;
  --ls-olive: #5a6a48;
  --ls-navy: #1e3a4c;
  --ls-coral: #d76a4a;
  --ls-mares: #cbb48f;
  --ls-shadow: 0 1px 2px rgba(32, 50, 61, .04), 0 18px 44px -26px rgba(32, 50, 61, .28);
  --ls-radius: 18px;
  --ls-wide: 1296px;
  --ls-gutter: clamp(20px, 3vw, 42px);
}

/* Elementor Atomic compatibility -------------------------------------------------
 * Atomic widgets expose their semantic identifier through data-id instead of the
 * elementor-element-{id} class used by containers. These rules bridge both
 * rendering modes and keep the design stable after Elementor regenerates CSS.
 */

/* Atomic typography */
body :is(
  [data-id="hero-home-eyebrow"], [data-id="philosophy-home-eyebrow"],
  [data-id="services-home-eyebrow"], [data-id="pillars-home-eyebrow"],
  [data-id="featured-home-eyebrow"], [data-id="cta-home-eyebrow"],
  [data-id="hero-sale-eyebrow"], [data-id="intro-sale-eyebrow"],
  [data-id="team-sale-eyebrow"], [data-id="values-sale-eyebrow"],
  [data-id="process-sale-eyebrow"], [data-id="faq-sale-eyebrow"],
  [data-id="cta-sale-eyebrow"], [data-id="hero-rent-eyebrow"],
  [data-id="modalities-rent-eyebrow"], [data-id="owners-rent-eyebrow"],
  [data-id="faq-rent-eyebrow"], [data-id="cta-rent-eyebrow"],
  [data-id="hero-contact-eyebrow"], [data-id="contact-main-eyebrow"],
  [data-id="contact-note-eyebrow"], [data-id="archive-eyebrow"],
  [data-id="single-property-operation"]
) {
  color: var(--ls-olive) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .21em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

body :is(
  [data-id="philosophy-home-title"], [data-id="services-home-title"],
  [data-id="pillars-home-title"], [data-id="featured-home-title"],
  [data-id="cta-home-title"], [data-id="intro-sale-title"],
  [data-id="team-sale-title"], [data-id="values-sale-title"],
  [data-id="process-sale-title"], [data-id="faq-sale-title"],
  [data-id="cta-sale-title"], [data-id="modalities-rent-title"],
  [data-id="owners-rent-title"], [data-id="faq-rent-title"],
  [data-id="cta-rent-title"], [data-id="contact-main-title"],
  [data-id="contact-note-title"], [data-id="archive-title"],
  [data-id="single-property-gallery-title"], [data-id="single-property-cta-title"]
) {
  font-size: clamp(34px, 4vw, 56px) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.08 !important;
}

body :is(
  [data-id="hero-home-lead"], [data-id="philosophy-home-copy"],
  [data-id="philosophy-home-copy-two"], [data-id="featured-home-copy"],
  [data-id="cta-home-copy"], [data-id="hero-sale-lead"],
  [data-id="intro-sale-copy"], [data-id="cta-sale-copy"],
  [data-id="hero-rent-lead"], [data-id="owners-rent-copy"],
  [data-id="cta-rent-copy"], [data-id="hero-contact-lead"],
  [data-id="contact-main-text"], [data-id="contact-note-copy"],
  [data-id="archive-lead"], [data-id="single-property-subtitle"],
  [data-id="single-property-cta-copy"]
) {
  color: var(--ls-muted) !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  line-height: 1.65 !important;
}

/* Atomic buttons */
body :is(
  [data-id="hero-home-primary"], [data-id="hero-home-secondary"],
  [data-id="hero-sale-button"], [data-id="hero-rent-button"],
  [data-id="featured-home-button"], [data-id="owners-rent-button"],
  [data-id="cta-home-button"], [data-id="cta-sale-button"],
  [data-id="cta-rent-button"], [data-id="single-property-contact"],
  [data-id="single-property-cta-button"],
  [data-id="property-card-link"], [data-id="rent-long-button"],
  [data-id="rent-seasonal-button"], [data-id="rent-holiday-button"]
) {
  width: max-content !important;
  min-height: 48px !important;
  padding: 13px 25px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .11em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
body :is(
  [data-id="hero-home-primary"], [data-id="hero-sale-button"],
  [data-id="hero-rent-button"], [data-id="owners-rent-button"],
  [data-id="single-property-contact"], [data-id="single-property-cta-button"]
) { background: var(--ls-navy) !important; color: #fff !important; }
body :is(
  [data-id="hero-home-secondary"], [data-id="featured-home-button"],
  [data-id="property-card-link"], [data-id="rent-long-button"],
  [data-id="rent-seasonal-button"], [data-id="rent-holiday-button"]
) { background: transparent !important; color: var(--ls-ink) !important; border-color: var(--ls-border) !important; }
body :is(
  [data-id="cta-home-button"], [data-id="cta-sale-button"], [data-id="cta-rent-button"]
) { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.45) !important; }

/* Atomic header */
[data-id="site-brand-title"], [data-id="site-footer-title"] {
  color: var(--ls-ink) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  line-height: 1.1 !important;
}
[data-id="site-brand-subtitle"], [data-id="site-footer-subtitle"] {
  color: var(--ls-muted) !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: .22em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
.elementor-element-site-nav {
  display: contents !important;
}
.elementor-element-site-header-in {
  display: grid !important;
  grid-template-columns: minmax(255px, 1fr) repeat(5, max-content) minmax(255px, 1fr) !important;
  align-items: center !important;
  column-gap: 26px !important;
}
.elementor-element-site-brand {
  width: auto !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  justify-self: start !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
}
body [data-id^="nav-"] {
  min-width: 0 !important;
  min-height: auto !important;
  padding: 10px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--ls-ink) !important;
  box-shadow: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .09em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
body [data-id="nav-home"] { grid-column: 2; }
body [data-id="nav-sale"] { grid-column: 3; }
body [data-id="nav-rent"] { grid-column: 4; }
body [data-id="nav-properties"] { grid-column: 5; }
body [data-id="nav-faq"] { grid-column: 6; }
body [data-id="nav-contact"] { display: none !important; }
body [data-id="nav-talk"] {
  grid-column: 7;
  justify-self: end;
  min-height: 50px !important;
  padding: 14px 27px !important;
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 12.5px !important;
}

/* Atomic home */
body [data-id="hero-home-title"] {
  max-width: 8ch;
  font-size: clamp(52px, 5vw, 62px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.01 !important;
}
body [data-id="hero-home-lead"] { max-width: 34ch; }
body :is(
  [data-id="service-venta-title"], [data-id="service-larga-title"],
  [data-id="service-temporal-title"], [data-id="service-vacacional-title"]
) { color: #fff !important; font-size: 28px !important; font-weight: 500 !important; line-height: 1.12 !important; }
body :is(
  [data-id="service-venta-copy"], [data-id="service-larga-copy"],
  [data-id="service-temporal-copy"], [data-id="service-vacacional-copy"]
) { color: rgba(255,255,255,.8) !important; font-size: 14px !important; line-height: 1.55 !important; }
body :is(
  [data-id="service-venta-go"], [data-id="service-larga-go"],
  [data-id="service-temporal-go"], [data-id="service-vacacional-go"]
) { color: #fff !important; font-family: "Jost", sans-serif !important; font-size: 12px !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
body :is([data-id="pillar-close-title"], [data-id="pillar-transparent-title"], [data-id="pillar-local-title"]) {
  font-size: 24px !important; font-weight: 500 !important; line-height: 1.2 !important;
}
body :is([data-id="pillar-close-copy"], [data-id="pillar-transparent-copy"], [data-id="pillar-local-copy"]) {
  color: var(--ls-muted) !important; font-size: 15px !important;
}

/* Atomic internal pages */
body :is([data-id="hero-sale-title"], [data-id="hero-rent-title"], [data-id="hero-contact-title"]) {
  max-width: 10ch;
  font-size: clamp(52px, 5vw, 62px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.01 !important;
}
body :is(
  [data-id="team-eva-name"], [data-id="team-fabian-name"],
  [data-id="value-market-title"], [data-id="value-attention-title"],
  [data-id="value-communication-title"], [data-id="value-integral-title"],
  [data-id="rent-long-title"], [data-id="rent-seasonal-title"], [data-id="rent-holiday-title"]
) { font-size: 26px !important; font-weight: 500 !important; line-height: 1.16 !important; }
body :is(
  [data-id="team-eva-role"], [data-id="team-fabian-role"],
  [data-id="rent-long-kicker"], [data-id="rent-seasonal-kicker"], [data-id="rent-holiday-kicker"]
) { color: var(--ls-olive) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: .17em !important; text-transform: uppercase !important; }
body :is(
  [data-id="team-eva-copy"], [data-id="team-fabian-copy"],
  [data-id="value-market-copy"], [data-id="value-attention-copy"],
  [data-id="value-communication-copy"], [data-id="value-integral-copy"],
  [data-id="rent-long-copy"], [data-id="rent-seasonal-copy"], [data-id="rent-holiday-copy"]
) { color: var(--ls-muted) !important; font-size: 15px !important; line-height: 1.65 !important; }
body :is(
  [data-id$="-q"]
) { color: var(--ls-ink) !important; font-size: 18px !important; font-weight: 500 !important; line-height: 1.35 !important; }
body :is(
  [data-id$="-a"]
) { color: var(--ls-muted) !important; font-size: 15px !important; line-height: 1.65 !important; }

/* Atomic property cards and single-property fields */
body [data-id="property-card-operation"] {
  width: max-content; padding: 6px 11px; border-radius: 999px;
  background: var(--ls-bg) !important; color: var(--ls-olive) !important;
  font-size: 10px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important;
}
body [data-id="property-card-location"] { color: var(--ls-muted) !important; font-size: 12px !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
body [data-id="property-card-title"] { font-size: 25px !important; font-weight: 500 !important; line-height: 1.15 !important; }
body :is([data-id="property-card-rooms"], [data-id="property-card-baths"], [data-id="property-card-capacity"]) { color: var(--ls-muted) !important; font-size: 13px !important; }
body [data-id="property-card-price"] { font-family: "Jost", sans-serif !important; font-size: 22px !important; font-weight: 500 !important; }
body [data-id="single-property-title"] { max-width: 13ch; font-size: clamp(48px, 5vw, 62px) !important; font-weight: 500 !important; letter-spacing: -.035em !important; line-height: 1.01 !important; }
body :is([data-id="single-property-rooms"], [data-id="single-property-baths"], [data-id="single-property-capacity"], [data-id="single-property-minimum"]) { font-family: "Jost", sans-serif !important; font-size: 15px !important; font-weight: 500 !important; }
body [data-id="single-property-price-label"] { color: var(--ls-muted) !important; font-size: 11px !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
body [data-id="single-property-price"] { font-family: "Jost", sans-serif !important; font-size: 34px !important; font-weight: 500 !important; }
body :is([data-id$="-features-title"], [data-id$="-services-title"], [data-id$="-distances-title"], [data-id$="-conditions-title"]) { font-size: 20px !important; font-weight: 500 !important; }
body :is([data-id$="-features-value"], [data-id$="-services-value"], [data-id$="-distances-value"], [data-id$="-conditions-value"]) { color: var(--ls-muted) !important; font-size: 15px !important; line-height: 1.7 !important; }

/* Atomic footer */
body [data-id^="footer-link-"] {
  padding: 4px 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--ls-ink) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
}
body [data-id^="footer-label-"] {
  color: var(--ls-muted) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}
body :is([data-id="footer-copyright"], [data-id="footer-location"]) { color: var(--ls-muted) !important; font-size: 13px !important; }

@media (max-width: 767px) {
  body [data-id="hero-home-title"],
  body :is([data-id="hero-sale-title"], [data-id="hero-rent-title"], [data-id="hero-contact-title"]),
  body [data-id="single-property-title"] { font-size: clamp(42px, 13vw, 60px) !important; }
  [data-id="site-brand-title"] { font-size: 17px !important; }
  [data-id="site-brand-subtitle"] { font-size: 7px !important; }
  .elementor-element-site-header-in {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    padding-block: 12px !important;
  }
  .elementor-element-site-brand {
    width: auto !important;
    min-width: 0 !important;
    align-self: center !important;
  }
  .elementor-element-site-nav {
    display: flex !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    overflow-x: auto !important;
    padding: 3px 0 5px !important;
    scrollbar-width: none;
  }
  .elementor-element-site-nav::-webkit-scrollbar { display: none; }
  body [data-id^="nav-"] { flex: 0 0 auto !important; font-size: 11px !important; }
  body [data-id="nav-talk"] { display: none !important; }
}

html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
body {
  background: var(--ls-bg) !important;
  color: var(--ls-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body :where(h1, h2, h3, h4, .e-heading-base) {
  font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: var(--ls-ink);
  text-wrap: balance;
}

body :where(p, .e-paragraph-base) { text-wrap: pretty; }
body .elementor { --e-global-color-primary: var(--ls-navy); }

/* Shared section geometry */
body :is(
  .elementor-element-hero-home, .elementor-element-philosophy-home,
  .elementor-element-services-home, .elementor-element-pillars-home,
  .elementor-element-featured-home, .elementor-element-cta-home,
  .elementor-element-hero-sale, .elementor-element-intro-sale,
  .elementor-element-team-sale, .elementor-element-values-sale,
  .elementor-element-process-sale, .elementor-element-faq-sale,
  .elementor-element-cta-sale, .elementor-element-hero-rent,
  .elementor-element-modalities-rent, .elementor-element-owners-rent,
  .elementor-element-faq-rent, .elementor-element-cta-rent,
  .elementor-element-hero-contact, .elementor-element-contact-main,
  .elementor-element-contact-note, .elementor-element-archive-hero,
  .elementor-element-archive-catalogue, .elementor-element-single-property-hero,
  .elementor-element-single-property-facts, .elementor-element-single-property-content,
  .elementor-element-single-property-cta
) {
  width: 100% !important;
  padding-inline: var(--ls-gutter) !important;
}

body :is(
  .elementor-element-philosophy-home, .elementor-element-services-home,
  .elementor-element-pillars-home, .elementor-element-featured-home,
  .elementor-element-intro-sale, .elementor-element-team-sale,
  .elementor-element-values-sale, .elementor-element-process-sale,
  .elementor-element-faq-sale, .elementor-element-modalities-rent,
  .elementor-element-owners-rent, .elementor-element-faq-rent,
  .elementor-element-contact-main, .elementor-element-contact-note,
  .elementor-element-archive-catalogue, .elementor-element-single-property-facts,
  .elementor-element-single-property-content
) {
  border-top: 1px solid var(--ls-border);
}

body :is(
  .elementor-element-hero-home-in, .elementor-element-philosophy-home-in,
  .elementor-element-services-home-in, .elementor-element-pillars-home-in,
  .elementor-element-featured-home-in, .elementor-element-cta-home-in,
  .elementor-element-hero-sale-in, .elementor-element-intro-sale-in,
  .elementor-element-team-sale-in, .elementor-element-values-sale-in,
  .elementor-element-process-sale-in, .elementor-element-faq-sale-in,
  .elementor-element-cta-sale-in, .elementor-element-hero-rent-in,
  .elementor-element-modalities-rent-in, .elementor-element-owners-rent-in,
  .elementor-element-faq-rent-in, .elementor-element-cta-rent-in,
  .elementor-element-hero-contact-in, .elementor-element-contact-main-in,
  .elementor-element-contact-note-in, .elementor-element-archive-hero-in,
  .elementor-element-archive-catalogue-in, .elementor-element-single-property-hero-in,
  .elementor-element-single-property-facts-in, .elementor-element-single-property-content-in,
  .elementor-element-single-property-cta-in
) {
  width: 100% !important;
  max-width: var(--ls-wide) !important;
  margin-inline: auto !important;
}

body :is(
  .elementor-element-hero-home-eyebrow, .elementor-element-philosophy-home-eyebrow,
  .elementor-element-services-home-eyebrow, .elementor-element-pillars-home-eyebrow,
  .elementor-element-featured-home-eyebrow, .elementor-element-cta-home-eyebrow,
  .elementor-element-hero-sale-eyebrow, .elementor-element-intro-sale-eyebrow,
  .elementor-element-team-sale-eyebrow, .elementor-element-values-sale-eyebrow,
  .elementor-element-process-sale-eyebrow, .elementor-element-faq-sale-eyebrow,
  .elementor-element-cta-sale-eyebrow, .elementor-element-hero-rent-eyebrow,
  .elementor-element-modalities-rent-eyebrow, .elementor-element-owners-rent-eyebrow,
  .elementor-element-faq-rent-eyebrow, .elementor-element-cta-rent-eyebrow,
  .elementor-element-hero-contact-eyebrow, .elementor-element-contact-main-eyebrow,
  .elementor-element-contact-note-eyebrow, .elementor-element-archive-eyebrow,
  .elementor-element-single-property-operation
) {
  color: var(--ls-olive) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .21em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

body :is(
  .elementor-element-philosophy-home-title, .elementor-element-services-home-title,
  .elementor-element-pillars-home-title, .elementor-element-featured-home-title,
  .elementor-element-cta-home-title, .elementor-element-intro-sale-title,
  .elementor-element-team-sale-title, .elementor-element-values-sale-title,
  .elementor-element-process-sale-title, .elementor-element-faq-sale-title,
  .elementor-element-cta-sale-title, .elementor-element-modalities-rent-title,
  .elementor-element-owners-rent-title, .elementor-element-faq-rent-title,
  .elementor-element-cta-rent-title, .elementor-element-contact-main-title,
  .elementor-element-contact-note-title, .elementor-element-archive-title,
  .elementor-element-single-property-gallery-title, .elementor-element-single-property-cta-title
) {
  font-size: clamp(34px, 4vw, 56px) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.08 !important;
}

body :is(
  .elementor-element-hero-home-lead, .elementor-element-philosophy-home-copy,
  .elementor-element-philosophy-home-copy-two, .elementor-element-featured-home-copy,
  .elementor-element-cta-home-copy, .elementor-element-hero-sale-lead,
  .elementor-element-intro-sale-copy, .elementor-element-cta-sale-copy,
  .elementor-element-hero-rent-lead, .elementor-element-owners-rent-copy,
  .elementor-element-cta-rent-copy, .elementor-element-hero-contact-lead,
  .elementor-element-contact-main-text, .elementor-element-contact-note-copy,
  .elementor-element-archive-lead, .elementor-element-single-property-subtitle,
  .elementor-element-single-property-cta-copy
) {
  color: var(--ls-muted) !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  line-height: 1.65 !important;
}

/* Buttons */
body :is(
  .elementor-element-hero-home-primary, .elementor-element-hero-sale-button,
  .elementor-element-hero-rent-button, .elementor-element-owners-rent-button,
  .elementor-element-hero-home-secondary, .elementor-element-featured-home-button,
  .elementor-element-cta-home-button, .elementor-element-cta-sale-button,
  .elementor-element-cta-rent-button, .elementor-element-single-property-contact,
  .elementor-element-property-card-link
) {
  width: max-content !important;
  min-height: 48px !important;
  padding: 13px 25px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  transition: transform .18s ease, background .18s ease, color .18s ease !important;
}

body :is(
  .elementor-element-hero-home-primary, .elementor-element-hero-sale-button,
  .elementor-element-hero-rent-button, .elementor-element-owners-rent-button,
  .elementor-element-single-property-contact
) { background: var(--ls-navy) !important; color: #fff !important; }

body :is(
  .elementor-element-hero-home-secondary, .elementor-element-featured-home-button,
  .elementor-element-property-card-link
) { background: transparent !important; color: var(--ls-ink) !important; border-color: var(--ls-border) !important; }

body :is(
  .elementor-element-cta-home-button, .elementor-element-cta-sale-button,
  .elementor-element-cta-rent-button
) { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.45) !important; }

body :is(
  .elementor-element-hero-home-primary, .elementor-element-hero-home-secondary,
  .elementor-element-hero-sale-button, .elementor-element-hero-rent-button,
  .elementor-element-featured-home-button, .elementor-element-owners-rent-button,
  .elementor-element-cta-home-button, .elementor-element-cta-sale-button,
  .elementor-element-cta-rent-button, .elementor-element-single-property-contact,
  .elementor-element-property-card-link
):hover { transform: translateY(-2px); }

/* Header */
.elementor-location-header {
  position: sticky !important;
  top: 0;
  z-index: 60;
}
.admin-bar .elementor-location-header { top: 32px; }
.elementor-element-site-header {
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid var(--ls-border) !important;
  backdrop-filter: blur(14px) saturate(1.1);
}
.elementor-element-site-header-in {
  width: 100% !important;
  max-width: 1360px !important;
  min-height: 84px !important;
  margin-inline: auto !important;
  padding: 14px 32px !important;
  display: grid !important;
  grid-template-columns: minmax(255px, 1fr) repeat(5, max-content) minmax(255px, 1fr) !important;
  align-items: center !important;
  column-gap: 26px !important;
}
.elementor-element-site-brand {
  position: relative;
  margin-left: 16px !important;
  padding-left: 44px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 1px !important;
  min-width: 0;
  justify-self: start !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
}
.elementor-element-site-brand::before,
.elementor-element-site-footer-logo::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 31px;
  height: 31px;
  transform: translateY(-50%);
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56' fill='none' stroke='%235a6a48' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M29 6L29 50L7 44L7 14Z'/%3E%3Cpath d='M35 6L35 50L57 44L57 14Z'/%3E%3Cpath d='M11 20L26 22M11 27L26 29M11 34L26 36M11 41L26 43'/%3E%3Cpath d='M53 20L38 22M53 27L38 29M53 34L38 36M53 41L38 43'/%3E%3C/svg%3E");
}
.elementor-element-site-brand-title,
.elementor-element-site-footer-title {
  color: var(--ls-ink) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  line-height: 1.1 !important;
}
.elementor-element-site-brand-subtitle,
.elementor-element-site-footer-subtitle {
  color: var(--ls-muted) !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: .22em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
.elementor-element-site-nav {
  display: contents !important;
}
body :is(
  .elementor-element-nav-home, .elementor-element-nav-sale,
  .elementor-element-nav-rent, .elementor-element-nav-properties,
  .elementor-element-nav-faq, .elementor-element-nav-contact
) {
  min-height: auto !important;
  padding: 10px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--ls-ink) !important;
  box-shadow: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
body :is(
  .elementor-element-nav-home, .elementor-element-nav-sale,
  .elementor-element-nav-rent, .elementor-element-nav-properties,
  .elementor-element-nav-faq, .elementor-element-nav-contact
):hover { color: var(--ls-olive) !important; }

/* Current-page navigation state */
body:is(.home, .page-id-48) :is(.elementor-element-nav-home, [data-id="nav-home"]),
body.page-id-47 :is(.elementor-element-nav-sale, [data-id="nav-sale"]),
body.page-id-49 :is(.elementor-element-nav-rent, [data-id="nav-rent"]),
body:is(.post-type-archive-propiedades, .single-propiedades, .tax-tipo_operacion, .tax-ubicacion_zona, .tax-tipo_propiedad) :is(.elementor-element-nav-properties, [data-id="nav-properties"]),
body:has(#faq:target) :is(.elementor-element-nav-faq, [data-id="nav-faq"]),
body.ls-nav-faq-active :is(.elementor-element-nav-faq, [data-id="nav-faq"]) {
  color: var(--ls-olive) !important;
  border-bottom: 2px solid var(--ls-olive) !important;
  font-weight: 600 !important;
}
body.page-id-47:has(#faq:target) :is(.elementor-element-nav-sale, [data-id="nav-sale"]),
body.page-id-47.ls-nav-faq-active :is(.elementor-element-nav-sale, [data-id="nav-sale"]) {
  color: var(--ls-ink) !important;
  border-bottom-color: transparent !important;
  font-weight: 500 !important;
}
#faq { scroll-margin-top: clamp(96px, 10vw, 132px); }
.elementor-element-nav-talk {
  justify-self: end !important;
  min-height: 50px !important;
  padding: 14px 27px !important;
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}
body.page-id-50 :is(.elementor-element-nav-talk, [data-id="nav-talk"]) {
  background: var(--ls-olive) !important;
  border-color: var(--ls-olive) !important;
  box-shadow: 0 0 0 3px rgba(90, 106, 72, .12) !important;
}

/* Home order */
.elementor-48 { display: flex !important; flex-direction: column !important; }
.elementor-48 > .elementor-element-hero-home { order: 1; }
.elementor-48 > .elementor-element-services-home { order: 2; }
.elementor-48 > .elementor-element-philosophy-home { order: 3; }
.elementor-48 > .elementor-element-pillars-home { order: 4; }
.elementor-48 > .elementor-element-featured-home { order: 5; }
.elementor-48 > .elementor-element-cta-home { order: 6; }

/* Home hero */
.elementor-element-hero-home { padding-block: clamp(64px, 8vw, 116px) !important; }
.elementor-element-hero-home-in {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: center !important;
  column-gap: clamp(52px, 7vw, 104px) !important;
  row-gap: 22px !important;
}
.elementor-element-hero-home-in::after {
  content: "";
  grid-column: 2;
  grid-row: 1 / 5;
  align-self: stretch;
  min-height: clamp(520px, 62vw, 720px);
  background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/Entrada-min.webp');
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  box-shadow: var(--ls-shadow);
}
.elementor-element-hero-home-eyebrow,
.elementor-element-hero-home-title,
.elementor-element-hero-home-lead,
.elementor-element-hero-home-actions { grid-column: 1; }
.elementor-element-hero-home-title {
  max-width: 8ch;
  font-size: clamp(52px, 5vw, 62px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.01 !important;
}
.elementor-element-hero-home-lead { max-width: 34ch; }
.elementor-element-hero-home-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 8px;
}
.elementor-element-hero-home-signature { display: none !important; }

/* Divisions */
.elementor-element-services-home { padding-block: clamp(72px, 8vw, 108px) !important; }
.elementor-element-services-home-in { gap: 28px !important; }
.elementor-element-services-home-title { max-width: 18ch; }
.elementor-element-services-home-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 22px;
}
body :is(
  .elementor-element-service-venta, .elementor-element-service-larga,
  .elementor-element-service-temporal, .elementor-element-service-vacacional
) {
  position: relative;
  min-height: 310px !important;
  padding: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: var(--ls-radius) !important;
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease;
}
.elementor-element-service-venta { background: var(--ls-mares) !important; }
.elementor-element-service-larga { background: var(--ls-olive) !important; }
.elementor-element-service-temporal { background: var(--ls-coral) !important; }
.elementor-element-service-vacacional { background: var(--ls-navy) !important; }
body :is(
  .elementor-element-service-venta, .elementor-element-service-larga,
  .elementor-element-service-temporal, .elementor-element-service-vacacional
)::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 28px;
  width: 34px;
  height: 34px;
  opacity: .82;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M29 6L29 50L7 44L7 14Z'/%3E%3Cpath d='M35 6L35 50L57 44L57 14Z'/%3E%3Cpath d='M11 20L26 22M11 27L26 29M11 34L26 36M11 41L26 43'/%3E%3Cpath d='M53 20L38 22M53 27L38 29M53 34L38 36M53 41L38 43'/%3E%3C/svg%3E");
}
body :is(
  .elementor-element-service-venta, .elementor-element-service-larga,
  .elementor-element-service-temporal, .elementor-element-service-vacacional
):hover { transform: translateY(-5px); box-shadow: var(--ls-shadow); }
body :is(
  .elementor-element-service-venta-title, .elementor-element-service-larga-title,
  .elementor-element-service-temporal-title, .elementor-element-service-vacacional-title
) { font-size: 30px !important; font-weight: 600 !important; color: #fff !important; }
.elementor-element-service-venta-title { color: var(--ls-ink) !important; }
body :is(
  .elementor-element-service-venta-copy, .elementor-element-service-larga-copy,
  .elementor-element-service-temporal-copy, .elementor-element-service-vacacional-copy,
  .elementor-element-service-venta-go, .elementor-element-service-larga-go,
  .elementor-element-service-temporal-go, .elementor-element-service-vacacional-go
) { color: rgba(255,255,255,.78) !important; }
body :is(.elementor-element-service-venta-copy, .elementor-element-service-venta-go) { color: rgba(32,50,61,.72) !important; }
body :is(
  .elementor-element-service-venta-go, .elementor-element-service-larga-go,
  .elementor-element-service-temporal-go, .elementor-element-service-vacacional-go
) { font-size: 12px !important; letter-spacing: .1em !important; text-transform: uppercase !important; }

/* Home philosophy */
.elementor-element-philosophy-home { padding-block: clamp(72px, 8vw, 112px) !important; }
.elementor-element-philosophy-home-in {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: center !important;
  column-gap: clamp(52px, 7vw, 100px) !important;
  row-gap: 16px !important;
}
.elementor-element-philosophy-home-in::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / 5;
  align-self: stretch;
  min-height: 620px;
  background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/Piscina-min.webp');
  border-radius: var(--ls-radius);
  border: 1px solid var(--ls-border);
}
.elementor-element-philosophy-home-eyebrow,
.elementor-element-philosophy-home-title,
.elementor-element-philosophy-home-copy,
.elementor-element-philosophy-home-copy-two { grid-column: 2; }
.elementor-element-philosophy-home-eyebrow { grid-row: 1; }
.elementor-element-philosophy-home-title { grid-row: 2; max-width: 14ch; }
.elementor-element-philosophy-home-copy { grid-row: 3; }
.elementor-element-philosophy-home-copy-two { grid-row: 4; }

/* Pillars */
.elementor-element-pillars-home { padding-block: clamp(58px, 6vw, 82px) !important; }
.elementor-element-pillars-home-in { gap: 30px !important; }
.elementor-element-pillars-home-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(26px, 4vw, 54px) !important;
}
body :is(.elementor-element-pillar-close, .elementor-element-pillar-transparent, .elementor-element-pillar-local) {
  padding: 28px 0 0 !important;
  border-top: 1px solid var(--ls-border) !important;
  background: transparent !important;
  gap: 10px !important;
}
body :is(.elementor-element-pillar-close-title, .elementor-element-pillar-transparent-title, .elementor-element-pillar-local-title) {
  font-size: 24px !important;
  font-weight: 600 !important;
}
body :is(.elementor-element-pillar-close-copy, .elementor-element-pillar-transparent-copy, .elementor-element-pillar-local-copy) {
  color: var(--ls-muted) !important;
  font-size: 15px !important;
}

/* Featured properties */
.elementor-element-featured-home { padding-block: clamp(72px, 8vw, 110px) !important; }
.elementor-element-featured-home-in { gap: 18px !important; }
.elementor-element-property-home-loop { width: 100% !important; margin-top: 26px; }
body :is(.elementor-element-featured-home-button, [data-id="featured-home-button"]) {
  align-self: center !important;
  margin-inline: auto !important;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
body :is(.elementor-element-featured-home-button, [data-id="featured-home-button"]):hover {
  background: var(--ls-navy) !important;
  border-color: var(--ls-navy) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(30, 58, 76, .16) !important;
  transform: translateY(-2px);
}

/* Shared CTA bands */
body :is(.elementor-element-cta-home, .elementor-element-cta-sale, .elementor-element-cta-rent, .elementor-element-single-property-cta) {
  padding-block: clamp(64px, 8vw, 104px) !important;
  background: var(--ls-bg) !important;
}
body :is(.elementor-element-cta-home-in, .elementor-element-cta-sale-in, .elementor-element-cta-rent-in, .elementor-element-single-property-cta-in) {
  position: relative;
  padding: clamp(44px, 7vw, 82px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 18px !important;
  background: var(--ls-navy) !important;
  border-radius: 24px !important;
  color: #fff !important;
  overflow: hidden;
}
body :is(.elementor-element-cta-home-in, .elementor-element-cta-sale-in, .elementor-element-cta-rent-in, .elementor-element-single-property-cta-in)::before {
  content: "";
  width: 46px;
  height: 46px;
  opacity: .72;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56' fill='none' stroke='%23ffffff' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M29 6L29 50L7 44L7 14Z'/%3E%3Cpath d='M35 6L35 50L57 44L57 14Z'/%3E%3Cpath d='M11 20L26 22M11 27L26 29M11 34L26 36M11 41L26 43'/%3E%3Cpath d='M53 20L38 22M53 27L38 29M53 34L38 36M53 41L38 43'/%3E%3C/svg%3E");
}
body :is(.elementor-element-cta-home-title, .elementor-element-cta-sale-title, .elementor-element-cta-rent-title, .elementor-element-single-property-cta-title) { color: #fff !important; max-width: 22ch; }
body :is(.elementor-element-cta-home-copy, .elementor-element-cta-sale-copy, .elementor-element-cta-rent-copy, .elementor-element-single-property-cta-copy) { color: rgba(255,255,255,.72) !important; max-width: 58ch; }
body :is(.elementor-element-cta-home-eyebrow, [data-id="cta-home-eyebrow"]) { color: #d8c8a8 !important; }
body :is(.elementor-element-cta-home-copy, [data-id="cta-home-copy"]) { color: rgba(255,255,255,.78) !important; }

/* Sale and rental heroes */
body :is(.elementor-element-hero-sale, .elementor-element-hero-rent) { padding-block: clamp(64px, 8vw, 112px) !important; }
body :is(.elementor-element-hero-sale-in, .elementor-element-hero-rent-in) {
  display: grid !important;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr) !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: center !important;
  column-gap: clamp(52px, 7vw, 104px) !important;
  row-gap: 22px !important;
}
body :is(.elementor-element-hero-sale-eyebrow, .elementor-element-hero-sale-title, .elementor-element-hero-sale-lead, .elementor-element-hero-sale-button,
         .elementor-element-hero-rent-eyebrow, .elementor-element-hero-rent-title, .elementor-element-hero-rent-lead, .elementor-element-hero-rent-button) { grid-column: 1; }
body :is(.elementor-element-hero-sale-title, .elementor-element-hero-rent-title) {
  max-width: 12ch;
  font-size: clamp(48px, 5vw, 62px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.03 !important;
}
.elementor-element-hero-sale-in::after,
.elementor-element-hero-rent-in::after {
  content: "";
  grid-column: 2;
  grid-row: 1 / 5;
  align-self: stretch;
  min-height: clamp(520px, 56vw, 690px);
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  box-shadow: var(--ls-shadow);
}
.elementor-element-hero-sale-in::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/1_A1A2329.jpg'); }
.elementor-element-hero-rent-in::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/Villa-Herdain-min-1.jpg'); }

/* Sale */
body .elementor-element-hero-sale { padding-block: clamp(48px, 6vw, 80px) !important; }
body .elementor-element-hero-sale-in {
  column-gap: clamp(40px, 5vw, 72px) !important;
  row-gap: 16px !important;
}
body .elementor-element-hero-sale-in::after { min-height: clamp(460px, 48vw, 590px); }
body .elementor-element-hero-sale-lead { line-height: 1.55 !important; }

.elementor-element-intro-sale {
  padding-block-start: clamp(38px, 4.5vw, 56px) !important;
  padding-block-end: clamp(30px, 3.5vw, 42px) !important;
}
.elementor-element-intro-sale-in { max-width: 820px !important; text-align: center !important; gap: 10px !important; }
.elementor-element-intro-sale-eyebrow { display: none !important; }
.elementor-element-intro-sale-title { font-size: clamp(24px, 3vw, 36px) !important; line-height: 1.34 !important; }
body .elementor-element-intro-sale-copy { line-height: 1.5 !important; }
.elementor-element-team-sale, .elementor-element-values-sale,
.elementor-element-process-sale, .elementor-element-faq-sale { padding-block: clamp(52px, 6vw, 82px) !important; }
.elementor-element-team-sale { padding-block-start: clamp(44px, 5vw, 64px) !important; }
.elementor-element-team-sale-in, .elementor-element-values-sale-in,
.elementor-element-process-sale-in, .elementor-element-faq-sale-in { gap: 24px !important; }
.elementor-element-team-sale-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 36px) !important;
}
body :is(.elementor-element-team-fabian, .elementor-element-team-eva) {
  padding: clamp(26px, 3vw, 36px) !important;
  gap: 10px !important;
  background: rgba(255,255,255,.52) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
}
body :is(.elementor-element-team-fabian-photo, .elementor-element-team-eva-photo) {
  display: none !important;
}
body :is(.elementor-element-team-fabian-name, .elementor-element-team-eva-name) { font-size: 28px !important; font-weight: 600 !important; }
body :is(.elementor-element-team-fabian-role, .elementor-element-team-eva-role) { color: var(--ls-olive) !important; font-size: 11px !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
body :is(.elementor-element-team-fabian-copy, .elementor-element-team-eva-copy) { color: var(--ls-muted) !important; line-height: 1.58 !important; }
.elementor-element-values-sale-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px 48px !important;
}
body :is(.elementor-element-value-attention, .elementor-element-value-communication, .elementor-element-value-market, .elementor-element-value-integral) {
  padding: 22px 0 0 !important;
  border-top: 1px solid var(--ls-border) !important;
  background: transparent !important;
  gap: 8px !important;
}
body :is(.elementor-element-value-attention-title, .elementor-element-value-communication-title, .elementor-element-value-market-title, .elementor-element-value-integral-title) { font-size: 24px !important; font-weight: 600 !important; }
body :is(.elementor-element-value-attention-copy, .elementor-element-value-communication-copy, .elementor-element-value-market-copy, .elementor-element-value-integral-copy) { color: var(--ls-muted) !important; line-height: 1.55 !important; }
.elementor-element-process-sale-in {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 16px !important;
}
body :is(.elementor-element-process-sale-eyebrow, .elementor-element-process-sale-title, .elementor-element-process-sale-copy) {
  grid-column: 1 !important;
  width: 100% !important;
}
body .elementor-element-process-sale-title { max-width: none !important; }
.elementor-element-process-sale-copy {
  padding: 22px 24px !important;
  background: rgba(255,255,255,.5) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 14px !important;
  color: var(--ls-muted) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

/* FAQ rows */
.elementor-element-faq-sale-in,
.elementor-element-faq-rent-in {
  display: grid !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
  align-items: start !important;
  gap: clamp(48px, 8vw, 120px) !important;
}
.elementor-element-faq-sale-in { gap: clamp(38px, 5vw, 76px) !important; }
.elementor-element-faq-sale-in {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
}
body :is(.elementor-element-faq-sale-eyebrow, .elementor-element-faq-sale-title, .elementor-element-faq-sale-grid) {
  grid-column: 1 !important;
  width: 100% !important;
}
body .elementor-element-faq-sale-title { max-width: none !important; }
.elementor-element-faq-sale-grid,
.elementor-element-faq-rent-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border-top: 1px solid var(--ls-border);
}
.elementor-element-faq-sale-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 clamp(30px, 5vw, 72px) !important;
  border-top: 0 !important;
}
.elementor-element-faq-rent-in {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
}
body :is(.elementor-element-faq-rent-eyebrow, .elementor-element-faq-rent-title, .elementor-element-faq-rent-grid) {
  grid-column: 1 !important;
  width: 100% !important;
}
body .elementor-element-faq-rent-title { max-width: none !important; }
.elementor-element-faq-rent-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 clamp(30px, 5vw, 72px) !important;
  border-top: 0 !important;
}
body :is(.elementor-element-faq-price, .elementor-element-faq-volume, .elementor-element-faq-docs, .elementor-element-faq-time,
         .elementor-element-faq-rent-types, .elementor-element-faq-rent-management, .elementor-element-faq-rent-tenants,
         .elementor-element-faq-rent-furniture, .elementor-element-faq-rent-license) {
  padding: 20px 6px !important;
  border-bottom: 1px solid var(--ls-border) !important;
  background: transparent !important;
  gap: 10px !important;
}
body :is(.elementor-element-faq-price, .elementor-element-faq-volume, .elementor-element-faq-docs, .elementor-element-faq-time) {
  padding-inline: 0 !important;
  border-top: 1px solid var(--ls-border) !important;
}
body :is(.elementor-element-faq-rent-types, .elementor-element-faq-rent-management, .elementor-element-faq-rent-tenants,
         .elementor-element-faq-rent-furniture, .elementor-element-faq-rent-license) {
  padding-inline: 0 !important;
  border-top: 1px solid var(--ls-border) !important;
}
body :is(.elementor-element-faq-price-q, .elementor-element-faq-volume-q, .elementor-element-faq-docs-q, .elementor-element-faq-time-q,
         .elementor-element-faq-rent-types-q, .elementor-element-faq-rent-management-q, .elementor-element-faq-rent-tenants-q,
         .elementor-element-faq-rent-furniture-q, .elementor-element-faq-rent-license-q) { font-size: 21px !important; font-weight: 600 !important; }
body :is(.elementor-element-faq-price-a, .elementor-element-faq-volume-a, .elementor-element-faq-docs-a, .elementor-element-faq-time-a,
         .elementor-element-faq-rent-types-a, .elementor-element-faq-rent-management-a, .elementor-element-faq-rent-tenants-a,
         .elementor-element-faq-rent-furniture-a, .elementor-element-faq-rent-license-a) { color: var(--ls-muted) !important; }

body .elementor-element-cta-sale { padding-block: clamp(50px, 6vw, 76px) !important; }
body .elementor-element-cta-sale-in { padding: clamp(36px, 5vw, 60px) !important; gap: 14px !important; }

/* Rental modalities */
.elementor-element-modalities-rent { padding-block: clamp(56px, 6vw, 82px) !important; }
.elementor-element-modalities-rent-in { gap: 18px !important; }
.elementor-element-modalities-rent-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(48px, 6vw, 76px) !important;
  margin-top: 14px;
}
body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday) {
  --rent-gap: clamp(44px, 7vw, 92px);
  position: relative;
  display: grid !important;
  min-height: 500px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, max-content) !important;
  align-content: center !important;
  align-items: start !important;
  column-gap: var(--rent-gap) !important;
  row-gap: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body :is(.elementor-element-rent-long, .elementor-element-rent-holiday) > * { grid-column: 1 !important; }
body .elementor-element-rent-seasonal > * { grid-column: 2 !important; }
body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday)::after {
  content: "";
  position: absolute !important;
  inset-block: 0 !important;
  width: calc((100% - var(--rent-gap)) / 2) !important;
  min-height: 0 !important;
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  box-shadow: var(--ls-shadow);
}
body :is(.elementor-element-rent-long, .elementor-element-rent-holiday)::after { right: 0 !important; left: auto !important; }
body .elementor-element-rent-seasonal::after { right: auto !important; left: 0 !important; }
.elementor-element-rent-long::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/DJI_0010-min.jpg'); }
.elementor-element-rent-seasonal::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/3A1A7977.jpg'); }
.elementor-element-rent-holiday::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/1-1-scaled-1.jpg'); }
body :is(.elementor-element-rent-long-kicker, .elementor-element-rent-seasonal-kicker, .elementor-element-rent-holiday-kicker,
         [data-id="rent-long-kicker"], [data-id="rent-seasonal-kicker"], [data-id="rent-holiday-kicker"]) {
  grid-row: 1 !important;
  font-size: 11px !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
}
body :is(.elementor-element-rent-long-kicker, [data-id="rent-long-kicker"]) { color: var(--ls-olive) !important; }
body :is(.elementor-element-rent-seasonal-kicker, [data-id="rent-seasonal-kicker"]) { color: var(--ls-coral) !important; }
body :is(.elementor-element-rent-holiday-kicker, [data-id="rent-holiday-kicker"]) { color: var(--ls-navy) !important; }
body :is(.elementor-element-rent-long-title, .elementor-element-rent-seasonal-title, .elementor-element-rent-holiday-title,
         [data-id="rent-long-title"], [data-id="rent-seasonal-title"], [data-id="rent-holiday-title"]) {
  display: block !important;
  grid-row: 2 !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--ls-ink) !important;
  font-size: clamp(36px, 4vw, 56px) !important;
  font-weight: 500 !important;
}
body :is(.elementor-element-rent-long-copy, .elementor-element-rent-seasonal-copy, .elementor-element-rent-holiday-copy,
         [data-id="rent-long-copy"], [data-id="rent-seasonal-copy"], [data-id="rent-holiday-copy"]) {
  grid-row: 3 !important;
  max-width: 520px !important;
  color: var(--ls-muted) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
}
body :is(.elementor-element-rent-long-button, .elementor-element-rent-seasonal-button, .elementor-element-rent-holiday-button,
         [data-id="rent-long-button"], [data-id="rent-seasonal-button"], [data-id="rent-holiday-button"]) {
  grid-row: 4 !important;
  width: max-content !important;
  margin-top: 8px !important;
  min-height: 48px !important;
  padding: 13px 25px !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
body :is(.elementor-element-rent-long-button, [data-id="rent-long-button"]) { background: var(--ls-olive) !important; }
body :is(.elementor-element-rent-seasonal-button, [data-id="rent-seasonal-button"]) { background: var(--ls-coral) !important; }
body :is(.elementor-element-rent-holiday-button, [data-id="rent-holiday-button"]) { background: var(--ls-navy) !important; }
.elementor-element-owners-rent { padding-block: clamp(70px, 8vw, 110px) !important; }
.elementor-element-owners-rent-in { max-width: 900px !important; align-items: center !important; text-align: center !important; gap: 20px !important; }
.elementor-element-faq-rent { padding-block: clamp(70px, 8vw, 110px) !important; }

/* Contact */
.elementor-element-hero-contact { padding-block: clamp(64px, 8vw, 104px) !important; }
.elementor-element-hero-contact-in { max-width: 720px !important; margin-left: max(0px, calc((100vw - var(--ls-wide)) / 2)) !important; gap: 18px !important; }
.elementor-element-hero-contact-title {
  font-size: clamp(52px, 5vw, 62px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.02 !important;
}
.elementor-element-contact-main { padding-block: 8px clamp(72px, 8vw, 112px) !important; }
.elementor-element-contact-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr) !important;
  align-items: start !important;
  gap: clamp(36px, 6vw, 84px) !important;
}
.elementor-element-contact-form-panel {
  order: 1;
  padding: clamp(24px, 3vw, 34px) !important;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  box-shadow: var(--ls-shadow);
}
.elementor-element-contact-main-copy { order: 2; gap: 18px !important; }
.elementor-element-contact-details { margin-top: 16px; padding-top: 20px !important; border-top: 1px solid var(--ls-border); gap: 14px !important; }
.elementor-element-contact-email { color: var(--ls-olive) !important; font-size: 18px !important; }
.elementor-element-contact-hours { color: var(--ls-muted) !important; }
.elementor-element-contact-form-panel .elementor-form-fields-wrapper { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.elementor-element-contact-form-panel .elementor-field-group { width: 100% !important; margin: 0 !important; }
.elementor-element-contact-form-panel :is(.elementor-field-group-field_message, .elementor-field-type-acceptance, .elementor-field-type-submit) { grid-column: 1 / -1; }
.elementor-element-contact-form-panel :is(input, select, textarea) {
  min-height: 50px !important;
  padding: 13px 15px !important;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  color: var(--ls-ink) !important;
  font: inherit !important;
  box-shadow: none !important;
}
.elementor-element-contact-form-panel textarea { min-height: 148px !important; }
.elementor-element-contact-form-panel :is(input, select, textarea):focus { border-color: var(--ls-olive) !important; box-shadow: 0 0 0 3px rgba(90,106,72,.12) !important; }
.elementor-element-contact-form-panel .elementor-field-label { margin-bottom: 7px !important; color: var(--ls-muted) !important; font-family: "Jost", sans-serif !important; font-size: 11px !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
.elementor-element-contact-form-panel .elementor-field-type-acceptance { padding-top: 2px; }
.elementor-element-contact-form-panel .elementor-field-type-acceptance .elementor-field-subgroup { width: 100%; }
.elementor-element-contact-form-panel .elementor-field-type-acceptance .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}
.elementor-element-contact-form-panel .elementor-acceptance-field {
  flex: 0 0 19px;
  width: 19px !important;
  height: 19px !important;
  min-height: 19px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 5px !important;
  accent-color: var(--ls-olive);
  cursor: pointer;
}
.elementor-element-contact-form-panel .elementor-field-type-acceptance label {
  color: var(--ls-muted) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  cursor: pointer;
}
.elementor-element-contact-form-panel .elementor-field-type-acceptance label a {
  color: var(--ls-olive) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.elementor-element-contact-form-panel .elementor-button {
  min-height: 49px !important;
  padding: 13px 25px !important;
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
.elementor-element-contact-note { padding-block: clamp(52px, 6vw, 82px) !important; }
.elementor-element-contact-note-in { max-width: 860px !important; text-align: center !important; align-items: center !important; gap: 16px !important; }

/* Archive */
.elementor-element-archive-hero { padding-block: clamp(64px, 8vw, 104px) !important; }
.elementor-element-archive-hero-in { max-width: 760px !important; margin-left: max(0px, calc((100vw - var(--ls-wide)) / 2)) !important; gap: 18px !important; }
.elementor-element-archive-title { font-size: clamp(52px, 5vw, 62px) !important; line-height: 1.02 !important; letter-spacing: -.035em !important; }
.elementor-element-archive-catalogue { padding-block: 18px clamp(72px, 8vw, 112px) !important; }
.elementor-element-archive-filter-note,
body [data-id="archive-filter-note"] { display: none !important; }

/* Property finder */
.elementor-element-archive-filters {
  position: relative;
  width: 100% !important;
  margin: 0 0 34px !important;
  padding: 24px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto !important;
  gap: 16px !important;
  align-items: end !important;
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid var(--ls-border) !important;
  border-top: 3px solid var(--ls-olive) !important;
  border-radius: var(--ls-radius) !important;
  box-shadow: var(--ls-shadow);
}
.elementor-element-archive-filters > .elementor-widget { min-width: 0; }
.elementor-element-archive-filters :is(.elementor-widget-container, .jet-smart-filters-select, .jet-select) {
  width: 100% !important;
  max-width: none !important;
  flex-basis: auto !important;
}
.elementor-element-archive-filters .jet-filter-label {
  margin: 0 0 10px;
  color: var(--ls-olive);
  font-family: "Jost", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}
.elementor-element-archive-filters .jet-select { position: relative; }
.elementor-element-archive-filters .jet-select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 8px;
  height: 8px;
  margin-top: -7px;
  border-right: 2px solid var(--ls-ink);
  border-bottom: 2px solid var(--ls-ink);
  transform: rotate(45deg);
  pointer-events: none;
}
.elementor-element-archive-filters .jet-select__control {
  width: 100% !important;
  height: 64px !important;
  min-height: 64px !important;
  padding: 0 50px 0 20px !important;
  -webkit-appearance: none;
  appearance: none;
  background: #fbfaf7 !important;
  border: 1px solid #ddd7cd !important;
  border-radius: 14px !important;
  color: var(--ls-ink) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: -.01em;
  line-height: 1.25;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85) !important;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.elementor-element-archive-filters .jet-select__control:hover {
  background: #fff !important;
  border-color: #cbc5ba !important;
}
.elementor-element-archive-filters .jet-select__control:focus {
  background: #fff !important;
  border-color: var(--ls-olive) !important;
  box-shadow: 0 0 0 3px rgba(90, 106, 72, .12) !important;
  outline: 0 !important;
}
.elementor-element-filter-reset { align-self: end; }
.elementor-element-filter-reset .jet-remove-all-filters__button {
  min-height: 64px;
  padding: 0 26px;
  white-space: nowrap;
  background: var(--ls-navy);
  border: 1px solid var(--ls-navy);
  border-radius: 999px;
  color: #fff;
  font-family: "Jost", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.elementor-element-filter-reset .jet-remove-all-filters__button:hover {
  background: var(--ls-olive);
  border-color: var(--ls-olive);
  transform: translateY(-1px);
}
@media (max-width: 1100px) {
  .elementor-element-archive-filters { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .elementor-element-filter-reset { grid-column: 1 / -1; }
  .elementor-element-filter-reset .jet-remove-all-filters__button { width: 100%; }
}
@media (max-width: 620px) {
  .elementor-element-archive-filters {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 18px !important;
    border-radius: 14px !important;
  }
  .elementor-element-filter-reset { grid-column: auto; }
}

/* Property cards */
.elementor-element-property-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  overflow: hidden;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  box-shadow: none !important;
  transition: transform .28s ease, box-shadow .28s ease;
}
.elementor-element-property-card:hover { transform: translateY(-5px); box-shadow: var(--ls-shadow) !important; }
.elementor-element-property-card-image { width: 100% !important; aspect-ratio: 4 / 3; overflow: hidden; }
.elementor-element-property-card-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .5s ease; }
.elementor-element-property-card:hover .elementor-element-property-card-image img { transform: scale(1.025); }
.elementor-element-property-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 20px 22px 24px !important;
  gap: 10px !important;
}
.elementor-element-property-card-operation {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  width: max-content !important;
  padding: 6px 11px !important;
  background: var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-property-card-location { color: var(--ls-muted) !important; font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase !important; }
.elementor-element-property-card-title { font-size: 24px !important; font-weight: 600 !important; line-height: 1.2 !important; }
.elementor-element-property-card-title .ls-property-card-title-link,
body [data-id="property-card-title"] .ls-property-card-title-link {
  color: inherit !important;
  text-decoration: none !important;
  transition: color .2s ease;
}
.elementor-element-property-card-title .ls-property-card-title-link:hover,
body [data-id="property-card-title"] .ls-property-card-title-link:hover {
  color: var(--ls-olive) !important;
}
.elementor-element-property-card-title .ls-property-card-title-link:focus-visible,
body [data-id="property-card-title"] .ls-property-card-title-link:focus-visible {
  color: var(--ls-olive) !important;
  outline: 2px solid var(--ls-olive);
  outline-offset: 4px;
  border-radius: 2px;
}
.elementor-element-property-card-facts {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--ls-border);
}
body :is(.elementor-element-property-card-rooms, .elementor-element-property-card-baths, .elementor-element-property-card-capacity) { color: var(--ls-muted) !important; font-size: 13px !important; }
.elementor-element-property-card-price { margin-top: 5px; font-size: 22px !important; font-weight: 600 !important; white-space: pre-line; }
.elementor-element-property-card-link,
body [data-id="property-card-link"] {
  align-self: flex-start !important;
  min-height: 48px !important;
  margin-top: auto !important;
  padding: 13px 25px !important;
  border: 1.5px solid #9e978b !important;
  border-radius: 999px !important;
  color: var(--ls-navy) !important;
  font-weight: 600 !important;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease !important;
}
.elementor-element-property-card-link:hover,
body [data-id="property-card-link"]:hover,
.elementor-element-property-card-link:focus-visible,
body [data-id="property-card-link"]:focus-visible {
  background: var(--ls-navy) !important;
  border-color: var(--ls-navy) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(25, 52, 67, .16) !important;
}
.elementor-element-property-rates-enhancer { display: none !important; }

/* Friendly seasonal-rate table */
.e-loop-item.tipo_operacion-alquiler-vacacional .elementor-element-property-card-price {
  width: 100% !important;
  margin: 9px 0 5px !important;
  padding: 14px 16px !important;
  background: #f7f6f2 !important;
  border: 1px solid #e2ddd4 !important;
  border-radius: 16px !important;
  font-family: "Jost", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}
.e-loop-item .elementor-element-property-card-price[data-rates-enhanced="true"],
body [data-id="property-card-price"][data-rates-enhanced="true"] {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 9px 0 5px !important;
  padding: 14px 16px 8px !important;
  gap: 8px !important;
  overflow: hidden;
  background: #f7f6f2 !important;
  border: 1px solid #e2ddd4 !important;
  border-radius: 16px !important;
  font-family: "Jost", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}
.ls-rate-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 3px;
  color: var(--ls-olive);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ls-rate-label::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  background: var(--ls-olive);
  border-radius: 50%;
}
.ls-rate-list {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.ls-rate-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  min-height: 36px;
  padding: 8px 0 7px;
  border-top: 1px solid #e2ddd4;
}
.ls-rate-period {
  min-width: 0;
  color: #5f625e;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.3;
}
.ls-rate-value {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: 4px;
  color: var(--ls-ink);
  white-space: nowrap;
}
.ls-rate-value strong {
  color: var(--ls-ink);
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  letter-spacing: -.02em;
}
.ls-rate-value small {
  color: var(--ls-muted);
  font-size: 10.5px;
  font-weight: 400;
}

@media (max-width: 620px) {
  .e-loop-item .elementor-element-property-card-price[data-rates-enhanced="true"],
  body [data-id="property-card-price"][data-rates-enhanced="true"] {
    padding-inline: 14px !important;
  }
  .ls-rate-row { gap: 10px; }
  .ls-rate-period { font-size: 13px; }
  .ls-rate-value strong { font-size: 16px; }
}

/* Single property */
.elementor-element-single-property-hero { padding-block: clamp(54px, 7vw, 94px) 38px !important; }
.elementor-element-single-property-hero-in { gap: 18px !important; }
.elementor-element-single-property-title { max-width: 18ch !important; font-size: clamp(50px, 5vw, 62px) !important; font-weight: 500 !important; line-height: 1.02 !important; letter-spacing: -.035em !important; }
.elementor-element-single-property-image { width: 100% !important; margin-top: 26px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 22px; border: 1px solid var(--ls-border); }
.elementor-element-single-property-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.elementor-element-single-property-facts { padding-block: 0 54px !important; border-top: 0 !important; }
.elementor-element-single-property-facts-row {
  padding: 22px 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  overflow: hidden;
}
body :is(.elementor-element-single-property-rooms, .elementor-element-single-property-baths, .elementor-element-single-property-capacity, .elementor-element-single-property-minimum) {
  padding: 10px 22px !important;
  border-right: 1px solid var(--ls-border);
  color: var(--ls-ink) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-align: center;
}
.elementor-element-single-property-minimum { border-right: 0; }
.elementor-element-single-property-content { padding-block: clamp(66px, 8vw, 108px) !important; }
.elementor-element-single-property-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr) !important;
  align-items: start !important;
  gap: clamp(42px, 7vw, 96px) !important;
}
.elementor-element-single-property-main { gap: 34px !important; }
.elementor-element-single-property-post-content { color: var(--ls-muted); font-size: 19px; line-height: 1.7; }
.elementor-element-single-property-gallery-title { margin-top: 12px; font-size: 36px !important; }
.elementor-element-single-property-gallery { width: 100%; overflow: hidden; border-radius: var(--ls-radius); }
.ls-property-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.ls-property-gallery-item {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 1px solid var(--ls-border);
  border-radius: 12px;
  background: #eeeae3;
}
.ls-property-gallery-image {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}
.ls-property-gallery-item:hover .ls-property-gallery-image { transform: scale(1.025); }
@media (max-width: 1024px) {
  .ls-property-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ls-property-gallery-grid { grid-template-columns: 1fr; }
}
body :is(.elementor-element-single-property-features, .elementor-element-single-property-services, .elementor-element-single-property-distances) {
  padding: 28px 0 0 !important;
  border-top: 1px solid var(--ls-border) !important;
  gap: 10px !important;
}
body :is(.elementor-element-single-property-features-title, .elementor-element-single-property-services-title, .elementor-element-single-property-distances-title, .elementor-element-single-property-conditions-title) { font-size: 24px !important; font-weight: 600 !important; }
body :is(.elementor-element-single-property-features-value, .elementor-element-single-property-services-value, .elementor-element-single-property-distances-value, .elementor-element-single-property-conditions-value) { color: var(--ls-muted) !important; line-height: 1.7 !important; white-space: pre-line; }
.elementor-element-single-property-sidebar {
  position: sticky;
  top: 118px;
  padding: 30px !important;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  box-shadow: var(--ls-shadow);
  gap: 18px !important;
}
.elementor-element-single-property-price-label { color: var(--ls-muted) !important; font-size: 11px !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
.elementor-element-single-property-price { font-size: 32px !important; font-weight: 600 !important; white-space: pre-line; }
.elementor-element-single-property-conditions { padding-top: 20px !important; border-top: 1px solid var(--ls-border); gap: 10px !important; }

/* Footer */
.elementor-element-site-footer {
  padding-inline: var(--ls-gutter) !important;
  background: #f5f3ee !important;
  border-top: 1px solid var(--ls-border) !important;
  color: var(--ls-ink) !important;
}
.elementor-element-site-footer-in {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: var(--ls-wide) !important;
  margin-inline: auto !important;
  padding-block: clamp(62px, 7vw, 82px) 30px !important;
  gap: 44px !important;
}
.elementor-element-site-footer-top {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(300px, 1.45fr) repeat(3, minmax(150px, 1fr)) !important;
  gap: clamp(34px, 5vw, 72px) !important;
  align-items: start !important;
}
.elementor-element-site-footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
}
.elementor-element-site-footer-logo {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 34px;
  padding-left: 48px !important;
  gap: 2px !important;
  color: inherit !important;
  text-decoration: none !important;
}
.elementor-element-site-footer-logo::before { width: 34px; height: 34px; }
.elementor-element-site-footer-copy {
  max-width: 35ch;
  margin: 4px 0 0 !important;
  color: var(--ls-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}
.elementor-element-site-footer-signature {
  position: relative;
  margin-top: 2px !important;
  padding-left: 42px !important;
  color: var(--ls-olive) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
}
.elementor-element-site-footer-signature::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 1px;
  background: var(--ls-olive);
}
body :is(.elementor-element-footer-services, .elementor-element-footer-company, .elementor-element-footer-contact) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px !important;
}
body [class*="elementor-element-footer-label-"] { margin-bottom: 12px !important; }
body [class*="elementor-element-footer-link-"] {
  color: var(--ls-ink) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
}
body [class*="elementor-element-footer-link-"]:hover {
  color: var(--ls-olive) !important;
  transform: translateX(3px);
}
.elementor-element-footer-link-email {
  overflow-wrap: anywhere;
  color: var(--ls-olive) !important;
}
.elementor-element-site-footer-regulatory {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) !important;
  gap: clamp(28px, 5vw, 72px) !important;
  padding: clamp(24px, 3vw, 32px) !important;
  background: rgba(255, 255, 255, .54) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 18px !important;
}
body :is(.elementor-element-footer-registration, .elementor-element-footer-complaints) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}
body :is(.elementor-element-footer-reg-label, .elementor-element-footer-complaints-label) {
  color: var(--ls-olive) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}
.elementor-element-footer-reg-title {
  color: var(--ls-ink) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  line-height: 1.35 !important;
}
body :is(.elementor-element-footer-reg-copy, .elementor-element-footer-complaints-link) {
  max-width: 58ch;
  color: var(--ls-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
}
.elementor-element-footer-complaints-link {
  position: relative;
  padding-right: 30px !important;
}
.elementor-element-footer-complaints-link::after {
  content: "↗";
  position: absolute;
  right: 0;
  top: 0;
  color: var(--ls-olive);
  font-size: 18px;
  line-height: 1;
  transition: transform .2s ease;
}
.elementor-element-footer-complaints-link:hover::after { transform: translate(2px, -2px); }
.elementor-element-footer-complaints-link a {
  color: inherit !important;
  text-decoration: underline;
  text-decoration-color: rgba(90, 106, 72, .46);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.elementor-element-footer-complaints-link a:hover { color: var(--ls-olive) !important; }
.elementor-element-site-footer-bottom {
  width: 100% !important;
  padding-top: 24px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border-top: 1px solid var(--ls-border);
}
.elementor-element-footer-legal-links {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
}
body :is(.elementor-element-footer-link-legal, .elementor-element-footer-link-privacy) {
  color: var(--ls-muted) !important;
  font-size: 13px !important;
}
body :is(.elementor-element-footer-copyright, .elementor-element-footer-location) { color: var(--ls-muted) !important; font-size: 13px !important; }

/* Legal pages */
.elementor-element-legal-page {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  background: #fff !important;
}
.elementor-element-legal-hero {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  padding: clamp(68px, 8vw, 108px) var(--ls-gutter) clamp(52px, 6vw, 78px) !important;
  background: #f5f3ee !important;
  border-bottom: 1px solid var(--ls-border) !important;
}
.elementor-element-legal-hero-in {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: var(--ls-wide) !important;
  gap: 16px !important;
}
.elementor-element-legal-eyebrow {
  color: var(--ls-olive) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
.elementor-element-legal-title {
  max-width: 15ch;
  color: var(--ls-ink) !important;
  font-size: clamp(48px, 5vw, 62px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.02 !important;
}
.elementor-element-legal-lead {
  max-width: 62ch;
  color: var(--ls-muted) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
}
.elementor-element-legal-updated {
  margin-top: 8px !important;
  color: var(--ls-muted) !important;
  font-size: 12px !important;
  letter-spacing: .04em !important;
}
.elementor-element-legal-main {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  padding: clamp(62px, 7vw, 94px) var(--ls-gutter) clamp(82px, 9vw, 128px) !important;
}
.elementor-element-legal-main-in {
  display: grid !important;
  grid-template-columns: minmax(250px, 290px) minmax(0, 1fr) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 1180px !important;
  gap: clamp(46px, 7vw, 88px) !important;
}
.elementor-element-legal-sidebar {
  position: sticky;
  top: 118px;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 28px !important;
  gap: 16px !important;
  background: #f8f7f3 !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 48px rgba(30,58,76,.06);
}
.elementor-element-legal-sidebar-label {
  color: var(--ls-olive) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
.elementor-element-legal-sidebar-name {
  margin-bottom: 2px !important;
  color: var(--ls-ink) !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
}
body :is(
  .elementor-element-legal-sidebar-trade,
  .elementor-element-legal-sidebar-nif,
  .elementor-element-legal-sidebar-address,
  .elementor-element-legal-sidebar-domain
) {
  color: var(--ls-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}
.elementor-element-legal-sidebar strong {
  color: var(--ls-ink) !important;
  font-weight: 500 !important;
}
body :is(.elementor-element-legal-sidebar-phone, .elementor-element-legal-sidebar-email) {
  color: var(--ls-olive) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.elementor-element-legal-content {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
}
body [class*="elementor-element-legal-section-"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding-bottom: 38px !important;
  margin-bottom: 38px !important;
  gap: 15px !important;
  border-bottom: 1px solid var(--ls-border) !important;
}
body [class*="elementor-element-legal-section-"]:last-of-type {
  margin-bottom: 20px !important;
}
body [class*="elementor-element-legal-heading-"] {
  margin-bottom: 4px !important;
  color: var(--ls-ink) !important;
  font-size: clamp(24px, 2.5vw, 30px) !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
  line-height: 1.18 !important;
}
.elementor-element-legal-content p {
  max-width: 76ch;
  color: var(--ls-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.78 !important;
}
.elementor-element-legal-content strong {
  color: var(--ls-ink) !important;
  font-weight: 500 !important;
}
.elementor-element-legal-official-source {
  width: max-content;
  max-width: 100%;
  padding: 11px 17px !important;
  color: var(--ls-olive) !important;
  background: #f5f3ee !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 999px !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
}

@media (max-width: 860px) {
  .elementor-element-legal-main-in { grid-template-columns: 1fr !important; }
  .elementor-element-legal-sidebar {
    position: static;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
  }
  .elementor-element-legal-sidebar-name { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .elementor-element-legal-hero { padding-block: 54px 46px !important; }
  .elementor-element-legal-title { font-size: clamp(42px, 13vw, 52px) !important; }
  .elementor-element-legal-lead { font-size: 16px !important; }
  .elementor-element-legal-main { padding-block: 52px 82px !important; }
  .elementor-element-legal-sidebar { display: flex !important; }
  body [class*="elementor-element-legal-section-"] { padding-bottom: 30px !important; margin-bottom: 30px !important; }
}

/* Focus and motion */
body :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--ls-olive) !important; outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  .elementor-element-property-card,
  body :is(.elementor-element-service-venta, .elementor-element-service-larga, .elementor-element-service-temporal, .elementor-element-service-vacacional) { transition-duration: .28s; }
}

@media (max-width: 1100px) {
  .elementor-element-site-header-in {
    min-height: 78px !important;
    padding-inline: 24px !important;
    grid-template-columns: minmax(210px, 1fr) repeat(5, max-content) minmax(210px, 1fr) !important;
    column-gap: 18px !important;
  }
  .elementor-element-site-brand { min-width: 0; }
  body [data-id^="nav-"] { font-size: 12px !important; }
  body :is(.elementor-element-nav-home, .elementor-element-nav-sale, .elementor-element-nav-rent, .elementor-element-nav-properties, .elementor-element-nav-faq, .elementor-element-nav-contact) { font-size: 11px !important; }
  .elementor-element-services-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .elementor-element-site-footer-top { grid-template-columns: minmax(280px, 1.3fr) repeat(3, minmax(130px, 1fr)) !important; gap: 34px !important; }
}

@media (max-width: 860px) {
  .admin-bar .elementor-location-header { top: 46px; }
  .elementor-element-site-header-in { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 10px !important; padding-block: 12px !important; }
  .elementor-element-site-brand { min-width: 0; margin-left: 0 !important; align-self: center; }
  .elementor-element-site-nav {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow-x: auto;
    padding: 3px 0 5px;
    scrollbar-width: none;
  }
  .elementor-element-site-nav::-webkit-scrollbar { display: none; }
  .elementor-element-nav-talk { display: none !important; }
  .elementor-element-hero-home-in,
  body :is(.elementor-element-hero-sale-in, .elementor-element-hero-rent-in),
  .elementor-element-philosophy-home-in,
  .elementor-element-process-sale-in,
  .elementor-element-faq-sale-in,
  .elementor-element-faq-rent-in,
  .elementor-element-contact-main-grid,
  .elementor-element-single-property-layout { grid-template-columns: 1fr !important; }
  .elementor-element-site-footer-top { grid-template-columns: minmax(250px, 1.3fr) minmax(180px, 1fr) !important; }
  .elementor-element-site-footer-regulatory { grid-template-columns: 1fr !important; }
  .elementor-element-hero-home-in::after,
  .elementor-element-hero-sale-in::after,
  .elementor-element-hero-rent-in::after { grid-column: 1; grid-row: 5; min-height: 520px; margin-top: 20px; }
  body .elementor-element-hero-sale-in::after { min-height: 450px; }
  .elementor-element-philosophy-home-in::before { grid-column: 1; grid-row: 1; min-height: 500px; margin-bottom: 24px; }
  .elementor-element-philosophy-home-eyebrow,
  .elementor-element-philosophy-home-title,
  .elementor-element-philosophy-home-copy,
  .elementor-element-philosophy-home-copy-two { grid-column: 1; }
  .elementor-element-philosophy-home-eyebrow { grid-row: 2; }
  .elementor-element-philosophy-home-title { grid-row: 3; }
  .elementor-element-philosophy-home-copy { grid-row: 4; }
  .elementor-element-philosophy-home-copy-two { grid-row: 5; }
  .elementor-element-pillars-home-grid,
  .elementor-element-team-sale-grid,
  .elementor-element-values-sale-grid { grid-template-columns: 1fr !important; }
  body :is(.elementor-element-team-fabian, .elementor-element-team-eva) { padding: 26px !important; }
  body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday) {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    flex-basis: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday) > * {
    max-width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  body :is([data-id="rent-long-button"], [data-id="rent-seasonal-button"], [data-id="rent-holiday-button"]) {
    align-self: flex-start !important;
    width: max-content !important;
  }
  body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday)::after {
    position: static !important;
    display: block !important;
    order: 5 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: clamp(320px, 110vw, 430px) !important;
    margin-top: 18px;
  }
  .elementor-element-contact-form-panel { order: 1; }
  .elementor-element-contact-main-copy { order: 2; }
  .elementor-element-single-property-sidebar { position: static; }
  .elementor-element-site-footer-brand { max-width: 520px; }
}

@media (max-width: 620px) {
  :root { --ls-gutter: 20px; }
  .admin-bar .elementor-location-header { top: 0; }
  .elementor-element-site-brand-title { font-size: 18px !important; }
  .elementor-element-site-brand-subtitle { font-size: 7.5px !important; }
  .elementor-element-site-nav { gap: 16px !important; }
  body :is(.elementor-element-nav-home, .elementor-element-nav-sale, .elementor-element-nav-rent, .elementor-element-nav-properties, .elementor-element-nav-faq, .elementor-element-nav-contact) { font-size: 10.5px !important; white-space: nowrap; }
  .elementor-element-hero-home-title { max-width: 10ch; font-size: clamp(48px, 15vw, 62px) !important; }
  body :is(.elementor-element-hero-sale-title, .elementor-element-hero-rent-title, .elementor-element-hero-contact-title, .elementor-element-archive-title, .elementor-element-single-property-title) { font-size: clamp(44px, 13vw, 62px) !important; }
  .elementor-element-hero-home-in::after,
  .elementor-element-hero-sale-in::after,
  .elementor-element-hero-rent-in::after { min-height: 430px; }
  body .elementor-element-hero-sale-in::after { min-height: 390px; }
  .elementor-element-faq-sale-grid,
  .elementor-element-faq-rent-grid { grid-template-columns: 1fr !important; }
  .elementor-element-process-sale-copy { padding: 20px !important; }
  .elementor-element-services-home-grid { grid-template-columns: 1fr !important; }
  body :is(.elementor-element-service-venta, .elementor-element-service-larga, .elementor-element-service-temporal, .elementor-element-service-vacacional) { min-height: 270px !important; }
  .elementor-element-philosophy-home-in::before { min-height: 420px; }
  body :is(.elementor-element-team-fabian-photo, .elementor-element-team-eva-photo) { min-height: 470px !important; }
  .elementor-element-contact-form-panel .elementor-form-fields-wrapper { grid-template-columns: 1fr; }
  .elementor-element-contact-form-panel .elementor-field-group { grid-column: 1 !important; }
  .elementor-element-single-property-facts-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body :is(.elementor-element-single-property-rooms, .elementor-element-single-property-baths, .elementor-element-single-property-capacity, .elementor-element-single-property-minimum) { border-bottom: 1px solid var(--ls-border); }
  .elementor-element-single-property-baths,
  .elementor-element-single-property-minimum { border-right: 0; }
  .elementor-element-single-property-capacity,
  .elementor-element-single-property-minimum { border-bottom: 0 !important; }
  .elementor-element-single-property-image { aspect-ratio: 4 / 3; }
  .elementor-element-site-footer-top { grid-template-columns: 1fr !important; gap: 32px !important; }
  .elementor-element-site-footer-bottom { flex-direction: column !important; }
}

/* Compact, accessible mobile navigation */
.ls-mobile-menu-toggle { display: none !important; }
.ls-screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 860px) {
  html.ls-mobile-menu-ready .elementor-element-site-header-in {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 50px !important;
    min-height: 74px !important;
    padding: 10px 18px !important;
    gap: 12px !important;
    align-items: center !important;
  }
  html.ls-mobile-menu-ready .elementor-element-site-brand {
    width: max-content !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 40px !important;
    align-self: center !important;
    justify-self: start !important;
  }
  html.ls-mobile-menu-ready .elementor-element-site-brand::before {
    width: 29px;
    height: 29px;
  }
  html.ls-mobile-menu-ready .ls-mobile-menu-toggle {
    position: relative;
    display: inline-flex !important;
    width: 50px;
    height: 50px;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    justify-self: end;
    background: var(--ls-navy) !important;
    border: 1px solid var(--ls-navy) !important;
    border-radius: 50% !important;
    color: #fff !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color .22s ease, border-color .22s ease, transform .22s ease !important;
  }
  html.ls-mobile-menu-ready .ls-mobile-menu-toggle:hover,
  html.ls-mobile-menu-ready .ls-mobile-menu-toggle:focus-visible {
    background: var(--ls-olive) !important;
    border-color: var(--ls-olive) !important;
  }
  .ls-mobile-menu-icon {
    position: relative;
    display: grid;
    width: 20px;
    height: 16px;
    align-content: space-between;
  }
  .ls-mobile-menu-icon span {
    display: block;
    width: 20px;
    height: 1.5px;
    background: currentColor;
    border-radius: 999px;
    transform-origin: center;
    transition: transform .22s ease, opacity .18s ease !important;
  }
  .elementor-location-header.is-menu-open .ls-mobile-menu-icon span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .elementor-location-header.is-menu-open .ls-mobile-menu-icon span:nth-child(2) { opacity: 0; }
  .elementor-location-header.is-menu-open .ls-mobile-menu-icon span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  html.ls-mobile-menu-ready .elementor-element-site-nav {
    position: absolute !important;
    top: calc(100% + 8px);
    left: 18px;
    right: 18px;
    z-index: 15;
    display: flex !important;
    width: auto !important;
    max-height: calc(100vh - 118px);
    padding: 10px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid var(--ls-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 54px rgba(25, 52, 67, .18) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px) scale(.985);
    transform-origin: top right;
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease !important;
  }
  html.ls-mobile-menu-ready .elementor-location-header.is-menu-open .elementor-element-site-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }
  html.ls-mobile-menu-ready body [data-id^="nav-"] {
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 13px 14px !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border-bottom: 1px solid rgba(222, 217, 208, .72) !important;
    color: var(--ls-ink) !important;
    font-size: 13px !important;
  }
  html.ls-mobile-menu-ready body [data-id="nav-contact"] {
    display: flex !important;
    margin-top: 8px !important;
    justify-content: center !important;
    background: var(--ls-navy) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
  }
  html.ls-mobile-menu-ready body [data-id="nav-talk"] { display: none !important; }
  html.ls-mobile-menu-ready body [data-id="nav-faq"] { border-bottom: 0 !important; }
}

/* Navigation, anchors and final accessibility pass */
body :is(
  .elementor-element-cta-home-eyebrow, .elementor-element-cta-sale-eyebrow,
  .elementor-element-cta-rent-eyebrow, [data-id="cta-home-eyebrow"],
  [data-id="cta-sale-eyebrow"], [data-id="cta-rent-eyebrow"],
  .elementor-element-contact-note-eyebrow, [data-id="contact-note-eyebrow"]
) { color: #d8c8a8 !important; }
body :is(
  .elementor-element-cta-home-copy, .elementor-element-cta-sale-copy,
  .elementor-element-cta-rent-copy, .elementor-element-single-property-cta-copy,
  [data-id="cta-home-copy"], [data-id="cta-sale-copy"],
  [data-id="cta-rent-copy"], [data-id="single-property-cta-copy"],
  .elementor-element-contact-note-copy, [data-id="contact-note-copy"]
) { color: rgba(255, 255, 255, .86) !important; }
body [data-id="single-property-cta-button"] {
  background: transparent !important;
  border-color: rgba(255, 255, 255, .64) !important;
  color: #fff !important;
}
body [data-id="single-property-cta-button"]:hover,
body [data-id="single-property-cta-button"]:focus-visible {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--ls-navy) !important;
  transform: translateY(-2px);
}

#larga, #temporal, #vacacional, #equipo, #faq, #faq-alquiler {
  scroll-margin-top: clamp(94px, 10vw, 132px);
}

body :is(
  .elementor-element-service-venta, .elementor-element-service-larga,
  .elementor-element-service-temporal, .elementor-element-service-vacacional
) {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}
body :is(
  .elementor-element-service-venta, .elementor-element-service-larga,
  .elementor-element-service-temporal, .elementor-element-service-vacacional
):focus-visible {
  outline: 3px solid var(--ls-olive) !important;
  outline-offset: 4px;
}

.elementor-location-header { position: relative; }

.elementor-element-contact-email,
.elementor-element-contact-email a,
body [data-id="contact-email"],
body [data-id="contact-email"] a {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.elementor-element-contact-form-panel :is(input, select, textarea) {
  border-color: #9a9489 !important;
}
.elementor-element-contact-form-panel :is(input, select, textarea):focus {
  border-color: var(--ls-olive) !important;
  box-shadow: 0 0 0 3px rgba(90, 106, 72, .16) !important;
}

.e-loop-nothing-found-message,
.elementor-widget-loop-grid .e-loop-nothing-found-message {
  width: 100%;
  margin: 26px 0 10px;
  padding: clamp(28px, 4vw, 44px);
  background: #fff;
  border: 1px solid var(--ls-border);
  border-left: 4px solid var(--ls-olive);
  border-radius: var(--ls-radius);
  color: var(--ls-ink);
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.45;
  text-align: center;
}

@media (max-width: 520px) {
  .elementor-element-contact-email,
  .elementor-element-contact-email a,
  body [data-id="contact-email"],
  body [data-id="contact-email"] a {
    font-size: 16px !important;
    letter-spacing: -.01em !important;
    line-height: 1.35 !important;
  }
}

/* Property editorial redesign -------------------------------------------------- */
body.single-propiedades {
  background: var(--ls-bg);
}

body.single-propiedades .elementor-element-single-property-hero {
  padding-block: clamp(54px, 6.5vw, 92px) clamp(64px, 7vw, 92px) !important;
  background: #f7f5f0 !important;
  overflow: hidden;
}
body.single-propiedades .elementor-element-single-property-hero-in {
  display: grid !important;
  grid-template-columns: minmax(0, 4.4fr) minmax(0, 7.6fr) !important;
  grid-template-rows: auto auto 1fr !important;
  align-items: center !important;
  gap: 18px clamp(42px, 6vw, 88px) !important;
}
body.single-propiedades [data-id="single-property-operation"] {
  grid-column: 1 !important;
  align-self: end;
  width: max-content;
  padding: 9px 14px !important;
  background: rgba(90, 106, 72, .09);
  border-radius: 999px;
}
body.single-propiedades [data-id="single-property-title"] {
  grid-column: 1 !important;
  max-width: 10ch !important;
  color: var(--ls-ink) !important;
  font-size: clamp(52px, 5.3vw, 76px) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
  text-wrap: balance;
}
body.single-propiedades [data-id="single-property-subtitle"] {
  grid-column: 1 !important;
  align-self: start;
  max-width: 31ch;
  margin-top: 8px;
  color: #777169 !important;
  font-size: clamp(17px, 1.4vw, 20px) !important;
  line-height: 1.55 !important;
}
body.single-propiedades .elementor-element-single-property-image {
  grid-column: 2 !important;
  grid-row: 1 / 4 !important;
  width: 100% !important;
  min-height: clamp(520px, 48vw, 680px);
  margin: 0 !important;
  aspect-ratio: 1.16 / 1 !important;
  border: 0 !important;
  border-radius: 26px 26px 96px 26px !important;
  box-shadow: 0 28px 70px -40px rgba(32, 50, 61, .42);
}
body.single-propiedades .elementor-element-single-property-image::after {
  content: "Mallorca · Local Soul";
  position: absolute;
  right: 24px;
  bottom: 22px;
  z-index: 2;
  padding: 8px 12px;
  background: rgba(30, 58, 76, .78);
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 999px;
  color: #fff;
  font: 500 10px/1.2 "Jost", sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

body.single-propiedades .elementor-element-single-property-facts {
  position: relative;
  z-index: 3;
  padding-block: 0 clamp(54px, 6vw, 76px) !important;
  background: #fff !important;
}
body.single-propiedades .elementor-element-single-property-facts-row {
  margin-top: -34px !important;
  padding: 0 !important;
  background: var(--ls-navy) !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: 0 24px 55px -32px rgba(30, 58, 76, .65) !important;
  overflow: hidden;
}
body.single-propiedades :is(
  [data-id="single-property-rooms"], [data-id="single-property-baths"],
  [data-id="single-property-capacity"], [data-id="single-property-minimum"],
  [data-id="single-property-built-area"], [data-id="single-property-plot-area"]
) {
  position: relative;
  min-height: 104px;
  padding: 28px 22px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-right: 1px solid rgba(255, 255, 255, .16) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-align: left;
}
body.single-propiedades :is(
  [data-id="single-property-rooms"], [data-id="single-property-baths"],
  [data-id="single-property-capacity"], [data-id="single-property-minimum"],
  [data-id="single-property-built-area"], [data-id="single-property-plot-area"]
)::before {
  content: "";
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  background: var(--ls-mares);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
body.single-propiedades [data-id="single-property-rooms"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7v11M21 18v-6a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v6M3 14h18M7 9V6h5a3 3 0 0 1 3 3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7v11M21 18v-6a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v6M3 14h18M7 9V6h5a3 3 0 0 1 3 3'/%3E%3C/svg%3E");
}
body.single-propiedades [data-id="single-property-baths"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18v2a5 5 0 0 1-5 5H8a5 5 0 0 1-5-5v-2ZM7 12V6a3 3 0 0 1 5.4-1.8M6 19v2M18 19v2M11 7h4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18v2a5 5 0 0 1-5 5H8a5 5 0 0 1-5-5v-2ZM7 12V6a3 3 0 0 1 5.4-1.8M6 19v2M18 19v2M11 7h4'/%3E%3C/svg%3E");
}
body.single-propiedades [data-id="single-property-capacity"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}
body.single-propiedades [data-id="single-property-minimum"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 17h.01M12 17h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 17h.01M12 17h.01'/%3E%3C/svg%3E");
}
body.single-propiedades [data-id="single-property-built-area"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4zM4 9h4M4 14h3M9 4v4M14 4v3M19 4v4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4zM4 9h4M4 14h3M9 4v4M14 4v3M19 4v4'/%3E%3C/svg%3E");
}
body.single-propiedades [data-id="single-property-plot-area"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 6 6-3 6 3 6-3v15l-6 3-6-3-6 3V6ZM9 3v15M15 6v15'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 6 6-3 6 3 6-3v15l-6 3-6-3-6 3V6ZM9 3v15M15 6v15'/%3E%3C/svg%3E");
}
body.single-propiedades :is([data-id="single-property-minimum"], [data-id="single-property-plot-area"]) { border-right: 0 !important; }

body.single-propiedades .elementor-element-single-property-content {
  padding-block: clamp(72px, 8vw, 112px) !important;
  background: var(--ls-bg) !important;
}
body.single-propiedades .elementor-element-single-property-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 388px) !important;
  gap: clamp(44px, 6vw, 86px) !important;
}
body.single-propiedades .elementor-element-single-property-main {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  min-width: 0;
}
body.single-propiedades :is(
  [data-id="single-property-overview-title"], [data-id="single-property-post-content"],
  [data-id="single-property-gallery-title"], [data-id="single-property-gallery"]
) {
  grid-column: 1 / -1 !important;
}
body.single-propiedades [data-id="single-property-overview-title"] {
  margin: 0 !important;
  color: var(--ls-ink) !important;
  font-size: clamp(32px, 3.2vw, 46px) !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
  line-height: 1.08 !important;
}
body.single-propiedades [data-id="single-property-post-content"] {
  max-width: 760px;
  margin-bottom: 34px !important;
  color: #67635c !important;
  font-size: clamp(18px, 1.35vw, 20px) !important;
  line-height: 1.72 !important;
}
body.single-propiedades [hidden] { display: none !important; }
body.single-propiedades .elementor-element-single-property-operation-details {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 8px 0 20px;
}
body.single-propiedades :is(
  .elementor-element-single-property-sale-details,
  .elementor-element-single-property-rental-details
) {
  padding: clamp(28px, 4vw, 44px) !important;
  background: #fff !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 22px 22px 54px 22px !important;
  box-shadow: 0 24px 58px -50px rgba(30, 58, 76, .5);
  gap: 24px !important;
}
body.single-propiedades :is(
  [data-id="single-property-sale-details-title"],
  [data-id="single-property-rental-details-title"]
) {
  color: var(--ls-ink) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
  line-height: 1.08 !important;
}
body.single-propiedades :is(
  .elementor-element-single-property-sale-details-grid,
  .elementor-element-single-property-rental-details-grid
) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  gap: 0 26px !important;
  border-top: 1px solid var(--ls-border);
}
body.single-propiedades :is(
  .elementor-element-single-property-sale-details-grid,
  .elementor-element-single-property-rental-details-grid
) > [data-label] {
  min-width: 0;
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--ls-border);
  color: var(--ls-ink) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}
body.single-propiedades :is(
  .elementor-element-single-property-sale-details-grid,
  .elementor-element-single-property-rental-details-grid
) > [data-label]::before {
  content: attr(data-label);
  display: block;
  margin-bottom: 6px;
  color: var(--ls-olive);
  font: 600 10px/1.25 "Jost", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.single-propiedades [data-id="single-property-rental-costs-detail"] {
  grid-column: 1 / -1 !important;
}
body.single-propiedades [data-id="single-property-gallery-title"] {
  margin: 12px 0 6px !important;
  font-size: clamp(34px, 3.6vw, 52px) !important;
  text-wrap: balance;
}
body.single-propiedades .elementor-element-single-property-gallery {
  overflow: visible !important;
  border-radius: 0 !important;
}
.ls-property-gallery-shell { width: 100%; }
.ls-property-gallery-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 12px;
}
.ls-property-gallery-item {
  grid-column: span 4;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: #e9e6df;
  box-shadow: 0 1px 0 rgba(32, 50, 61, .08);
}
.ls-property-gallery-item.is-featured {
  grid-column: span 8;
  grid-row: span 2;
  aspect-ratio: auto;
  min-height: 100%;
  border-radius: 18px 18px 52px 18px;
}
.ls-property-gallery-item.is-extra { display: none; }
.ls-property-gallery-shell.is-expanded .ls-property-gallery-item.is-extra { display: block; }
.ls-property-gallery-image {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover;
  transition: transform .4s ease, filter .4s ease;
}
.ls-property-gallery-item:hover .ls-property-gallery-image,
.ls-property-gallery-item:focus-visible .ls-property-gallery-image {
  transform: scale(1.035);
  filter: saturate(1.04);
}
.ls-property-gallery-more {
  min-height: 50px;
  margin: 24px auto 0;
  padding: 13px 25px;
  display: block;
  background: transparent;
  border: 1px solid #cbc5ba;
  border-radius: 999px;
  color: var(--ls-ink);
  cursor: pointer;
  font: 500 12px/1.2 "Jost", sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.ls-property-gallery-more:hover,
.ls-property-gallery-more:focus-visible {
  background: var(--ls-navy);
  border-color: var(--ls-navy);
  color: #fff;
  transform: translateY(-2px);
}

body.single-propiedades :is(
  .elementor-element-single-property-features,
  .elementor-element-single-property-services,
  .elementor-element-single-property-distances
) {
  position: relative;
  min-width: 0;
  padding: clamp(28px, 3vw, 38px) !important;
  background: #fff !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 48px -44px rgba(30, 58, 76, .48);
  gap: 18px !important;
  overflow: hidden;
}
body.single-propiedades .elementor-element-single-property-features {
  grid-column: 1 !important;
  order: 1;
}
body.single-propiedades .elementor-element-single-property-distances {
  grid-column: 2 !important;
  order: 2;
}
body.single-propiedades .elementor-element-single-property-services {
  grid-column: 1 / -1 !important;
  order: 3;
  background: #edf0e8 !important;
  border-color: #dbe0d3 !important;
  border-radius: 20px 20px 48px 20px !important;
}
.ls-property-details-intro {
  grid-column: 1 / -1 !important;
  margin: 34px 0 4px;
  padding-top: 38px;
  border-top: 1px solid var(--ls-border);
}
.ls-property-details-intro span {
  display: block;
  margin-bottom: 12px;
  color: var(--ls-olive);
  font: 600 11px/1.2 "Jost", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ls-property-details-intro h2 {
  max-width: 14ch;
  margin: 0;
  color: var(--ls-ink);
  font: 500 clamp(34px, 3.5vw, 50px)/1.04 "Jost", sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.ls-property-details-intro p {
  max-width: 620px;
  margin: 14px 0 0;
  color: #706b63;
  font: 400 17px/1.6 "Jost", sans-serif;
}
body.single-propiedades :is(
  [data-id="single-property-features-title"], [data-id="single-property-services-title"],
  [data-id="single-property-distances-title"]
) {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--ls-olive) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}
body.single-propiedades :is(
  [data-id="single-property-features-title"], [data-id="single-property-services-title"],
  [data-id="single-property-distances-title"]
)::before {
  content: "";
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  background: var(--ls-olive);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
body.single-propiedades [data-id="single-property-features-title"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8v9a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1v-9Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8v9a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1v-9Z'/%3E%3C/svg%3E");
}
body.single-propiedades [data-id="single-property-services-title"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M18.4 5.6l-2.1 2.1M7.7 16.3l-2.1 2.1'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M18.4 5.6l-2.1 2.1M7.7 16.3l-2.1 2.1'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E");
}
body.single-propiedades [data-id="single-property-distances-title"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}
body.single-propiedades :is(
  [data-id="single-property-features-value"], [data-id="single-property-services-value"],
  [data-id="single-property-distances-value"]
) {
  color: #625f58 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
  white-space: normal !important;
}
.ls-property-detail-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ls-property-detail-list li {
  position: relative;
  min-width: 0;
  padding: 13px 0 13px 27px;
  border-top: 1px solid rgba(120, 113, 100, .16);
  color: #5f5b54;
  font: 400 16px/1.52 "Jost", sans-serif;
}
.ls-property-detail-list li::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 2px;
  width: 11px;
  height: 6px;
  border-bottom: 1.5px solid var(--ls-olive);
  border-left: 1.5px solid var(--ls-olive);
  transform: rotate(-45deg);
}
.elementor-element-single-property-services .ls-property-detail-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, 4vw, 54px);
}

body.single-propiedades .elementor-element-single-property-sidebar {
  position: sticky;
  top: 122px;
  padding: 30px !important;
  background: var(--ls-navy) !important;
  border: 0 !important;
  border-radius: 22px 22px 62px 22px !important;
  box-shadow: 0 28px 70px -42px rgba(30, 58, 76, .72) !important;
  color: #fff;
  gap: 18px !important;
}
body.single-propiedades [data-id="single-property-reference"] {
  align-self: flex-start;
  width: max-content;
  margin-bottom: 2px;
  padding: 8px 12px !important;
  background: var(--ls-mares);
  border-radius: 999px;
  color: var(--ls-navy) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .13em !important;
}
body.single-propiedades [data-id="single-property-license"] {
  color: rgba(255, 255, 255, .64) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}
body.single-propiedades [data-id="single-property-price-label"] {
  margin-top: 8px;
  color: var(--ls-mares) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .17em !important;
  text-transform: uppercase;
}
body.single-propiedades [data-id="single-property-price"] {
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  white-space: normal !important;
}
.ls-single-rate-list {
  display: grid;
  border-top: 1px solid rgba(255, 255, 255, .16);
}
.ls-single-rate-row {
  min-height: 50px;
  padding: 11px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}
.ls-single-rate-row span {
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
}
.ls-single-rate-row strong {
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  text-align: right;
}
body.single-propiedades .elementor-element-single-property-conditions {
  padding-top: 4px !important;
  border-top: 0 !important;
  gap: 10px !important;
}
body.single-propiedades [data-id="single-property-conditions-title"] {
  color: var(--ls-mares) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}
body.single-propiedades [data-id="single-property-conditions-value"] {
  color: rgba(255, 255, 255, .74) !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
}
body.single-propiedades [data-id="single-property-contact"] {
  width: 100% !important;
  margin-top: 4px;
  justify-content: center;
  background: #fff !important;
  border-color: #fff !important;
  color: var(--ls-navy) !important;
}
body.single-propiedades [data-id="single-property-contact"]:hover,
body.single-propiedades [data-id="single-property-contact"]:focus-visible {
  background: var(--ls-mares) !important;
  border-color: var(--ls-mares) !important;
  transform: translateY(-2px);
}

/* Contextual property inquiry */
body.ls-modal-open { overflow: hidden; }
body.single-propiedades [data-id="single-property-inquiry-modal"] {
  position: fixed !important;
  inset: 0;
  z-index: 100000;
  width: 100vw !important;
  height: 100dvh !important;
  padding: 24px !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(20, 38, 50, .78) !important;
  backdrop-filter: blur(8px);
}
body.single-propiedades [data-id="single-property-inquiry-modal"].is-open {
  display: flex !important;
}
body.single-propiedades .elementor-element-single-property-inquiry-dialog {
  position: relative;
  width: min(760px, 100%) !important;
  max-height: calc(100dvh - 48px);
  padding: clamp(30px, 4vw, 48px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  overflow-y: auto;
  background: #fff !important;
  border: 1px solid rgba(255, 255, 255, .65) !important;
  border-radius: 24px 24px 72px 24px !important;
  box-shadow: 0 35px 90px rgba(13, 31, 43, .42);
  overscroll-behavior: contain;
}
body.single-propiedades [data-id="single-property-inquiry-close"] {
  position: absolute !important;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: auto !important;
  min-width: 70px;
  min-height: 40px !important;
  padding: 9px 14px !important;
  background: #f1eee8 !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 999px !important;
  color: var(--ls-ink) !important;
  cursor: pointer;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}
body.single-propiedades [data-id="single-property-inquiry-close"]:hover,
body.single-propiedades [data-id="single-property-inquiry-close"]:focus-visible {
  background: var(--ls-navy) !important;
  color: #fff !important;
}
body.single-propiedades [data-id="single-property-inquiry-eyebrow"] {
  max-width: calc(100% - 92px);
  color: var(--ls-olive) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .19em !important;
  text-transform: uppercase;
}
body.single-propiedades [data-id="single-property-inquiry-title"] {
  max-width: 14ch;
  margin: 2px 0 0 !important;
  color: var(--ls-ink) !important;
  font-size: clamp(34px, 4.4vw, 50px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.04 !important;
}
body.single-propiedades [data-id="single-property-inquiry-copy"] {
  max-width: 58ch;
  color: var(--ls-muted) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
body.single-propiedades [data-id="single-property-inquiry-reference"] {
  margin: 4px 0 8px !important;
  padding: 12px 15px !important;
  background: #f3f0e8;
  border-left: 3px solid var(--ls-mares);
  border-radius: 4px 10px 10px 4px;
  color: var(--ls-ink) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}
body.single-propiedades [data-id="single-property-inquiry-form"] {
  width: 100%;
  margin-top: 4px;
}
body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-field-group {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-propiedades [data-id="single-property-inquiry-form"] :is(
  .elementor-field-group-stay, .elementor-field-group-message,
  .elementor-field-type-acceptance, .elementor-field-type-submit
) { grid-column: 1 / -1; }
body.single-propiedades [data-id="single-property-inquiry-form"] label {
  margin: 0 0 6px;
  color: var(--ls-ink);
  font: 500 13px/1.3 "Jost", sans-serif;
}
body.single-propiedades [data-id="single-property-inquiry-form"] :is(input:not([type="checkbox"]), textarea, select) {
  min-height: 48px;
  padding: 12px 14px !important;
  background: #fff !important;
  border: 1px solid #c8c3b9 !important;
  border-radius: 9px !important;
  color: var(--ls-ink) !important;
  font: 400 15px/1.4 "Jost", sans-serif !important;
  box-shadow: none !important;
}
body.single-propiedades [data-id="single-property-inquiry-form"] textarea {
  min-height: 112px;
  resize: vertical;
}
body.single-propiedades [data-id="single-property-inquiry-form"] :is(input, textarea, select):focus {
  border-color: var(--ls-olive) !important;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(90, 106, 72, .14) !important;
}
body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-field-type-acceptance {
  color: var(--ls-muted);
  font-size: 12px;
  line-height: 1.45;
}
body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-field-type-acceptance a {
  color: var(--ls-olive);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-button {
  min-height: 50px;
  padding: 13px 26px !important;
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font: 500 12px/1.2 "Jost", sans-serif !important;
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-button:hover,
body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-button:focus-visible {
  background: var(--ls-olive) !important;
  border-color: var(--ls-olive) !important;
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  body.single-propiedades .elementor-element-single-property-hero-in {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
  body.single-propiedades :is(
    [data-id="single-property-operation"], [data-id="single-property-title"],
    [data-id="single-property-subtitle"]
  ) { grid-column: 1 !important; }
  body.single-propiedades .elementor-element-single-property-image {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 0;
    margin-top: 22px !important;
    aspect-ratio: 16 / 10 !important;
  }
  body.single-propiedades .elementor-element-single-property-layout {
    display: flex !important;
    flex-direction: column !important;
  }
  body.single-propiedades .elementor-element-single-property-sidebar {
    position: static;
    order: -1;
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 680px) {
  body.single-propiedades .elementor-element-single-property-hero {
    padding-block: 38px 64px !important;
  }
  body.single-propiedades [data-id="single-property-title"] {
    max-width: 12ch !important;
    font-size: clamp(42px, 13vw, 58px) !important;
  }
  body.single-propiedades [data-id="single-property-subtitle"] { max-width: none; }
  body.single-propiedades .elementor-element-single-property-image {
    aspect-ratio: 4 / 3 !important;
    border-radius: 18px 18px 54px 18px !important;
  }
  body.single-propiedades .elementor-element-single-property-facts-row {
    margin-top: -28px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.single-propiedades :is(
    [data-id="single-property-rooms"], [data-id="single-property-baths"],
    [data-id="single-property-capacity"], [data-id="single-property-minimum"],
    [data-id="single-property-built-area"], [data-id="single-property-plot-area"]
  ) {
    min-height: 82px;
    padding: 22px 13px !important;
    gap: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
    font-size: 14px !important;
  }
  body.single-propiedades :is([data-id="single-property-baths"], [data-id="single-property-minimum"], [data-id="single-property-plot-area"]) { border-right: 0 !important; }
  body.single-propiedades :is([data-id="single-property-capacity"], [data-id="single-property-minimum"], [data-id="single-property-built-area"], [data-id="single-property-plot-area"]) { border-bottom: 0 !important; }
  body.single-propiedades :is(
    [data-id="single-property-rooms"], [data-id="single-property-baths"],
    [data-id="single-property-capacity"], [data-id="single-property-minimum"],
    [data-id="single-property-built-area"], [data-id="single-property-plot-area"]
  )::before { width: 20px; height: 20px; flex-basis: 20px; }
  body.single-propiedades :is(
    .elementor-element-single-property-sale-details,
    .elementor-element-single-property-rental-details
  ) { padding: 25px 22px !important; border-radius: 18px 18px 42px 18px !important; }
  body.single-propiedades :is(
    .elementor-element-single-property-sale-details-grid,
    .elementor-element-single-property-rental-details-grid
  ) { grid-template-columns: 1fr !important; }
  body.single-propiedades [data-id="single-property-rental-costs-detail"] { grid-column: 1 !important; }
  body.single-propiedades .elementor-element-single-property-main {
    grid-template-columns: 1fr !important;
  }
  body.single-propiedades :is(
    .elementor-element-single-property-features,
    .elementor-element-single-property-services,
    .elementor-element-single-property-distances
  ) { grid-column: 1 !important; padding: 23px !important; }
  .ls-property-details-intro {
    margin-top: 18px;
    padding-top: 30px;
  }
  .ls-property-details-intro h2 { font-size: clamp(32px, 10vw, 42px); }
  .ls-property-details-intro p { font-size: 16px; }
  .elementor-element-single-property-services .ls-property-detail-list { grid-template-columns: 1fr; }
  .ls-property-detail-list li { padding-block: 12px; font-size: 15px; }
  .ls-property-detail-list li::before { top: 18px; }
  .ls-property-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .ls-property-gallery-item { grid-column: span 1; border-radius: 10px; }
  .ls-property-gallery-item.is-featured {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-radius: 14px 14px 38px 14px;
  }
  body.single-propiedades .elementor-element-single-property-sidebar {
    padding: 25px !important;
    border-radius: 18px 18px 48px 18px !important;
  }
  body.single-propiedades [data-id="single-property-inquiry-modal"] {
    padding: 0 !important;
    align-items: flex-end !important;
  }
  body.single-propiedades .elementor-element-single-property-inquiry-dialog {
    width: 100% !important;
    max-height: 94dvh;
    padding: 27px 22px 30px !important;
    border-radius: 22px 22px 0 0 !important;
  }
  body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-form-fields-wrapper {
    grid-template-columns: 1fr;
  }
  body.single-propiedades [data-id="single-property-inquiry-form"] .elementor-field-group { grid-column: 1 !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
