/* _content/PureChalets.Blazor/Components/Components/Banner.razor.rz.scp.css */
/* Root: keep overlay elements (search bar, captions) stacking correctly */
.banner[b-5aeplhqzov] {
    position: relative;
    isolation: isolate; /* new stacking context */
}

    /* Carousel sits below overlays (search bar, captions) */
    .banner .carousel[b-5aeplhqzov] {
        position: relative;
        z-index: 1;
    }

    /* If your search bar overlays the bottom of the banner */
    .banner .search-bar[b-5aeplhqzov] {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2;
    }
    .banner .search-bar-inner[b-5aeplhqzov]{
        padding:15px;
        
    }
    /* --------------------------------------------- */
    /* IMG-BASED BANNER                              */
    /* --------------------------------------------- */
    /* Default slide image */
    .banner-img[b-5aeplhqzov] {
        display: block;
        width: 100%;
        object-fit: cover; /* fill without letterboxing */
        /* fallback for older browsers */
        height: clamp(240px, 65vh, 900px);
        /* preferred on mobile (avoids URL-bar jumps) */
        height: clamp(240px, 65svh, 900px);
    }

/* �Home / hero� variant (optional, a bit taller by default) */
.banner-img--home[b-5aeplhqzov] {
    /* fallback then svh override */
    height: clamp(280px, 70vh, 900px);
    height: clamp(280px, 70svh, 900px);
}

/* md and down */
@media (max-width: 991.98px) {
    .banner-img[b-5aeplhqzov] {
        height: clamp(200px, 55vh, 720px);
        height: clamp(200px, 55svh, 720px);
    }

    .banner-img--home[b-5aeplhqzov] {
        height: clamp(220px, 60vh, 720px);
        height: clamp(220px, 60svh, 720px);
    }
}

/* sm & xs */
@media (max-width: 575.98px) {
    .banner-img[b-5aeplhqzov] {
        height: clamp(160px, 45vh, 560px);
        height: clamp(160px, 45svh, 560px);
    }

    .banner-img--home[b-5aeplhqzov] {
        height: clamp(180px, 50vh, 560px);
        height: clamp(180px, 50svh, 560px);
    }
}

/* Caption block styling (keep from your previous version if you like) */
.banner .banner-slider-inner[b-5aeplhqzov] {
    color: #e9e9e9;
    max-width: 900px;
    padding: 20px 20px;
    margin: 0 auto;
    font-family: 'Roboto', sans-serif;
}
/* _content/PureChalets.Blazor/Components/Components/ChooseDates.Razor.rz.scp.css */
.mud-icon-button.reset-radius[b-pc50m46nmp] {
    border-radius: 0 !important; /* Reset to square corners */
}
.startdate[b-pc50m46nmp] {
    border-radius: 4px 0 0 4px !important;
}
.enddate[b-pc50m46nmp] {
    border-radius: 0 4px 4px 0 !important;
}

.mud-picker div.mud-picker-title-date[b-pc50m46nmp] {
    display: none;
}


/* Fix the width of the popover content – match your calendar width */
.date-picker-popover .date-picker-panel[b-pc50m46nmp] {
    width: min(100vw - 32px, 360px); /* keep some margin on very small screens */
}

/* Viewport for quick dates: same width as the panel, but scrolls horizontally */
.quick-dates-viewport[b-pc50m46nmp] {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    max-height: 40px; /* stops it from adding more vertical height */
    margin-top: 4px;
}

/* Buttons row can be wider than the viewport; no wrapping → scroll instead */
.quick-dates-strip[b-pc50m46nmp] {
    display: flex; /* MudStack already does this, but explicit is fine */
    flex-wrap: nowrap;
    gap: 0.25rem;
}
/* _content/PureChalets.Blazor/Components/Components/PureChaletsLogo.razor.rz.scp.css */
#logo-image[b-lf8glletgy] {
    -webkit-animation: logo-heart-beat 15s infinite;
    -moz-animation: logo-heart-beat 15s infinite;
    -o-animation: logo-heart-beat 15s infinite;
    animation: logo-heart-beat-b-lf8glletgy 15s infinite;
}
#logo-image[b-lf8glletgy] {
    max-height: 42px;
    height: auto;
    width: auto;
}

#logo-text-pure[b-lf8glletgy] {
    color: darkblue;
    vertical-align: bottom;
}

#logo-text-chalet[b-lf8glletgy] {
    font-family: verdana;
    color: #6599FF;
    font-size: 36px;
    font-weight: bold;
    vertical-align: bottom;
}

#logo:hover[b-lf8glletgy] {
    text-decoration: none;
}

    #logo:hover > #logo-image[b-lf8glletgy] {
        /*        transform: rotateY(360deg);*/
        -webkit-animation: rotate-logo 0.8s ease;
        -moz-animation: rotate-logo 0.8s ease;
        -o-animation: rotate-logo 0.8s ease;
        animation: rotate-logo-b-lf8glletgy 0.8s ease;
    }


    #logo:hover #logo-text-chalet[b-lf8glletgy] {
        transition: all 0.8s ease;
        color: #97b9fc;
    }

    #logo:hover #logo-text-pure[b-lf8glletgy] {
        transition: all 0.8s ease;
        color: #0202e3;
    }

