:root{
  --brand:#0f766e;
}
body{ font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
a{ text-decoration:none; }
.brand-badge{ display:inline-flex; align-items:center; gap:10px; }
.card{ border-radius:16px; }
.btn-brand{ background:var(--brand)!important; border-color:var(--brand)!important; border-radius:12px!important; }
.btn-outline-brand{ border-color:var(--brand)!important; color:var(--brand)!important; border-radius:12px!important; }
.muted{ color:#6b7280; }
.kpi{ background:#f0fdfa; border:1px solid #99f6e4; border-radius:12px; padding:12px; }
.slot{ border:1px solid #e5e7eb; border-radius:16px; padding:14px; background:#fff; }
.slot .t{ font-weight:700; }
.tag{ display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; background:#f3f4f6; }
.tag.public{ background:#ecfeff; }
.tag.private{ background:#f0fdfa; }
.tag.closed{ background:#fef2f2; }
.hr{ height:1px; background:#e5e7eb; margin:18px 0; }

/* ---- Landing layout tweaks ---- */
.landing-hero-row > .cell-md-7,
.landing-hero-row > .cell-md-5 { display: flex; }

.landing-hero-row .card { width: 100%; }

.hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.formats-card {
  display: flex;
  flex-direction: column;
}

.formats-list {
  flex: 1;
  margin: 0;
  padding-left: 18px;
}

.formats-cta {
  align-self: stretch;
  text-align: center;
}

.price-cards .cell-md-6 { display: flex; }
.price-cards .card { width: 100%; }

/* ---- LK (Cabinet) business UI ---- */
.lk-grid .lk-col { display:flex; }
.lk-card { width:100%; }
.lk-panel{ border-radius:14px; border:1px solid #e5e7eb; background:#fff; }
.lk-summary{ border-radius:14px; border:1px solid #99f6e4; background:#f0fdfa; padding:12px; }
.lk-warn{ border-radius:12px; border:1px solid #fed7aa; background:#fff7ed; padding:10px; color:#7c2d12; }
.lk-codebox{ border-radius:12px; border:1px solid #c7d2fe; background:#eef2ff; padding:12px; }
.lk-code{ font-size:22px; letter-spacing:2px; font-weight:800; }

.lk-slot-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.lk-tags{ display:flex; gap:8px; flex-wrap:wrap; }
.lk-controls{ margin-top:12px; border-top:1px solid #eef2f7; padding-top:12px; }
.lk-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.lk-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }

.lk-booking{ border:1px solid #e5e7eb; border-radius:14px; padding:12px; background:#fff; }
.lk-booking + .lk-booking{ margin-top:10px; }
.lk-booking-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }

.tag-brand{ background:#dcfce7; }
.tag-sky{ background:#e0f2fe; }
.tag-gray{ background:#f3f4f6; }
.tag-muted{ background:#f1f5f9; color:#64748b; }

/* ---- Friendly Cabinet UX ---- */
.lk-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.lk-top-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.lk-col{ display:flex; }
.lk-card{ width:100%; }
.lk-panel{ border-radius:14px; border:1px solid #e5e7eb; background:#fff; padding:14px; }
.lk-summary{ border-radius:14px; border:1px solid #99f6e4; background:#f0fdfa; padding:12px; }
.lk-hint{ border-radius:14px; border:1px solid #e2e8f0; background:#f8fafc; padding:12px; color:#334155; }
.lk-warn{ border-radius:12px; border:1px solid #fed7aa; background:#fff7ed; padding:10px; color:#7c2d12; }
.lk-codebox{ border-radius:12px; border:1px solid #c7d2fe; background:#eef2ff; padding:12px; }
.lk-code{ font-size:22px; letter-spacing:2px; font-weight:800; }

.lk-date-row{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
.lk-date-row input{ flex: 1; min-width: 220px; }

.lk-tabs{ display:flex; gap:10px; }
.lk-tab{
  border:1px solid #e5e7eb; background:#fff; padding:10px 12px;
  border-radius:12px; cursor:pointer;
}
.lk-tab.active{ border-color:#0f766e; background:#f0fdfa; font-weight:700; }

.slot{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  padding:0;
  overflow:hidden;
  margin-top:10px;
}
.slot-summary{
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  cursor:pointer;
}
.slot-summary::-webkit-details-marker{ display:none; }
.slot-left{ display:flex; flex-direction:column; gap:4px; }
.slot-time{ font-weight:800; font-size:16px; }
.slot-right{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.slot-open{ font-size:12px; }
.slot-body{ padding:12px 14px; border-top:1px solid #eef2f7; }

.lk-tags{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }

.lk-controls{ margin-top:10px; }
.lk-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.lk-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }

.lk-booking{ border:1px solid #e5e7eb; border-radius:14px; padding:12px; background:#fff; }
.lk-booking + .lk-booking{ margin-top:10px; }
.lk-booking-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }

@media (max-width: 768px){
  .lk-top{ flex-direction:column; }
  .slot-summary{ flex-direction:column; align-items:flex-start; }
  .slot-right{ align-items:flex-start; }
  .lk-date-row input{ width: 100%; }
}

/* ---- Tiles for slots ---- */
.slot-tiles{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 900px){
  .slot-tiles{ grid-template-columns: 1fr; }
}

.slot-tile{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  transition: transform .12s ease, box-shadow .12s ease;
}
.slot-tile:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(2,6,23,.06);
}

.tile-sum{
  list-style: none;
  padding: 14px 14px 12px 14px;
  cursor: pointer;
}
.tile-sum::-webkit-details-marker{ display:none; }

.tile-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.tile-time{ font-size: 18px; font-weight: 900; }
.tile-free{ font-size: 13px; }
.tile-mid{ margin-top: 6px; }
.tile-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.tile-hint{ margin-top:10px; font-size:12px; }

.slot-tile[open] .tile-sum{
  background: #f8fafc;
  border-bottom: 1px solid #eef2f7;
}

.tile-body{
  padding: 12px 14px 14px 14px;
}


/* ---- Compact tiles (schedule) ---- */
.slot-tiles-compact{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 1100px){
  .slot-tiles-compact{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px){
  .slot-tiles-compact{ grid-template-columns: 1fr; }
}

.slot-tile-compact{
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  transition: transform .12s ease, box-shadow .12s ease;
}
.slot-tile-compact:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(2,6,23,.06);
}

.tile-sum-compact{
  list-style: none;
  padding: 10px 12px;
  cursor: pointer;
}
.tile-sum-compact::-webkit-details-marker{ display:none; }
.tile-sum-compact::marker{ content:""; }
.slot-tile-compact > summary::after{
  content:"+";
  float:right;
  font-weight:900;
  color:#0f766e;
  margin-left:8px;
}
.slot-tile-compact[open] > summary::after{ content:"–"; }

.tile-line{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}
.tile-time{
  font-size: 15px;
  font-weight: 900;
  line-height: 1.15;
}
.tile-free{
  font-size: 12px;
  line-height: 1.15;
  white-space: nowrap;
}

.tile-tags-compact{
  display:flex;
  flex-wrap:wrap;
  gap: 6px;
  margin-top: 8px;
}

.slot-tile-compact[open] .tile-sum-compact{
  background: #f8fafc;
  border-bottom: 1px solid #eef2f7;
}

/* ---- Slot filters (chips) ---- */
.lk-filters{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.lk-chipbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.lk-chip{
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:999px;
  padding:7px 12px;
  cursor:pointer;
  font-weight:700;
  font-size:13px;
}
.lk-chip.active{
  border-color:#0f766e;
  background:#f0fdfa;
}

.lk-check{
  display:flex;
  align-items:center;
  gap:8px;
  user-select:none;
  font-weight:600;
  color:#334155;
}

/* ---- Disabled tile look ---- */
.tile-disabled{
  opacity:.65;
}
.tile-disabled:hover{
  transform:none !important;
  box-shadow:none !important;
}

/* PRETTY_SLOTS_V1 */

/* сетка плиток */
.slot-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}
@media (max-width: 1100px){
  .slot-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px){
  .slot-grid{ grid-template-columns: 1fr !important; }
}

/* карточка сеанса */
.slot-card{
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 6px 14px rgba(2,6,23,.04) !important;
  transition: transform .12s ease, box-shadow .12s ease !important;
}
.slot-card:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 20px rgba(2,6,23,.08) !important;
}

/* убираем стрелочки/маркеры details */
.slot-card > summary{
  list-style: none !important;
}
.slot-card > summary::-webkit-details-marker{ display:none !important; }
.slot-card > summary::marker{ content:"" !important; }

/* summary как аккуратная шапка */
.slot-card__sum{
  padding: 12px 14px !important;
  cursor: pointer !important;
}
.slot-card__sum::after{
  content: "+" !important;
  float: right !important;
  font-weight: 900 !important;
  color: #0f766e !important;
  margin-left: 10px !important;
}
.slot-card[open] > .slot-card__sum::after{
  content: "–" !important;
}

.slot-card[open] > .slot-card__sum{
  background: #f8fafc !important;
  border-bottom: 1px solid #eef2f7 !important;
}

/* верхняя строка время/вместимость */
.slot-head{
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.slot-time{
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}
.slot-cap{
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* теги */
.slot-tags{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 10px !important;
}

/* body */
.slot-card__body{
  padding: 12px 14px 14px 14px !important;
}
.slot-meta{
  margin-top: 10px !important;
  color: #334155 !important;
}
.slot-note{
  margin-top: 10px !important;
}
.slot-card--disabled{
  opacity: .7 !important;
}
.slot-card--disabled:hover{
  transform: none !important;
  box-shadow: 0 6px 14px rgba(2,6,23,.04) !important;
}

/* чтобы элементы не налезали */
.lk-row{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.lk-row > label{ min-width: 90px !important; }

/* панель фильтров аккуратно */
.lk-filters{
  padding: 10px 12px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}

/* Social icons */
.social-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.social-icon{
  width:44px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid #e6e6e6;background:#fff;text-decoration:none;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.social-icon:hover{border-color:#cfe3ff;transform:translateY(-1px)}
.social-icon:active{transform:translateY(0)}
.social-icon svg{width:22px;height:22px;fill:#0f172a}
.social-icon.tg svg{fill:#229ED9}
.social-icon.wa svg{fill:#25D366}
.social-icon.vk svg{fill:#0077FF}
.social-icon.max{background:#0f172a;border-color:#0f172a}
.social-icon.max .social-max{color:#fff;font-weight:900;font-size:16px;line-height:1}

/* Social icons (fixed) */
.social-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}
.social-icon{
  width:40px;height:40px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #e6e6e6;background:#fff;text-decoration:none;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.social-icon:hover{border-color:#cfe3ff;transform:translateY(-1px)}
.social-icon:active{transform:translateY(0)}
.social-icon svg{width:20px;height:20px;display:block}

/* brand colors */
.social-icon.tg svg{fill:#229ED9}
.social-icon.wa svg{fill:#25D366}
.social-icon.vk svg{fill:#0077FF}
.social-icon.chat svg{fill:#0f172a}

/* on very small screens */
@media (max-width: 420px){
  .social-icon{width:36px;height:36px;border-radius:12px}
  .social-icon svg{width:18px;height:18px}
}


/* === Social icons v2 (compact) === */
.social-links{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:10px;
}
.social-icon{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.social-icon svg{
  width:22px;
  height:22px;
  display:block;
}
.social-icon.tg{ background:#229ED9; border-color:rgba(34,158,217,.35); }
.social-icon.wa{ background:#25D366; border-color:rgba(37,211,102,.35); }
.social-icon.vk{ background:#0077FF; border-color:rgba(0,119,255,.35); }
/* MAX заменён на "чат" */
.social-icon.chat{ background:#111; border-color:rgba(0,0,0,.35); }
.social-icon.tg svg,
.social-icon.wa svg,
.social-icon.vk svg,
.social-icon.chat svg{ fill:#fff; }
/* === /Social icons v2 === */


/* social-icons-hard-lock (anti-override) */
.social-icon{width:44px;height:44px;max-width:44px;max-height:44px;}
.social-icon svg{width:22px;height:22px;max-width:22px;max-height:22px;display:block;}

/* mx alias */
.social-icon.mx{background:#0f172a;border-color:#0f172a}
.social-icon.mx svg{fill:#fff}


/* promo text */
.slot-meta.promo{
  margin-top:8px;
  font-size:13px;
  line-height:1.35;
  opacity:.95;
}

.nav-logo{width:34px;height:34px;object-fit:contain;border-radius:8px;background:rgba(255,255,255,.15);padding:4px}
.social-icon{width:44px;height:44px}
.social-icon svg{width:22px;height:22px}
/* === LK Month View v3 (client cabinet) === */
.lk-month-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:start}
.lk-month-cal{border:1px solid rgba(15,45,42,.10);border-radius:16px;padding:14px;background:#fff}
.lk-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;font-weight:800;font-size:12px;color:#0f172a;margin-bottom:10px}
.lk-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.lk-cal-day{text-align:left;border:1px solid rgba(15,45,42,.10);background:rgba(15,45,42,.02);border-radius:14px;padding:10px 10px 8px;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,background .08s ease}
.lk-cal-day:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(2,6,23,.06);background:#fff}
.lk-cal-day.is-out{opacity:.45}
.lk-cal-day.is-active{outline:3px solid rgba(15,118,110,.25);background:#fff;border-color:rgba(15,118,110,.35)}
.lk-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.lk-cal-num{font-weight:900;font-size:14px;color:#0f172a}
.lk-cal-dots{display:grid;grid-template-columns:repeat(6,10px);gap:6px;align-items:center;justify-content:flex-start}

.lk-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(148,163,184,.55);background:rgba(148,163,184,.25)}
/* palette */
.lk-dot--female{background:rgba(236,72,153,.28);border-color:rgba(236,72,153,.55)}  /* pink */
.lk-dot--male{background:rgba(59,130,246,.28);border-color:rgba(59,130,246,.55)}    /* blue */
.lk-dot--privatefree{background:rgba(34,197,94,.22);border-color:rgba(34,197,94,.55)}/* green */
.lk-dot--busy{background:rgba(239,68,68,.22);border-color:rgba(239,68,68,.55)}       /* red */
.lk-dot--off{background:rgba(148,163,184,.25);border-color:rgba(148,163,184,.60)}    /* gray */
.lk-dot--public{background:rgba(2,132,199,.18);border-color:rgba(2,132,199,.40)}
.lk-dot--empty{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.45)}

.lk-legend{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:12px}
.lk-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#0f172a;background:rgba(15,45,42,.04);border:1px solid rgba(15,45,42,.10);padding:6px 10px;border-radius:999px}

.lk-month-daypanel{border:1px solid rgba(15,45,42,.10);border-radius:16px;padding:14px;background:#fff;position:sticky;top:14px}
.lk-daypanel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.lk-daypanel-title{font-weight:900;font-size:14px;color:#0f172a}
.lk-day-list{display:flex;flex-direction:column;gap:10px}
.lk-day-row{border:1px solid rgba(15,45,42,.10);border-radius:14px;padding:10px;display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;background:rgba(15,45,42,.02)}
.lk-day-time{font-weight:900;color:#0f172a}
.lk-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(15,45,42,.10);background:#fff;margin-right:6px}
.lk-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid rgba(15,45,42,.12);background:#fff;margin-right:8px;white-space:nowrap}
.lk-status--ok{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10)}
.lk-status--busy{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.10)}
.lk-status--off{border-color:rgba(148,163,184,.55);background:rgba(148,163,184,.18)}
.lk-openbtn{white-space:nowrap}

/* Mobile: show week cards, hide desktop layout */
#month_week_scroller{display:none}
@media (max-width:980px){
  .lk-month-layout{display:none}
  #month_week_scroller{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px}
  .lk-weekcard{min-width:92vw;scroll-snap-align:start;border:1px solid rgba(15,45,42,.10);border-radius:16px;padding:14px;background:#fff}
  .lk-weekcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
  .lk-weekcard-title{font-weight:900}
  .lk-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
  .lk-week-day{border:1px solid rgba(15,45,42,.10);border-radius:14px;padding:8px 6px;background:rgba(15,45,42,.02)}
  .lk-week-day.is-out{opacity:.45}
  .lk-week-day.is-active{outline:3px solid rgba(15,118,110,.25);background:#fff;border-color:rgba(15,118,110,.35)}
  .lk-week-num{font-weight:900;text-align:left;margin-bottom:6px}
  .lk-week-dots{display:grid;grid-template-columns:repeat(3,10px);gap:6px;justify-content:flex-start}
}

/* === LK MONTH VARIANT A (v5) BEGIN === */

.lk-month-layout{
  display:grid;
  grid-template-columns: 1.35fr 0.85fr;
  gap:16px;
  align-items:start;
}

.lk-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  margin: 10px 0 14px;
  padding:10px 12px;
  border:1px solid rgba(15,45,42,.10);
  background: rgba(15,45,42,.03);
  border-radius: 14px;
  font-size: 12px;
  font-weight: 700;
  color:#0f2d2a;
}
.lk-legend-item{display:flex; align-items:center; gap:8px;}

.lk-cal-head{
  display:grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap:8px;
  font-weight:800;
  font-size:12px;
  color:#0f2d2a;
  margin-bottom:8px;
}

.lk-cal-grid{
  display:grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap:8px;
}

.lk-day{
  border:1px solid rgba(15,45,42,.12);
  background:#fff;
  border-radius:16px;
  padding:10px 10px 12px;
  text-align:left;
  cursor:pointer;
  transition: transform .06s ease, box-shadow .12s ease, border-color .12s ease;
}
.lk-day:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  border-color: rgba(15,45,42,.22);
}
.lk-day--off{
  opacity:.45;
}
.lk-day--today{
  outline: 2px solid rgba(20,184,166,.35);
}
.lk-day--active{
  outline: 2px solid rgba(20,184,166,.70);
}

.lk-daynum{
  font-weight:900;
  color:#0f2d2a;
  font-size:14px;
}

.lk-dots{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
  min-height: 18px;
}

.lk-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:1px solid rgba(15,45,42,.18);
  background: rgba(148,163,184,.22);
}

/* requested palette */
.lk-dot--female{ background: rgba(236,72,153,.28); border-color: rgba(236,72,153,.55); } /* pink */
.lk-dot--male{ background: rgba(59,130,246,.28); border-color: rgba(59,130,246,.55); } /* blue */
.lk-dot--busy{ background: rgba(239,68,68,.22); border-color: rgba(239,68,68,.55); } /* red */
.lk-dot--privatefree{ background: rgba(34,197,94,.22); border-color: rgba(34,197,94,.55); } /* green */
.lk-dot--closed{ background: rgba(148,163,184,.25); border-color: rgba(148,163,184,.60); } /* gray */
.lk-dot--neutral{ background: rgba(2,132,199,.18); border-color: rgba(2,132,199,.40); } /* teal */

.lk-month-hint{
  margin-top:10px;
  font-size:12px;
  color:#64748b;
  font-weight:700;
}

.lk-month-panel{
  border:1px solid rgba(15,45,42,.12);
  background:#fff;
  border-radius:16px;
  padding:12px;
}

.lk-panel-head{ margin-bottom:10px; }
.lk-panel-list{ display:flex; flex-direction:column; gap:10px; }

.lk-panel-item{
  border:1px solid rgba(15,45,42,.10);
  border-radius:14px;
  padding:10px;
  background: rgba(15,45,42,.02);
}
.lk-panel-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.lk-panel-time{
  font-weight:900;
  color:#0f2d2a;
}
.lk-panel-tags{ display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.lk-panel-mid{ margin-top:6px; font-weight:700; }
.lk-panel-actions{ margin-top:10px; display:flex; justify-content:flex-end; }

@media (max-width: 980px){
  .lk-month-layout{ grid-template-columns: 1fr; }
  .lk-month-panel{ display:none; } /* mobile uses drawer */
  .lk-day{ padding: 10px; }
  .lk-cal-grid, .lk-cal-head{ gap:6px; }
  .lk-dot{ width:9px; height:9px; }
}

/* LK: make booking selector full width look nicer */
.lk-booking-wide{
  margin-top:16px;
}

/* === LK MONTH VARIANT A (v5) END === */

/* === LK MONTH FIX A (v1) BEGIN === */
.lk-month-layout{display:grid;grid-template-columns:1.35fr .85fr;gap:16px;align-items:start}
.lk-legend{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:10px 0 14px;padding:10px 12px;border:1px solid rgba(15,45,42,.10);background:rgba(15,45,42,.03);border-radius:14px;font-size:12px;font-weight:700;color:#0f2d2a}
.lk-legend-item{display:flex;align-items:center;gap:8px}
.lk-cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-weight:800;font-size:12px;color:#0f2d2a;margin-bottom:8px}
.lk-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.lk-day{border:1px solid rgba(15,45,42,.12);background:#fff;border-radius:16px;padding:10px 10px 12px;text-align:left;cursor:pointer;transition:transform .06s ease,box-shadow .12s ease,border-color .12s ease}
.lk-day:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.06);border-color:rgba(15,45,42,.22)}
.lk-day--off{opacity:.45}
.lk-day--today{outline:2px solid rgba(20,184,166,.35)}
.lk-day--active{outline:2px solid rgba(20,184,166,.70)}
.lk-daynum{font-weight:900;color:#0f2d2a;font-size:14px}
.lk-dots{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;min-height:18px}
.lk-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(15,45,42,.18);background:rgba(148,163,184,.22)}
.lk-dot--female{background:rgba(236,72,153,.28);border-color:rgba(236,72,153,.55)}
.lk-dot--male{background:rgba(59,130,246,.28);border-color:rgba(59,130,246,.55)}
.lk-dot--busy{background:rgba(239,68,68,.22);border-color:rgba(239,68,68,.55)}
.lk-dot--privatefree{background:rgba(34,197,94,.22);border-color:rgba(34,197,94,.55)}
.lk-dot--closed{background:rgba(148,163,184,.25);border-color:rgba(148,163,184,.60)}
.lk-dot--neutral{background:rgba(2,132,199,.18);border-color:rgba(2,132,199,.40)}
.lk-month-hint{margin-top:10px;font-size:12px;color:#64748b;font-weight:700}
.lk-month-panel{border:1px solid rgba(15,45,42,.12);background:#fff;border-radius:16px;padding:12px}
.lk-panel-list{display:flex;flex-direction:column;gap:10px}
.lk-panel-item{border:1px solid rgba(15,45,42,.10);border-radius:14px;padding:10px;background:rgba(15,45,42,.02)}
.lk-panel-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.lk-panel-time{font-weight:900;color:#0f2d2a}
.lk-panel-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.lk-panel-actions{margin-top:10px;display:flex;justify-content:flex-end}
@media (max-width:980px){.lk-month-layout{grid-template-columns:1fr}.lk-month-panel{display:none}.lk-cal-grid,.lk-cal-head{gap:6px}.lk-dot{width:9px;height:9px}}
/* === LK MONTH FIX A (v1) END === */

/* === LK MONTH LEGEND v4 START === */
.lk-legend{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:10px 0 0}
.lk-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#0f172a;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.10);padding:6px 10px;border-radius:999px}
.lk-dot{width:10px;height:10px;border-radius:999px;display:inline-block;border:1px solid rgba(0,0,0,.12)}
.lk-dot--female{background:#ec4899;border-color:rgba(236,72,153,.55)}
.lk-dot--male{background:#3b82f6;border-color:rgba(59,130,246,.55)}
.lk-dot--busy{background:#ef4444;border-color:rgba(239,68,68,.55)}
.lk-dot--privatefree{background:#22c55e;border-color:rgba(34,197,94,.55)}
.lk-dot--mixed{background:#14b8a6;border-color:rgba(20,184,166,.55)}
.lk-dot--closed{background:#94a3b8;border-color:rgba(148,163,184,.60)}

.lk-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:10px}
.lk-month-dow{font-size:12px;font-weight:800;color:#0f172a;text-align:center;opacity:.75}
.lk-month-day{border:1px solid rgba(15,23,42,.10);background:#fff;border-radius:14px;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;min-height:70px}
.lk-month-day.is-out{opacity:.45}
.lk-month-day-num{font-weight:800;color:#0f172a}
.lk-month-dots{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

#month_day_drawer{position:fixed;right:18px;top:120px;width:420px;max-width:calc(100vw - 36px);background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:18px;box-shadow:0 12px 36px rgba(15,23,42,.18);padding:14px;display:none;z-index:9999}
#month_day_overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);display:none;z-index:9998}
.lk-dayrow{display:grid;grid-template-columns:70px 1fr auto auto;gap:10px;align-items:center;padding:10px;border-radius:14px;border:1px solid rgba(15,23,42,.08);margin-top:10px}
.lk-daytime{font-weight:800}
.lk-daybadges{display:flex;gap:8px;flex-wrap:wrap}
.lk-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.12);font-weight:700;font-size:12px;background:rgba(15,23,42,.03)}
.lk-badge--soft{background:rgba(2,132,199,.08);border-color:rgba(2,132,199,.18)}
.lk-daymeta{font-size:12px;font-weight:700;opacity:.7}
.lk-daybtn{border-radius:12px;padding:8px 12px;border:1px solid rgba(15,23,42,.14);background:#fff;font-weight:800;cursor:pointer}
.lk-daybtn.is-disabled{opacity:.45;cursor:not-allowed}

@media (max-width: 820px){
  #month_day_drawer{left:18px;right:18px;top:auto;bottom:18px;width:auto}
  .lk-dayrow{grid-template-columns:70px 1fr;grid-auto-rows:auto}
  .lk-daymeta{grid-column:1 / -1}
  .lk-dayaction{grid-column:1 / -1}
}
/* === LK MONTH LEGEND v4 END === */

/* LK_MOBILE_CAL_V2_2026_01_17 */
/* Fix month week scroller + dots + mobile layout */
:root{
  --lk-green:#16a34a;
  --lk-red:#ef4444;
  --lk-blue:#3b82f6;
  --lk-pink:#ec4899;
  --lk-gray:#94a3b8;
  --lk-border:rgba(15,45,42,.14);
}

/* Week card (used by cabinet month view JS) */
.lk-weekcard{
  background:#fff;
  border:1px solid var(--lk-border);
  border-radius:16px;
  padding:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.lk-weekhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.lk-weektitle{
  font-weight:600;
  font-size:14px;
  opacity:.85;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lk-weeknavbtn{
  width:36px;
  height:36px;
  border-radius:12px;
  border:1px solid var(--lk-border);
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.lk-weeknavbtn:active{transform:scale(.98)}

.lk-daysgrid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.lk-daycol{
  border:1px solid var(--lk-border);
  border-radius:14px;
  background:#fbfdff;
  padding:8px 6px;
  min-height:74px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  cursor:pointer;
}
.lk-daycol:hover{background:#f1f5f9}
.lk-daycol.is-selected{
  border-color:rgba(15,118,110,.55);
  box-shadow:0 0 0 3px rgba(15,118,110,.12);
}
.lk-dow{font-size:11px;opacity:.6;line-height:1}
.lk-daynum{font-size:16px;font-weight:700;line-height:1}

.lk-dots{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:3px;
  margin-top:auto;
  padding-top:4px;
}
.lk-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  display:inline-block;
}
.lk-dot.dot-private{background:var(--lk-green)}
.lk-dot.dot-busy{background:var(--lk-red)}
.lk-dot.dot-m{background:var(--lk-blue)}
.lk-dot.dot-f{background:var(--lk-pink)}
.lk-dot.dot-off{background:var(--lk-gray);opacity:.6}

/* Legend dots */
.lk-legend .lk-dot{width:9px;height:9px;margin-right:6px}

@media (min-width:901px){
  #month_week_scroller{display:none !important;}
  #month_calendar{display:block !important;}
}

@media (max-width:900px){
  #month_calendar{display:none !important;}
  #month_week_scroller{
    display:flex !important;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
    -webkit-overflow-scrolling:touch;
  }
  #month_week_scroller::-webkit-scrollbar{display:none}
  .lk-weekcard{
    min-width:calc(100vw - 32px);
    scroll-snap-align:start;
  }
  .lk-daysgrid{gap:6px}
  .lk-daycol{min-height:64px;padding:8px 4px;border-radius:12px}
  .lk-dot{width:6px;height:6px}
  /* Day tiles: one column */
  .slots-grid{grid-template-columns:1fr !important;}
}

/* === vlksauna hotfix: cookie + legal + footer === */
.cookie-consent{
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:9999;
}
.cookie-consent__inner{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  padding:14px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(7,16,40,0.92);
  backdrop-filter: blur(10px);
}
.cookie-consent__title{ font-weight:800; margin-bottom:2px; }
.cookie-consent__actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.cookie-consent a{ color: var(--accent2); text-decoration: underline; }

.legal-page{ padding: 18px 12px 32px; }
.legal-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }

.doc-grid{ display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); margin-top:12px; }
.doc-card{
  display:block;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03);
  text-decoration:none;
}
.doc-card__title{ font-weight:800; color: var(--text); }
.doc-card__text{ margin-top:6px; }

.site-footer{ padding: 22px 0 30px; border-top:1px solid rgba(255,255,255,0.08); margin-top: 18px; }
.site-footer__row{ display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.site-footer__links{ display:flex; gap:14px; flex-wrap:wrap; }
.site-footer__links a{ color: var(--muted); text-decoration:none; }
.site-footer__links a:hover{ color: var(--text); text-decoration: underline; }

@media (max-width: 520px){
  .cookie-consent__inner{ flex-direction:column; align-items:stretch; }
  .cookie-consent__actions{ justify-content:stretch; }
  .cookie-consent__actions .button{ width:100%; }
}

/* Cookie banner: readable (theme uses dark text by default). */
.cookie-consent__inner{ color: rgba(255,255,255,0.92) !important; }
.cookie-consent__title{ color: rgba(255,255,255,0.95) !important; }
.cookie-consent__desc{ color: rgba(255,255,255,0.78) !important; }
.cookie-consent .button{ white-space: nowrap; }
@media (max-width: 520px){
  .cookie-consent .button{ white-space: normal; }
}

.cookie-consent__inner{
  color: rgba(255,255,255,0.92) !important;
}
.cookie-consent .cookie-consent__title{
  color: rgba(255,255,255,0.95) !important;
}
.cookie-consent .muted,
.cookie-consent .cookie-consent__desc{
  color: rgba(255,255,255,0.72) !important;
}
.cookie-consent a{
  color: rgba(147,197,253,0.95) !important;
}

.cookie-consent,
#cookie-consent,
.cookie-banner,
.cookiebar {
  background: rgba(7, 16, 40, 0.96) !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
}

.cookie-consent__inner,
.cookie-consent__inner * ,
.cookie-consent__text,
.cookie-consent__text * ,
.cookie-consent p,
.cookie-consent span,
.cookie-consent small,
.cookie-consent .muted,
.cookie-banner p,
.cookie-banner span,
.cookie-banner small,
.cookie-banner .muted,
#cookie-consent p,
#cookie-consent span,
#cookie-consent small,
#cookie-consent .muted {
  color: rgba(255,255,255,0.92) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  filter: none !important;
}

/* ссылки внутри плашки */
.cookie-consent a,
.cookie-banner a,
#cookie-consent a {
  color: rgba(147,197,253,0.95) !important;
}

/* кнопки пусть остаются читабельными */
.cookie-consent .button,
.cookie-banner .button,
#cookie-consent .button {
  opacity: 1 !important;
}

.cookie-consent,
#cookie-consent,
.cookie-banner,
.cookiebar {
  background: rgba(7, 16, 40, 0.97) !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
}

.cookie-consent__inner,
.cookie-consent__inner * ,
.cookie-consent__text,
.cookie-consent__text * ,
.cookie-consent p,
.cookie-consent span,
.cookie-consent small,
.cookie-consent .muted,
.cookie-banner p,
.cookie-banner span,
.cookie-banner small,
.cookie-banner .muted,
#cookie-consent p,
#cookie-consent span,
#cookie-consent small,
#cookie-consent .muted {
  color: rgba(255,255,255,0.92) !important;
  opacity: 1 !important;              /* важно: убираем утопление */
  text-shadow: none !important;
  filter: none !important;
}

.cookie-consent a,
.cookie-banner a,
#cookie-consent a {
  color: rgba(147,197,253,0.95) !important;
}

.cookie-consent,
#cookie-consent,
.cookie-banner,
.cookiebar {
  background: rgba(7, 16, 40, 0.97) !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
}

/* Важно: перебиваем любые muted/opacity/filters у текста внутри */
.cookie-consent *:not(button):not(.button),
#cookie-consent *:not(button):not(.button),
.cookie-banner *:not(button):not(.button),
.cookiebar *:not(button):not(.button) {
  color: rgba(255,255,255,0.92) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* ссылки */
.cookie-consent a,
#cookie-consent a,
.cookie-banner a,
.cookiebar a {
  color: rgba(147,197,253,0.95) !important;
  opacity: 1 !important;
}
