﻿html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}
/* ==========================================================================
   1. DESIGN SYSTEM VARIABLES & BASE RESET
   ========================================================================== */
:root {
    --onyx: #0B0B0B;
    --onyx-80: #1A1A1A;
    --gold: #B89B6A;
    --gold-light: #D4BC8C;
    --gold-pale: #EDE0C8;
    --ivory: #F5EFE3;
    --parchment: #FAF6EF;
    --warm-white: #FFFDF9;
    --stone: #7A7066;
    --stone-mid: #5C5650;
    --border: #E2D8C8;
    --border-dark: rgba(184,155,106,.22);
    --green-wa: #25D366;
    --font-display: 'Cormorant Garamond', Georgia, serif;
    --font-upright: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Inter', system-ui, sans-serif;
    --font-nav: 'Raleway', system-ui, sans-serif;
    --max: 1200px;
    --radius: 2px;
    --radius-lg: 6px;
    --shadow-sm: 0 2px 12px rgba(11,11,11,.06);
    --shadow-md: 0 8px 40px rgba(11,11,11,.10);
    --transition: all .32s cubic-bezier(.25,.1,.25,1);
}

/* Global Typography Alignment */
body {
    font-family: var(--font-body);
    background: var(--warm-white);
    color: var(--onyx);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

.s-inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 24px;
}
/* ==========================================================================
   2. HERO BANNER, TRUST STRIP & TWO-COLUMN CONTAINERS
   ========================================================================== */

/* Page Hero Container */
.pg-hero {
    background: var(--onyx) !important;
    padding: 64px 24px 48px !important;
    border-bottom: 1px solid var(--border-dark);
}

.pg-inner {
    max-width: var(--max);
    margin: 0 auto;
}

/* Breadcrumb Tracking Navigation Links */
.breadcrumb {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 20px;
}

    .breadcrumb a {
        color: var(--gold-pale);
        transition: var(--transition);
    }

        .breadcrumb a:hover {
            color: var(--warm-white);
        }

.bc-sep {
    margin: 0 6px;
    color: rgba(255, 255, 255, 0.2);
}

/* Typography Headings */
.pg-hero h1 {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 300;
    color: var(--warm-white);
    line-height: 1.25;
    margin-bottom: 16px;
}

    .pg-hero h1 em {
        font-style: italic;
        font-family: var(--font-upright);
        color: var(--gold-pale);
    }

.pg-hero p {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.6);
    max-width: 800px;
    line-height: 1.7;
    margin-bottom: 24px;
}

/* Page Meta Header Badges */
.pg-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pg-badge {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: rgba(184, 155, 106, 0.12);
    color: var(--gold-pale);
    border: 1px solid var(--border-dark);
    padding: 6px 12px;
    border-radius: var(--radius);
}

/* Trust Bar / Strip Layout */
/* Optimized Mobile Swipeable Trust Bar Container */
.trust-bar {
    background: var(--parchment);
    border-bottom: 1px solid var(--border);
    padding: 14px 0; /* Clear horizontal constraints */
    width: 100%;
    overflow-x: auto; /* Activates natural touch horizontal swiping row */
    -webkit-overflow-scrolling: touch; /* Snaps momentum swiping on iOS devices */
}

    /* Hide default browser desktop scrollbar strips to look ultra premium */
    .trust-bar::-webkit-scrollbar {
        display: none;
    }