@keyframes rotate-logo-b-lf8glletgy {
    from {
        transform: rotateY(0deg);
    }

    to {
        transform: rotateY(360deg);
    }
}

@keyframes logo-heart-beat-b-lf8glletgy {
    0% {
        transform: scale(1);
    }

    1% {
        transform: scale(.99);
    }

    2% {
        transform: scale(.95);
    }

    3% {
        transform: scale(1.05);
    }

    4% {
        transform: scale(.95);
    }

    5% {
        transform: scale(1.05);
    }

    6% {
        transform: scale(1.02);
    }

    100% {
        transform: scale(1);
    }
}


/* Responsive styling for smaller screens */
@media (max-width: 768px) {
    #logo-text-chalet[b-lf8glletgy] {
        font-size: 24px;
    }

    #logo-image[b-lf8glletgy] {
        max-height: 32px;
    }
}

@media (max-width: 480px) {
    #logo-text-chalet[b-lf8glletgy] {
        font-size: 20px;
    }

    #logo-image[b-lf8glletgy] {
        max-height: 24px;
    }
}
/* _content/PureChalets.Blazor/Components/Components/SearchTrayMini.razor.rz.scp.css */

/* Sticky root */
.pc-tray[b-jfzsnh1fwr] {
    position: sticky;
    top: var(--pc-offset, 56px);
    /* Ensure there’s always enough height to show the lip or the half-circle */
    min-height: max(var(--pc-lip-height, 6px), calc(var(--pc-tab-size, 44px) / 2));
    z-index: 1000;
}

/* Collapsible surface (yours kept) */
.pc-tray-surface[b-jfzsnh1fwr] {
    position: relative;
    background: rgba(120,120,120,1);
    border-radius: 0 0 14px 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,.15);
    overflow: hidden;
    pointer-events: auto;
    max-height: var(--pc-open-h, 999px);
    transition: max-height .25s ease, padding .2s ease, opacity .2s ease, box-shadow .2s ease;
}

.pc-tray-content[b-jfzsnh1fwr] {
    padding: .75rem 0;
}

.pc-open .pc-tray-surface[b-jfzsnh1fwr] {
    opacity: 1; /* .85;*/
}

.pc-closed .pc-tray-surface[b-jfzsnh1fwr] {
    max-height: 0 !important;
    opacity: 0;
    box-shadow: none;
}

/* 🔹 Show the lip whenever CLOSED (stuck or not) */
.pc-closed[b-jfzsnh1fwr]::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--pc-lip-height, 6px);
    background: var(--pc-lip-bg, rgb(var(--pc-surface-rgb, 0 0 0) / var(--pc-a-closed, .85)));
    box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
    border-radius: 0 0 var(--pc-lip-radius, 8px) var(--pc-lip-radius, 8px);
}

/* Optional: keep the lip visible “below the element above” even when not stuck */
.pc-closed:not(.pc-stuck)[b-jfzsnh1fwr] {
    padding-top: var(--pc-lip-height, 6px);
}

.pc-closed.pc-stuck[b-jfzsnh1fwr] {
    padding-top: 0;
}

    /* Optional: visible "lip" when closed + stuck */
    .pc-closed.pc-stuck[b-jfzsnh1fwr]::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: var(--pc-lip-height, 6px); /* thickness of the collapsed bar */
        background: var(--pc-lip-bg, rgb(var(--pc-surface-rgb, 0 0 0) / var(--pc-a-closed, .85))); /* match your tray bg */
        box-shadow: 0 1px 0 rgba(255,255,255,.06) inset; /* subtle highlight */
        z-index: 0;
    }

/* Tab (sibling) */
.pc-tray-tab[b-jfzsnh1fwr] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: var(--pc-tab-size, 44px);
    height: var(--pc-tab-size, 44px);
    border-radius: 999px;
    border: 0;
    display: grid;
    place-items: center;
    background: var(--pc-tab-bg, rgb(var(--pc-surface-rgb, 0 0 0) / var(--pc-a-closed, .85))); /* keep your colors */
    color: var(--pc-icon-color, var(--mud-palette-primary));
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
    pointer-events: auto;
    z-index: 1;
}



