/* VLK NEW THEME ============================================ */
:root{--vlk-gold:#c9a84c;--vlk-gold-lt:#e8c97a;--vlk-cream:#f7f2ea;--vlk-brown:#2a1a0e;--vlk-r:18px}
html{background:transparent!important}
body{background:transparent!important;color:var(--vlk-cream)!important}
html::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(900px 520px at 15% 0%,rgba(201,168,76,.10),transparent 62%),
  radial-gradient(820px 460px at 85% 6%,rgba(212,96,58,.10),transparent 64%),
  linear-gradient(180deg,#1a0d05 0%,#2a1a0e 42%,#1e0f07 100%)}
.vlk-topbar{background:rgba(18,8,2,.96)!important;border-bottom:1px solid rgba(201,168,76,.18)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
.vlk-nav-menu a{color:rgba(247,242,234,.82)!important;font-weight:500!important;text-decoration:none!important}
.vlk-nav-menu a:hover{color:var(--vlk-gold-lt)!important;text-decoration:none!important}
.vlk-brand,.vlk-brand-text{color:var(--vlk-gold-lt)!important;font-weight:700!important}
.button.btn-brand,.btn-brand{background:var(--vlk-gold)!important;color:var(--vlk-brown)!important;border:none!important;font-weight:700!important;border-radius:50px!important;transition:background .2s,transform .15s!important;box-shadow:0 4px 20px rgba(201,168,76,.25)!important}
.button.btn-brand:hover,.btn-brand:hover{background:var(--vlk-gold-lt)!important;transform:translateY(-1px)!important}
.button.btn-outline-brand{background:transparent!important;color:var(--vlk-cream)!important;border:1px solid rgba(247,242,234,.25)!important;border-radius:50px!important}
.button.btn-outline-brand:hover{border-color:var(--vlk-gold)!important;color:var(--vlk-gold-lt)!important}
.card,.bg-white.card,.card.bg-white{background:rgba(255,255,255,.045)!important;border:1px solid rgba(201,168,76,.14)!important;color:var(--vlk-cream)!important;border-radius:20px!important;box-shadow:0 8px 32px rgba(0,0,0,.38)!important;backdrop-filter:blur(6px)!important}
.card .text-bold,.card .text-leader,.card .text-leader2,.text-leader2,.text-leader{color:var(--vlk-cream)!important}
.card .muted,.muted{color:rgba(247,242,234,.55)!important}
.card ul li,.card p{color:rgba(247,242,234,.72)!important}
b,strong,.card b,.card strong{color:var(--vlk-gold-lt)!important}
#prices,#gallery,#contacts,#reviews,#map,#features{background:transparent!important;border:none!important}
.vlk-footer{background:rgba(10,5,1,.97)!important;border-top:1px solid rgba(201,168,76,.12)!important}
.vlk-footer .muted{color:rgba(247,242,234,.32)!important}
.vlk-footer a{color:rgba(247,242,234,.4)!important}
.vlk-footer a:hover{color:var(--vlk-gold-lt)!important}
.input-large,input[type=date],input[type=text],input[type=tel],select,textarea{background:rgba(255,255,255,.07)!important;border:1px solid rgba(201,168,76,.2)!important;color:var(--vlk-cream)!important;border-radius:12px!important}
.input-large:focus,input:focus,select:focus,textarea:focus{border-color:var(--vlk-gold)!important;outline:none!important;box-shadow:0 0 0 3px rgba(201,168,76,.12)!important}
select option{background:#2a1a0e;color:var(--vlk-cream)}
::placeholder{color:rgba(247,242,234,.3)!important}
.lk-top{border-bottom:1px solid rgba(201,168,76,.1);padding-bottom:16px;margin-bottom:4px}
.lk-hint{background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.18);border-radius:14px;padding:16px;font-size:.9rem;color:rgba(247,242,234,.65)!important}
.lk-tab{background:rgba(255,255,255,.05)!important;border:1px solid rgba(201,168,76,.15)!important;color:rgba(247,242,234,.6)!important;border-radius:50px!important}
.lk-tab.active{background:var(--vlk-gold)!important;color:var(--vlk-brown)!important;border-color:var(--vlk-gold)!important}
.lk-privatebox{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.15);border-radius:20px;padding:24px}
.pt-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--vlk-gold);display:block;margin-bottom:6px}
.pt-price{font-size:1.6rem;font-weight:700;color:var(--vlk-gold-lt)!important}
.pt-hint{font-size:.8rem;color:rgba(247,242,234,.42)!important}
.lk-month-label{color:var(--vlk-cream)!important}
.lk-month-sub,.lk-daypanel-sub{color:rgba(247,242,234,.48)!important}
.lk-dot--privatefree{background:#4ade80}.lk-dot--partial{background:var(--vlk-gold)}.lk-dot--busy{background:#f87171}.lk-dot--off{background:rgba(247,242,234,.18)}
.lk-legend__item{color:rgba(247,242,234,.52)!important}
.lk-drawer__panel{background:rgba(22,10,3,.98)!important;border-left:1px solid rgba(201,168,76,.2)}
.lk-drawer__title{color:var(--vlk-cream)!important}
.pf-name{color:var(--vlk-cream)!important}
.pf-meta div{color:rgba(247,242,234,.48)!important}
.pf-btn{background:rgba(255,255,255,.06)!important;border:1px solid rgba(201,168,76,.2)!important;color:var(--vlk-cream)!important;border-radius:10px!important}
.pf-btn-primary{background:var(--vlk-gold)!important;color:var(--vlk-brown)!important;border-color:var(--vlk-gold)!important}
.pf-avatar{border:2px solid rgba(201,168,76,.3)!important;background:rgba(255,255,255,.06)!important}
.op-label{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--vlk-gold);margin-bottom:6px}
.op-user{color:rgba(247,242,234,.58)!important}
.op-sep{border-top:1px solid rgba(201,168,76,.1);margin:20px 0}
.tg-card{max-width:520px;margin:60px auto;padding:40px 36px;background:rgba(255,255,255,.04)!important;border:1px solid rgba(201,168,76,.18)!important;border-radius:24px!important;box-shadow:0 20px 60px rgba(0,0,0,.45)!important}
.tg-title{color:var(--vlk-cream)!important}
.tg-muted{color:rgba(247,242,234,.52)!important}
.tg-btn{background:var(--vlk-gold)!important;color:var(--vlk-brown)!important;font-weight:700!important;border-radius:50px!important;padding:14px 32px!important;border:none!important;cursor:pointer;font-size:.95rem!important;transition:background .2s}
.tg-btn:hover{background:var(--vlk-gold-lt)!important}
.tg-box{border:1px solid rgba(201,168,76,.2);border-radius:14px;padding:16px;background:rgba(255,255,255,.03);display:none;margin-top:16px}
.tg-link{color:var(--vlk-gold-lt)!important;word-break:break-all}
.vlk-embed-review{height:460px;border-radius:16px;overflow:hidden}
.vlk-embed-review iframe{width:100%;height:100%;border:none;border-radius:16px}
.vlk-embed-map{height:340px;border-radius:16px;overflow:hidden}
.vlk-embed-map iframe{width:100%;height:100%;border:none}
.vlk-2gis iframe{border-radius:16px!important}
.vlk-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.vlk-social{display:flex;gap:12px;flex-wrap:wrap}
.vlk-social-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:50px;text-decoration:none!important;font-size:.85rem;font-weight:600;transition:transform .2s}
.vlk-social-btn:hover{transform:translateY(-2px)}
.vlk-social-btn.tg{background:#229ED9;color:#fff!important}
.vlk-social-btn.vk{background:#4C75A3;color:#fff!important}
.vlk-social-btn.wa{background:#25D366;color:#fff!important}
.vlk-social-btn.mx{background:#6366f1;color:#fff!important}
.vlk-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:36px}
.vlk-gallery-item{border-radius:16px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;position:relative}
.vlk-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s;display:block}
.vlk-gallery-item:hover img{transform:scale(1.05)}
.vlk-gallery-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;padding:12px;font-size:.82rem}
.vlk-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.93);display:flex;align-items:center;justify-content:center}
.vlk-lightbox img{max-width:92vw;max-height:88vh;border-radius:14px}
.vlk-lightbox-close{position:absolute;top:18px;right:22px;font-size:2rem;color:rgba(247,242,234,.7);cursor:pointer;background:none;border:none;line-height:1}
.vlk-section-tag{font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--vlk-gold);margin-bottom:12px}
.vlk-section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:300;color:var(--vlk-cream)!important;line-height:1.15;margin-bottom:16px}
.vlk-section-title em{font-style:italic;color:var(--vlk-gold-lt);font-weight:400}
.vlk-section-body{font-size:1rem;font-weight:300;line-height:1.8;color:rgba(247,242,234,.63);max-width:600px}
.vlk-hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--vlk-gold);border:1px solid rgba(201,168,76,.3);padding:6px 16px;border-radius:50px;margin-bottom:24px}
.vlk-hero-title{font-family:'Cormorant Garamond',serif!important;font-size:clamp(2.5rem,6vw,4.8rem)!important;font-weight:300!important;line-height:1.1!important;color:var(--vlk-cream)!important;margin-bottom:10px}
.vlk-hero-title em{font-style:italic;color:var(--vlk-gold-lt);font-weight:400}
.vlk-hero-subtitle{font-family:'Cormorant Garamond',serif;font-size:clamp(1rem,2.2vw,1.35rem);font-style:italic;color:rgba(247,242,234,.48);margin-bottom:24px;font-weight:300}
.vlk-hero-desc{font-size:1rem;font-weight:300;line-height:1.75;color:rgba(247,242,234,.66);margin-bottom:34px;max-width:560px}
.vlk-stat-card{background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.15);border-radius:var(--vlk-r);padding:18px 22px;transition:border-color .3s,transform .3s}
.vlk-stat-card:hover{border-color:rgba(201,168,76,.38);transform:translateX(-4px)}
.vlk-stat-num{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:600;color:var(--vlk-gold-lt);line-height:1;margin-bottom:4px}
.vlk-stat-label{font-size:.77rem;color:rgba(247,242,234,.42)}
.vlk-feat-card{background:rgba(255,255,255,.035);border:1px solid rgba(201,168,76,.12);border-radius:20px;padding:30px 26px;transition:border-color .3s,background .3s,transform .3s;position:relative;overflow:hidden}
.vlk-feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--vlk-gold),transparent);opacity:0;transition:opacity .3s}
.vlk-feat-card:hover{border-color:rgba(201,168,76,.28);background:rgba(255,255,255,.055);transform:translateY(-4px)}
.vlk-feat-card:hover::before{opacity:1}
.vlk-feat-icon{font-size:1.9rem;margin-bottom:14px;display:block}
.vlk-feat-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--vlk-cream);margin-bottom:8px}
.vlk-feat-text{font-size:.87rem;font-weight:300;line-height:1.7;color:rgba(247,242,234,.56)}
.vlk-price-card{background:rgba(255,255,255,.035);border:1px solid rgba(201,168,76,.12);border-radius:20px;padding:30px 24px;transition:border-color .3s,transform .3s;position:relative;overflow:hidden}
.vlk-price-card.featured{border-color:rgba(201,168,76,.45);background:rgba(201,168,76,.07)}
.vlk-price-card.featured::before{content:'Популярный';position:absolute;top:14px;right:14px;background:var(--vlk-gold);color:var(--vlk-brown);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:50px}
.vlk-price-card:hover{border-color:rgba(201,168,76,.32);transform:translateY(-4px)}
.vlk-price-dur{font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--vlk-gold);margin-bottom:10px}
.vlk-price-amt{font-family:'Cormorant Garamond',serif;font-size:2.7rem;font-weight:300;color:var(--vlk-cream)!important;line-height:1;margin-bottom:4px}
.vlk-price-amt sup{font-size:1.1rem;vertical-align:top;margin-top:8px;display:inline-block}
.vlk-price-per{font-size:.82rem;color:rgba(247,242,234,.38);margin-bottom:14px}
.vlk-price-note{font-size:.83rem;font-weight:300;line-height:1.6;color:rgba(247,242,234,.5);border-top:1px solid rgba(201,168,76,.1);padding-top:12px}
.vlk-price-info{margin-top:28px;padding:22px 26px;background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.17);border-radius:16px;font-size:.9rem;font-weight:300;line-height:1.7;color:rgba(247,242,234,.63)}
.vlk-price-info strong{color:var(--vlk-gold-lt)!important;font-weight:600}
.vlk-step{text-align:center;padding:0 16px}
.vlk-step-num{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.04);border:2px solid rgba(201,168,76,.28);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--vlk-gold-lt);position:relative;z-index:1;transition:border-color .3s,background .3s}
.vlk-step:hover .vlk-step-num{border-color:var(--vlk-gold);background:rgba(201,168,76,.1)}
.vlk-step-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:var(--vlk-cream);margin-bottom:8px}
.vlk-step-text{font-size:.84rem;font-weight:300;line-height:1.65;color:rgba(247,242,234,.5)}
.vlk-sched-card{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.1);border-radius:18px;padding:26px}
.vlk-sched-days{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--vlk-gold-lt);margin-bottom:6px}
.vlk-sched-time{font-size:.95rem;font-weight:300;color:rgba(247,242,234,.68);margin-bottom:6px}
.vlk-sched-note{font-size:.8rem;color:rgba(247,242,234,.36);font-style:italic}
.vlk-pay-badge{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.14);border-radius:50px;padding:10px 18px;font-size:.82rem;font-weight:500;color:rgba(247,242,234,.62)}
.vlk-contact-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.vlk-contact-icon{width:42px;height:42px;border-radius:12px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.vlk-contact-info label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--vlk-gold);margin-bottom:3px}
.vlk-contact-info a,.vlk-contact-info p{font-size:.95rem;color:var(--vlk-cream)!important;text-decoration:none;line-height:1.5}
.vlk-contact-info a:hover{color:var(--vlk-gold-lt)!important}
.vlk-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.vlk-reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.vlk-reveal{opacity:1!important;transform:none!important}}
.vlk-ember-wrap{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.vlk-ember{position:absolute;bottom:-20px;border-radius:50%;opacity:0;animation:vlkEmberUp linear infinite}
@keyframes vlkEmberUp{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.65}90%{opacity:.2}100%{transform:translateY(-100vh) translateX(28px) scale(.15);opacity:0}}
.cookie-consent{background:rgba(18,8,2,.97)!important;border-top:1px solid rgba(201,168,76,.2)!important}
.cookie-consent__title{color:var(--vlk-cream)!important}
.cookie-consent__desc,.cookie-consent .muted{color:rgba(247,242,234,.52)!important}
.vlk-map-box{border-radius:18px;overflow:hidden;border:1px solid rgba(201,168,76,.15)}
.vlk-map-box iframe{width:100%;height:100%;border:none;display:block}


