/* =========================================================
   HOTEL MAHANANDA — COMPLETE HERO CSS
   Rebuilt from the current Hero HTML structure.
   HERO ONLY — no selectors outside .hero.
   ========================================================= */

/* ---------- HERO FOUNDATION ---------- */
.hero{
    position:relative;
    width:100%;
    min-height:100vh;
    overflow:hidden;
    isolation:isolate;
    background:#111;
}

.hero .hero-slider{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
    overflow:hidden;
    background:#111;
}

.hero .hero-slider .slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 1.2s ease, visibility 1.2s ease;
}

.hero .hero-slider .slide:first-child{
    opacity:1;
    visibility:visible;
}

.hero .hero-slider .slide.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    z-index:2;
}

.hero .hero-slider .slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}

/* ---------- HERO OVERLAY ---------- */
.hero .hero-overlay{
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.34) 0%,
            rgba(0,0,0,.16) 42%,
            rgba(0,0,0,.30) 100%
        );
}

/* ---------- MAIN HERO CONTENT AREA ---------- */
.hero .hero-safe-zone{
    position:relative;
    z-index:10;
    width:100%;
    min-height:100vh;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:118px 24px 175px;
}

.hero .hero-content{
    position:relative;
    z-index:11;
    width:100%;
    max-width:1120px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    box-sizing:border-box;
}

/* ---------- ONE REAL WELCOME LINE ---------- */
/* Do NOT generate Welcome with ::before/::after. */
.hero .hero-content::before,
.hero .hero-content::after,
.hero .hero-logo::before,
.hero .hero-logo::after,
.hero .hero-welcome::before,
.hero .hero-welcome::after{
    content:none !important;
    display:none !important;
}

.hero .hero-welcome{
    display:block !important;
    position:relative;
    z-index:30;
    width:auto;
    max-width:100%;
    height:auto;
    max-height:none;
    margin:0 0 12px;
    padding:0;
    box-sizing:border-box;
    color:#F6D365;
    font-family:'Poppins',sans-serif;
    font-size:16px;
    font-weight:600;
    line-height:1.35;
    letter-spacing:7px;
    text-align:center;
    text-transform:uppercase;
    white-space:nowrap;
    visibility:visible !important;
    opacity:1 !important;
    overflow:visible;
    transform:none !important;
    animation:none !important;
}

/* ---------- HOTEL NAME + MANAGED BY ---------- */
.hero .hero-logo{
    position:relative;
    z-index:30;
    width:100%;
    margin:0 0 14px;
    padding:0;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    opacity:1;
    visibility:visible;
}

.hero .hero-logo h1{
    margin:0;
    padding:0;
    color:#fff;
    font-family:'Cinzel',serif;
    font-size:clamp(42px,5.2vw,68px);
    font-weight:700;
    line-height:1.08;
    letter-spacing:.5px;
    text-align:center;
    text-shadow:0 2px 10px rgba(0,0,0,.28);
    opacity:1;
    visibility:visible;
}

.hero .hero-logo h1 span{
    display:inline;
    color:inherit;
    font:inherit;
}

.hero .hero-managed-by{
    display:block;
    position:relative;
    z-index:31;
    max-width:100%;
    margin:8px 0 0;
    padding:0;
    color:#f4f4f4;
    font-family:'Poppins',sans-serif;
    font-size:16px;
    font-weight:400;
    line-height:1.5;
    text-align:center;
    text-shadow:0 1px 5px rgba(0,0,0,.45);
    opacity:1;
    visibility:visible;
}

/* ---------- DIVIDER ---------- */
.hero .hero-divider{
    position:relative;
    z-index:30;
    margin:0 0 18px;
    padding:0;
    color:#D4AF37;
    font-family:'Cinzel',serif;
    font-size:19px;
    line-height:1.2;
    letter-spacing:9px;
    text-align:center;
    opacity:1;
    visibility:visible;
    animation:none;
}

/* ---------- MAIN HERO TITLE ---------- */
.hero .hero-title{
    position:relative;
    z-index:30;
    width:100%;
    max-width:1000px;
    margin:0 0 18px;
    padding:0;
    color:#F6D365;
    font-family:'Cinzel',serif;
    font-size:clamp(38px,4.8vw,62px);
    font-weight:700;
    line-height:1.14;
    letter-spacing:1px;
    text-align:center;
    text-shadow:0 2px 8px rgba(0,0,0,.35);
    opacity:1;
    visibility:visible;
    transform:none;
    animation:none;
}

.hero .hero-title span{
    color:inherit;
    font:inherit;
}

/* ---------- DESCRIPTION ---------- */
.hero .hero-description{
    position:relative;
    z-index:30;
    width:100%;
    max-width:820px;
    margin:0 auto 24px;
    padding:0;
    color:#f5f5f5;
    font-family:'Poppins',sans-serif;
    font-size:16px;
    font-weight:400;
    line-height:1.65;
    text-align:center;
    text-shadow:0 1px 5px rgba(0,0,0,.45);
    opacity:1;
    visibility:visible;
    transform:none;
    animation:none;
}

/* ---------- HERO BUTTONS ---------- */
.hero .hero-buttons{
    position:relative;
    z-index:32;
    width:100%;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:16px;
    opacity:1;
    visibility:visible;
    transform:none;
    animation:none;
}