/* ===== Theme vars (safe defaults + easy to override) ===== */
.pc-tray[b-jfzsnh1fwr] {
    --pc-surface-rgb: 50 50 50; /* base color once */
    --pc-a-open: 1; /* open tray alpha */
    --pc-a-closed: 1; /* lip/tab alpha */
    --pc-lip-height: 6px;
    --pc-tab-size: 44px;
    --pc-icon-color: var(--mud-palette-surface, #fff);
}

/* ===== Z-index & layering (tab behind content while open) ===== */
/*.pc-tray-surface {
    position: relative;*/
/*z-index: 2;*/
/*}*/

/*.pc-tray-tab {
    z-index: 3;
}*/

.pc-open .pc-tray-tab[b-jfzsnh1fwr] {
    pointer-events: auto;
}

.pc-closed .pc-tray-tab[b-jfzsnh1fwr] {
    pointer-events: auto;
}

/* ===== Backgrounds with fallbacks ===== */
/* Tray surface */
.pc-tray-surface[b-jfzsnh1fwr] {
    /* fallback for older parsers */
    background: rgba(120,120,120,1);
    /* preferred: variable + modern rgb slash-alpha */
    background: rgb(var(--pc-surface-rgb, 0 0 0) / var(--pc-a-open, .85));
}

/* Collapsed strip (lip) and tab */
.pc-closed[b-jfzsnh1fwr]::before,
.pc-tray-tab[b-jfzsnh1fwr] {
    /* fallback */
    background: rgba(120,120,120,1);
    /* preferred */
    background: rgb(var(--pc-surface-rgb, 0 0 0) / var(--pc-a-closed, .85));
    color: var(--pc-icon-color);
}

/* Keep the lip visible even when not stuck */
.pc-closed[b-jfzsnh1fwr]::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--pc-lip-height);
    box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
}

.pc-closed:not(.pc-stuck)[b-jfzsnh1fwr] {
    padding-top: var(--pc-lip-height);
}


/* Fine-tune how much the circle crosses the border (default = perfect half) */
:root[b-jfzsnh1fwr] {
    --pc-overlap-gap: 0px;
}
/* +ve pushes further across; -ve tucks in slightly */

/*✅ Open: button overlaps the bottom edge of the open surface */
.pc-open .pc-tray-tab[b-jfzsnh1fwr] {
    bottom: calc(-0.5 * var(--pc-tab-size, 44px) + var(--pc-overlap-gap, 0px));
    top: auto;
}
/* ✅ Closed (stuck OR not stuck): button overlaps the TOP edge (sits over the strip) */
/*.pc-closed .pc-tray-tab {
    top: calc(-0.5 * var(--pc-tab-size, 44px) + var(--pc-overlap-gap, 0px));
    bottom: auto;
}*/
/* OR Closed Keep the icon button under the menu bar */
.pc-closed .pc-tray-tab[b-jfzsnh1fwr] {
    top: 0;
    bottom: auto;
}
/* _content/PureChalets.Blazor/Components/Components/SwiperChaletCarousel.razor.rz.scp.css */
.chalet-swiper[b-ybpv835ezu] {
    padding: 0.5rem 2.25rem; /* room for arrows */
}

    .chalet-swiper .swiper-button-prev[b-ybpv835ezu],
    .chalet-swiper .swiper-button-next[b-ybpv835ezu] {
        width: 44px;
        height: 44px;
        border-radius: 9999px;
        backdrop-filter: blur(6px);
        background: rgba(0,0,0,.25);
    }

        .chalet-swiper .swiper-button-prev[b-ybpv835ezu]::after,
        .chalet-swiper .swiper-button-next[b-ybpv835ezu]::after {
            font-size: 18px;
            font-weight: 700;
            color: white;
        }
/* _content/PureChalets.Blazor/Components/Layout/AccountLayout.razor.rz.scp.css */
/* Full-viewport background behind the card */
.auth-wrap[b-4jp5m4az9w] {
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* default image; you can swap the URL if you want a different look */
    --auth-bg: url('/img/SamoensMountainBackdrop.webp');
}

    .auth-wrap[b-4jp5m4az9w]::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(to bottom right, rgba(0,0,0,.55), rgba(0,0,0,.25)), var(--auth-bg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: 0;
    }

/* The centered card */
.auth-card[b-4jp5m4az9w] {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 720px;
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 1rem 2rem rgba(0,0,0,.08);
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(6px); /* optional glass effect */
}

    .auth-card .card-body[b-4jp5m4az9w] {
        padding: 2rem;
    }

@media (prefers-color-scheme: dark) {
    .auth-card[b-4jp5m4az9w] {
        background: rgba(24,24,28,.82);
        color: #f8f9fa;
    }
}


.manage-wide .auth-card[b-4jp5m4az9w] {
    max-width: 1140px;
}

@media (min-width: 1400px) {
    .manage-wide .auth-card[b-4jp5m4az9w] {
        max-width: 1320px;
    }
}
/* _content/PureChalets.Blazor/Components/Layout/AdminLayout.razor.rz.scp.css */
/*.page {
    position: relative;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.sidebar {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row ::deep a, .top-row ::deep .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
        text-decoration: underline;
    }

    .top-row ::deep a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row {
        justify-content: space-between;
    }

    .top-row ::deep a, .top-row ::deep .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page {
        flex-direction: row;
    }

    .sidebar {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth ::deep a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row, article {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
*/