/* ═══ VLK PATCH v3 — calendar + operator + slider ═══ */

/* Calendar cells */
.lk-cal-day {
  border-radius: 14px !important;
  border: 1px solid rgba(201,168,76,.15) !important;
  color: var(--vlk-cream) !important;
  padding: 8px 6px !important;
  min-height: 58px !important;
  cursor: pointer !important;
  transition: border-color .2s, transform .15s !important;
}
.lk-cal-day:hover { border-color: rgba(201,168,76,.45) !important; transform: translateY(-2px) !important; }
.lk-cal-day.is-active { border-color: var(--vlk-gold) !important; box-shadow: 0 0 0 2px rgba(201,168,76,.28) !important; }
.lk-cal-day.is-out { opacity: .3 !important; }
.lk-cal-num { font-size: .92rem !important; font-weight: 700 !important; color: var(--vlk-cream) !important; margin-bottom: 5px !important; }
.lk-cal-badges { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.lk-badge { display: inline-block !important; font-size: .62rem !important; font-weight: 600 !important; padding: 1px 5px !important; border-radius: 4px !important; line-height: 1.4 !important; }
.lk-badge--pct { background: rgba(255,255,255,.1) !important; color: rgba(247,242,234,.55) !important; }
.lk-badge--free { background: rgba(74,222,128,.12) !important; color: #86efac !important; }
.lk-cal-dow { font-size: .62rem !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--vlk-gold) !important; opacity: .8 !important; text-align: center !important; }
#month_label { color: var(--vlk-cream) !important; font-family: 'Cormorant Garamond',serif !important; font-size: 1.3rem !important; font-weight: 600 !important; }
.lk-month-sub, #month_sub { color: rgba(247,242,234,.45) !important; font-size: .82rem !important; }

/* Mobile week */
.lk-weekcard { background: rgba(255,255,255,.04) !important; border: 1px solid rgba(201,168,76,.14) !important; border-radius: 20px !important; }
.lk-week-day { background: rgba(255,255,255,.04) !important; border: 1px solid rgba(201,168,76,.1) !important; border-radius: 12px !important; color: var(--vlk-cream) !important; transition: border-color .2s !important; }
.lk-week-day:hover { border-color: rgba(201,168,76,.35) !important; }
.lk-week-day.is-active { border-color: var(--vlk-gold) !important; background: rgba(201,168,76,.1) !important; }
.lk-week-day.is-out { opacity: .3 !important; }
.lk-daynum { color: var(--vlk-cream) !important; font-weight: 700 !important; }
.lk-weektitle { color: var(--vlk-cream) !important; font-weight: 700 !important; }
.lk-daypanel { background: rgba(255,255,255,.04) !important; border: 1px solid rgba(201,168,76,.15) !important; border-radius: 18px !important; }
.lk-daypanel-title { color: var(--vlk-cream) !important; font-weight: 700 !important; }
.lk-daypanel-sub { color: rgba(247,242,234,.45) !important; }
.lk-drawer__panel { background: rgba(18,8,2,.98) !important; border-top: 1px solid rgba(201,168,76,.2) !important; }
.lk-drawer__title { color: var(--vlk-cream) !important; }
.lk-drawer details { background: rgba(255,255,255,.04) !important; border: 1px solid rgba(201,168,76,.12) !important; border-radius: 14px !important; }

/* Operator */
.op-day { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(201,168,76,.14) !important; border-radius: 16px !important; }
.op-day-title { color: var(--vlk-cream) !important; font-weight: 700 !important; font-size: 1rem !important; }
.op-day-kpi { color: rgba(247,242,234,.5) !important; font-size: .82rem !important; }
.op-free { color: rgba(247,242,234,.6) !important; font-size: .82rem !important; }
.op-chip { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(201,168,76,.2) !important; color: var(--vlk-cream) !important; border-radius: 50px !important; font-size: .82rem !important; }
.op-chip:hover { background: rgba(201,168,76,.15) !important; border-color: var(--vlk-gold) !important; }
.op-item { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(201,168,76,.1) !important; border-radius: 14px !important; }
.op-item-time { color: var(--vlk-cream) !important; font-weight: 700 !important; }
.op-item-sub { color: rgba(247,242,234,.48) !important; font-size: .82rem !important; }
.op-badge { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(201,168,76,.14) !important; color: var(--vlk-cream) !important; font-size: .75rem !important; }
.op-badge--pending { background: rgba(251,146,60,.1) !important; border-color: rgba(251,146,60,.3) !important; color: #fdba74 !important; }
.op-badge--paid { background: rgba(74,222,128,.1) !important; border-color: rgba(74,222,128,.3) !important; color: #86efac !important; }
.op-badge--refund { background: rgba(96,165,250,.1) !important; border-color: rgba(96,165,250,.3) !important; color: #93c5fd !important; }
.op-badge--off { background: rgba(156,163,175,.06) !important; border-color: rgba(156,163,175,.18) !important; color: rgba(247,242,234,.4) !important; }
.op-sep { background: rgba(201,168,76,.1) !important; }
.op-user { color: rgba(247,242,234,.65) !important; }
.op-msg.ok { color: #86efac !important; }
.op-msg.err { color: #fca5a5 !important; }
.op-uh-item { background: rgba(255,255,255,.04) !important; border: 1px solid rgba(201,168,76,.1) !important; border-radius: 14px !important; }
.op-uh-row { color: var(--vlk-cream) !important; font-size: .88rem !important; }
.op-uh-sub { color: rgba(247,242,234,.45) !important; font-size: .78rem !important; }
.op-uh-title { color: var(--vlk-cream) !important; font-weight: 700 !important; }
.op-uh-muted { color: rgba(247,242,234,.42) !important; font-size: .78rem !important; }
.op-note { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(201,168,76,.18) !important; color: var(--vlk-cream) !important; }
.op-card .muted, #op_user_block .muted { color: rgba(247,242,234,.5) !important; }

/* Reviews slider */
.vlk-reviews-slider { position: relative; overflow: hidden; margin-top: 40px; }
.vlk-reviews-track { display: flex; gap: 20px; transition: transform .5s cubic-bezier(.4,0,.2,1); will-change: transform; }
.vlk-review-card {
  flex: 0 0 calc(50% - 10px); min-width: calc(50% - 10px);
  background: rgba(255,255,255,.04); border: 1px solid rgba(201,168,76,.14);
  border-radius: 20px; padding: 28px 24px;
  display: flex; flex-direction: column; gap: 14px;
  transition: border-color .3s;
}
.vlk-review-card:hover { border-color: rgba(201,168,76,.3); }
@media(max-width:700px){ .vlk-review-card { flex: 0 0 calc(100vw - 44px); min-width: calc(100vw - 44px); } }
.vlk-review-stars { color: #f59e0b; font-size: 1rem; letter-spacing: 2px; }
.vlk-review-text { font-size: .9rem; font-weight: 300; line-height: 1.75; color: rgba(247,242,234,.72); flex: 1; }
.vlk-review-author { font-weight: 600; color: var(--vlk-cream); font-size: .9rem; }
.vlk-review-meta { font-size: .75rem; color: rgba(247,242,234,.35); margin-top: 2px; }
.vlk-review-source { font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--vlk-gold); background: rgba(201,168,76,.1); border: 1px solid rgba(201,168,76,.2); border-radius: 50px; padding: 3px 10px; white-space: nowrap; }
.vlk-slider-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 20px; }
.vlk-slider-arrow { width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.06); border: 1px solid rgba(201,168,76,.2); color: var(--vlk-cream); cursor: pointer; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; transition: background .2s, border-color .2s; }
.vlk-slider-arrow:hover { background: rgba(201,168,76,.15); border-color: var(--vlk-gold); }
.vlk-slider-dots { display: flex; gap: 8px; align-items: center; }
.vlk-slider-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(201,168,76,.25); border: none; cursor: pointer; padding: 0; transition: background .2s, transform .2s; }
.vlk-slider-dot.active { background: var(--vlk-gold); transform: scale(1.5); }
.sw-app { border-radius: 20px !important; overflow: hidden !important; }

/* Mobile cabinet */
@media(max-width:700px){
  .lk-month-split { grid-template-columns: 1fr !important; }
  .lk-month-right { display: none !important; }
  .lk-tabs { gap: 8px !important; }
  .lk-tab { flex: 1 !important; text-align: center !important; padding: 8px 4px !important; font-size: .78rem !important; }
  .pt-actions { flex-direction: column !important; }
  .pt-actions .button { width: 100% !important; }
}
/* Mobile operator */
@media(max-width:640px){
  .op-grid { grid-template-columns: 1fr !important; }
  .op-row { flex-direction: column !important; align-items: stretch !important; }
  .op-actions { flex-direction: column !important; }
  .op-actions .button { width: 100% !important; }
}


/* ═══════════════════════════════════════════════
   VLK PATCH v3b — calendar cells + drawer dark
   ═══════════════════════════════════════════════ */

/* ── Ячейки календаря — перебиваем inline background от JS ── */
.lk-cal-day {
  /* Базовый вид — стекло с золотым бортом */
  border-radius: 14px !important;
  border: 1px solid rgba(201,168,76,.18) !important;
  color: var(--vlk-cream, #f7f2ea) !important;
  padding: 10px !important;
  min-height: 72px !important;
  cursor: pointer !important;
  transition: border-color .2s, box-shadow .2s !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
}
.lk-cal-day:hover {
  border-color: rgba(201,168,76,.55) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.35) !important;
}
.lk-cal-day.is-active {
  border-color: var(--vlk-gold, #c9a84c) !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,.3), 0 4px 16px rgba(0,0,0,.3) !important;
  outline: none !important;
}
.lk-cal-day.is-out { opacity: .3 !important; }

/* Перебиваем inline-цвета от JS через filter на родителе —
   нельзя (JS ставит каждой кнопке). Делаем через :not(.is-out) overlay */
/* Свободный день (зелёный JS inline) — добавляем свой оттенок */
/* JS: rgba(34,197,94,.10/.14) → оставляем, просто делаем текст читабельным */
/* JS: rgba(239,68,68,.18) → красноватый → оставляем */
/* JS: rgba(245,158,11,.18) → желтоватый → оставляем */

/* Число дня */
.lk-cal-num {
  font-weight: 800 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: var(--vlk-cream, #f7f2ea) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.6) !important;
  margin-bottom: auto !important;
}

/* Бейджи % и Nч */
.lk-cal-badges {
  margin-top: auto !important;
  display: flex !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
  max-width: 100% !important;
}
.lk-badge {
  font-size: 10px !important;
  line-height: 1.2 !important;
  padding: 2px 6px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  background: rgba(0,0,0,.45) !important;
  color: var(--vlk-cream, #f7f2ea) !important;
  white-space: nowrap !important;
  backdrop-filter: blur(4px) !important;
}
.lk-badge--pct { color: rgba(247,242,234,.7) !important; }
.lk-badge--free { color: #86efac !important; border-color: rgba(74,222,128,.3) !important; }

/* Заголовки дней недели */
.lk-cal-dow {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--vlk-gold, #c9a84c) !important;
  text-align: center !important;
}

/* ── DRAWER — панель бронирования ── */

/* Подложка summary box (setDaySummary — inline #fff background) */
#pt_timeline > div:first-child {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(201,168,76,.2) !important;
  border-radius: 14px !important;
  color: var(--vlk-cream) !important;
}
#pt_timeline > div:first-child b {
  color: var(--vlk-gold-lt, #e8c97a) !important;
}
/* "Уборка после брони" red text */
#pt_timeline > div:first-child b[style*="color:#ef"] {
  color: #f87171 !important;
}

/* Интервалы: свободные / занятые */
.lk-dayitem {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(201,168,76,.15) !important;
  border-radius: 14px !important;
  color: var(--vlk-cream, #f7f2ea) !important;
  font-size: 13px !important;
  padding: 11px 14px !important;
  text-align: left !important;
  width: 100% !important;
  transition: background .18s, border-color .18s !important;
}
.lk-dayitem--free {
  cursor: pointer !important;
  border-color: rgba(74,222,128,.25) !important;
  background: rgba(74,222,128,.07) !important;
  color: #d1fae5 !important;
}
.lk-dayitem--free:hover {
  background: rgba(74,222,128,.15) !important;
  border-color: rgba(74,222,128,.5) !important;
}
.lk-dayitem--busy {
  opacity: .45 !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
  border-color: rgba(248,113,113,.2) !important;
  background: rgba(248,113,113,.06) !important;
  color: #fca5a5 !important;
}

/* Кнопки быстрого выбора длительности */
.lk-qbtn, .lk-sbtn {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(201,168,76,.25) !important;
  border-radius: 999px !important;
  color: var(--vlk-cream, #f7f2ea) !important;
  padding: 7px 14px !important;
  font-size: 12px !important;
  cursor: pointer !important;
  transition: background .18s, border-color .18s !important;
}
.lk-qbtn:hover, .lk-sbtn:hover {
  background: rgba(201,168,76,.18) !important;
  border-color: var(--vlk-gold, #c9a84c) !important;
}
.lk-qbtn:disabled, .lk-sbtn:disabled {
  opacity: .3 !important;
  cursor: not-allowed !important;
}

/* Кнопки оплаты: СБП / Перевод/нал */
.lk-pill {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(201,168,76,.22) !important;
  border-radius: 999px !important;
  color: rgba(247,242,234,.75) !important;
  padding: 7px 14px !important;
  font-size: 12px !important;
  cursor: pointer !important;
  transition: all .18s !important;
}
.lk-pill:hover {
  background: rgba(201,168,76,.12) !important;
  color: var(--vlk-cream) !important;
}
.lk-pill.is-active {
  background: var(--vlk-gold, #c9a84c) !important;
  border-color: var(--vlk-gold, #c9a84c) !important;
  color: var(--vlk-brown, #2a1a0e) !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 10px rgba(201,168,76,.3) !important;
}
.lk-pill:disabled { opacity: .3 !important; cursor: not-allowed !important; }

/* Лейбл "Оплата:" */
.lk-paylabel {
  color: rgba(247,242,234,.5) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin-right: 4px !important;
}

/* Цена в drawer */
#pt_price {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: var(--vlk-gold-lt, #e8c97a) !important;
}

/* Заголовки label в drawer */
#month_drawer_body .op-label,
#month_drawer_body label,
.lk-drawer__body label {
  color: var(--vlk-gold, #c9a84c) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

/* select в drawer */
#pt_start, #pt_end, #pt_pay {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(201,168,76,.22) !important;
  color: var(--vlk-cream, #f7f2ea) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
}
#pt_start option, #pt_end option, #pt_pay option {
  background: #2a1a0e !important;
  color: var(--vlk-cream) !important;
}

/* Сертификат input */
#pt_cert {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(201,168,76,.22) !important;
  color: var(--vlk-cream) !important;
  border-radius: 12px !important;
}

/* Кнопка "Забронировать" */
#pt_book_btn {
  background: var(--vlk-gold, #c9a84c) !important;
  color: var(--vlk-brown, #2a1a0e) !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 12px 24px !important;
  font-size: .95rem !important;
  cursor: pointer !important;
  transition: background .2s !important;
  box-shadow: 0 4px 16px rgba(201,168,76,.3) !important;
}
#pt_book_btn:hover { background: var(--vlk-gold-lt, #e8c97a) !important; }

/* availability table */
.lk-av-tag {
  background: rgba(255,255,255,.06) !important;
  color: var(--vlk-cream) !important;
  border-radius: 6px !important;
  padding: 3px 10px !important;
  font-size: .75rem !important;
}
.lk-av-tag.free {
  background: rgba(74,222,128,.1) !important;
  border-color: rgba(74,222,128,.3) !important;
  color: #86efac !important;
}
.lk-av-tag.busy {
  background: rgba(248,113,113,.08) !important;
  border-color: rgba(248,113,113,.25) !important;
  color: #fca5a5 !important;
  opacity: 1 !important;
}
.lk-av-muted { color: rgba(247,242,234,.45) !important; }
.lk-av-date { color: var(--vlk-cream) !important; }

/* Mobile cal cells */
@media(max-width:900px){
  .lk-cal-day { min-height: 60px !important; padding: 7px !important; }
  .lk-cal-num { font-size: 13px !important; }
  .lk-badge { font-size: 9px !important; padding: 1px 4px !important; }
}
