:root {
    --lcm-ink: #0b2d26;
    --lcm-deep: #0f4638;
    --lcm-green: #1aa565;
    --lcm-lime: #d9ef58;
    --lcm-paper: #f5f1e8;
    --lcm-soft: #e7eee9;
    --lcm-white: #fffdf7;
    --lcm-line: rgba(15, 70, 56, .18);
}

html { scroll-behavior: smooth; }

body.elementor-page {
    margin: 0;
    background: var(--lcm-paper);
    color: var(--lcm-ink);
    font-family: Arial, Helvetica, sans-serif;
}

.elementor-page .elementor-widget-text-editor,
.elementor-page .elementor-widget-text-editor p,
.elementor-page .elementor-widget-heading,
.elementor-page .elementor-widget-heading .elementor-heading-title { margin: 0; }

.elementor-page .elementor-widget-text-editor p,
.elementor-page .elementor-widget-text-editor li {
    font-size: 17px;
    line-height: 1.65;
}

.lcm-e-topbar,
.lcm-e-hero,
.lcm-e-story,
.lcm-e-seasons,
.lcm-e-features,
.lcm-e-gallery-section,
.lcm-e-location-intro,
.lcm-e-details,
.lcm-e-final-cta,
.lcm-e-footer {
    --width: 100%;
    --max-width: none;
    --container-max-width: none;
    width: 100%;
    max-width: none;
    padding-left: max(5vw, 24px) !important;
    padding-right: max(5vw, 24px) !important;
}

/* Compatibilidad con la estructura clásica de secciones/columnas de Elementor. */
.lcm-e-topbar > .elementor-container,
.lcm-e-hero > .elementor-container,
.lcm-e-trust > .elementor-container,
.lcm-e-story > .elementor-container,
.lcm-e-seasons > .elementor-container,
.lcm-e-features > .elementor-container,
.lcm-e-gallery-section > .elementor-container,
.lcm-e-location-intro > .elementor-container,
.lcm-e-map-section > .elementor-container,
.lcm-e-details > .elementor-container,
.lcm-e-final-cta > .elementor-container,
.lcm-e-footer > .elementor-container,
.lcm-e-facts > .elementor-container,
.lcm-e-button-row > .elementor-container,
.lcm-e-seasons-grid > .elementor-container,
.lcm-e-feature-grid > .elementor-container,
.lcm-e-gallery-grid > .elementor-container,
.lcm-e-distance-grid > .elementor-container {
    width: 100%;
    max-width: none;
}

.lcm-e-topbar > .elementor-container { align-items: center; justify-content: space-between; gap: 28px; }
.lcm-e-topbar > .elementor-container > .elementor-column:nth-child(2) .elementor-widget-wrap { justify-content: center; }
.lcm-e-topbar > .elementor-container > .elementor-column:last-child .elementor-widget-wrap { justify-content: flex-end; }
.lcm-e-hero > .elementor-container { align-items: center; gap: 64px; }
.lcm-e-story > .elementor-container { align-items: center; gap: 8%; }
.lcm-e-seasons-grid > .elementor-container,
.lcm-e-feature-grid > .elementor-container,
.lcm-e-gallery-grid > .elementor-container { gap: 18px; }
.lcm-e-gallery-grid > .elementor-container { flex-wrap: wrap; }
.lcm-e-details > .elementor-container { align-items: center; gap: 6%; }
.lcm-e-final-cta > .elementor-container { align-items: center; justify-content: space-between; gap: 40px; }
.lcm-e-footer > .elementor-container { justify-content: space-between; gap: 30px; }
.lcm-e-hero-copy > .elementor-widget-wrap { gap: 24px; align-content: center; }
.lcm-e-story-copy > .elementor-widget-wrap,
.lcm-e-detail-copy > .elementor-widget-wrap,
.lcm-e-price-card > .elementor-widget-wrap { gap: 18px; }
.lcm-e-location-intro > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: center; }
.lcm-e-seasons > .elementor-container > .elementor-column > .elementor-widget-wrap,
.lcm-e-features > .elementor-container > .elementor-column > .elementor-widget-wrap,
.lcm-e-gallery-section > .elementor-container > .elementor-column > .elementor-widget-wrap { gap: 20px; }

.lcm-e-topbar {
    min-height: 84px;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    background: var(--lcm-deep);
    border-bottom: 1px solid rgba(255,255,255,.14);
    gap: 28px;
}

.lcm-e-brand { width: auto !important; }
.lcm-e-brand .elementor-heading-title {
    color: var(--lcm-white);
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -.02em;
}

.lcm-e-nav { width: auto !important; }
.lcm-e-nav p { font-size: 14px !important; font-weight: 700; white-space: nowrap; }
.lcm-e-nav a { color: var(--lcm-white); text-decoration: none; }
.lcm-e-nav a:hover { color: var(--lcm-lime); }

