/* =========================================================
HOTEL MONARCA — HABITACIÓN EJECUTIVA
Archivo exclusivo. No modifica header/footer global.
========================================================= */

.ejecutiva-ac-eyebrow {
    margin:0 0 18px;
    font-size:9px;
    font-weight:700;
    letter-spacing:.22em;
    color:#e0c79e
}

.ejecutiva-ac-eyebrow--dark {
    color:#a17d4b
}

/* HERO */

.ejecutiva-ac-hero {
    position:relative;
    height:calc(100vh - var(--topbar-height) - var(--header-height));
    min-height:700px;
    max-height:900px;
    overflow:hidden;
    color:#fff;
    background:#26332e
}

.ejecutiva-ac-hero__media,.ejecutiva-ac-hero__overlay {
    position:absolute;
    inset:0
}

.ejecutiva-ac-hero__media img {
    width:100%;
    height:100%;
    object-fit:cover
}

.ejecutiva-ac-hero__overlay {
    background:linear-gradient(90deg,rgba(20,30,26,.83),rgba(20,30,26,.32) 58%,rgba(20,30,26,.08)),linear-gradient(0deg,rgba(20,30,26,.7),transparent 48%)
}

.ejecutiva-ac-hero__container {
    position:relative;
    z-index:2;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding-bottom:70px
}

.ejecutiva-ac-hero__back {
    position:absolute;
    top:32px;
    left:var(--container-padding);
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.78);
    font-size:9px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase
}

.ejecutiva-ac-hero__index {
    position:absolute;
    right:var(--container-padding);
    top:25px;
    font-family:"Playfair Display",serif;
    font-size:76px;
    line-height:1;
    color:rgba(255,255,255,.22)
}

.ejecutiva-ac-hero__content {
    max-width:850px
}

.ejecutiva-ac-hero h1 {
    margin:0;
    font-family:"Playfair Display",serif;
    font-size:clamp(68px,8vw,124px);
    font-weight:500;
    line-height:.86;
    letter-spacing:-.05em
}

.ejecutiva-ac-hero h1 em {
    font-weight:500;
    color:#e5d2b2
}

.ejecutiva-ac-hero__lead {
    max-width:520px;
    margin:28px 0 0;
    font-size:14px;
    line-height:1.85;
    color:rgba(255,255,255,.7)
}

.ejecutiva-ac-hero__facts {
    position:absolute;
    right:var(--container-padding);
    bottom:72px;
    width:min(430px,38%);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid rgba(255,255,255,.28);
    border-bottom:1px solid rgba(255,255,255,.28)
}

.ejecutiva-ac-hero__facts div {
    padding:18px 15px;
    border-right:1px solid rgba(255,255,255,.18)
}

.ejecutiva-ac-hero__facts div:last-child {
    border-right:0
}

.ejecutiva-ac-hero__facts span {
    display:block;
    margin-bottom:5px;
    font-size:7px;
    font-weight:700;
    letter-spacing:.14em;
    color:rgba(255,255,255,.52)
}

.ejecutiva-ac-hero__facts strong {
    font-size:12px;
    font-weight:600
}

/* INTRO */

.ejecutiva-ac-intro {
    padding:92px 0;
    background:#f1e8dd
}

.ejecutiva-ac-intro__grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) 350px 320px;
    gap:55px;
    align-items:start
}

.ejecutiva-ac-intro h2,.ejecutiva-ac-gallery h2,.ejecutiva-ac-amenities h2,.ejecutiva-ac-note h2,.ejecutiva-ac-cta h2 {
    margin:0;
    font-family:"Playfair Display",serif;
    font-weight:500;
    line-height:.97;
    color:#293832
}

.ejecutiva-ac-intro h2 {
    font-size:clamp(48px,5vw,72px)
}

.ejecutiva-ac-intro h2 span,.ejecutiva-ac-gallery h2 span,.ejecutiva-ac-amenities h2 span {
    color:#788e82
}

.ejecutiva-ac-intro__copy {
    padding-top:33px
}

.ejecutiva-ac-intro__copy p {
    margin:0;
    font-size:14px;
    line-height:1.95;
    color:#6f7b74
}

.ejecutiva-ac-book {
    padding:28px;
    border:1px solid rgba(41,56,50,.13);
    border-radius:20px;
    background:rgba(255,255,255,.52)
}

.ejecutiva-ac-book__label {
    font-size:8px;
    font-weight:700;
    letter-spacing:.15em;
    color:#9c855f
}

.ejecutiva-ac-book__price {
    display:flex;
    align-items:end;
    gap:8px;
    margin:8px 0 15px
}