.trust-bar {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

.trust-inner {
    max-width: var(--max);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 28px;
    padding: 0 24px; /* Adds defensive padding parameters on tiny viewports */
    white-space: nowrap; /* Forces layout items to sit in a single horizontal line */
}

.trust-item {
    font-size: 0.84rem;
    color: var(--stone-mid);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0; /* CRITICAL FIX: Stops text from crumpling or squeezing together */
}


/* Structural Layout Main Workspace Container */
.content-2col {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
    padding: 48px 0;
}

.content-body {
    min-width: 0;
}
    /* ==========================================================================
   3. TEXT RENDERING, CUSTOM LISTS & MOBILE-FIXED AMENITY GRID
   ========================================================================== */

    /* Typography Core Text Content Layouts */
    .content-body h2 {
        font-family: var(--font-display);
        font-size: 1.8rem;
        font-weight: 300;
        color: var(--onyx);
        margin: 40px 0 16px;
        border-bottom: 1px solid var(--border);
        padding-bottom: 8px;
    }

    .content-body p {
        font-size: 0.94rem;
        color: var(--stone-mid);
        line-height: 1.8;
        margin-bottom: 20px;
    }

    /* Luxury Bulleted Lists Configuration Layout */
    .content-body ul {
        margin: 16px 0 28px;
        padding: 0;
        list-style: none;
    }

        .content-body ul li {
            font-size: 0.92rem;
            color: var(--onyx);
            line-height: 1.7;
            padding: 10px 0 10px 24px;
            border-bottom: 1px solid rgba(226, 216, 200, 0.4);
            position: relative;
        }

            .content-body ul li::before {
                content: "—";
                position: absolute;
                left: 0;
                color: var(--gold);
                font-weight: bold;
            }

            .content-body ul li strong {
                color: var(--onyx);
                font-weight: 600;
            }

/* Re-Engineered Mobile-Responsive Amenity Grid Layout Matrix */
.amenity-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
    margin: 24px 0 36px;
}

.amenity-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--parchment);
    border: 1px solid rgba(226, 216, 200, 0.6);
    padding: 14px 16px;
    border-radius: var(--radius);
    transition: var(--transition);
}

    .amenity-item:hover {
        border-color: var(--gold);
        background: var(--warm-white);
        box-shadow: var(--shadow-sm);
    }

    .amenity-item .ai {
        font-size: 1.2rem;
        line-height: 1;
    }

    .amenity-item span {
        font-size: 0.86rem;
        color: var(--stone-mid);
        line-height: 1.4;
    }

        .amenity-item span strong {
            color: var(--onyx);
            display: block;
            margin-bottom: 2px;
        }
/* ==========================================================================
   4. STICKY BOOKING SIDEBAR CARD & DIRECT ACTION UTILITIES
   ========================================================================== */

/* Main Floating Sidebar Block Container */
.sidebar-card {
    background: var(--onyx) !important;
    color: var(--warm-white) !important;
    padding: 32px 24px;
    border-radius: var(--radius);
    border: 1px solid var(--border-dark);
    position: sticky;
    top: 96px; /* Accounts for fixed top navigation bars */
    box-shadow: var(--shadow-md);
}

    .sidebar-card h3 {
        font-family: var(--font-display);
        font-size: 1.5rem;
        font-weight: 300;
        color: var(--warm-white);
        margin-top: 0;
        margin-bottom: 12px;
    }

    .sidebar-card p {
        font-size: 0.88rem;
        color: rgba(255, 255, 255, 0.6);
        line-height: 1.6;
        margin-bottom: 24px;
    }

/* Base Configuration for Sidebar Links and Call To Actions */
.sb-btn, .sidebar-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 14px 16px;
    margin-bottom: 12px;
    border-radius: var(--radius);
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    box-sizing: border-box;
    transition: var(--transition);
}

    /* Gold Primary Call Link Action Button Styling */
    .sb-btn.gold {
        background: var(--gold);
        color: var(--onyx) !important;
    }

        .sb-btn.gold:hover {
            background: var(--gold-light);
            transform: translateY(-1px);
        }

    /* WhatsApp Outline Action Button Styling */
    .sidebar-btn.outline {
        border: 1px solid rgba(255, 255, 255, 0.3);
        color: var(--warm-white) !important;
        background: transparent;
    }

        .sidebar-btn.outline:hover {
            border-color: var(--green-wa);
            background: rgba(37, 211, 102, 0.1);
            color: #fff !important;
        }

    /* Secondary Minimal Contact Button (Email) Styling */
    .sb-btn.out {
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.1);
        color: rgba(255, 255, 255, 0.7) !important;
        margin-bottom: 0;
    }

        .sb-btn.out:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.25);
            color: var(--warm-white) !important;
        }

/* Landmark Distance Tracking List Styling */
.sb-dists {
    margin-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 24px;
}

    .sb-dists h4 {
        margin: 0 0 16px 0;
        font-size: 0.75rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: rgba(255, 255, 255, 0.4);
    }

.sd {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.86rem;
    margin-bottom: 12px;
}

    .sd:last-child {
        margin-bottom: 0;
    }

    .sd .place {
        color: rgba(255, 255, 255, 0.85);
    }

    .sd .dist {
        color: var(--gold-pale);
        font-weight: 500;
    }
