/* Accordion */
.accordion .acc-item{
    border:1px solid var(--line);
    border-radius:16px;
    margin-top:10px;
    overflow:hidden;
    background:rgba(255,255,255,.02)
}
.acc-btn{
    width:100%;
    text-align:left;
    padding:16px 16px;
    background:transparent;
    border:0;
    color:var(--text);
    font-weight:800;
    cursor:pointer
}
.acc-panel{padding:0 16px 16px; display:none}
.acc-item.is-open .acc-panel{display:block}

/* Media slider */
.media-slider{
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 340px;
}
.media-slide{
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.8s ease;
}
.media-slide.is-active{opacity: 1}

/* Back to top */
.back-to-top{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-weight:700;
    letter-spacing:.4px;
    text-transform:uppercase;
    font-size:12px;
    color:var(--muted);
    padding:10px 14px;
    border-radius:999px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.02);
    transition:all .25s ease;
}
.back-to-top__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    font-size:14px;
    line-height:1;
    transition:transform .25s ease;
}
.back-to-top:hover{color:var(--text); background:rgba(255,255,255,.05)}
.back-to-top:hover .back-to-top__icon{transform:translateY(-2px)}

/* Gallery basic */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.gallery-item{border-radius:16px; overflow:hidden; border:1px solid var(--line); display:block}
.gallery-img{display:block; padding-top:78%; background-size:cover; background-position:center; transition:.2s}
.gallery-item:hover .gallery-img{transform:scale(1.02)}

/* Gallery lux */
.gallery-grid--lux{
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    gap:12px;
}
.gallery-item--lux{
    border-radius:16px;
    overflow:hidden;
    border:1px solid var(--line);
    background:rgba(255,255,255,.02);
    display:block;
    position:relative;
}
.gallery-img-el{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transform:scale(1);
    transition:transform .25s ease, filter .25s ease;
}
.gallery-item--lux:nth-child(1){ grid-column: span 7; aspect-ratio: 16/10; }
.gallery-item--lux:nth-child(2){ grid-column: span 5; aspect-ratio: 4/3; }
.gallery-item--lux:nth-child(3){ grid-column: span 4; aspect-ratio: 4/5; }
.gallery-item--lux:nth-child(4){ grid-column: span 4; aspect-ratio: 4/5; }
.gallery-item--lux:nth-child(5){ grid-column: span 4; aspect-ratio: 4/5; }
.gallery-item--lux:nth-child(n+6){ grid-column: span 3; aspect-ratio: 1/1; }

.gallery-item--lux:hover .gallery-img-el{
    transform:scale(1.03);
    filter:saturate(1.05);
}
.gallery-item--lux.is-hidden{ display:none; }

.gallery-more{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:14px;
    font-weight:900;
    letter-spacing:.4px;
    text-transform:uppercase;
    font-size:12px;
    color:var(--text);
    background:linear-gradient(to top, rgba(11,12,14,.88), rgba(11,12,14,.35));
    backdrop-filter: blur(2px);
}

/* Lightbox */
.lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    background:rgba(11,12,14,.86);
    backdrop-filter: blur(14px);
    align-items:center;
    justify-content:center;
    padding:22px;
    display:none;
    touch-action: pan-y;
}
.lightbox.is-open{display:flex}
.lightbox__stage{
    position:relative;
    width:min(1120px, 100%);
    max-height: 82vh;
    display:flex;
    align-items:center;
    justify-content:center;
    touch-action: pan-y;
}
.lightbox__img{
    width:100%;
    height:auto;
    max-height:82vh;
    object-fit:contain;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.03);
    -webkit-user-select:none;
    user-select:none;
    -webkit-touch-callout:none;
}
.lightbox__close{
    position:fixed;
    top:18px;
    right:18px;
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
    color:var(--text);
    font-weight:900;
    cursor:pointer;
}
.lightbox__nav{
    position:fixed;
    top:50%;
    transform:translateY(-50%);
    width:52px;
    height:52px;
    border-radius:999px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
    color:var(--text);
    font-size:26px;
    cursor:pointer;
}
.lightbox__prev{ left:18px; }
.lightbox__next{ right:18px; }
.lightbox__counter{
    position:absolute;
    left:12px;
    bottom:-34px;
    font-size:12px;
    letter-spacing:.4px;
    text-transform:uppercase;
}

/* Video wrapper (единственная версия, без дублей) */
.media-video{
    position:relative;
    overflow:hidden;
    border-radius: var(--radius);
    height:100%;
    min-height:340px;
    background:#000;
}
.media-video__el{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.media-video::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(11,12,14,.35), rgba(11,12,14,.08));
    pointer-events:none;
}

/* Cards */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.amenities{display:flex; flex-wrap:wrap; gap:10px}
.pill{border:1px solid var(--line); padding:10px 12px; border-radius:999px; color:var(--muted); background:rgba(255,255,255,.02)}

/* Casino */
.casino-card{ padding:22px; }
.casino-split{
    display:grid;
    grid-template-columns: 1.1fr .9fr;
    gap:18px;
    align-items:stretch;
}
.casino-media{
    position:relative;
    overflow:hidden;
    border-radius:16px;
    border:1px solid var(--line);
    min-height:260px;
    background:rgba(255,255,255,.02);
}
.casino-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity 1.2s ease;
}
.casino-media img.is-active{ opacity:1; }

/* Chef */
.chef-grid{
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap:32px;
    align-items:center;
}
.chef-photo{
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
    background:#000;
}
.chef-photo img{
    width:100%;
    height:100%;
    max-height:620px;
    object-fit:cover;
    object-position:center top;
    display:block;
}
.chef-text .lead{ margin-bottom:24px; }
.chef-points{ display:grid; gap:22px; }
.chef-points h3{ margin-bottom:6px; }

/* Experiences */
.experience-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:12px;
}
.experience-card{
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    background:rgba(255,255,255,.02);
    transition:transform .25s ease, background .25s ease;
}
.experience-card:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.04);
}
.experience-media{
    position:relative;
    aspect-ratio: 4 / 3;
    overflow:hidden;
    background:#0b0c0e;
}
.experience-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform .6s ease;
    filter:saturate(1.02) contrast(1.05);
}
.experience-card:hover .experience-media img{ transform:scale(1.08); }
.experience-body{ padding:16px 16px 18px; }
.experience-title{ margin:0 0 6px; }
.experience-text{ margin:0; max-width:none; }