.ejecutiva-ac-book__price strong {
    font-family:"Playfair Display",serif;
    font-size:40px;
    color:#293832
}

.ejecutiva-ac-book__price small {
    padding-bottom:8px;
    color:#7e8983
}

.ejecutiva-ac-book p {
    margin:0 0 20px;
    font-size:11px;
    line-height:1.7;
    color:#7b8580
}

/* GALERÍA */

.ejecutiva-ac-gallery {
    padding:100px 0 110px;
    background:#f9f7f2
}

.ejecutiva-ac-gallery__head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:40px;
    margin-bottom:46px
}

.ejecutiva-ac-gallery h2 {
    font-size:clamp(45px,5vw,70px)
}

.ejecutiva-ac-gallery__counter {
    text-align:right
}

.ejecutiva-ac-gallery__counter strong {
    display:block;
    font-family:"Playfair Display",serif;
    font-size:52px;
    font-weight:500;
    color:#9aaa9f
}

.ejecutiva-ac-gallery__counter span {
    font-size:8px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#8c9690
}

.ejecutiva-ac-gallery__grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:235px;
    gap:14px
}

.ejecutiva-ac-photo {
    position:relative;
    padding:0;
    border:0;
    border-radius:16px;
    overflow:hidden;
    background:#dfe5df;
    cursor:pointer
}

.ejecutiva-ac-photo--hero {
    grid-column:span 2;
    grid-row:span 2
}

.ejecutiva-ac-photo--wide {
    grid-column:span 2
}

.ejecutiva-ac-photo--last {
    grid-column:span 2
}

.ejecutiva-ac-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s cubic-bezier(.22,1,.36,1),filter .4s ease
}

.ejecutiva-ac-photo::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 65%,rgba(20,30,26,.4))
}

.ejecutiva-ac-photo:hover img {
    transform:scale(1.045)
}

.ejecutiva-ac-photo>span {
    position:absolute;
    z-index:2;
    left:15px;
    bottom:13px;
    color:#fff;
    font-size:8px;
    font-weight:700;
    letter-spacing:.12em
}

.ejecutiva-ac-photo>strong {
    position:absolute;
    z-index:2;
    right:17px;
    bottom:13px;
    display:flex;
    align-items:center;
    gap:8px;
    color:#fff;
    font-size:9px;
    letter-spacing:.08em
}

/* AMENIDADES */

.ejecutiva-ac-amenities {
    padding:105px 0;
    background:#dfe7df
}

.ejecutiva-ac-amenities__grid {
    display:grid;
    grid-template-columns:390px 1fr;
    gap:90px;
    align-items:start
}

.ejecutiva-ac-amenities__heading {
    position:sticky;
    top:140px
}

.ejecutiva-ac-amenities h2 {
    font-size:clamp(48px,5vw,70px)
}

.ejecutiva-ac-amenities__heading>p:last-child {
    margin:27px 0 0;
    max-width:350px;
    font-size:13px;
    line-height:1.85;
    color:#68776f
}

.ejecutiva-ac-amenities__list {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    border-top:1px solid rgba(41,56,50,.14)
}

.ejecutiva-ac-amenity {
    min-height:145px;
    padding:25px 22px;
    border-right:1px solid rgba(41,56,50,.14);
    border-bottom:1px solid rgba(41,56,50,.14)
}

.ejecutiva-ac-amenity:nth-child(even) {
    border-right:0
}

.ejecutiva-ac-amenity i {
    display:block;
    margin-bottom:20px;
    font-size:19px;
    color:#8e7149
}

.ejecutiva-ac-amenity span {
    display:block;
    margin-bottom:4px;
    font-size:7px;
    font-weight:700;
    letter-spacing:.14em;
    color:#829087;
    text-transform:uppercase
}

.ejecutiva-ac-amenity strong {
    font-family:"Playfair Display",serif;
    font-size:20px;
    font-weight:500;
    color:#293832
}

/* NOTA */

.ejecutiva-ac-note {
    padding:95px 0;
    color:#fff;
    background:#34443d
}

.ejecutiva-ac-note__grid {
    display:grid;
    grid-template-columns:100px minmax(0,1fr) 440px;
    gap:55px;
    align-items:start
}

.ejecutiva-ac-note__number {
    font-family:"Playfair Display",serif;
    font-size:58px;
    color:rgba(255,255,255,.22)
}

.ejecutiva-ac-note h2 {
    font-size:clamp(48px,5vw,68px);
    color:#fff
}

.ejecutiva-ac-note h2 span {
    color:#d9c39d
}

