/* Флоу бронирования «как у Складно»: карта → пункт → кладовки → правая панель.
   Бренд — наш лаймовый (не копируем розовый Складно). */
.bk-map{ width:100%; height:340px; border-radius:18px; border:1px solid var(--line); overflow:hidden; background:var(--card); }
.bk-map .leaflet-container{ height:100%; width:100%; font:inherit; background:#e8efe1; }
.bk-pin{ width:34px; height:44px; position:relative; }
.bk-pin svg{ width:34px; height:44px; filter:drop-shadow(0 3px 4px rgba(20,45,10,.35)); }
.bk-hint{ color:var(--muted); font-size:13.5px; margin:12px 2px 0; }

/* карточки пунктов под картой */
.bk-pointlist{ display:grid; gap:12px; margin-top:16px; }
.bk-point2{ width:100%; text-align:left; display:flex; align-items:center; gap:14px; cursor:pointer;
  background:var(--card); border:1.5px solid var(--line); border-radius:16px; padding:14px 16px; transition:border-color .12s, transform .08s; }
.bk-point2:hover{ border-color:var(--lime); transform:translateY(-1px); }
.bk-point2 .thumb{ width:64px; height:64px; border-radius:12px; object-fit:cover; flex:none; background:var(--bg); }
.bk-point2 .pmain{ flex:1; min-width:0; }
.bk-point2 .pname{ font-weight:800; font-size:16px; }
.bk-point2 .paddr{ color:var(--muted); font-size:13px; margin-top:2px; }
.bk-point2 .pfree{ color:var(--lime-d); font-weight:700; font-size:13px; margin-top:4px; }
.bk-point2 .parrow{ color:var(--lime-d); font-size:20px; font-weight:800; flex:none; }

/* назад */
.bk-back{ background:none; border:none; color:var(--lime-d); font-weight:600; font-size:14px; cursor:pointer; padding:0 0 12px; display:inline-flex; align-items:center; gap:6px; }

/* детально по пункту: фото + инфо */
.bk-locview .photo{ width:100%; height:clamp(220px,34vw,360px); object-fit:cover; border-radius:18px; border:1px solid var(--line); background:var(--bg); }
.bk-locview h3{ font-size:clamp(20px,2.6vw,26px); margin:16px 0 4px; }
.bk-locview .addr{ color:var(--muted); font-size:15px; }
.bk-locview .status{ color:var(--ok,#2e9e2e); font-weight:700; font-size:14px; margin:12px 0 18px; display:flex; align-items:center; gap:8px; }
.bk-locview .status .dot{ width:9px; height:9px; border-radius:50%; background:currentColor; }

/* кладовки по адресу */
.bk-cellsview .addr-h{ font-size:18px; font-weight:800; margin:0 0 4px; }
.bk-cellsview .addr-s{ color:var(--muted); font-size:13.5px; margin:0 0 16px; }
.bk-sizetabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.bk-sizetab{ border:1.5px solid var(--line); background:var(--card); color:var(--ink); border-radius:99px; padding:8px 16px; font-size:14px; font-weight:600; cursor:pointer; }
.bk-sizetab[aria-pressed="true"]{ background:var(--lime); color:var(--on-lime,#0e2405); border-color:var(--lime); }
.bk-cellgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
.bk-cc{ background:var(--card); border:1.5px solid var(--line); border-radius:16px; padding:16px; text-align:left; cursor:pointer; position:relative; transition:border-color .12s, transform .08s; display:flex; flex-direction:column; gap:6px; }
.bk-cc:hover{ border-color:var(--lime); transform:translateY(-1px); }
.bk-cc.busy{ opacity:.55; cursor:default; }
.bk-cc.busy:hover{ border-color:var(--line); transform:none; }
.bk-cc .cno{ font-size:13px; color:var(--muted); font-weight:700; }
.bk-cc .cbox{ align-self:center; font-size:40px; line-height:1; margin:4px 0; }
.bk-cc .cvol{ font-weight:800; font-size:17px; }
.bk-cc .cdim{ color:var(--muted); font-size:12.5px; }
.bk-cc .cprice{ font-weight:800; font-size:15px; margin-top:4px; }
.bk-cc .cprice s{ color:var(--muted); font-weight:500; font-size:13px; margin-right:5px; }
.bk-cc .cdisc{ position:absolute; top:12px; right:12px; background:var(--lime); color:var(--on-lime,#0e2405); font-size:11px; font-weight:800; border-radius:99px; padding:3px 8px; }
.bk-cc .cbadge{ position:absolute; top:12px; right:12px; font-size:11px; font-weight:700; border-radius:99px; padding:3px 8px; background:color-mix(in srgb,var(--hold,#e0a935) 20%,transparent); color:var(--hold,#e0a935); }

/* правая выезжающая панель */
.bk-drawer{ position:fixed; inset:0; z-index:1200; display:none; }
.bk-drawer.on{ display:block; }
.bk-drawer .bg{ position:absolute; inset:0; background:rgba(8,14,6,.5); opacity:0; transition:opacity .2s; }
.bk-drawer.on .bg{ opacity:1; }
.bk-drawer .panel{ position:absolute; top:0; right:0; height:100%; width:min(440px,100%); background:var(--card); box-shadow:-16px 0 50px rgba(20,45,10,.25);
  transform:translateX(100%); transition:transform .24s ease; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.bk-drawer.on .panel{ transform:translateX(0); }
.bk-drawer .dx{ position:absolute; top:12px; right:14px; z-index:2; border:none; background:color-mix(in srgb,var(--bg) 70%,transparent); width:36px; height:36px; border-radius:50%; font-size:22px; color:var(--ink); cursor:pointer; }
.bk-drawer .dphoto{ width:100%; height:200px; object-fit:cover; background:var(--bg); display:block; }
.bk-dbody{ padding:18px 20px 120px; }
.bk-dbody .dno{ text-align:center; color:var(--muted); font-size:14px; }
.bk-dbody .dvol{ text-align:center; font-size:30px; font-weight:800; margin:2px 0 14px; }
.bk-chars{ display:flex; justify-content:space-between; gap:6px; text-align:center; margin-bottom:14px; flex-wrap:wrap; }
.bk-chars .ch{ flex:1; min-width:56px; }
.bk-chars .cv{ font-weight:800; font-size:15px; }
.bk-chars .ck{ color:var(--muted); font-size:11px; margin-top:2px; }
.bk-hintbox{ background:color-mix(in srgb,var(--lime) 12%,var(--card)); border:1px solid var(--line); border-radius:12px; padding:10px 13px; font-size:12.5px; color:var(--muted); margin-bottom:16px; }
.bk-optnav{ display:flex; gap:7px; flex-wrap:wrap; margin-bottom:16px; }
.bk-optnav button{ border:none; background:var(--bg); color:var(--muted); border-radius:99px; padding:8px 14px; font-size:13px; font-weight:600; cursor:pointer; }
.bk-optnav button[aria-pressed="true"]{ background:var(--lime); color:var(--on-lime,#0e2405); }
.bk-sec{ margin-bottom:20px; }
.bk-sec h4{ font-size:15px; margin:0 0 10px; }
.bk-dur{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bk-durc{ position:relative; border:1.5px solid var(--line); border-radius:14px; padding:12px 14px; cursor:pointer; background:var(--card); }
.bk-durc[aria-pressed="true"]{ border-color:var(--lime); box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 26%,transparent); }
.bk-durc .dl{ font-size:12.5px; color:var(--muted); }
.bk-durc .dp{ font-weight:800; font-size:18px; margin-top:2px; }
.bk-durc .dsave{ color:var(--lime-d); font-size:11.5px; margin-top:3px; }
.bk-durc .dperc{ position:absolute; top:10px; right:10px; background:var(--lime); color:var(--on-lime,#0e2405); font-size:11px; font-weight:800; border-radius:99px; padding:2px 7px; }
.bk-guest{ background:color-mix(in srgb,var(--lime) 14%,var(--card)); border:1px solid var(--line); border-radius:14px; padding:14px 16px; }
.bk-guest p{ margin:0 0 10px; font-size:13.5px; color:var(--muted); }
.bk-promo{ display:flex; gap:8px; } .bk-promo input{ flex:1; border:1.5px solid var(--line); border-radius:12px; padding:11px 13px; font-size:15px; background:var(--bg); color:var(--ink); }
.bk-total{ border-top:1px solid var(--line); padding-top:12px; margin-top:6px; }
.bk-total .row{ display:flex; justify-content:space-between; font-size:14px; margin:5px 0; color:var(--muted); }
.bk-total .row b{ color:var(--ink); }
.bk-total .grand{ font-size:17px; } .bk-total .grand b{ font-size:19px; }
.bk-dfoot{ position:sticky; bottom:0; background:var(--card); border-top:1px solid var(--line); padding:14px 20px; }
.bk-dfoot .btn{ width:100%; justify-content:center; }
.bk-dfoot .oferta{ text-align:center; font-size:11.5px; color:var(--muted); margin-top:9px; }
@media(max-width:520px){ .bk-drawer .panel{ width:100%; } .bk-dur{ grid-template-columns:1fr 1fr; } }

/* Блок брони — белая панель: адрес выделен цветом, карточки чуть приподняты */
.book .bk-point2{ background:color-mix(in srgb,var(--lime) 9%,var(--card)); border-color:color-mix(in srgb,var(--lime) 32%,var(--line)); }
.book .addr-h{ color:var(--lime-d); }
.book .bk-point2 .pname{ color:var(--lime-d); }
.book .bk-cc{ box-shadow:0 2px 10px rgba(20,45,10,.05); }
