:root{
    --primary-hue:240;
    --primary-color:#5a57d9;
    --primary-color-rgb:90,87,217;
    --primary-dark:#4a47c5;
    --primary-light:rgba(90, 87, 217, 0.1);
    --bg-body:#fcfcfd;
    --bg-glass:rgba(255, 255, 255, 0.7);
    --bg-surface:#ffffff;
    --bg-glass-heavy:rgba(255, 255, 255, 0.9);
    --bg-glass-light:rgba(255, 255, 255, 0.5);
    --text-dark:#1f2937;
    --text-muted:#6b7280;
    --border-color:rgba(255, 255, 255, 0.5);
    --card-radius:15px;
    --shadow-subtle:0 10px 30px rgba(0, 0, 0, 0.1);
    --shadow-deep:0 15px 40px rgba(0, 0, 0, 0.15);
    --font-main:'Inter', sans-serif;
    --font-heading:'Outfit', sans-serif;
    --color-primary:var(--primary-color);
    --color-primary-rgb:var(--primary-color-rgb);
    --color-primary-dark:var(--primary-dark);
    --color-primary-soft:var(--primary-light);
    --color-bg:var(--bg-body);
    --color-surface:var(--bg-surface);
    --color-surface-glass:var(--bg-glass);
    --color-text:var(--text-dark);
    --color-text-muted:var(--text-muted);
    --color-border:var(--border-color);
    --radius-card:var(--card-radius);
    --radius-pill:999px;
    --shadow-card:var(--shadow-subtle);
    --frontend-shell-max:1320px;
    --frontend-shell-gutter:clamp(1rem, 2.5vw, 1.5rem);
    --frontend-shell-pad-y:clamp(1rem, 3vw, 2.5rem);
    --frontend-header-offset:76px
}
.frontend-main{
    flex:1;
    width:100%
}
.main-content-container{
    width:100%
}
.frontend-shell__inner{
    width:min(100%, var(--frontend-shell-max));
    margin:0 auto;
    padding:0 var(--frontend-shell-gutter)
}
.listing-page{
    width:100%;
    padding:var(--frontend-shell-pad-y) 0 calc(var(--frontend-shell-pad-y) + .5rem)
}
.listing-page .page-title-section{
    margin-bottom:1.5rem!important
}
.listing-page .filter-offcanvas{
    border-radius:12px!important
}
.listing-layout{
    align-items:flex-start
}
.listing-results{
    min-width:0
}
.listing-toolbar .form-select{
    min-width:11rem
}
.listing-pagination{
    width:100%;
    margin-top:1.5rem
}
.listing-pagination .pagination{
    margin-bottom:0
}
.listing-page .glass-surface.border.bg-white{
    background:var(--bg-surface)!important
}
.page-shell{
    width:100%;
    padding:var(--frontend-shell-pad-y) 0 calc(var(--frontend-shell-pad-y) + .5rem)
}
.page-shell .page-title-section{
    margin-bottom:1.5rem!important
}
.frontend-shell__inner--narrow{
    width:min(100%, 960px)
}
.page-shell--narrow .stepper{
    max-width:750px;
    margin-left:auto;
    margin-right:auto
}
.page-shell--property-booking .frontend-shell__inner,
.page-shell--event-booking .frontend-shell__inner,
.page-shell--checkout .frontend-shell__inner,
.page-shell--cart .frontend-shell__inner,
.page-shell--checkout-success .frontend-shell__inner{
    width:min(100%, var(--frontend-shell-max))
}
.page-shell--property-booking .stepper,
.page-shell--event-booking .stepper,
.page-shell--checkout .stepper,
.page-shell--cart .stepper,
.page-shell--checkout-success .stepper{
    max-width:min(100%, 920px);
    margin-left:auto;
    margin-right:auto;
    list-style:none;
    padding-left:0
}
.booking-header__subtitle{
    max-width:600px
}
.booking-header__context{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    max-width:980px;
    margin-left:auto;
    margin-right:auto;
    padding:.9rem 1rem;
    border:1px solid rgba(15,23,42,.08);
    border-radius:1rem
}
.booking-header__property{
    display:flex;
    align-items:center;
    gap:.85rem;
    min-width:0
}
.booking-header__thumb{
    width:58px;
    height:58px;
    border-radius:.85rem;
    object-fit:cover;
    flex:0 0 58px;
    box-shadow:0 10px 22px rgba(15,23,42,.1)
}
.booking-header__property-copy{
    min-width:0;
    text-align:left
}
.booking-header__property-title{
    color:var(--text-dark);
    font-size:.98rem;
    font-weight:900;
    line-height:1.25;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.booking-header__property-meta{
    color:var(--text-muted);
    font-size:.82rem;
    font-weight:700;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.booking-header__back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:2.5rem;
    padding:.45rem .85rem;
    border:1px solid rgba(var(--primary-color-rgb), .16);
    border-radius:999px;
    background:rgba(var(--primary-color-rgb), .06);
    color:var(--primary-color);
    font-size:.82rem;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap
}
.booking-header__back:hover{
    background:rgba(var(--primary-color-rgb), .1);
    color:var(--primary-color)
}
.booking-header__back--inline{
    align-self:flex-start
}
.page-shell--property-booking .booking-layout,
.page-shell--event-booking .booking-layout,
.page-shell--checkout .booking-layout,
.page-shell--cart .booking-layout{
    align-items:flex-start
}
.page-shell--property-booking .booking-layout__main,
.page-shell--property-booking .booking-layout__aside,
.page-shell--event-booking .booking-layout__main,
.page-shell--event-booking .booking-layout__aside,
.page-shell--checkout .booking-layout__main,
.page-shell--checkout .booking-layout__aside,
.page-shell--cart .booking-layout__main,
.page-shell--cart .booking-layout__aside{
    min-width:0
}
.page-shell--property-booking .booking-addons-panel{
    overflow:visible
}
.page-shell--property-booking .addon-card{
    overflow:visible
}
.page-shell--property-booking .addon-card > .d-flex{
    gap:.75rem;
    align-items:flex-start
}
.page-shell--property-booking .addon-card .flex-grow-1{
    min-width:0;
    flex:1 1 12rem
}
.page-shell--property-booking .addon-card .addon-card__meta{
    max-width:none
}
.page-shell--property-booking .addon-card .addon-card__qty{
    flex-shrink:0;
    margin-left:auto
}
.booking-addon-icon{
    width:55px;
    height:55px;
    flex:0 0 55px
}
.booking-addon-popular{
    font-size:.6rem
}
.booking-addon-qty-value{
    min-width:30px;
    text-align:center
}
.booking-summary-thumb{
    width:58px;
    height:58px;
    object-fit:cover;
    flex:0 0 58px
}
.booking-addon-line-icon{
    font-size:.7rem
}
.page-shell--property-booking .sticky-sidebar,
.page-shell--event-booking .sticky-sidebar,
.page-shell--checkout .sticky-sidebar{
    top:calc(var(--frontend-header-offset) + 1rem)
}
.booking-payment-panel{
    padding:clamp(1.25rem, 3vw, 2rem);
    border-radius:1.5rem;
    overflow:hidden
}
.booking-payment-panel__header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1.25rem
}
.booking-payment-panel__secure{
    display:flex;
    align-items:center;
    gap:.85rem;
    min-width:0
}
.booking-payment-panel__secure-icon{
    width:46px;
    height:46px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, rgba(var(--primary-color-rgb), .16), rgba(var(--primary-color-rgb), .06));
    color:var(--primary-color);
    font-size:1.25rem;
    flex-shrink:0
}
.booking-payment-panel__eyebrow{
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--text-muted)
}
.booking-payment-panel__title{
    font-size:clamp(1.15rem, 2vw, 1.35rem);
    font-weight:800;
    color:var(--text-dark)
}
.booking-payment-panel__brands{
    display:flex;
    align-items:center;
    gap:.45rem;
    flex-shrink:0
}
.booking-payment-brand{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:2.6rem;
    padding:.25rem .45rem;
    border-radius:.55rem;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.04em;
    border:1px solid rgba(15,23,42,.08);
    background:#fff;
    color:#64748b
}
.booking-payment-brand--visa{
    color:#1a1f71
}
.booking-payment-brand--mc{
    color:#eb001b
}
.booking-payment-brand--amex{
    color:#006fcf
}
.booking-payment-card-preview{
    position:relative;
    margin-bottom:1.5rem;
    padding:1.35rem 1.25rem 1.1rem;
    border-radius:1.15rem;
    color:#fff;
    background:linear-gradient(135deg, #4a47c5 0%, #5a57d9 45%, #7c79ef 100%);
    box-shadow:0 18px 40px rgba(74, 71, 197, .28);
    overflow:hidden
}
.booking-payment-card-preview::before{
    content:"";
    position:absolute;
    inset:auto -20% -45% auto;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(255,255,255,.12)
}
.booking-payment-card-preview__chip{
    width:38px;
    height:28px;
    border-radius:7px;
    margin-bottom:1.35rem;
    background:linear-gradient(135deg, #f6e05e, #d69e2e);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)
}
.booking-payment-card-preview__number{
    font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size:clamp(1rem, 2.4vw, 1.25rem);
    letter-spacing:.12em;
    margin-bottom:1.15rem;
    word-spacing:.2rem
}
.booking-payment-card-preview__footer{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem
}
.booking-payment-card-preview__label{
    display:block;
    font-size:.58rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.75;
    margin-bottom:.15rem
}
.booking-payment-card-preview__value{
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    max-width:12rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.booking-payment-form__demo{
    display:flex;
    align-items:flex-start;
    gap:.35rem;
    margin-bottom:1.25rem;
    padding:.85rem 1rem;
    border-radius:.95rem;
    background:rgba(var(--primary-color-rgb), .08);
    border:1px solid rgba(var(--primary-color-rgb), .14);
    color:#475569;
    font-size:.82rem;
    line-height:1.45
}
.booking-payment-form__demo code{
    padding:.08rem .35rem;
    border-radius:.4rem;
    background:#fff;
    color:var(--primary-color);
    font-size:.78rem;
    white-space:nowrap
}
.booking-payment-form__hint{
    margin-top:.4rem;
    font-size:.75rem;
    color:var(--text-muted)
}
.booking-payment-form__terms{
    display:flex;
    align-items:flex-start;
    gap:.85rem;
    padding:1rem 1.1rem;
    border-radius:1rem;
    background:rgba(var(--primary-color-rgb), .06);
    border:1px solid rgba(var(--primary-color-rgb), .14)
}
.booking-payment-form__terms .form-check-input{
    margin-top:.2rem;
    flex-shrink:0
}
.booking-payment-form__terms .form-check-label{
    font-size:.88rem;
    line-height:1.5;
    color:var(--text-dark);
    font-weight:600
}
.booking-payment-form__submit{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    flex-wrap:wrap
}
.booking-payment-form__submit-amount{
    padding:.15rem .65rem;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    font-size:.95rem
}
.booking-payment-form__submit.is-loading{
    opacity:.82;
    pointer-events:none
}
.booking-widget-trust{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.5rem
}
.booking-widget-trust span{
    display:flex;
    align-items:center;
    gap:.45rem;
    min-height:2.5rem;
    padding:.55rem .65rem;
    border:1px solid rgba(15,23,42,.08);
    border-radius:.85rem;
    background:rgba(248,250,252,.82);
    color:var(--text-muted);
    font-size:.72rem;
    font-weight:800;
    line-height:1.25
}
.booking-widget-trust i{
    flex-shrink:0
}
.booking-mobile-summary{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1030;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom));
    background:rgba(15,23,42,.94);
    color:#fff;
    box-shadow:0 -18px 45px rgba(15,23,42,.22);
    backdrop-filter:blur(14px)
}
.booking-mobile-summary__label{
    display:block;
    color:rgba(255,255,255,.65);
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase
}
.booking-mobile-summary strong{
    display:block;
    font-size:1.08rem;
    line-height:1.2
}
.booking-confirmation-status-icon{
    font-size:5rem;
    filter:drop-shadow(0 10px 15px rgba(0,0,0,.05))
}
.checkout-success-hero{
    position:relative;
    border-radius:1.5rem
}
.checkout-success-hero__glow{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.55
}
.checkout-success-hero__glow--success{
    background:radial-gradient(circle at 50% 0%,hsla(var(--primary-hue),75%,60%,.18) 0%,transparent 58%)
}
.checkout-success-hero__glow--pending{
    background:radial-gradient(circle at 50% 0%,rgba(245,158,11,.18) 0%,transparent 58%)
}
.checkout-success-hero__content{
    position:relative;
    z-index:1
}
.checkout-success-hero__message{
    max-width:42rem
}
.checkout-success-hero__icon-wrap{
    width:5.5rem;
    height:5.5rem;
    margin-inline:auto;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2.35rem;
    box-shadow:0 18px 40px rgba(0,0,0,.08)
}
.checkout-success-hero__icon-wrap--success{
    background:linear-gradient(135deg,hsla(var(--primary-hue),75%,60%,.15),#fff);
    color:var(--primary-color)
}
.checkout-success-hero__icon-wrap--pending{
    background:linear-gradient(135deg,rgba(245,158,11,.15),#fff);
    color:#d97706
}
.booking-help-avatar{
    width:48px;
    height:48px;
    border:2px solid #fff
}
.visit-confirmation-status-icon{
    font-size:5rem;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.1))
}
.visit-notes-value{
    max-width:60%;
    line-height:1.4
}
.visit-agent-avatar{
    width:45px;
    height:45px
}
.booking-payment-trust{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.75rem;
    margin-top:1rem;
    padding-top:1rem;
    border-top:1px solid rgba(15,23,42,.08)
}
.booking-payment-trust li{
    font-size:.72rem;
    line-height:1.35;
    color:var(--text-muted);
    font-weight:600;
    text-align:center
}
.booking-payment-trust i{
    display:block;
    font-size:1rem;
    margin-bottom:.35rem
}
.booking-payment-form .input-group.unified-input.is-invalid,
.booking-payment-form__terms.is-invalid{
    border-color:#dc3545!important;
    box-shadow:0 0 0 3px rgba(220,53,69,.12)!important
}
@media (max-width:991.98px){
    .frontend-alert{
        max-width:100%
    }
    .booking-header__context{
        align-items:flex-start
    }
    .page-shell--property-booking .addon-card > .d-flex{
        flex-wrap:wrap
    }
    .page-shell--property-booking .addon-card .addon-card__qty{
        margin-left:0;
        width:100%;
        justify-content:flex-end
    }
    .booking-payment-panel__header{
        flex-direction:column
    }
    .booking-payment-panel__brands{
        width:100%;
        justify-content:flex-start
    }
    .booking-payment-trust{
        grid-template-columns:1fr
    }
    .booking-payment-trust li{
        display:flex;
        align-items:center;
        gap:.55rem;
        text-align:left
    }
    .booking-payment-trust i{
        display:inline;
        margin-bottom:0
    }
    .page-shell--property-booking{
        padding-bottom:6rem
    }
}

body,h1,h2,h3,h4,h5,h6{
    font-family:Inter,sans-serif
}
.card,.glass-surface,.navbar{
    box-shadow:var(--shadow-subtle)
}
.navbar-actions-group,body,html{
    max-width:100%
}
.has-body-glow,.listing-description-container,body,html{
    position:relative
}
.collapsing,.glass-surface,.listing-card,.listing-card-img,.property-title{
    overflow:hidden
}
.addon-card,.cursor-pointer,.pointer-cursor,.speaker-card,.thumbnail-img{
    cursor:pointer
}

body,html{
    overflow-x:hidden
}
body{
    background:var(--bg-body);
    color:var(--text-dark);
    line-height:1.6;
    min-height:100vh;
    display:flex;
    flex-direction:column
}
h1,h2,h3,h4,h5,h6{
    font-weight:700;
    word-wrap:break-word
}
a{
    color:var(--primary-color);
    text-decoration:none;
    transition:color .2s
}
a:hover{
    color:var(--primary-dark)
}
.backdrop-blur{
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px)
}
.line-height-1{
    line-height:1.1
}
.avatar-img{
    height:32px;
    width:32px;
    object-fit:cover
}
hr{
    border-top:1px solid var(--border-color);
    opacity:.2
}
hr.my-5{
    height:1px;
    background:linear-gradient(to right,transparent,var(--border-color),transparent);
    border:none;
    opacity:1
}
.card,.glass-surface{
    background-color:var(--bg-glass);
    border:1px solid var(--border-color);
    border-radius:var(--card-radius);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    transition:.3s cubic-bezier(.25, .46, .45, .94)
}
.glass-surface:hover{
    box-shadow:var(--shadow-deep)
}
.glass-surface{
    border-radius:var(--card-radius,20px);
    background:rgba(255,255,255,.75)!important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border:1px solid var(--border-color);
    background-color:var(--bg-glass-heavy)
}
.has-body-glow::after,.has-body-glow::before{
    border-radius:50%;
    z-index:-1;
    position:absolute;
    content:"";
    pointer-events:none
}
.bg-primary{
    background-color:var(--primary-color)!important
}
.bg-primary-light{
    background-color:rgba(var(--primary-color-rgb),.08)
}
.bg-primary-theme{
    background-color:var(--primary-color)!important;
    color:#fff!important
}
#mainNav .nav-link.active,#userTab .nav-link.active,.hover-primary:hover,.navbar-brand,.text-primary,.text-primary-color{
    color:var(--primary-color)!important
}
.bg-dark-glass{
    background-color:rgba(0,0,0,.5)
}
.bg-glass-surface-dark{
    background-color:rgba(33,37,41,.95);
    backdrop-filter:blur(5px)
}
.bg-light-primary{
    background-color:color-mix(in srgb,var(--primary-color) 10%,transparent)
}
.has-body-glow::before{
    top:-150px;
    left:-150px;
    width:700px;
    height:700px;
    background:linear-gradient(135deg,#d08cf2,#55c0f6);
    opacity:.6;
    filter:blur(200px);
    animation:10s ease-in-out infinite pulseGlow
}
.has-body-glow::after{
    bottom:0;
    right:0;
    width:500px;
    height:500px;
    background:#f4b73d;
    opacity:.5;
    filter:blur(150px)
}
@keyframes pulseGlow{
    0%,100%{
        opacity:.4;
        transform:scale(1)
    }
    50%{
        opacity:.6;
        transform:scale(1.05)
    }
}
.navbar{
    border-bottom:1px solid var(--border-color);
    background-color:var(--bg-surface)
}
.navbar-brand img{
    max-height:40px;
    width:auto;
    object-fit:contain
}
.transition-all{
    transition:.2s ease-in-out
}
#mainNav .nav-link{
    position:relative;
    padding:.5rem .75rem
}
#mainNav .nav-link.active::after{
    content:"";
    position:absolute;
    bottom:0;
    left:1rem;
    right:1rem;
    height:3px;
    background:var(--primary-color);
    border-radius:50px
}
#mainNav .btn.rounded-pill{
    white-space:nowrap;
    font-size:.85rem
}
footer{
    background-color:var(--text-dark);
    color:rgba(255,255,255,.8);
    padding:3rem 0 1.5rem
}
.footer-logo{
    color:#fff;
    font-weight:800;
    font-size:1.25rem
}
.footer-link,.social-icon{
    color:rgba(255,255,255,.6);
    transition:color .2s
}
.footer-link{
    display:block;
    margin-bottom:.5rem
}
.footer-link:hover{
    color:var(--primary-color);
    text-decoration:underline
}
.social-icon{
    font-size:1.25rem;
    margin-right:15px
}
.filter-heading,.social-icon:hover{
    color:var(--primary-color)
}
.glass-hero-panel{
    background-color:var(--bg-glass-light);
    border:1px solid rgba(255,255,255,.7);
    box-shadow:0 20px 50px rgba(0,0,0,.03);
    border-radius:30px;
    backdrop-filter:blur(20px);
    padding:4.5rem 2.5rem 2.75rem;
    margin-bottom:4rem;
    width:100%;
    max-width:800px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    background:rgba(255,255,255,.5);
    -webkit-backdrop-filter:blur(20px);
    position:relative;
    z-index:10
}
.hero-search-stack .tab-content>.tab-pane:not(.active){
    display:none
}
.hero-search-stack .tab-content>.tab-pane.active{
    display:block
}
.search-container-wrapper{
    width:min(100%, 920px);
    position:relative;
    z-index:2
}
.hero-search-stack{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%
}
.hero-search-tabs-wrap{
    position:relative;
    z-index:25;
    width:100%;
    margin-bottom:-2.25rem;
    padding:0 1rem;
    pointer-events:none
}
.hero-search-tabs-wrap .hero-search-tabs,
.hero-search-tabs-wrap .nav-link,
.hero-search-tabs-wrap .pill-group{
    pointer-events:auto
}
.hero-search-tabs{
    position:static;
    bottom:auto;
    margin:0;
    z-index:25
}
.hero-search-tabs .nav-link{
    cursor:pointer;
    pointer-events:auto;
    border:0
}
.hero-search-max{
    max-width:920px
}
.hero-text-max{
    max-width:760px
}
.hero-section .pill-group{
    display:flex;
    width:78px;
    align-items:center;
    flex-direction:column;
    gap:.5rem
}
.hero-section .label-text{
    max-width:78px;
    color:var(--text-muted);
    font-size:.72rem;
    font-weight:800;
    line-height:1.15;
    text-align:center;
    text-transform:uppercase;
    pointer-events:none
    overflow-wrap:anywhere
}
.market-module-card,.taxonomy-chip{
    border-radius:12px;
    min-height:100%;
    box-shadow:0 8px 22px rgba(15,23,42,.06)
}
.market-module-card:hover,.taxonomy-chip:hover{
    transform:translateY(-3px);
    border-color:rgba(var(--primary-color-rgb),.28)
}
.market-module-icon{
    width:48px;
    height:48px;
    border-radius:12px;
    background:rgba(var(--primary-color-rgb),.1);
    color:var(--primary-color);
    font-size:1.35rem
}
.taxonomy-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:10px;
    background:#eef6f3;
    color:#0f766e
}
.location-pill{
    background:#fff;
    border:1px solid rgba(15,23,42,.08);
    color:var(--text-dark);
    box-shadow:0 6px 16px rgba(15,23,42,.05)
}
.location-pill:hover{
    background:#111827;
    border-color:#111827;
    color:#fff
}
.home-empty-state{
    border-radius:12px;
    background:rgba(255,255,255,.82)!important
}
.home-empty-state p{
    max-width:560px
}
.home-empty-icon{
    width:54px;
    height:54px;
    border-radius:14px;
    background:#fff4df;
    color:#b45309;
    font-size:1.45rem
}
.filter-sidebar{
    background-color:rgba(255, 255, 255, 0.8);
    box-shadow:var(--shadow-subtle);
    border:1px solid var(--border-color);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-radius:var(--card-radius);
    padding:20px;
    position:sticky;
    top:5.5rem;
    z-index: 10;
}
.filter-heading{
    font-weight:700;
    text-transform:uppercase;
    font-size:.875rem;
    color: var(--primary-color);
}
.filter-label, .metric-label{
    display:block;
    font-size:.65rem;
    font-weight:700;
    text-transform:uppercase;
    color:var(--text-muted);
    letter-spacing: 0.5px;
}
.metric-value {
    color: var(--text-dark);
    font-size: clamp(.8rem, 1.5vw, 1.1rem);
}
.btn-filter-tab{
    font-size:.875rem;
    padding:.5rem;
    font-weight:700;
    border-radius:.5rem!important;
    border:0
}
.custom-range::-webkit-slider-runnable-track{
    background:#e9ecef;
    height:6px;
    border-radius:5px
}
.custom-range::-webkit-slider-thumb{
    margin-top:-6px;
    height:18px;
    width:18px;
    background:var(--primary-color);
    border:3px solid #fff;
    border-radius:50%;
    box-shadow:0 2px 4px rgba(0,0,0,.1);
    cursor:pointer;
    -webkit-appearance:none
}
.filter-input,.form-control,.form-select,.input-group.unified-input{
    background-color:var(--bg-surface)!important;
    border:1.5px solid rgba(0,0,0,.1)!important;
    border-radius:12px!important;
    transition:.2s cubic-bezier(.4, 0, .2, 1)!important;
    padding:.6rem 1rem;
    box-shadow:none!important
}
.input-group.unified-input{
    padding:0 .5rem;
    display:flex;
    align-items:center;
    overflow:hidden
}
.input-group.unified-input .form-control{
    border:none!important;
    background:0 0!important;
    padding:.75rem .5rem;
    box-shadow:none!important
}
.input-group.unified-input .input-group-text{
    border:none!important;
    background:0 0!important;
    color:var(--primary-color);
    padding-right:0;
    font-size:1.1rem
}
#userTab .nav-link.active,.filter-input:focus{
    background-color:#fff!important
}
.filter-input:hover,.form-control:hover,.form-select:hover,.input-group.unified-input:hover{
    border-color:var(--primary-color)!important;
    background-color:#fff!important
}
.filter-input:focus,.form-control:focus,.form-select:focus,.input-group.unified-input:focus-within{
    outline:0!important;
    border-color:var(--primary-color)!important;
    background-color:#fff!important;
    box-shadow:0 0 0 4px var(--primary-light)!important
}
.frontend-alert{
    display:flex;
    align-items:flex-start;
    gap:.85rem;
    max-width:760px;
    margin:0 auto 1rem;
    padding:1rem 1.1rem;
    border:1px solid rgba(15,23,42,.08);
    border-left:4px solid var(--primary-color);
    border-radius:1rem;
    box-shadow:0 16px 38px rgba(15,23,42,.08)
}
.frontend-alert__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.35rem;
    height:2.35rem;
    border-radius:.8rem;
    background:var(--primary-light);
    color:var(--primary-color);
    flex:0 0 2.35rem;
    font-size:1.1rem
}
.frontend-alert__body{
    min-width:0;
    text-align:left
}
.frontend-alert__title{
    color:var(--text-dark);
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase
}
.frontend-alert__message,
.frontend-alert__list{
    color:var(--text-muted);
    font-size:.9rem;
    line-height:1.45
}
.frontend-alert__list{
    padding-left:1.1rem
}
.frontend-alert--success{
    border-left-color:#198754
}
.frontend-alert--success .frontend-alert__icon{
    background:rgba(25,135,84,.1);
    color:#198754
}
.frontend-alert--warning{
    border-left-color:#f59e0b
}
.frontend-alert--warning .frontend-alert__icon{
    background:rgba(245,158,11,.12);
    color:#b45309
}
.frontend-alert--danger{
    border-left-color:#dc3545
}
.frontend-alert--danger .frontend-alert__icon{
    background:rgba(220,53,69,.1);
    color:#dc3545
}
.input-group.unified-input:has(.is-invalid){
    border-color:#dc3545!important;
    box-shadow:0 0 0 3px rgba(220,53,69,.12)!important
}
.filter-input{
    font-size:.875rem;
    background-color:var(--primary-light)!important;
    border-color:transparent!important
}
.active-filter-bar{
    padding:.85rem 1rem;
    border:1px solid rgba(15,23,42,.08);
    border-radius:1rem;
    background:rgba(255,255,255,.78);
    box-shadow:0 12px 30px rgba(15,23,42,.05)
}
.active-filter-bar__label{
    color:var(--text-muted);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase
}
.active-filter-chip{
    display:inline-flex;
    align-items:center;
    min-height:2rem;
    padding:.35rem .75rem;
    border-radius:999px;
    background:var(--primary-light);
    color:var(--primary-color);
    font-size:.78rem;
    font-weight:800
}
.active-filter-clear{
    color:var(--text-muted);
    font-size:.78rem;
    font-weight:800;
    text-decoration:none
}
.active-filter-clear:hover{
    color:var(--primary-color)
}
.filter-helper{
    color:var(--text-muted);
    font-size:.76rem;
    line-height:1.45
}
.property-filter-tabs .btn-filter-tab{
    min-height:2.35rem;
    font-weight:800
}
.filter-actions{
    margin-top:1.5rem
}
.listing-card{
    padding:0
}
.listing-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-deep)
}
.listing-card-img{
    height:240px;
    width:100%
}
.listing-card-img img{
    width:100%;
    height:100%;
    object-fit:cover
}
.transition-img{
    transition:transform .6s cubic-bezier(.165, .84, .44, 1)
}
.listing-card:hover .transition-img,.star-rating label:hover,.star-rating label:hover~label{
    transform:scale(1.1)
}
.property-listing-card{
    overflow:hidden
}
.property-listing-card__media{
    aspect-ratio:4/3;
    background:var(--primary-light)
}
.property-listing-card__body{
    min-width:0
}
.property-listing-card__metrics .metric-label{
    line-height:1.2
}
.property-listing-card__metrics .metric-value{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.sticky-booking-bar{
    box-shadow:0 -16px 40px rgba(15,23,42,.18)
}
.sticky-booking-bar__summary{
    flex:1 1 auto
}
.host-profile-avatar{
    width:80px;
    height:80px;
    object-fit:cover
}
.agent-profile-avatar{
    width:90px;
    height:90px;
    object-fit:cover
}
.related-property-img{
    height:200px;
    object-fit:cover
}
.property-map-frame{
    max-height:400px;
    border-radius:var(--bs-card-border-radius);
    overflow:hidden
}
.property-map-frame__embed{
    border:0;
    border-radius:var(--bs-card-border-radius)
}
.property-disclosure{
    background:#fff9e6
}
.property-disclosure__copy{
    font-size:.8rem;
    line-height:1.4
}
.livability-score-summary{
    background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%)
}
.livability-score-ring{
    width:80px;
    height:80px;
    border:4px solid rgba(255,255,255,.3)
}
.livability-score-value{
    font-size:1.6rem
}
.livability-score-scale{
    font-size:.6rem;
    margin-top:-2px
}
.score-card{
    background:var(--bg-glass-light);
    border:1px solid var(--border-color)!important
}
.score-card__ring{
    width:55px;
    height:55px;
    border-radius:50%;
    border:2px solid var(--primary-light);
    background:#fff;
    box-shadow:0 4px 12px var(--score-glow, rgba(111,66,193,.1))
}
.score-card__value{
    font-size:1.1rem
}
.score-card__scale{
    font-size:.55rem;
    margin-top:-2px
}
.score-card__title{
    font-size:.6rem
}
.score-card__badge{
    font-size:.55rem
}
.property-scores-panel--expanded .livability-score-ring{
    width:110px;
    height:110px
}
.property-scores-panel--expanded .livability-score-value{
    font-size:2.25rem
}
.property-scores-panel--expanded .livability-score-scale{
    font-size:.75rem
}
.property-scores-panel--expanded .score-card__ring{
    width:72px;
    height:72px
}
.property-scores-panel--expanded .score-card__value{
    font-size:1.35rem
}
.property-scores-panel--expanded .score-card__scale{
    font-size:.7rem
}
.property-scores-panel--expanded .score-card__title{
    font-size:.72rem
}
.property-scores-panel--expanded .score-card__badge{
    font-size:.65rem
}
.property-scores-panel--expanded .score-card{
    padding:1rem!important
}
.property-document-icon{
    background:#e7f3ff;
    color:#007bff
}
.asset-btn--disabled{
    cursor:not-allowed;
    opacity:.72
}
.amenity-icon-sm{
    width:35px;
    height:35px;
    min-width:35px
}
.review-avatar{
    width:40px;
    height:40px
}
.rule-card--warning{
    border-color:#ffc107!important
}
.property-status-badge{
    margin:.75rem;
    padding:.5rem 1rem;
    font-size:clamp(.6rem, 1vw, .8rem)
}
.price-overlay{
    padding:.5rem 1rem
}
.price-text-sm{
    font-size:clamp(.75rem, 1.2vw, 1.1rem)
}
.property-title{
    font-size:clamp(.9rem, 1.3vw, 1.25rem);
    color:var(--text-dark);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    min-height:3rem
}
.property-location{
    font-size:clamp(.75rem, 1vw, .9rem)
}
.col .card{
    height:100%;
    display:flex;
    flex-direction:column
}
.card-img-top{
    aspect-ratio:4/3;
    object-fit:cover
}
.price-font{
    font-size:clamp(.8rem, 2vw, 1.15rem)
}
.metric-label{
    display:block;
    color:var(--text-muted);
    font-weight:700;
    font-size:.55rem;
    letter-spacing:.5px;
    margin-bottom:2px
}
.metric-value{
    font-size:clamp(.7rem, 1.5vw, 1rem);
    color:var(--text-dark)
}
.auto-badge{
    font-size:clamp(.6rem, 1vw, .75rem)!important
}
.stepper{
    display:flex;
    justify-content:space-between;
    position:relative;
    padding:20px 0;
    list-style:none;
    padding-left:0
}
.stepper::before{
    content:"";
    position:absolute;
    top:35px;
    left:10%;
    right:10%;
    height:2px;
    background:var(--border-color);
    z-index:0
}
.step{
    display:flex;
    flex-direction:column;
    align-items:center;
    flex:1;
    text-align:center;
    z-index:1
}
.step-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    line-height:32px;
    border-radius:50%;
    background-color:var(--primary-light);
    color:var(--text-muted);
    font-weight:700;
    margin-bottom:8px
}
.step.active .step-icon{
    background-color:var(--primary-color);
    color:#fff;
    box-shadow:0 0 0 4px var(--primary-light)
}
.step.done .step-icon{
    background-color:#198754;
    color:#fff
}
.price-text-large{
    font-size:2.5rem;
    font-weight:800;
    color:var(--primary-color)
}
.card-details-section{
    background-color:var(--bg-glass-light);
    border-top:1px solid var(--border-color)
}
.addon-card{
    background:rgba(255,255,255,.5);
    border:1.5px solid var(--border-color);
    border-radius:1.25rem;
    transition:.3s cubic-bezier(.4, 0, .2, 1);
    overflow:visible!important
}
.addon-card:hover{
    background:rgba(255,255,255,.8);
    border-color:var(--primary-color);
    transform:translateY(-2px)
}
.hover-up:hover,.score-card:hover{
    transform:translateY(-3px)
}
.addon-selected{
    background:#fff!important;
    border-color:var(--primary-color)!important;
    box-shadow:0 10px 30px hsla(var(--primary-hue),75%,60%,.1)!important
}
.addon-selected .addon-icon-box{
    border:1px solid var(--primary-color);
    transition:.3s
}
.addon-check-badge{
    position:absolute;
    top:50%;
    left:0;
    transform:translate(-50%,-50%);
    background-color:var(--primary-color)!important;
    color:#fff;
    width:22px;
    height:22px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
    z-index:10;
    border:2px solid #fff
}
.addon-check-badge i{
    font-size:.75rem;
    -webkit-text-stroke:0.5px
}
.badge.rounded-circle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px
}
.page-wrapper{
    padding-top:50px;
    width:100%;
    overflow-x:hidden;
    position:relative;
    transition:padding .3s
}
.listing-header-carousel{
    border-radius:var(--card-radius) var(--card-radius) 0 0;
    overflow:hidden;
    position:relative
}
.listing-header-img{
    height:500px;
    object-fit:cover;
    width:100%;
    transition:transform .8s
}
.carousel-item:hover .listing-header-img{
    transform:scale(1.03)
}
.sticky-sidebar{
    position:sticky;
    top:calc(var(--frontend-header-offset, 60px) + 1rem);
    z-index:10
}
.detail-metric-card{
    padding:1rem 1.1rem;
    border:1px solid rgba(15,23,42,.08);
    border-radius:1rem;
    background:rgba(255,255,255,.72);
    box-shadow:0 10px 24px rgba(15,23,42,.05)
}
.product-detail-header__price .price-text-large{
    line-height:1.1
}
.product-purchase-quote{
    backdrop-filter:blur(8px)
}
.product-gallery__main{
    aspect-ratio:1/1;
    cursor:zoom-in
}
.product-gallery__thumb{
    width:80px;
    height:80px;
    flex:0 0 80px
}
.product-gallery__thumbs{
    scrollbar-width:thin
}
.product-gallery__thumbs::-webkit-scrollbar{
    height:4px
}
.product-gallery__thumbs::-webkit-scrollbar-thumb{
    background:#cbd5e0;
    border-radius:10px
}
.product-gallery__thumb-img.active{
    opacity:1!important;
    transform:scale(.95);
    border-color:var(--primary-color)!important
}
.product-gallery__thumb-img:hover{
    opacity:1;
    border-color:var(--primary-color)
}
.event-date-options{
    max-height:250px;
    overflow-y:auto;
    border-bottom:1px solid rgba(15,23,42,.08);
    padding-bottom:.75rem
}
.event-countdown-banner{
    background:rgba(var(--primary-color-rgb, 59, 130, 246), .12);
    color:var(--text-dark);
    border:1px solid rgba(var(--primary-color-rgb, 59, 130, 246), .18)
}
.feature-item{
    font-size:1.1rem;
    transition:transform .3s,background-color .3s
}
.feature-item i{
    font-size:1.5rem
}
.list-group-item.bg-transparent{
    background-color:transparent!important
}
.badge-outline-theme{
    background:var(--bg-glass-light);
    color:var(--primary-color);
    border:1px solid hsla(var(--primary-hue),75%,60%,.3)
}
.badge-outline-dark{
    background:var(--bg-glass-light);
    color:var(--text-dark);
    border:1px solid rgba(0,0,0,.1)
}
.icon-circle-theme{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fff;
    color:var(--primary-color);
    box-shadow:0 4px 10px rgba(0,0,0,.05)
}
.price-container{
    min-width:300px;
    border:1px solid var(--border-color)!important
}
.price-glow-effect{
    position:absolute;
    top:-50%;
    right:-50%;
    width:100%;
    height:100%;
    background:radial-gradient(circle,hsla(var(--primary-hue),75%,60%,.1) 0,transparent 70%);
    pointer-events:none
}
.border-color-light{
    border-color:var(--border-color)!important
}
.section-title::after{
    content:"";
    display:block;
    width:45px;
    height:5px;
    background:var(--primary-color);
    margin-top:10px;
    border-radius:10px
}
.score-card{
    background:var(--bg-glass-light);
    border-radius:12px;
    padding:15px;
    border:1px solid var(--border-color);
    transition:.3s
}
.score-card:hover{
    background:var(--bg-surface)
}
.gallery-section{
    position:relative;
    z-index:1;
    background-color:transparent;
    border-top-left-radius:var(--bs-card-border-radius);
    border-top-right-radius:var(--bs-card-border-radius)
}
.detail-page{
    width:100%;
    padding:var(--frontend-shell-pad-y) 0 calc(var(--frontend-shell-pad-y) + .5rem)
}
.detail-page__inner{
    padding:0 var(--frontend-shell-gutter)
}
.detail-page__breadcrumbs{
    margin-bottom:.75rem
}
.detail-page__grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(300px, 380px);
    gap:1.5rem;
    align-items:start
}
.detail-page__main,
.detail-page__sidebar{
    min-width:0
}
.detail-page__sidebar-stack{
    position:sticky;
    top:var(--frontend-header-offset);
    display:flex;
    flex-direction:column;
    gap:1rem
}
.detail-page .sticky-sidebar{
    position:static;
    top:auto
}
.detail-page .card.glass-surface,
.detail-page article.glass-surface{
    border-radius:12px!important;
    box-shadow:0 12px 32px rgba(15,23,42,.08)!important
}
.detail-page .gallery-section{
    min-height:280px;
    background:#f8fafc
}
.detail-page .gallery-section img,
.detail-page .listing-header-img,
.detail-page .main-product-image,
.detail-page .main-listing-img{
    object-fit:cover
}
.detail-page .p-lg-5{
    padding:2rem!important
}
.detail-page .section-title{
    font-size:1.15rem;
    line-height:1.25;
    margin-bottom:1rem!important
}
.detail-page .section-title::after{
    width:34px;
    height:3px;
    margin-top:.55rem
}
.detail-page section{
    scroll-margin-top:96px
}
.detail-page__related{
    margin-top:.5rem
}
.detail-page__related .related-wrapper{
    padding-bottom:2.5rem!important
}
.detail-page__sidebar .card,
.detail-page__sidebar .glass-surface,
.detail-page__sidebar .rounded-4{
    border-radius:12px!important
}
.detail-page__sidebar .btn{
    border-radius:10px!important
}
.btn-primary,.btn-primary-theme{
    background-color:var(--primary-color)!important
}
.hover-up{
    transition:transform .2s
}
.btn-primary{
    border-color:var(--primary-color)!important;
    color:#fff!important;
    transition:background-color .2s,box-shadow .2s;
    font-weight:600
}
.btn-primary:hover{
    background-color:var(--primary-dark)!important;
    border-color:var(--primary-dark)!important;
    box-shadow:0 5px 15px hsla(var(--primary-hue),75%,60%,.4)
}
.btn-outline-primary,.btn-outline-primary-theme{
    color:var(--primary-color);
    border-color:var(--primary-color)
}
.btn-outline-primary-theme:hover,.btn-outline-primary:hover{
    background-color:var(--primary-color);
    color:#fff
}
.btn-primary-theme{
    border:none!important;
    color:#fff!important;
    box-shadow:0 4px 15px hsla(var(--primary-hue),75%,60%,.3);
    transition:background-color .2s,transform .1s;
    border-color:var(--primary-color)!important
}
.btn-primary-theme:hover{
    background-color:var(--primary-dark);
    transform:translateY(-1px);
    border-color:var(--primary-dark)
}
.btn-dark.rounded-pill{
    transition:transform .2s ease-in-out
}
.btn-dark.rounded-pill:active{
    transform:scale(.95) translateX(-50%)
}
.btn-icon-sm{
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary-color)
}
.pagination .custom-page-item{
    margin:0 2px
}
.pagination .custom-page-link{
    color:var(--primary-color);
    border:1px solid transparent;
    border-radius:50%!important;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.2s ease-in-out
}
.pagination .custom-page-link.active-link{
    background-color:var(--primary-color);
    color:#fff!important;
    box-shadow:0 4px 10px hsla(var(--primary-hue),75%,60%,.5)
}
.badge.border-secondary{
    color:var(--bs-secondary-color)!important;
    background-color:transparent!important
}
.z-30{
    z-index:30
}
.hover-lift:hover{
    box-shadow:0 15px 30px rgba(0,0,0,.1)!important
}
.frontend-page--home .hero-section{
    margin-bottom:0
}
.hero-section{
    padding-top:100px!important;
    padding-bottom:120px;
    background: linear-gradient(135deg, 
        rgba(var(--primary-color-rgb), 0.05) 0%, 
        rgba(var(--primary-color-rgb), 0.1) 50%, 
        white 100%
    );
    min-height:80vh;
    display:flex;
    align-items:center;
    overflow:visible
}
.hero-nav-pills .nav-link,.hero-section .nav-pills .nav-link{
    width:75px;
    height:75px;
    box-shadow:0 10px 25px rgba(0,0,0,.06);
    align-items:center;
    font-size:1.8rem;
    transition:.3s;
    display:flex
}
.hero-nav-pills{
    position:absolute;
    top:-45px;
    left:0;
    right:0;
    z-index:10;
    gap:2rem
}
.hero-nav-pills .nav-link{
    border-radius:50%!important;
    background:#fff;
    justify-content:center
}
.hero-nav-pills .nav-link.active{
    background:var(--primary-color)!important;
    color:#fff!important;
    transform:translateY(-5px)
}
.hero-section .nav-pills,
.hero-section .hero-search-tabs{
    gap:1rem;
    border:none;
    justify-content:center;
    flex-wrap:wrap;
    padding:0
}
.hero-section .nav-pills .nav-link{
    border-radius:50%!important;
    background:#fff;
    color:#4a5568;
    justify-content:center
}
.hero-section .nav-pills .nav-link.active{
    background:var(--primary-color)!important;
    color:#fff!important;
    transform:translateY(-5px);
    box-shadow:0 15px 30px rgba(var(--primary-color-rgb),.35)
}
.custom-pill-input{
    height:60px;
    border-radius:50px!important;
    border:1px solid #e2e8f0;
    padding:0 30px;
    font-size:1rem;
    background-color:#fff
}
.glass-hero-panel .row{
    justify-content:center
}
.btn-search-pill{
    height:60px;
    border-radius:50px!important;
    background:var(--primary-color);
    color:#fff;
    font-weight:700;
    padding:0 35px;
    transition:.3s;
    border:none
}
.btn-glass-back{
    background:#fff;
    border:1px solid var(--border-color);
    color:var(--text-dark)
}
.btn-glass-back:hover{
    background:var(--primary-color);
    color:#fff!important;
    border-color:var(--primary-color);
    transform:translateX(-3px)
}
.breadcrumb-item+.breadcrumb-item::before{
    content:"›";
    font-size:1.2rem;
    line-height:1;
    vertical-align:middle;
    color:var(--text-muted);
    opacity:.5
}
.feature-icon-box{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:var(--primary-light);
    color:var(--primary-color);
    font-size:1.25rem;
    transition:transform .3s
}
.feature-item:hover .feature-icon-box{
    transform:scale(1.1) rotate(-5deg)
}
.rule-card{
    border-left:4px solid var(--primary-color);
    background:var(--bg-glass-light);
    padding:1rem;
    border-radius:0 12px 12px 0;
    height:100%
}
.review-score-big{
    font-size:3rem;
    font-weight:800;
    line-height:1;
    color:var(--primary-color);
    text-shadow:0 10px 20px rgba(var(--primary-hue),.2)
}
.calendar-placeholder{
    background:repeating-linear-gradient(45deg,var(--bg-glass-light),var(--bg-glass-light) 10px,#fff 10px,#fff 20px);
    border:2px dashed var(--border-color)
}
.tracking-wider{
    letter-spacing:.05em
}
.receipt-row{
    display:flex;
    justify-content:space-between;
    padding:12px 0;
    font-size:.95rem;
    border-bottom:1px dashed rgba(0,0,0,.08);
    align-items:center
}
.event-pill,.fs-7,.smaller{
    font-size:.85rem
}
.receipt-row:last-child,.receipt-row:last-of-type{
    border-bottom:none
}
.receipt-row .label{
    color:#6c757d;
    font-weight:500
}
.receipt-row .value{
    font-weight:600;
    color:#212529
}
.btn-white{
    color:#444;
    background:#fff;
    border-color:var(--border-color);
    border-radius:10px;
    transition:.3s;
    border:1px solid rgba(0,0,0,.1)
}
.bi-check-circle-fill,.bi-clock-history{
    animation:.6s ease-out slideUpFade
}
@keyframes slideUpFade{
    from{
        transform:translateY(20px);
        opacity:0
    }
    to{
        transform:translateY(0);
        opacity:1
    }
}
.hover-light:hover{
    background:var(--primary-light);
    transform:translateX(5px)
}
.tracking-tight,.tracking-tighter{
    letter-spacing:-.02em
}
.btn-white:hover{
    background:#f8f9fa;
    color:var(--primary-color);
    transform:translateY(-2px)
}
.border-dark,.flatpickr-day,.flatpickr-months .flatpickr-month,.flatpickr-weekday,.flatpickr-weekdays{
    color:var(--text-dark)
}
.bi-check-circle-fill,.bi-exclamation-circle-fill,.bi-star-fill{
    display:inline-block;
    animation:.6s cubic-bezier(.175,.885,.32,1.275) statusBounce
}
@keyframes statusBounce{
    0%{
        transform:scale(.5);
        opacity:0
    }
    50%{
        transform:scale(1.1)
    }
    100%{
        transform:scale(1);
        opacity:1
    }
}
#inline_calendar_container{
    display:none!important
}
.date-selection-container{
    border:1px solid var(--border-color);
    border-radius:var(--card-radius,20px);
    padding:15px;
    margin-bottom:1.5rem
}
.flatpickr-calendar.inline{
    background-color:var(--bg-glass-heavy);
    background:0 0;
    box-shadow:none;
    width:100%;
    margin:0 auto;
    display:block
}
.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{
    fill:var(--primary-dark);
    transition:fill .15s
}
.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{
    fill:var(--primary-color)
}
.flatpickr-day{
    transition:background .15s
}
.description-content b,.description-content strong,.event-pill{
    color:var(--primary-color);
    font-weight:700
}
.flatpickr-day:hover:not(.selected):not(.startRange):not(.endRange):not( .disabled ){
    background:rgba(0,0,0,.05)
}
.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange{
    background:var(--primary-color);
    border-color:var(--primary-color);
    color:#fff;
    box-shadow:0 2px 4px rgba(0,0,0,.1)
}
.form-control:focus,.roadmap-item.active .roadmap-dot,.schedule-item::before{
    box-shadow:0 0 0 4px var(--primary-light)
}
.flatpickr-day.endRange:hover,.flatpickr-day.selected.endRange,.flatpickr-day.selected.startRange,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover{
    background:var(--primary-dark);
    border-color:var(--primary-dark)
}
.flatpickr-day.inRange{
    background:var(--primary-light);
    border-color:var(--primary-light);
    color:var(--text-dark)
}
.flatpickr-day.inRange:hover{
    background:color-mix(in srgb,var(--primary-light) 80%,#fff);
    border-color:color-mix(in srgb,var(--primary-light) 80%,#fff)
}
.event-pill,.flatpickr-day.today:hover{
    background:var(--primary-light)
}
.flatpickr-day.today{
    border-color:var(--primary-color)
}
.schedule-timeline{
    border-left:2px dashed rgba(var(--primary-color-rgb,100,116,255),.3);
    padding-left:2rem;
    position:relative
}
.schedule-item{
    position:relative;
    padding-bottom:2.5rem
}
.schedule-item::before{
    content:"";
    position:absolute;
    left:calc(-2rem - 6px);
    top:0;
    width:12px;
    height:12px;
    background:var(--primary-color);
    border-radius:50%;
    border:3px solid #fff
}
.speaker-card{
    transition:transform .3s;
    border-radius:15px;
    overflow:hidden
}
.speaker-card:hover{
    transform:translateY(-5px)
}
.event-pill{
    padding:6px 16px;
    border-radius:50px;
    display:inline-flex;
    align-items:center
}
.smallest,.tiny{
    font-size:.65rem
}
.line-height-lg{
    line-height:1.8
}
.line-height-md{
    line-height:1.6
}
.bg-light.rounded-4.shadow-sm{
    transition:transform .2s,border-color .2s
}
.bg-light.rounded-4.shadow-sm:hover,.map-wrapper:hover{
    border-color:var(--primary-color)!important;
    transform:translateY(-3px)
}
.bg-danger,.bg-danger-theme{
    background-color:#dc3545!important
}
.text-success-theme{
    color:var(--bs-success)!important
}
.bg-success-theme{
    background-color:var(--bs-success)!important
}
.bg-warning-theme{
    background-color:var(--bs-warning)!important
}
.success-icon-wrapper{
    width:80px;
    height:80px;
    background:var(--primary-color);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    animation:.5s cubic-bezier(.175,.885,.32,1.275) scaleIn;
    color:#fff;
    font-size:3rem;
    margin:0 auto;
    box-shadow:0 10px 25px -5px var(--primary-light)
}
@keyframes pulseSuccess{
    0%{
        box-shadow:0 0 0 0 rgba(25,135,84,.4)
    }
    70%{
        box-shadow:0 0 0 20px rgba(25,135,84,0)
    }
    100%{
        box-shadow:0 0 0 0 rgba(25,135,84,0)
    }
}
.step-dot{
    width:12px;
    height:12px;
    border-radius:50%;
    display:block;
    margin-top:5px
}
.ticket-sidebar{
    position:sticky;
    top:100px
}
.grayscale{
    filter:grayscale(1);
    opacity:.6
}
.form-control,.form-select{
    border-radius:12px;
    padding:.75rem 1rem;
    border:2px solid #f0f0f0;
    transition:.2s
}
.form-control:focus{
    border-color:var(--primary-color)
}
.feature-item:hover,.feature-pill:hover{
    border-color:var(--primary-color)!important
}
.badge.bg-primary-light{
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center
}
.bi-patch-check-fill,.bi-send-check-fill{
    animation:.5s cubic-bezier(.34,1.56,.64,1) scaleIn
}
.feature-item:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.8)!important
}
.description-content{
    font-size:1.05rem;
    color:#4a5568!important;
    letter-spacing:-.01em
}
.fw-500,.spec-table th{
    font-weight:500
}
.specs-table-container{
    background:#fff;
    box-shadow:var(--shadow-sm)
}
.bg-glass-light:hover{
    background:rgba(var(--primary-hue),.02)!important;
    transition:background .2s
}
.feature-pill{
    border:1px solid rgba(0,0,0,.05)
}
.feature-pill:hover{
    background:#fff!important;
    transform:translateX(4px);
    box-shadow:var(--shadow-sm)
}
.feature-pill:hover .bi-check2{
    transform:scale(1.2);
    transition:transform .2s
}
.map-wrapper{
    transition:transform .3s
}
.spec-table tr{
    border-bottom:1px solid var(--border-color)
}
.spec-table th{
    color:var(--text-muted);
    padding:1rem 0;
    border:none;
    font-size:.9rem
}
.spec-table td{
    color:var(--text-dark);
    font-weight:700;
    padding:1rem 0;
    text-align:right;
    border:none
}
.feature-tag{
    background:var(--bg-glass-light);
    border:1px solid var(--border-color);
    padding:10px 18px;
    border-radius:12px;
    font-weight:600;
    font-size:.85rem;
    transition:.3s
}
.feature-tag:hover{
    transform:translateY(-2px);
    background:#fff;
    border-color:var(--primary-color);
    box-shadow:var(--shadow-sm)
}
.price-tag-lg{
    background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));
    color:#fff;
    font-size:2rem;
    font-weight:800;
    padding:.75rem 1.5rem;
    border-radius:15px;
    display:inline-block
}
.company-logo-header{
    border-radius:var(--bs-border-radius);
    width:100px;
    height:100px;
    object-fit:cover
}
.bg-success-light{
    background:rgba(25,135,84,.12)!important
}
.text-success{
    color:#198754!important
}
.text-danger{
    color:#dc3545!important
}
.btn-outline-secondary{
    background-color:rgba(255,255,255,.1);
    border-color:rgba(0,0,0,.1)
}
.apply-sidebar{
    position:sticky;
    top:76px
}
.border-top{
    border-top:1px solid rgba(255,255,255,.1)!important
}
.process-timeline{
    position:relative;
    padding-left:20px
}
.process-timeline li{
    position:relative;
    border-left:2px solid var(--primary-light);
    padding-left:15px
}
.process-timeline li:last-child{
    border-left:none
}
.process-timeline li i{
    margin-top:3px
}
.glass-input{
    background:rgba(255,255,255,.6)!important;
    border:1px solid rgba(0,0,0,.08)!important;
    border-radius:14px!important;
    transition:.3s
}
.glass-input:focus{
    background:#fff!important;
    border-color:var(--primary-color)!important;
    box-shadow:0 0 0 4px var(--primary-light)!important
}
.form-floating>label{
    color:#6c757d;
    padding-left:1rem
}
.shadow-primary-md{
    box-shadow:0 10px 20px -5px var(--primary-light)
}
.extra-small{
    font-size:.75rem
}
@keyframes scaleIn{
    from{
        transform:scale(0);
        opacity:0
    }
    to{
        transform:scale(1);
        opacity:1
    }
}
.roadmap{
    display:flex;
    gap:15px;
    position:relative
}
.roadmap-item{
    flex:1;
    position:relative;
    padding-top:25px
}
.roadmap-dot{
    width:12px;
    height:12px;
    background:#dee2e6;
    border-radius:50%;
    position:absolute;
    top:0;
    left:0
}
.roadmap-item.active .roadmap-dot{
    background:var(--primary-color)
}
.roadmap::before{
    content:"";
    position:absolute;
    top:5px;
    left:0;
    right:0;
    height:2px;
    background:#eee;
    z-index:0
}
.border-dashed{
    border-style:dashed!important
}
.stats-pill{
    background:rgba(255,255,255,.8);
    border:1px solid #eee;
    padding:6px 14px;
    border-radius:50px;
    font-size:.85rem;
    color:#6c757d;
    box-shadow:0 2px 4px rgba(0,0,0,.02)
}
.tiny-dot{
    font-size:.5rem;
    vertical-align:middle
}
.icon-box-sm{
    background:var(--primary-light);
    color:var(--primary-color);
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px
}
.btn-icon-glass,.icon-circle{
    align-items:center;
    display:flex
}
.btn-icon-glass{
    background:rgba(255,255,255,.8);
    border:1px solid var(--border-color);
    border-radius:14px;
    color:var(--text-dark);
    width:46px;
    height:46px;
    justify-content:center;
    transition:.3s;
    backdrop-filter:blur(5px)
}
#mainNav.scrolled,.glass-surface{
    backdrop-filter:blur(10px)
}
.btn-icon-glass:hover{
    background:var(--primary-color);
    color:#fff;
    transform:translateY(-2px)
}
.bg-warning-light{
    background:rgba(255,193,7,.12)!important
}
.icon-circle{
    justify-content:center;
    border-radius:50%;
    width:38px;
    height:38px;
    flex-shrink:0
}
.icon-circle-sm,.spec-icon-box{
    width:42px;
    height:42px
}
.last-child-border-0:last-child{
    border-bottom:0!important
}
.price-badge-premium{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    border:1px solid var(--border-color)
}
.price-amount{
    background:var(--primary-color);
    color:#fff;
    font-size:1.1rem
}
.price-label{
    color:var(--text-dark);
    background:#f8f9fa;
    font-size:.65rem
}
.package-selection-card{
    border-radius:20px;
    position:relative;
    overflow:hidden
}
.package-selection-card:hover{
    border-color:var(--primary-color)!important;
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(0,0,0,.08)!important
}
.is-popular-glow{
    border-color:rgba(var(--primary-color-rgb),.3)!important;
    background:linear-gradient(to right,rgba(var(--primary-color-rgb),.02),transparent)
}
.is-popular-glow::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:4px;
    height:100%;
    background:var(--primary-color)
}
.badge-feature{
    background:#f8f9fa;
    border:1px solid #eee;
    color:#555;
    padding:4px 12px;
    border-radius:100px;
    font-size:.75rem;
    font-weight:600
}
.fw-900{
    font-weight:900
}
.spec-icon-box{
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.2rem
}
.badge-premium-info,.badge-premium-warning{
    font-size:.75rem;
    font-weight:700;
    padding:6px 12px;
    border-radius:50px
}
.border-bottom{
    border-color:rgba(0,0,0,.05)!important
}
.bg-light-glow{
    background-color:rgba(var(--primary-color-rgb),.02)!important;
    border-left:4px solid var(--primary-color)!important
}
.badge-premium-info{
    background:#e0f2fe;
    color:#0369a1
}
.badge-premium-warning{
    background:#fef3c7;
    color:#92400e
}
@keyframes pulse-soft{
    0%,100%{
        opacity:1
    }
    50%{
        opacity:.7
    }
}
.animate-pulse{
    animation:2s infinite pulse-soft
}
.main-listing-img{
    width:100%;
    max-height:400px;
    object-fit:contain;
    border-radius:var(--bs-card-border-radius);
    background-color:#f8f9fa
}
.thumbnail-img{
    width:70px;
    height:70px;
    object-fit:cover;
    border-radius:4px;
    border:2px solid transparent;
    transition:border-color .2s,opacity .2s;
    opacity:.7
}
.thumbnail-img:hover{
    opacity:1;
    border-color:rgba(0,0,0,.2)
}
.thumbnail-img.active{
    border-color:var(--primary-color);
    opacity:1
}
.alert-info[role=alert]{
    background-color:var(--primary-light)!important;
    border-color:var(--primary-color)!important;
    color:#333
}
.related-img{
    height:120px;
    object-fit:cover;
    border-top-left-radius:var(--bs-card-border-radius);
    border-top-right-radius:var(--bs-card-border-radius)
}
.map-placeholder{
    height:100px;
    background-color:rgba(255,255,255,.5);
    border:1px solid rgba(0,0,0,.1)
}
@media (min-width:992px){
    .listing-card-img{
        height:220px
    }
    .metric-label{
        font-size:.65rem
    }
}
@media (max-width:992px){
    .listing-card-img{
        height:140px
    }
    .property-status-badge{
        margin:.5rem;
        padding:.25rem .5rem
    }
}
@media (max-width:991px){
    .detail-page{
        padding-top:.75rem
    }
    .detail-page--property-rental{
        padding-bottom:5.5rem
    }
    .detail-page__grid{
        grid-template-columns:1fr;
        gap:1rem
    }
    .detail-page__sidebar-stack{
        position:static
    }
    .detail-page .gallery-section{
        min-height:220px
    }
    .price-container{
        min-width:100%;
        margin-top:1rem
    }
    .page-title-section{
        text-align:left!important;
        border-bottom:1px solid var(--border-color);
        padding-bottom:1.5rem
    }
}
@media (max-width:768px){
    .page-wrapper{
        padding-top:30px
    }
    .listing-header-img{
        height:320px
    }
    .container-xl{
        padding-left:15px;
        padding-right:15px
    }
    .mobile-flush{
        margin-left:-15px;
        margin-right:-15px;
        width:calc(100% + 30px);
        border-radius:0
    }
    .display-5{
        font-size:1.6rem
    }
    .price-badge-premium{
        width:100%;
        justify-content:space-between;
        margin-bottom:8px
    }
}
@media (max-width:767.98px){
    .page-title-section{
        text-align:center!important
    }
    .page-title-section .d-flex{
        align-items:center!important
    }
    .page-title-section p{
        margin-left:auto;
        margin-right:auto
    }
}
@media (max-width:576px){
    .booking-header__context{
        flex-direction:column;
        padding:.85rem;
        gap:.85rem
    }
    .booking-header__property{
        width:100%
    }
    .booking-header__back{
        width:100%
    }
    .frontend-alert{
        padding:.9rem;
        border-radius:.9rem
    }
    .frontend-alert__icon{
        width:2rem;
        height:2rem;
        flex-basis:2rem;
        border-radius:.7rem
    }
    .main-product-image{
        height:300px
    }
    .listing-header-img{
        height:250px
    }
    .stepper::before{
        left:0;
        right:0
    }
}
@media (max-width:360px){
    .btn-sm-mobile{
        padding:.4rem .8rem!important;
        font-size:.75rem!important
    }
    .navbar-brand span{
        max-width:100px;
        font-size:1.15rem!important
    }
    .btn-sm-mobile i{
        display:none
    }
}
@media print{
    .btn,.page-header,.sidebar{
        display:none!important
    }
    .glass-surface{
        border:1px solid #ddd!important;
        box-shadow:none!important
    }
}
@media (min-width:768px){
    .border-start-md{
        border-left:1.5px solid var(--border-color)!important;
        border-left:1px solid
    }
}
@media (max-width:767px){
    .listing-card-img{
        height:140px
    }
    .card-body{
        padding:10px!important
    }
    .price-display{
        margin-top:1rem;
        padding-top:1rem;
        border-top:1px solid #eee
    }
}
#mainNav{
    transition:.3s ease-in-out
}
.navbar-transparent{
    background-color:transparent!important;
    border-color:transparent!important
}
#mainNav.scrolled{
    background-color:rgba(255,255,255,.95)!important;
    padding-top:.5rem;
    padding-bottom:.5rem
}
.footer-section .social-icon{
    transition:transform .2s ease-in-out,opacity .2s ease-in-out;
    display:inline-block
}
.footer-section .social-icon:hover{
    transform:translateY(-3px);
    opacity:1!important
}
.footer-section .nav-link{
    transition:opacity .2s
}
.footer-newsletter{
    background:rgba(255,255,255,.04)
}
.footer-section .nav-link:hover{
    text-decoration:underline!important;
    opacity:1!important
}
.hover-opacity-100:hover{
    opacity:1!important
}
.opacity-10{
    opacity:.1!important
}
.bg-opacity-5{
    --bs-bg-opacity:0.05
}
.bg-opacity-10{
    --bs-bg-opacity:0.1
}
.bg-opacity-15{
    --bs-bg-opacity:0.15
}
.bg-opacity-20{
    --bs-bg-opacity:0.2
}
.bg-opacity-25{
    --bs-bg-opacity:0.25
}
.bg-opacity-50{
    --bs-bg-opacity:0.5
}
.bg-opacity-75{
    --bs-bg-opacity:0.75
}
.border-opacity-10{
    --bs-border-opacity:0.1
}
.border-opacity-25{
    --bs-border-opacity:0.25
}
.border-opacity-50{
    --bs-border-opacity:0.5
}
.border-opacity-75{
    --bs-border-opacity:0.75
}
.bg-dark-gradient{
    background:linear-gradient(135deg,#0f172a 0,#1e293b 100%)
}
.glow-circle-lg{
    width:300px;
    height:300px;
    filter:blur(80px)
}
.glow-circle-sm{
    width:250px;
    height:250px;
    filter:blur(80px)
}
.z-index-0{
    z-index:0
}
.z-index-1{
    z-index:1
}
.max-w-500{
    max-width:500px
}
[data-aos],
[data-aos].aos-animate{
    pointer-events:auto
}
@media (max-width:991.98px){
    .hero-section{
        min-height:auto;
        padding-top:84px!important;
        padding-bottom:72px
    }
    .hero-section .nav-pills{
        width:100%;
        justify-content:flex-start;
        flex-wrap:nowrap;
        overflow-x:auto;
        overflow-y:hidden;
        scrollbar-width:none;
        padding:0 .25rem 10px;
        gap:.75rem
    }
    .hero-section .nav-pills::-webkit-scrollbar{
        display:none
    }
    .hero-section .pill-group{
        width:64px;
        flex:0 0 64px
    }
    .hero-section .nav-pills .nav-link{
        width:58px;
        height:58px;
        font-size:1.35rem
    }
    .hero-section .label-text{
        max-width:64px;
        font-size:.64rem
    }
    .hero-search-tabs-wrap{
        margin-bottom:-1.5rem
    }
    .glass-hero-panel{
        margin-bottom:2.5rem;
        padding:3.75rem 1.25rem 1.75rem;
        border-radius:22px
    }
}
.user-profile-header{
    min-height:400px
}
.header-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom,rgba(15,23,42,.4),rgba(15,23,42,.8));
    z-index:0
}
.avatar-wrapper{
    position:relative;
    display:inline-block
}
.icon-box-sm,.star-rating,.verified-badge{
    display:flex;
    display:flex
}
.verified-badge{
    position:absolute;
    bottom:5px;
    right:5px;
    width:32px;
    height:32px;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    font-size:1.2rem;
    border:3px solid #fff
}
.icon-box-sm{
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center
}
#userTab .nav-link{
    color:#64748b;
    border:none
}
#userTab .nav-link.active{
    box-shadow:0 4px 15px rgba(0,0,0,.05)
}
.fw-800{
    font-weight:800
}
.fw-600{
    font-weight:600
}
.hover-lift{
    backface-visibility:hidden;
    transform:translateZ(0);
    will-change:transform;
    transition:transform .2s,box-shadow .2s
}
.hover-lift:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 20px rgba(0,0,0,.08)!important
}
.mt-n5{
    margin-top:-3rem!important
}
.star-rating label{
    cursor:pointer;
    transition:transform .2s,color .2s
}
.star-rating input:checked+label,.star-rating input:checked+label~label{
    color:var(--bs-warning)
}
.star-rating{
    flex-direction:row-reverse;
    justify-content:flex-end
}
.star-rating input:checked~label,.star-rating label:hover,.star-rating label:hover~label{
    color:#ffc107!important
}
.star-rating input:checked~label:before,.star-rating label:hover:before,.star-rating label:hover~label:before{
    content:"\F586";
    font-family:bootstrap-icons
}
.avatar-sm{
    width:45px;
    height:45px;
    flex-shrink:0
}
.border-end-md{
    border-right:1px solid #dee2e6
}
@media (max-width:768px){
    .border-end-md{
        border-right:none;
        border-bottom:1px solid #dee2e6;
        padding-bottom:1rem;
        margin-bottom:1rem
    }
}
@media (max-width:767.98px){
    .hero-section .display-3{
        font-size:2.35rem
    }
    .hero-section .fs-5{
        font-size:1rem!important
    }
    .custom-pill-input,
    .btn-search-pill{
        height:52px;
        border-radius:16px!important;
        padding:0 18px;
        font-size:.95rem
    }
    .btn-search-pill{
        width:100%
    }
    .glass-hero-panel{
        padding:70px 16px 22px
    }
}
.unified-input{
    border:1px solid rgba(0,0,0,.1);
    border-radius:12px;
    background:#fff;
    transition:.2s
}
.unified-input:focus-within{
    border-color:var(--primary-color);
    box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)
}
.unified-input .input-group-text{
    background:0 0;
    border:none;
    color:#94a3b8
}
.unified-input .form-control,.unified-input .form-select{
    border:none;
    background:0 0;
    font-size:.9rem
}
.slider-fill,.slider-track{
    border-radius:10px;
    position:absolute;
    height:6px
}
.dual-range-container{
    height:6px;
    width:100%
}
.slider-track{
    width:100%;
    background:rgba(var(--primary-color-rgb),.1);
    z-index:1
}
.slider-fill{
    background:var(--primary-color);
    z-index:2
}
.range-input{
    position:absolute;
    width:100%;
    top:0;
    height:6px;
    background:0 0;
    pointer-events:none;
    -webkit-appearance:none;
    appearance:none;
    z-index:3
}
.range-input::-webkit-slider-thumb{
    height:18px;
    width:18px;
    border-radius:50%;
    background:var(--primary-color);
    border:3px solid #fff;
    box-shadow:0 2px 5px rgba(0,0,0,.15);
    cursor:pointer;
    pointer-events:auto;
    -webkit-appearance:none
}
.range-input::-moz-range-thumb{
    height:18px;
    width:18px;
    border-radius:50%;
    background:var(--primary-color);
    border:3px solid #fff;
    cursor:pointer;
    pointer-events:auto
}
.btn-check:checked+.btn-outline-primary-theme{
    background-color:var(--primary-color)!important;
    color:#fff!important;
    border-color:var(--primary-color)!important;
    box-shadow:0 4px 10px rgba(var(--primary-color-rgb),.2)
}
.custom-scrollbar::-webkit-scrollbar{
    width:4px
}
.custom-scrollbar::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:10px
}
.sub-heading{
    max-width:600px
}
.map-container-sm{
    height:250px
}
.icon-size-45{
    width:45px;
    height:45px
}
.employer-logo-badge{
    width:60px;
    height:60px;
    z-index:10;
    position:relative
}
.jbl-listing-card .jbl-card-image-wrapper{
    height:120px;
    overflow:hidden
}
.jbl-listing-card .jbl-card-img-top{
    filter:brightness(.9)
}
.jbl-listing-card .jbl-badge-container{
    z-index:5
}
.jbl-listing-card .jbl-employer-logo-container{
    width:58px;
    height:58px;
    z-index:10;
    margin-top:-32px
}
.jbl-listing-card .jbl-btn-save-job{
    width:40px;
    height:40px;
    z-index:30;
    right:20px;
    top:-20px;
    background:#fff!important
}
.jbl-listing-card .jbl-description-text{
    font-size:.85rem;
    line-height:1.5
}