.ejecutiva-ac-note__copy p {
    margin:0 0 18px;
    font-size:13px;
    line-height:1.85;
    color:rgba(255,255,255,.66)
}

.ejecutiva-ac-note__copy p:last-child {
    margin-bottom:0
}

/* CTA */

.ejecutiva-ac-cta {
    position:relative;
    min-height:570px;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    background:#26332e
}

.ejecutiva-ac-cta__media,.ejecutiva-ac-cta__overlay {
    position:absolute;
    inset:0
}

.ejecutiva-ac-cta__media img {
    width:100%;
    height:100%;
    object-fit:cover
}

.ejecutiva-ac-cta__overlay {
    background:linear-gradient(90deg,rgba(22,31,27,.86),rgba(22,31,27,.44),rgba(22,31,27,.18))
}

.ejecutiva-ac-cta__content {
    position:relative;
    z-index:2
}

.ejecutiva-ac-cta h2 {
    font-size:clamp(54px,6vw,86px);
    color:#fff
}

.ejecutiva-ac-cta h2 span {
    color:#e0c79e
}

.ejecutiva-ac-cta__actions {
    display:flex;
    align-items:center;
    gap:28px;
    margin-top:34px
}

.ejecutiva-ac-cta__back {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-size:10px;
    font-weight:700;
    letter-spacing:.07em
}

.ejecutiva-ac-cta__back i {
    transition:transform .3s ease
}

.ejecutiva-ac-cta__back:hover i {
    transform:translateX(5px)
}

/* REVEAL */

.ejecutiva-ac-reveal {
    opacity:0;
    transform:translateY(28px);
    transition:opacity .75s ease,transform .85s cubic-bezier(.22,1,.36,1)
}

.ejecutiva-ac-reveal.is-visible {
    opacity:1;
    transform:none
}

/* LIGHTBOX */

.ejecutiva-ac-lightbox {
    position:fixed;
    inset:0;
    z-index:1300;
    display:grid;
    place-items:center;
    padding:28px;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:opacity .3s ease,visibility .3s ease
}

.ejecutiva-ac-lightbox.is-open {
    visibility:visible;
    opacity:1;
    pointer-events:auto
}

.ejecutiva-ac-lightbox__backdrop {
    position:absolute;
    inset:0;
    background:rgba(20,29,25,.95);
    backdrop-filter:blur(12px)
}

.ejecutiva-ac-lightbox__dialog {
    position:relative;
    z-index:2;
    width:min(1150px,100%);
    color:#fff
}

.ejecutiva-ac-lightbox__top,.ejecutiva-ac-lightbox__bottom {
    display:flex;
    align-items:center;
    justify-content:space-between
}

.ejecutiva-ac-lightbox__top {
    margin-bottom:15px
}

.ejecutiva-ac-lightbox__top>div {
    display:flex;
    flex-direction:column
}

.ejecutiva-ac-lightbox__top span {
    font-size:7px;
    letter-spacing:.16em;
    color:rgba(255,255,255,.48)
}

.ejecutiva-ac-lightbox__top strong {
    font-family:"Playfair Display",serif;
    font-size:22px;
    font-weight:500
}

.ejecutiva-ac-lightbox__top button {
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:50%;
    color:#fff;
    background:transparent;
    cursor:pointer
}

.ejecutiva-ac-lightbox__stage {
    position:relative;
    height:min(72vh,720px);
    overflow:hidden;
    border-radius:18px;
    background:#151d19
}

.ejecutiva-ac-lightbox__stage img {
    width:100%;
    height:100%;
    object-fit:contain
}

.ejecutiva-ac-lightbox__arrow {
    position:absolute;
    z-index:3;
    top:50%;
    width:50px;
    height:50px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:50%;
    color:#fff;
    background:rgba(20,29,25,.45);
    cursor:pointer;
    transform:translateY(-50%)
}

.ejecutiva-ac-lightbox__arrow--prev {
    left:16px
}

.ejecutiva-ac-lightbox__arrow--next {
    right:16px
}

.ejecutiva-ac-lightbox__bottom {
    min-height:55px;
    font-size:9px;
    letter-spacing:.12em;
    color:rgba(255,255,255,.55)
}

.ejecutiva-ac-lightbox__dots {
    display:flex;
    gap:6px
}

.ejecutiva-ac-lightbox__dots button {
    width:20px;
    height:2px;
    padding:0;
    border:0;
    background:rgba(255,255,255,.22);
    cursor:pointer
}

.ejecutiva-ac-lightbox__dots button.is-active {
    background:#dfc79d
}