/* ==========================================================================
   5. FAQ LIST ELEMENTS & COMPACT MOBILE RESPONSIVE MEDIA QUERIES
   ========================================================================== */

/* FAQ Accordion Elements Wrapper */
.faq-list {
    margin: 24px 0 40px;
}

.faq-item {
    border-bottom: 1px solid var(--border);
    margin-bottom: 8px;
}

/* Question Panel Trigger Header Control */
.faq-q {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    background: transparent;
    border: none;
    padding: 18px 0;
    font-family: var(--font-body);
    font-size: 0.96rem;
    font-weight: 500;
    color: var(--onyx);
    cursor: pointer;
    transition: var(--transition);
}

    .faq-q:hover {
        color: var(--gold);
    }

.faq-tog {
    font-size: 1.2rem;
    color: var(--gold);
    font-weight: 300;
    transition: transform .2s ease;
}

/* Answer Sliding Drawer Wrapper Panels */
.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease-out;
}

.faq-a-inner {
    padding-bottom: 20px;
    font-size: 0.9rem;
    color: var(--stone-mid);
    line-height: 1.65;
}

/* ==========================================================================
   CRITICAL MOBILE SCREEN BREAKPOINTS & SHUFFLE OPTIMIZATIONS
   ========================================================================== */
@media (max-width: 1024px) {
    /* Collapses side columns cleanly into a single vertical stream */
    .content-2col {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 32px 0;
    }

    /* Unsticks sidebar so it tracks naturally behind text on phone scroll */
    .sidebar-card {
        position: static;
        margin-top: 16px;
        padding: 28px 20px;
    }
}

@media (max-width: 576px) {
    /* Prevents side-padding squash on tiny smartphone interfaces */
    .pg-hero {
        padding: 48px 16px 36px !important;
    }

    .s-inner {
        padding: 0 16px;
    }

    .trust-bar {
        padding: 12px 16px;
    }

    /* Compresses dense headings so they don't break line-height parameters */
    .pg-hero h1 {
        font-size: 1.65rem;
    }

    .content-body h2 {
        font-size: 1.4rem;
        margin: 32px 0 12px;
    }

    /* Tightens grid columns up slightly on tighter breakpoints */
    .amenity-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* ==========================================================================
   HIGH-SPECIFICITY ISOLATION LAYER
   Overrides global layouts ONLY on the Katpadi Hotel Page
   ========================================================================== */

/* Force left alignment on this specific page container */
#page-hotel-katpadi,
#page-hotel-katpadi .content-body,
#page-hotel-katpadi .content-body p,
#page-hotel-katpadi .content-body h2,
#page-hotel-katpadi .content-body ul li {
    text-align: left !important;
}

/* Force the exact brand color properties onto this page container background */
div.bloft-page#page-hotel-katpadi {
    background-color: var(--warm-white) !important;
    color: var(--onyx) !important;
}

/* Target the dark sidebar card inside this specific container layout */
#page-hotel-katpadi .sidebar-card {
    background: var(--onyx) !important;
    color: var(--warm-white) !important;
    text-align: center !important;
}

    #page-hotel-katpadi .sidebar-card h3 {
        font-family: var(--font-display) !important;
        color: var(--warm-white) !important;
        font-size: 1.6rem !important;
        font-weight: 400 !important;
    }

    /* Force the high-contrast text color on the sidebar paragraph text */
    #page-hotel-katpadi .sidebar-card p {
        color: rgba(255, 255, 255, 0.75) !important;
        font-size: 0.88rem !important;
        font-weight: 400 !important;
        line-height: 1.6 !important;
    }

/* Ensure the bullet dash matches perfectly */
#page-hotel-katpadi .content-body ul li::before {
    content: "—" !important;
    color: var(--gold) !important;
}
/* Wipe out default theme background circle icons completely */
div#page-hotel-katpadi .content-body ul,
#page-hotel-katpadi .content-body ul {
    list-style: none !important;
    list-style-type: none !important;
    padding: 0 !important;
    margin: 16px 0 28px !important;
}
    div#page-hotel-katpadi .content-body ul li,
    #page-hotel-katpadi .content-body ul li {
        list-style: none !important;
        list-style-type: none !important;
        background: none !important; /* Forces the browser to flush the hidden graphics */
        background-image: none !important; /* Erases any injected vector circle rules */
        padding: 10px 0 10px 28px !important;
        font-size: 0.92rem !important;
        line-height: 1.7 !important;
        position: relative !important;
        text-align: left !important;
    }

        /* Re-inject clean premium &mdash; long dash markers safely */
        div#page-hotel-katpadi .content-body ul li::before,
        #page-hotel-katpadi .content-body ul li::before {
            content: "—" !important; /* True em-dash horizontal divider symbol */
            position: absolute !important;
            left: 0 !important;
            top: 10px !important;
            color: var(--gold) !important;
            font-weight: bold !important;
            background: none !important;
        }