#blazor-error-ui[b-7gnfy3tf7w] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-7gnfy3tf7w] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/PureChalets.Blazor/Components/Layout/Navigation/Footer.razor.rz.scp.css */
/* Root footer look */
.main-footer[b-gejjh8i3qd] {
    background: #1f1f1f;
    color: #cfcfcf;
}

/* ===== Brand ===== */
.footer-brand[b-gejjh8i3qd] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    text-decoration: none;
    color: inherit;
}

.footer-brand__logo[b-gejjh8i3qd] {
    height: 36px;
    width: auto;
    display: block;
}

.footer-brand__text[b-gejjh8i3qd] {
    font-weight: 600;
    letter-spacing: .5px;
}

/* ===== Contacts ===== */
.footer-contacts__list[b-gejjh8i3qd] {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
}

.footer-contacts__item[b-gejjh8i3qd] {
    margin-bottom: .75rem;
}

.footer-contacts__name[b-gejjh8i3qd] {
    display: inline-block;
    font-weight: 600;
    margin-right: .5rem;
}

.footer-contacts__flags .flag[b-gejjh8i3qd] {
    width: 18px;
    height: auto;
    margin-left: 4px;
    vertical-align: text-bottom;
}

/* Ensure phone stays on one line */
.footer-contacts__link[b-gejjh8i3qd] {
    display: block; /* was inline-flex */
    margin-top: .25rem;
    color: #7e7e7e;
    text-decoration: none;
}
    .footer-contacts__link i[b-gejjh8i3qd] {
        margin-right: .5rem;
        color: #6599FF;
    }
    .footer-contacts__link .phone[b-gejjh8i3qd] {
        white-space: nowrap;
    }

    .footer-contacts__link:hover[b-gejjh8i3qd] {
        color: #9c9c9c;
    }

/* ===== Social (uniform squares with border) ===== */
.footer-social[b-gejjh8i3qd] {
    display: flex;
    gap: .5rem;
    margin-top: .5rem;
    flex-wrap: wrap;
}

.footer-social__link[b-gejjh8i3qd] {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    border: 1px solid #3a3a3a;
    border-radius: 0px; /* square look with slight radius */
    line-height: 1;
}

    .footer-social__link:hover[b-gejjh8i3qd] {
        filter: brightness(1.1);
    }

/* If your bg- classes aren't defined globally, uncomment:
.bg-facebook  { background:#3b5998; }
.bg-instagram { background:#C13584; }
.bg-skype     { background:#00aff0; }
*/

/* ===== Section heading ===== */
.footer-section__title[b-gejjh8i3qd] {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;
    padding-bottom: 20px;
    margin: 0 0 20px;
    border-bottom: 1px solid #393939;
    color: #e0dede;
}

/* ===== Chalet cards (wrap nicely, don't squash) ===== */
.chalet-card[b-gejjh8i3qd] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    border-bottom: 1px solid #333333;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

    .chalet-card:last-child[b-gejjh8i3qd] {
        border-bottom: none;
    }

.chalet-card__thumb[b-gejjh8i3qd] {
    flex: 0 0 auto;
}

    .chalet-card__thumb img[b-gejjh8i3qd] {
        width: 70px;
        height: 70px;
        object-fit: cover;
        display: block;
    }

.chalet-card__body[b-gejjh8i3qd] {
    flex: 1 1 auto;
    min-width: 0;
}

.chalet-card__title[b-gejjh8i3qd] {
    margin: 5px 0 4px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
}

.chalet-card__body a[b-gejjh8i3qd] {
    color: #6599FF;
    font-weight: 600;
    letter-spacing: 1px;
    text-decoration: none;
}

.chalet-card__meta[b-gejjh8i3qd] {
    color: #9a9a9a;
    font-size: 13px;
}

/* ===== Sub-footer ===== */
.sub-footer[b-gejjh8i3qd] {
    background-color: #242424;
    text-align: center;
    width: 100%;
    padding: 23px 0;
    color: #7f7e7e;
    font-size: 13px;
}
/* ===== Icon coloring for phone & email ===== */
.footer-contacts__link i[b-gejjh8i3qd] {
    color: #6599FF;
}

/* ===== Sub-footer links (privacy, terms) ===== */
.sub-footer a[b-gejjh8i3qd] {
    color: #6599FF;
    text-decoration: none;
}

    .sub-footer a:hover[b-gejjh8i3qd] {
        text-decoration: underline;
    }