.lcm-e-top-cta { width: auto !important; }
.lcm-e-top-cta .elementor-button,
.lcm-e-primary .elementor-button {
    border-radius: 6px;
    background: var(--lcm-lime);
    color: var(--lcm-ink);
    font-size: 15px;
    font-weight: 800;
    padding: 15px 24px;
    box-shadow: none;
}
.lcm-e-primary .elementor-button { background: var(--lcm-green); color: #fff; }
.lcm-e-top-cta .elementor-button:hover { background: #eefb7d; color: var(--lcm-ink); }
.lcm-e-primary .elementor-button:hover { background: #128b53; color: #fff; }

.lcm-e-hero {
    position: relative;
    min-height: 710px;
    padding-top: 72px !important;
    padding-bottom: 82px !important;
    background: var(--lcm-deep);
    gap: 64px;
    overflow: hidden;
}

.lcm-e-hero-copy { width: 48%; gap: 24px; z-index: 2; }
.lcm-e-hero-media { position: relative; width: 52%; min-height: 540px; }

.lcm-e-kicker p {
    color: var(--lcm-deep);
    font-size: 12px !important;
    font-weight: 900;
    letter-spacing: .16em;
}
.lcm-e-kicker-light p { color: var(--lcm-lime); }
.lcm-e-kicker-lime p { color: var(--lcm-lime); }

.lcm-e-hero-title .elementor-heading-title,
.lcm-e-section-title .elementor-heading-title,
.lcm-e-seasons-title .elementor-heading-title,
.lcm-e-location-title .elementor-heading-title,
.lcm-e-details-title .elementor-heading-title,
.lcm-e-final-title .elementor-heading-title,
.lcm-e-price-title .elementor-heading-title {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
    letter-spacing: -.045em;
}

.lcm-e-hero-title .elementor-heading-title {
    max-width: 680px;
    color: var(--lcm-white);
    font-size: clamp(58px, 5.1vw, 86px);
    line-height: .98;
}

.lcm-e-hero-lead { max-width: 610px; }
.lcm-e-hero-lead p { color: rgba(255,255,255,.76); font-size: 19px !important; }

.lcm-e-facts {
    width: 100%;
    max-width: 610px;
    border-top: 1px solid rgba(255,255,255,.2);
    border-bottom: 1px solid rgba(255,255,255,.2);
}
.lcm-e-fact { width: 33.333%; padding: 20px 20px 18px; border-right: 1px solid rgba(255,255,255,.18); }
.lcm-e-fact:first-child { padding-left: 0; }
.lcm-e-fact:last-child { border-right: 0; }
.lcm-e-fact .elementor-heading-title { color: #fff; font-size: 18px; font-weight: 800; }
.lcm-e-fact p { color: rgba(255,255,255,.58); font-size: 13px !important; }

.lcm-e-button-row { width: auto; gap: 12px; align-items: center; }
.lcm-e-button-row > .elementor-element { width: auto; }
.lcm-e-secondary .elementor-button {
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 6px;
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 15px 24px;
}
.lcm-e-secondary .elementor-button:hover { border-color: var(--lcm-lime); color: var(--lcm-lime); }
.lcm-e-owner-note p { color: rgba(255,255,255,.65); font-size: 14px !important; }

.lcm-e-hero-main-photo { position: absolute; width: 82%; right: 0; top: 0; }
.lcm-e-hero-main-photo img { width: 100%; height: 430px; object-fit: cover; }
.lcm-e-hero-second-photo { position: absolute; width: 52%; left: 0; bottom: 0; z-index: 2; }
.lcm-e-hero-second-photo img { width: 100%; height: 230px; object-fit: cover; border: 7px solid var(--lcm-deep); }
.lcm-e-for-sale {
    position: absolute;
    z-index: 3;
    width: 112px !important;
    height: 112px;
    left: 5%;
    top: 12%;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--lcm-lime);
    transform: rotate(-8deg);
}
.lcm-e-for-sale p { color: var(--lcm-ink); font-size: 14px !important; font-weight: 900; }

.lcm-e-trust {
    padding: 0 max(5vw, 24px) !important;
    background: var(--lcm-lime);
}
.lcm-e-trust-item {
    width: 33.333%;
    min-height: 138px;
    padding: 28px 38px;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 22px;
    align-content: center;
    border-right: 1px solid rgba(11,45,38,.18);
}
.lcm-e-trust-item:last-child { border-right: 0; }
.lcm-e-trust-item > :first-child { grid-row: 1 / 3; }
.lcm-e-trust-item > :first-child .elementor-heading-title { font-family: Georgia,serif; font-size: 31px; font-weight: 400; }
.lcm-e-trust-item h3.elementor-heading-title { font-size: 16px; font-weight: 800; }
.lcm-e-trust-item p { font-size: 13px !important; color: rgba(11,45,38,.68); }

.lcm-e-story {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
    background: var(--lcm-paper);
    gap: 8%;
}
.lcm-e-story-media { position: relative; width: 52%; }
.lcm-e-story-copy { width: 40%; gap: 22px; }
.lcm-e-story-image img { width: 100%; height: 520px; object-fit: cover; }
.lcm-e-story-label {
    position: absolute;
    right: -4%;
    bottom: -28px;
    width: 58% !important;
    padding: 25px 30px;
    background: #21694d;
    color: #fff;
}
.lcm-e-story-label small { font-size: 11px; letter-spacing: .13em; opacity: .7; }
.lcm-e-story-label strong { font-family: Georgia,serif; font-size: 24px; font-weight: 400; }
.lcm-e-section-title .elementor-heading-title { color: var(--lcm-ink); font-size: clamp(44px, 4.2vw, 66px); line-height: 1.03; }
.lcm-e-section-title-narrow { max-width: 650px; }
.lcm-e-text-button { width: auto !important; align-self: flex-start; }
.lcm-e-text-button .elementor-button { padding: 0 0 5px; border-bottom: 1px solid var(--lcm-deep); border-radius: 0; background: transparent; color: var(--lcm-deep); font-weight: 800; }

.lcm-e-seasons {
    padding-top: 100px !important;
    padding-bottom: 110px !important;
    background: #09251f;
    gap: 24px;
}
.lcm-e-seasons-title { max-width: 930px; margin-left: auto; text-align: right; }
.lcm-e-seasons-title .elementor-heading-title { color: #fff; font-size: clamp(48px, 5vw, 76px); line-height: 1.04; }
.lcm-e-seasons-title em { color: var(--lcm-lime); font-weight: 400; }
.lcm-e-seasons-grid { width: 100%; gap: 18px; margin-top: 26px; }
.lcm-e-season-card { position: relative; width: 50%; min-height: 430px; overflow: hidden; }
.lcm-e-season-image { position: absolute; inset: 0; }
.lcm-e-season-image .elementor-widget-container,
.lcm-e-season-image a { display: block; height: 100%; }
.lcm-e-season-image img { width: 100%; height: 100%; object-fit: cover; }
.lcm-e-season-caption {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    padding: 60px 28px 24px;
    background: linear-gradient(transparent, rgba(0,0,0,.78));
    color: #fff;
}
.lcm-e-season-caption small { color: var(--lcm-lime); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.lcm-e-season-caption strong { font-family: Georgia,serif; font-size: 24px; font-weight: 400; }

.lcm-e-features { padding-top: 110px !important; padding-bottom: 115px !important; background: #fff; gap: 20px; }
.lcm-e-feature-grid { width: 100%; gap: 16px; margin-top: 40px; }
.lcm-e-feature-card {
    width: 25%;
    min-height: 310px;
    padding: 28px;
    justify-content: flex-end;
    gap: 18px;
    border: 1px solid var(--lcm-line);
    border-radius: 8px;
    background: var(--lcm-paper);
}
.lcm-e-card-number { margin-bottom: auto !important; }
.lcm-e-card-number p { color: var(--lcm-deep); font-size: 12px !important; font-weight: 900; }
.lcm-e-feature-card h3.elementor-heading-title { font-family: Georgia,serif; font-size: 25px; font-weight: 400; }
.lcm-e-feature-card p { color: rgba(11,45,38,.7); font-size: 14px !important; }

.lcm-e-gallery-section { padding-top: 105px !important; padding-bottom: 115px !important; background: var(--lcm-paper); gap: 18px; }
.lcm-e-gallery-note { max-width: 430px; }
.lcm-e-gallery-note p { color: rgba(11,45,38,.66); font-size: 14px !important; }
.lcm-e-gallery { margin-top: 28px; }
.lcm-e-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px !important;
}
.lcm-e-gallery .gallery-item { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.lcm-e-gallery .gallery-icon { height: 230px; }
.lcm-e-gallery .gallery-icon a { display: block; height: 100%; }
.lcm-e-gallery .gallery img { width: 100%; height: 100%; object-fit: cover; border: 0 !important; border-radius: 7px; }
.lcm-e-gallery .gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
.lcm-e-gallery .gallery-item:first-child .gallery-icon { height: 474px; }
.lcm-e-gallery-grid { width: 100%; margin-top: 28px; }
.lcm-e-gallery-card {
    width: calc(25% - 14px) !important;
    overflow: hidden;
    border-radius: 7px;
    background: var(--lcm-soft);
}
.lcm-e-gallery-card-featured { width: calc(50% - 9px) !important; }
.lcm-e-gallery-card > .elementor-widget-wrap { padding: 0 !important; }
.lcm-e-gallery-photo,
.lcm-e-gallery-photo .elementor-widget-container,
.lcm-e-gallery-photo a { display: block; width: 100%; height: 230px; }
.lcm-e-gallery-card-featured .lcm-e-gallery-photo,
.lcm-e-gallery-card-featured .lcm-e-gallery-photo .elementor-widget-container,
.lcm-e-gallery-card-featured .lcm-e-gallery-photo a { height: 478px; }
.lcm-e-gallery-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.lcm-e-gallery-photo:hover img { transform: scale(1.025); }

.lcm-e-location-intro {
    padding-top: 100px !important;
    padding-bottom: 90px !important;
    background: var(--lcm-deep);
    gap: 22px;
    text-align: center;
    align-items: center;
}
.lcm-e-location-title { max-width: 870px; }
.lcm-e-location-title .elementor-heading-title { color: #fff; font-size: clamp(52px, 5vw, 78px); line-height: 1; }
.lcm-e-distance-grid { width: min(920px, 100%); margin: 28px auto 20px; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.lcm-e-distance { width: 33.333%; padding: 24px; border-right: 1px solid rgba(255,255,255,.18); }
.lcm-e-distance:last-child { border-right: 0; }
.lcm-e-distance .elementor-heading-title { color: var(--lcm-lime); font-size: 21px; font-weight: 900; }
.lcm-e-distance p { color: rgba(255,255,255,.72); font-size: 14px !important; }
.lcm-e-location-intro > .lcm-e-primary { width: auto !important; }

.lcm-e-map-section { padding: 0 !important; background: var(--lcm-soft); }
.lcm-e-google-map { width: 100%; }
.lcm-e-google-map iframe { display: block; width: 100%; min-height: 500px; filter: saturate(.85); }
.lcm-e-map-note { padding: 14px max(5vw, 24px); text-align: center; background: var(--lcm-soft); }
.lcm-e-map-note p { color: rgba(11,45,38,.7); font-size: 13px !important; }

.lcm-e-details { padding-top: 100px !important; padding-bottom: 105px !important; background: var(--lcm-paper); gap: 6%; }
.lcm-e-plan { width: 20%; }
.lcm-e-plan-image img { width: 100%; max-height: 310px; object-fit: contain; background: #fff; box-shadow: 0 16px 40px rgba(11,45,38,.1); }
.lcm-e-detail-copy { width: 43%; gap: 18px; }
.lcm-e-details-title .elementor-heading-title { font-size: 45px; }
.lcm-e-details-list ul { margin: 0; padding: 0; list-style: none; }
.lcm-e-details-list li { position: relative; margin: 0 0 12px; padding-left: 28px; }
.lcm-e-details-list li::before { content: '✓'; position: absolute; left: 0; color: var(--lcm-green); font-weight: 900; }
.lcm-e-price-card { width: 31%; padding: 38px; background: #09251f; color: #fff; gap: 18px; box-shadow: 0 18px 40px rgba(11,45,38,.14); }
.lcm-e-price-title .elementor-heading-title { color: #fff; font-size: 40px; }
.lcm-e-price-card p { color: rgba(255,255,255,.7); font-size: 14px !important; }

.lcm-e-final-cta { padding-top: 82px !important; padding-bottom: 82px !important; background: #21694d; color: #fff; gap: 40px; }
.lcm-e-final-copy { width: 66%; gap: 18px; }
.lcm-e-final-title .elementor-heading-title { color: #fff; font-size: clamp(44px, 4.5vw, 68px); }
.lcm-e-final-copy p { color: rgba(255,255,255,.75); }
.lcm-e-final-actions { width: 270px; gap: 10px; }
.lcm-e-light-button .elementor-button { background: var(--lcm-lime); color: var(--lcm-ink); border-radius: 5px; font-weight: 800; }
.lcm-e-outline-button .elementor-button { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; font-weight: 700; }

.lcm-e-footer { padding-top: 28px !important; padding-bottom: 28px !important; background: #09251f; color: rgba(255,255,255,.7); gap: 30px; }
.lcm-e-footer p { font-size: 12px !important; }

.lcm-e-sticky-whatsapp {
    position: fixed !important;
    z-index: 9999;
    right: 22px;
    bottom: 22px;
    width: auto !important;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.26));
}
.lcm-e-sticky-whatsapp .elementor-button { padding: 15px 21px; border-radius: 999px; background: #19ad62; color: #fff; font-size: 15px; font-weight: 900; }
.lcm-e-sticky-whatsapp .elementor-button::before { content: '◉'; margin-right: 8px; }

@media (max-width: 900px) {
    .lcm-e-nav { display: none; }
    .lcm-e-hero { min-height: auto; flex-direction: column !important; padding-top: 54px !important; gap: 42px; }
    .lcm-e-hero > .elementor-container,
    .lcm-e-story > .elementor-container { flex-direction: column; }
    .lcm-e-hero-copy, .lcm-e-hero-media { width: 100%; }
    .lcm-e-hero-title .elementor-heading-title { font-size: clamp(48px, 10vw, 70px); }
    .lcm-e-hero-media { min-height: 510px; }
    .lcm-e-story { flex-direction: column !important; gap: 70px; }
    .lcm-e-story-media, .lcm-e-story-copy { width: 100%; }
    .lcm-e-story-label { right: 20px; width: min(390px, 78%) !important; }
    .lcm-e-trust { flex-wrap: wrap; }
    .lcm-e-trust-item { width: 100%; min-height: 110px; border-right: 0; border-bottom: 1px solid rgba(11,45,38,.18); }
    .lcm-e-seasons-grid { flex-direction: column !important; }
    .lcm-e-seasons-grid > .elementor-container { flex-direction: column; }
    .lcm-e-season-card { width: 100%; }
    .lcm-e-feature-grid { flex-wrap: wrap; }
    .lcm-e-feature-grid > .elementor-container,
    .lcm-e-gallery-grid > .elementor-container,
    .lcm-e-details > .elementor-container { flex-wrap: wrap; }
    .lcm-e-feature-card { width: calc(50% - 8px); }
    .lcm-e-gallery .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lcm-e-gallery-card { width: calc(50% - 9px) !important; }
    .lcm-e-gallery-card-featured { width: 100% !important; }
    .lcm-e-details { flex-wrap: wrap; }
    .lcm-e-plan { width: 28%; }
    .lcm-e-detail-copy { width: 66%; }
    .lcm-e-price-card { width: 100%; margin-top: 28px; }
}

@media (max-width: 600px) {
    .elementor-page .elementor-widget-text-editor p,
    .elementor-page .elementor-widget-text-editor li { font-size: 16px; }
    .lcm-e-topbar { min-height: 70px; gap: 12px; }
    .lcm-e-brand .elementor-heading-title { font-size: 16px; }
    .lcm-e-top-cta .elementor-button { padding: 12px 16px; }
    .lcm-e-hero { padding-top: 42px !important; padding-bottom: 62px !important; }
    .lcm-e-hero-title .elementor-heading-title { font-size: 49px; line-height: 1; }
    .lcm-e-hero-lead p { font-size: 17px !important; }
    .lcm-e-facts { flex-direction: column !important; }
    .lcm-e-facts > .elementor-container,
    .lcm-e-button-row > .elementor-container,
    .lcm-e-feature-grid > .elementor-container,
    .lcm-e-distance-grid > .elementor-container,
    .lcm-e-details > .elementor-container,
    .lcm-e-final-cta > .elementor-container,
    .lcm-e-footer > .elementor-container { flex-direction: column; }
    .lcm-e-fact { width: 100%; padding: 14px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
    .lcm-e-fact:last-child { border-bottom: 0; }
    .lcm-e-button-row { width: 100%; flex-direction: column !important; align-items: stretch; }
    .lcm-e-button-row > .elementor-element { width: 100%; }
    .lcm-e-button-row .elementor-button { width: 100%; }
    .lcm-e-hero-media { min-height: 415px; }
    .lcm-e-hero-main-photo { width: 92%; }
    .lcm-e-hero-main-photo img { height: 315px; }
    .lcm-e-hero-second-photo { width: 64%; }
    .lcm-e-hero-second-photo img { height: 165px; }
    .lcm-e-for-sale { width: 82px !important; height: 82px; left: 0; top: 12%; }
    .lcm-e-for-sale p { font-size: 11px !important; }
    .lcm-e-story, .lcm-e-seasons, .lcm-e-features, .lcm-e-gallery-section, .lcm-e-location-intro, .lcm-e-details, .lcm-e-final-cta { padding-top: 72px !important; padding-bottom: 72px !important; }
    .lcm-e-story-image img { height: 360px; }
    .lcm-e-story-label { right: 8px; bottom: -34px; padding: 18px; }
    .lcm-e-story-label strong { font-size: 19px; }
    .lcm-e-section-title .elementor-heading-title,
    .lcm-e-seasons-title .elementor-heading-title,
    .lcm-e-location-title .elementor-heading-title { font-size: 43px; }
    .lcm-e-seasons-title { text-align: left; }
    .lcm-e-season-card { min-height: 330px; }
    .lcm-e-feature-grid { flex-direction: column !important; }
    .lcm-e-feature-card { width: 100%; min-height: 250px; }
    .lcm-e-gallery .gallery { grid-template-columns: 1fr 1fr; gap: 8px !important; }
    .lcm-e-gallery .gallery-icon { height: 150px; }
    .lcm-e-gallery .gallery-item:first-child { grid-column: span 2; grid-row: auto; }
    .lcm-e-gallery .gallery-item:first-child .gallery-icon { height: 280px; }
    .lcm-e-gallery-grid > .elementor-container { flex-direction: row; gap: 8px; }
    .lcm-e-gallery-card { width: calc(50% - 4px) !important; }
    .lcm-e-gallery-card-featured { width: 100% !important; }
    .lcm-e-gallery-photo,
    .lcm-e-gallery-photo .elementor-widget-container,
    .lcm-e-gallery-photo a { height: 155px; }
    .lcm-e-gallery-card-featured .lcm-e-gallery-photo,
    .lcm-e-gallery-card-featured .lcm-e-gallery-photo .elementor-widget-container,
    .lcm-e-gallery-card-featured .lcm-e-gallery-photo a { height: 285px; }
    .lcm-e-distance-grid { flex-direction: column !important; }
    .lcm-e-distance { width: 100%; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
    .lcm-e-google-map iframe { min-height: 420px; }
    .lcm-e-details { flex-direction: column !important; }
    .lcm-e-plan, .lcm-e-detail-copy, .lcm-e-price-card { width: 100%; }
    .lcm-e-plan-image img { max-height: 360px; }
    .lcm-e-details-title .elementor-heading-title { font-size: 39px; }
    .lcm-e-final-cta { flex-direction: column !important; align-items: flex-start !important; }
    .lcm-e-final-copy, .lcm-e-final-actions { width: 100%; }
    .lcm-e-final-actions .elementor-button { width: 100%; }
    .lcm-e-footer { flex-direction: column !important; }
    .lcm-e-sticky-whatsapp { left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: auto !important; }
    .lcm-e-sticky-whatsapp .elementor-button { width: 100%; border-radius: 12px; padding: 16px 20px; }
    .lcm-e-footer { padding-bottom: 100px !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* ========================================================================
   DISEÑO 4.0 · editable con widgets nativos de Elementor + SEO integrado
   ======================================================================== */
:root {
    --v3-ink:#102e27; --v3-deep:#0d3d31; --v3-dark:#082a22;
    --v3-wa:#25d366; --v3-wa-dark:#18ad50; --v3-cream:#f6f1e8;
    --v3-white:#fffef9; --v3-muted:#60706b; --v3-line:rgba(16,46,39,.15);
    --v3-shadow:0 22px 60px rgba(8,42,34,.13);
}

.lcm-v3-topbar,.lcm-v3-hero,.lcm-v3-stats,.lcm-v3-trust,.lcm-v3-story,
.lcm-v3-seasons,.lcm-v3-features,.lcm-v3-gallery,.lcm-v3-location,
.lcm-v3-map,.lcm-v3-details,.lcm-v3-faq,.lcm-v3-final {
    width:100%; max-width:none;
    padding-left:max(5.5vw,24px)!important; padding-right:max(5.5vw,24px)!important;
}
.lcm-v3-topbar>.elementor-container,.lcm-v3-hero>.elementor-container,
.lcm-v3-stats>.elementor-container,.lcm-v3-trust>.elementor-container,
.lcm-v3-story>.elementor-container,.lcm-v3-seasons>.elementor-container,
.lcm-v3-features>.elementor-container,.lcm-v3-gallery>.elementor-container,
.lcm-v3-location>.elementor-container,.lcm-v3-details>.elementor-container,.lcm-v3-faq>.elementor-container,
.lcm-v3-final>.elementor-container,.lcm-v3-action-row>.elementor-container,
.lcm-v3-seasons-photos>.elementor-container,.lcm-v3-feature-grid>.elementor-container,
.lcm-v3-gallery-grid>.elementor-container,.lcm-v3-location-grid>.elementor-container,.lcm-v3-faq-grid>.elementor-container {
    width:100%; max-width:1440px; margin-left:auto; margin-right:auto;
}
.lcm-v3-kicker p { color:var(--v3-deep); font-size:11px!important; font-weight:900; letter-spacing:.19em; text-transform:uppercase; }
.lcm-v3-kicker-light p { color:rgba(255,255,255,.72); }
.lcm-v3-section-title .elementor-heading-title,.lcm-v3-location-title .elementor-heading-title,
.lcm-v3-map-title .elementor-heading-title,.lcm-v3-details-title .elementor-heading-title,
.lcm-v3-final-title .elementor-heading-title,.lcm-v3-seasons-title .elementor-heading-title {
    font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em;
}
.lcm-v3-section-title .elementor-heading-title { color:var(--v3-ink); font-size:clamp(42px,4vw,68px); line-height:1.02; }
.lcm-v3-title-narrow { max-width:700px; }

/* Cabecera blanca: sin “CM” y separada visualmente del hero. */
.lcm-v3-topbar { min-height:88px; padding-top:14px!important; padding-bottom:14px!important; background:var(--v3-white); border-bottom:1px solid var(--v3-line); }
.lcm-v3-topbar>.elementor-container { align-items:center; justify-content:space-between; gap:28px; }
.lcm-v3-brand-wrap { width:34%; }
.lcm-v3-brand-wrap>.elementor-widget-wrap { align-content:center; }
.lcm-v3-brand .elementor-heading-title { color:var(--v3-ink); font-size:20px; font-weight:850; letter-spacing:-.02em; }
.lcm-v3-brand-note p { margin-top:3px; color:var(--v3-muted); font-size:9px!important; font-weight:800; letter-spacing:.18em; }
.lcm-v3-nav-wrap { width:32%; }
.lcm-v3-nav p { display:flex; justify-content:center; gap:30px; }
.lcm-v3-nav a { color:var(--v3-ink); font-size:13px; font-weight:800; text-decoration:none; }
.lcm-v3-nav a:hover { color:var(--v3-wa-dark); }
.lcm-v3-header-action { width:34%; }
.lcm-v3-header-action>.elementor-widget-wrap { justify-content:flex-end; }

.lcm-v3-wa-button { width:auto!important; }
.lcm-v3-wa-button .elementor-button { border:0; border-radius:10px; background:var(--v3-wa); color:#072c1a; padding:15px 24px; font-size:14px; font-weight:900; box-shadow:0 10px 24px rgba(37,211,102,.24); transition:.2s ease; }
.lcm-v3-wa-button .elementor-button:hover { transform:translateY(-2px); background:#38e477; color:#06291a; box-shadow:0 14px 30px rgba(37,211,102,.34); }
.lcm-v3-wa-button-large .elementor-button { padding:18px 28px; font-size:15px; }

/* Hero con una sola fotografía. */
.lcm-v3-hero { min-height:650px; padding-top:76px!important; padding-bottom:90px!important; background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.78),transparent 28%),var(--v3-cream); }
.lcm-v3-hero>.elementor-container { align-items:center; gap:6%; }
.lcm-v3-hero-copy { width:46%; }
.lcm-v3-hero-copy>.elementor-widget-wrap { align-content:center; gap:24px; }
.lcm-v3-hero-title .elementor-heading-title { max-width:760px; color:var(--v3-ink); font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,4.35vw,72px); font-weight:400; letter-spacing:-.055em; line-height:.98; }
.lcm-v3-hero-title em { color:var(--v3-wa-dark); font-weight:400; }
.lcm-v3-hero-lead { max-width:610px; }
.lcm-v3-hero-lead p { color:var(--v3-muted); font-size:18px!important; }
.lcm-v3-action-row { width:auto; }
.lcm-v3-action-row>.elementor-container { gap:12px; }
.lcm-v3-action-row .elementor-column { width:auto!important; }
.lcm-v3-outline-button { width:auto!important; }
.lcm-v3-outline-button .elementor-button { border:1px solid rgba(16,46,39,.32); border-radius:10px; background:transparent; color:var(--v3-ink); padding:17px 25px; font-size:14px; font-weight:850; }
.lcm-v3-outline-button .elementor-button:hover { border-color:var(--v3-ink); background:var(--v3-white); }
.lcm-v3-owner-note p { color:var(--v3-muted); font-size:13px!important; font-weight:700; }
.lcm-v3-hero-photo-wrap { position:relative; width:48%; min-height:520px; isolation:isolate; }
.lcm-v3-hero-photo-wrap:before { content:''; position:absolute; z-index:-1; width:78%; height:82%; right:-22px; top:-24px; border:3px solid var(--v3-wa); border-radius:34px; transform:rotate(3deg); opacity:.9; }
.lcm-v3-hero-photo .elementor-widget-container,.lcm-v3-hero-photo a { display:block; height:520px; }
.lcm-v3-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; border-radius:32px; box-shadow:0 30px 75px rgba(8,42,34,.22); }
.lcm-v3-photo-caption { position:absolute; right:-18px; bottom:-20px; width:min(330px,76%)!important; padding:22px 26px; border-left:5px solid var(--v3-wa); background:var(--v3-deep); color:#fff; box-shadow:0 16px 40px rgba(8,42,34,.24); }
.lcm-v3-photo-caption p { font-size:14px!important; line-height:1.45!important; }
.lcm-v3-photo-caption strong { font-family:Georgia,serif; font-size:23px; font-weight:400; }

/* Tres datos principales. */
.lcm-v3-stats { position:relative; z-index:2; margin-top:-38px; padding-bottom:56px!important; background:transparent; }
.lcm-v3-stats>.elementor-container { gap:20px; }
.lcm-v3-stat-card { width:33.333%; min-height:280px; padding:38px 32px; overflow:hidden; border:1px solid rgba(37,211,102,.28); border-radius:24px; background:radial-gradient(circle at 50% 0,rgba(37,211,102,.16),transparent 42%),var(--v3-deep); color:#fff; box-shadow:0 22px 52px rgba(8,42,34,.18); transition:transform .25s ease,box-shadow .25s ease; }
.lcm-v3-stat-card:hover { transform:translateY(-8px); box-shadow:0 30px 66px rgba(8,42,34,.25); }
.lcm-v3-stat-card>.elementor-widget-wrap { align-content:center; align-items:center; gap:12px; text-align:center; }
.lcm-v3-stat-icon { width:auto!important; margin-bottom:12px; }
.lcm-v3-stat-icon .elementor-icon { display:grid; width:96px; height:96px; place-items:center; border:3px solid rgba(255,255,255,.5); border-radius:50%; background:var(--v3-wa)!important; color:var(--v3-deep)!important; font-size:42px!important; box-shadow:0 0 0 10px rgba(37,211,102,.1),0 18px 38px rgba(0,0,0,.18); }
.lcm-v3-stat-value .elementor-heading-title { color:#fff; font-family:Georgia,serif; font-size:44px; font-weight:400; line-height:1; }
.lcm-v3-stat-card p { color:rgba(255,255,255,.82); font-size:16px!important; font-weight:600; }

/* Escritura, comisión y escribanía con íconos. */
.lcm-v3-trust { padding-top:54px!important; padding-bottom:110px!important; background:linear-gradient(180deg,var(--v3-white),#edf8f1); }
.lcm-v3-trust>.elementor-container { gap:20px; }
.lcm-v3-trust-card { position:relative; width:33.333%; min-height:315px; padding:40px 34px; overflow:hidden; border:1px solid rgba(13,61,49,.12); border-radius:24px; background:rgba(255,255,255,.92); box-shadow:0 18px 48px rgba(8,42,34,.09); transition:transform .25s ease,box-shadow .25s ease; }
.lcm-v3-trust-card:after { content:''; position:absolute; left:25%; right:25%; bottom:0; height:5px; border-radius:5px 5px 0 0; background:var(--v3-wa); transition:left .25s ease,right .25s ease; }
.lcm-v3-trust-card:hover { transform:translateY(-7px); box-shadow:0 28px 60px rgba(8,42,34,.14); }
.lcm-v3-trust-card:hover:after { left:8%; right:8%; }
.lcm-v3-trust-card>.elementor-widget-wrap { align-content:center; align-items:center; gap:13px; text-align:center; }
.lcm-v3-trust-icon { width:auto!important; margin-bottom:14px; }
.lcm-v3-trust-icon .elementor-icon { display:grid; width:100px; height:100px; place-items:center; border-radius:28px; background:var(--v3-deep)!important; color:var(--v3-wa)!important; font-size:44px!important; box-shadow:0 0 0 9px rgba(13,61,49,.06),0 18px 38px rgba(8,42,34,.18); }
.lcm-v3-trust-title .elementor-heading-title { color:var(--v3-ink); font-family:Georgia,serif; font-size:34px; font-weight:400; line-height:1.05; }
.lcm-v3-trust-card p { color:var(--v3-muted); font-size:16px!important; }

/* Vista abierta. */
.lcm-v3-story { padding-top:110px!important; padding-bottom:120px!important; background:var(--v3-cream); }
.lcm-v3-story>.elementor-container { align-items:center; gap:8%; }
.lcm-v3-story-photo-wrap { width:52%; }
.lcm-v3-story-copy { width:40%; }
.lcm-v3-story-copy>.elementor-widget-wrap { align-content:center; gap:20px; }
.lcm-v3-story-photo img { display:block; width:100%; height:540px; object-fit:cover; border-radius:28px 2px 28px 2px; box-shadow:var(--v3-shadow); }
.lcm-v3-story-copy p { color:var(--v3-muted); }
.lcm-v3-inline-link { width:auto!important; align-self:flex-start; }
.lcm-v3-inline-link .elementor-button { padding:0 0 6px; border-bottom:2px solid var(--v3-wa-dark); border-radius:0; background:transparent; color:var(--v3-ink); font-size:14px; font-weight:900; }

/* Estaciones: una línea para cada frase. */
.lcm-v3-seasons { padding-top:105px!important; padding-bottom:115px!important; background:var(--v3-dark); }
.lcm-v3-seasons>.elementor-container>.elementor-column>.elementor-widget-wrap { gap:24px; }
.lcm-v3-seasons-title { width:100%; }
.lcm-v3-seasons-title .elementor-heading-title { color:#fff; font-size:clamp(46px,5vw,76px); line-height:1.02; white-space:nowrap; }
.lcm-v3-seasons-title em { color:var(--v3-wa); font-weight:400; }
.lcm-v3-seasons-photos { margin-top:24px; }
.lcm-v3-seasons-photos>.elementor-container { gap:18px; }
.lcm-v3-season-card { position:relative; width:50%; min-height:430px; overflow:hidden; border-radius:16px; }
.lcm-v3-season-photo { position:absolute; inset:0; }
.lcm-v3-season-photo .elementor-widget-container,.lcm-v3-season-photo a { display:block; height:100%; }
.lcm-v3-season-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.lcm-v3-season-caption { position:absolute; inset:auto 0 0; z-index:2; padding:70px 28px 25px; background:linear-gradient(transparent,rgba(0,0,0,.8)); color:#fff; }
.lcm-v3-season-caption small { color:var(--v3-wa); font-size:10px; font-weight:900; letter-spacing:.16em; }
.lcm-v3-season-caption strong { font-family:Georgia,serif; font-size:25px; font-weight:400; }

/* Ventajas con numeración grande e íconos. */
.lcm-v3-features { padding-top:110px!important; padding-bottom:120px!important; background:var(--v3-white); }
.lcm-v3-features>.elementor-container>.elementor-column>.elementor-widget-wrap { align-items:center; gap:20px; }
.lcm-v3-features .lcm-v3-kicker,.lcm-v3-features .lcm-v3-section-title { text-align:center; }
.lcm-v3-features .lcm-v3-section-title { margin-left:auto; margin-right:auto; }
.lcm-v3-feature-grid { width:100%; margin-top:38px; }
.lcm-v3-feature-grid>.elementor-container { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.lcm-v3-feature-card { position:relative; width:auto!important; min-height:380px; padding:44px 38px; overflow:hidden; border:1px solid rgba(13,61,49,.16); border-radius:26px; background:radial-gradient(circle at 50% -10%,rgba(37,211,102,.15),transparent 40%),var(--v3-cream); box-shadow:0 18px 48px rgba(8,42,34,.08); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.lcm-v3-feature-card:hover { transform:translateY(-8px); border-color:rgba(37,211,102,.65); box-shadow:0 30px 68px rgba(8,42,34,.15); }
.lcm-v3-feature-card>.elementor-widget-wrap { align-content:center; align-items:center; gap:15px; text-align:center; }
.lcm-v3-feature-number { display:none!important; }
.lcm-v3-feature-icon { width:auto!important; margin-bottom:15px; }
.lcm-v3-feature-icon .elementor-icon { display:grid; width:112px; height:112px; place-items:center; border:4px solid var(--v3-wa); border-radius:50%; background:var(--v3-deep)!important; color:var(--v3-wa)!important; font-size:48px!important; box-shadow:0 0 0 12px rgba(37,211,102,.1),0 20px 42px rgba(8,42,34,.2); }
.lcm-v3-feature-title .elementor-heading-title { color:var(--v3-ink); font-family:Georgia,serif; font-size:36px; font-weight:400; line-height:1.02; }
.lcm-v3-feature-card p { max-width:430px; margin-left:auto!important; margin-right:auto!important; color:var(--v3-muted); font-size:17px!important; line-height:1.55!important; }

/* Galería de siete fotos: la grilla queda completamente ocupada. */
.lcm-v3-gallery { padding-top:110px!important; padding-bottom:120px!important; background:var(--v3-cream); }
.lcm-v3-gallery>.elementor-container>.elementor-column>.elementor-widget-wrap { gap:18px; }
.lcm-v3-gallery-note { max-width:590px; }
.lcm-v3-gallery-note p { color:var(--v3-muted); font-size:14px!important; }
.lcm-v3-gallery-grid { margin-top:26px; }
.lcm-v3-gallery-grid>.elementor-container { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(3,225px); gap:14px; }
.lcm-v3-gallery-card { width:auto!important; min-width:0; overflow:hidden; border-radius:12px; }
.lcm-v3-gallery-card:nth-child(1) { grid-column:1/3; grid-row:1/3; }
.lcm-v3-gallery-card:nth-child(2) { grid-column:3; grid-row:1; }
.lcm-v3-gallery-card:nth-child(3) { grid-column:4; grid-row:1; }
.lcm-v3-gallery-card:nth-child(4) { grid-column:3; grid-row:2; }
.lcm-v3-gallery-card:nth-child(5) { grid-column:4; grid-row:2; }
.lcm-v3-gallery-card:nth-child(6) { grid-column:1/3; grid-row:3; }
.lcm-v3-gallery-card:nth-child(7) { grid-column:3/5; grid-row:3; }
.lcm-v3-gallery-card>.elementor-widget-wrap,.lcm-v3-gallery-photo,
.lcm-v3-gallery-photo .elementor-widget-container,.lcm-v3-gallery-photo a { display:block; width:100%; height:100%; }
.lcm-v3-gallery-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.lcm-v3-gallery-card:hover img { transform:scale(1.035); }

/* Barrio y distancias. */
.lcm-v3-location { padding-top:110px!important; padding-bottom:110px!important; background:var(--v3-white); }
.lcm-v3-location>.elementor-container>.elementor-column>.elementor-widget-wrap { align-items:center; gap:18px; }
.lcm-v3-location .lcm-v3-kicker { width:auto!important; padding:10px 18px; border-radius:999px; background:rgba(37,211,102,.14); }
.lcm-v3-location .lcm-v3-kicker p { color:var(--v3-deep); font-size:12px!important; text-align:center; }
.lcm-v3-location-title { text-align:center; }
.lcm-v3-location-title .elementor-heading-title { color:var(--v3-ink); font-size:clamp(48px,5.2vw,82px); line-height:.95; }
.lcm-v3-location-title em { color:var(--v3-wa-dark); font-weight:400; }
.lcm-v3-location-grid { width:100%; margin-top:36px; }
.lcm-v3-location-grid>.elementor-container { gap:20px; }
.lcm-v3-location-card { width:33.333%; min-height:310px; padding:40px 34px; overflow:hidden; border:1px solid rgba(37,211,102,.3); border-radius:24px; background:radial-gradient(circle at 50% 0,rgba(37,211,102,.17),transparent 43%),var(--v3-deep); color:#fff; box-shadow:0 20px 50px rgba(8,42,34,.16); transition:transform .25s ease,box-shadow .25s ease; }
.lcm-v3-location-card:hover { transform:translateY(-8px); box-shadow:0 30px 66px rgba(8,42,34,.23); }
.lcm-v3-location-card>.elementor-widget-wrap { align-content:center; align-items:center; gap:11px; text-align:center; }
.lcm-v3-location-icon { width:auto!important; margin-bottom:16px; }
.lcm-v3-location-icon .elementor-icon { display:grid; width:102px; height:102px; place-items:center; border:3px solid rgba(255,255,255,.55); border-radius:50%; background:var(--v3-wa)!important; color:var(--v3-deep)!important; font-size:46px!important; box-shadow:0 0 0 10px rgba(37,211,102,.1),0 18px 38px rgba(0,0,0,.2); }
.lcm-v3-location-value .elementor-heading-title { color:#fff; font-family:Georgia,serif; font-size:48px; font-weight:400; line-height:1; }
.lcm-v3-location-card p { color:rgba(255,255,255,.82); font-size:16px!important; font-weight:600; }

/* Mapa ubicado inmediatamente debajo del anuncio de ubicación. */
.lcm-v3-map { padding-top:0!important; padding-bottom:0!important; background:var(--v3-deep); }
.lcm-v3-map>.elementor-container { width:100%; max-width:none; align-items:stretch; }
.lcm-v3-map-heading-wrap { width:36%; padding:66px max(4vw,34px); }
.lcm-v3-map-heading-wrap>.elementor-widget-wrap { align-content:center; gap:20px; }
.lcm-v3-map-title .elementor-heading-title { color:#fff; font-size:clamp(38px,3.4vw,58px); line-height:1.02; }
.lcm-v3-map-address p { color:rgba(255,255,255,.7); }
.lcm-v3-map-widget-wrap { position:relative; width:64%; min-height:520px; background:#dfe6df; }
.lcm-v3-google-map,.lcm-v3-google-map .elementor-widget-container,.lcm-v3-route-map,.lcm-v3-route-map iframe { display:block; width:100%; height:520px!important; border:0; }
.lcm-v3-map-exact-button { position:absolute; right:20px; bottom:20px; width:auto!important; z-index:2; }
.lcm-v3-map-exact-button .elementor-button { border:0; border-radius:8px; background:var(--v3-deep); color:#fff; padding:14px 21px; font-size:13px; font-weight:850; box-shadow:0 8px 24px rgba(0,0,0,.22); }

/* Datos y precio. */
.lcm-v3-details { padding-top:110px!important; padding-bottom:120px!important; background:var(--v3-cream); }
.lcm-v3-details>.elementor-container { align-items:center; gap:5%; }
.lcm-v3-plan-wrap { width:24%; }
.lcm-v3-details-copy { width:38%; }
.lcm-v3-price-card { width:33%; }
.lcm-v3-details-copy>.elementor-widget-wrap,.lcm-v3-price-card>.elementor-widget-wrap { align-content:center; gap:17px; }
.lcm-v3-plan img { display:block; width:100%; max-height:430px; object-fit:contain; box-shadow:0 16px 40px rgba(8,42,34,.1); }
.lcm-v3-details-title .elementor-heading-title { color:var(--v3-ink); font-size:clamp(40px,3.6vw,60px); line-height:1; }
.lcm-v3-details-list ul { margin:4px 0 0; padding:0; list-style:none; }
.lcm-v3-details-list li { position:relative; padding:8px 0 8px 27px; color:var(--v3-muted); font-size:14px!important; }
.lcm-v3-details-list li:before { content:'\2713'; position:absolute; left:0; color:var(--v3-wa-dark); font-weight:900; }
.lcm-v3-price-card { min-height:380px; padding:42px; border-radius:22px; background:var(--v3-deep); color:#fff; box-shadow:var(--v3-shadow); }
.lcm-v3-price-title .elementor-heading-title { color:#fff; font-family:Georgia,serif; font-size:43px; font-weight:400; }
.lcm-v3-price-card p { color:rgba(255,255,255,.72); font-size:14px!important; }

/* Preguntas frecuentes visibles y editables: refuerzan intención de búsqueda. */
.lcm-v3-faq { padding-top:112px!important; padding-bottom:120px!important; background:var(--v3-white); }
.lcm-v3-faq>.elementor-container>.elementor-column>.elementor-widget-wrap { align-items:center; gap:18px; text-align:center; }
.lcm-v3-faq .lcm-v3-kicker,.lcm-v3-faq-title,.lcm-v3-faq-intro { width:100%!important; text-align:center; }
.lcm-v3-faq-title { max-width:920px; }
.lcm-v3-faq-intro { max-width:760px; }
.lcm-v3-faq-intro p { color:var(--v3-muted); font-size:17px!important; }
.lcm-v3-faq-grid { width:100%; margin-top:36px; }
.lcm-v3-faq-grid>.elementor-container { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.lcm-v3-faq-card { width:auto!important; min-height:280px; padding:38px 36px; border:1px solid rgba(13,61,49,.14); border-radius:24px; background:radial-gradient(circle at 50% 0,rgba(37,211,102,.12),transparent 44%),var(--v3-cream); box-shadow:0 16px 42px rgba(8,42,34,.08); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.lcm-v3-faq-card:hover { transform:translateY(-6px); border-color:rgba(37,211,102,.62); box-shadow:0 26px 58px rgba(8,42,34,.13); }
.lcm-v3-faq-card>.elementor-widget-wrap { align-content:center; align-items:center; gap:13px; text-align:center; }
.lcm-v3-faq-icon { display:block!important; width:100%!important; text-align:center!important; }
.lcm-v3-faq-icon .elementor-icon-wrapper { display:flex!important; justify-content:center!important; }
.lcm-v3-faq-icon .elementor-icon { display:grid; width:64px; height:64px; place-items:center; margin:0 auto; border-radius:50%; background:var(--v3-deep)!important; color:var(--v3-wa)!important; font-size:24px!important; box-shadow:0 0 0 8px rgba(37,211,102,.09); }
.lcm-v3-faq-question .elementor-heading-title { color:var(--v3-ink); font-family:Georgia,serif; font-size:30px; font-weight:400; line-height:1.08; }
.lcm-v3-faq-answer p { max-width:560px; margin:0 auto!important; color:var(--v3-muted); font-size:16px!important; line-height:1.6!important; }

/* Cierre limpio: solamente WhatsApp. */
.lcm-v3-final { position:relative; overflow:hidden; padding-top:105px!important; padding-bottom:105px!important; background:radial-gradient(circle at 85% 40%,rgba(37,211,102,.2),transparent 28%),var(--v3-dark); }
.lcm-v3-final>.elementor-container { align-items:center; justify-content:space-between; gap:7%; }
.lcm-v3-final-copy { width:62%; }
.lcm-v3-final-copy>.elementor-widget-wrap { gap:17px; }
.lcm-v3-final-action { width:31%; }
.lcm-v3-final-action>.elementor-widget-wrap { align-content:center; align-items:flex-start; gap:13px; }
.lcm-v3-final-title .elementor-heading-title { color:#fff; font-size:clamp(48px,4.7vw,74px); line-height:.98; }
.lcm-v3-final-text p { max-width:720px; color:rgba(255,255,255,.78); font-size:19px!important; }
.lcm-v3-final-legal p { color:rgba(255,255,255,.5); font-size:12px!important; }

/* WhatsApp fijado directamente a la ventana, independiente de Elementor. */
.lcm-v3-fixed-wa { position:fixed!important; right:24px!important; bottom:24px!important; left:auto!important; top:auto!important; z-index:2147483646!important; display:flex!important; width:72px!important; height:72px!important; align-items:center!important; justify-content:center!important; overflow:visible!important; border:3px solid #fff!important; border-radius:50%!important; background:var(--v3-wa)!important; color:#fff!important; text-decoration:none!important; box-shadow:0 12px 34px rgba(0,0,0,.3)!important; transform:none; animation:lcm-v3-wiggle 2s ease-in-out infinite; }
.lcm-v3-fixed-wa svg { display:block; width:39px; height:39px; fill:currentColor; }
.lcm-v3-fixed-wa span { position:absolute; right:82px; width:max-content; padding:9px 13px; border-radius:8px; background:var(--v3-dark); color:#fff; font-size:12px; font-weight:800; opacity:0; pointer-events:none; transform:translateX(8px); transition:.2s ease; }
.lcm-v3-fixed-wa:hover { background:#38e477!important; color:#fff!important; }
.lcm-v3-fixed-wa:hover span { opacity:1; transform:translateX(0); }
@keyframes lcm-v3-wiggle {
    0%,72%,100% { transform:rotate(0) scale(1); }
    76% { transform:rotate(-8deg) scale(1.06); }
    81% { transform:rotate(8deg) scale(1.06); }
    86% { transform:rotate(-6deg) scale(1.04); }
    91% { transform:rotate(6deg) scale(1.04); }
    96% { transform:rotate(0) scale(1); }
}

@media(max-width:1024px) {
    .lcm-v3-nav-wrap { display:none; }
    .lcm-v3-brand-wrap,.lcm-v3-header-action { width:50%; }
    .lcm-v3-hero>.elementor-container,.lcm-v3-story>.elementor-container,.lcm-v3-details>.elementor-container { gap:4%; }
    .lcm-v3-hero-copy,.lcm-v3-hero-photo-wrap { width:48%; }
    .lcm-v3-hero-title .elementor-heading-title { font-size:48px; }
    .lcm-v3-feature-grid>.elementor-container,.lcm-v3-faq-grid>.elementor-container { display:grid; grid-template-columns:repeat(2,1fr); }
    .lcm-v3-feature-card { width:auto!important; }
    .lcm-v3-seasons-title .elementor-heading-title { white-space:normal; }
    .lcm-v3-map-heading-wrap { width:42%; }
    .lcm-v3-map-widget-wrap { width:58%; }
    .lcm-v3-price-card { padding:30px; }
}

@media(max-width:767px) {
    .lcm-v3-topbar,.lcm-v3-hero,.lcm-v3-stats,.lcm-v3-trust,.lcm-v3-story,
    .lcm-v3-seasons,.lcm-v3-features,.lcm-v3-gallery,.lcm-v3-location,
    .lcm-v3-map,.lcm-v3-details,.lcm-v3-faq,.lcm-v3-final { padding-left:18px!important; padding-right:18px!important; }
    .lcm-v3-topbar { min-height:76px; padding-top:10px!important; padding-bottom:10px!important; }
    .lcm-v3-topbar>.elementor-container { display:flex; flex-wrap:nowrap; gap:10px; }
    .lcm-v3-brand-wrap { width:55%!important; }
    .lcm-v3-header-action { width:45%!important; }
    .lcm-v3-brand .elementor-heading-title { font-size:15px; }
    .lcm-v3-brand-note p { font-size:7px!important; }
    .lcm-v3-header-action .elementor-button { padding:12px 13px; font-size:11px; }

    .lcm-v3-hero { min-height:0; padding-top:56px!important; padding-bottom:72px!important; }
    .lcm-v3-hero>.elementor-container,.lcm-v3-story>.elementor-container,
    .lcm-v3-map>.elementor-container,.lcm-v3-details>.elementor-container,
    .lcm-v3-final>.elementor-container { display:flex; flex-direction:column; gap:38px; }
    .lcm-v3-hero-copy,.lcm-v3-hero-photo-wrap,.lcm-v3-story-photo-wrap,
    .lcm-v3-story-copy,.lcm-v3-map-heading-wrap,.lcm-v3-map-widget-wrap,
    .lcm-v3-plan-wrap,.lcm-v3-details-copy,.lcm-v3-price-card,
    .lcm-v3-final-copy,.lcm-v3-final-action { width:100%!important; }
    .lcm-v3-hero-title .elementor-heading-title { font-size:clamp(39px,11.2vw,52px); }
    .lcm-v3-hero-lead p { font-size:16px!important; }
    .lcm-v3-action-row>.elementor-container { display:flex; flex-direction:column; align-items:stretch; }
    .lcm-v3-action-row .elementor-column,.lcm-v3-action-row .elementor-widget-button,.lcm-v3-action-row .elementor-button { width:100%!important; }
    .lcm-v3-hero-photo-wrap { min-height:370px; }
    .lcm-v3-hero-photo .elementor-widget-container,.lcm-v3-hero-photo a { height:370px; }
    .lcm-v3-hero-photo img { border-radius:2px 28px 2px 2px; }
    .lcm-v3-photo-caption { right:-4px; bottom:-18px; width:82%!important; padding:18px 20px; }
    .lcm-v3-photo-caption strong { font-size:20px; }

    .lcm-v3-stats { margin-top:0; padding-top:22px!important; padding-bottom:58px!important; background:var(--v3-white); }
    .lcm-v3-stats>.elementor-container,.lcm-v3-trust>.elementor-container,
    .lcm-v3-location-grid>.elementor-container { display:grid; grid-template-columns:1fr; gap:12px; }
    .lcm-v3-stat-card,.lcm-v3-trust-card,.lcm-v3-location-card { width:100%!important; min-height:0; }
    .lcm-v3-stat-card { padding:25px; }
    .lcm-v3-trust { padding-top:10px!important; padding-bottom:76px!important; }
    .lcm-v3-trust-card { min-height:205px; padding:28px; }

    .lcm-v3-story { padding-top:78px!important; padding-bottom:84px!important; }
    .lcm-v3-story-photo img { height:390px; }
    .lcm-v3-section-title .elementor-heading-title { font-size:43px; }
    .lcm-v3-seasons { padding-top:78px!important; padding-bottom:82px!important; }
    .lcm-v3-seasons-title .elementor-heading-title { font-size:42px; white-space:normal; }
    .lcm-v3-seasons-photos>.elementor-container { display:flex; flex-direction:column; }
    .lcm-v3-season-card { width:100%!important; min-height:340px; }

    .lcm-v3-features { padding-top:82px!important; padding-bottom:88px!important; }
    .lcm-v3-feature-grid>.elementor-container { display:grid; grid-template-columns:1fr; gap:13px; }
    .lcm-v3-feature-card { min-height:300px; padding:27px; }
    .lcm-v3-gallery { padding-top:82px!important; padding-bottom:88px!important; }
    .lcm-v3-gallery-grid>.elementor-container { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:300px repeat(3,170px); gap:9px; }
    .lcm-v3-gallery-card:nth-child(1) { grid-column:1/3; grid-row:1; }
    .lcm-v3-gallery-card:nth-child(n+2) { grid-column:auto; grid-row:auto; }

    .lcm-v3-location { padding-top:82px!important; padding-bottom:84px!important; }
    .lcm-v3-location-title .elementor-heading-title { font-size:49px; }
    .lcm-v3-location-card { padding:29px; }
    .lcm-v3-map { padding-left:0!important; padding-right:0!important; }
    .lcm-v3-map>.elementor-container { gap:0; }
    .lcm-v3-map-heading-wrap { padding:60px 20px; }
    .lcm-v3-map-title .elementor-heading-title { font-size:42px; }
    .lcm-v3-map-widget-wrap { min-height:430px; }
    .lcm-v3-google-map,.lcm-v3-google-map .elementor-widget-container,.lcm-v3-route-map,.lcm-v3-route-map iframe { height:430px!important; }

    .lcm-v3-details { padding-top:82px!important; padding-bottom:88px!important; }
    .lcm-v3-plan-wrap { max-width:300px; margin:0 auto; }
    .lcm-v3-price-card { min-height:0; padding:30px; }
    .lcm-v3-faq { padding-top:82px!important; padding-bottom:88px!important; }
    .lcm-v3-faq-grid>.elementor-container { grid-template-columns:1fr; gap:12px; }
    .lcm-v3-faq-card { min-height:0; padding:31px 24px; }
    .lcm-v3-faq-question .elementor-heading-title { font-size:27px; }
    .lcm-v3-final { padding-top:72px!important; padding-bottom:98px!important; }
    .lcm-v3-final-title .elementor-heading-title { font-size:48px; }
    .lcm-v3-final-action .elementor-widget-button,.lcm-v3-final-action .elementor-button { width:100%; }
    .lcm-v3-fixed-wa { right:15px!important; bottom:15px!important; width:64px!important; height:64px!important; }
    .lcm-v3-fixed-wa svg { width:35px; height:35px; }
    .lcm-v3-fixed-wa span { display:none; }
}

@media(prefers-reduced-motion:reduce) { .lcm-v3-fixed-wa { animation:none; } }

/* Elementor aplica alineación propia al envoltorio de cada ícono. Se centra
   explícitamente el widget, su contenedor y el círculo visual completo. */
.lcm-v3-stat-icon,
.lcm-v3-trust-icon,
.lcm-v3-feature-icon,
.lcm-v3-location-icon {
    display:block!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    align-self:center!important;
}
.lcm-v3-stat-icon .elementor-widget-container,
.lcm-v3-trust-icon .elementor-widget-container,
.lcm-v3-feature-icon .elementor-widget-container,
.lcm-v3-location-icon .elementor-widget-container,
.lcm-v3-stat-icon .elementor-icon-wrapper,
.lcm-v3-trust-icon .elementor-icon-wrapper,
.lcm-v3-feature-icon .elementor-icon-wrapper,
.lcm-v3-location-icon .elementor-icon-wrapper {
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
}
.lcm-v3-stat-icon .elementor-icon,
.lcm-v3-trust-icon .elementor-icon,
.lcm-v3-feature-icon .elementor-icon,
.lcm-v3-location-icon .elementor-icon {
    flex:0 0 auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Encabezado de la galería centrado como una unidad editorial. */
.lcm-v3-gallery>.elementor-container>.elementor-column>.elementor-widget-wrap {
    align-items:center!important;
}
.lcm-v3-gallery .lcm-v3-kicker,
.lcm-v3-gallery .lcm-v3-section-title,
.lcm-v3-gallery .lcm-v3-gallery-note {
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
}
.lcm-v3-gallery .lcm-v3-gallery-note { max-width:700px; }

/* Centrado del bloque estacional completo. */
.lcm-v3-seasons>.elementor-container>.elementor-column>.elementor-widget-wrap {
    align-items:center!important;
    text-align:center!important;
}
.lcm-v3-seasons .lcm-v3-kicker,
.lcm-v3-seasons .lcm-v3-seasons-title {
    display:block!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
}
.lcm-v3-seasons .lcm-v3-kicker p,
.lcm-v3-seasons .lcm-v3-seasons-title .elementor-heading-title {
    width:100%!important;
    text-align:center!important;
}

/* La etiqueta de Barrio Atalaya queda centrada sobre el título. */
.lcm-v3-location .lcm-v3-kicker {
    display:table!important;
    width:auto!important;
    max-width:max-content!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-self:center!important;
    text-align:center!important;
}
.lcm-v3-location .lcm-v3-kicker .elementor-widget-container,
.lcm-v3-location .lcm-v3-kicker p {
    width:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
}
