/* ==========================================================
   INSIDEUDAIPUR
   HOTEL PROFILE — PREMIUM HERO
   Reusable Hotel Profile Component
========================================================== */

.iu-hotel-page{
    --hotel-gold:#e4a91f;
    --hotel-gold-soft:#f0bd3d;
    --hotel-white:#ffffff;
    --hotel-dark:#0b1d30;
}


/* ==========================================================
   HERO
========================================================== */

.iu-hotel-page .iu-hotel-hero{
    position:relative;
    min-height:680px;
    width:100%;
    overflow:hidden;
    isolation:isolate;
    background:var(--hotel-dark);
}


/* ==========================================================
   IMAGE
========================================================== */

.iu-hotel-page .iu-hotel-hero-media{
    position:absolute;
    inset:0;
    z-index:-3;
}

.iu-hotel-page .iu-hotel-hero-media img{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center;
}


/* ==========================================================
   CINEMATIC OVERLAY
========================================================== */

.iu-hotel-page .iu-hotel-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;

    background:
        linear-gradient(
            90deg,
            rgba(5,22,39,.88) 0%,
            rgba(5,22,39,.68) 28%,
            rgba(5,22,39,.30) 53%,
            rgba(5,22,39,.05) 78%
        );
}


/* Bottom readability */

.iu-hotel-page .iu-hotel-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:38%;
    z-index:-1;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(5,22,39,.48) 100%
        );
}


/* ==========================================================
   CONTENT
========================================================== */

.iu-hotel-page .iu-hotel-hero-content{
    position:relative;
    z-index:2;

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    min-height:680px;
    margin-inline:auto;

    display:flex;
    align-items:flex-end;

    padding:
        0 0 72px;
}


/* ==========================================================
   CONTENT INNER
========================================================== */

.iu-hotel-page .iu-hotel-hero-content-inner{
    width:min(720px,100%);
}


/* ==========================================================
   KICKER
========================================================== */

.iu-hotel-page .iu-hotel-hero-kicker{
    display:flex;
    align-items:center;
    gap:10px;

    margin:0 0 18px;

    color:
        var(--hotel-gold-soft);

    font-size:.74rem;
    line-height:1.3;
    font-weight:800;

    letter-spacing:.15em;
    text-transform:uppercase;
}

.iu-hotel-page .iu-hotel-hero-kicker::before{
    content:"";

    width:34px;
    height:2px;

    background:
        var(--hotel-gold);
}


/* ==========================================================
   HOTEL TITLE
========================================================== */

.iu-hotel-page .iu-hotel-hero-title{
    margin:0;

    max-width:760px;

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size:
        clamp(3.2rem,5.8vw,6rem);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.05em;

    color:
        var(--hotel-white);

    text-shadow:
        0 3px 20px rgba(0,0,0,.20);
}


/* ==========================================================
   TITLE BRAND ACCENT
========================================================== */

.iu-hotel-page .iu-hotel-title-brand{
    color:
        var(--hotel-gold-soft);
}


/* ==========================================================
   META
========================================================== */

.iu-hotel-page .iu-hotel-hero-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:11px;

    margin-top:20px;

    color:
        rgba(255,255,255,.94);

    font-size:.94rem;
    line-height:1.5;
    font-weight:600;
}

.iu-hotel-page .iu-hotel-hero-meta-item{
    display:inline-flex;
    align-items:center;
}

.iu-hotel-page .iu-hotel-hero-meta-separator{
    width:5px;
    height:5px;
    flex:0 0 5px;

    border-radius:50%;

    background:
        var(--hotel-gold);
}


/* ==========================================================
   DESCRIPTION
========================================================== */

.iu-hotel-page .iu-hotel-hero-description{
    max-width:650px;

    margin:
        16px 0 0;

    color:
        rgba(255,255,255,.82);

    font-size:
        clamp(.94rem,1.15vw,1.05rem);

    line-height:1.75;
}


/* ==========================================================
   SCORE + ACTION ROW
========================================================== */

.iu-hotel-page .iu-hotel-hero-bottom{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:18px;

    margin-top:25px;
}


/* ==========================================================
   SCORE
========================================================== */

.iu-hotel-page .iu-hotel-hero-score{
    display:flex;
    align-items:center;
    gap:12px;

    padding:
        10px 15px;

    border-left:
        2px solid var(--hotel-gold);

    background:
        rgba(5,22,39,.48);

    backdrop-filter:
        blur(6px);

    -webkit-backdrop-filter:
        blur(6px);
}

.iu-hotel-page .iu-hotel-hero-score-label{
    color:
        rgba(255,255,255,.68);

    font-size:.69rem;
    line-height:1.3;
    font-weight:700;

    letter-spacing:.07em;
    text-transform:uppercase;
}

.iu-hotel-page .iu-hotel-hero-score-value{
    color:
        var(--hotel-gold-soft);

    font-size:1.08rem;
    line-height:1;
    font-weight:800;
}


/* ==========================================================
   ACTIONS
   Uses existing Global .button system
========================================================== */

.iu-hotel-page .iu-hotel-hero-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:10px;
}


/* Primary */

.iu-hotel-page .iu-hotel-hero-actions .button{
    min-height:48px;

    padding:
        .78rem 1.4rem;

    border-radius:
        999px;

    background:
        var(--hotel-gold);

    border:
        1px solid var(--hotel-gold);

    color:
        #111827;

    font-size:.86rem;
    font-weight:800;

    box-shadow:
        0 8px 24px rgba(0,0,0,.20);
}

.iu-hotel-page .iu-hotel-hero-actions .button:hover{
    background:
        var(--hotel-gold-soft);

    color:
        #111827;
}


/* Secondary */

.iu-hotel-page .iu-hotel-hero-actions .button-secondary{
    background:
        rgba(255,255,255,.08);

    border:
        1px solid rgba(255,255,255,.42);

    color:
        #fff;

    backdrop-filter:
        blur(6px);

    -webkit-backdrop-filter:
        blur(6px);
}

.iu-hotel-page .iu-hotel-hero-actions .button-secondary:hover{
    background:
        rgba(255,255,255,.15);

    border-color:
        rgba(255,255,255,.70);

    color:
        #fff;
}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1024px){

    .iu-hotel-page .iu-hotel-hero,
    .iu-hotel-page .iu-hotel-hero-content{
        min-height:620px;
    }

    .iu-hotel-page .iu-hotel-hero-content{
        padding-bottom:58px;
    }

    .iu-hotel-page .iu-hotel-hero-title{
        font-size:
            clamp(2.9rem,6.5vw,4.8rem);
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:768px){

    .iu-hotel-page .iu-hotel-hero,
    .iu-hotel-page .iu-hotel-hero-content{
        min-height:640px;
    }

    .iu-hotel-page .iu-hotel-hero::before{
        background:
            linear-gradient(
                180deg,
                rgba(5,22,39,.02) 0%,
                rgba(5,22,39,.12) 30%,
                rgba(5,22,39,.68) 63%,
                rgba(5,22,39,.96) 100%
            );
    }

    .iu-hotel-page .iu-hotel-hero-content{
        width:
            calc(100% - 28px);

        align-items:flex-end;

        padding-bottom:30px;
    }

    .iu-hotel-page .iu-hotel-hero-content-inner{
        width:100%;
    }

    .iu-hotel-page .iu-hotel-hero-title{
        font-size:
            clamp(2.45rem,11vw,3.7rem);

        letter-spacing:-.045em;
    }

    .iu-hotel-page .iu-hotel-hero-meta{
        margin-top:14px;
        font-size:.84rem;
    }

    .iu-hotel-page .iu-hotel-hero-description{
        margin-top:13px;

        font-size:.9rem;
        line-height:1.65;
    }

    .iu-hotel-page .iu-hotel-hero-bottom{
        align-items:stretch;
        flex-direction:column;

        gap:14px;

        margin-top:20px;
    }

    .iu-hotel-page .iu-hotel-hero-score{
        width:max-content;
    }

    .iu-hotel-page .iu-hotel-hero-actions{
        width:100%;
    }

    .iu-hotel-page .iu-hotel-hero-actions .button{
        flex:1 1 0;
        min-height:48px;
        text-align:center;
    }
}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media(max-width:480px){

    .iu-hotel-page .iu-hotel-hero,
    .iu-hotel-page .iu-hotel-hero-content{
        min-height:610px;
    }

    .iu-hotel-page .iu-hotel-hero-content{
        width:
            calc(100% - 20px);

        padding-bottom:22px;
    }

    .iu-hotel-page .iu-hotel-hero-title{
        font-size:
            clamp(2.25rem,12vw,3.2rem);
    }

    .iu-hotel-page .iu-hotel-hero-actions{
        flex-direction:column;
    }

    .iu-hotel-page .iu-hotel-hero-actions .button{
        width:100%;
        flex:none;
    }
}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media(prefers-reduced-motion:reduce){

    .iu-hotel-page .iu-hotel-hero-actions .button{
        transition:none;
    }

}

/* ==========================================================
   HOTEL AT A GLANCE
========================================================== */

.iu-hotel-page .iu-hotel-glance{
    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline:auto;

    padding:72px 0 78px;
}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-page .iu-hotel-glance-header{
    max-width:720px;
    margin-bottom:30px;
}

.iu-hotel-page .iu-hotel-glance-kicker{
    display:flex;
    align-items:center;
    gap:9px;

    margin:0 0 9px;

    color:var(--accent);

    font-size:.72rem;
    font-weight:800;
    letter-spacing:.13em;
    line-height:1.3;
    text-transform:uppercase;
}

.iu-hotel-page .iu-hotel-glance-kicker::before{
    content:"";

    width:28px;
    height:2px;

    flex:0 0 28px;

    background:var(--accent);
}

.iu-hotel-page .iu-hotel-glance-title{
    margin:0;

    color:var(--heading);

    font-size:
        clamp(2rem,3.2vw,2.75rem);

    line-height:1.12;
    font-weight:800;
    letter-spacing:-.04em;
}

.iu-hotel-page .iu-hotel-glance-intro{
    max-width:620px;

    margin:11px 0 0;

    color:var(--muted);

    font-size:.95rem;
    line-height:1.7;
}


/* ==========================================================
   FOUR PRIMARY CARDS
========================================================== */

.iu-hotel-page .iu-hotel-glance-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:16px;

    margin-top:32px;
}


/* ==========================================================
   PREMIUM FACT CARD
========================================================== */

.iu-hotel-page .iu-hotel-glance-item{
    position:relative;

    min-width:0;
    min-height:145px;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    padding:25px 24px;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    box-shadow:
        0 5px 18px rgba(13,43,69,.06);

    overflow:hidden;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


/* Gold top accent */

.iu-hotel-page .iu-hotel-glance-item::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:3px;

    background:
        linear-gradient(
            90deg,
            var(--accent),
            rgba(200,155,60,.15)
        );
}


/* Subtle bottom glow */

.iu-hotel-page .iu-hotel-glance-item::after{
    content:"";

    position:absolute;

    right:-35px;
    bottom:-45px;

    width:110px;
    height:110px;

    border-radius:50%;

    background:
        rgba(200,155,60,.055);

    pointer-events:none;
}


/* Hover */

.iu-hotel-page .iu-hotel-glance-item:hover{
    transform:translateY(-4px);

    border-color:
        rgba(200,155,60,.42);

    box-shadow:
        0 12px 30px rgba(13,43,69,.10);
}


/* ==========================================================
   CARD LABEL
========================================================== */

.iu-hotel-page .iu-hotel-glance-label{
    position:relative;
    z-index:1;

    display:block;

    margin-bottom:8px;

    color:var(--muted);

    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    line-height:1.3;

    text-transform:uppercase;
}