/* added from here */
/* ==========================================================================
   UNIFIED DINING & RESTAURANT MODULE
   ========================================================================== */

/* --- Isolated Dining Page Content Wrapper --- */
#dining-page-wrapper {
    text-align: left !important;
}

    #dining-page-wrapper h2,
    #dining-page-wrapper p {
        text-align: left !important;
    }

    /* FIX: Forces top edge of text narrative to align perfectly with the sidebar */
    #dining-page-wrapper .content-body {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

        #dining-page-wrapper .content-body h2:first-of-type {
            margin-top: 0 !important;
            padding-top: 0 !important;
        }

    /* --- 1. Clean Structured Dining List Engine --- */
    #dining-page-wrapper ul.dining-target-list {
        margin: 24px 0 !important;
        padding: 0 !important;
        list-style: none !important;
        list-style-type: none !important;
    }

    #dining-page-wrapper .dining-target-list li {
        margin-bottom: 24px !important;
        text-align: left !important;
        list-style: none !important;
        list-style-type: none !important;
        padding: 0 !important;
    }

        /* FIX: Force clean removal of default orange/yellow solid dots or browser markers */
        #dining-page-wrapper .dining-target-list li::marker,
        #dining-page-wrapper .dining-target-list li::before {
            display: none !important;
            content: "" !important;
        }

        /* FIX: Locks the circle badge inside a flex layout centered with ONLY the bold heading line */
        #dining-page-wrapper .dining-target-list li strong {
            display: flex !important;
            align-items: center !important; /* Centers circle vertically with only this line of text */
            font-size: 0.95rem;
            color: var(--onyx, #111);
            font-weight: 600;
            line-height: 1.4 !important;
        }

            /* Inline Checkmark Badge Construction - Spaced and completely un-squishable */
            #dining-page-wrapper .dining-target-list li strong::before {
                content: "✓" !important;
                width: 22px !important;
                height: 22px !important;
                background: #d4b26f !important; /* Target Tan Accent */
                color: #fff !important;
                border-radius: 50% !important;
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                font-size: 0.7rem !important;
                font-weight: 700 !important;
                box-sizing: border-box !important;
                flex-shrink: 0 !important;
                margin-right: 14px !important; /* Creates clear gutters protecting text letters */
            }

        /* Description paragraph lines nested safely below the bold heading line */
        #dining-page-wrapper .dining-target-list li span {
            display: block !important;
            font-size: 0.85rem;
            color: #777;
            margin-top: 4px;
            padding-left: 36px !important; /* Lines up the descriptive text precisely below the bold text */
            line-height: 1.6;
        }

/* --- 2. Target Dark Matrix Sidebar Enclosure (#0B0B0B) --- */
.dining-matrix-sidebar {
    background: #0B0B0B !important;
    border-radius: 6px;
    padding: 24px 20px !important;
    box-sizing: border-box;
}

.dining-matrix-title {
    color: #d4b26f;
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.dining-matrix-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.dining-matrix-link {
    display: flex !important;
    align-items: center;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: color 0.2s ease;
}

    .dining-matrix-link:hover,
    .dining-matrix-link.active {
        color: #d4b26f !important;
    }

.matrix-glyph {
    color: #d4b26f;
    font-size: 0.6rem;
    margin-right: 10px;
    width: 12px;
    text-align: center;
}

/* --- Full Width Cream Parchment Accent Card --- */
#dining-page-wrapper .full-width-parchment {
    background: #FAF6EE !important;
    border-left: 3px solid #D4B26F !important;
    border-radius: 4px;
    padding: 24px 28px !important;
    margin-top: 32px;
    width: 100% !important;
    box-sizing: border-box;
    text-align: left !important;
}