body.ejecutiva-ac-lightbox-open {
    overflow:hidden
}

/* RESPONSIVE */

@media(max-width:1050px) {
    .ejecutiva-ac-hero__facts {
        width:45%
    }

    .ejecutiva-ac-intro__grid {
        grid-template-columns:1fr 1fr
    }

    .ejecutiva-ac-book {
        grid-column:1/-1;
        display:grid;
        grid-template-columns:auto auto 1fr auto;
        align-items:center;
        gap:20px
    }

    .ejecutiva-ac-book__price {
        margin:0
    }

    .ejecutiva-ac-book p {
        margin:0
    }

    .ejecutiva-ac-amenities__grid {
        grid-template-columns:310px 1fr;
        gap:50px
    }

    .ejecutiva-ac-note__grid {
        grid-template-columns:70px 1fr
    }

    .ejecutiva-ac-note__copy {
        grid-column:2
    }

}

@media(max-width:800px) {
    .ejecutiva-ac-hero {
        height:78vh;
        min-height:650px
    }

    .ejecutiva-ac-hero__container {
        padding-bottom:55px
    }

    .ejecutiva-ac-hero__facts {
        position:static;
        width:100%;
        margin-top:32px
    }

    .ejecutiva-ac-hero__index {
        font-size:58px
    }

    .ejecutiva-ac-intro {
        padding:68px 0
    }

    .ejecutiva-ac-intro__grid {
        grid-template-columns:1fr;
        gap:28px
    }

    .ejecutiva-ac-intro__copy {
        padding-top:0
    }

    .ejecutiva-ac-book {
        grid-column:auto;
        display:block
    }

    .ejecutiva-ac-book__price {
        margin:8px 0 15px
    }

    .ejecutiva-ac-gallery {
        padding:70px 0 80px
    }

    .ejecutiva-ac-gallery__grid {
        grid-template-columns:repeat(2,1fr);
        grid-auto-rows:220px
    }

    .ejecutiva-ac-photo--hero {
        grid-column:span 2
    }

    .ejecutiva-ac-photo--wide,.ejecutiva-ac-photo--last {
        grid-column:span 2
    }

    .ejecutiva-ac-amenities {
        padding:75px 0
    }

    .ejecutiva-ac-amenities__grid {
        grid-template-columns:1fr;
        gap:42px
    }

    .ejecutiva-ac-amenities__heading {
        position:static
    }

    .ejecutiva-ac-note__grid {
        grid-template-columns:1fr;
        gap:25px
    }

    .ejecutiva-ac-note__copy {
        grid-column:auto
    }

}

@media(max-width:560px) {
    .ejecutiva-ac-hero {
        min-height:650px;
        height:auto;
        padding-top:0
    }

    .ejecutiva-ac-hero__container {
        min-height:650px
    }

    .ejecutiva-ac-hero__back {
        top:22px
    }

    .ejecutiva-ac-hero__index {
        top:18px;
        font-size:46px
    }

    .ejecutiva-ac-hero h1 {
        font-size:58px
    }

    .ejecutiva-ac-hero__facts div {
        padding:15px 8px
    }

    .ejecutiva-ac-hero__facts strong {
        font-size:10px
    }

    .ejecutiva-ac-intro h2,.ejecutiva-ac-gallery h2,.ejecutiva-ac-amenities h2,.ejecutiva-ac-note h2 {
        font-size:43px
    }

    .ejecutiva-ac-gallery__head {
        align-items:start;
        flex-direction:column
    }

    .ejecutiva-ac-gallery__counter {
        text-align:left
    }

    .ejecutiva-ac-gallery__grid {
        grid-auto-rows:175px;
        gap:9px
    }

    .ejecutiva-ac-photo--hero {
        grid-row:span 2
    }

    .ejecutiva-ac-amenities__list {
        grid-template-columns:1fr
    }

    .ejecutiva-ac-amenity {
        border-right:0
    }

    .ejecutiva-ac-cta {
        min-height:540px
    }

    .ejecutiva-ac-cta h2 {
        font-size:49px
    }

    .ejecutiva-ac-cta__actions {
        align-items:flex-start;
        flex-direction:column
    }

    .ejecutiva-ac-lightbox {
        padding:16px
    }

    .ejecutiva-ac-lightbox__stage {
        height:62vh
    }

    .ejecutiva-ac-lightbox__arrow {
        width:43px;
        height:43px
    }

    .ejecutiva-ac-lightbox__arrow--prev {
        left:8px
    }

    .ejecutiva-ac-lightbox__arrow--next {
        right:8px
    }

}