.hero .hero-buttons a{
    position:relative;
    z-index:33;
    box-sizing:border-box;
    text-decoration:none;
}

.hero .hero-cta{
    min-width:220px;
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 28px;
    border-radius:999px;
    font-family:'Poppins',sans-serif;
    font-size:15px;
    font-weight:600;
    line-height:1.2;
    text-align:center;
    transition:
        transform .25s ease,
        background-color .25s ease,
        color .25s ease,
        box-shadow .25s ease;
}

.hero .hero-cta.btn-primary{
    background:#D9B236;
    color:#111;
    border:1px solid #D9B236;
    box-shadow:0 8px 24px rgba(0,0,0,.20);
}

.hero .hero-cta.btn-outline{
    background:rgba(0,0,0,.08);
    color:#F6D365;
    border:2px solid #D9B236;
}

.hero .hero-cta:hover{
    transform:translateY(-2px);
}

/* ---------- SCROLL INDICATOR ---------- */
.hero > .scroll-indicator{
    position:absolute;
    left:50%;
    bottom:150px;
    top:auto;
    z-index:40;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0;
    padding:0;
    color:#D4AF37;
    text-align:center;
    transform:translateX(-50%);
    opacity:1;
    visibility:visible;
    pointer-events:none;
}

.hero > .scroll-indicator span{
    display:block;
    color:#D4AF37;
    font-family:'Poppins',sans-serif;
    font-size:10px;
    font-weight:500;
    line-height:1.3;
    letter-spacing:2.5px;
    text-transform:uppercase;
    white-space:nowrap;
}

.hero > .scroll-indicator i{
    display:block;
    color:#D4AF37;
    font-size:23px;
    line-height:1;
    animation:hotelMahanandaHeroArrow 1.6s ease-in-out infinite;
}

@keyframes hotelMahanandaHeroArrow{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(7px);}
}

/* ---------- TABLET ---------- */
@media (max-width:992px){
    .hero .hero-safe-zone{
        padding:105px 20px 165px;
    }

    .hero .hero-welcome{
        font-size:14px;
        letter-spacing:5px;
    }

    .hero .hero-logo h1{
        font-size:clamp(38px,6.5vw,56px);
    }

    .hero .hero-title{
        max-width:820px;
        font-size:clamp(34px,5.5vw,50px);
    }

    .hero .hero-description{
        max-width:680px;
        font-size:15px;
    }

    .hero > .scroll-indicator{
        bottom:125px;
    }
}

/* ---------- MOBILE ---------- */
@media (max-width:768px){
    .hero{
        min-height:100svh;
    }

    .hero .hero-safe-zone{
        min-height:100svh;
        padding:96px 18px 120px;
        align-items:center;
    }

    .hero .hero-content{
        max-width:100%;
    }

    .hero .hero-welcome{
        margin-bottom:9px;
        font-size:12px;
        letter-spacing:3.5px;
        line-height:1.3;
    }

    .hero .hero-logo{
        margin-bottom:10px;
    }

    .hero .hero-logo h1{
        max-width:100%;
        font-size:clamp(32px,9vw,46px);
        line-height:1.08;
    }

    .hero .hero-managed-by{
        max-width:340px;
        margin-top:6px;
        font-size:13px;
        line-height:1.45;
    }

    .hero .hero-divider{
        margin-bottom:14px;
        font-size:16px;
        letter-spacing:7px;
    }

    .hero .hero-title{
        max-width:360px;
        margin-bottom:13px;
        font-size:clamp(27px,7.5vw,36px);
        line-height:1.12;
    }

    .hero .hero-description{
        max-width:340px;
        margin-bottom:19px;
        font-size:14px;
        line-height:1.58;
    }

    .hero .hero-buttons{
        flex-direction:column;
        gap:10px;
    }

    .hero .hero-cta{
        width:220px;
        min-width:220px;
        min-height:50px;
        padding:12px 22px;
        font-size:14px;
    }

    .hero > .scroll-indicator{
        bottom:55px;
    }

    .hero > .scroll-indicator span{
        font-size:8px;
        letter-spacing:1.8px;
    }

    .hero > .scroll-indicator i{
        font-size:20px;
    }
}

/* ---------- SMALL MOBILE ---------- */
@media (max-width:480px){
    .hero .hero-safe-zone{
        padding:88px 15px 105px;
    }

    .hero .hero-welcome{
        font-size:10px;
        letter-spacing:2.5px;
        margin-bottom:8px;
    }

    .hero .hero-logo h1{
        font-size:clamp(30px,9vw,40px);
    }

    .hero .hero-managed-by{
        max-width:300px;
        font-size:12px;
    }

    .hero .hero-divider{
        margin-bottom:12px;
        font-size:15px;
        letter-spacing:6px;
    }

    .hero .hero-title{
        max-width:310px;
        font-size:26px;
    }

    .hero .hero-description{
        max-width:290px;
        font-size:13px;
        line-height:1.55;
    }

    .hero .hero-cta{
        width:205px;
        min-width:205px;
        min-height:48px;
        font-size:13px;
    }

    .hero > .scroll-indicator{
        display:none;
    }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
    .hero .hero-slider .slide,
    .hero .hero-cta,
    .hero > .scroll-indicator i{
        transition:none;
        animation:none;
    }
}