#dining-page-wrapper .trust-callout-badge {
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #D4B26F;
    margin-bottom: 8px;
    letter-spacing: 0.15em;
    text-align: left !important;
}

#dining-page-wrapper .full-width-parchment p {
    font-size: 0.84rem;
    line-height: 1.75;
    color: #555555;
    margin: 0 !important;
    text-align: left !important;
}

/* --- Responsive Grid Breakdown for Mobile Views --- */
@media (max-width: 991px) {
    #dining-page-wrapper .content-2col {
        display: flex !important;
        flex-direction: column !important;
        gap: 40px !important;
    }

    #dining-page-wrapper .content-body {
        width: 100% !important;
    }

    #dining-page-wrapper .content-sidebar {
        width: 100% !important;
    }

    #dining-page-wrapper .dining-matrix-sidebar {
        width: 100% !important;
        box-sizing: border-box;
    }
}
/*  added below */
/* --- Enhanced Responsive Table Fix for Mobile Views --- */
@media (max-width: 767px) {
    #dining-page-wrapper table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important; /* Clears out table minimum sizing rule */
        table-layout: auto !important;
    }

    #dining-page-wrapper tbody,
    #dining-page-wrapper tr {
        display: block !important;
        width: 100% !important;
    }

    #dining-page-wrapper tr {
        padding: 12px 8px !important;
        box-sizing: border-box !important;
    }

    #dining-page-wrapper td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 4px 8px !important;
        box-sizing: border-box !important;
        /* FORCE WRAPPING PHYSICAL OVERRIDES */
        white-space: normal !important; /* Re-allows content wrapping */
        word-wrap: break-word !important; /* Splits ultra-long strings */
        overflow-wrap: break-word !important;
    }

        /* Target left heading labels */
        #dining-page-wrapper td:first-of-type {
            font-weight: 700 !important;
            font-size: 0.78rem !important;
            padding-bottom: 2px !important;
        }

        /* Target right description fields */
        #dining-page-wrapper td:last-of-type {
            font-size: 0.82rem !important;
            color: #333333 !important;
        }
}
/* added again */
/* Modern standard approach to strip default browser layout triangles */
#dining-page-wrapper summary {
    display: flex !important; /* Overrides list-item layout */
}

    #dining-page-wrapper summary::-webkit-details-marker {
        display: none !important; /* Keeps backward compatibility safe */
    }

    /* added again */
/* Event Packages Precision Card Styles */
.package-panel {
    background-color: #FAF6F0; /* Soft parchment blend background */
    border: 1px solid #EAE3D8; /* Delicate warm border line */
    border-radius: 8px;
    padding: 32px 36px; /* Generous breathable inner padding */
    margin-bottom: 32px;
}

    .package-panel.premium-dark {
        background-color: var(--onyx) !important;
        border: 1px solid rgba(184, 155, 106, 0.3) !important;
    }

.package-badge-title {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #A38A5F; /* Soft muted gold badge color */
    margin-bottom: 24px;
}

/* Flex Precision Checkmark List Engine */
.package-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

    .package-list li {
        display: flex;
        gap: 16px;
        align-items: flex-start;
        padding: 18px 0;
        border-bottom: 1px solid #EAE3D8; /* Soft horizontal dividers between items */
    }

        /* Remove bottom divider from the very last list element */
        .package-list li:last-child {
            border-bottom: none;
            padding-bottom: 0;
        }