/* ==========================================================
   CARD VALUE
========================================================== */

.iu-hotel-page .iu-hotel-glance-value{
    position:relative;
    z-index:1;

    display:block;

    color:var(--heading);

    font-size:
        clamp(1.05rem,1.35vw,1.2rem);

    line-height:1.35;
    font-weight:800;
}


/* ==========================================================
   LOWER DETAILS
========================================================== */

.iu-hotel-page .iu-hotel-glance-details{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    margin-top:16px;

    background:var(--surface);

    border:
        1px solid var(--border);

    border-radius:var(--radius-lg);

    box-shadow:
        0 5px 18px rgba(13,43,69,.045);

    overflow:hidden;
}


/* ==========================================================
   DETAIL ITEM
========================================================== */

.iu-hotel-page .iu-hotel-glance-detail{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:25px;

    min-width:0;

    padding:
        19px 24px;

    background:var(--surface);
}


/* vertical divider */

.iu-hotel-page .iu-hotel-glance-detail:nth-child(odd){
    border-right:
        1px solid var(--border);
}


/* horizontal divider */

.iu-hotel-page .iu-hotel-glance-detail:nth-child(-n+2){
    border-bottom:
        1px solid var(--border);
}


/* ==========================================================
   DETAIL LABEL
========================================================== */

.iu-hotel-page .iu-hotel-glance-detail-label{
    color:var(--muted);

    font-size:.76rem;
    font-weight:600;
    line-height:1.4;
}


/* ==========================================================
   DETAIL VALUE
========================================================== */