.evc-card .evc-metric-label,.evc-featured-ribbon span,.evc-metric-label{
    display:block;
    text-transform:uppercase
}
.evc-card .evc-img-container{
    height:175px
}
.evc-card .evc-aspect-ratio-16-9{
    aspect-ratio:16/9
}
.evc-card .evc-auto-badge{
    font-size:.75rem;
    letter-spacing:.5px
}
.evc-card .evc-date-block{
    background-color:rgba(var(--primary-color-rgb),.1);
    min-width:50px
}
.evc-card .evc-metric-label{
    font-size:.65rem;
    color:#6c757d;
    font-weight:700
}
.evc-card .evc-metric-value,.evc-metric-value{
    font-size:.85rem;
    color:#212529
}
.evc-date-block-overlay{
    backdrop-filter:blur(4px);
    border:1px solid rgba(0,0,0,.05)
}
.evc-featured-ribbon span{
    background-color:var(--primary-color);
    box-shadow:0 5px 10px rgba(0,0,0,.1);
    text-shadow:0 1px 1px rgba(0,0,0,.2);
    position:absolute;
    width:125px;
    padding:5px 0;
    background-color:var(--primary-color);
    color:#fff;
    font:700 10px/1 sans-serif;
    text-align:center;
    right:-10px;
    top:18px;
    transform:rotate(-45deg)
}
.evc-card.evc-glass-surface{
    backdrop-filter:blur(10px);
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    border:1px solid rgba(0,0,0,.05)
}
.evc-featured-border{
    border:2px solid var(--primary-color)!important;
    box-shadow:0 10px 30px rgba(var(--primary-color-rgb),.15)!important
}
.evc-featured-ribbon{
    width:85px;
    height:85px;
    overflow:hidden;
    position:absolute;
    top:-3px;
    left:-3px;
    z-index:5
}
.evc-card:hover .transition-img{
    transform:scale(1.05);
    transition:.3s
}
.evc-organizer-wrapper img{
    transition:transform .2s
}
.evc-card:hover .evc-organizer-wrapper img{
    transform:scale(1.1) translateY(-3px)
}
.evc-metric-label{
    font-size:.65rem;
    color:#6c757d;
    font-weight:700
}
.evc-date-block-overlay{
    min-width:46px;
    background:#fff!important;
    box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important
}
.evc-img-container::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:40%;
    background:linear-gradient(to top,rgba(0,0,0,.2),transparent);
    pointer-events:none;
    z-index:1
}
.evc-z-date{
    z-index:2
}

/* Dynamic Global Effects */
.has-body-glow {
    position: relative;
}
.has-body-glow::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at 10% 20%, rgba(var(--primary-color-rgb), 0.05) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}
