:root{
    color-scheme:dark;
    --bg-dark:#0b0b0e;
    --bg-card:#151518;
    --bg-input:#1e1e23;
    --text-main:#f5f2f3;
    --text-muted:#a5a1aa;
    --accent-pink:#f04a83;
    --accent-pink-hover:#d8326b;
    --border-color:#303035;
    --font-main:'Manrope','Segoe UI',Arial,sans-serif;
    --font-heading:'Prata',Georgia,'Times New Roman',serif
}
*{
    box-sizing:border-box;
    margin:0;
    padding:0
}
html{
    scroll-behavior:smooth;
    scroll-padding-top:24px
}
body{
    min-width:280px;
    background:var(--bg-dark);
    color:var(--text-main);
    font:14px/1.6 var(--font-main)
}
a{
    color:inherit;
    text-decoration:none
}
ul{
    list-style:none
}
button,input,select,textarea{
    font:inherit
}
button{
    color:inherit;
    border:0;
    background:none;
    cursor:pointer
}
button,a,input,select,textarea{
    -webkit-tap-highlight-color:transparent
}
button:disabled,input:disabled,select:disabled{
    opacity:.45;
    cursor:not-allowed
}
img{
    display:block;
    max-width:100%
}
svg.icon{
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    width:22px;
    height:22px;
    flex-shrink:0;
    vertical-align:middle
}
:focus-visible{
    outline:2px solid #ff91b5;
    outline-offset:4px
}
[hidden]{
    display:none!important
}
::selection{
    background:#8f2850;
    color:#fff
}
.container{
    width:100%;
    max-width:1300px;
    margin:0 auto;
    padding-left:28px;
    padding-right:28px
}
.text-pink{
    color:var(--accent-pink)
}
.text-muted{
    color:var(--text-muted)
}
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap
}
.skip-link{
    position:fixed;
    left:16px;
    top:-100px;
    z-index:200;
    background:var(--accent-pink);
    padding:12px 18px;
    border-radius:6px;
    color:#fff
}
.skip-link:focus{
    top:16px
}
.btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:10px 22px;
    border:1px solid transparent;
    border-radius:6px;
    font-weight:600;
    line-height:1.45;
    text-align:center;
    transition:background .2s,border-color .2s,color .2s
}
.btn .icon{
    width:18px;
    height:18px
}
.btn-primary{
    color:#fff;
    background:#d92865;
    border-color:#d92865
}
.btn-primary:hover:not(:disabled){
    background:#bd1d54;
    border-color:#bd1d54
}
.btn-outline{
    border-color:#a4345b;
    color:#ff8bb1
}
.btn-outline:hover:not(:disabled){
    background:#f04a8312;
    border-color:var(--accent-pink)
}
.btn-block{
    width:100%
}
.btn-small{
    min-height:36px;
    padding:7px 14px;
    font-size:12px
}
.header{
    padding:21px 0;
    border-bottom:1px solid #ffffff0b;
    background:#000
}
.header__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px
}
.logo-link{
    display:inline-block;
    flex-shrink:0
}
.main-logo{
    height:55px;
    width:auto;
    object-fit:contain;
    mix-blend-mode:normal
}
.brand{
    display:inline-flex;
    align-items:center;
    gap:12px;
    flex-shrink:0
}
.brand__name{
    display:block;
    font:32px/1.1 var(--font-heading);
    letter-spacing:-.8px
}
.brand__name span{
    color:var(--accent-pink)
}
.brand__tagline{
    display:block;
    margin-top:6px;
    color:var(--text-muted);
    font-size:9px;
    font-weight:600;
    letter-spacing:1.8px;
    text-transform:uppercase
}
.brand>.icon,.logo-link>.icon{
    width:38px;
    height:38px;
    color:var(--accent-pink)
}
.nav{
    display:flex;
    align-items:center;
    gap:25px;
    margin-right:auto
}
.nav__link{
    padding:8px 0;
    color:var(--text-muted);
    font-size:13px;
    white-space:nowrap;
    transition:color .2s
}
.nav__link:hover,.nav__link.active{
    color:#fff
}
.nav__link.active{
    position:relative
}
.nav__link.active::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:var(--accent-pink)
}
.header__actions{
    display:flex;
    align-items:center;
    gap:20px;
    flex-shrink:0
}
.language-label{
    font-size:11px;
    letter-spacing:1px;
    color:var(--text-muted)
}
.header-account{
    display:flex;
    align-items:center;
    gap:12px;
    max-width:235px;
    white-space:nowrap
}
.account-name{
    max-width:130px;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:12px;
    color:#c6bdcc
}
.account-name .icon{
    width:16px;
    height:16px;
    margin-right:3px;
    color:#d881a1
}
.nav-toggle{
    display:none;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--border-color);
    border-radius:6px
}
.hero{
    position:relative;
    isolation:isolate;
    padding:45px 0;
    background-image:url('../images/banner.png');
    background-size:cover;
    background-position:center top;
    border-bottom:1px solid #ffffff08
}
.hero::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,#0b0b0ef5 0%,#0b0b0ee6 34%,#0b0b0e4d 68%,#0b0b0e0a 100%),linear-gradient(0deg,#0b0b0e,transparent 35%)
}
.hero__inner{
    display:flex;
    align-items:center;
    justify-content:space-between
}
.hero__content{
    max-width:610px
}
.hero__eyebrow{
    font-size:10px;
    font-weight:600;
    line-height:1.5;
    letter-spacing:2.5px;
    color:#d79aaf;
    margin-bottom:13px
}
.hero h1{
    font:400 clamp(34px,3.8vw,46px)/1.16 var(--font-heading);
    letter-spacing:-.5px;
    margin-bottom:18px;
    text-wrap:balance
}
.hero__subtitle{
    max-width:480px;
    color:#c7c2ca;
    font-size:16px;
    line-height:1.8;
    margin-bottom:20px
}
.hero__features{
    display:flex;
    gap:30px;
    margin-top:24px
}
.feature{
    display:flex;
    align-items:center;
    gap:10px;
    color:#cfcbd2;
    font-size:11px;
    line-height:1.65
}
.feature .icon{
    width:25px;
    height:25px;
    color:var(--accent-pink)
}
.hero__script{
    display:none
}
.main-layout{
    display:grid;
    grid-template-columns:285px minmax(0,1fr);
    gap:30px;
    padding-top:42px;
    padding-bottom:44px;
    align-items:start
}
.sidebar{
    background:var(--bg-card);
    border:1px solid var(--border-color);
    border-radius:9px;
    padding:23px
}
.sidebar__header h2{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:17px;
    font-weight:600;
    margin-bottom:6px
}
.sidebar__header h2 .icon{
    color:var(--accent-pink);
    width:20px;
    height:20px
}
.sidebar__header p{
    color:var(--text-muted);
    font-size:11px;
    margin-bottom:20px
}
.search-tabs{
    display:flex;
    gap:3px;
    padding:4px;
    border-radius:6px;
    margin-bottom:22px;
    background:#202024
}
.search-tab{
    flex:1;
    min-height:35px;
    padding:7px 4px;
    border-radius:4px;
    font-size:11px;
    color:#b7b1bd
}
.search-tab.active{
    background:#a32150;
    color:#fff
}
.filter-group{
    margin-bottom:16px;
    min-width:0
}
.filter-group>label,.contact-form label,.booking-form label,.modal form>label{
    display:block;
    font-size:12px;
    color:#c6c0cb;
    margin-bottom:7px
}
.custom-select,.filter-input,.contact-form input,.contact-form textarea,.modal input,.modal select,.modal textarea{
    min-width:0;
    width:100%;
    min-height:43px;
    padding:10px 12px;
    color:#f5f2f3;
    background:var(--bg-input);
    border:1px solid #39383f;
    border-radius:5px;
    font:inherit;
    font-size:12px;
    transition:border-color .2s
}
.custom-select{
    padding-right:28px
}
.custom-select.small{
    width:auto;
    min-height:37px;
    padding-top:7px;
    padding-bottom:7px
}
.custom-select:hover,.filter-input:hover,.contact-form input:hover,.contact-form textarea:hover,.modal input:hover,.modal select:hover,.modal textarea:hover{
    border-color:#67606d
}
input::placeholder,textarea::placeholder{
    color:#a49aa9;
    opacity:1
}
textarea{
    resize:vertical;
    min-height:110px
}
.filter-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}
.filter-checkboxes{
    display:flex;
    flex-wrap:wrap;
    gap:12px 18px;
    margin:18px 0 23px
}
.custom-checkbox{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#c6c0cb;
    font-size:12px;
    cursor:pointer
}
.custom-checkbox input{
    width:17px;
    height:17px;
    margin:0;
    min-height:0;
    flex-shrink:0;
    accent-color:#db2a67;
    cursor:pointer
}
.checkmark{
    display:none
}
.categories{
    margin:22px 0;
    border-top:1px solid var(--border-color);
    padding-top:18px
}
.categories h3{
    margin-bottom:10px;
    font-size:12px;
    font-weight:600;
    letter-spacing:.2px
}
.category-list{
    display:grid;
    gap:4px
}
.category-btn{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:39px;
    width:100%;
    text-align:left;
    border:1px solid transparent;
    border-radius:5px;
    padding:9px 10px;
    font-size:12px;
    color:#b3acb9;
    transition:background .2s,color .2s
}
.category-btn .icon{
    width:17px;
    height:17px
}
.category-btn:hover{
    background:#ffffff06;
    color:#fff
}
.category-btn.active{
    background:#f04a8310;
    border-color:#ae315b66;
    color:#ff88af
}
.reset-btn{
    display:block;
    min-height:40px;
    width:100%;
    margin-top:8px;
    color:var(--text-muted);
    font-size:11px;
    text-decoration:underline;
    text-underline-offset:3px
}
.reset-btn:hover{
    color:#fff
}
.filter-status{
    font-size:11px;
    color:var(--text-muted);
    margin-top:10px
}
.mobile-filter-toggle{
    display:none
}
.content{
    min-width:0;
    scroll-margin-top:20px
}
.content__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:21px
}
.content__header h2{
    font:400 32px/1.3 var(--font-heading);
    letter-spacing:-.3px;
    margin-bottom:5px
}
.count-text{
    color:var(--text-muted);
    font-size:12px
}
.view-controls{
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0
}
.view-toggle{
    display:flex;
    gap:5px
}
.view-btn{
    width:37px;
    height:37px;
    border:1px solid var(--border-color);
    border-radius:5px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:var(--text-muted)
}
.view-btn .icon{
    width:18px;
    height:18px
}
.view-btn:hover{
    color:#fff
}
.view-btn.active{
    color:#ff82ac;
    background:#f04a830c;
    border-color:#b63460
}
.demo-notice{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-bottom:20px;
    padding:12px 15px;
    font-size:11px;
    color:#c5bdcb;
    border:1px solid #3d3039;
    border-radius:6px;
    background:#21171e
}
.demo-notice .icon{
    width:17px;
    height:17px;
    color:#d485a1;
    margin-top:1px
}
.toolbar{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:15px
}
.toolbar>.filter-input,.toolbar>.query-field{
    flex:1;
    min-width:100px
}
.toolbar>.custom-select{
    width:auto;
    max-width:195px
}
.favorites-toggle{
    min-height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 11px;
    border:1px solid var(--border-color);
    border-radius:5px;
    font-size:11px;
    white-space:nowrap
}
.favorites-toggle .icon{
    width:16px;
    height:16px
}
.favorites-toggle:hover,.favorites-toggle.is-active{
    color:#ff8bb1;
    border-color:#b63460;
    background:#f04a830c
}
.result-summary{
    margin:0 0 14px;
    color:var(--text-muted);
    font-size:11px
}
.profiles-list{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:17px
}
.profile-card{
    display:flex;
    min-width:0;
    background:var(--bg-card);
    border:1px solid var(--border-color);
    border-radius:8px;
    overflow:hidden;
    transition:border-color .2s,box-shadow .2s
}
.profile-card:hover{
    border-color:#804157;
    box-shadow:0 6px 24px #0002
}
.profile-card__image{
    position:relative;
    width:190px;
    min-height:230px;
    flex-shrink:0;
    background:#242127
}
.profile-card__image img{
    width:100%;
    height:100%;
    position:absolute;
    inset:0;
    object-fit:cover;
    object-position:center 25%
}
.profile-card__photo-link{
    position:absolute;
    inset:0;
    display:block
}
.profile-card__photo-link:focus-visible{
    outline-offset:-4px
}
.profile-card__name-link:hover,.profile-card__name-link:focus-visible{
    color:var(--accent-pink)
}
.demo-badge,.status{
    position:absolute;
    top:11px;
    left:11px;
    border-radius:4px;
    padding:4px 8px;
    color:#eee9ee;
    background:#0b0b0ecc;
    backdrop-filter:blur(8px);
    font-size:9px;
    letter-spacing:.4px;
    line-height:1.5
}
.status.online{
    color:#a7dfba
}
.fav-btn{
    position:absolute;
    top:9px;
    right:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:35px;
    height:35px;
    border:1px solid #ffffff25;
    background:#0b0b0ebf;
    backdrop-filter:blur(8px);
    border-radius:50%
}
.fav-btn .icon{
    width:18px;
    height:18px
}
.fav-btn:hover,.fav-btn.is-active,.fav-btn[aria-pressed="true"]{
    color:#ff8bb1;
    border-color:#e75085
}
.fav-btn.is-active .icon,.fav-btn[aria-pressed="true"] .icon{
    fill:currentColor
}
.profile-card__info{
    min-width:0;
    padding:20px 22px;
    flex:1;
    display:flex;
    flex-direction:column
}
.profile-card__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:9px
}
.profile-card__top h3{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    font-size:19px;
    font-weight:600;
    line-height:1.4
}
.verified{
    color:var(--accent-pink)
}
.profile-card__top h3 .icon{
    width:16px;
    height:16px
}
.price{
    color:#f5f2f3;
    font-size:14px;
    font-weight:600;
    white-space:nowrap
}
.price small{
    display:block;
    text-align:right;
    color:var(--text-muted);
    font-size:10px;
    font-weight:400;
    margin-top:2px
}
.location{
    display:flex;
    align-items:center;
    gap:5px;
    margin-bottom:12px;
    color:var(--text-muted);
    font-size:11px
}
.location .icon{
    width:14px;
    height:14px;
    color:#c87091
}
.tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:12px
}
.tags span{
    padding:3px 8px;
    background:#202024;
    border:1px solid #35323a;
    border-radius:4px;
    color:#c7c0ce;
    font-size:10px
}
.desc{
    color:#b2aab9;
    font-size:12px;
    line-height:1.8;
    margin-bottom:16px;
    flex:1
}
.profile-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    color:var(--text-muted);
    font-size:10px
}
.profile-meta .icon{
    width:13px;
    height:13px;
    margin-right:3px;
    color:#d48ba5
}
.profile-card__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    margin-top:auto
}
.profile-card__info>.btn{
    align-self:flex-start;
    margin-top:auto
}
.profiles-list.is-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
}
.profiles-list.is-grid .profile-card{
    flex-direction:column
}
.profiles-list.is-grid .profile-card__image{
    width:100%;
    height:250px;
    min-height:0
}
.profiles-list.is-grid .profile-card__info{
    padding:18px
}
.profiles-list.is-grid .profile-card__top{
    flex-wrap:wrap
}
.profiles-list.is-grid .price small{
    display:inline;
    margin-left:3px
}
.empty-state{
    grid-column:1/-1;
    padding:48px 25px;
    border:1px dashed #4b3c47;
    border-radius:8px;
    text-align:center;
    background:#151117
}
.empty-state>.icon{
    width:35px;
    height:35px;
    color:#d881a1;
    margin-bottom:12px
}
.empty-state h3{
    font-size:19px;
    margin-bottom:8px
}
.empty-state p{
    color:var(--text-muted);
    margin-bottom:18px;
    font-size:12px
}
.pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
    margin-top:27px
}
.page-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:37px;
    height:37px;
    border:1px solid var(--border-color);
    border-radius:5px;
    padding:0 7px;
    color:var(--text-muted);
    font-size:12px
}
.page-btn .icon{
    width:15px;
    height:15px
}
.page-btn:hover:not(:disabled),.page-btn.active{
    color:#ff8bb1;
    border-color:#b63460;
    background:#f04a830c
}
.page-info{
    width:100%;
    margin-top:8px;
    text-align:center;
    font-size:10px;
    color:var(--text-muted)
}
.info-sections{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    padding-bottom:35px
}
.section-panel{
    min-width:0;
    border:1px solid var(--border-color);
    border-radius:8px;
    padding:25px;
    background:#111114;
    scroll-margin-top:25px
}
.section-panel h2{
    font:400 25px/1.4 var(--font-heading);
    margin-bottom:14px
}
.section-panel p,.section-panel li{
    color:var(--text-muted);
    font-size:12px;
    line-height:1.9
}
.section-panel p+p{
    margin-top:10px
}
.section-panel ul{
    padding-left:15px;
    list-style:disc
}
.section-panel li+li{
    margin-top:8px
}
.section-panel a{
    color:#ff8bb1;
    text-decoration:underline;
    text-underline-offset:3px
}
.contact-form{
    display:grid;
    gap:13px;
    margin-top:18px
}
.contact-form label,.booking-form label{
    margin-bottom:0
}
.contact-form input,.contact-form textarea,.booking-form input,.booking-form select,.booking-form textarea{
    display:block;
    margin-top:6px
}
.form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px
}
.form-error{
    min-height:16px;
    font-size:11px;
    color:#ff9db5;
    margin-top:5px
}
.form-note{
    font-size:11px;
    color:var(--text-muted);
    line-height:1.7
}
.success-message{
    padding:14px;
    color:#b4e4bf;
    border:1px solid #416148;
    border-radius:6px;
    background:#1c3023;
    font-size:12px
}
.footer{
    border-top:1px solid var(--border-color);
    background:#000;
    margin-top:10px;
    padding:37px 0 22px
}
.footer-features{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding-bottom:30px;
    border-bottom:1px solid var(--border-color);
    margin-bottom:27px
}
.f-feature{
    display:flex;
    align-items:center;
    gap:12px
}
.f-feature>.icon{
    width:38px;
    height:38px;
    padding:9px;
    color:#f178a1;
    border:1px solid #88334f;
    border-radius:50%
}
.f-feature h4{
    font-size:12px;
    font-weight:500;
    margin-bottom:3px
}
.f-feature p{
    font-size:10px;
    color:var(--text-muted)
}
.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:25px
}
.footer-logo .main-logo{
    height:50px
}
.footer-nav{
    display:flex;
    flex-wrap:wrap;
    gap:18px
}
.footer-nav a{
    color:var(--text-muted);
    font-size:11px
}
.footer-nav a:hover{
    color:#fff
}
.footer-18{
    display:flex;
    align-items:center;
    gap:8px;
    max-width:180px;
    font-size:10px;
    color:var(--text-muted)
}
.badge-18{
    display:flex;
    align-items:center;
    justify-content:center;
    width:29px;
    height:29px;
    flex-shrink:0;
    border:1px solid #736a78;
    border-radius:50%;
    font-size:11px;
    color:#ddd5e2
}
.footer-copyright{
    margin-top:24px;
    font-size:10px;
    line-height:1.8;
    color:#8d8594
}
dialog.modal{
    position:fixed;
    margin:auto;
    width:min(520px,calc(100% - 32px));
    max-height:calc(100dvh - 40px);
    border:1px solid #4a3643;
    border-radius:12px;
    padding:0;
    background:#171419;
    color:var(--text-main);
    box-shadow:0 20px 100px #0009;
    overflow:auto
}
dialog.modal.modal-wide,dialog.modal.profile-modal{
    width:min(850px,calc(100% - 32px))
}
.modal::backdrop{
    background:#050408c7;
    backdrop-filter:blur(5px)
}
.modal__close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    width:35px;
    height:35px;
    background:#151218da;
    border:1px solid #67505d;
    border-radius:50%
}
.modal__close .icon{
    width:18px;
    height:18px
}
.modal__close:hover{
    color:#ff8bb1
}
.modal__body{
    padding:35px
}
.modal__title{
    font:400 29px/1.35 var(--font-heading);
    margin:0 30px 10px 0
}
.modal__subtitle{
    font-size:12px;
    color:var(--text-muted);
    margin-bottom:24px
}
.modal form{
    display:grid;
    gap:16px
}
.modal form>label{
    margin:0
}
.modal form>label>input{
    display:block;
    margin-top:6px
}
.auth-tabs{
    display:flex;
    padding:4px;
    background:var(--bg-input);
    border-radius:6px;
    margin-bottom:24px
}
.auth-tab{
    flex:1;
    min-height:37px;
    padding:8px;
    font-size:12px;
    border-radius:4px;
    color:var(--text-muted)
}
.auth-tab.active{
    background:#8f2248;
    color:#fff
}
.profile-detail{
    display:grid;
    grid-template-columns:minmax(0,220px) minmax(0,1fr);
    gap:25px
}
.detail-image{
    position:relative;
    overflow:hidden;
    width:100%;
    height:295px;
    border-radius:7px;
    object-fit:cover;
    object-position:center 25%;
    background:#29232c
}
.profile-detail p{
    font-size:12px;
    color:#bab1c0;
    line-height:1.9
}
.profile-detail .price{
    display:block;
    color:#ff8bb1;
    margin:12px 0;
    font-size:19px
}
.profile-detail .tags{
    margin-top:14px
}
.detail-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px 15px;
    padding:17px 0;
    margin:12px 0;
    border-top:1px solid var(--border-color);
    border-bottom:1px solid var(--border-color)
}
.detail-grid dt{
    color:var(--text-muted);
    font-size:10px
}
.detail-grid dd{
    font-size:12px;
    overflow-wrap:anywhere
}
.booking-form{
    margin-top:24px;
    padding-top:22px;
    border-top:1px solid var(--border-color)
}
.booking-form h3{
    font-size:16px;
    font-weight:600
}
.dialog-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:10px
}
.toast-container{
    position:fixed;
    z-index:150;
    right:24px;
    bottom:24px;
    display:grid;
    gap:10px;
    width:min(360px,calc(100% - 32px));
    pointer-events:none
}
.toast{
    padding:14px 18px;
    color:#fff;
    background:#31232d;
    border:1px solid #95536d;
    border-radius:7px;
    box-shadow:0 5px 30px #0008;
    font-size:12px;
    animation:toast-in .2s ease-out;
    overflow-wrap:anywhere
}
.toast.error{
    background:#3b2029;
    border-color:#a34561
}
.toast.success{
    background:#203125;
    border-color:#4e7a58
}
@keyframes toast-in{
    from{
        opacity:0;
        transform:translateY(8px)
    }
    to{
        opacity:1;
        transform:translateY(0)
    }
}
@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }
    *,*::before,*::after{
        animation:none!important;
        transition:none!important
    }
}
/* Elements shared by the rendered catalogue and account dialogs. */
.query-field {
    position: relative;
    flex: 1;
    min-width: 100px;
}
.query-field > .icon {
    position: absolute;
    z-index: 1;
    width: 17px;
    height: 17px;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #b8a5b3;
    pointer-events: none;
}
.query-field .filter-input { padding-left: 38px; }
fieldset.filter-group { border: 0; padding: 0; }
fieldset.filter-group legend { font-size: 12px; color: #c6c0cb; }
main > .container > .demo-notice { margin-top: 25px; margin-bottom: 0; }
.filter-status { margin-bottom: 14px; line-height: 1.8; }
.profile-meta { margin-bottom: 12px; }
.section-panel .section-eyebrow { color: #d68ba7; font-size: 9px; font-weight: 600; letter-spacing: 2px; margin-bottom: 12px; }
.contact-form .filter-group, .modal .filter-group { margin-bottom: 0; }
.profile-detail .demo-badge { position: static; display: inline-flex; color: #edb4c8; background: #38212c; border: 1px solid #764057; margin-bottom: 13px; }
.detail-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.profile-detail .price small { display: inline; font-size: 11px; text-align: left; margin-left: 3px; }
.detail-grid > div { min-width: 0; }
.detail-grid dd { color: #ded8e1; margin-top: 3px; line-height: 1.7; }
.booking-section { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--border-color); }
.booking-section > h3 { font-size: 18px; font-weight: 600; margin-bottom: 7px; }
.booking-section > .form-note { margin-bottom: 18px; max-width: 610px; }
.booking-section .booking-form { border: 0; margin-top: 0; padding-top: 0; }
.footer-bottom .footer-copyright { margin-top: 0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.profile-traits { display:flex; flex-wrap:wrap; gap:5px 15px; margin:0 0 13px; color:var(--text-muted); font-size:11px; }
.tariffs-title { font-size:15px; margin:5px 0 10px; }
.service-tariffs { display:grid; gap:8px; }
.service-tariffs li { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:10px 0; border-bottom:1px solid var(--border-color); font-size:12px; }
.service-tariffs strong { color:#f7bed1; white-space:nowrap; font-weight:500; }
.service-tariffs small { color:var(--text-muted); font-weight:400; }
.photo-thumbnails { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }
.photo-thumbnails button { width:54px; height:64px; border:2px solid transparent; border-radius:5px; overflow:hidden; }
.photo-thumbnails button[aria-pressed="true"] { border-color:var(--accent-pink); }
.photo-thumbnails img { width:100%; height:100%; object-fit:cover; }
.filter-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; }
.filter-row input { min-width:0; }
.language-picker { display:inline-flex; align-items:center; flex-shrink:0; }
select[data-language-select] { width:62px; min-height:40px; padding:7px 8px; border:1px solid var(--border-color); border-radius:5px; background:#19171d; color:var(--text-main); font-size:12px; cursor:pointer; }
.header__actions { flex-shrink:0; }
.hero__content { min-width:0; }
.hero h1 { overflow-wrap:anywhere; }
