\/* ==========================================================
   INSIDE UDAIPUR
   GLOBAL CSS
   Version : 1.0
   Mobile First
========================================================== */


/* =========================
   RESET
========================= */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    font-size:16px;
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;
}

body{
    min-height:100vh;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}


/* =========================
   DESIGN SYSTEM
========================= */

:root{

    /* Brand */

    --primary:#123458;
    --primary-hover:#0E2B47;

    --accent:#D4A017;
    --accent-hover:#BC8C10;

    /* Background */

    --background:#F8F7F4;
    --surface:#FFFFFF;

    /* Typography */

    --heading:#0F172A;
    --text:#475569;
    --text-light:#64748B;

    /* Border */

    --border:#E5E7EB;

    /* Status */

    --success:#16A34A;
    --danger:#DC2626;

    /* Radius */

    --radius-sm:8px;
    --radius-md:14px;
    --radius-lg:22px;

    /* Shadow */

    --shadow-sm:0 2px 10px rgba(0,0,0,.05);

    --shadow-md:0 8px 25px rgba(0,0,0,.08);

    --shadow-lg:0 15px 40px rgba(0,0,0,.12);

    /* Container */

    --container:1280px;

}


/* =========================
   BODY
========================= */

body{

    background:var(--background);

    color:var(--text);

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

    line-height:1.7;

}


/* =========================
   IMAGES
========================= */

img{

    max-width:100%;

    height:auto;

    display:block;

}


/* =========================
   LINKS
========================= */

a{

    color:var(--primary);

    text-decoration:none;

    transition:.25s ease;

}

a:hover{

    color:var(--accent);

}


/* =========================
   SELECTION
========================= */

::selection{

    background:var(--accent);

    color:#fff;

}


/* ==========================================================
   TYPOGRAPHY
========================================================== */

h1,
h2,
h3,
h4,
h5,
h6{
    margin:0 0 1rem;
    color:var(--heading);
    font-family:Poppins,Inter,system-ui,sans-serif;
    line-height:1.2;
    letter-spacing:-0.02em;
    font-weight:700;
}

h1{
    font-size:clamp(2rem,5vw,3.5rem);
    font-weight:800;
}

h2{
    font-size:clamp(1.75rem,4vw,2.75rem);
}

h3{
    font-size:clamp(1.4rem,3vw,2rem);
    color:var(--primary);
}

h4{
    font-size:1.25rem;
}

h5{
    font-size:1.1rem;
}

h6{
    font-size:1rem;
}

p{
    margin:0 0 1.25rem;
    color:var(--text);
    font-size:1rem;
    line-height:1.8;
}

small{
    color:var(--text-light);
    font-size:.875rem;
}

strong{
    color:var(--heading);
    font-weight:700;
}

ul,
ol{
    margin:0 0 1.5rem 1.2rem;
    color:var(--text);
}

li{
    margin-bottom:.45rem;
}




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

.container,
.grid-container,
.site-main,
.inside-container{

    width:min(100% - 2rem,var(--container));

    margin-inline:auto;

}


/* ==========================================================
   SECTION SPACING
========================================================== */

section{

    padding:3rem 0;

}


/* ==========================================================
   BUTTON SYSTEM
========================================================== */

.button,
button,
input[type="submit"],
.wp-block-button__link{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:.5rem;

    min-height:52px;

    padding:.9rem 1.5rem;

    border:none;

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

    background:var(--primary);

    color:#fff;

    font-size:1rem;

    font-weight:600;

    cursor:pointer;

    transition:.25s ease;

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

}

.button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover{

    background:var(--primary-hover);

    transform:translateY(-2px);

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

    color:#fff;

}


/* Secondary Button */

.button-secondary{

    background:var(--accent);

    color:#111827;

}

.button-secondary:hover{

    background:var(--accent-hover);

    color:#111827;

}


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

.card{

    background:var(--surface);

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

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

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

    overflow:hidden;

}


/* ==========================================================
   UTILITIES
========================================================== */

.text-center{

    text-align:center;

}

.d-flex{

    display:flex;

}

.align-center{

    align-items:center;

}

.justify-between{

    justify-content:space-between;

}

.w-100{

    width:100%;

}

.rounded{

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

}

.shadow{

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

}



/* ==========================================================
   FORMS
========================================================== */

input,
textarea,
select{

    width:100%;

    min-height:52px;

    padding:.85rem 1rem;

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

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

    background:var(--surface);

    color:var(--heading);

    font:inherit;

    outline:none;

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

}

textarea{

    min-height:140px;

    resize:vertical;

}

input::placeholder,
textarea::placeholder{

    color:var(--text-light);

    opacity:1;

}

input:focus,
textarea:focus,
select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(18,52,88,.10);

    background:#fff;

}

label{

    display:block;

    margin-bottom:.5rem;

    color:var(--heading);

    font-weight:600;

}

fieldset{

    border:none;

    margin:0;

    padding:0;

}

.form-group{

    margin-bottom:1.5rem;

}




/* ==========================================================
   TABLES
   Version : 1.0
========================================================== */

/* Wrapper */

.table-responsive{

    width:100%;

    overflow-x:auto;

    -webkit-overflow-scrolling:touch;

    margin:2rem 0;

}

/* Base */

table{

    width:100%;

    border-collapse:collapse;

    background:var(--surface);

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

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

    overflow:hidden;

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

}

/* Header */

thead{

    background:var(--primary);

}

thead th{

    color:#fff;

    font-size:.95rem;

    font-weight:700;

    padding:1rem;

    text-align:left;

    white-space:nowrap;

}

/* Body */

tbody td{

    padding:1rem;

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

    color:var(--text);

    vertical-align:middle;

}

/* Zebra */

tbody tr:nth-child(even){

    background:#FCFCFC;

}

/* Hover */

tbody tr:hover{

    background:#F5F8FC;

}

/* Comparison */

.table-comparison tbody td:first-child{

    font-weight:700;

    color:var(--heading);

    white-space:nowrap;

}

/* Price */

.price{

    color:var(--success);

    font-weight:700;

}

/* Rating */

.rating{

    color:var(--accent);

    font-weight:700;

}

/* Badge */

.badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:.35rem .7rem;

    border-radius:999px;

    font-size:.8rem;

    font-weight:600;

}

.badge-best{

    background:#FFF6D8;

    color:#A16207;

}

.badge-new{

    background:#DBEAFE;

    color:#1D4ED8;

}

.badge-popular{

    background:#DCFCE7;

    color:#166534;

}

/* Sticky Header */

.table-sticky thead{

    position:sticky;

    top:0;

    z-index:5;

}

/* Mobile */

@media(max-width:767px){

table{

    min-width:700px;

}

thead th{

    padding:.9rem;

}

tbody td{

    padding:.9rem;

}

}


/* ==========================================================
   ACCESSIBILITY
   Version : 1.0
========================================================== */

/* Screen Reader */

.screen-reader-text{

    position:absolute;

    width:1px;

    height:1px;

    padding:0;

    margin:-1px;

    overflow:hidden;

    clip:rect(0,0,0,0);

    white-space:nowrap;

    border:0;

}

/* Keyboard Focus */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{

    outline:3px solid var(--accent);

    outline-offset:3px;

}

/* Disabled */

button:disabled,
input:disabled,
select:disabled,
textarea:disabled{

    opacity:.6;

    cursor:not-allowed;

}

/* Reduced Motion */

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

*{

animation:none !important;

transition:none !important;

scroll-behavior:auto !important;

}

}


/* ==========================================================
   ANIMATIONS
   Version : 1.0
========================================================== */

/* Fade In */

@keyframes iuFadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

/* Fade Up */

@keyframes iuFadeUp{

    from{

        opacity:0;

        transform:translateY(24px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* Scale */

@keyframes iuScale{

    from{

        opacity:0;

        transform:scale(.96);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}

/* Animation Classes */

.iu-fade{

    animation:iuFadeIn .4s ease both;

}

.iu-fade-up{

    animation:iuFadeUp .5s ease both;

}

.iu-scale{

    animation:iuScale .35s ease both;

}

/* Hover Transition */

a,
button,
input,
textarea,
select,
.iu-card,
img{

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

}

/* ==========================================================
   WORDPRESS DEFAULT PAGE HEADER
========================================================== */

.home .entry-header{
    display:none;
}



/* ==========================================================
   GENERATEPRESS GLOBAL OVERRIDES
   InsideUdaipur Design System
========================================================== */

/* Containers */

.grid-container,
.inside-container{

    width:min(100% - 2rem,var(--container));

    max-width:var(--container);

    margin-inline:auto;

}

.site-content,
.content-area,
.site-main{

    width:100%;

    max-width:100%;

    margin:0;

}

.one-container .site-content{

    padding:0 !important;

}

.one-container .content-area{

    width:100% !important;

    max-width:100% !important;

    margin:0 !important;

}

.one-container .site-main{

    width:100% !important;

    max-width:100% !important;

    margin:0 !important;

}

/* Remove GP Content Spacing */

.site-content{

    padding:0 !important;

}

.site-main{

    margin:0 !important;

    padding:0 !important;

}

.content-area{

    margin:0 !important;

    padding:0 !important;

}

.entry-content{

    margin:0 !important;

    padding:0 !important;

}

/* One Container */

.one-container .inside-article{

    padding:0 !important;

    background:transparent !important;

    border:none !important;

    box-shadow:none !important;

}

/* Separate Container */

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation{

    padding:0 !important;

    background:transparent !important;

    border:none !important;

    box-shadow:none !important;

}

/* Remove Default Margins */

.entry-content > *:first-child{

    margin-top:0 !important;

}

.entry-content > *:last-child{

    margin-bottom:0 !important;

}

/* Images */

.wp-block-image{

    margin:0;

}

/* Groups */

.wp-block-group{

    padding:0;

    margin:0;

}

.wp-block-group__inner-container{

    max-width:inherit;

    padding:0;

}

/* Full Width Utility */

.full-width{

    width:100vw;

    margin-left:calc(50% - 50vw);

    margin-right:calc(50% - 50vw);

}

/* Sections */

section{

    position:relative;

    padding:80px 0;

}

/* Mobile */

@media(max-width:768px){

section{

    padding:50px 0;

}

}


/* ==========================================================
   SEARCH EXPERIENCE
========================================================== */

.iu-search{

    position:relative;

    padding:80px 0;

    background:#ffffff;

}

.iu-search-wrap{

    max-width:980px;

    margin:0 auto;

    text-align:center;

}

.iu-search-label{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    background:#f8fafc;

    border:1px solid #e5e7eb;

    border-radius:999px;

    color:#123458;

    font-weight:600;

    margin-bottom:22px;

}

.iu-search-title{

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

    line-height:1.15;

    color:#0f172a;

    margin-bottom:18px;

}

.iu-search-text{

    max-width:720px;

    margin:0 auto 38px;

    color:#64748b;

    font-size:1.05rem;

    line-height:1.9;

}

.iu-search-box{

    display:flex;

    align-items:center;

    background:#fff;

    border:1px solid #e5e7eb;

    border-radius:999px;

    overflow:hidden;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.iu-search-icon{

    width:70px;

    display:flex;

    justify-content:center;

    font-size:1.25rem;

    color:#94a3b8;

}

.iu-search-input{

    flex:1;

    border:none;

    outline:none;

    padding:22px 0;

    font-size:1rem;

    background:none;

}

.iu-search-btn{

    border:none;

    background:#123458;

    color:#fff;

    padding:0 34px;

    height:64px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.iu-search-btn:hover{

    background:#0e2b47;

}

.iu-search-tags{

    margin-top:30px;

    display:flex;

    justify-content:center;

    gap:14px;

    flex-wrap:wrap;

}

.iu-search-tags a{

    text-decoration:none;

    color:#123458;

    background:#f8fafc;

    border:1px solid #e5e7eb;

    padding:12px 20px;

    border-radius:999px;

    transition:.3s;

    font-weight:600;

}

.iu-search-tags a:hover{

    background:#123458;

    color:#fff;

    border-color:#123458;

}

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

@media(max-width:768px){

.iu-search{

    padding:55px 0;

}

.iu-search-box{

    flex-direction:column;

    border-radius:24px;

    padding:18px;

    gap:16px;

}

.iu-search-icon{

    display:none;

}

.iu-search-input{

    width:100%;

    padding:0;

}

.iu-search-btn{

    width:100%;

    border-radius:14px;

}

.iu-search-tags{

    gap:10px;

}

.iu-search-tags a{

    font-size:.9rem;

}

}


/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE PREMIUM IMAGE CARD SYSTEM
========================================================== */

.iu-cards-section{

    position:relative;

    width:100%;

    padding:90px 0;

    background:var(--background);

}

.iu-cards-container{

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

    margin-inline:auto;

}


/* ==========================================================
   SECTION HEADING
========================================================== */

.iu-section-heading{

    max-width:720px;

    margin:0 auto 45px;

    text-align:center;

}

.iu-section-eyebrow{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-bottom:14px;

    padding:8px 16px;

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

    border-radius:999px;

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

    color:var(--primary);

    font-size:.88rem;

    font-weight:700;

    letter-spacing:.02em;

}

.iu-section-heading h2{

    margin:0 0 14px;

    color:var(--heading);

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

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.025em;

}

.iu-section-heading p{

    margin:0 auto;

    max-width:650px;

    color:var(--text-light);

    font-size:1.05rem;

    line-height:1.8;

}


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

.iu-card-grid{

    display:grid;

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

    gap:22px;

}


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

.iu-card{

    position:relative;

    min-width:0;

    overflow:hidden;

    aspect-ratio:4 / 5;

    border-radius:24px;

    background:#123458;

    isolation:isolate;

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

    transition:
        transform .4s ease,
        box-shadow .4s ease;

}

.iu-card:hover{

    transform:translateY(-7px);

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

}


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

.iu-card-image{

    position:absolute;

    inset:0;

    z-index:-2;

}

.iu-card-image img{

    display:block;

    width:100%;

    height:100%;

    object-fit:cover;

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

}

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

    transform:scale(1.07);

}


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

.iu-card::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02) 20%,
            rgba(0,0,0,.12) 42%,
            rgba(0,0,0,.82) 100%
        );

    transition:background .4s ease;

}

.iu-card:hover::before{

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.08) 15%,
            rgba(0,0,0,.18) 40%,
            rgba(0,0,0,.88) 100%
        );

}


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

.iu-card-content{

    position:absolute;

    inset:auto 0 0;

    padding:26px 24px 24px;

    color:#fff;

}

.iu-card-label{

    display:inline-flex;

    align-items:center;

    margin-bottom:10px;

    padding:6px 11px;

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

    border-radius:999px;

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

    backdrop-filter:blur(10px);

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

    color:#fff;

    font-size:.76rem;

    font-weight:700;

    letter-spacing:.02em;

}

.iu-card-title{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:15px;

}

.iu-card-title h3{

    margin:0;

    color:#fff;

    font-size:1.35rem;

    line-height:1.2;

    font-weight:800;

}

.iu-card-arrow{

    flex:0 0 auto;

    display:flex;

    align-items:center;

    justify-content:center;

    width:42px;

    height:42px;

    border-radius:50%;

    background:#fff;

    color:var(--primary);

    font-size:1.15rem;

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

}

.iu-card:hover .iu-card-arrow{

    transform:translateX(4px);

    background:var(--accent);

    color:#fff;

}

.iu-card-description{

    max-height:0;

    margin:0;

    overflow:hidden;

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

    font-size:.9rem;

    line-height:1.6;

    opacity:0;

    transition:
        max-height .4s ease,
        opacity .4s ease,
        margin .4s ease;

}

.iu-card:hover .iu-card-description{

    max-height:80px;

    margin-top:10px;

    opacity:1;

}


/* ==========================================================
   FEATURE CARD
   Use .iu-card--large when one card needs more importance
========================================================== */

.iu-card--large{

    grid-column:span 2;

    aspect-ratio:8 / 5;

}


/* ==========================================================
   OPTIONAL DARK / LIGHT CARD VARIANTS
========================================================== */

.iu-card--dark{

    background:#123458;

}

.iu-card--light{

    background:#f5f1e8;

}


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

.iu-card-link{

    position:absolute;

    inset:0;

    z-index:5;

    text-decoration:none;

}

.iu-card-link:focus-visible{

    outline:3px solid var(--accent);

    outline-offset:4px;

    border-radius:24px;

}


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

@media(max-width:1024px){

    .iu-cards-section{

        padding:70px 0;

    }

    .iu-card-grid{

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

        gap:20px;

    }

    .iu-card--large{

        grid-column:span 2;

    }

}


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

@media(max-width:768px){

    .iu-cards-section{

        padding:55px 0;

    }

    .iu-cards-container{

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

    }

    .iu-section-heading{

        margin-bottom:30px;

    }

    .iu-section-heading h2{

        font-size:2rem;

    }

    .iu-section-heading p{

        font-size:.95rem;

        line-height:1.7;

    }

    .iu-card-grid{

        grid-template-columns:1fr;

        gap:16px;

    }

    .iu-card,
    .iu-card--large{

        grid-column:auto;

        aspect-ratio:16 / 11;

        border-radius:20px;

    }

    .iu-card-content{

        padding:22px 20px 20px;

    }

    .iu-card-title h3{

        font-size:1.2rem;

    }

    .iu-card-description{

        max-height:none;

        margin-top:7px;

        opacity:1;

    }

}


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

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

    .iu-card,
    .iu-card-image img,
    .iu-card-arrow,
    .iu-card-description{

        transition:none;

    }

    .iu-card:hover{

        transform:none;

    }

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

        transform:none;

    }

}



/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE LANDING PAGE HERO
   CONFLICT-SAFE
========================================================== */

.iu-hero{
    position:relative;
    isolation:isolate;
    width:100%;
    min-height:620px;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:#0b1f35;
}

.iu-hero-media{
    position:absolute;
    inset:0;
    z-index:-2;
}

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