.premium-dark .package-list li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Warm Golden Check Circles */
.package-check-circle {
    width: 24px;
    height: 24px;
    background-color: #D4B26F; /* Warm golden brand tone from your sidebar */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}

    .package-check-circle span {
        color: #FFFFFF; /* High contrast white check icon */
        font-size: 0.75rem;
        font-weight: 700;
        line-height: 1;
    }

/* Precise Typography Hierarchies */
.package-feature-title {
    font-size: 0.88rem;
    color: #111111;
    font-weight: 600;
    line-height: 1.4;
}

.premium-dark .package-feature-title {
    color: #FFFFFF;
}

.package-feature-desc {
    font-size: 0.8rem;
    color: #777777; /* Muted gray for readable descriptions */
    margin-top: 4px;
    line-height: 1.6;
}

.premium-dark .package-feature-desc {
    color: rgba(255, 255, 255, 0.55);
}

.package-fine-print {
    margin-top: 24px;
    padding: 16px 20px;
    background-color: #FFFFFF;
    border-radius: 6px;
    border: 1px solid #EAE3D8;
}

/* added again below*/

/* Responsive Grid Framework for Event Enquiry */
.enq-grid-container {
    display: grid;
    grid-template-columns: 1fr; /* Default single column for mobile */
    gap: 16px;
    margin-bottom: 28px;
}

/* Media Breakpoint to expand into side-by-side columns on Desktop */
@media (min-width: 768px) {
    .enq-grid-container {
        grid-template-columns: 1fr 1fr; /* Side-by-side layout on tablets/desktops */
    }
}

/* Custom list cleaner to override global ul styles inside the enquiry cards */
.enq-clean-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

    .enq-clean-list li {
        text-align: left !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        font-size: 0.85rem;
        color: #444444;
        line-height: 2.2;
        padding: 2px 0;
    }

        /* Forceful removal of conflicting em-dash pseudo-elements from site-wide rules */
        .enq-clean-list li::before {
            content: none !important;
            display: none !important;
        }

/* Inner margin tuning for custom emojis */
.enq-emoji {
    margin-right: 10px;
    display: inline-block;
}



/*added again*/

/* Bootstrap Datepicker positioning fix */
.datepicker-dropdown {
    position: absolute !important;
    z-index: 9999 !important;
}
/* Bootstrap Datepicker luxury theme override */
.datepicker-dropdown {
    background-color: #ffffff !important;
    border: 1px solid #e5dcc8 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
    padding: 12px !important;
    z-index: 9999 !important;
}

.datepicker table {
    background-color: #ffffff !important;
}

    .datepicker table tr td,
    .datepicker table tr th {
        color: #0B0B0B !important;
    }

        .datepicker table tr td.day:hover,
        .datepicker table tr td.focused {
            background-color: #F9F3E7 !important;
        }

        .datepicker table tr td.active,
        .datepicker table tr td.active:hover {
            background-color: #B89B6A !important;
            color: #ffffff !important;
        }


        /* added by me on 05Aug26 */
/* ==========================================================================
   BOOKING ENGINE
   ========================================================================== */

.booking-wrapper {
    background: var(--warm-white);
    padding: 48px 0;
}

.booking-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.booking-title {
    font-family: var(--font-display);
    font-size: 2.4rem;
    font-weight: 300;
    color: var(--onyx);
    margin-bottom: 8px;
}

.booking-subtitle {
    color: var(--stone-mid);
    margin-bottom: 36px;
}

.booking-card {
    background: var(--warm-white);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    margin-bottom: 24px;
    overflow: hidden;
}

.booking-card-header {
    background: var(--parchment);
    padding: 18px 24px;
    border-bottom: 1px solid var(--border);
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: var(--onyx);
}

.booking-card-body {
    padding: 24px;
}

.booking-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgba(226,216,200,.5);
}

    .booking-row:last-child {
        border-bottom: none;
    }

.booking-label {
    color: var(--stone-mid);
}

.booking-value {
    color: var(--onyx);
    font-weight: 500;
}

.booking-total {
    font-size: 1.3rem;
    color: var(--gold);
    font-weight: 600;
}

.booking-btn {
    background: var(--gold);
    color: var(--onyx);
    border: none;
    padding: 14px 32px;
    font-weight: 600;
    width: 100%;
}

    .booking-btn:hover {
        background: var(--gold-light);
    }

/* ==========================================================
   BOOKING GUEST DETAILS MODULE
   ========================================================== */


.booking-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}



.booking-field label {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}



.booking-field .form-control,
.booking-field .form-select {
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 12px 14px;
    font-size: .9rem;
    background: #fff;
    color: var(--onyx);
}



    .booking-field .form-control:focus,
    .booking-field .form-select:focus {
        border-color: var(--gold);
        box-shadow: 0 0 0 .15rem rgba(184,155,106,.18);
    }



.gst-panel {
    margin-top: 28px;
    padding: 24px;
    background: var(--parchment);
    border-left: 3px solid var(--gold);
}



.gst-title {
    font-family: var(--font-display);
    font-size: 1.4rem;
    color: var(--onyx);
    margin-bottom: 20px;
}



@media(max-width:768px) {

    .booking-form-grid {
        grid-template-columns: 1fr;
    }
}