/* ===== Footer site links ===== */
/*.footer-links {
    background: #1b1b1b;
    padding: 30px 0;
    margin-top: 30px;
    border-top: 1px solid #333;
}

.footer-links__header {
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 10px;
    color: #e0dede;
}

.footer-links__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .footer-links__list li {
        margin-bottom: 6px;
    }

    .footer-links__list a {
        color: #7e7e7e;
        text-decoration: none;
        font-size: 14px;
    }

        .footer-links__list a:hover {
            color: #6599FF;
            text-decoration: underline;
        }
*/
/* Section title for footer links */
.footer-links[b-gejjh8i3qd] {
    background: #1b1b1b; /* slightly different from .main-footer */
    padding: 30px;
    margin-top: 30px;
    border-top: 1px solid #333;
}

.footer-links__title[b-gejjh8i3qd] {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 20px;
    color: #e0dede;
}

.footer-links__header[b-gejjh8i3qd] {
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 10px;
    color: #e0dede;
}

.footer-links__list[b-gejjh8i3qd] {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .footer-links__list li[b-gejjh8i3qd] {
        margin-bottom: 6px;
    }

    .footer-links__list a[b-gejjh8i3qd] {
        color: #6599FF;       ;
        text-decoration: none;
        font-size: 14px;
    }

        .footer-links__list a:hover[b-gejjh8i3qd] {
            color: #6599FF;
            text-decoration: underline;
        }
/* _content/PureChalets.Blazor/Components/Layout/Navigation/Navigation.razor.rz.scp.css */
/* ===== BAR SHELL ===== */
.main-header[b-ypp2utwta8] {
    width: 100%;
    border-top: 3px solid #6599FF;
}

.navbar-default[b-ypp2utwta8] {
    background-color: rgba(254,254,254,0.85);
    border: 0;
    margin-bottom: 0;
    border-radius: 0;
    z-index: 1030;
}

    .navbar-default.sticky-top[b-ypp2utwta8] {
        position: sticky;
        top: 0;
        z-index: 1030;
    }

    .navbar-default.fixed-top[b-ypp2utwta8] {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1030;
    }

/* Kill Bootstrap's default y-padding on this navbar */
.navbar.navbar-default[b-ypp2utwta8] {
    --bs-navbar-padding-y: 0;
}

/* Brand + toggler + collapse share row and wrap cleanly */
.navbar-header[b-ypp2utwta8] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}

    .navbar-header .navbar-brand[b-ypp2utwta8] {
        flex: 0 1 auto;
    }

    .navbar-header .navbar-toggler[b-ypp2utwta8] {
        margin-left: auto;
    }

    .navbar-header .navbar-collapse[b-ypp2utwta8] {
        flex: 1 1 100%;
    }

/* On desktop keep single row */
@media (min-width: 992px) {
    .navbar-header[b-ypp2utwta8] {
        flex-wrap: nowrap;
    }

        .navbar-header .navbar-collapse[b-ypp2utwta8] {
            flex: 1 1 auto;
        }
}

/* ===== BRAND / LOGO ===== */
.logo[b-ypp2utwta8] {
    padding: 15px 0;
    display: flex;
    align-items: center;
}

    .logo img[b-ypp2utwta8] {
        height: 50px;
        width: auto;
    }