.iu-hero-overlay{
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(
            90deg,
            rgba(7,24,42,.90) 0%,
            rgba(7,24,42,.72) 34%,
            rgba(7,24,42,.32) 65%,
            rgba(7,24,42,.10) 100%
        );
}

.iu-hero-container{
    position:relative;
    width:min(100% - 40px,var(--container));
    margin-inline:auto;
    padding:100px 0;
}

.iu-hero-content{
    max-width:650px;
}

.iu-hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:22px;
    padding:9px 17px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    color:#fff;
    font-size:.86rem;
    font-weight:700;
}

.iu-hero h1{
    margin:0;
    color:#fff;
    font-size:clamp(3rem,6vw,5.6rem);
    line-height:1.02;
    letter-spacing:-.035em;
    font-weight:800;
}

.iu-hero h1 span{
    display:block;
    color:#f1c44f;
}

.iu-hero-text{
    max-width:590px;
    margin:25px 0 0;
    color:rgba(255,255,255,.88);
    font-size:1.12rem;
    line-height:1.8;
}

.iu-hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:32px;
    min-height:54px;
    padding:0 25px;
    border-radius:999px;
    background:#d4a017;
    color:#fff;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.iu-hero-btn:hover{
    transform:translateY(-3px);
    background:#bc8c10;
    color:#fff;
    box-shadow:0 18px 38px rgba(0,0,0,.25);
}

.iu-hero-btn span{
    font-size:1.1rem;
    transition:transform .3s ease;
}

.iu-hero-btn:hover span{
    transform:translateY(3px);
}


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

@media(max-width:1024px){

    .iu-hero{
        min-height:560px;
    }

    .iu-hero-container{
        padding:85px 0;
    }

    .iu-hero-content{
        max-width:600px;
    }

}


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

@media(max-width:768px){

    .iu-hero{
        min-height:620px;
        align-items:flex-end;
    }

    .iu-hero-media img{
        object-position:center;
    }

    .iu-hero-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(7,24,42,.08) 0%,
                rgba(7,24,42,.28) 38%,
                rgba(7,24,42,.90) 100%
            );
    }

    .iu-hero-container{
        width:min(100% - 30px,var(--container));
        padding:70px 0 45px;
    }

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

    .iu-hero-eyebrow{
        margin-bottom:16px;
        padding:8px 14px;
        font-size:.8rem;
    }

    .iu-hero h1{
        font-size:clamp(2.6rem,11vw,4rem);
        line-height:1.03;
    }

    .iu-hero-text{
        margin-top:18px;
        font-size:1rem;
        line-height:1.7;
    }

    .iu-hero-btn{
        width:100%;
        margin-top:25px;
    }

}


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

@media(max-width:480px){

    .iu-hero{
        min-height:600px;
    }

    .iu-hero-container{
        padding-bottom:35px;
    }

}


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

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

    .iu-hero-btn,
    .iu-hero-btn span{
        transition:none;
    }

}





/* ==========================================================
   HIDE DEFAULT WORDPRESS / GENERATEPRESS TITLES
   Custom H1 used in landing pages and blog guides
========================================================== */

.home .entry-header,
.page .entry-header,
.single-post .entry-header{
    display:none !important;
}


/* ==========================================================
   HIDE GENERATEPRESS DEFAULT SITE INFO
   Custom InsideUdaipur footer is used
========================================================== */

.site-info{
    display:none !important;
}