/* Space before booking payment action */
.booking-btn {
    margin-top: 28px;
}

.captcha-question {
    color: #212529 !important;
    background-color: #f8f9fa;
    font-weight: 600;
}

.captcha-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.booking-validation-alert {
    color: #842029;
    background-color: #f8d7da;
    border: 1px solid #f5c2c7;
    padding: 15px;
    border-radius: 8px;
    font-weight: 500;
    margin-bottom: 20px;
}

/*added below */

/* ==========================================================
   PAYMENT / BOOKING STATUS PAGES
   ========================================================== */

.payment-wrapper {
    background: var(--warm-white);
    padding: 48px 0;
}

.payment-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.payment-title {
    font-family: var(--font-display);
    font-size: 2.4rem;
    font-weight: 300;
    color: var(--onyx);
    margin-bottom: 30px;
}

.payment-status {
    padding: 18px 22px;
    border-radius: var(--radius-lg);
    margin-bottom: 28px;
    font-weight: 600;
    border: 1px solid transparent;
}

    .payment-status.success {
        background: #edf8ef;
        color: #1e6d34;
        border-color: #cce8d2;
    }

    .payment-status.warning {
        background: #fff8e6;
        color: #8a6d1d;
        border-color: #f3dfaa;
    }

    .payment-status.error {
        background: #fdecec;
        color: #842029;
        border-color: #f5c2c7;
    }

.payment-card {
    background: var(--warm-white);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    margin-bottom: 24px;
}

.payment-card-header {
    background: var(--parchment);
    border-bottom: 1px solid var(--border);
    padding: 18px 24px;
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: var(--onyx);
}

.payment-card-body {
    padding: 24px;
}

.payment-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226,216,200,.45);
}

    .payment-row:last-child {
        border-bottom: none;
    }

.payment-label {
    color: var(--stone-mid);
}

.payment-value {
    color: var(--onyx);
    font-weight: 600;
}

@media(max-width:768px) {

    .payment-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .payment-title {
        font-size: 2rem;
    }
}

.booking-info-text {
    color: #2f2f2f;
    line-height: 1.7;
}
/* added below*/
.booking-unavailable-alert {
    background-color: #fff3cd;
    color: #664d03;
    border: 1px solid #ffda6a;
    border-left: 5px solid #f0ad4e;
    border-radius: 8px;
    padding: 16px 18px;
    margin: 20px 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

/*added below*/
.room-selection-title {
    color: #212529;
    font-weight: 600;
    margin-bottom: 1rem;
}

/*added below on 18Aug26*/
/* ==========================================================
   ADMIN ROOM STATUS
   ========================================================== */

.room-status-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid rgba(226,216,200,.5);
}

    .room-status-row:last-child {
        border-bottom: none;
    }

.room-status-number {
    color: var(--onyx);
    font-family: var(--font-display);
    font-size: 1.25rem;
    margin-bottom: 5px;
}

.room-status-available {
    color: #1e6d34;
    font-size: .85rem;
    font-weight: 600;
}

.room-status-maintenance {
    color: #842029;
    font-size: .85rem;
    font-weight: 600;
}

@media(max-width:576px) {

    .room-status-row {
        align-items: flex-start;
        gap: 15px;
    }

        .room-status-row .btn {
            white-space: nowrap;
        }
}

/*added below 19Aug26*/
/* ==========================================================
   ADMIN LOGIN
   ========================================================== */

.admin-login-wrapper {
    min-height: 60vh;
}

.admin-login-container {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 0 20px;
}

.admin-login-card {
    background: var(--warm-white);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.admin-login-label {
    display: block;
    color: var(--onyx);
    font-size: .85rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.admin-login-field .form-control {
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 12px 14px;
    font-size: .9rem;
    background: #fff;
    color: var(--onyx);
}

    .admin-login-field .form-control:focus {
        border-color: var(--gold);
        box-shadow: 0 0 0 .15rem rgba(184,155,106,.18);
    }

@media(max-width:576px) {

    .admin-login-container {
        max-width: 100%;
        padding: 0 16px;
    }
}

.admin-login-field .field-validation-error,
.admin-login-field .text-danger {
    color: #842029 !important;
    font-size: .82rem;
    font-weight: 500;
    display: block;
    margin-top: 6px;
}