/* Mobile: keep brand to max 50% viewport width and shrink logo image */
@media (max-width: 575.98px) {
    .logo[b-ypp2utwta8] {
        max-width: 50vw; /* cap brand to half the screen */
        overflow: hidden; /* avoid layout jiggle; ellipsis text */
    }

        .logo img[b-ypp2utwta8] {
            height: auto; /* override 50px for mobile */
            max-height: 40px; /* tweak as you like (36–44px) */
            max-width: 100%;
        }

    #logo-text-chalet[b-ypp2utwta8] {
        margin-left: .35rem;
        font-size: 14px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* ===== TOP-LEVEL LINKS ===== */
.navbar .nav-link[b-ypp2utwta8] {
    position: relative;
    display: block;
    padding: 26px 20px;
    line-height: 28px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #686868;
}

    .navbar .nav-link:hover[b-ypp2utwta8] {
        background: #6599FF;
        color: #fff;
    }

/* keep right aligned on lg+ */
@media (min-width: 992px) {
    .navbar-default .navbar-nav[b-ypp2utwta8] {
        margin-left: auto;
    }
}

/* ===== DROPDOWNS: BASE ===== */
.navbar-nav > li > .dropdown-menu[b-ypp2utwta8] {
    margin-top: 0;
    border: none;
    border-radius: 0;
    min-width: min(26rem, 92vw); /* wide on desktop, safe on mobile */
    padding: .25rem 0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

/* Desktop hover-open, keep text white on blue */
@media (hover:hover) and (pointer:fine) {
    .navbar .dropdown:hover > .dropdown-menu[b-ypp2utwta8] {
        display: block;
    }

    .navbar .dropdown:hover > .nav-link.dropdown-toggle[b-ypp2utwta8],
    .navbar .nav-item.show > .nav-link.dropdown-toggle[b-ypp2utwta8],
    .navbar .nav-link.dropdown-toggle:focus[b-ypp2utwta8] {
        background: #6599FF;
        color: #fff;
    }
}

/* Hide Bootstrap caret where we render our own */
.no-bs-caret.dropdown-toggle[b-ypp2utwta8]::after {
    display: none !important;
}

/* Divider */
.dropdown-divider[b-ypp2utwta8] {
    margin: .25rem 0;
    border-top: 1px solid #eee;
}

/* Legacy caret look */
.caret[b-ypp2utwta8] {
    display: inline-block;
    margin-left: 6px;
    border-top: 4px solid currentColor;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    vertical-align: middle;
}

/* ===== TOGGLER (custom look) ===== */
/* Base: transparent bg, BLUE bars (via currentColor), no funky focus ring */
.navbar-toggler[b-ypp2utwta8] {
    color: #6599FF; /* bar color (via currentColor) */
    background: transparent;
    border: 1px solid transparent; /* no visible border by default */
    border-radius: 0px; /* subtle rounding (no ellipse ring) */
    padding: .4rem .6rem;
}

    .navbar-toggler:hover[b-ypp2utwta8] {
        background: rgba(101,153,255,0.08);
    }

    .navbar-toggler:focus[b-ypp2utwta8],
    .navbar-toggler:focus-visible[b-ypp2utwta8] {
        outline: none;
        box-shadow: none;
    }

    /* Bars (we draw the 3 lines manually) */
    .navbar-toggler .navbar-toggler-icon[b-ypp2utwta8] {
        background-image: none;
        width: 24px;
        height: 2px;
        position: relative;
        display: inline-block;
        background: currentColor; /* middle bar */
    }

        .navbar-toggler .navbar-toggler-icon[b-ypp2utwta8]::before,
        .navbar-toggler .navbar-toggler-icon[b-ypp2utwta8]::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            height: 2px;
            background: currentColor; /* top & bottom bars */
        }

        .navbar-toggler .navbar-toggler-icon[b-ypp2utwta8]::before {
            top: -6px;
        }

        .navbar-toggler .navbar-toggler-icon[b-ypp2utwta8]::after {
            top: 6px;
        }

    /* Open state: BLUE background, WHITE bars */
    .navbar-toggler[aria-expanded="true"][b-ypp2utwta8] {
        background: #6599FF;
        color: #fff; /* makes bars white */
        border-color: #6599FF;
        
    }

        .navbar-toggler[aria-expanded="true"]:hover[b-ypp2utwta8] {
            background: #568fff; /* slightly darker on hover */
        }

/* ===== MOBILE UX: scrollable collapse + stacked nested menus ===== */
@media (max-width: 991.98px) {
    /* Make the collapsed area scroll independently so the page isn't "stuck" */
    .navbar-default .navbar-collapse[b-ypp2utwta8] {
        max-height: calc(100dvh - 64px); /* adjust 64px if your brand row is taller */
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Nested submenus become stacked lists (no off-screen flyouts) */
    .dropdown-submenu > .dropdown-menu[b-ypp2utwta8] {
        position: static;
        float: none;
        left: auto;
        top: auto;
        margin: 0.25rem 0 0.5rem;
        box-shadow: none;
        display: none; /* toggled with .show by JS */
    }

    .dropdown-menu.show[b-ypp2utwta8] {
        display: block;
    }
}

/* Flags */
.flag[b-ypp2utwta8] {
    width: 18px;
    height: auto;
    vertical-align: text-bottom;
}
/* Submenu items (isolated to this component) */

/* Uppercase + spacing for submenu items/toggles */
.dropdown-item[b-ypp2utwta8],
.has-children[b-ypp2utwta8] {
    display: block;
    padding: 15px 20px;
    line-height: 1.42857143;
    color: #686868;
    text-transform: uppercase;
    font-size: 12px;
    white-space: nowrap;
    border-right: 5px solid transparent;
    border-bottom: 1px solid transparent;
    background: transparent;
    text-decoration: none;
}

    .dropdown-item:hover[b-ypp2utwta8],
    .has-children:hover[b-ypp2utwta8] {
        border-right-color: #6599FF;
        border-bottom-color: #ddd;
        color: #6599FF;
        background: transparent;
    }

    /* Two-column rows: equal columns, tiny gutter; LEFT wraps, RIGHT stays tidy */
    .dropdown-item.two-col[b-ypp2utwta8] {
        display: grid;
        grid-template-columns: 1fr 1fr; /* 50/50; use 3fr 2fr if you want more space left */
        column-gap: 4px;
        align-items: baseline;
        padding-right: 24px; /* room for arrow if nested */
    }

        .dropdown-item.two-col .left[b-ypp2utwta8] {
            text-align: left;
            white-space: normal; /* allow wrapping */
            overflow: visible;
            text-overflow: clip;
            word-break: break-word;
        }

        .dropdown-item.two-col .right[b-ypp2utwta8] {
            text-align: right;
            white-space: nowrap; /* keep compact figures like '11 Bedrooms' */
            color: #999;
            font-variant-numeric: tabular-nums;
        }

/*.dropdown-item.two-col .right::before {
            content: "– ";
            color: currentColor;
        }*/

/* Stack columns on very small screens for readability */
@media (max-width: 575.98px) {
    .dropdown-item.two-col[b-ypp2utwta8] {
        grid-template-columns: 1fr;
        row-gap: 2px;
    }

        .dropdown-item.two-col .right[b-ypp2utwta8] {
            justify-self: end;
        }
}

/* Nested flyout submenu positioning (desktop defaults) */
.dropdown-submenu[b-ypp2utwta8] {
    position: relative;
}

    .dropdown-submenu > .dropdown-menu[b-ypp2utwta8] {
        top: 0;
        left: 100%;
        margin-top: -6px;
        margin-left: -1px;
        border-radius: 0 6px 6px 6px;
        box-shadow: 0 10px 24px rgba(0,0,0,.12);
        display: none; /* desktop hover or mobile JS will show */
    }

.dropdown-menu.show[b-ypp2utwta8] {
    display: block;
}

/* Desktop hover for nested flyouts */
@media (hover:hover) and (pointer:fine) {
    .dropdown-submenu:hover > .dropdown-menu[b-ypp2utwta8] {
        display: block;
    }
}

/* We render our own caret via <span class="caret"> */
.caret[b-ypp2utwta8] {
    display: inline-block;
    margin-left: 6px;
    border-top: 4px solid currentColor;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    vertical-align: middle;
}

/* MOBILE stacked nested menus (matches container CSS) */
@media (max-width: 991.98px) {
    .dropdown-submenu > .dropdown-menu[b-ypp2utwta8] {
        position: static;
        float: none;
        left: auto;
        top: auto;
        margin: 0.25rem 0 0.5rem;
        box-shadow: none;
        display: none; /* toggled with .show by JS */
    }

    .dropdown-menu.show[b-ypp2utwta8] {
        display: block;
    }
}
/* _content/PureChalets.Blazor/Components/Layout/Navigation/NavigationSubMenuItem.razor.rz.scp.css */
/* Submenu items (isolated to this component) */

/* Uppercase + spacing for submenu items/toggles */
.dropdown-item[b-s5bqewj4sw],
.has-children[b-s5bqewj4sw] {
    display: block;
    padding: 15px 20px;
    line-height: 1.42857143;
    color: #686868;
    text-transform: uppercase;
    font-size: 12px;
    white-space: nowrap;
    border-right: 5px solid transparent;
    border-bottom: 1px solid transparent;
    background: transparent;
    text-decoration: none;
}

    .dropdown-item:hover[b-s5bqewj4sw],
    .has-children:hover[b-s5bqewj4sw] {
        border-right-color: #6599FF;
        border-bottom-color: #ddd;
        color: #6599FF;
        background: transparent;
    }

    /* Two-column rows: equal columns, tiny gutter; LEFT wraps, RIGHT stays tidy */
    .dropdown-item.two-col[b-s5bqewj4sw] {
        display: grid;
        grid-template-columns: 1fr 1fr; /* 50/50; use 3fr 2fr if you want more space left */
        column-gap: 4px;
        align-items: baseline;
        padding-right: 24px; /* room for arrow if nested */
    }

        .dropdown-item.two-col .left[b-s5bqewj4sw] {
            text-align: left;
            white-space: normal; /* allow wrapping */
            overflow: visible;
            text-overflow: clip;
            word-break: break-word;
        }

        .dropdown-item.two-col .right[b-s5bqewj4sw] {
            text-align: right;
            white-space: nowrap; /* keep compact figures like '11 Bedrooms' */
            color: #999;
            font-variant-numeric: tabular-nums;
        }
        
        /*.dropdown-item.two-col .right::before {
            content: "– ";
            color: currentColor;
        }*/

/* Stack columns on very small screens for readability */
@media (max-width: 575.98px) {
    .dropdown-item.two-col[b-s5bqewj4sw] {
        grid-template-columns: 1fr;
        row-gap: 2px;
    }

        .dropdown-item.two-col .right[b-s5bqewj4sw] {
            justify-self: end;
        }
}

/* Nested flyout submenu positioning (desktop defaults) */
.dropdown-submenu[b-s5bqewj4sw] {
    position: relative;
}

    .dropdown-submenu > .dropdown-menu[b-s5bqewj4sw] {
        top: 0;
        left: 100%;
        margin-top: -6px;
        margin-left: -1px;
        border-radius: 0 6px 6px 6px;
        box-shadow: 0 10px 24px rgba(0,0,0,.12);
        display: none; /* desktop hover or mobile JS will show */
    }

.dropdown-menu.show[b-s5bqewj4sw] {
    display: block;
}

/* Desktop hover for nested flyouts */
@media (hover:hover) and (pointer:fine) {
    .dropdown-submenu:hover > .dropdown-menu[b-s5bqewj4sw] {
        display: block;
    }
}

/* We render our own caret via <span class="caret"> */
.caret[b-s5bqewj4sw] {
    display: inline-block;
    margin-left: 6px;
    border-top: 4px solid currentColor;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    vertical-align: middle;
}

/* MOBILE stacked nested menus (matches container CSS) */
@media (max-width: 991.98px) {
    .dropdown-submenu > .dropdown-menu[b-s5bqewj4sw] {
        position: static;
        float: none;
        left: auto;
        top: auto;
        margin: 0.25rem 0 0.5rem;
        box-shadow: none;
        display: none; /* toggled with .show by JS */
    }

    .dropdown-menu.show[b-s5bqewj4sw] {
        display: block;
    }
}
/* _content/PureChalets.Blazor/Components/Layout/xxx/ChaletsNavMenu.razor.rz.scp.css */
.chalet-item[b-ggkt0y5hrg] {
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 0px 0px 10px 0px;
}

.chalet-avatar[b-ggkt0y5hrg] {
    flex-shrink: 0;
}

.chalet-info[b-ggkt0y5hrg] {
    margin-left: 10px;
    display: flex;
    flex-direction: column;
}

    .chalet-info h5[b-ggkt0y5hrg] {
        margin: 0;
        line-height: 1.2;
    }

    .chalet-info p[b-ggkt0y5hrg] {
        margin: 2px 0;
        font-size: 0.875rem;
    }
/* _content/PureChalets.Blazor/Components/Layout/xxx/MainLayoutMudBlazorNav.razor.rz.scp.css */
/*.page {
    position: relative;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.sidebar {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row ::deep a, .top-row ::deep .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
        text-decoration: underline;
    }

    .top-row ::deep a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row {
        justify-content: space-between;
    }

    .top-row ::deep a, .top-row ::deep .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page {
        flex-direction: row;
    }

    .sidebar {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth ::deep a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row, article {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
*/



#blazor-error-ui[b-u4i4rcd1vc] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-u4i4rcd1vc] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/PureChalets.Blazor/Components/Pages/Admin/Dialogs/ChaletEditDialog.razor.rz.scp.css */
/* Height of the grid area inside the tab: tweak the 220px to account for your dialog header, tabs bar, paddings, etc. */
.facilities-grid[b-xd1674fclj] {
    height: calc(100vh - 220px);
}

/* Make each panel a flex column so the header is fixed and the list can flex */
.facilities-panel[b-xd1674fclj] {
    height: 100%;
    display: flex;
    flex-direction: column;
    /* critical when using flex + overflow children */
    min-height: 0;
}

/* The scrollable area */
.facilities-list[b-xd1674fclj] {
    flex: 1 1 auto;
    overflow: auto;
    /* critical so the child is allowed to be smaller than content */
    min-height: 0;
}
/* _content/PureChalets.Blazor/Components/Pages/Booking/BookingLayout.razor.rz.scp.css */

/* Sticky + mobile bottom sheet helpers */
:root[b-5yci9nwhjo] {
    --sidebar-top-offset: 81px; /* match your fixed navbar height */
    --mobile-sticky-height: 64px; /* height for the mobile sticky bar */
}

/* Make the COLUMN sticky so the whole card respects the offset */
.sticky-col[b-5yci9nwhjo] {
    position: sticky;
    top: var(--sidebar-top-offset);
    align-self: start; /* prevents stretching */
    z-index: 1019; /* stays above page content, below navbar (1030) */
}

/* Let the card manage its own internal scroll */
.sticky-card[b-5yci9nwhjo] {
    max-height: calc(100vh - var(--sidebar-top-offset));
    display: flex;
    flex-direction: column;
}

    .sticky-card .card-body[b-5yci9nwhjo] {
        overflow: auto;
    }

/* Add bottom padding so fixed mobile bar doesn't overlap content */
.has-mobile-sticky[b-5yci9nwhjo] {
    padding-bottom: calc(var(--mobile-sticky-height) + 1rem);
}

.mobile-sticky-bar[b-5yci9nwhjo] {
    height: var(--mobile-sticky-height);
}

/* If your navbar is fixed-top, ensure the whole page is pushed down */
body.has-fixed-navbar[b-5yci9nwhjo] {
    padding-top: var(--sidebar-top-offset);
}

/* Increase tap target spacing in bottom sheet */
@media (max-width: 991.98px) {
    .offcanvas.offcanvas-bottom .card-body dl dt[b-5yci9nwhjo],
    .offcanvas.offcanvas-bottom .card-body dl dd[b-5yci9nwhjo] {
        margin-bottom: .5rem;
    }
}
/* _content/PureChalets.Blazor/Components/Pages/Chalet/ChaletFacilities.razor.rz.scp.css */
.icon-facility i[b-xzxzpnsvwj] {
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border: solid 1px var(--mud-palette-primary);
    font-size: 20px;
    color: #6599FF;
    display: inline-block;
}