.iu-hotel-page .iu-hotel-glance-detail-value{
    color:var(--heading);

    font-size:.87rem;
    font-weight:800;
    line-height:1.4;

    text-align:right;
}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1024px){

    .iu-hotel-page .iu-hotel-glance{
        padding:62px 0 68px;
    }

    .iu-hotel-page .iu-hotel-glance-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:14px;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:640px){

    .iu-hotel-page .iu-hotel-glance{
        width:
            calc(100% - 28px);

        padding:50px 0 55px;
    }

    .iu-hotel-page .iu-hotel-glance-header{
        margin-bottom:0;
    }

    .iu-hotel-page .iu-hotel-glance-title{
        font-size:1.9rem;
    }

    .iu-hotel-page .iu-hotel-glance-intro{
        font-size:.9rem;
    }

    .iu-hotel-page .iu-hotel-glance-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:10px;

        margin-top:24px;
    }

    .iu-hotel-page .iu-hotel-glance-item{
        min-height:120px;

        padding:
            21px 17px;
    }

    .iu-hotel-page .iu-hotel-glance-details{
        grid-template-columns:1fr;

        margin-top:10px;
    }

    .iu-hotel-page .iu-hotel-glance-detail{
        padding:
            17px;
    }

    .iu-hotel-page .iu-hotel-glance-detail:nth-child(odd){
        border-right:0;
    }

    .iu-hotel-page .iu-hotel-glance-detail:nth-child(-n+2){
        border-bottom:0;
    }

    .iu-hotel-page .iu-hotel-glance-detail:not(:last-child){
        border-bottom:
            1px solid var(--border);
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media(max-width:420px){

    .iu-hotel-page .iu-hotel-glance-grid{
        grid-template-columns:1fr;
    }

}


/* ==========================================================
   HOTEL QUICK FACTS
   Premium Reusable Component
========================================================== */

.iu-hotel-page .iu-hotel-quick-facts{

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline:auto;

    padding:72px 0 78px;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-page .iu-hotel-quick-facts-header{

    max-width:720px;

    margin-bottom:34px;

}


.iu-hotel-page .iu-hotel-quick-facts-kicker{

    display:flex;

    align-items:center;

    gap:9px;

    margin:0 0 9px;

    color:var(--accent);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.13em;

    line-height:1.3;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-quick-facts-kicker::before{

    content:"";

    width:28px;

    height:2px;

    flex:0 0 28px;

    background:var(--accent);

}


.iu-hotel-page .iu-hotel-quick-facts-title{

    margin:0;

    color:var(--heading);

    font-size:
        clamp(2rem,3.2vw,2.7rem);

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.04em;

}


.iu-hotel-page .iu-hotel-quick-facts-intro{

    max-width:650px;

    margin:11px 0 0;

    color:var(--muted);

    font-size:.95rem;

    line-height:1.7;

}


/* ==========================================================
   FACTS PANEL
========================================================== */

.iu-hotel-page .iu-hotel-quick-facts-list{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    box-shadow:
        0 6px 24px rgba(13,43,69,.055);

    overflow:hidden;

}


/* ==========================================================
   FACT ROW
========================================================== */

.iu-hotel-page .iu-hotel-quick-fact{

    position:relative;

    display:flex;

    align-items:center;

    gap:18px;

    min-width:0;

    padding:22px 25px;

    background:var(--surface);

    transition:
        background .2s ease;

}


/* Vertical divider */

.iu-hotel-page .iu-hotel-quick-fact:nth-child(odd){

    border-right:
        1px solid var(--border);

}


/* Horizontal divider */

.iu-hotel-page .iu-hotel-quick-fact:nth-child(-n+10){

    border-bottom:
        1px solid var(--border);

}


/* Hover */

.iu-hotel-page .iu-hotel-quick-fact:hover{

    background:
        rgba(200,155,60,.035);

}


/* ==========================================================
   ICON / MARK
========================================================== */

.iu-hotel-page .iu-hotel-quick-fact-icon{

    width:40px;

    height:40px;

    flex:0 0 40px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:
        rgba(200,155,60,.09);

    color:var(--accent);

    font-size:.95rem;

    font-weight:800;

}


/* ==========================================================
   TEXT
========================================================== */

.iu-hotel-page .iu-hotel-quick-fact-content{

    min-width:0;

    flex:1;

}


.iu-hotel-page .iu-hotel-quick-fact-label{

    display:block;

    margin-bottom:4px;

    color:var(--muted);

    font-size:.68rem;

    font-weight:800;

    letter-spacing:.08em;

    line-height:1.3;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-quick-fact-value{

    display:block;

    color:var(--heading);

    font-size:.92rem;

    font-weight:700;

    line-height:1.45;

}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1024px){

    .iu-hotel-page .iu-hotel-quick-facts{

        padding:62px 0 68px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:640px){

    .iu-hotel-page .iu-hotel-quick-facts{

        width:
            calc(100% - 28px);

        padding:50px 0 56px;

    }


    .iu-hotel-page .iu-hotel-quick-facts-header{

        margin-bottom:24px;

    }


    .iu-hotel-page .iu-hotel-quick-facts-title{

        font-size:1.9rem;

    }


    .iu-hotel-page .iu-hotel-quick-facts-intro{

        font-size:.9rem;

    }


    .iu-hotel-page .iu-hotel-quick-facts-list{

        grid-template-columns:1fr;

    }


    .iu-hotel-page .iu-hotel-quick-fact{

        padding:18px 17px;

    }


    .iu-hotel-page .iu-hotel-quick-fact:nth-child(odd){

        border-right:0;

    }


    .iu-hotel-page .iu-hotel-quick-fact-icon{

        width:36px;

        height:36px;

        flex-basis:36px;

        font-size:.85rem;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media(prefers-reduced-motion:reduce){

    .iu-hotel-page .iu-hotel-quick-fact{

        transition:none;

    }

}


/* ==========================================================
   INSIDEUDAIPUR
   HOTEL GALLERY
   Reusable / Future-Proof Component
========================================================== */

.iu-hotel-page .iu-hotel-gallery{

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline:auto;

    padding:76px 0 80px;

}


/* ==========================================================
   GALLERY HEADER
========================================================== */

.iu-hotel-page .iu-hotel-gallery-header{

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:30px;

    margin-bottom:30px;

}


.iu-hotel-page .iu-hotel-gallery-heading{

    max-width:700px;

}


.iu-hotel-page .iu-hotel-gallery-kicker{

    display:flex;

    align-items:center;

    gap:9px;

    margin:0 0 9px;

    color:var(--accent);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.13em;

    line-height:1.3;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-gallery-kicker::before{

    content:"";

    width:28px;

    height:2px;

    flex:0 0 28px;

    background:var(--accent);

}


.iu-hotel-page .iu-hotel-gallery-title{

    margin:0;

    color:var(--heading);

    font-size:
        clamp(2rem,3.2vw,2.75rem);

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.04em;

}


.iu-hotel-page .iu-hotel-gallery-intro{

    max-width:650px;

    margin:11px 0 0;

    color:var(--muted);

    font-size:.95rem;

    line-height:1.7;

}


/* ==========================================================
   CATEGORY FILTERS
   Optional — future-proof
========================================================== */

.iu-hotel-page .iu-hotel-gallery-filters{

    display:flex;

    flex-wrap:wrap;

    justify-content:flex-end;

    gap:8px;

}


.iu-hotel-page .iu-hotel-gallery-filter{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:36px;

    padding:
        .5rem .85rem;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:999px;

    color:var(--muted);

    font-size:.72rem;

    font-weight:700;

    line-height:1;

    cursor:pointer;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;

}


.iu-hotel-page .iu-hotel-gallery-filter:hover{

    border-color:
        rgba(200,155,60,.45);

    color:var(--heading);

    transform:translateY(-1px);

}


.iu-hotel-page .iu-hotel-gallery-filter.is-active{

    background:var(--accent);

    border-color:var(--accent);

    color:#111827;

}


/* ==========================================================
   MAIN GALLERY GRID
========================================================== */

.iu-hotel-page .iu-hotel-gallery-grid{

    display:grid;

    grid-template-columns:
        2fr 1fr 1fr;

    grid-template-rows:
        repeat(2,260px);

    gap:12px;

}


/* ==========================================================
   GALLERY ITEM
========================================================== */

.iu-hotel-page .iu-hotel-gallery-item{

    position:relative;

    min-width:0;

    min-height:0;

    display:block;

    overflow:hidden;

    background:#e8ebef;

    border-radius:var(--radius-md);

    cursor:pointer;

    isolation:isolate;

}


/* Featured image */

.iu-hotel-page .iu-hotel-gallery-item--featured{

    grid-row:
        1 / 3;

}


/* ==========================================================
   IMAGE
========================================================== */

.iu-hotel-page .iu-hotel-gallery-item img{

    display:block;

    width:100%;

    height:100%;

    max-width:none;

    object-fit:cover;

    transition:
        transform .55s
        cubic-bezier(.2,.7,.2,1);

}


/* ==========================================================
   IMAGE OVERLAY
========================================================== */

.iu-hotel-page .iu-hotel-gallery-item::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    background:
        linear-gradient(
            180deg,
            rgba(5,22,39,0) 55%,
            rgba(5,22,39,.48) 100%
        );

    pointer-events:none;

    transition:
        opacity .25s ease;

}


.iu-hotel-page .iu-hotel-gallery-item:hover img{

    transform:scale(1.045);

}


.iu-hotel-page .iu-hotel-gallery-item:hover::after{

    opacity:.78;

}


/* ==========================================================
   CATEGORY LABEL
========================================================== */

.iu-hotel-page .iu-hotel-gallery-category{

    position:absolute;

    left:15px;

    bottom:14px;

    z-index:2;

    display:inline-flex;

    align-items:center;

    min-height:28px;

    padding:
        .38rem .65rem;

    background:
        rgba(5,22,39,.70);

    border:
        1px solid rgba(255,255,255,.22);

    border-radius:999px;

    color:#fff;

    font-size:.65rem;

    font-weight:800;

    line-height:1;

    letter-spacing:.04em;

    backdrop-filter:blur(7px);

    -webkit-backdrop-filter:blur(7px);

}


/* ==========================================================
   VIEW ALL
========================================================== */

.iu-hotel-page .iu-hotel-gallery-more{

    position:absolute;

    right:15px;

    bottom:14px;

    z-index:2;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:36px;

    padding:
        .5rem .78rem;

    background:
        rgba(255,255,255,.94);

    border:1px solid rgba(255,255,255,.8);

    border-radius:999px;

    color:var(--heading);

    font-size:.7rem;

    font-weight:800;

    line-height:1;

    text-decoration:none;

    box-shadow:
        0 4px 15px rgba(0,0,0,.14);

    transition:
        transform .2s ease,
        background .2s ease;

}


.iu-hotel-page .iu-hotel-gallery-more:hover{

    background:#fff;

    color:var(--heading);

    transform:translateY(-2px);

}


/* ==========================================================
   HIDDEN GALLERY ITEMS
   Allows 10–15+ images without changing layout
========================================================== */

.iu-hotel-page .iu-hotel-gallery-item.is-hidden{

    display:none;

}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1024px){

    .iu-hotel-page .iu-hotel-gallery{

        padding:64px 0 70px;

    }


    .iu-hotel-page .iu-hotel-gallery-header{

        align-items:flex-start;

        flex-direction:column;

        gap:20px;

    }


    .iu-hotel-page .iu-hotel-gallery-filters{

        justify-content:flex-start;

    }


    .iu-hotel-page .iu-hotel-gallery-grid{

        grid-template-columns:
            1.5fr 1fr;

        grid-template-rows:
            repeat(3,220px);

    }


    .iu-hotel-page .iu-hotel-gallery-item--featured{

        grid-row:
            1 / 3;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:640px){

    .iu-hotel-page .iu-hotel-gallery{

        width:
            calc(100% - 28px);

        padding:50px 0 56px;

    }


    .iu-hotel-page .iu-hotel-gallery-title{

        font-size:1.9rem;

    }


    .iu-hotel-page .iu-hotel-gallery-intro{

        font-size:.9rem;

    }


    .iu-hotel-page .iu-hotel-gallery-header{

        margin-bottom:22px;

    }


    .iu-hotel-page .iu-hotel-gallery-filters{

        width:100%;

        justify-content:flex-start;

        flex-wrap:nowrap;

        overflow-x:auto;

        padding-bottom:4px;

        scrollbar-width:none;

    }


    .iu-hotel-page .iu-hotel-gallery-filters::-webkit-scrollbar{

        display:none;

    }


    .iu-hotel-page .iu-hotel-gallery-filter{

        flex:0 0 auto;

    }


    .iu-hotel-page .iu-hotel-gallery-grid{

        grid-template-columns:
            1fr 1fr;

        grid-template-rows:
            210px 150px 150px;

        gap:8px;

    }


    .iu-hotel-page .iu-hotel-gallery-item--featured{

        grid-column:
            1 / 3;

        grid-row:
            1;

    }


    .iu-hotel-page .iu-hotel-gallery-category{

        left:10px;

        bottom:10px;

        min-height:25px;

        padding:
            .32rem .55rem;

        font-size:.6rem;

    }


    .iu-hotel-page .iu-hotel-gallery-more{

        right:10px;

        bottom:10px;

        min-height:32px;

        padding:
            .45rem .65rem;

        font-size:.64rem;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media(max-width:420px){

    .iu-hotel-page .iu-hotel-gallery-grid{

        grid-template-rows:
            190px 135px 135px;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media(prefers-reduced-motion:reduce){

    .iu-hotel-page .iu-hotel-gallery-item img,
    .iu-hotel-page .iu-hotel-gallery-item,
    .iu-hotel-page .iu-hotel-gallery-filter,
    .iu-hotel-page .iu-hotel-gallery-more{

        transition:none;

    }

}


/* ==========================================================
   HOTEL ABOUT THE PROPERTY
   Premium Editorial / Reusable Component
========================================================== */

.iu-hotel-page .iu-hotel-about{

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline:auto;

    padding:78px 0 82px;

}


/* ==========================================================
   MAIN LAYOUT
========================================================== */

.iu-hotel-page .iu-hotel-about-inner{

    display:grid;

    grid-template-columns:
        minmax(260px,.8fr)
        minmax(0,1.2fr);

    gap:70px;

    align-items:start;

}


/* ==========================================================
   LEFT HEADING
========================================================== */

.iu-hotel-page .iu-hotel-about-heading{

    position:sticky;

    top:100px;

}


.iu-hotel-page .iu-hotel-about-kicker{

    display:flex;

    align-items:center;

    gap:9px;

    margin:0 0 10px;

    color:var(--accent);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.13em;

    line-height:1.3;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-about-kicker::before{

    content:"";

    width:28px;

    height:2px;

    flex:0 0 28px;

    background:var(--accent);

}


.iu-hotel-page .iu-hotel-about-title{

    max-width:390px;

    margin:0;

    color:var(--heading);

    font-size:
        clamp(2rem,3.3vw,2.8rem);

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.04em;

}


.iu-hotel-page .iu-hotel-about-lead{

    max-width:390px;

    margin:16px 0 0;

    color:var(--muted);

    font-size:1rem;

    line-height:1.75;

}


/* ==========================================================
   RIGHT CONTENT
========================================================== */

.iu-hotel-page .iu-hotel-about-content{

    max-width:720px;

}


.iu-hotel-page .iu-hotel-about-content p{

    margin:
        0 0 18px;

    color:var(--text);

    font-size:
        clamp(.96rem,1.15vw,1.04rem);

    line-height:1.82;

}


.iu-hotel-page .iu-hotel-about-content p:last-child{

    margin-bottom:0;

}


/* ==========================================================
   HIGHLIGHTS
========================================================== */

.iu-hotel-page .iu-hotel-about-highlights{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:12px;

    margin-top:30px;

}


.iu-hotel-page .iu-hotel-about-highlight{

    position:relative;

    padding:
        19px 20px 19px 24px;

    background:var(--surface);

    border:
        1px solid var(--border);

    border-radius:var(--radius-md);

    box-shadow:
        0 4px 16px rgba(13,43,69,.045);

}


.iu-hotel-page .iu-hotel-about-highlight::before{

    content:"";

    position:absolute;

    left:0;

    top:18px;

    width:3px;

    height:28px;

    background:var(--accent);

    border-radius:
        0 3px 3px 0;

}


.iu-hotel-page .iu-hotel-about-highlight-label{

    display:block;

    margin-bottom:5px;

    color:var(--muted);

    font-size:.67rem;

    font-weight:800;

    letter-spacing:.08em;

    line-height:1.3;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-about-highlight-value{

    display:block;

    color:var(--heading);

    font-size:.9rem;

    font-weight:700;

    line-height:1.5;

}


/* ==========================================================
   EDITORIAL DIVIDER
========================================================== */

.iu-hotel-page .iu-hotel-about-divider{

    width:100%;

    height:1px;

    margin-top:34px;

    background:var(--border);

}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1024px){

    .iu-hotel-page .iu-hotel-about{

        padding:64px 0 70px;

    }


    .iu-hotel-page .iu-hotel-about-inner{

        grid-template-columns:
            minmax(220px,.75fr)
            minmax(0,1.25fr);

        gap:45px;

    }


    .iu-hotel-page .iu-hotel-about-heading{

        position:static;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:640px){

    .iu-hotel-page .iu-hotel-about{

        width:
            calc(100% - 28px);

        padding:50px 0 56px;

    }


    .iu-hotel-page .iu-hotel-about-inner{

        grid-template-columns:1fr;

        gap:26px;

    }


    .iu-hotel-page .iu-hotel-about-title{

        font-size:1.9rem;

    }


    .iu-hotel-page .iu-hotel-about-lead{

        max-width:none;

        margin-top:12px;

        font-size:.92rem;

        line-height:1.65;

    }


    .iu-hotel-page .iu-hotel-about-content p{

        font-size:.93rem;

        line-height:1.72;

    }


    .iu-hotel-page .iu-hotel-about-highlights{

        grid-template-columns:1fr;

        gap:10px;

        margin-top:24px;

    }


    .iu-hotel-page .iu-hotel-about-highlight{

        padding:
            17px 17px 17px 21px;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media(prefers-reduced-motion:reduce){

    .iu-hotel-page .iu-hotel-about-highlight{

        transition:none;

    }

}



/* ==========================================================
   HOTEL LOCATION & NEARBY
   Premium Reusable Component
========================================================== */

.iu-hotel-page .iu-hotel-location{

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline:auto;

    padding:76px 0 82px;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-page .iu-hotel-location-header{

    max-width:720px;

    margin-bottom:32px;

}


.iu-hotel-page .iu-hotel-location-kicker{

    display:flex;

    align-items:center;

    gap:9px;

    margin:0 0 9px;

    color:var(--accent);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.13em;

    line-height:1.3;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-location-kicker::before{

    content:"";

    width:28px;

    height:2px;

    flex:0 0 28px;

    background:var(--accent);

}


.iu-hotel-page .iu-hotel-location-title{

    margin:0;

    color:var(--heading);

    font-size:
        clamp(2rem,3.2vw,2.75rem);

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.04em;

}


.iu-hotel-page .iu-hotel-location-intro{

    max-width:650px;

    margin:11px 0 0;

    color:var(--muted);

    font-size:.95rem;

    line-height:1.7;

}


/* ==========================================================
   LOCATION LAYOUT
========================================================== */

.iu-hotel-page .iu-hotel-location-grid{

    display:grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(360px,.95fr);

    gap:18px;

    align-items:stretch;

}


/* ==========================================================
   MAP / LOCATION CARD
========================================================== */

.iu-hotel-page .iu-hotel-location-map{

    position:relative;

    min-height:430px;

    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            var(--surface),
            rgba(200,155,60,.06)
        );

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-sm);

}


/* Map iframe */

.iu-hotel-page .iu-hotel-location-map iframe{

    display:block;

    width:100%;

    height:100%;

    min-height:430px;

    border:0;

}


/* ==========================================================
   LOCATION INFO OVERLAY
========================================================== */

.iu-hotel-page .iu-hotel-location-address{

    position:absolute;

    left:18px;

    right:18px;

    bottom:18px;

    z-index:2;

    padding:17px 19px;

    background:
        rgba(255,255,255,.95);

    border:1px solid rgba(255,255,255,.85);

    border-radius:var(--radius-md);

    box-shadow:
        0 8px 25px rgba(13,43,69,.13);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

}


.iu-hotel-page .iu-hotel-location-address-label{

    display:block;

    margin-bottom:5px;

    color:var(--accent);

    font-size:.66rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-location-address-value{

    display:block;

    color:var(--heading);

    font-size:.88rem;

    font-weight:700;

    line-height:1.5;

}


/* ==========================================================
   NEARBY PANEL
========================================================== */

.iu-hotel-page .iu-hotel-nearby{

    display:flex;

    flex-direction:column;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-sm);

    overflow:hidden;

}


/* ==========================================================
   NEARBY HEADER
========================================================== */

.iu-hotel-page .iu-hotel-nearby-header{

    padding:
        23px 24px 18px;

    border-bottom:
        1px solid var(--border);

}


.iu-hotel-page .iu-hotel-nearby-title{

    margin:0;

    color:var(--heading);

    font-size:1.15rem;

    font-weight:800;

    line-height:1.3;

}


.iu-hotel-page .iu-hotel-nearby-subtitle{

    margin:5px 0 0;

    color:var(--muted);

    font-size:.78rem;

    line-height:1.5;

}


/* ==========================================================
   NEARBY LIST
========================================================== */

.iu-hotel-page .iu-hotel-nearby-list{

    display:flex;

    flex-direction:column;

}


/* ==========================================================
   NEARBY ITEM
========================================================== */

.iu-hotel-page .iu-hotel-nearby-item{

    display:flex;

    align-items:center;

    gap:15px;

    min-width:0;

    padding:
        16px 24px;

    border-bottom:
        1px solid var(--border);

    transition:
        background .2s ease;

}


.iu-hotel-page .iu-hotel-nearby-item:last-child{

    border-bottom:0;

}


.iu-hotel-page .iu-hotel-nearby-item:hover{

    background:
        rgba(200,155,60,.035);

}


/* ==========================================================
   NEARBY ICON
========================================================== */

.iu-hotel-page .iu-hotel-nearby-icon{

    width:38px;

    height:38px;

    flex:0 0 38px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        rgba(200,155,60,.09);

    border-radius:50%;

    color:var(--accent);

    font-size:.85rem;

    font-weight:800;

}


/* ==========================================================
   NEARBY CONTENT
========================================================== */

.iu-hotel-page .iu-hotel-nearby-content{

    min-width:0;

    flex:1;

}


.iu-hotel-page .iu-hotel-nearby-name{

    display:block;

    color:var(--heading);

    font-size:.88rem;

    font-weight:750;

    line-height:1.4;

}


.iu-hotel-page .iu-hotel-nearby-type{

    display:block;

    margin-top:2px;

    color:var(--muted);

    font-size:.68rem;

    line-height:1.4;

}


/* ==========================================================
   DISTANCE
========================================================== */

.iu-hotel-page .iu-hotel-nearby-distance{

    flex:0 0 auto;

    color:var(--heading);

    font-size:.76rem;

    font-weight:800;

    line-height:1.3;

    text-align:right;

}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1024px){

    .iu-hotel-page .iu-hotel-location{

        padding:64px 0 70px;

    }


    .iu-hotel-page .iu-hotel-location-grid{

        grid-template-columns:1fr;

    }


    .iu-hotel-page .iu-hotel-location-map{

        min-height:360px;

    }


    .iu-hotel-page .iu-hotel-location-map iframe{

        min-height:360px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:640px){

    .iu-hotel-page .iu-hotel-location{

        width:
            calc(100% - 28px);

        padding:50px 0 56px;

    }


    .iu-hotel-page .iu-hotel-location-title{

        font-size:1.9rem;

    }


    .iu-hotel-page .iu-hotel-location-intro{

        font-size:.9rem;

    }


    .iu-hotel-page .iu-hotel-location-grid{

        gap:12px;

    }


    .iu-hotel-page .iu-hotel-location-map{

        min-height:300px;

    }


    .iu-hotel-page .iu-hotel-location-map iframe{

        min-height:300px;

    }


    .iu-hotel-page .iu-hotel-location-address{

        left:10px;

        right:10px;

        bottom:10px;

        padding:14px 15px;

    }


    .iu-hotel-page .iu-hotel-nearby-header{

        padding:
            20px 17px 16px;

    }


    .iu-hotel-page .iu-hotel-nearby-item{

        padding:
            15px 17px;

        gap:12px;

    }


    .iu-hotel-page .iu-hotel-nearby-icon{

        width:35px;

        height:35px;

        flex-basis:35px;

    }


    .iu-hotel-page .iu-hotel-nearby-distance{

        font-size:.7rem;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media(prefers-reduced-motion:reduce){

    .iu-hotel-page .iu-hotel-nearby-item{

        transition:none;

    }

}


/* ==========================================================
   HOTEL AMENITIES & FACILITIES
   Premium Reusable Component
========================================================== */

.iu-hotel-page .iu-hotel-amenities{

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline:auto;

    padding:76px 0 82px;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-page .iu-hotel-amenities-header{

    max-width:720px;

    margin-bottom:34px;

}


.iu-hotel-page .iu-hotel-amenities-kicker{

    display:flex;

    align-items:center;

    gap:9px;

    margin:0 0 9px;

    color:var(--accent);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.13em;

    line-height:1.3;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-amenities-kicker::before{

    content:"";

    width:28px;

    height:2px;

    flex:0 0 28px;

    background:var(--accent);

}


.iu-hotel-page .iu-hotel-amenities-title{

    margin:0;

    color:var(--heading);

    font-size:
        clamp(2rem,3.2vw,2.75rem);

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.04em;

}


.iu-hotel-page .iu-hotel-amenities-intro{

    max-width:650px;

    margin:11px 0 0;

    color:var(--muted);

    font-size:.95rem;

    line-height:1.7;

}


/* ==========================================================
   CATEGORY GRID
========================================================== */

.iu-hotel-page .iu-hotel-amenities-grid{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:16px;

}


/* ==========================================================
   CATEGORY PANEL
========================================================== */

.iu-hotel-page .iu-hotel-amenity-group{

    min-width:0;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    box-shadow:
        0 5px 20px rgba(13,43,69,.045);

    overflow:hidden;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;

}


.iu-hotel-page .iu-hotel-amenity-group:hover{

    transform:translateY(-3px);

    border-color:
        rgba(200,155,60,.38);

    box-shadow:
        0 10px 28px rgba(13,43,69,.075);

}


/* ==========================================================
   GROUP HEADER
========================================================== */

.iu-hotel-page .iu-hotel-amenity-group-header{

    display:flex;

    align-items:center;

    gap:13px;

    padding:
        20px 22px;

    border-bottom:
        1px solid var(--border);

}


.iu-hotel-page .iu-hotel-amenity-group-icon{

    width:40px;

    height:40px;

    flex:0 0 40px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:
        rgba(200,155,60,.09);

    color:var(--accent);

    font-size:.9rem;

    font-weight:800;

}


.iu-hotel-page .iu-hotel-amenity-group-title{

    margin:0;

    color:var(--heading);

    font-size:1rem;

    font-weight:800;

    line-height:1.35;

}


/* ==========================================================
   AMENITY LIST
========================================================== */

.iu-hotel-page .iu-hotel-amenity-list{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    padding:7px 0;

}


/* ==========================================================
   AMENITY ITEM
========================================================== */

.iu-hotel-page .iu-hotel-amenity-item{

    position:relative;

    display:flex;

    align-items:center;

    gap:10px;

    min-width:0;

    padding:
        12px 20px;

    color:var(--text);

    font-size:.82rem;

    font-weight:600;

    line-height:1.45;

}


.iu-hotel-page .iu-hotel-amenity-item::before{

    content:"✓";

    flex:0 0 auto;

    color:var(--accent);

    font-size:.72rem;

    font-weight:900;

}


/* ==========================================================
   AVAILABILITY STATUS
   Optional reusable element
========================================================== */

.iu-hotel-page .iu-hotel-amenity-status{

    margin-left:auto;

    flex:0 0 auto;

    color:var(--muted);

    font-size:.65rem;

    font-weight:700;

}


/* ==========================================================
   NOTE / DISCLAIMER
========================================================== */

.iu-hotel-page .iu-hotel-amenities-note{

    margin:16px 0 0;

    padding:
        14px 18px;

    background:
        rgba(200,155,60,.045);

    border-left:
        3px solid var(--accent);

    color:var(--muted);

    font-size:.75rem;

    line-height:1.6;

}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1024px){

    .iu-hotel-page .iu-hotel-amenities{

        padding:64px 0 70px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:640px){

    .iu-hotel-page .iu-hotel-amenities{

        width:
            calc(100% - 28px);

        padding:50px 0 56px;

    }


    .iu-hotel-page .iu-hotel-amenities-title{

        font-size:1.9rem;

    }


    .iu-hotel-page .iu-hotel-amenities-intro{

        font-size:.9rem;

    }


    .iu-hotel-page .iu-hotel-amenities-grid{

        grid-template-columns:1fr;

        gap:10px;

    }


    .iu-hotel-page .iu-hotel-amenity-group-header{

        padding:
            18px 17px;

    }


    .iu-hotel-page .iu-hotel-amenity-group-icon{

        width:36px;

        height:36px;

        flex-basis:36px;

    }


    .iu-hotel-page .iu-hotel-amenity-list{

        grid-template-columns:1fr;

    }


    .iu-hotel-page .iu-hotel-amenity-item{

        padding:
            11px 17px;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media(prefers-reduced-motion:reduce){

    .iu-hotel-page .iu-hotel-amenity-group{

        transition:none;

    }

}


/* ==========================================================
   HOTEL REVIEWS & RATINGS
   Premium Reusable Component
========================================================== */

.iu-hotel-page .iu-hotel-reviews{

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline:auto;

    padding:76px 0 82px;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-page .iu-hotel-reviews-header{

    max-width:720px;

    margin-bottom:34px;

}


.iu-hotel-page .iu-hotel-reviews-kicker{

    display:flex;

    align-items:center;

    gap:9px;

    margin:0 0 9px;

    color:var(--accent);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.13em;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-reviews-kicker::before{

    content:"";

    width:28px;
    height:2px;

    flex:0 0 28px;

    background:var(--accent);

}


.iu-hotel-page .iu-hotel-reviews-title{

    margin:0;

    color:var(--heading);

    font-size:
        clamp(2rem,3.2vw,2.75rem);

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.04em;

}


.iu-hotel-page .iu-hotel-reviews-intro{

    max-width:650px;

    margin:11px 0 0;

    color:var(--muted);

    font-size:.95rem;

    line-height:1.7;

}


/* ==========================================================
   PLATFORM SNAPSHOT
========================================================== */

.iu-hotel-page .iu-hotel-review-platforms{

    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:12px;

}


.iu-hotel-page .iu-hotel-review-platform{

    padding:21px 20px;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:var(--radius-md);

    box-shadow:
        0 5px 18px rgba(13,43,69,.045);

}


.iu-hotel-page .iu-hotel-review-platform-name{

    display:block;

    margin-bottom:8px;

    color:var(--muted);

    font-size:.68rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-review-platform-score{

    display:flex;

    align-items:baseline;

    gap:5px;

}


.iu-hotel-page .iu-hotel-review-rating{

    color:var(--heading);

    font-size:1.45rem;

    font-weight:850;

    line-height:1;

}


.iu-hotel-page .iu-hotel-review-scale{

    color:var(--muted);

    font-size:.72rem;

    font-weight:700;

}


.iu-hotel-page .iu-hotel-review-count{

    display:block;

    margin-top:7px;

    color:var(--muted);

    font-size:.7rem;

}


/* ==========================================================
   REVIEW ANALYSIS
========================================================== */

.iu-hotel-page .iu-hotel-review-analysis{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:16px;

    margin-top:16px;

}


.iu-hotel-page .iu-hotel-review-analysis-card{

    padding:26px;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-sm);

}


.iu-hotel-page .iu-hotel-review-analysis-title{

    margin:0 0 16px;

    color:var(--heading);

    font-size:1.05rem;

    font-weight:800;

}


.iu-hotel-page .iu-hotel-review-point{

    display:flex;

    gap:11px;

    padding:11px 0;

    border-bottom:1px solid var(--border);

}


.iu-hotel-page .iu-hotel-review-point:last-child{

    border-bottom:0;

    padding-bottom:0;

}


.iu-hotel-page .iu-hotel-review-point-icon{

    flex:0 0 auto;

    color:var(--accent);

    font-weight:900;

}


.iu-hotel-page .iu-hotel-review-point-text{

    color:var(--text);

    font-size:.86rem;

    line-height:1.6;

}


/* ==========================================================
   EDITORIAL VERDICT
========================================================== */

.iu-hotel-page .iu-hotel-review-verdict{

    margin-top:16px;

    padding:28px;

    background:
        linear-gradient(
            135deg,
            rgba(200,155,60,.10),
            rgba(200,155,60,.025)
        );

    border:1px solid
        rgba(200,155,60,.25);

    border-radius:var(--radius-lg);

}


.iu-hotel-page .iu-hotel-review-verdict-label{

    display:block;

    margin-bottom:8px;

    color:var(--accent);

    font-size:.68rem;

    font-weight:800;

    letter-spacing:.1em;

    text-transform:uppercase;

}


.iu-hotel-page .iu-hotel-review-verdict-title{

    margin:0 0 9px;

    color:var(--heading);

    font-size:1.25rem;

    font-weight:800;

}


.iu-hotel-page .iu-hotel-review-verdict-text{

    max-width:850px;

    margin:0;

    color:var(--text);

    font-size:.9rem;

    line-height:1.75;

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:1024px){

    .iu-hotel-page .iu-hotel-reviews{

        padding:64px 0 70px;

    }

    .iu-hotel-page .iu-hotel-review-platforms{

        grid-template-columns:
            repeat(2,minmax(0,1fr));

    }

}


@media(max-width:640px){

    .iu-hotel-page .iu-hotel-reviews{

        width:calc(100% - 28px);

        padding:50px 0 56px;

    }

    .iu-hotel-page .iu-hotel-reviews-title{

        font-size:1.9rem;

    }

    .iu-hotel-page .iu-hotel-reviews-intro{

        font-size:.9rem;

    }

    .iu-hotel-page .iu-hotel-review-platforms{

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:9px;

    }

    .iu-hotel-page .iu-hotel-review-platform{

        padding:18px 16px;

    }

    .iu-hotel-page .iu-hotel-review-analysis{

        grid-template-columns:1fr;

        gap:10px;

    }

    .iu-hotel-page .iu-hotel-review-analysis-card{

        padding:20px;

    }

    .iu-hotel-page .iu-hotel-review-verdict{

        padding:21px;

    }

}


/* ==========================================================
   INSIDEUDAIPUR
   HOTEL — TRUST SCORE
   Premium Reusable Component
========================================================== */

.iu-hotel-trust{

    position:relative;

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin:0 auto;

    padding:76px 0;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-trust-header{

    max-width:760px;

    margin-bottom:34px;

}

.iu-hotel-trust-kicker{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-bottom:10px;

    color:var(--accent);

    font-family:Poppins,Inter,system-ui,sans-serif;

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.12em;

    line-height:1.3;

    text-transform:uppercase;

}

.iu-hotel-trust-kicker::before{

    content:"";

    width:30px;

    height:2px;

    background:var(--accent);

    border-radius:2px;

}

.iu-hotel-trust-title{

    margin:0;

    color:var(--heading);

    font-family:Poppins,Inter,system-ui,sans-serif;

    font-size:clamp(
        2rem,
        4vw,
        2.75rem
    );

    font-weight:800;

    line-height:1.12;

    letter-spacing:-.035em;

}

.iu-hotel-trust-intro{

    max-width:690px;

    margin:12px 0 0;

    color:var(--text);

    font-size:.96rem;

    line-height:1.75;

}


/* ==========================================================
   MAIN CARD
========================================================== */

.iu-hotel-trust-panel{

    display:grid;

    grid-template-columns:
        300px
        minmax(0,1fr);

    overflow:hidden;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-md);

}


/* ==========================================================
   SCORE BLOCK
========================================================== */

.iu-hotel-trust-score{

    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    min-height:390px;

    padding:40px 28px;

    background:
        linear-gradient(
            145deg,
            #fffdf7 0%,
            #f8f4e8 100%
        );

    border-right:1px solid var(--border);

    text-align:center;

}


/* subtle decorative circle */

.iu-hotel-trust-score::before{

    content:"";

    position:absolute;

    top:-75px;

    right:-75px;

    width:190px;

    height:190px;

    border:1px solid rgba(212,160,23,.18);

    border-radius:50%;

}

.iu-hotel-trust-score-label{

    position:relative;

    margin-bottom:16px;

    color:var(--primary);

    font-size:.68rem;

    font-weight:800;

    letter-spacing:.13em;

    text-transform:uppercase;

}

.iu-hotel-trust-score-number{

    position:relative;

    display:block;

    color:var(--primary);

    font-family:Poppins,Inter,system-ui,sans-serif;

    font-size:clamp(
        4rem,
        6vw,
        5rem
    );

    font-weight:800;

    line-height:.9;

    letter-spacing:-.065em;

}

.iu-hotel-trust-score-scale{

    position:relative;

    margin-top:9px;

    color:var(--text-light);

    font-size:.78rem;

    font-weight:600;

}

.iu-hotel-trust-score-verdict{

    position:relative;

    margin-top:20px;

    padding:8px 15px;

    border:1px solid rgba(212,160,23,.35);

    border-radius:999px;

    background:rgba(255,255,255,.72);

    color:var(--primary);

    font-size:.75rem;

    font-weight:800;

}


/* ==========================================================
   FACTORS
========================================================== */

.iu-hotel-trust-factors{

    padding:34px 38px 30px;

}

.iu-hotel-trust-factors-title{

    margin:0 0 20px;

    color:var(--heading);

    font-family:Poppins,Inter,system-ui,sans-serif;

    font-size:1.15rem;

    font-weight:750;

}


/* ==========================================================
   FACTOR ROW
========================================================== */

.iu-hotel-trust-factor{

    display:grid;

    grid-template-columns:
        150px
        minmax(100px,1fr)
        42px;

    align-items:center;

    gap:16px;

    min-height:52px;

    border-bottom:1px solid var(--border);

}

.iu-hotel-trust-factor:last-of-type{

    border-bottom:0;

}

.iu-hotel-trust-factor-name{

    color:var(--text);

    font-size:.82rem;

    font-weight:650;

}

.iu-hotel-trust-factor-score{

    color:var(--primary);

    font-size:.82rem;

    font-weight:800;

    text-align:right;

}


/* ==========================================================
   SCORE BAR
========================================================== */

.iu-hotel-trust-factor-bar{

    position:relative;

    width:100%;

    height:7px;

    overflow:hidden;

    background:#edf0f2;

    border-radius:999px;

}

.iu-hotel-trust-factor-fill{

    display:block;

    width:var(--score);

    height:100%;

    background:
        linear-gradient(
            90deg,
            var(--primary),
            var(--accent)
        );

    border-radius:999px;

}


/* ==========================================================
   METHODOLOGY
========================================================== */

.iu-hotel-trust-method{

    margin-top:22px;

    padding:14px 16px;

    background:#faf9f6;

    border:1px solid var(--border);

    border-left:3px solid var(--accent);

    border-radius:var(--radius-sm);

    color:var(--text-light);

    font-size:.72rem;

    line-height:1.65;

}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:900px){

    .iu-hotel-trust-panel{

        grid-template-columns:240px minmax(0,1fr);

    }

    .iu-hotel-trust-score{

        min-height:360px;

    }

    .iu-hotel-trust-factors{

        padding:30px 26px;

    }

    .iu-hotel-trust-factor{

        grid-template-columns:
            125px
            minmax(80px,1fr)
            40px;

        gap:12px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:700px){

    .iu-hotel-trust{

        width:calc(100% - 28px);

        padding:54px 0;

    }

    .iu-hotel-trust-header{

        margin-bottom:25px;

    }

    .iu-hotel-trust-title{

        font-size:2rem;

    }

    .iu-hotel-trust-intro{

        font-size:.9rem;

        line-height:1.7;

    }

    .iu-hotel-trust-panel{

        display:block;

        border-radius:var(--radius-md);

    }

    .iu-hotel-trust-score{

        min-height:285px;

        padding:34px 20px;

        border-right:0;

        border-bottom:1px solid var(--border);

    }

    .iu-hotel-trust-score-number{

        font-size:4.2rem;

    }

    .iu-hotel-trust-factors{

        padding:26px 20px 22px;

    }

    .iu-hotel-trust-factors-title{

        font-size:1.05rem;

        margin-bottom:13px;

    }

    .iu-hotel-trust-factor{

        grid-template-columns:
            1fr auto;

        gap:5px 12px;

        padding:13px 0;

        min-height:auto;

    }

    .iu-hotel-trust-factor-name{

        font-size:.8rem;

    }

    .iu-hotel-trust-factor-score{

        font-size:.8rem;

    }

    .iu-hotel-trust-factor-bar{

        grid-column:1 / -1;

        height:6px;

        margin-top:3px;

    }

    .iu-hotel-trust-method{

        margin-top:16px;

        font-size:.7rem;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media(max-width:420px){

    .iu-hotel-trust{

        width:calc(100% - 22px);

    }

    .iu-hotel-trust-title{

        font-size:1.8rem;

    }

    .iu-hotel-trust-score{

        min-height:270px;

    }

    .iu-hotel-trust-score-number{

        font-size:3.8rem;

    }

    .iu-hotel-trust-factors{

        padding:23px 17px 19px;

    }

}


/* ==========================================================
   HOTEL HIGHLIGHTS
   PREMIUM / ISOLATED COMPONENT
========================================================== */

.iu-hotel-highlights {

    width: min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline: auto;

    padding: 72px 0 78px;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-highlights .iu-hotel-highlights-header {

    display: block;

    max-width: 720px;

    margin: 0 0 32px;

}

.iu-hotel-highlights .iu-hotel-highlights-kicker {

    display: flex;

    align-items: center;

    gap: 9px;

    width: max-content;

    margin: 0 0 9px;

    color: var(--accent);

    font-size: .72rem;

    font-weight: 800;

    letter-spacing: .13em;

    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-highlights .iu-hotel-highlights-kicker::before {

    content: "";

    width: 28px;

    height: 2px;

    flex: 0 0 28px;

    background: var(--accent);

    border-radius: 999px;

}

.iu-hotel-highlights .iu-hotel-highlights-title {

    display: block;

    margin: 0;

    color: var(--heading);

    font-family: Poppins, Inter, system-ui, sans-serif;

    font-size: clamp(2rem, 3.2vw, 2.7rem);

    font-weight: 800;

    line-height: 1.12;

    letter-spacing: -.04em;

}

.iu-hotel-highlights .iu-hotel-highlights-intro {

    display: block;

    max-width: 650px;

    margin: 11px 0 0;

    color: var(--muted);

    font-size: .95rem;

    line-height: 1.7;

}


/* ==========================================================
   GRID
========================================================== */

.iu-hotel-highlights .iu-hotel-highlights-grid {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;

    align-items: stretch;

}


/* ==========================================================
   CARD
========================================================== */

.iu-hotel-highlights .iu-hotel-highlight {

    position: relative;

    display: block;

    width: auto;

    min-width: 0;

    min-height: 205px;

    margin: 0;

    padding: 25px 24px;

    background: var(--surface);

    border: 1px solid var(--border);

    border-radius: var(--radius-md);

    box-shadow: var(--shadow-sm);

    overflow: hidden;

    box-sizing: border-box;

    text-align: left;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;

}


/* GOLD EDGE */

.iu-hotel-highlights .iu-hotel-highlight::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 3px;

    height: 0;

    background: var(--accent);

    border-radius: 0 0 4px 0;

    transition: height .22s ease;

}

.iu-hotel-highlights .iu-hotel-highlight:hover {

    transform: translateY(-3px);

    border-color: rgba(212,160,23,.35);

    box-shadow: var(--shadow-md);

}

.iu-hotel-highlights .iu-hotel-highlight:hover::before {

    height: 100%;

}


/* ==========================================================
   ICON
========================================================== */

.iu-hotel-highlights .iu-hotel-highlight-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 44px;

    height: 44px;

    margin: 0 0 17px;

    padding: 0;

    background: #faf7ed;

    border: 1px solid rgba(212,160,23,.25);

    border-radius: 12px;

    color: var(--primary);

    font-size: 19px;

    line-height: 1;

    box-sizing: border-box;

}


/* ==========================================================
   TITLE
========================================================== */

.iu-hotel-highlights .iu-hotel-highlight-title {

    display: block;

    width: auto;

    margin: 0 0 7px;

    padding: 0;

    color: var(--heading);

    font-family: Poppins, Inter, system-ui, sans-serif;

    font-size: 1rem;

    font-weight: 750;

    line-height: 1.35;

    letter-spacing: 0;

    text-align: left;

}


/* ==========================================================
   TEXT
========================================================== */

.iu-hotel-highlights .iu-hotel-highlight-text {

    display: block;

    width: auto;

    max-width: 100%;

    margin: 0;

    padding: 0;

    color: var(--text-light);

    font-size: .82rem;

    font-weight: 400;

    line-height: 1.7;

    text-align: left;

}


/* ==========================================================
   FEATURED CARD
========================================================== */

.iu-hotel-highlights
.iu-hotel-highlight.is-featured {

    grid-column: span 2;

    display: grid;

    grid-template-columns: 48px minmax(0, 1fr);

    column-gap: 20px;

    align-items: start;

    min-height: 205px;

    padding: 28px;

    background:
        linear-gradient(
            135deg,
            #fffdf7 0%,
            var(--surface) 70%
        );

}


/* FEATURED ICON */

.iu-hotel-highlights
.iu-hotel-highlight.is-featured
.iu-hotel-highlight-icon {

    width: 48px;

    height: 48px;

    margin: 0;

}


/* FEATURED CONTENT */

.iu-hotel-highlights
.iu-hotel-highlight.is-featured
.iu-hotel-highlight-title {

    margin-top: 1px;

    font-size: 1.08rem;

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .iu-hotel-highlights {

        width: calc(100% - 32px);

        padding: 60px 0 66px;

    }

    .iu-hotel-highlights .iu-hotel-highlights-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

    }

    .iu-hotel-highlights
    .iu-hotel-highlight.is-featured {

        grid-column: span 2;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 640px) {

    .iu-hotel-highlights {

        width: calc(100% - 28px);

        padding: 50px 0 56px;

    }

    .iu-hotel-highlights
    .iu-hotel-highlights-header {

        margin-bottom: 24px;

    }

    .iu-hotel-highlights
    .iu-hotel-highlights-title {

        font-size: 1.9rem;

    }

    .iu-hotel-highlights
    .iu-hotel-highlights-intro {

        font-size: .9rem;

        line-height: 1.7;

    }

    .iu-hotel-highlights
    .iu-hotel-highlights-grid {

        grid-template-columns: 1fr;

        gap: 12px;

    }


    /* EVERY CARD = VERTICAL */

    .iu-hotel-highlights
    .iu-hotel-highlight,

    .iu-hotel-highlights
    .iu-hotel-highlight.is-featured {

        grid-column: auto;

        display: block;

        min-height: 0;

        padding: 22px 20px;

    }


    .iu-hotel-highlights
    .iu-hotel-highlight-icon,

    .iu-hotel-highlights
    .iu-hotel-highlight.is-featured
    .iu-hotel-highlight-icon {

        width: 42px;

        height: 42px;

        margin: 0 0 15px;

    }


    .iu-hotel-highlights
    .iu-hotel-highlight-title,

    .iu-hotel-highlights
    .iu-hotel-highlight.is-featured
    .iu-hotel-highlight-title {

        display: block;

        margin: 0 0 7px;

        font-size: 1rem;

        line-height: 1.35;

    }


    .iu-hotel-highlights
    .iu-hotel-highlight-text {

        display: block;

        margin: 0;

        font-size: .82rem;

        line-height: 1.7;

    }


    .iu-hotel-highlights
    .iu-hotel-highlight:hover {

        transform: none;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 420px) {

    .iu-hotel-highlights {

        width: calc(100% - 22px);

    }

    .iu-hotel-highlights
    .iu-hotel-highlights-title {

        font-size: 1.8rem;

    }

    .iu-hotel-highlights
    .iu-hotel-highlight,

    .iu-hotel-highlights
    .iu-hotel-highlight.is-featured {

        padding: 20px 18px;

    }

}



/* ==========================================================
   HOTEL ROOMS & STAY OPTIONS
   Reusable component for all hotel pages
========================================================== */

.iu-hotel-rooms {

    width: min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline: auto;
    padding: 72px 0 78px;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-rooms-header {

    max-width: 760px;
    margin: 0 0 32px;

}

.iu-hotel-rooms-kicker {

    display: flex;
    align-items: center;
    gap: 9px;

    width: max-content;

    margin: 0 0 9px;

    color: var(--accent);

    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-rooms-kicker::before {

    content: "";

    width: 28px;
    height: 2px;
    flex: 0 0 28px;

    background: var(--accent);

    border-radius: 999px;

}

.iu-hotel-rooms-title {

    display: block;

    margin: 0;
    padding: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: clamp(2rem, 3.2vw, 2.7rem);

    font-weight: 800;

    line-height: 1.12;

    letter-spacing: -.04em;

}

.iu-hotel-rooms-intro {

    display: block;

    max-width: 680px;

    margin: 11px 0 0;
    padding: 0;

    color: var(--muted);

    font-size: .95rem;

    line-height: 1.7;

}


/* ==========================================================
   ROOM GRID
========================================================== */

.iu-hotel-rooms-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    align-items: stretch;

}


/* ==========================================================
   ROOM CARD
========================================================== */

.iu-hotel-room-card {

    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    margin: 0;
    padding: 0;

    background: var(--surface);

    border: 1px solid var(--border);

    border-radius: var(--radius-md);

    box-shadow: var(--shadow-sm);

    overflow: hidden;

    box-sizing: border-box;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;

}

.iu-hotel-room-card:hover {

    transform: translateY(-4px);

    border-color: rgba(212,160,23,.35);

    box-shadow: var(--shadow-md);

}


/* ==========================================================
   ROOM IMAGE
========================================================== */

.iu-hotel-room-image {

    position: relative;

    width: 100%;

    aspect-ratio: 16 / 10;

    overflow: hidden;

    background: #f4f1eb;

}

.iu-hotel-room-image img {

    display: block;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    object-fit: cover;

    object-position: center;

    transition:
        transform .45s ease;

}

.iu-hotel-room-card:hover
.iu-hotel-room-image img {

    transform: scale(1.035);

}


/* ==========================================================
   OPTIONAL ROOM BADGE
========================================================== */

.iu-hotel-room-badge {

    position: absolute;

    top: 14px;
    left: 14px;

    display: inline-flex;

    align-items: center;

    min-height: 28px;

    padding: 5px 10px;

    background: rgba(255,255,255,.94);

    border: 1px solid rgba(0,0,0,.06);

    border-radius: 999px;

    color: var(--heading);

    font-size: .68rem;

    font-weight: 750;

    line-height: 1;

    box-shadow: 0 4px 14px rgba(0,0,0,.08);

}


/* ==========================================================
   ROOM CONTENT
========================================================== */

.iu-hotel-room-content {

    display: flex;
    flex-direction: column;

    flex: 1;

    min-width: 0;

    padding: 23px 23px 24px;

}


/* ==========================================================
   ROOM TITLE
========================================================== */

.iu-hotel-room-title {

    display: block;

    margin: 0 0 10px;
    padding: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: 1.12rem;

    font-weight: 750;

    line-height: 1.35;

    letter-spacing: -.015em;

}


/* ==========================================================
   ROOM DESCRIPTION
========================================================== */

.iu-hotel-room-description {

    display: block;

    margin: 0 0 18px;
    padding: 0;

    color: var(--text-light);

    font-size: .83rem;

    line-height: 1.7;

}


/* ==========================================================
   ROOM META
========================================================== */

.iu-hotel-room-meta {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 9px;

    margin-top: auto;

    padding-top: 17px;

    border-top: 1px solid var(--border);

}

.iu-hotel-room-meta-item {

    min-width: 0;

    padding: 9px 10px;

    background: var(--background);

    border: 1px solid var(--border);

    border-radius: 10px;

    box-sizing: border-box;

}

.iu-hotel-room-meta-label {

    display: block;

    margin: 0 0 4px;

    color: var(--muted);

    font-size: .64rem;

    font-weight: 700;

    letter-spacing: .06em;

    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-room-meta-value {

    display: block;

    margin: 0;

    color: var(--heading);

    font-size: .77rem;

    font-weight: 650;

    line-height: 1.4;

}


/* ==========================================================
   OPTIONAL FEATURES
========================================================== */

.iu-hotel-room-features {

    display: flex;

    flex-wrap: wrap;

    gap: 7px;

    margin: 0 0 18px;

    padding: 0;

    list-style: none;

}

.iu-hotel-room-features li {

    margin: 0;
    padding: 6px 9px;

    background: #faf7ed;

    border: 1px solid rgba(212,160,23,.18);

    border-radius: 7px;

    color: var(--text);

    font-size: .68rem;

    line-height: 1.25;

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .iu-hotel-rooms {

        width: calc(100% - 32px);

        padding: 60px 0 66px;

    }

    .iu-hotel-rooms-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 16px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 640px) {

    .iu-hotel-rooms {

        width: calc(100% - 28px);

        padding: 50px 0 56px;

    }

    .iu-hotel-rooms-header {

        margin-bottom: 24px;

    }

    .iu-hotel-rooms-title {

        font-size: 1.9rem;

    }

    .iu-hotel-rooms-intro {

        font-size: .9rem;

        line-height: 1.7;

    }

    .iu-hotel-rooms-grid {

        grid-template-columns: 1fr;

        gap: 14px;

    }

    .iu-hotel-room-card:hover {

        transform: none;

    }

    .iu-hotel-room-image {

        aspect-ratio: 16 / 10;

    }

    .iu-hotel-room-content {

        padding: 20px 19px 21px;

    }

    .iu-hotel-room-title {

        font-size: 1.05rem;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 420px) {

    .iu-hotel-rooms {

        width: calc(100% - 22px);

    }

    .iu-hotel-rooms-title {

        font-size: 1.8rem;

    }

    .iu-hotel-room-image {

        aspect-ratio: 16 / 10;

    }

    .iu-hotel-room-content {

        padding: 19px 17px 20px;

    }

    .iu-hotel-room-meta {

        grid-template-columns: 1fr;

    }

}


/* ==========================================================
   HOTEL PROS & CONS
   Reusable component for all hotel pages
========================================================== */

.iu-hotel-pros-cons {

    width: min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline: auto;

    padding: 72px 0 78px;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-pros-cons-header {

    max-width: 760px;

    margin: 0 0 32px;

}

.iu-hotel-pros-cons-kicker {

    display: flex;

    align-items: center;

    gap: 9px;

    width: max-content;

    margin: 0 0 9px;

    color: var(--accent);

    font-size: .72rem;

    font-weight: 800;

    letter-spacing: .13em;

    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-pros-cons-kicker::before {

    content: "";

    width: 28px;

    height: 2px;

    flex: 0 0 28px;

    background: var(--accent);

    border-radius: 999px;

}

.iu-hotel-pros-cons-title {

    display: block;

    margin: 0;

    padding: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: clamp(2rem, 3.2vw, 2.7rem);

    font-weight: 800;

    line-height: 1.12;

    letter-spacing: -.04em;

}

.iu-hotel-pros-cons-intro {

    max-width: 680px;

    margin: 11px 0 0;

    color: var(--muted);

    font-size: .95rem;

    line-height: 1.7;

}


/* ==========================================================
   TWO COLUMN LAYOUT
========================================================== */

.iu-hotel-pros-cons-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 18px;

    align-items: stretch;

}


/* ==========================================================
   PANEL
========================================================== */

.iu-hotel-pros-cons-panel {

    position: relative;

    min-width: 0;

    padding: 28px 27px;

    background: var(--surface);

    border: 1px solid var(--border);

    border-radius: var(--radius-md);

    box-shadow: var(--shadow-sm);

    overflow: hidden;

    box-sizing: border-box;

}


/* subtle accent edge */

.iu-hotel-pros-cons-panel::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 3px;

    height: 100%;

    background: var(--accent);

}


/* ==========================================================
   PANEL HEADER
========================================================== */

.iu-hotel-pros-cons-panel-header {

    display: flex;

    align-items: center;

    gap: 13px;

    margin: 0 0 22px;

    padding: 0 0 17px;

    border-bottom: 1px solid var(--border);

}

.iu-hotel-pros-cons-panel-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 42px;

    height: 42px;

    flex: 0 0 42px;

    background: #faf7ed;

    border: 1px solid rgba(212,160,23,.22);

    border-radius: 11px;

    font-size: 18px;

    line-height: 1;

}

.iu-hotel-pros-cons-panel-title {

    display: block;

    margin: 0;

    padding: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: 1.05rem;

    font-weight: 750;

    line-height: 1.35;

}


/* ==========================================================
   LIST
========================================================== */

.iu-hotel-pros-cons-list {

    display: flex;

    flex-direction: column;

    gap: 13px;

    margin: 0;

    padding: 0;

    list-style: none;

}


/* ==========================================================
   LIST ITEM
========================================================== */

.iu-hotel-pros-cons-item {

    display: grid;

    grid-template-columns: 28px minmax(0, 1fr);

    column-gap: 11px;

    align-items: start;

    margin: 0;

    padding: 0;

}


/* ==========================================================
   ITEM ICON
========================================================== */

.iu-hotel-pros-cons-item-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 27px;

    height: 27px;

    margin-top: 1px;

    border-radius: 50%;

    font-size: .72rem;

    font-weight: 800;

    line-height: 1;

}


/* PRO */

.iu-hotel-pros-cons-panel.is-pro
.iu-hotel-pros-cons-item-icon {

    background: #f3f8f1;

    border: 1px solid #dcebd7;

}


/* CON */

.iu-hotel-pros-cons-panel.is-con
.iu-hotel-pros-cons-item-icon {

    background: #faf5ef;

    border: 1px solid #eadfd2;

}


/* ==========================================================
   ITEM CONTENT
========================================================== */

.iu-hotel-pros-cons-item-content {

    min-width: 0;

}

.iu-hotel-pros-cons-item-title {

    display: block;

    margin: 0 0 3px;

    padding: 0;

    color: var(--heading);

    font-size: .84rem;

    font-weight: 700;

    line-height: 1.45;

}

.iu-hotel-pros-cons-item-text {

    display: block;

    margin: 0;

    padding: 0;

    color: var(--text-light);

    font-size: .78rem;

    font-weight: 400;

    line-height: 1.65;

}


/* ==========================================================
   OPTIONAL PANEL NOTE
========================================================== */

.iu-hotel-pros-cons-note {

    margin: 21px 0 0;

    padding: 12px 14px;

    background: var(--background);

    border: 1px solid var(--border);

    border-radius: 9px;

    color: var(--muted);

    font-size: .72rem;

    line-height: 1.6;

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .iu-hotel-pros-cons {

        width: calc(100% - 32px);

        padding: 60px 0 66px;

    }

    .iu-hotel-pros-cons-grid {

        gap: 15px;

    }

    .iu-hotel-pros-cons-panel {

        padding: 25px 23px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 640px) {

    .iu-hotel-pros-cons {

        width: calc(100% - 28px);

        padding: 50px 0 56px;

    }

    .iu-hotel-pros-cons-header {

        margin-bottom: 24px;

    }

    .iu-hotel-pros-cons-title {

        font-size: 1.9rem;

    }

    .iu-hotel-pros-cons-intro {

        font-size: .9rem;

        line-height: 1.7;

    }

    .iu-hotel-pros-cons-grid {

        grid-template-columns: 1fr;

        gap: 13px;

    }

    .iu-hotel-pros-cons-panel {

        padding: 22px 20px;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 420px) {

    .iu-hotel-pros-cons {

        width: calc(100% - 22px);

    }

    .iu-hotel-pros-cons-title {

        font-size: 1.8rem;

    }

    .iu-hotel-pros-cons-panel {

        padding: 20px 18px;

    }

}



/* ==========================================================
   WHO SHOULD STAY HERE
   Reusable hotel-page component
========================================================== */

.iu-hotel-who {

    width: min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline: auto;

    padding: 72px 0 78px;

    box-sizing: border-box;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-who-header {

    max-width: 760px;

    margin: 0 0 32px;

}

.iu-hotel-who-kicker {

    display: flex;

    align-items: center;

    gap: 9px;

    width: max-content;

    margin: 0 0 9px;

    color: var(--accent);

    font-size: .72rem;

    font-weight: 800;

    letter-spacing: .13em;

    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-who-kicker::before {

    content: "";

    width: 28px;

    height: 2px;

    flex: 0 0 28px;

    background: var(--accent);

    border-radius: 999px;

}

.iu-hotel-who-title {

    display: block;

    margin: 0;

    padding: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: clamp(2rem, 3.2vw, 2.7rem);

    font-weight: 800;

    line-height: 1.12;

    letter-spacing: -.04em;

}

.iu-hotel-who-intro {

    max-width: 680px;

    margin: 11px 0 0;

    padding: 0;

    color: var(--muted);

    font-size: .95rem;

    line-height: 1.7;

}


/* ==========================================================
   AUDIENCE GRID
========================================================== */

.iu-hotel-who-grid {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 15px;

    align-items: stretch;

}


/* ==========================================================
   AUDIENCE CARD
========================================================== */

.iu-hotel-who-card {

    display: flex;

    flex-direction: column;

    min-width: 0;

    min-height: 100%;

    padding: 23px 22px 22px;

    background: var(--surface);

    border: 1px solid var(--border);

    border-radius: var(--radius-md);

    box-shadow: var(--shadow-sm);

    box-sizing: border-box;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;

}

.iu-hotel-who-card:hover {

    transform: translateY(-3px);

    border-color: rgba(212,160,23,.35);

    box-shadow: var(--shadow-md);

}


/* ==========================================================
   ICON
========================================================== */

.iu-hotel-who-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 44px;

    height: 44px;

    margin: 0 0 17px;

    background: #faf7ed;

    border: 1px solid rgba(212,160,23,.2);

    border-radius: 12px;

    font-size: 19px;

    line-height: 1;

}


/* ==========================================================
   CARD TITLE
========================================================== */

.iu-hotel-who-card-title {

    display: block;

    margin: 0 0 8px;

    padding: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: .98rem;

    font-weight: 750;

    line-height: 1.4;

    letter-spacing: -.01em;

}


/* ==========================================================
   CARD TEXT
========================================================== */

.iu-hotel-who-card-text {

    display: block;

    margin: 0;

    padding: 0;

    color: var(--text-light);

    font-size: .78rem;

    line-height: 1.7;

}


/* ==========================================================
   OPTIONAL FIT LABEL
========================================================== */

.iu-hotel-who-fit {

    display: inline-flex;

    align-items: center;

    width: max-content;

    margin-top: auto;

    padding-top: 17px;

    color: var(--accent);

    font-size: .67rem;

    font-weight: 800;

    letter-spacing: .06em;

    line-height: 1.3;

    text-transform: uppercase;

}


/* ==========================================================
   OPTIONAL FULL-WIDTH NOTE
========================================================== */

.iu-hotel-who-note {

    margin: 18px 0 0;

    padding: 15px 17px;

    background: var(--background);

    border: 1px solid var(--border);

    border-radius: 10px;

    color: var(--muted);

    font-size: .75rem;

    line-height: 1.65;

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .iu-hotel-who {

        width: calc(100% - 32px);

        padding: 60px 0 66px;

    }

    .iu-hotel-who-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 14px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 640px) {

    .iu-hotel-who {

        width: calc(100% - 28px);

        padding: 50px 0 56px;

    }

    .iu-hotel-who-header {

        margin-bottom: 24px;

    }

    .iu-hotel-who-title {

        font-size: 1.9rem;

    }

    .iu-hotel-who-intro {

        font-size: .9rem;

        line-height: 1.7;

    }

    .iu-hotel-who-grid {

        grid-template-columns: 1fr;

        gap: 12px;

    }

    .iu-hotel-who-card {

        padding: 20px 19px;

    }

    .iu-hotel-who-card:hover {

        transform: none;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 420px) {

    .iu-hotel-who {

        width: calc(100% - 22px);

    }

    .iu-hotel-who-title {

        font-size: 1.8rem;

    }

    .iu-hotel-who-card {

        padding: 19px 17px;

    }

}



/* ==========================================================
   HOTEL BOOKING INFORMATION
   Reusable component for all hotel pages
========================================================== */

.iu-hotel-booking {

    width: min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline: auto;

    padding: 72px 0 78px;

    box-sizing: border-box;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-booking-header {

    max-width: 760px;

    margin: 0 0 32px;

}

.iu-hotel-booking-kicker {

    display: flex;

    align-items: center;

    gap: 9px;

    width: max-content;

    margin: 0 0 9px;

    color: var(--accent);

    font-size: .72rem;

    font-weight: 800;

    letter-spacing: .13em;

    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-booking-kicker::before {

    content: "";

    width: 28px;

    height: 2px;

    flex: 0 0 28px;

    background: var(--accent);

    border-radius: 999px;

}

.iu-hotel-booking-title {

    display: block;

    margin: 0;

    padding: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: clamp(2rem, 3.2vw, 2.7rem);

    font-weight: 800;

    line-height: 1.12;

    letter-spacing: -.04em;

}

.iu-hotel-booking-intro {

    max-width: 680px;

    margin: 11px 0 0;

    padding: 0;

    color: var(--muted);

    font-size: .95rem;

    line-height: 1.7;

}


/* ==========================================================
   INFORMATION GRID
========================================================== */

.iu-hotel-booking-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 15px;

    align-items: stretch;

}


/* ==========================================================
   INFORMATION CARD
========================================================== */

.iu-hotel-booking-card {

    display: flex;

    align-items: flex-start;

    gap: 15px;

    min-width: 0;

    padding: 21px 22px;

    background: var(--surface);

    border: 1px solid var(--border);

    border-radius: var(--radius-md);

    box-shadow: var(--shadow-sm);

    box-sizing: border-box;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;

}

.iu-hotel-booking-card:hover {

    transform: translateY(-3px);

    border-color: rgba(212,160,23,.35);

    box-shadow: var(--shadow-md);

}


/* ==========================================================
   ICON
========================================================== */

.iu-hotel-booking-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 42px;

    height: 42px;

    flex: 0 0 42px;

    background: #faf7ed;

    border: 1px solid rgba(212,160,23,.2);

    border-radius: 11px;

    color: var(--accent);

    font-size: 17px;

    line-height: 1;

}


/* ==========================================================
   CONTENT
========================================================== */

.iu-hotel-booking-content {

    min-width: 0;

}

.iu-hotel-booking-label {

    display: block;

    margin: 0 0 5px;

    color: var(--muted);

    font-size: .66rem;

    font-weight: 750;

    letter-spacing: .07em;

    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-booking-value {

    display: block;

    margin: 0;

    color: var(--heading);

    font-size: .86rem;

    font-weight: 700;

    line-height: 1.5;

}

.iu-hotel-booking-note {

    display: block;

    margin: 4px 0 0;

    color: var(--text-light);

    font-size: .73rem;

    font-weight: 400;

    line-height: 1.6;

}


/* ==========================================================
   PRICE / IMPORTANT HIGHLIGHT
========================================================== */

.iu-hotel-booking-card.is-highlight {

    background:
        linear-gradient(
            135deg,
            var(--surface),
            #faf7ed
        );

    border-color: rgba(212,160,23,.28);

}


/* ==========================================================
   BOOKING NOTICE
========================================================== */

.iu-hotel-booking-notice {

    display: flex;

    align-items: flex-start;

    gap: 12px;

    margin: 18px 0 0;

    padding: 15px 17px;

    background: var(--background);

    border: 1px solid var(--border);

    border-radius: 10px;

    box-sizing: border-box;

}

.iu-hotel-booking-notice-icon {

    flex: 0 0 auto;

    font-size: .85rem;

    line-height: 1.5;

}

.iu-hotel-booking-notice-text {

    margin: 0;

    color: var(--muted);

    font-size: .73rem;

    line-height: 1.65;

}


/* ==========================================================
   OPTIONAL BOOKING LINKS
========================================================== */

.iu-hotel-booking-links {

    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin: 20px 0 0;

}

.iu-hotel-booking-link {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 40px;

    padding: 9px 15px;

    background: var(--heading);

    border: 1px solid var(--heading);

    border-radius: 9px;

    color: #fff;

    font-size: .73rem;

    font-weight: 750;

    line-height: 1.2;

    text-decoration: none;

    transition:
        transform .2s ease,
        opacity .2s ease;

}

.iu-hotel-booking-link:hover {

    transform: translateY(-2px);

    opacity: .9;

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .iu-hotel-booking {

        width: calc(100% - 32px);

        padding: 60px 0 66px;

    }

    .iu-hotel-booking-grid {

        gap: 13px;

    }

    .iu-hotel-booking-card {

        padding: 19px 20px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 640px) {

    .iu-hotel-booking {

        width: calc(100% - 28px);

        padding: 50px 0 56px;

    }

    .iu-hotel-booking-header {

        margin-bottom: 24px;

    }

    .iu-hotel-booking-title {

        font-size: 1.9rem;

    }

    .iu-hotel-booking-intro {

        font-size: .9rem;

        line-height: 1.7;

    }

    .iu-hotel-booking-grid {

        grid-template-columns: 1fr;

        gap: 11px;

    }

    .iu-hotel-booking-card {

        padding: 19px 18px;

    }

    .iu-hotel-booking-card:hover {

        transform: none;

    }

    .iu-hotel-booking-links {

        flex-direction: column;

    }

    .iu-hotel-booking-link {

        width: 100%;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 420px) {

    .iu-hotel-booking {

        width: calc(100% - 22px);

    }

    .iu-hotel-booking-title {

        font-size: 1.8rem;

    }

    .iu-hotel-booking-card {

        gap: 12px;

        padding: 18px 16px;

    }

    .iu-hotel-booking-icon {

        width: 39px;

        height: 39px;

        flex-basis: 39px;

    }

}


/* ==========================================================
   INSIDEUDAIPUR — HOTEL FINAL VERDICT
   Reusable / Future-Proof Component
========================================================== */

.iu-hotel-verdict {

    width: min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline: auto;

    padding: 76px 0 84px;

    box-sizing: border-box;

}


/* ==========================================================
   MAIN VERDICT PANEL
========================================================== */

.iu-hotel-verdict-inner {

    position: relative;

    overflow: hidden;

    padding: 56px 54px;

    background:
        linear-gradient(
            135deg,
            var(--surface) 0%,
            #faf7ed 100%
        );

    border: 1px solid rgba(212,160,23,.22);

    border-radius: 24px;

    box-shadow: var(--shadow-md);

    box-sizing: border-box;

}


/* subtle decorative element */

.iu-hotel-verdict-inner::before {

    content: "";

    position: absolute;

    width: 240px;

    height: 240px;

    top: -130px;

    right: -90px;

    border: 1px solid rgba(212,160,23,.13);

    border-radius: 50%;

    pointer-events: none;

}

.iu-hotel-verdict-inner::after {

    content: "";

    position: absolute;

    width: 150px;

    height: 150px;

    bottom: -100px;

    left: -65px;

    border: 1px solid rgba(212,160,23,.10);

    border-radius: 50%;

    pointer-events: none;

}


/* ==========================================================
   HEADER
========================================================== */

.iu-hotel-verdict-header {

    position: relative;

    z-index: 1;

    max-width: 760px;

    margin: 0 auto 34px;

    text-align: center;

}

.iu-hotel-verdict-kicker {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin: 0 0 11px;

    color: var(--accent);

    font-size: .7rem;

    font-weight: 800;

    letter-spacing: .15em;

    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-verdict-kicker::before,
.iu-hotel-verdict-kicker::after {

    content: "";

    width: 24px;

    height: 1px;

    background: var(--accent);

    opacity: .7;

}

.iu-hotel-verdict-title {

    margin: 0;

    padding: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: clamp(2rem, 3.5vw, 2.9rem);

    font-weight: 800;

    line-height: 1.12;

    letter-spacing: -.045em;

}

.iu-hotel-verdict-intro {

    max-width: 650px;

    margin: 12px auto 0;

    color: var(--muted);

    font-size: .92rem;

    line-height: 1.75;

}


/* ==========================================================
   SCORE CARD
========================================================== */

.iu-hotel-verdict-score {

    position: relative;

    z-index: 1;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    width: min(100%, 360px);

    min-height: 155px;

    margin: 0 auto 38px;

    padding: 24px 28px;

    background: var(--surface);

    border: 1px solid rgba(212,160,23,.28);

    border-radius: 18px;

    box-shadow: var(--shadow-sm);

    box-sizing: border-box;

}

.iu-hotel-verdict-score-label {

    margin: 0 0 4px;

    color: var(--muted);

    font-size: .64rem;

    font-weight: 800;

    letter-spacing: .12em;

    line-height: 1.3;

    text-transform: uppercase;

}

.iu-hotel-verdict-score-number {

    margin: 0;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: 3rem;

    font-weight: 850;

    line-height: 1;

    letter-spacing: -.06em;

}

.iu-hotel-verdict-score-number small {

    font-size: 1rem;

    font-weight: 700;

    letter-spacing: 0;

}

.iu-hotel-verdict-score-caption {

    margin: 7px 0 0;

    color: var(--accent);

    font-size: .7rem;

    font-weight: 750;

    line-height: 1.4;

}


/* ==========================================================
   DECISION GRID
========================================================== */

.iu-hotel-verdict-grid {

    position: relative;

    z-index: 1;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 15px;

    margin: 0 0 28px;

}


/* ==========================================================
   DECISION CARD
========================================================== */

.iu-hotel-verdict-card {

    min-width: 0;

    padding: 24px 24px 23px;

    background: rgba(255,255,255,.68);

    border: 1px solid var(--border);

    border-radius: 15px;

    box-sizing: border-box;

}

.iu-hotel-verdict-card-title {

    display: flex;

    align-items: center;

    gap: 9px;

    margin: 0 0 14px;

    color: var(--heading);

    font-family:
        Poppins,
        Inter,
        system-ui,
        sans-serif;

    font-size: .9rem;

    font-weight: 800;

    line-height: 1.4;

}

.iu-hotel-verdict-card-title::before {

    content: "";

    width: 7px;

    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: var(--accent);

}

.iu-hotel-verdict-list {

    display: flex;

    flex-direction: column;

    gap: 9px;

    margin: 0;

    padding: 0;

    list-style: none;

}

.iu-hotel-verdict-list li {

    position: relative;

    padding-left: 20px;

    color: var(--text-light);

    font-size: .76rem;

    line-height: 1.65;

}

.iu-hotel-verdict-list li::before {

    content: "✓";

    position: absolute;

    left: 0;

    top: 0;

    color: var(--accent);

    font-size: .72rem;

    font-weight: 800;

}

.iu-hotel-verdict-card.is-consider li::before {

    content: "—";

    font-weight: 700;

}


/* ==========================================================
   FINAL SUMMARY
========================================================== */

.iu-hotel-verdict-summary {

    position: relative;

    z-index: 1;

    max-width: 760px;

    margin: 0 auto 28px;

    text-align: center;

}

.iu-hotel-verdict-summary p {

    margin: 0;

    color: var(--muted);

    font-size: .82rem;

    line-height: 1.75;

}

.iu-hotel-verdict-summary strong {

    color: var(--heading);

    font-weight: 750;

}


/* ==========================================================
   CTA
========================================================== */

.iu-hotel-verdict-cta {

    position: relative;

    z-index: 1;

    display: flex;

    justify-content: center;

    margin: 0;

}

.iu-hotel-verdict-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    min-height: 47px;

    padding: 12px 23px;

    background: var(--heading);

    border: 1px solid var(--heading);

    border-radius: 10px;

    color: #fff;

    font-size: .76rem;

    font-weight: 800;

    line-height: 1.2;

    text-decoration: none;

    box-shadow: var(--shadow-sm);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;

}

.iu-hotel-verdict-button:hover {

    transform: translateY(-2px);

    box-shadow: var(--shadow-md);

    opacity: .94;

}

.iu-hotel-verdict-button::after {

    content: "→";

    font-size: .95rem;

    line-height: 1;

}


/* ==========================================================
   UPDATE / TRANSPARENCY NOTE
========================================================== */

.iu-hotel-verdict-updated {

    position: relative;

    z-index: 1;

    margin: 17px 0 0;

    color: var(--muted);

    font-size: .63rem;

    line-height: 1.5;

    text-align: center;

    opacity: .8;

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .iu-hotel-verdict {

        width: calc(100% - 32px);

        padding: 60px 0 68px;

    }

    .iu-hotel-verdict-inner {

        padding: 48px 38px;

        border-radius: 20px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 640px) {

    .iu-hotel-verdict {

        width: calc(100% - 28px);

        padding: 50px 0 58px;

    }

    .iu-hotel-verdict-inner {

        padding: 39px 18px 35px;

        border-radius: 18px;

    }

    .iu-hotel-verdict-header {

        margin-bottom: 27px;

    }

    .iu-hotel-verdict-title {

        font-size: 1.9rem;

    }

    .iu-hotel-verdict-intro {

        font-size: .86rem;

        line-height: 1.7;

    }

    .iu-hotel-verdict-score {

        min-height: 140px;

        margin-bottom: 25px;

        padding: 21px;

    }

    .iu-hotel-verdict-score-number {

        font-size: 2.7rem;

    }

    .iu-hotel-verdict-grid {

        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 23px;

    }

    .iu-hotel-verdict-card {

        padding: 20px 18px;

    }

    .iu-hotel-verdict-summary p {

        font-size: .78rem;

    }

    .iu-hotel-verdict-button {

        width: 100%;

        min-height: 45px;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 420px) {

    .iu-hotel-verdict {

        width: calc(100% - 22px);

    }

    .iu-hotel-verdict-inner {

        padding-inline: 15px;

    }

    .iu-hotel-verdict-title {

        font-size: 1.75rem;

    }

    .iu-hotel-verdict-kicker {

        font-size: .63rem;

        letter-spacing: .12em;

    }

    .iu-hotel-verdict-kicker::before,
    .iu-hotel-verdict-kicker::after {

        width: 18px;

    }

}




