/* LCE Hero Slider — structural only */
.lce-hero-slider { position: relative; overflow: hidden; width: 100%; }

/* Track define el alto via el slider mismo */
.lce-hero-slider__track {
    position: relative;
    width: 100%;
    height: 90vh; /* fallback */
}

/* Todos los slides absolute sobre el track */
.lce-hero-slider__slide {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .8s ease;
    pointer-events: none;
    overflow: hidden;
}
.lce-hero-slider__slide.is-active {
    opacity: 1;
    pointer-events: all;
}

/* Slide transition */
.lce-hero-slider--slide .lce-hero-slider__slide { transform: translateX(100%); transition: transform .6s ease; opacity: 1; }
.lce-hero-slider--slide .lce-hero-slider__slide.is-active { transform: translateX(0); }
.lce-hero-slider--slide .lce-hero-slider__slide.is-prev { transform: translateX(-100%); }

/* ── Background ─────────────────────────────────────────────────────── */
.lce-hero-slider__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    will-change: transform;
}
.lce-hero-slider__bg.kb-play {
    animation: lce-kenburns 8s ease-out forwards;
}
@keyframes lce-kenburns {
    0%   { transform: scale(1.08) translateX(1%); }
    100% { transform: scale(1.0)  translateX(-1%); }
}

.lce-hero-slider__bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lce-hero-slider__overlay { position: absolute; inset: 0; }

/* ── Content wrap ───────────────────────────────────────────────────── */
.lce-hero-slider__content-wrap {
    position: absolute;
    inset: 0;
    z-index: inherit;
    display: flex;
    align-items: center;
    padding: 2rem 6%;
}
.lce-hero-slider__content-wrap--left   { justify-content: flex-start; }
.lce-hero-slider__content-wrap--center { justify-content: center; }
.lce-hero-slider__content-wrap--right  { justify-content: flex-end; }

/* ── Content box ────────────────────────────────────────────────────── */
.lce-hero-slider__content {
    display: flex;
    flex-direction: column;
    gap: .85rem;
    width: 100%;
    max-width: 480px;
}
.lce-hero-slider__content-wrap--left .lce-hero-slider__content   { align-items: flex-start; text-align: left; }
.lce-hero-slider__content-wrap--center .lce-hero-slider__content { align-items: center;     text-align: center; }
.lce-hero-slider__content-wrap--right .lce-hero-slider__content  { align-items: flex-end;   text-align: right; }

/* ── Typography ─────────────────────────────────────────────────────── */
.lce-hero-slider__eyebrow { font-size: .8rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.lce-hero-slider__title { margin: 0; line-height: 1.05; }
.lce-hero-slider__subtitle { margin: 0; opacity: .85; font-size: 1rem; }
.lce-hero-slider__cta { display: inline-flex; align-items: center; padding: .75rem 1.75rem; font-size: .85rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: opacity .2s; }
.lce-hero-slider__cta:hover { opacity: .85; }

/* ── Arrows ─────────────────────────────────────────────────────────── */
.lce-hero-slider__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: rgba(0,0,0,.3); border: none; color: #fff; padding: .75rem; cursor: pointer; display: flex; align-items: center; transition: background .2s; }
.lce-hero-slider__arrow:hover { background: rgba(0,0,0,.6); }
.lce-hero-slider__arrow--prev { left: 1rem; }
.lce-hero-slider__arrow--next { right: 1rem; }

/* ── Dots ───────────────────────────────────────────────────────────── */
.lce-hero-slider__dots { position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); display: flex; gap: .5rem; z-index: 10; }
.lce-hero-slider__dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.5); border: none; cursor: pointer; padding: 0; transition: background .2s, transform .2s; }
.lce-hero-slider__dot.is-active { background: #fff; transform: scale(1.3); }

/* ── Mobile ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .lce-hero-slider__content-wrap { padding: 2rem 1.25rem; }
    .lce-hero-slider__content { max-width: 100% !important; }
}