```css
/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE PLACE CARD SYSTEM
   Version : 1.0
   Purpose : Heritage / Places / Guides / Attractions
   Conflict-safe with existing .iu-card system
========================================================== */


/* ==========================================================
   PLACE CARD SECTION
========================================================== */

.iu-place-section{

    position:relative;

    width:100%;

    padding:90px 0;

    background:var(--background);

}


/* ==========================================================
   PLACE CARD CONTAINER
========================================================== */

.iu-place-container{

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

    margin-inline:auto;

}


/* ==========================================================
   PLACE CARD GRID
========================================================== */

.iu-place-grid{

    display:grid;

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

    gap:24px;

}


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

.iu-place-card{

    position:relative;

    min-width:0;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    background:var(--surface);

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

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

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

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

}


.iu-place-card:hover{

    transform:translateY(-6px);

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

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

}


/* ==========================================================
   PLACE CARD IMAGE
========================================================== */

.iu-place-card-image{

    position:relative;

    width:100%;

    aspect-ratio:16 / 10;

    overflow:hidden;

    background:#e5e7eb;

}


.iu-place-card-image img{

    display:block;

    width:100%;

    height:100%;

    object-fit:cover;

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

}


.iu-place-card:hover .iu-place-card-image img{

    transform:scale(1.05);

}


/* ==========================================================
   IMAGE OVERLAY
   Very subtle — keeps photography natural
========================================================== */

.iu-place-card-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        180deg,
        rgba(0,0,0,0) 60%,
        rgba(0,0,0,.12) 100%
    );

    pointer-events:none;

}


/* ==========================================================
   PLACE CARD CONTENT
========================================================== */

.iu-place-card-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:22px 22px 20px;

}


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

.iu-place-card-label{

    display:inline-flex;

    align-self:flex-start;

    align-items:center;

    margin-bottom:11px;

    padding:5px 10px;

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

    border-radius:999px;

    background:#fffaf0;

    color:#8a6508;

    font-size:.72rem;

    font-weight:700;

    line-height:1.2;

    letter-spacing:.04em;

    text-transform:uppercase;

}


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

.iu-place-card-title{

    margin:0 0 10px;

    color:var(--heading);

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

    font-size:1.35rem;

    line-height:1.25;

    font-weight:800;

    letter-spacing:-.02em;

}


/* ==========================================================
   PLACE CARD DESCRIPTION
========================================================== */

.iu-place-card-description{

    margin:0;

    color:var(--text);

    font-size:.94rem;

    line-height:1.7;

}


/* ==========================================================
   PLACE CARD FOOTER
========================================================== */

.iu-place-card-footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:15px;

    margin-top:auto;

    padding-top:18px;

}


/* ==========================================================
   PLACE CARD META
========================================================== */

.iu-place-card-meta{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:6px 10px;

    color:var(--text-light);

    font-size:.78rem;

    line-height:1.4;

}


.iu-place-card-meta span{

    display:inline-flex;

    align-items:center;

}


.iu-place-card-meta span + span::before{

    content:"";

    width:4px;

    height:4px;

    margin-right:10px;

    border-radius:50%;

    background:#cbd5e1;

}


/* ==========================================================
   PLACE CARD LINK
========================================================== */

.iu-place-card-link{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex:0 0 auto;

    width:38px;

    height:38px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    font-size:1rem;

    line-height:1;

    text-decoration:none;

    transition:
        transform .3s ease,
        background-color .3s ease,
        color .3s ease;

}


.iu-place-card:hover .iu-place-card-link{

    transform:translateX(3px);

    background:var(--accent);

    color:#fff;

}


.iu-place-card-link:hover{

    background:var(--accent);

    color:#fff;

}


/* ==========================================================
   FULL CARD LINK
   Optional: makes the entire card clickable
========================================================== */

.iu-place-card--linked{

    cursor:pointer;

}


/* ==========================================================
   ACCESSIBILITY
========================================================== */

.iu-place-card-link:focus-visible{

    outline:3px solid var(--accent);

    outline-offset:4px;

}


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

@media(max-width:1024px){

    .iu-place-section{

        padding:70px 0;

    }

    .iu-place-grid{

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

        gap:20px;

    }

    .iu-place-card-content{

        padding:20px;

    }

}


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

@media(max-width:768px){

    .iu-place-section{

        padding:55px 0;

    }

    .iu-place-container{

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

    }

    .iu-place-grid{

        grid-template-columns:1fr;

        gap:18px;

    }

    .iu-place-card{

        border-radius:20px;

    }

    .iu-place-card-image{

        aspect-ratio:16 / 10;

    }

    .iu-place-card-content{

        padding:20px 18px 18px;

    }

    .iu-place-card-title{

        font-size:1.25rem;

    }

    .iu-place-card-description{

        font-size:.92rem;

        line-height:1.65;

    }

}


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

@media(max-width:480px){

    .iu-place-card-image{

        aspect-ratio:16 / 10;

    }

    .iu-place-card-footer{

        padding-top:15px;

    }

}


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

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

    .iu-place-card,
    .iu-place-card-image img,
    .iu-place-card-link{

        transition:none;

    }

    .iu-place-card:hover{

        transform:none;

    }

    .iu-place-card:hover .iu-place-card-image img{

        transform:none;

    }

}


/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE EDITORIAL INFO CARD SYSTEM
   Version : 1.0
   Purpose : Guide context / Highlights / Travel information
   Conflict-safe with existing card systems
========================================================== */


/* ==========================================================
   INFO SECTION
========================================================== */

.iu-info-section{

    position:relative;

    width:100%;

    padding:90px 0;

    background:var(--surface);

}


/* ==========================================================
   INFO CONTAINER
========================================================== */

.iu-info-container{

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

    margin-inline:auto;

}


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

.iu-info-grid{

    display:grid;

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

    gap:22px;

}


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

.iu-info-card{

    position:relative;

    display:flex;

    gap:22px;

    min-width:0;

    padding:28px;

    background:var(--background);

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

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

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

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

}


.iu-info-card:hover{

    transform:translateY(-4px);

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

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

}


/* ==========================================================
   NUMBER
========================================================== */

.iu-info-number{

    flex:0 0 auto;

    display:flex;

    align-items:center;

    justify-content:center;

    width:48px;

    height:48px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

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

    font-size:.9rem;

    font-weight:800;

    line-height:1;

    box-shadow:0 6px 18px rgba(18,52,88,.16);

}


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

.iu-info-card-content{

    min-width:0;

    flex:1;

}


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

.iu-info-card-title{

    margin:2px 0 9px;

    color:var(--heading);

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

    font-size:1.25rem;

    line-height:1.3;

    font-weight:800;

    letter-spacing:-.015em;

}


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

.iu-info-card-text{

    margin:0;

    color:var(--text);

    font-size:.95rem;

    line-height:1.75;

}


/* ==========================================================
   OPTIONAL ACCENT LINE
========================================================== */

.iu-info-card::before{

    content:"";

    position:absolute;

    top:0;

    left:28px;

    width:42px;

    height:3px;

    border-radius:0 0 4px 4px;

    background:var(--accent);

}


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

@media(max-width:1024px){

    .iu-info-section{

        padding:70px 0;

    }

    .iu-info-grid{

        gap:18px;

    }

    .iu-info-card{

        padding:24px;

    }

}


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

@media(max-width:768px){

    .iu-info-section{

        padding:55px 0;

    }

    .iu-info-container{

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

    }

    .iu-info-grid{

        grid-template-columns:1fr;

        gap:16px;

    }

    .iu-info-card{

        gap:16px;

        padding:22px 20px;

        border-radius:20px;

    }

    .iu-info-number{

        width:42px;

        height:42px;

        font-size:.82rem;

    }

    .iu-info-card-title{

        font-size:1.15rem;

    }

    .iu-info-card-text{

        font-size:.92rem;

        line-height:1.7;

    }

    .iu-info-card::before{

        left:20px;

    }

}


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

@media(max-width:480px){

    .iu-info-card{

        gap:14px;

        padding:20px 18px;

    }

    .iu-info-number{

        width:38px;

        height:38px;

        font-size:.76rem;

    }

    .iu-info-card-title{

        font-size:1.08rem;

    }

}


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

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

    .iu-info-card{

        transition:none;

    }

    .iu-info-card:hover{

        transform:none;

    }

}


/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE FAQ ACCORDION
   Version : 1.0
========================================================== */

.iu-faq-section{

    position:relative;

    width:100%;

    padding:90px 0;

    background:var(--background);

}

.iu-faq-container{

    width:min(100% - 40px,900px);

    margin-inline:auto;

}

.iu-faq-list{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.iu-faq-item{

    overflow:hidden;

    background:var(--surface);

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

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

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

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

}

.iu-faq-item.is-open{

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

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

}

.iu-faq-question{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    width:100%;

    padding:22px 24px;

    border:0;

    background:transparent;

    color:var(--heading);

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

    font-size:1.05rem;

    font-weight:700;

    line-height:1.45;

    text-align:left;

    cursor:pointer;

    box-shadow:none;

}

.iu-faq-question:hover{

    background:transparent;

    color:var(--heading);

    transform:none;

    box-shadow:none;

}

.iu-faq-question:focus-visible{

    outline:3px solid var(--accent);

    outline-offset:-3px;

}

.iu-faq-icon{

    flex:0 0 auto;

    display:flex;

    align-items:center;

    justify-content:center;

    width:34px;

    height:34px;

    border-radius:50%;

    background:#f8f4e8;

    color:var(--primary);

    font-size:1.3rem;

    font-weight:400;

    line-height:1;

    transition:
        transform .3s ease,
        background-color .3s ease,
        color .3s ease;

}

.iu-faq-item.is-open .iu-faq-icon{

    transform:rotate(45deg);

    background:var(--accent);

    color:#fff;

}

.iu-faq-answer{

    height:0;

    overflow:hidden;

    opacity:0;

    transition:
        height .35s ease,
        opacity .25s ease;

}

.iu-faq-answer-inner{

    padding:0 24px 22px;

}

.iu-faq-answer p{

    margin:0;

    color:var(--text);

    font-size:.96rem;

    line-height:1.8;

}


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

@media(max-width:768px){

    .iu-faq-section{

        padding:55px 0;

    }

    .iu-faq-container{

        width:min(100% - 28px,900px);

    }

    .iu-faq-question{

        padding:18px;

        font-size:.98rem;

        gap:14px;

    }

    .iu-faq-icon{

        width:32px;

        height:32px;

        font-size:1.2rem;

    }

    .iu-faq-answer-inner{

        padding:0 18px 18px;

    }

    .iu-faq-answer p{

        font-size:.92rem;

        line-height:1.7;

    }

}


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

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

    .iu-faq-answer,
    .iu-faq-icon{

        transition:none;

    }

}


/* ==========================================================
   INSIDEUDAIPUR
   SPLIT HERO
   Reusable editorial hero variant
========================================================== */

.iu-hero--split{

    display:grid;

    grid-template-columns:minmax(380px, 0.82fr) minmax(0, 1.55fr);

    width:100%;

    min-height:620px;

    background:var(--primary);

    overflow:hidden;

}


/* CONTENT */

.iu-hero--split .iu-hero-split-content{

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:80px clamp(40px, 6vw, 90px);

    background:var(--primary);

    position:relative;

    z-index:2;

}


/* EYEBROW */

.iu-hero--split .iu-hero-eyebrow{

    margin-bottom:18px;

    color:var(--accent);

    font-size:.78rem;

    font-weight:700;

    letter-spacing:.16em;

    text-transform:uppercase;

}


/* H1 */

.iu-hero--split h1{

    max-width:620px;

    margin:0 0 24px;

    color:#fff;

    font-family:Georgia, "Times New Roman", serif;

    font-size:clamp(3rem, 5vw, 5.2rem);

    font-weight:500;

    line-height:1.02;

    letter-spacing:-.025em;

}


/* TEXT */

.iu-hero--split .iu-hero-text{

    max-width:570px;

    margin:0;

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

    font-size:1.05rem;

    line-height:1.8;

}


/* BUTTON WRAPPER */

.iu-hero--split .iu-hero-actions{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:12px;

    margin-top:32px;

}


/* IMAGE */

.iu-hero--split .iu-hero-split-media{

    position:relative;

    min-height:620px;

    overflow:hidden;

}


/* IMAGE */

.iu-hero--split .iu-hero-split-media img{

    display:block;

    width:100%;

    height:100%;

    min-height:620px;

    object-fit:cover;

    object-position:center center;

}


/* SUBTLE IMAGE EDGE */

.iu-hero--split .iu-hero-split-media::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:linear-gradient(
        90deg,
        rgba(18,52,88,.12),
        transparent 18%
    );

}


/* SECONDARY BUTTON */

.iu-hero--split .iu-hero-btn-secondary{

    background:transparent;

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

    color:#fff;

}


/* HOVER */

.iu-hero--split .iu-hero-btn-secondary:hover{

    background:var(--accent);

    border-color:var(--accent);

    color:#fff;

}


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

@media(max-width:900px){

    .iu-hero--split{

        grid-template-columns:1fr;

        min-height:auto;

    }

    .iu-hero--split .iu-hero-split-content{

        padding:70px 40px;

    }

    .iu-hero--split .iu-hero-split-media{

        min-height:480px;

    }

    .iu-hero--split .iu-hero-split-media img{

        min-height:480px;

    }

}


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

@media(max-width:600px){

    .iu-hero--split .iu-hero-split-content{

        padding:55px 24px 48px;

    }

    .iu-hero--split h1{

        font-size:clamp(2.6rem, 12vw, 3.5rem);

        margin-bottom:20px;

    }

    .iu-hero--split .iu-hero-text{

        font-size:.96rem;

        line-height:1.7;

    }

    .iu-hero--split .iu-hero-actions{

        flex-direction:column;

        align-items:stretch;

        margin-top:26px;

    }

    .iu-hero--split .iu-hero-btn{

        width:100%;

        justify-content:center;

        text-align:center;

    }

    .iu-hero--split .iu-hero-split-media{

        min-height:330px;

    }

    .iu-hero--split .iu-hero-split-media img{

        min-height:330px;

        object-position:center center;

    }

}


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

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

    .iu-hero--split .iu-hero-split-media img{

        transition:none;

    }

}


/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE GUIDE INTRO
   Version : 1.0
   Purpose : Detailed place / heritage / travel guides
========================================================== */

.iu-guide-intro{

    position:relative;

    width:100%;

    padding:90px 0;

    background:var(--surface);

    overflow:hidden;

}


/* ==========================================================
   CONTAINER
========================================================== */

.iu-guide-intro-container{

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

    margin-inline:auto;

}


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

.iu-guide-intro-header{

    max-width:780px;

    margin:0 auto 42px;

    text-align:center;

}


/* Reuse existing global eyebrow styling */

.iu-guide-intro-header .iu-section-eyebrow{

    margin-bottom:16px;

}


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

.iu-guide-intro-title{

    margin:0;

    color:var(--heading);

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

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

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.025em;

}


/* ==========================================================
   EDITORIAL BODY
========================================================== */

.iu-guide-intro-body{

    position:relative;

    max-width:1050px;

    margin-inline:auto;

    padding-left:34px;

}


/* ==========================================================
   GOLD EDITORIAL ACCENT
========================================================== */

.iu-guide-intro-body::before{

    content:"";

    position:absolute;

    top:5px;

    bottom:5px;

    left:0;

    width:3px;

    border-radius:999px;

    background:linear-gradient(
        180deg,
        var(--accent),
        rgba(212,160,23,.18)
    );

}


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

.iu-guide-intro-text{

    display:grid;

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

    column-gap:55px;

    row-gap:4px;

}


/* ==========================================================
   PARAGRAPHS
========================================================== */

.iu-guide-intro-text p{

    margin:0 0 20px;

    color:var(--text);

    font-size:1.02rem;

    line-height:1.9;

}


/* First paragraph emphasis */

.iu-guide-intro-text p:first-child{

    color:#334155;

    font-size:1.08rem;

}


/* ==========================================================
   OPTIONAL LEAD TEXT
   Add .iu-guide-intro-lead to any paragraph if needed
========================================================== */

.iu-guide-intro-lead{

    color:var(--heading) !important;

    font-size:1.12rem !important;

    line-height:1.85 !important;

    font-weight:500;

}


/* ==========================================================
   OPTIONAL GUIDE NOTE
========================================================== */

.iu-guide-intro-note{

    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-top:18px;

    padding:16px 18px;

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

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

    background:#fffcf4;

    color:var(--text);

    font-size:.9rem;

    line-height:1.7;

}


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

@media(max-width:1024px){

    .iu-guide-intro{

        padding:70px 0;

    }

    .iu-guide-intro-header{

        margin-bottom:35px;

    }

    .iu-guide-intro-body{

        max-width:900px;

        padding-left:28px;

    }

    .iu-guide-intro-text{

        column-gap:35px;

    }

}


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

@media(max-width:768px){

    .iu-guide-intro{

        padding:55px 0;

    }

    .iu-guide-intro-container{

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

    }

    .iu-guide-intro-header{

        margin-bottom:28px;

        text-align:left;

    }

    .iu-guide-intro-title{

        font-size:2rem;

        line-height:1.15;

    }

    .iu-guide-intro-body{

        padding-left:20px;

    }

    .iu-guide-intro-body::before{

        width:2px;

    }

    .iu-guide-intro-text{

        grid-template-columns:1fr;

        column-gap:0;

        row-gap:0;

    }

    .iu-guide-intro-text p{

        margin-bottom:17px;

        font-size:.96rem;

        line-height:1.78;

    }

    .iu-guide-intro-text p:first-child{

        font-size:1rem;

    }

    .iu-guide-intro-lead{

        font-size:1.03rem !important;

    }

    .iu-guide-intro-note{

        font-size:.88rem;

        padding:14px 15px;

    }

}


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

@media(max-width:480px){

    .iu-guide-intro{

        padding:48px 0;

    }

    .iu-guide-intro-header{

        margin-bottom:24px;

    }

    .iu-guide-intro-title{

        font-size:1.8rem;

    }

    .iu-guide-intro-body{

        padding-left:17px;

    }

    .iu-guide-intro-text p{

        font-size:.94rem;

        line-height:1.75;

    }

}


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

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

    .iu-guide-intro *{

        transition:none !important;

        animation:none !important;

    }

}


/* ==========================================================
   HIDE GENERATEPRESS DEFAULT SINGLE POST FEATURED IMAGE
   Custom InsideUdaipur hero is used instead
========================================================== */

.single-post .featured-image.page-header-image-single {
    display: none !important;
}



/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE GUIDE TABLE OF CONTENTS
   Version : 1.0
========================================================== */

.iu-toc-section{

    width:100%;

    padding:35px 0 70px;

    background:var(--background);

}


.iu-toc-container{

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

    margin-inline:auto;

}


.iu-toc{

    max-width:1050px;

    margin-inline:auto;

    background:var(--surface);

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

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

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

    overflow:hidden;

}


/* ==========================================================
   TOC HEADER / TOGGLE
========================================================== */

.iu-toc-toggle{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:25px;

    padding:24px 28px;

    border:0;

    background:transparent;

    color:var(--heading);

    text-align:left;

    cursor:pointer;

}


.iu-toc-heading{

    display:flex;

    flex-direction:column;

    gap:4px;

}


.iu-toc-eyebrow{

    color:var(--accent);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.15em;

    text-transform:uppercase;

}


.iu-toc-title{

    color:var(--heading);

    font-size:1.2rem;

    font-weight:750;

    line-height:1.3;

}


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

.iu-toc-icon{

    display:flex;

    align-items:center;

    justify-content:center;

    flex:0 0 38px;

    width:38px;

    height:38px;

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

    border-radius:50%;

    color:var(--accent);

    font-size:1.45rem;

    font-weight:400;

    line-height:1;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease;

}


.iu-toc-toggle:hover .iu-toc-icon{

    background:var(--accent);

    color:#fff;

}


/* ==========================================================
   NAVIGATION
========================================================== */

.iu-toc-nav{

    display:grid;

    grid-template-rows:1fr;

    opacity:1;

    transition:
        grid-template-rows .35s ease,
        opacity .25s ease;

}


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

.iu-toc-list{

    min-height:0;

    margin:0;

    padding:0 28px 25px;

    list-style:none;

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

}


.iu-toc-item{

    margin:0;

    padding:0;

    list-style:none;

}


.iu-toc-link{

    position:relative;

    display:flex;

    align-items:flex-start;

    gap:10px;

    width:100%;

    padding:10px 0;

    color:var(--text);

    font-size:.94rem;

    line-height:1.5;

    text-decoration:none;

    transition:
        color .2s ease,
        padding-left .2s ease;

}


.iu-toc-link::before{

    content:"";

    flex:0 0 6px;

    width:6px;

    height:6px;

    margin-top:.58em;

    border-radius:50%;

    background:var(--accent);

}


.iu-toc-link:hover{

    padding-left:5px;

    color:var(--primary);

}


/* ==========================================================
   H3
========================================================== */

.iu-toc-item--h3{

    padding-left:22px;

}


.iu-toc-item--h3 .iu-toc-link{

    font-size:.9rem;

    color:var(--text-light);

}


.iu-toc-item--h3 .iu-toc-link::before{

    width:4px;

    height:4px;

    background:var(--text-light);

}


/* ==========================================================
   H4
========================================================== */

.iu-toc-item--h4{

    padding-left:44px;

}


.iu-toc-item--h4 .iu-toc-link{

    font-size:.86rem;

    color:var(--text-light);

}


.iu-toc-item--h4 .iu-toc-link::before{

    width:3px;

    height:3px;

    background:var(--border);

}


/* ==========================================================
   ACTIVE LINK
========================================================== */

.iu-toc-link.is-active{

    color:var(--primary);

    font-weight:700;

}


/* ==========================================================
   COLLAPSED
========================================================== */

.iu-toc.is-collapsed .iu-toc-nav{

    grid-template-rows:0fr;

    opacity:0;

}


.iu-toc.is-collapsed .iu-toc-icon{

    transform:rotate(0deg);

}


.iu-toc:not(.is-collapsed) .iu-toc-icon{

    transform:rotate(45deg);

}


/* ==========================================================
   ACCESSIBILITY
========================================================== */

.iu-toc-toggle:focus-visible,
.iu-toc-link:focus-visible{

    outline:3px solid var(--accent);

    outline-offset:3px;

}


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

@media(max-width:768px){

    .iu-toc-section{

        padding:25px 0 50px;

    }

    .iu-toc-container{

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

    }

    .iu-toc-toggle{

        padding:20px;

    }

    .iu-toc-list{

        padding:0 20px 20px;

    }

    .iu-toc-item--h3{

        padding-left:15px;

    }

    .iu-toc-item--h4{

        padding-left:30px;

    }

}


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

@media(max-width:480px){

    .iu-toc{

        border-radius:18px;

    }

    .iu-toc-toggle{

        padding:18px;

    }

    .iu-toc-title{

        font-size:1.05rem;

    }

    .iu-toc-icon{

        flex-basis:34px;

        width:34px;

        height:34px;

    }

    .iu-toc-list{

        padding:0 18px 18px;

    }

    .iu-toc-link{

        font-size:.9rem;

    }

    .iu-toc-item--h3{

        padding-left:12px;

    }

    .iu-toc-item--h4{

        padding-left:24px;

    }

}


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

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

    .iu-toc-nav,
    .iu-toc-icon,
    .iu-toc-link{

        transition:none;

    }

}

/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE EDITORIAL IMAGE SYSTEM
   Version : 1.0
   Purpose :
   History / Architecture / Museum / Heritage / Story Sections
========================================================== */


/* ==========================================================
   EDITORIAL SECTION
========================================================== */

.iu-editorial-section{

    position:relative;

    width:100%;

    padding:90px 0;

    background:var(--background);

}


.iu-editorial-container{

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

    margin-inline:auto;

}


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

.iu-editorial-header{

    max-width:780px;

    margin:0 auto 55px;

    text-align:center;

}


.iu-editorial-header .iu-section-eyebrow{

    margin-bottom:14px;

}


.iu-editorial-header h2{

    margin:0 0 16px;

    color:var(--heading);

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

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

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.025em;

}


.iu-editorial-header p{

    max-width:680px;

    margin:0 auto;

    color:var(--text-light);

    font-size:1.05rem;

    line-height:1.8;

}


/* ==========================================================
   EDITORIAL BLOCK
========================================================== */

.iu-editorial-block{

    display:grid;

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

    align-items:center;

    gap:65px;

    margin-bottom:80px;

}


.iu-editorial-block:last-child{

    margin-bottom:0;

}


/* ==========================================================
   REVERSE LAYOUT
   Add .iu-editorial-block--reverse
========================================================== */

.iu-editorial-block--reverse{

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

}


.iu-editorial-block--reverse .iu-editorial-media{

    order:2;

}


.iu-editorial-block--reverse .iu-editorial-content{

    order:1;

}


/* ==========================================================
   MEDIA
========================================================== */

.iu-editorial-media{

    position:relative;

    min-width:0;

}


.iu-editorial-media img{

    display:block;

    width:100%;

    aspect-ratio:4 / 3;

    object-fit:cover;

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

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

}


/* ==========================================================
   LARGE FEATURE IMAGE
   Add .iu-editorial-block--featured
========================================================== */

.iu-editorial-block--featured{

    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);

}


.iu-editorial-block--featured .iu-editorial-media img{

    aspect-ratio:16 / 11;

    border-radius:24px;

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

}


/* ==========================================================
   IMAGE FRAME DETAIL
========================================================== */

.iu-editorial-media::after{

    content:"";

    position:absolute;

    left:18px;

    bottom:-12px;

    width:70px;

    height:3px;

    border-radius:999px;

    background:var(--accent);

}


/* ==========================================================
   CAPTION
========================================================== */

.iu-editorial-caption{

    margin:13px 4px 0;

    color:var(--text-light);

    font-size:.78rem;

    line-height:1.6;

    font-style:italic;

}


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

.iu-editorial-content{

    min-width:0;

}


.iu-editorial-kicker{

    display:inline-flex;

    align-items:center;

    margin-bottom:14px;

    color:var(--accent);

    font-size:.76rem;

    font-weight:800;

    letter-spacing:.12em;

    text-transform:uppercase;

}


.iu-editorial-content h3{

    margin:0 0 16px;

    color:var(--heading);

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

    font-size:clamp(1.55rem,3vw,2.15rem);

    line-height:1.2;

    font-weight:800;

}


.iu-editorial-content p{

    margin:0 0 18px;

    color:var(--text);

    font-size:1rem;

    line-height:1.85;

}


.iu-editorial-content p:last-child{

    margin-bottom:0;

}


/* ==========================================================
   OPTIONAL PULL QUOTE
========================================================== */

.iu-editorial-quote{

    margin:25px 0;

    padding:18px 22px;

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

    background:var(--surface);

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

    color:var(--heading);

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

    font-size:1.05rem;

    line-height:1.7;

    font-weight:600;

}


/* ==========================================================
   OPTIONAL FULL-WIDTH IMAGE
========================================================== */

.iu-editorial-wide{

    margin:70px 0;

}


.iu-editorial-wide img{

    display:block;

    width:100%;

    max-height:680px;

    object-fit:cover;

    border-radius:24px;

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

}


.iu-editorial-wide .iu-editorial-caption{

    max-width:900px;

    margin:14px auto 0;

}


/* ==========================================================
   OPTIONAL IMAGE CREDIT
========================================================== */

.iu-editorial-credit{

    display:block;

    margin-top:6px;

    color:var(--text-light);

    font-size:.72rem;

    line-height:1.5;

}


/* ==========================================================
   OPTIONAL DIVIDER
========================================================== */

.iu-editorial-divider{

    width:100%;

    height:1px;

    margin:70px 0;

    background:var(--border);

}


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

@media(max-width:1024px){

    .iu-editorial-section{

        padding:70px 0;

    }

    .iu-editorial-header{

        margin-bottom:45px;

    }

    .iu-editorial-block{

        gap:40px;

        margin-bottom:65px;

    }

}


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

@media(max-width:768px){

    .iu-editorial-section{

        padding:55px 0;

    }

    .iu-editorial-container{

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

    }

    .iu-editorial-header{

        margin-bottom:35px;

        text-align:left;

    }

    .iu-editorial-header h2{

        font-size:2rem;

    }

    .iu-editorial-header p{

        font-size:.95rem;

        line-height:1.7;

    }


    .iu-editorial-block,
    .iu-editorial-block--featured{

        display:flex;

        flex-direction:column;

        gap:30px;

        margin-bottom:55px;

    }


    .iu-editorial-block--reverse .iu-editorial-media,
    .iu-editorial-block--reverse .iu-editorial-content{

        order:initial;

    }


    .iu-editorial-media{

        width:100%;

    }


    .iu-editorial-media img,
    .iu-editorial-block--featured .iu-editorial-media img{

        aspect-ratio:16 / 11;

        border-radius:20px;

    }


    .iu-editorial-media::after{

        left:12px;

        bottom:-9px;

        width:55px;

    }


    .iu-editorial-caption{

        margin-top:11px;

        font-size:.74rem;

    }


    .iu-editorial-content h3{

        font-size:1.5rem;

    }


    .iu-editorial-content p{

        font-size:.95rem;

        line-height:1.78;

    }


    .iu-editorial-wide{

        margin:50px 0;

    }


    .iu-editorial-wide img{

        max-height:none;

        border-radius:20px;

    }


    .iu-editorial-quote{

        font-size:.98rem;

        padding:16px 18px;

    }


    .iu-editorial-divider{

        margin:50px 0;

    }

}


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

@media(max-width:480px){

    .iu-editorial-section{

        padding:48px 0;

    }

    .iu-editorial-block{

        gap:25px;

        margin-bottom:48px;

    }

    .iu-editorial-content h3{

        font-size:1.4rem;

    }

    .iu-editorial-content p{

        font-size:.93rem;

    }

}


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

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

    .iu-editorial-media img{

        transition:none;

    }

}


/* ==========================================================
   INSIDEUDAIPUR
   BAGORE KI HAVELI
   UNDERSTANDING THE HAVELI / HISTORY CONTENT
========================================================== */

.iu-content-section{

    position:relative;

    width:100%;

    padding:90px 0;

    background:var(--surface);

}


.iu-content-container{

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

    margin-inline:auto;

}


/* ==========================================================
   SECTION INTRO
========================================================== */

.iu-content-section .iu-section-heading{

    max-width:820px;

    margin:0 auto 45px;

}


.iu-content-section .iu-section-heading h2{

    margin:0 0 14px;

}


.iu-content-section .iu-section-eyebrow{

    margin-bottom:14px;

}


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

.iu-history-intro{

    max-width:980px;

    margin:0 auto 45px;

}


.iu-history-intro p{

    margin:0 0 20px;

    color:var(--text);

    font-size:1.05rem;

    line-height:1.9;

}


.iu-history-intro p:last-child{

    margin-bottom:0;

}


/* ==========================================================
   MAIN CONTENT BLOCK
========================================================== */

.iu-history-block{

    max-width:980px;

    margin:0 auto 45px;

    padding:0;

}


.iu-history-block:last-of-type{

    margin-bottom:0;

}


.iu-history-block h3{

    margin:0 0 16px;

    color:var(--heading);

    font-size:clamp(1.45rem,3vw,2rem);

    line-height:1.25;

}


.iu-history-block p{

    margin:0 0 18px;

    color:var(--text);

    font-size:1rem;

    line-height:1.85;

}


.iu-history-block p:last-child{

    margin-bottom:0;

}


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

.iu-content-image{

    max-width:1100px;

    margin:55px auto 60px;

}


.iu-content-image img{

    display:block;

    width:100%;

    aspect-ratio:16 / 9;

    object-fit:cover;

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

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

}


.iu-content-image figcaption{

    margin:13px 5px 0;

    color:var(--text-light);

    font-size:.78rem;

    line-height:1.6;

    font-style:italic;

}


/* ==========================================================
   HISTORY / EDITORIAL NOTE
========================================================== */

.iu-history-note{

    max-width:980px;

    margin:50px auto 0;

    padding:24px 26px;

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

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

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

    background:#fffcf4;

}


.iu-history-note strong{

    display:block;

    margin-bottom:8px;

    color:var(--heading);

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

    font-size:1rem;

}


.iu-history-note p{

    margin:0;

    color:var(--text);

    font-size:.95rem;

    line-height:1.8;

}


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

@media(max-width:768px){

    .iu-content-section{

        padding:55px 0;

    }


    .iu-content-container{

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

    }


    .iu-content-section .iu-section-heading{

        margin-bottom:30px;

        text-align:left;

    }


    .iu-content-section .iu-section-heading h2{

        font-size:2rem;

    }


    .iu-history-intro{

        margin-bottom:35px;

    }


    .iu-history-intro p{

        font-size:.96rem;

        line-height:1.78;

    }


    .iu-history-block{

        margin-bottom:38px;

    }


    .iu-history-block h3{

        font-size:1.4rem;

        line-height:1.25;

    }


    .iu-history-block p{

        font-size:.95rem;

        line-height:1.78;

    }


    .iu-content-image{

        margin:40px auto 45px;

    }


    .iu-content-image img{

        aspect-ratio:16 / 11;

        border-radius:20px;

    }


    .iu-content-image figcaption{

        font-size:.74rem;

    }


    .iu-history-note{

        margin-top:40px;

        padding:20px;

    }


    .iu-history-note p{

        font-size:.92rem;

        line-height:1.75;

    }

}


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

@media(max-width:480px){

    .iu-content-section{

        padding:48px 0;

    }


    .iu-history-intro p{

        font-size:.94rem;

    }


    .iu-history-block h3{

        font-size:1.3rem;

    }


    .iu-history-block p{

        font-size:.93rem;

    }


    .iu-content-image{

        margin:35px auto 40px;

    }


    .iu-history-note{

        padding:18px;

    }

}


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

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

    .iu-content-section *{

        transition:none !important;

        animation:none !important;

    }

}



/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE EDITORIAL INTRO
   Version : 1.1
   Purpose : Tourist Spot / Heritage / Attraction Introductions
   ========================================================== */

.iu-editorial-intro{

    position:relative;

    margin:70px 0;

    padding:72px 0;

    background:
        linear-gradient(
            135deg,
            #f8f6f1 0%,
            #ffffff 55%,
            #f3f6f5 100%
        );

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

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

    overflow:hidden;

}


/* ==========================================================
   DECORATIVE BACKGROUND DETAIL
========================================================== */

.iu-editorial-intro::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

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

    border-radius:50%;

    right:-180px;

    top:-180px;

    pointer-events:none;

}


/* ==========================================================
   CONTAINER
========================================================== */

.iu-editorial-intro-inner{

    position:relative;

    z-index:1;

    max-width:1180px;

    margin:0 auto;

    padding:0 28px;

}


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

.iu-editorial-intro-main{

    max-width:820px;

}


.iu-editorial-intro-main h2{

    margin:10px 0 26px;

    color:#171717;

    font-size:clamp(36px,5vw,64px);

    line-height:1.02;

    letter-spacing:-2px;

    font-weight:800;

}


/* ==========================================================
   LEAD / HOOK
========================================================== */

.iu-editorial-intro-lead{

    max-width:760px;

    margin-bottom:24px;

    color:#333;

    font-size:clamp(20px,2.2vw,27px);

    line-height:1.5;

}


.iu-editorial-intro-main p:not(
    .iu-editorial-intro-lead
){

    max-width:790px;

    margin-bottom:18px;

    color:#555;

    font-size:17px;

    line-height:1.85;

}


/* ==========================================================
   FACT STRIP
========================================================== */

.iu-editorial-intro-facts{

    display:grid;

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

    margin-top:46px;

    border-top:1px solid rgba(0,0,0,.12);

    border-bottom:1px solid rgba(0,0,0,.12);

}


.iu-editorial-intro-fact{

    padding:26px 28px;

    border-right:1px solid rgba(0,0,0,.10);

}


.iu-editorial-intro-fact:last-child{

    border-right:0;

}


.iu-editorial-intro-fact-number{

    display:block;

    color:#171717;

    font-size:34px;

    line-height:1;

    font-weight:800;

    letter-spacing:-1px;

}


.iu-editorial-intro-fact-label{

    display:block;

    margin-top:9px;

    color:#777;

    font-size:13px;

    line-height:1.4;

    letter-spacing:1px;

    text-transform:uppercase;

}


/* ==========================================================
   STORY / WHY IT MATTERS
========================================================== */

.iu-editorial-intro-story{

    display:grid;

    grid-template-columns:70px 1fr;

    gap:24px;

    align-items:start;

    margin-top:48px;

    padding:34px 38px;

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

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

    box-shadow:0 18px 50px rgba(0,0,0,.06);

}


.iu-editorial-intro-story-mark{

    color:#999;

    font-family:Georgia,"Times New Roman",serif;

    font-size:76px;

    line-height:.8;

}


.iu-editorial-intro-story h3{

    margin:0 0 10px;

    color:#171717;

    font-size:23px;

    line-height:1.3;

}


.iu-editorial-intro-story p{

    max-width:850px;

    margin:0;

    color:#555;

    font-size:16px;

    line-height:1.8;

}


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

@media(max-width:900px){

    .iu-editorial-intro{

        margin:55px 0;

        padding:65px 0;

    }

    .iu-editorial-intro-main{

        max-width:760px;

    }

}


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

@media(max-width:768px){

    .iu-editorial-intro{

        margin:45px 0;

        padding:50px 0;

    }

    .iu-editorial-intro-inner{

        padding:0 20px;

    }

    .iu-editorial-intro-main h2{

        font-size:clamp(34px,9vw,48px);

        letter-spacing:-1px;

    }

    .iu-editorial-intro-lead{

        font-size:20px;

        line-height:1.5;

    }

    .iu-editorial-intro-main p:not(
        .iu-editorial-intro-lead
    ){

        font-size:16px;

        line-height:1.78;

    }


    /* FACTS */

    .iu-editorial-intro-facts{

        grid-template-columns:1fr;

    }

    .iu-editorial-intro-fact{

        border-right:0;

        border-bottom:1px solid rgba(0,0,0,.10);

    }

    .iu-editorial-intro-fact:last-child{

        border-bottom:0;

    }


    /* STORY */

    .iu-editorial-intro-story{

        grid-template-columns:1fr;

        gap:12px;

        padding:28px 24px;

    }

    .iu-editorial-intro-story-mark{

        font-size:56px;

    }

    .iu-editorial-intro-story h3{

        font-size:21px;

    }

}


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

@media(max-width:480px){

    .iu-editorial-intro{

        margin:38px 0;

        padding:45px 0;

    }

    .iu-editorial-intro-inner{

        padding:0 18px;

    }

    .iu-editorial-intro-main h2{

        font-size:32px;

    }

    .iu-editorial-intro-lead{

        font-size:19px;

    }

    .iu-editorial-intro-fact{

        padding:23px 20px;

    }

    .iu-editorial-intro-fact-number{

        font-size:30px;

    }

    .iu-editorial-intro-story{

        padding:25px 20px;

    }

}


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

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

    .iu-editorial-intro *{

        animation:none !important;

        transition:none !important;

    }

}


/* =========================================================
   INSIDEUDAIPUR — REUSABLE DINING / RESTAURANT COMPONENTS
   ========================================================= */

.iu-dining-section {
    margin: 42px auto;
}

.iu-dining-container {
    max-width: 1080px;
    margin: 0 auto;
}


/* ---------- DINING INTRO ---------- */

.iu-dining-intro {
    background: linear-gradient(135deg, #f8f7f3 0%, #ffffff 100%);
    border: 1px solid rgba(200, 155, 60, 0.25);
    border-radius: 18px;
    padding: 28px 30px;
    margin: 28px 0 34px;
    position: relative;
    overflow: hidden;
}

.iu-dining-intro::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #c89b3c;
}

.iu-dining-intro h3 {
    margin: 0 0 12px;
    color: #0b2a47;
    font-size: 25px;
    line-height: 1.3;
}

.iu-dining-intro p {
    margin: 0;
    color: #475569;
    font-size: 16px;
    line-height: 1.8;
}


/* ---------- DINING HIGHLIGHTS ---------- */

.iu-dining-highlights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 28px 0 38px;
}

.iu-dining-highlight {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px 20px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.iu-dining-highlight:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(11, 42, 71, 0.09);
}

.iu-dining-highlight-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #f8f7f3;
    border: 1px solid rgba(200, 155, 60, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    color: #c89b3c;
    font-size: 19px;
}

.iu-dining-highlight h3 {
    margin: 0 0 8px;
    color: #0b2a47;
    font-size: 19px;
}

.iu-dining-highlight p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.65;
}


/* ---------- MENU WRAPPER ---------- */

.iu-dining-menu {
    margin: 36px 0;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}

.iu-dining-menu-head {
    padding: 25px 28px;
    background: #0b2a47;
    color: #fff;
}

.iu-dining-menu-head .iu-dining-eyebrow {
    color: #c89b3c;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 7px;
}

.iu-dining-menu-head h3 {
    margin: 0;
    color: #fff;
    font-size: 27px;
    line-height: 1.3;
}

.iu-dining-menu-head p {
    margin: 8px 0 0;
    color: rgba(255,255,255,0.78);
    font-size: 14px;
}


/* ---------- VIEW FULL MENU BUTTON ---------- */

.iu-menu-toggle-wrap {
    padding: 20px 28px;
    background: #f8f7f3;
    border-bottom: 1px solid #e2e8f0;
}

.iu-menu-toggle {
    width: 100%;
    border: 1px solid rgba(200, 155, 60, 0.55);
    background: #fff;
    color: #0b2a47;
    border-radius: 12px;
    padding: 15px 18px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.25s ease;
}

.iu-menu-toggle:hover {
    background: #fffaf0;
    border-color: #c89b3c;
}

.iu-menu-toggle-label {
    display: flex;
    align-items: center;
    gap: 9px;
}

.iu-menu-toggle-icon {
    transition: transform 0.3s ease;
    font-size: 18px;
}

.iu-menu-toggle[aria-expanded="true"] .iu-menu-toggle-icon {
    transform: rotate(180deg);
}


/* ---------- COLLAPSIBLE MENU CONTENT ---------- */

.iu-menu-content {
    display: none;
    padding: 10px 28px 28px;
}

.iu-menu-content.is-open {
    display: block;
}


/* ---------- MENU CATEGORY ---------- */

.iu-menu-group {
    padding: 25px 0;
    border-bottom: 1px solid #edf0f3;
}

.iu-menu-group:last-child {
    border-bottom: 0;
}

.iu-menu-category {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    color: #0b2a47;
    font-size: 20px;
}

.iu-menu-category::before {
    content: "";
    width: 5px;
    height: 23px;
    border-radius: 5px;
    background: #c89b3c;
}


/* ---------- MENU ITEM ---------- */

.iu-menu-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 0;
}

.iu-menu-item + .iu-menu-item {
    border-top: 1px dashed #e2e8f0;
}

.iu-menu-item-info {
    min-width: 0;
}

.iu-menu-item-name {
    margin: 0;
    color: #243447;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
}

.iu-menu-item-desc {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

.iu-menu-price {
    flex: 0 0 auto;
    color: #0b2a47;
    font-weight: 800;
    white-space: nowrap;
    font-size: 15px;
}


/* ---------- VEG / NON VEG ---------- */

.iu-menu-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    border-radius: 3px;
    margin-right: 7px;
    font-size: 9px;
    vertical-align: middle;
}

.iu-menu-badge.veg {
    border: 1px solid #159447;
    color: #159447;
}

.iu-menu-badge.nonveg {
    border: 1px solid #b33a3a;
    color: #b33a3a;
}

.iu-menu-badge.veg::after {
    content: "●";
}

.iu-menu-badge.nonveg::after {
    content: "▲";
    font-size: 8px;
}


/* ---------- MENU NOTE ---------- */

.iu-menu-note {
    margin-top: 20px;
    padding: 15px 17px;
    border-radius: 10px;
    background: #f8f7f3;
    color: #64748b;
    font-size: 13px;
    line-height: 1.65;
}

.iu-menu-note strong {
    color: #243447;
}


/* ---------- DINING ROUTE ---------- */

.iu-dining-route {
    margin: 38px 0;
    padding: 28px;
    border-radius: 18px;
    background: linear-gradient(135deg, #0b2a47 0%, #123b63 100%);
    color: #fff;
}

.iu-dining-route-head {
    margin-bottom: 25px;
}

.iu-dining-route-eyebrow {
    color: #c89b3c;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
}

.iu-dining-route h3 {
    margin: 0;
    color: #fff;
    font-size: 25px;
}

.iu-dining-route-subtitle {
    margin: 8px 0 0;
    color: rgba(255,255,255,0.75);
    font-size: 14px;
}


/* ---------- ROUTE STEPS ---------- */

.iu-route-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    align-items: stretch;
}

.iu-route-step {
    position: relative;
    padding: 18px 12px;
    text-align: center;
    border: 1px solid rgba(255,255,255,0.15);
    background: rgba(255,255,255,0.06);
    border-radius: 12px;
}

.iu-route-number {
    width: 30px;
    height: 30px;
    margin: 0 auto 9px;
    border-radius: 50%;
    background: #c89b3c;
    color: #0b2a47;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
}

.iu-route-step strong {
    display: block;
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
}

.iu-route-step span {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,0.65);
    font-size: 11px;
    line-height: 1.4;
}


/* ---------- BOOKING CARD ---------- */

.iu-dining-booking {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 22px;
    margin: 36px 0;
}

.iu-booking-card {
    padding: 26px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.iu-booking-card.primary {
    background: #f8f7f3;
    border-color: rgba(200, 155, 60, 0.35);
}

.iu-booking-card h3 {
    margin: 0 0 10px;
    color: #0b2a47;
    font-size: 21px;
}

.iu-booking-card p {
    margin: 0 0 16px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.7;
}

.iu-booking-detail {
    padding: 10px 0;
    border-top: 1px solid #e2e8f0;
    color: #243447;
    font-size: 14px;
}

.iu-booking-detail strong {
    color: #0b2a47;
}

.iu-booking-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 5px;
    padding: 12px 18px;
    border-radius: 9px;
    background: #0b2a47;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    transition: background 0.2s ease, transform 0.2s ease;
}

.iu-booking-button:hover {
    background: #123b63;
    transform: translateY(-1px);
}


/* ---------- TIMING STRIP ---------- */

.iu-dining-info-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: #e2e8f0;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    margin: 28px 0;
}

.iu-dining-info {
    background: #fff;
    padding: 18px;
    text-align: center;
}

.iu-dining-info-label {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 10px;
    font-weight: 700;
}

.iu-dining-info-value {
    color: #0b2a47;
    font-size: 14px;
    font-weight: 800;
}


/* ---------- MOBILE ---------- */

@media (max-width: 800px) {

    .iu-dining-highlights {
        grid-template-columns: 1fr;
    }

    .iu-route-steps {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .iu-route-step {
        display: flex;
        align-items: center;
        text-align: left;
        gap: 12px;
        padding: 13px;
    }

    .iu-route-number {
        margin: 0;
        flex: 0 0 30px;
    }

    .iu-route-step span {
        margin-top: 2px;
    }

    .iu-dining-booking {
        grid-template-columns: 1fr;
    }

    .iu-dining-info-strip {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 600px) {

    .iu-dining-intro {
        padding: 22px 20px;
    }

    .iu-dining-menu-head {
        padding: 22px 20px;
    }

    .iu-menu-toggle-wrap,
    .iu-menu-content {
        padding-left: 20px;
        padding-right: 20px;
    }

    .iu-menu-item {
        gap: 12px;
    }

    .iu-menu-item-name {
        font-size: 14px;
    }

    .iu-menu-price {
        font-size: 14px;
    }

    .iu-dining-route {
        padding: 22px 18px;
    }

}



/* ==========================================================
   INSIDEUDAIPUR
   HOTELS & STAYS — PREMIUM HERO
   Version : 1.0
   Purpose : Hotel collection / hotel category pages
   Reusable : YES
   ========================================================== */

.iu-hero--hotel{

    position:relative;

    isolation:isolate;

    width:100%;

    min-height:680px;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:#0b1f35;

}


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

.iu-hero--hotel .iu-hero-media{

    position:absolute;

    inset:0;

    z-index:-3;

}


.iu-hero--hotel .iu-hero-media img{

    display:block;

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center center;

    transform:scale(1.01);

}


/* ==========================================================
   PREMIUM OVERLAY
   Strong enough for readable editorial typography
========================================================== */

.iu-hero--hotel .iu-hero-overlay{

    position:absolute;

    inset:0;

    z-index:-2;

    background:
        linear-gradient(
            90deg,
            rgba(7,24,42,.92) 0%,
            rgba(7,24,42,.78) 30%,
            rgba(7,24,42,.46) 58%,
            rgba(7,24,42,.18) 100%
        );

}


/* ==========================================================
   SUBTLE BOTTOM FADE
========================================================== */

.iu-hero--hotel::after{

    content:"";

    position:absolute;

    inset:auto 0 0;

    height:180px;

    z-index:-1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(7,24,42,0),
            rgba(7,24,42,.55)
        );

}


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

.iu-hero--hotel .iu-hero-container{

    position:relative;

    z-index:2;

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

    margin-inline:auto;

    padding:110px 0 90px;

}


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

.iu-hero--hotel .iu-hero-content{

    max-width:820px;

}


/* ==========================================================
   EYEBROW
========================================================== */

.iu-hero--hotel .iu-hero-eyebrow{

    display:inline-flex;

    align-items:center;

    gap:9px;

    margin-bottom:22px;

    padding:9px 16px;

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

    border-radius:999px;

    background:rgba(7,24,42,.30);

    backdrop-filter:blur(12px);

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

    color:#f1c44f;

    font-size:.75rem;

    font-weight:800;

    line-height:1;

    letter-spacing:.16em;

    text-transform:uppercase;

}


/* ==========================================================
   H1
========================================================== */

.iu-hero--hotel h1{

    max-width:820px;

    margin:0;

    color:#fff;

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

    font-size:clamp(3rem,6vw,5.35rem);

    line-height:1.02;

    font-weight:800;

    letter-spacing:-.045em;

    text-wrap:balance;

}


/* ==========================================================
   OPTIONAL GOLD EMPHASIS
   Use <span> only when editorially appropriate
========================================================== */

.iu-hero--hotel h1 span{

    color:#f1c44f;

}


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

.iu-hero--hotel .iu-hero-text{

    max-width:670px;

    margin:24px 0 0;

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

    font-size:1.08rem;

    line-height:1.8;

}


/* ==========================================================
   META STRIP
   Example:
   10–12 Handpicked Stays | Budget to ₹10K | Updated 2026
========================================================== */

.iu-hero--hotel .iu-hotel-hero-meta{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:0;

    margin-top:38px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.20);

}


.iu-hero--hotel .iu-hotel-hero-meta-item{

    display:inline-flex;

    align-items:center;

    min-height:22px;

    padding:0 18px;

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

    font-size:.78rem;

    font-weight:700;

    line-height:1.5;

    letter-spacing:.06em;

    text-transform:uppercase;

}


.iu-hero--hotel .iu-hotel-hero-meta-item:first-child{

    padding-left:0;

}


.iu-hero--hotel .iu-hotel-hero-meta-item + .iu-hotel-hero-meta-item{

    border-left:1px solid rgba(255,255,255,.28);

}


/* ==========================================================
   OPTIONAL HERO LABEL
========================================================== */

.iu-hero--hotel .iu-hotel-hero-note{

    display:block;

    margin-top:13px;

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

    font-size:.78rem;

    line-height:1.6;

}


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

@media(max-width:1024px){

    .iu-hero--hotel{

        min-height:610px;

    }

    .iu-hero--hotel .iu-hero-container{

        padding:90px 0 75px;

    }

    .iu-hero--hotel .iu-hero-content{

        max-width:720px;

    }

    .iu-hero--hotel h1{

        font-size:clamp(2.8rem,6.5vw,4.5rem);

    }

}


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

@media(max-width:768px){

    .iu-hero--hotel{

        min-height:650px;

        align-items:flex-end;

    }


    .iu-hero--hotel .iu-hero-media img{

        object-position:center center;

    }


    .iu-hero--hotel .iu-hero-overlay{

        background:
            linear-gradient(
                180deg,
                rgba(7,24,42,.10) 0%,
                rgba(7,24,42,.28) 32%,
                rgba(7,24,42,.72) 62%,
                rgba(7,24,42,.96) 100%
            );

    }


    .iu-hero--hotel::after{

        height:120px;

        background:
            linear-gradient(
                180deg,
                rgba(7,24,42,0),
                rgba(7,24,42,.40)
            );

    }


    .iu-hero--hotel .iu-hero-container{

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

        padding:65px 0 38px;

    }


    .iu-hero--hotel .iu-hero-content{

        max-width:100%;

    }


    .iu-hero--hotel .iu-hero-eyebrow{

        margin-bottom:16px;

        padding:8px 13px;

        font-size:.68rem;

        letter-spacing:.13em;

    }


    .iu-hero--hotel h1{

        font-size:clamp(2.55rem,10.5vw,4rem);

        line-height:1.04;

        letter-spacing:-.035em;

    }


    .iu-hero--hotel .iu-hero-text{

        margin-top:17px;

        font-size:.96rem;

        line-height:1.72;

    }


    .iu-hero--hotel .iu-hotel-hero-meta{

        align-items:flex-start;

        flex-direction:column;

        gap:8px;

        margin-top:26px;

        padding-top:17px;

    }


    .iu-hero--hotel .iu-hotel-hero-meta-item{

        padding:0;

        font-size:.68rem;

        letter-spacing:.05em;

    }


    .iu-hero--hotel .iu-hotel-hero-meta-item + .iu-hotel-hero-meta-item{

        border-left:0;

    }


    .iu-hero--hotel .iu-hotel-hero-note{

        margin-top:10px;

        font-size:.72rem;

    }

}


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

@media(max-width:480px){

    .iu-hero--hotel{

        min-height:620px;

    }


    .iu-hero--hotel .iu-hero-container{

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

        padding-bottom:30px;

    }


    .iu-hero--hotel h1{

        font-size:clamp(2.35rem,10.5vw,3.35rem);

    }


    .iu-hero--hotel .iu-hero-text{

        font-size:.92rem;

    }

}


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

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

    .iu-hero--hotel .iu-hero-media img{

        transform:none;

    }

}

 /* ==========================================================
    INSIDEUDAIPUR
    HOTELS & STAYS — REUSABLE HOTEL CARD SYSTEM
    Version : 1.0

    Purpose:
    - Best Hotels collection pages
    - Budget hotel pages
    - Location-based hotel collections
    - Hotel comparison / recommendation sections

    Performance:
    - CSS only
    - No external dependencies
    - No carousel
    - No JS required
    - Responsive
    ========================================================== */


/* ==========================================================
   HOTEL SECTION
========================================================== */

.iu-hotel-section{

    position:relative;

    width:100%;

    padding:90px 0;

    background:var(--background);

}


.iu-hotel-container{

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

    margin-inline:auto;

}


/* ==========================================================
   HOTEL SECTION INTRO
========================================================== */

.iu-hotel-header{

    max-width:820px;

    margin:0 auto 48px;

    text-align:center;

}


.iu-hotel-header .iu-section-eyebrow{

    margin-bottom:14px;

}


.iu-hotel-header h2{

    margin:0 0 16px;

    color:var(--heading);

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

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

    line-height:1.12;

    font-weight:800;

    letter-spacing:-.025em;

}


.iu-hotel-header p{

    max-width:700px;

    margin:0 auto;

    color:var(--text-light);

    font-size:1.02rem;

    line-height:1.8;

}


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

.iu-hotel-grid{

    display:grid;

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

    gap:26px;

}


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

.iu-hotel-card{

    position:relative;

    min-width:0;

    display:flex;

    flex-direction:column;

    overflow:hidden;

    background:var(--surface);

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

    border-radius:24px;

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

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

}


.iu-hotel-card:hover{

    transform:translateY(-5px);

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

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

}


/* ==========================================================
   FEATURED HOTEL
   Use only for #1 / Best Overall
========================================================== */

.iu-hotel-card--featured{

    grid-column:1 / -1;

    display:grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(0,.92fr);

}


.iu-hotel-card--featured .iu-hotel-card-image{

    height:100%;

    min-height:470px;

    aspect-ratio:auto;

}


.iu-hotel-card--featured .iu-hotel-card-content{

    justify-content:center;

    padding:42px;

}


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

.iu-hotel-card-image{

    position:relative;

    width:100%;

    aspect-ratio:16 / 10;

    overflow:hidden;

    background:#e5e7eb;

}


.iu-hotel-card-image img{

    display:block;

    width:100%;

    height:100%;

    object-fit:cover;

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

}


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

    transform:scale(1.045);

}


/* ==========================================================
   IMAGE GRADIENT
   Very subtle — photography remains natural
========================================================== */

.iu-hotel-card-image::after{

    content:"";

    position:absolute;

    inset:auto 0 0;

    height:30%;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0),
            rgba(0,0,0,.18)
        );

}


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

.iu-hotel-card-content{

    display:flex;

    flex-direction:column;

    flex:1;

    min-width:0;

    padding:28px 28px 26px;

}


/* ==========================================================
   TOP ROW
========================================================== */

.iu-hotel-card-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:14px;

    margin-bottom:17px;

}


/* ==========================================================
   RANK
========================================================== */

.iu-hotel-rank{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex:0 0 auto;

    min-width:40px;

    height:40px;

    padding:0 10px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

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

    font-size:.8rem;

    font-weight:800;

    line-height:1;

}


/* ==========================================================
   BADGE
========================================================== */

.iu-hotel-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:30px;

    padding:6px 11px;

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

    border-radius:999px;

    background:#fffbef;

    color:#8a6508;

    font-size:.7rem;

    font-weight:800;

    line-height:1.2;

    letter-spacing:.06em;

    text-transform:uppercase;

}


/* ==========================================================
   HOTEL NAME
========================================================== */

.iu-hotel-card h3{

    margin:0 0 8px;

    color:var(--heading);

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

    font-size:clamp(1.35rem,2.2vw,1.7rem);

    line-height:1.22;

    font-weight:800;

    letter-spacing:-.02em;

}


/* Featured name */

.iu-hotel-card--featured h3{

    font-size:clamp(1.8rem,3vw,2.45rem);

}


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

.iu-hotel-meta{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:6px 10px;

    margin-bottom:19px;

    color:var(--text-light);

    font-size:.82rem;

    line-height:1.5;

}


.iu-hotel-meta span{

    display:inline-flex;

    align-items:center;

}


.iu-hotel-meta span + span::before{

    content:"";

    width:4px;

    height:4px;

    margin-right:10px;

    border-radius:50%;

    background:#cbd5e1;

}


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

.iu-hotel-score{

    display:flex;

    align-items:center;

    gap:12px;

    width:max-content;

    max-width:100%;

    margin-bottom:20px;

    padding:10px 13px;

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

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

    background:#fffcf4;

}


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

.iu-hotel-score-value{

    display:flex;

    align-items:baseline;

    gap:3px;

    color:var(--primary);

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

    font-size:1.35rem;

    line-height:1;

    font-weight:800;

}


.iu-hotel-score-value small{

    color:var(--text-light);

    font-size:.7rem;

    font-weight:600;

}


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

.iu-hotel-score-label{

    display:flex;

    flex-direction:column;

    gap:2px;

}


.iu-hotel-score-label strong{

    color:var(--heading);

    font-size:.76rem;

    line-height:1.2;

}


.iu-hotel-score-label span{

    color:var(--text-light);

    font-size:.7rem;

    line-height:1.3;

}


/* ==========================================================
   BEST FOR
========================================================== */

.iu-hotel-best-for{

    display:flex;

    align-items:flex-start;

    gap:8px;

    margin-bottom:16px;

    color:var(--heading);

    font-size:.88rem;

    line-height:1.55;

}


.iu-hotel-best-for strong{

    flex:0 0 auto;

    color:var(--primary);

}


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

.iu-hotel-description{

    margin:0 0 18px;

    color:var(--text);

    font-size:.94rem;

    line-height:1.78;

}


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

.iu-hotel-highlights{

    display:flex;

    flex-wrap:wrap;

    gap:7px;

    margin:0 0 18px;

    padding:0;

    list-style:none;

}


.iu-hotel-highlight{

    display:inline-flex;

    align-items:center;

    min-height:30px;

    padding:6px 10px;

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

    border-radius:999px;

    background:#fafafa;

    color:var(--text);

    font-size:.72rem;

    font-weight:600;

    line-height:1.3;

}


/* ==========================================================
   KEEP IN MIND
========================================================== */

.iu-hotel-note{

    margin-top:auto;

    margin-bottom:22px;

    padding:12px 14px;

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

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

    background:#fffcf4;

    color:var(--text);

    font-size:.78rem;

    line-height:1.65;

}


.iu-hotel-note strong{

    color:var(--heading);

}


/* ==========================================================
   FOOTER
========================================================== */

.iu-hotel-footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:16px;

    margin-top:auto;

    padding-top:19px;

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

}


/* ==========================================================
   PRICE
========================================================== */

.iu-hotel-price{

    display:flex;

    flex-direction:column;

    gap:3px;

    min-width:0;

}


.iu-hotel-price-label{

    color:var(--text-light);

    font-size:.68rem;

    line-height:1.3;

    letter-spacing:.04em;

    text-transform:uppercase;

}


.iu-hotel-price-value{

    color:var(--heading);

    font-size:.95rem;

    font-weight:800;

    line-height:1.3;

}


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

.iu-hotel-cta{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex:0 0 auto;

    min-height:44px;

    padding:0 18px;

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

    border-radius:999px;

    background:var(--primary);

    color:#fff;

    font-size:.82rem;

    font-weight:700;

    line-height:1;

    text-decoration:none;

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

}


.iu-hotel-cta:hover{

    background:var(--accent);

    border-color:var(--accent);

    color:#fff;

    transform:translateY(-2px);

}


/* ==========================================================
   TRUST / VERIFICATION LINE
========================================================== */

.iu-hotel-verification{

    display:flex;

    align-items:center;

    gap:7px;

    margin-top:13px;

    color:var(--text-light);

    font-size:.68rem;

    line-height:1.4;

}


.iu-hotel-verification::before{

    content:"";

    flex:0 0 6px;

    width:6px;

    height:6px;

    border-radius:50%;

    background:var(--success);

}


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

@media(max-width:1024px){

    .iu-hotel-section{

        padding:70px 0;

    }

    .iu-hotel-grid{

        gap:20px;

    }

    .iu-hotel-card-content{

        padding:24px;

    }

    .iu-hotel-card--featured .iu-hotel-card-content{

        padding:32px;

    }

    .iu-hotel-card--featured .iu-hotel-card-image{

        min-height:430px;

    }

}


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

@media(max-width:768px){

    .iu-hotel-section{

        padding:55px 0;

    }

    .iu-hotel-container{

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

    }

    .iu-hotel-header{

        margin-bottom:32px;

        text-align:left;

    }

    .iu-hotel-header h2{

        font-size:2rem;

    }

    .iu-hotel-header p{

        font-size:.94rem;

        line-height:1.72;

    }

    .iu-hotel-grid{

        grid-template-columns:1fr;

        gap:18px;

    }

    .iu-hotel-card--featured{

        display:flex;

        grid-column:auto;

    }

    .iu-hotel-card--featured .iu-hotel-card-image{

        min-height:0;

        aspect-ratio:16 / 10;

    }

    .iu-hotel-card--featured .iu-hotel-card-content{

        padding:23px 20px 20px;

    }

    .iu-hotel-card-content{

        padding:22px 20px 20px;

    }

    .iu-hotel-card h3,
    .iu-hotel-card--featured h3{

        font-size:1.35rem;

    }

    .iu-hotel-score{

        margin-bottom:17px;

    }

    .iu-hotel-description{

        font-size:.92rem;

        line-height:1.72;

    }

    .iu-hotel-footer{

        align-items:stretch;

        flex-direction:column;

    }

    .iu-hotel-cta{

        width:100%;

    }

}


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

@media(max-width:480px){

    .iu-hotel-section{

        padding:48px 0;

    }

    .iu-hotel-card{

        border-radius:20px;

    }

    .iu-hotel-card-image{

        aspect-ratio:16 / 10;

    }

    .iu-hotel-card-content,
    .iu-hotel-card--featured .iu-hotel-card-content{

        padding:20px 18px 18px;

    }

    .iu-hotel-card-top{

        margin-bottom:14px;

    }

    .iu-hotel-rank{

        min-width:36px;

        height:36px;

        font-size:.74rem;

    }

    .iu-hotel-badge{

        font-size:.65rem;

    }

    .iu-hotel-meta{

        font-size:.78rem;

    }

    .iu-hotel-score-value{

        font-size:1.25rem;

    }

    .iu-hotel-highlight{

        font-size:.68rem;

    }

}


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

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

    .iu-hotel-card,
    .iu-hotel-card-image img,
    .iu-hotel-cta{

        transition:none;

    }

    .iu-hotel-card:hover{

        transform:none;

    }

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

        transform:none;

    }

}



/* ==========================================================
   HOTEL TRUST SIGNALS
========================================================== */

.iu-hotel-trust{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0 0 20px;
}

.iu-hotel-trust-item{
    min-width:0;
    padding:12px 13px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:#fafafa;
}

.iu-hotel-trust-item strong{
    display:block;
    margin-bottom:4px;
    color:var(--heading);
    font-family:Poppins,Inter,system-ui,sans-serif;
    font-size:.72rem;
    line-height:1.25;
    font-weight:800;
}

.iu-hotel-trust-item span{
    display:block;
    color:var(--text-light);
    font-size:.70rem;
    line-height:1.45;
}

.iu-hotel-trust-score{
    color:var(--primary) !important;
    font-weight:800;
}

@media(max-width:480px){

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

}



/* ==========================================================
   INSIDE UDAIPUR — HOTEL BUDGET SYSTEM
   Reusable across hotel recommendation sections
========================================================== */

.iu-budget-section{
    padding:clamp(42px,6vw,78px) 0;
}

.iu-budget-container{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
}

.iu-budget-header{
    max-width:760px;
    margin:0 auto clamp(30px,4vw,48px);
    text-align:center;
}

.iu-budget-header .iu-section-eyebrow{
    display:block;
    margin-bottom:10px;
}

.iu-budget-header h2{
    margin:0 0 14px;
}

.iu-budget-header p{
    margin:0;
    color:var(--text-light);
    line-height:1.75;
}


/* Budget groups */

.iu-budget-groups{
    display:grid;
    gap:24px;
}


/* Individual budget card */

.iu-budget-card{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:var(--card);
    box-shadow:var(--shadow-soft);
}


/* Budget header */

.iu-budget-card-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:22px 24px;
    border-bottom:1px solid var(--border);
    background:#fafafa;
}

.iu-budget-range{
    margin:0;
    color:var(--heading);
    font-family:Poppins,Inter,system-ui,sans-serif;
    font-size:clamp(1.05rem,2vw,1.35rem);
    line-height:1.25;
    font-weight:800;
}

.iu-budget-label{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 10px;
    border:1px solid var(--border);
    border-radius:999px;
    color:var(--text-light);
    background:var(--card);
    font-size:.7rem;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}


/* Hotels inside each price band */

.iu-budget-hotels{
    display:grid;
}

.iu-budget-hotel{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    padding:22px 24px;
    border-bottom:1px solid var(--border);
}

.iu-budget-hotel:last-child{
    border-bottom:0;
}


/* Hotel information */

.iu-budget-hotel-main{
    min-width:0;
}

.iu-budget-hotel-name{
    margin:0 0 6px;
    color:var(--heading);
    font-family:Poppins,Inter,system-ui,sans-serif;
    font-size:1rem;
    line-height:1.35;
    font-weight:800;
}

.iu-budget-hotel-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
    margin-bottom:10px;
    color:var(--text-light);
    font-size:.72rem;
    line-height:1.5;
}

.iu-budget-reason{
    margin:0;
    max-width:720px;
    color:var(--text);
    font-size:.84rem;
    line-height:1.7;
}


/* Score */

.iu-budget-score{
    display:inline-flex;
    align-items:baseline;
    gap:4px;
    margin-top:12px;
    color:var(--primary);
    font-family:Poppins,Inter,system-ui,sans-serif;
    font-size:1rem;
    line-height:1;
    font-weight:800;
}

.iu-budget-score small{
    color:var(--text-light);
    font-size:.65rem;
    font-weight:700;
}


/* Right side */

.iu-budget-hotel-side{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    min-width:170px;
    text-align:right;
}

.iu-budget-price{
    margin-bottom:10px;
    color:var(--heading);
    font-family:Poppins,Inter,system-ui,sans-serif;
    font-size:.88rem;
    line-height:1.4;
    font-weight:800;
}

.iu-budget-price-label{
    display:block;
    margin-bottom:3px;
    color:var(--text-light);
    font-family:Inter,system-ui,sans-serif;
    font-size:.65rem;
    line-height:1.3;
    font-weight:700;
}


/* CTA */

.iu-budget-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 15px;
    border:1px solid var(--primary);
    border-radius:var(--radius-md);
    color:var(--primary);
    background:transparent;
    font-size:.72rem;
    line-height:1;
    font-weight:800;
    text-decoration:none;
    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.iu-budget-cta:hover{
    color:#fff;
    background:var(--primary);
    transform:translateY(-1px);
}


/* Small editorial note */

.iu-budget-note{
    margin-top:22px;
    color:var(--text-light);
    font-size:.72rem;
    line-height:1.65;
}


/* Tablet */

@media(max-width:760px){

    .iu-budget-hotel{
        grid-template-columns:1fr;
        gap:16px;
    }

    .iu-budget-hotel-side{
        align-items:flex-start;
        min-width:0;
        text-align:left;
    }

}


/* Mobile */

@media(max-width:520px){

    .iu-budget-container{
        width:min(100% - 22px,1180px);
    }

    .iu-budget-card-header{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
        padding:18px;
    }

    .iu-budget-hotel{
        padding:18px;
    }

    .iu-budget-hotel-meta{
        font-size:.68rem;
    }

    .iu-budget-reason{
        font-size:.8rem;
    }

    .iu-budget-cta{
        width:100%;
    }

}


/* Reduced motion */

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

    .iu-budget-cta{
        transition:none;
    }

    .iu-budget-cta:hover{
        transform:none;
    }

}


/* ==========================================================
   INSIDEUDAIPUR
   REUSABLE BLOG / POST CARD SYSTEM
   Version : 2.0

   Desktop : 3 columns
   Tablet  : 2 columns
   Mobile  : 1 column

   Gutenberg Query Loop structure:

   .iu-blog-grid
      └── .wp-block-post-template
            └── .iu-blog-card
                  ├── .iu-blog-card-image
                  ├── .iu-blog-card-meta
                  │     ├── .iu-blog-card-author
                  │     └── .iu-blog-card-date
                  ├── .iu-blog-card-title
                  └── .iu-blog-card-excerpt
========================================================== */


/* ==========================================================
   BLOG HEADER / SECTION
========================================================== */

.iu-blog-section{

    width:100%;

    padding:70px 0 35px;

    background:var(--background);

}


/* ==========================================================
   BLOG CONTAINER
========================================================== */

.iu-blog-container{

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

    margin-inline:auto;

}


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

.iu-blog-section .iu-editorial-header{

    max-width:900px;

    margin-inline:auto;

    text-align:center;

}


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

.iu-blog-section .iu-editorial-kicker{

    display:inline-block;

    margin-bottom:12px;

    color:var(--gold);

    font-size:.78rem;

    font-weight:800;

    letter-spacing:.12em;

    line-height:1.3;

    text-transform:uppercase;

}


/* ==========================================================
   BLOG H1
========================================================== */

.iu-blog-section h1{

    margin:0;

    color:var(--primary);

    font-size:
        clamp(2.25rem,4vw,3.7rem);

    line-height:1.08;

    font-weight:800;

    letter-spacing:-.035em;

}


/* ==========================================================
   BLOG INTRO
========================================================== */

.iu-blog-section
.iu-editorial-header p{

    max-width:760px;

    margin:18px auto 0;

    color:var(--text);

    font-size:1rem;

    line-height:1.75;

}


/* ==========================================================
   BLOG CATEGORY BUTTONS
   Reuses existing design language
========================================================== */

.iu-blog-categories{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:10px;

    margin-top:30px;

}


.iu-blog-categories a{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:40px;

    padding:8px 18px;

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

    border-radius:999px;

    background:var(--surface);

    color:var(--primary);

    font-size:.86rem;

    font-weight:700;

    line-height:1.2;

    text-decoration:none;

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

}


.iu-blog-categories a:hover{

    background:var(--primary);

    border-color:var(--primary);

    color:#fff;

    transform:translateY(-2px);

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

}


.iu-blog-categories a[aria-current="page"]{

    background:var(--gold);

    border-color:var(--gold);

    color:var(--primary);

}


/* ==========================================================
   QUERY LOOP WRAPPER

   IMPORTANT:
   Query Loop itself must NOT become the grid.

   Gutenberg generates the actual post list through
   .wp-block-post-template.
========================================================== */

.iu-blog-grid{

    width:100%;

    max-width:var(--container);

    margin:40px auto 0;

    padding-inline:20px;

}


/* ==========================================================
   ACTUAL POST GRID
========================================================== */

.iu-blog-grid
.wp-block-post-template{

    display:grid;

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

    gap:32px;

    width:100%;

    margin:0;

    padding:0;

    list-style:none;

}


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

.iu-blog-grid
.wp-block-post-template
> .iu-blog-card{

    min-width:0;

    width:auto;

    height:100%;

    display:flex;

    flex-direction:column;

    overflow:hidden;

    margin:0;

    padding:0;

    background:var(--surface);

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

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

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

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

}


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

.iu-blog-grid
.wp-block-post-template
> .iu-blog-card:hover{

    transform:translateY(-5px);

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

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

}


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

.iu-blog-card-image{

    position:relative;

    width:100%;

    aspect-ratio:16 / 10;

    margin:0;

    padding:0;

    overflow:hidden;

    background:#eef0f2;

}


/* Gutenberg figure */

.iu-blog-card-image img{

    display:block;

    width:100%;

    height:100%;

    max-width:none;

    object-fit:cover;

    margin:0;

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

}


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

.iu-blog-grid
.wp-block-post-template
> .iu-blog-card:hover
.iu-blog-card-image img{

    transform:scale(1.045);

}


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

.iu-blog-card-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(13,43,69,0) 65%,
            rgba(13,43,69,.08) 100%
        );

    pointer-events:none;

}


/* ==========================================================
   META ROW
   Applied to Gutenberg Row block
========================================================== */

.iu-blog-card-meta{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:7px;

    margin:0;

    padding:
        18px 22px 0;

    color:var(--muted);

    font-size:.78rem;

    line-height:1.4;

}


/* ==========================================================
   AUTHOR
========================================================== */

.iu-blog-card-author{

    color:var(--primary);

    font-weight:700;

}


/* ==========================================================
   DATE
========================================================== */

.iu-blog-card-date{

    color:var(--muted);

}


/* ==========================================================
   META BLOCK RESET
========================================================== */

.iu-blog-card-meta
.wp-block-post-author,
.iu-blog-card-meta
.wp-block-post-date{

    margin:0;

}


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

.iu-blog-card-author::after{

    content:"";

    display:inline-block;

    width:3px;

    height:3px;

    margin:
        0 7px;

    vertical-align:middle;

    border-radius:50%;

    background:var(--gold);

}


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

.iu-blog-card-title{

    margin:
        10px 22px 0;

    padding:0;

    color:var(--primary);

    font-size:
        clamp(1.2rem,1.5vw,1.45rem);

    line-height:1.3;

    font-weight:800;

    letter-spacing:-.02em;

}


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

.iu-blog-card-title a{

    color:inherit;

    text-decoration:none;

}


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

.iu-blog-grid
.wp-block-post-template
> .iu-blog-card:hover
.iu-blog-card-title a{

    color:var(--gold);

}


/* ==========================================================
   EXCERPT
========================================================== */

.iu-blog-card-excerpt{

    margin:
        12px 22px 24px;

    padding:0;

    color:var(--text);

    font-size:.92rem;

    line-height:1.7;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:3;

    overflow:hidden;

}


/* ==========================================================
   EXCERPT RESET
========================================================== */

.iu-blog-card-excerpt p{

    margin:0;

}


/* ==========================================================
   POST TEMPLATE RESET
========================================================== */

.iu-blog-grid
.wp-block-post-template
> .iu-blog-card > *{

    box-sizing:border-box;

}


/* ==========================================================
   PAGINATION
========================================================== */

.iu-blog-grid
.wp-block-query-pagination{

    display:flex;

    justify-content:center;

    margin-top:45px;

}


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

@media(max-width:1024px){

    .iu-blog-section{

        padding:
            60px 0 30px;

    }


    .iu-blog-grid{

        margin-top:35px;

    }


    .iu-blog-grid
    .wp-block-post-template{

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

        gap:26px;

    }


    .iu-blog-card-meta{

        padding:
            17px 20px 0;

    }


    .iu-blog-card-title{

        margin:
            10px 20px 0;

    }


    .iu-blog-card-excerpt{

        margin:
            12px 20px 22px;

    }

}


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

@media(max-width:640px){

    .iu-blog-section{

        padding:
            48px 0 25px;

    }


    .iu-blog-container{

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

    }


    .iu-blog-section h1{

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

    }


    .iu-blog-section
    .iu-editorial-header p{

        font-size:.94rem;

        line-height:1.7;

    }


    .iu-blog-categories{

        justify-content:flex-start;

        flex-wrap:nowrap;

        overflow-x:auto;

        margin-top:25px;

        padding-bottom:6px;

        scrollbar-width:none;

        -webkit-overflow-scrolling:touch;

    }


    .iu-blog-categories::-webkit-scrollbar{

        display:none;

    }


    .iu-blog-categories a{

        flex:0 0 auto;

        min-height:39px;

        padding:
            8px 16px;

        font-size:.82rem;

    }


    .iu-blog-grid{

        margin-top:30px;

        padding-inline:14px;

    }


    .iu-blog-grid
    .wp-block-post-template{

        grid-template-columns:1fr;

        gap:22px;

    }


    .iu-blog-card-title{

        font-size:1.25rem;

    }


    .iu-blog-card-excerpt{

        font-size:.9rem;

        line-height:1.65;

    }

}


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

@media(max-width:480px){

    .iu-blog-grid{

        padding-inline:12px;

    }


    .iu-blog-card-meta{

        padding:
            16px 18px 0;

    }


    .iu-blog-card-title{

        margin-left:18px;

        margin-right:18px;

    }


    .iu-blog-card-excerpt{

        margin-left:18px;

        margin-right:18px;

        margin-bottom:20px;

    }

}


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

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

    .iu-blog-grid
    .wp-block-post-template
    > .iu-blog-card,
    .iu-blog-card-image img,
    .iu-blog-card-title a{

        transition:none;

    }

}

/* ==========================================================
   READ MORE
========================================================== */

.iu-blog-card-readmore{

    display:inline-flex;

    align-items:center;

    width:max-content;

    margin:
        auto 22px 24px;

    padding:
        9px 15px;

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

    border-radius:999px;

    background:transparent;

    color:var(--primary);

    font-size:.82rem;

    font-weight:700;

    line-height:1.2;

    text-decoration:none;

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

}


.iu-blog-card-readmore:hover{

    background:var(--primary);

    border-color:var(--primary);

    color:#fff;

    transform:translateY(-2px);

}


/* Mobile */

@media(max-width:1024px){

    .iu-blog-card-readmore{

        margin-right:20px;

        margin-bottom:22px;

    }

}


@media(max-width:640px){

    .iu-blog-card-readmore{

        margin-right:18px;

        margin-bottom:20px;

    }

}


/* =========================================================
   HOTEL LANDING PAGES — PREMIUM CARD SYSTEM
   Reusable for all hotel landing pages
   ========================================================= */

/* ---------- 3 / 2 / 1 HOTEL GRID ---------- */

.iu-hotel-landing .wp-block-post-template {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.iu-hotel-landing .wp-block-post-template > .wp-block-post {
    min-width: 0;
    width: 100%;
}


/* ---------- HOTEL CARD ---------- */

.iu-hotel-landing .wp-block-post-template > .wp-block-post {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5dfd5;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(15, 42, 68, 0.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.iu-hotel-landing .wp-block-post-template > .wp-block-post:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 38px rgba(15, 42, 68, 0.14);
}


/* ---------- HOTEL IMAGE ---------- */

.iu-hotel-landing .wp-block-post-featured-image {
    width: 100%;
    margin: 0;
}

.iu-hotel-landing .wp-block-post-featured-image img {
    display: block;
    width: 100%;
    height: 230px;
    object-fit: cover;
}


/* ---------- HOTEL NAME ---------- */

.iu-hotel-landing .wp-block-post-title {
    margin: 22px 24px 16px;
    color: #123a60;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 700;
}


/* =========================================================
   DYNAMIC HOTEL INFORMATION
   ========================================================= */

.iu-hotel-landing .iu-hotel-meta {
    display: block;
    margin: 0 24px;
}


/* ---------- INSIDEUDAIPUR SCORE ---------- */

.iu-hotel-landing .iu-hotel-score-box {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #ead8ad;
    border-radius: 13px;
    background: #fffaf0;
}

.iu-hotel-landing .iu-hotel-score-heading {
    margin-bottom: 5px;
    color: #6c7784;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.iu-hotel-landing .iu-hotel-score-main {
    display: flex;
    align-items: center;
    gap: 12px;
}

.iu-hotel-landing .iu-hotel-score-main strong {
    color: #122f4c;
    font-size: 21px;
    line-height: 1.2;
    font-weight: 800;
}

.iu-hotel-landing .iu-hotel-score-main span {
    color: #526274;
    font-size: 14px;
    line-height: 1.4;
}


/* =========================================================
   HOTEL DETAILS
   ========================================================= */

.iu-hotel-landing .iu-hotel-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.iu-hotel-landing .iu-hotel-detail {
    color: #526274;
    font-size: 14px;
    line-height: 1.5;
}

.iu-hotel-landing .iu-hotel-type {
    color: #173b5d;
    font-weight: 700;
}

.iu-hotel-landing .iu-hotel-rating {
    font-weight: 500;
}

.iu-hotel-landing .iu-hotel-location {
    color: #526274;
}


/* =========================================================
   PRICE
   ========================================================= */

.iu-hotel-landing .iu-hotel-price-box {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0 24px 22px;
    padding-top: 16px;
    border-top: 1px solid #eee8df;
}

.iu-hotel-landing .iu-price-label {
    width: 100%;
    color: #7a8490;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.iu-hotel-landing .iu-hotel-price {
    color: #123a60;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
}

.iu-hotel-landing .iu-price-night {
    color: #687684;
    font-size: 13px;
}


/* =========================================================
   BUTTON AREA
   ========================================================= */

.iu-hotel-landing .wp-block-custom-html {
    margin: auto 24px 10px;
}

.iu-hotel-landing .wp-block-custom-html a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    box-sizing: border-box;
    padding: 0 18px;
    border: 1px solid #c89b3c;
    border-radius: 10px;
    background: #fffaf0;
    color: #8a641d;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s ease;
}

.iu-hotel-landing .wp-block-custom-html a:hover {
    background: #c89b3c;
    color: #fff;
}


/* ---------- VIEW HOTEL ---------- */

.iu-hotel-landing .wp-block-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    box-sizing: border-box;
    margin: 0 24px 24px;
    padding: 0 20px;
    border: 1px solid #173f65;
    border-radius: 10px;
    background: #173f65;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s ease;
}

.iu-hotel-landing .wp-block-read-more:hover {
    background: #0d2d49;
    border-color: #0d2d49;
}


/* =========================================================
   TABLET — 2 CARDS
   ========================================================= */

@media (max-width: 1024px) {

    .iu-hotel-landing .wp-block-post-template {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE — 1 CARD
   ========================================================= */

@media (max-width: 767px) {

    .iu-hotel-landing .wp-block-post-template {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .iu-hotel-landing .wp-block-post-featured-image img {
        height: 210px;
    }

    .iu-hotel-landing .wp-block-post-title {
        margin: 18px 18px 14px;
        font-size: 23px;
    }

    .iu-hotel-landing .iu-hotel-meta {
        margin-left: 18px;
        margin-right: 18px;
    }

    .iu-hotel-landing .iu-hotel-score-box {
        padding: 13px 14px;
    }

    .iu-hotel-landing .iu-hotel-score-main strong {
        font-size: 19px;
    }

    .iu-hotel-landing .iu-hotel-price-box {
        margin-left: 18px;
        margin-right: 18px;
    }

    .iu-hotel-landing .wp-block-custom-html {
        margin-left: 18px;
        margin-right: 18px;
    }

    .iu-hotel-landing .wp-block-read-more {
        margin-left: 18px;
        margin-right: 18px;
    }

    .iu-hotel-landing .wp-block-custom-html a,
    .iu-hotel-landing .wp-block-read-more {
        width: 100%;
    }

}


/* =========================================================
   HOTEL LANDING — FINAL CTA BUTTONS
   ========================================================= */

/* Button Group */
.iu-hotel-landing .iu-hotel-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    width: auto;
    margin: 4px 24px 24px;
    padding: 0;
}

/* Remove WordPress default margins */
.iu-hotel-landing .iu-hotel-actions .wp-block-html,
.iu-hotel-landing .iu-hotel-actions .wp-block-read-more {
    margin: 0;
}

/* Both buttons */
.iu-hotel-landing .iu-hotel-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    box-sizing: border-box;
    padding: 0 22px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: all .2s ease;
}

/* VIEW PRICE */
.iu-hotel-landing .iu-hotel-actions .iu-price-btn {
    border: 1px solid #c99a3d;
    background: #fffaf0;
    color: #8a641d;
}

.iu-hotel-landing .iu-hotel-actions .iu-price-btn:hover {
    background: #c99a3d;
    color: #fff;
}

/* VIEW HOTEL */
.iu-hotel-landing .iu-hotel-actions .wp-block-read-more {
    border: 1px solid #173f65;
    background: #173f65;
    color: #fff;
}

.iu-hotel-landing .iu-hotel-actions .wp-block-read-more:hover {
    background: #0d2d49;
    border-color: #0d2d49;
    color: #fff;
}


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

@media (max-width: 767px) {

    .iu-hotel-landing .iu-hotel-actions {
        margin-left: 18px;
        margin-right: 18px;
        gap: 10px;
    }

    .iu-hotel-landing .iu-hotel-actions a {
        flex: 1;
        padding-left: 10px;
        padding-right: 10px;
    }

}


/* =========================================================
   HOTEL LANDING — FINAL COMPACT CARD
   ========================================================= */

/* Card must follow content height */
.iu-hotel-landing .wp-block-post-template > .wp-block-post {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
}


/* Image */
.iu-hotel-landing .wp-block-post-featured-image {
    margin: 0 !important;
}

.iu-hotel-landing .wp-block-post-featured-image img {
    display: block !important;
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
}


/* Hotel title */
.iu-hotel-landing .wp-block-post-title {
    margin: 20px 24px 14px !important;
    line-height: 1.2 !important;
}


/* Dynamic meta */
.iu-hotel-landing .iu-hotel-meta {
    margin: 0 24px !important;
}


/* Score */
.iu-hotel-landing .iu-hotel-score-box {
    margin: 0 0 14px !important;
    padding: 13px 15px !important;
}


/* Details */
.iu-hotel-landing .iu-hotel-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    margin: 0 0 14px !important;
}


/* Price */
.iu-hotel-landing .iu-hotel-price-box {
    margin: 0 24px 14px !important;
    padding-top: 12px !important;
}


/* =========================================================
   BUTTON GROUP — NO AUTO SPACING
   ========================================================= */

.iu-hotel-landing .iu-hotel-actions,
.iu-hotel-landing .iu-hotel-actions.is-layout-flex {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: stretch !important;

    width: auto !important;

    margin: 0 24px 20px !important;
    padding: 0 !important;

    gap: 10px !important;

    /* IMPORTANT — remove any automatic pushing */
    margin-top: 0 !important;
}


/* Remove all automatic margins from children */
.iu-hotel-landing .iu-hotel-actions > * {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* Both buttons equal */
.iu-hotel-landing .iu-hotel-actions a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;

    box-sizing: border-box !important;

    padding: 0 12px !important;

    border-radius: 10px !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    text-decoration: none !important;
}


/* =========================================================
   MOBILE — TIGHT & COMPACT
   ========================================================= */

@media (max-width: 767px) {

    .iu-hotel-landing .wp-block-post-template > .wp-block-post {
        height: auto !important;
        min-height: 0 !important;
    }

    /* Smaller image */
    .iu-hotel-landing .wp-block-post-featured-image img {
        height: 180px !important;
    }

    /* Smaller title */
    .iu-hotel-landing .wp-block-post-title {
        margin: 17px 18px 12px !important;
        font-size: 22px !important;
    }

    .iu-hotel-landing .iu-hotel-meta {
        margin-left: 18px !important;
        margin-right: 18px !important;
    }

    .iu-hotel-landing .iu-hotel-score-box {
        margin-bottom: 12px !important;
        padding: 12px 14px !important;
    }

    .iu-hotel-landing .iu-hotel-details {
        gap: 4px !important;
        margin-bottom: 12px !important;
    }

    .iu-hotel-landing .iu-hotel-price-box {
        margin-left: 18px !important;
        margin-right: 18px !important;
        margin-bottom: 12px !important;
        padding-top: 11px !important;
    }

    /* Buttons */
    .iu-hotel-landing .iu-hotel-actions,
    .iu-hotel-landing .iu-hotel-actions.is-layout-flex {
        flex-direction: row !important;

        margin: 0 18px 18px !important;

        gap: 8px !important;
    }

    .iu-hotel-landing .iu-hotel-actions > * {
        flex: 1 1 0 !important;
        width: 0 !important;
        margin: 0 !important;
    }

    .iu-hotel-landing .iu-hotel-actions a {
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 8px !important;
        font-size: 13px !important;
    }
}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   01. EVENT HERO
========================================================== */

.iu-event {
    --iu-event-text: #24211e;
    --iu-event-muted: #6f6962;
    --iu-event-accent: #9a6a32;
    --iu-event-gold: #b8894b;
    --iu-event-border: #e8dfd3;
    --iu-event-surface: #f7f3ed;
}


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

.iu-event-hero {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    width: 100%;
    margin: 0 0 42px;
    overflow: hidden;
    border: 1px solid var(--iu-event-border);
    border-radius: 18px;
    background: var(--iu-event-surface);
    box-shadow: 0 8px 30px rgba(60, 45, 30, 0.06);
}


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

.iu-event-hero-image {
    position: relative;
    min-height: 470px;
    overflow: hidden;
}

.iu-event-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0) 55%,
        rgba(40, 28, 18, 0.12) 100%
    );
    pointer-events: none;
}

.iu-event-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 470px;
    object-fit: cover;
}


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

.iu-event-hero-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 58px 54px;
}


/* =========================
   EVENT LABEL
========================= */

.iu-event-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin: 0 0 18px;
    color: var(--iu-event-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-kicker::before {
    content: "";
    display: block;
    width: 28px;
    height: 1px;
    background: var(--iu-event-gold);
}


/* =========================
   H1
========================= */

.iu-event-hero-title {
    max-width: 650px;
    margin: 0 0 22px;
    color: var(--iu-event-text);
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 750;
    letter-spacing: -0.035em;
    line-height: 1.08;
}


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

.iu-event-hero-summary {
    max-width: 590px;
    margin: 0;
    color: var(--iu-event-muted);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
}


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

.iu-event-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}


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

.iu-event-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid var(--iu-event-border);
    border-radius: 9px;
    background: #fffdf9;
    color: #3b3631;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
}


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

@media (max-width: 900px) {

    .iu-event-hero {
        grid-template-columns: 1fr 1fr;
    }

    .iu-event-hero-content {
        padding: 40px 32px;
    }

    .iu-event-hero-image,
    .iu-event-hero-image img {
        min-height: 390px;
    }

    .iu-event-hero-title {
        font-size: 36px;
    }

    .iu-event-hero-summary {
        font-size: 16px;
    }

}


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

@media (max-width: 767px) {

    .iu-event-hero {
        display: block;
        margin-bottom: 32px;
        border-radius: 14px;
    }

    .iu-event-hero-image,
    .iu-event-hero-image img {
        min-height: 260px;
        height: 260px;
    }

    .iu-event-hero-image::after {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 55%,
            rgba(0, 0, 0, 0.12) 100%
        );
    }

    .iu-event-hero-content {
        padding: 30px 22px 32px;
    }

    .iu-event-kicker {
        margin-bottom: 14px;
        font-size: 11px;
    }

    .iu-event-kicker::before {
        width: 22px;
    }

    .iu-event-hero-title {
        margin-bottom: 16px;
        font-size: 31px;
        line-height: 1.12;
        letter-spacing: -0.025em;
    }

    .iu-event-hero-summary {
        font-size: 15.5px;
        line-height: 1.7;
    }

    .iu-event-hero-meta {
        display: block;
        margin-top: 22px;
    }

    .iu-event-meta-item {
        width: 100%;
        margin-bottom: 8px;
    }

    .iu-event-meta-item:last-child {
        margin-bottom: 0;
    }

}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   02. EVENT AT A GLANCE
========================================================== */

.iu-event-glance {
    margin: 0 0 48px;
}


/* =========================
   SECTION HEADING
========================= */

.iu-event-glance-heading {
    margin: 0 0 22px;
}

.iu-event-glance-label {
    display: block;
    margin: 0 0 8px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-glance-title {
    margin: 0;
    color: #24211e;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}


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

.iu-event-glance-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}


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

.iu-event-glance-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-height: 88px;
    padding: 20px;
    border: 1px solid #e8dfd3;
    border-radius: 12px;
    background: #faf8f4;
}


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

.iu-event-glance-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 9px;
    background: #fff;
    border: 1px solid #e8dfd3;
    font-size: 17px;
}


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

.iu-event-glance-content {
    min-width: 0;
}

.iu-event-glance-key {
    display: block;
    margin: 0 0 5px;
    color: #81786f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-glance-value {
    margin: 0;
    color: #302c28;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}


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

@media (max-width: 900px) {

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

}


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

@media (max-width: 767px) {

    .iu-event-glance {
        margin-bottom: 38px;
    }

    .iu-event-glance-heading {
        margin-bottom: 18px;
    }

    .iu-event-glance-title {
        font-size: 27px;
    }

    .iu-event-glance-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .iu-event-glance-item {
        min-height: auto;
        padding: 17px;
    }

}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   03. ABOUT THE EVENT
========================================================== */

.iu-event-about {
    max-width: 860px;
    margin: 0 0 52px;
}


/* =========================
   SECTION HEADING
========================= */

.iu-event-about-heading {
    margin: 0 0 18px;
}

.iu-event-about-label {
    display: block;
    margin: 0 0 8px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-about-title {
    margin: 0;
    color: #24211e;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}


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

.iu-event-about-content {
    position: relative;
    padding-left: 22px;
    border-left: 2px solid #c69a61;
}

.iu-event-about-content p {
    margin: 0 0 17px;
    color: #514b45;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.82;
}

.iu-event-about-content p:last-child {
    margin-bottom: 0;
}


/* =========================
   IMPORTANT DETAIL
========================= */

.iu-event-about-note {
    margin-top: 24px;
    padding: 17px 20px;
    border: 1px solid #e8dfd3;
    border-radius: 10px;
    background: #faf8f4;
    color: #4b453f;
    font-size: 14.5px;
    line-height: 1.65;
}

.iu-event-about-note strong {
    color: #302c28;
    font-weight: 700;
}


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

@media (max-width: 900px) {

    .iu-event-about {
        max-width: 100%;
        margin-bottom: 44px;
    }

    .iu-event-about-content p {
        font-size: 16.5px;
    }

}


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

@media (max-width: 767px) {

    .iu-event-about {
        margin-bottom: 38px;
    }

    .iu-event-about-heading {
        margin-bottom: 16px;
    }

    .iu-event-about-title {
        font-size: 28px;
    }

    .iu-event-about-content {
        padding-left: 16px;
    }

    .iu-event-about-content p {
        font-size: 15.5px;
        line-height: 1.75;
    }

    .iu-event-about-note {
        padding: 15px 16px;
        font-size: 14px;
    }

}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   04. WHAT TO EXPECT
========================================================== */

.iu-event-expect {
    margin: 0 0 52px;
}


/* =========================
   SECTION HEADING
========================= */

.iu-event-expect-heading {
    max-width: 760px;
    margin: 0 0 24px;
}

.iu-event-expect-label {
    display: block;
    margin: 0 0 8px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-expect-title {
    margin: 0 0 10px;
    color: #24211e;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.iu-event-expect-intro {
    margin: 0;
    color: #6f6962;
    font-size: 16px;
    line-height: 1.7;
}


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

.iu-event-expect-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}


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

.iu-event-expect-item {
    position: relative;
    padding: 26px 24px 25px;
    border: 1px solid #e8dfd3;
    border-radius: 13px;
    background: #faf8f4;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.iu-event-expect-item:hover {
    transform: translateY(-2px);
    border-color: #dccab3;
    box-shadow: 0 8px 24px rgba(60, 45, 30, 0.07);
}


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

.iu-event-expect-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    border: 1px solid #e8dfd3;
    border-radius: 10px;
    background: #fffdf9;
    font-size: 18px;
}


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

.iu-event-expect-item-title {
    margin: 0 0 8px;
    color: #302c28;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}


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

.iu-event-expect-item-text {
    margin: 0;
    color: #6a635c;
    font-size: 14.5px;
    line-height: 1.7;
}


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

@media (max-width: 900px) {

    .iu-event-expect-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


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

@media (max-width: 767px) {

    .iu-event-expect {
        margin-bottom: 40px;
    }

    .iu-event-expect-heading {
        margin-bottom: 20px;
    }

    .iu-event-expect-title {
        font-size: 28px;
    }

    .iu-event-expect-intro {
        font-size: 15.5px;
        line-height: 1.7;
    }

    .iu-event-expect-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .iu-event-expect-item {
        padding: 21px 19px;
    }

    .iu-event-expect-icon {
        width: 40px;
        height: 40px;
        margin-bottom: 14px;
    }

    .iu-event-expect-item-title {
        font-size: 17px;
    }

    .iu-event-expect-item-text {
        font-size: 14.5px;
    }

}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   05. WHO SHOULD VISIT
========================================================== */

.iu-event-audience {
    margin: 0 0 52px;
}


/* =========================
   SECTION HEADING
========================= */

.iu-event-audience-heading {
    max-width: 760px;
    margin: 0 0 24px;
}

.iu-event-audience-label {
    display: block;
    margin: 0 0 8px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-audience-title {
    margin: 0 0 10px;
    color: #24211e;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.iu-event-audience-intro {
    margin: 0;
    color: #6f6962;
    font-size: 16px;
    line-height: 1.7;
}


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

.iu-event-audience-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
}


/* =========================
   AUDIENCE ITEM
========================= */

.iu-event-audience-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px 21px;
    border: 1px solid #e8dfd3;
    border-radius: 12px;
    background: #faf8f4;
}


/* =========================
   ITEM MARK
========================= */

.iu-event-audience-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-top: 1px;
    border-radius: 50%;
    background: #fffdf9;
    border: 1px solid #dccab3;
    color: #9a6a32;
    font-size: 15px;
    font-weight: 700;
}


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

.iu-event-audience-item-title {
    margin: 0 0 5px;
    color: #302c28;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

.iu-event-audience-item-text {
    margin: 0;
    color: #6a635c;
    font-size: 14.5px;
    line-height: 1.65;
}


/* =========================
   FEATURE NOTE
========================= */

.iu-event-audience-note {
    margin-top: 18px;
    padding: 19px 21px;
    border-left: 3px solid #b8894b;
    border-radius: 0 10px 10px 0;
    background: #f7f1e8;
    color: #514a43;
    font-size: 15px;
    line-height: 1.7;
}

.iu-event-audience-note strong {
    color: #302c28;
    font-weight: 700;
}


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

@media (max-width: 900px) {

    .iu-event-audience-list {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

}


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

@media (max-width: 767px) {

    .iu-event-audience {
        margin-bottom: 40px;
    }

    .iu-event-audience-heading {
        margin-bottom: 20px;
    }

    .iu-event-audience-title {
        font-size: 28px;
    }

    .iu-event-audience-intro {
        font-size: 15.5px;
    }

    .iu-event-audience-list {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .iu-event-audience-item {
        padding: 17px;
    }

    .iu-event-audience-mark {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }

    .iu-event-audience-item-title {
        font-size: 15.5px;
    }

    .iu-event-audience-item-text {
        font-size: 14px;
    }

    .iu-event-audience-note {
        padding: 16px 17px;
        font-size: 14px;
    }

}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   06. HOW TO REACH
========================================================== */

.iu-event-reach {
    margin: 0 0 52px;
}


/* =========================
   SECTION HEADING
========================= */

.iu-event-reach-heading {
    max-width: 760px;
    margin: 0 0 24px;
}

.iu-event-reach-label {
    display: block;
    margin: 0 0 8px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-reach-title {
    margin: 0 0 10px;
    color: #24211e;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.iu-event-reach-intro {
    margin: 0;
    color: #6f6962;
    font-size: 16px;
    line-height: 1.7;
}


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

.iu-event-reach-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
    gap: 18px;
}


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

.iu-event-reach-address {
    padding: 25px;
    border: 1px solid #e8dfd3;
    border-radius: 13px;
    background: #faf8f4;
}

.iu-event-reach-address-label {
    display: block;
    margin: 0 0 8px;
    color: #81786f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-reach-address-value {
    margin: 0;
    color: #302c28;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.65;
}


/* =========================
   PRACTICAL NOTE
========================= */

.iu-event-reach-note {
    padding: 25px;
    border: 1px solid #e8dfd3;
    border-radius: 13px;
    background: #f7f1e8;
}

.iu-event-reach-note-title {
    margin: 0 0 8px;
    color: #302c28;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

.iu-event-reach-note-text {
    margin: 0;
    color: #625b53;
    font-size: 14.5px;
    line-height: 1.7;
}


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

@media (max-width: 900px) {

    .iu-event-reach-box {
        grid-template-columns: 1fr;
    }

}


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

@media (max-width: 767px) {

    .iu-event-reach {
        margin-bottom: 40px;
    }

    .iu-event-reach-heading {
        margin-bottom: 20px;
    }

    .iu-event-reach-title {
        font-size: 28px;
    }

    .iu-event-reach-intro {
        font-size: 15.5px;
    }

    .iu-event-reach-address,
    .iu-event-reach-note {
        padding: 19px;
    }

    .iu-event-reach-address-value {
        font-size: 15.5px;
    }

}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   06. HOW TO REACH
========================================================== */

.iu-event-reach {
    margin: 0 0 52px;
}


/* =========================
   SECTION HEADING
========================= */

.iu-event-reach-heading {
    max-width: 760px;
    margin: 0 0 24px;
}

.iu-event-reach-label {
    display: block;
    margin: 0 0 8px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-reach-title {
    margin: 0 0 10px;
    color: #24211e;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.iu-event-reach-intro {
    margin: 0;
    color: #6f6962;
    font-size: 16px;
    line-height: 1.7;
}


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

.iu-event-reach-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
    gap: 18px;
}


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

.iu-event-reach-address {
    padding: 25px;
    border: 1px solid #e8dfd3;
    border-radius: 13px;
    background: #faf8f4;
}

.iu-event-reach-address-label {
    display: block;
    margin: 0 0 8px;
    color: #81786f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-reach-address-value {
    margin: 0;
    color: #302c28;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.65;
}


/* =========================
   PRACTICAL NOTE
========================= */

.iu-event-reach-note {
    padding: 25px;
    border: 1px solid #e8dfd3;
    border-radius: 13px;
    background: #f7f1e8;
}

.iu-event-reach-note-title {
    margin: 0 0 8px;
    color: #302c28;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

.iu-event-reach-note-text {
    margin: 0;
    color: #625b53;
    font-size: 14.5px;
    line-height: 1.7;
}


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

@media (max-width: 900px) {

    .iu-event-reach-box {
        grid-template-columns: 1fr;
    }

}


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

@media (max-width: 767px) {

    .iu-event-reach {
        margin-bottom: 40px;
    }

    .iu-event-reach-heading {
        margin-bottom: 20px;
    }

    .iu-event-reach-title {
        font-size: 28px;
    }

    .iu-event-reach-intro {
        font-size: 15.5px;
    }

    .iu-event-reach-address,
    .iu-event-reach-note {
        padding: 19px;
    }

    .iu-event-reach-address-value {
        font-size: 15.5px;
    }

}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   07. WHY YOU SHOULD VISIT
========================================================== */

.iu-event-why {
    margin: 0 0 52px;
}


/* =========================
   SECTION HEADING
========================= */

.iu-event-why-heading {
    max-width: 760px;
    margin: 0 0 26px;
}

.iu-event-why-label {
    display: block;
    margin: 0 0 8px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-why-title {
    margin: 0 0 10px;
    color: #24211e;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.iu-event-why-intro {
    margin: 0;
    color: #6f6962;
    font-size: 16px;
    line-height: 1.75;
}


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

.iu-event-why-content {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 18px;
}


/* =========================
   MAIN REASON
========================= */

.iu-event-why-main {
    padding: 30px;
    border: 1px solid #e8dfd3;
    border-radius: 14px;
    background: #faf8f4;
}

.iu-event-why-main p {
    margin: 0 0 17px;
    color: #514b45;
    font-size: 16.5px;
    line-height: 1.8;
}

.iu-event-why-main p:last-child {
    margin-bottom: 0;
}


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

.iu-event-why-list {
    display: grid;
    gap: 10px;
}

.iu-event-why-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 17px 18px;
    border: 1px solid #e8dfd3;
    border-radius: 11px;
    background: #fffdf9;
}


/* =========================
   REASON MARK
========================= */

.iu-event-why-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f7f1e8;
    color: #9a6a32;
    font-size: 14px;
    font-weight: 700;
}


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

.iu-event-why-item-title {
    margin: 0 0 4px;
    color: #302c28;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.4;
}

.iu-event-why-item-text {
    margin: 0;
    color: #6a635c;
    font-size: 14px;
    line-height: 1.65;
}


/* =========================
   CLOSING NOTE
========================= */

.iu-event-why-note {
    margin-top: 18px;
    padding: 20px 22px;
    border-left: 3px solid #b8894b;
    border-radius: 0 10px 10px 0;
    background: #f7f1e8;
    color: #514a43;
    font-size: 15px;
    line-height: 1.7;
}

.iu-event-why-note strong {
    color: #302c28;
    font-weight: 700;
}


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

@media (max-width: 900px) {

    .iu-event-why-content {
        grid-template-columns: 1fr;
    }

}


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

@media (max-width: 767px) {

    .iu-event-why {
        margin-bottom: 40px;
    }

    .iu-event-why-heading {
        margin-bottom: 20px;
    }

    .iu-event-why-title {
        font-size: 28px;
    }

    .iu-event-why-intro {
        font-size: 15.5px;
    }

    .iu-event-why-main {
        padding: 21px 19px;
    }

    .iu-event-why-main p {
        font-size: 15.5px;
        line-height: 1.75;
    }

    .iu-event-why-item {
        padding: 15px 16px;
    }

    .iu-event-why-mark {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
    }

    .iu-event-why-item-title {
        font-size: 15px;
    }

    .iu-event-why-item-text {
        font-size: 13.8px;
    }

    .iu-event-why-note {
        padding: 17px 18px;
        font-size: 14px;
    }

}


/* ==========================================================
   INSIDEUDAIPUR EVENTS
   07. WHY YOU SHOULD VISIT
========================================================== */

.iu-event-why {
    margin: 0 0 52px;
}


/* =========================
   SECTION HEADING
========================= */

.iu-event-why-heading {
    max-width: 760px;
    margin: 0 0 26px;
}

.iu-event-why-label {
    display: block;
    margin: 0 0 8px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-why-title {
    margin: 0 0 10px;
    color: #24211e;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.iu-event-why-intro {
    margin: 0;
    color: #6f6962;
    font-size: 16px;
    line-height: 1.75;
}


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

.iu-event-why-content {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 18px;
}


/* =========================
   MAIN REASON
========================= */

.iu-event-why-main {
    padding: 30px;
    border: 1px solid #e8dfd3;
    border-radius: 14px;
    background: #faf8f4;
}

.iu-event-why-main p {
    margin: 0 0 17px;
    color: #514b45;
    font-size: 16.5px;
    line-height: 1.8;
}

.iu-event-why-main p:last-child {
    margin-bottom: 0;
}


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

.iu-event-why-list {
    display: grid;
    gap: 10px;
}

.iu-event-why-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 17px 18px;
    border: 1px solid #e8dfd3;
    border-radius: 11px;
    background: #fffdf9;
}


/* =========================
   REASON MARK
========================= */

.iu-event-why-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f7f1e8;
    color: #9a6a32;
    font-size: 14px;
    font-weight: 700;
}


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

.iu-event-why-item-title {
    margin: 0 0 4px;
    color: #302c28;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.4;
}

.iu-event-why-item-text {
    margin: 0;
    color: #6a635c;
    font-size: 14px;
    line-height: 1.65;
}


/* =========================
   CLOSING NOTE
========================= */

.iu-event-why-note {
    margin-top: 18px;
    padding: 20px 22px;
    border-left: 3px solid #b8894b;
    border-radius: 0 10px 10px 0;
    background: #f7f1e8;
    color: #514a43;
    font-size: 15px;
    line-height: 1.7;
}

.iu-event-why-note strong {
    color: #302c28;
    font-weight: 700;
}


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

@media (max-width: 900px) {

    .iu-event-why-content {
        grid-template-columns: 1fr;
    }

}


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

@media (max-width: 767px) {

    .iu-event-why {
        margin-bottom: 40px;
    }

    .iu-event-why-heading {
        margin-bottom: 20px;
    }

    .iu-event-why-title {
        font-size: 28px;
    }

    .iu-event-why-intro {
        font-size: 15.5px;
    }

    .iu-event-why-main {
        padding: 21px 19px;
    }

    .iu-event-why-main p {
        font-size: 15.5px;
        line-height: 1.75;
    }

    .iu-event-why-item {
        padding: 15px 16px;
    }

    .iu-event-why-mark {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
    }

    .iu-event-why-item-title {
        font-size: 15px;
    }

    .iu-event-why-item-text {
        font-size: 13.8px;
    }

    .iu-event-why-note {
        padding: 17px 18px;
        font-size: 14px;
    }

}

/* ==========================================================
   INSIDEUDAIPUR EVENTS
   08. EVENT CLOSING / CTA
========================================================== */

.iu-event-cta {
    position: relative;
    margin: 0 0 55px;
    padding: 48px 34px;
    overflow: hidden;
    border: 1px solid #e4d8c8;
    border-radius: 18px;
    background: linear-gradient(
        135deg,
        #faf7f0 0%,
        #f4ede2 100%
    );
}


/* =========================
   SUBTLE DECORATIVE ELEMENT
========================= */

.iu-event-cta::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -90px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(154, 106, 50, 0.12);
    border-radius: 50%;
    pointer-events: none;
}

.iu-event-cta::after {
    content: "";
    position: absolute;
    bottom: -120px;
    left: -100px;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(154, 106, 50, 0.08);
    border-radius: 50%;
    pointer-events: none;
}


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

.iu-event-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}


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

.iu-event-cta-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 12px;
    color: #9a6a32;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.17em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-event-cta-label::before,
.iu-event-cta-label::after {
    content: "";
    width: 24px;
    height: 1px;
    background: #c5a274;
}


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

.iu-event-cta-title {
    max-width: 680px;
    margin: 0 auto 13px;
    color: #292521;
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.22;
}


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

.iu-event-cta-text {
    max-width: 650px;
    margin: 0 auto;
    color: #625b53;
    font-size: 16px;
    line-height: 1.78;
}


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

.iu-event-cta-note {
    max-width: 600px;
    margin: 15px auto 0;
    color: #766e65;
    font-size: 13.5px;
    line-height: 1.65;
}


/* =========================
   EVENTS BUTTON
========================= */

.iu-event-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 190px;
    margin-top: 25px;
    padding: 13px 23px;
    border: 1px solid #9a6a32;
    border-radius: 8px;
    background: #9a6a32;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none !important;
    box-shadow: 0 7px 18px rgba(77, 53, 28, 0.14);
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.iu-event-cta-button::after {
    content: "→";
    font-size: 17px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.iu-event-cta-button:hover {
    background: #7f5427;
    border-color: #7f5427;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(77, 53, 28, 0.19);
    transform: translateY(-2px);
}

.iu-event-cta-button:hover::after {
    transform: translateX(4px);
}

.iu-event-cta-button:focus-visible {
    outline: 3px solid rgba(154, 106, 50, 0.28);
    outline-offset: 3px;
}


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

@media (max-width: 767px) {

    .iu-event-cta {
        margin-bottom: 40px;
        padding: 34px 20px;
        border-radius: 14px;
    }

    .iu-event-cta-title {
        font-size: 27px;
        line-height: 1.28;
    }

    .iu-event-cta-text {
        font-size: 15px;
        line-height: 1.72;
    }

    .iu-event-cta-note {
        font-size: 13px;
    }

    .iu-event-cta-button {
        width: 100%;
        min-width: 0;
        margin-top: 22px;
    }

    .iu-event-cta-label::before,
    .iu-event-cta-label::after {
        width: 16px;
    }

}


/* ==========================================================
   INSIDEUDAIPUR
   EVENTS CATEGORY HERO
========================================================== */

.iu-upcoming-events-hero {
    position: relative;
    margin: 0 0 55px;
    overflow: hidden;
    border-radius: 22px;
    background:
        radial-gradient(
            circle at 92% 16%,
            rgba(194, 148, 76, 0.20) 0,
            rgba(194, 148, 76, 0) 28%
        ),
        linear-gradient(
            135deg,
            #211e1b 0%,
            #302920 55%,
            #191715 100%
        );
    box-shadow:
        0 20px 50px rgba(25, 20, 16, 0.18),
        0 4px 12px rgba(25, 20, 16, 0.08);
}

/* Inner editorial border */

.iu-upcoming-events-hero::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(220, 184, 127, 0.20);
    border-radius: 15px;
    pointer-events: none;
    z-index: 5;
}

/* Decorative circle */

.iu-upcoming-events-hero::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    top: -190px;
    right: -100px;
    border: 1px solid rgba(220, 184, 127, 0.13);
    border-radius: 50%;
    box-shadow:
        0 0 0 35px rgba(220, 184, 127, 0.025),
        0 0 0 70px rgba(220, 184, 127, 0.018);
    pointer-events: none;
}

/* ==========================================================
   CATEGORY INTRO
========================================================== */

.iu-events-hero-intro {
    position: relative;
    z-index: 6;
    max-width: 900px;
    margin: 0 auto;
    padding: 52px 72px 28px;
    text-align: center;
}

.iu-events-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    color: #d4aa6c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.20em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-events-hero-eyebrow::before,
.iu-events-hero-eyebrow::after {
    content: "";
    width: 28px;
    height: 1px;
    background: #b98b4c;
}

.iu-events-hero-intro h1 {
    margin: 0 0 10px;
    color: #fffaf2;
    font-size: clamp(38px, 4.5vw, 52px);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.08;
}

.iu-events-hero-intro p {
    max-width: 650px;
    margin: 0 auto;
    color: #bfb6ab;
    font-size: 15px;
    line-height: 1.7;
}

/* ==========================================================
   EVENT AREA
========================================================== */

.iu-upcoming-events-hero .wp-block-post-template {
    position: relative;
    z-index: 6;
    margin: 0;
    padding: 0;
}

.iu-upcoming-events-hero .wp-block-post-template > li {
    position: relative;
    box-sizing: border-box;
    min-height: 330px;
    margin: 0;
    padding: 30px 72px 58px;
    list-style: none;
}

/* Upcoming label */

.iu-upcoming-events-hero .iu-upcoming-event-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 13px;
    color: #d4aa6c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.4;
    text-transform: uppercase;
}

.iu-upcoming-events-hero .iu-upcoming-event-kicker::before {
    content: "";
    width: 25px;
    height: 1px;
    background: #c09353;
}

/* Event title */

.iu-upcoming-events-hero .iu-upcoming-event-title {
    max-width: 820px;
    margin: 0 0 18px;
    color: #fffaf2;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.12;
}

/* Date */

.iu-upcoming-events-hero .iu-upcoming-event-date {
    margin: 0 0 4px;
    color: #e0b978;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.65;
}

/* Location */

.iu-upcoming-events-hero .iu-upcoming-event-location {
    margin: 0;
    color: #c8c0b6;
    font-size: 15px;
    line-height: 1.65;
}

/* Read More */

.iu-upcoming-events-hero .wp-block-read-more,
.iu-upcoming-events-hero .wp-block-post-excerpt__more-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    margin-top: 23px;
    padding: 12px 20px;
    border: 1px solid #bd8e4c;
    border-radius: 7px;
    background: #bd8e4c;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16);
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.iu-upcoming-events-hero .wp-block-read-more::after,
.iu-upcoming-events-hero .wp-block-post-excerpt__more-link::after {
    content: "→";
    font-size: 16px;
    transition: transform 0.25s ease;
}

.iu-upcoming-events-hero .wp-block-read-more:hover,
.iu-upcoming-events-hero .wp-block-post-excerpt__more-link:hover {
    background: #d0a15e;
    border-color: #d0a15e;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 11px 25px rgba(0, 0, 0, 0.22);
}

.iu-upcoming-events-hero .wp-block-read-more:hover::after,
.iu-upcoming-events-hero .wp-block-post-excerpt__more-link:hover::after {
    transform: translateX(4px);
}

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

@media (max-width: 767px) {

    .iu-upcoming-events-hero {
        margin-bottom: 40px;
        border-radius: 16px;
    }

    .iu-upcoming-events-hero::before {
        inset: 8px;
        border-radius: 11px;
    }

    .iu-events-hero-intro {
        padding: 38px 25px 20px;
    }

    .iu-events-hero-eyebrow {
        font-size: 9px;
        letter-spacing: 0.16em;
    }

    .iu-events-hero-eyebrow::before,
    .iu-events-hero-eyebrow::after {
        width: 18px;
    }

    .iu-events-hero-intro h1 {
        font-size: 38px;
    }

    .iu-events-hero-intro p {
        font-size: 14px;
        line-height: 1.65;
    }

    .iu-upcoming-events-hero .wp-block-post-template > li {
        min-height: 340px;
        padding: 25px 27px 48px;
    }

    .iu-upcoming-events-hero .iu-upcoming-event-title {
        font-size: 32px;
        line-height: 1.12;
    }

    .iu-upcoming-events-hero .iu-upcoming-event-date,
    .iu-upcoming-events-hero .iu-upcoming-event-location {
        font-size: 14px;
    }

    .iu-upcoming-events-hero .wp-block-read-more,
    .iu-upcoming-events-hero .wp-block-post-excerpt__more-link {
        width: 100%;
        box-sizing: border-box;
    }
}


/* ==========================================================
   EVENTS HERO SLIDER
========================================================== */

.iu-upcoming-events-hero .wp-block-post-template {
    position: relative;
    overflow: hidden;
}

.iu-upcoming-events-hero .wp-block-post-template > li {
    display: none;
    animation: iuEventSlideIn 0.55s ease;
}

.iu-upcoming-events-hero .wp-block-post-template > li.iu-event-active {
    display: block;
}

@keyframes iuEventSlideIn {
    from {
        opacity: 0;
        transform: translateX(25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Slider controls */

.iu-event-slider-controls {
    position: absolute;
    right: 65px;
    bottom: 45px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 9px;
}

.iu-event-slider-dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    cursor: pointer;
    transition:
        width 0.25s ease,
        background-color 0.25s ease;
}

.iu-event-slider-dot.active {
    width: 24px;
    border-radius: 10px;
    background: #d2a866;
}

/* Arrows */

.iu-event-slider-arrows {
    display: flex;
    gap: 7px;
    margin-left: 12px;
}

.iu-event-slider-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #fffaf2;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.iu-event-slider-arrow:hover {
    background: rgba(210, 168, 102, 0.22);
    border-color: #d2a866;
    transform: translateY(-1px);
}

@media (max-width: 767px) {

    .iu-event-slider-controls {
        position: relative;
        right: auto;
        bottom: auto;
        justify-content: center;
        padding: 0 25px 25px;
    }

    .iu-event-slider-arrow {
        width: 32px;
        height: 32px;
    }
}

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

    .iu-upcoming-events-hero .wp-block-post-template > li {
        animation: none;
    }

    .iu-event-slider-dot,
    .iu-event-slider-arrow {
        transition: none;
    }
}
