/* Пикър за доставка — модал с избор на начин, офис (карта + списък) или адрес.
   Самостоятелен: не зависи от стиловете на страницата, която го отваря. */

.dlv-open{ display:inline-flex; align-items:center; gap:8px; width:100%; box-sizing:border-box;
  padding:11px 13px; border-radius:12px; cursor:pointer; text-align:left;
  border:1px dashed rgba(255,255,255,.24); background:rgba(255,255,255,.045);
  color:#e8ecf3; font-family:inherit; font-size:13px; font-weight:600; }
.dlv-open:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.36); }
.dlv-open .ic{ font-size:15px; opacity:.85; }
.dlv-open.is-filled{ border-style:solid; border-color:rgba(124,92,255,.55);
  background:rgba(124,92,255,.10); }

/* Резюме на избраното — показва се вместо подканата */
.dlv-summary{ display:none; padding:11px 13px; border-radius:12px;
  border:1px solid rgba(124,92,255,.45); background:rgba(124,92,255,.10);
  font-size:12.5px; line-height:1.5; color:#e8ecf3; }
.dlv-summary.is-on{ display:block; }
.dlv-summary b{ color:#fff; font-weight:800; }
.dlv-summary .dlv-edit{ margin-top:7px; border:0; background:none; padding:0; cursor:pointer;
  color:#a9b6ff; font-family:inherit; font-size:12px; font-weight:800; text-decoration:underline; }

/* ── Модалът ─────────────────────────────────────────────────────────────── */
.dlv-modal{ position:fixed; inset:0; z-index:100010; display:none;
  align-items:center; justify-content:center; padding:18px;
  background:rgba(8,10,14,.72); backdrop-filter:blur(3px); }
.dlv-modal.is-on{ display:flex; }
.dlv-box{ width:min(940px, 100%); max-height:min(88vh, 780px); display:flex; flex-direction:column;
  border-radius:18px; overflow:hidden; background:#171a21; color:#e8ecf3;
  border:1px solid rgba(255,255,255,.10); box-shadow:0 40px 90px -30px rgba(0,0,0,.9); }
.dlv-head{ flex:0 0 auto; display:flex; align-items:center; gap:10px; padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.08); }
.dlv-head h3{ margin:0; font-size:15px; font-weight:800; letter-spacing:.2px; }
.dlv-head .sp{ flex:1 1 auto; }
.dlv-x{ width:30px; height:30px; flex:0 0 auto; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.08); color:#e8ecf3; font-size:16px; line-height:1; }
.dlv-x:hover{ background:rgba(255,255,255,.16); }
.dlv-body{ flex:1 1 auto; min-height:0; overflow:auto; padding:16px; }
.dlv-foot{ flex:0 0 auto; display:flex; align-items:center; gap:10px; padding:13px 16px;
  border-top:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02); }
.dlv-foot .sp{ flex:1 1 auto; }
.dlv-price{ font-size:13px; font-weight:700; color:#c9d2e0; }
.dlv-price b{ color:#fff; font-weight:900; }

.dlv-btn{ height:38px; padding:0 20px; border:0; border-radius:999px; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:800; color:#fff;
  background:linear-gradient(135deg,#7c5cff 0%,#5b8cff 100%);
  box-shadow:0 12px 26px -14px rgba(92,124,255,.95); }
.dlv-btn[disabled]{ opacity:.45; cursor:default; box-shadow:none; }
.dlv-btn-ghost{ height:38px; padding:0 16px; border:1px solid rgba(255,255,255,.16);
  border-radius:999px; cursor:pointer; background:none; color:#c9d2e0;
  font-family:inherit; font-size:13px; font-weight:700; }

/* ── Начини на доставка ──────────────────────────────────────────────────── */
.dlv-methods{ display:grid; gap:9px; margin-bottom:16px; }
/* 🔴 <button> НЕ наследява цвят от родителя — без изричен color текстът излиза черен
   върху тъмния фон и „Еконт" не се четеше. Същото важи за всеки бутон тук. */
.dlv-method{ display:flex; align-items:center; gap:11px; padding:11px 13px; cursor:pointer;
  border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03);
  color:#e8ecf3; font-family:inherit; text-align:left; }
.dlv-method:hover{ background:rgba(255,255,255,.06); }
.dlv-method.is-on{ border-color:#7c5cff; background:rgba(124,92,255,.12); }
.dlv-method img{ height:32px; width:auto; max-width:130px; flex:0 0 auto; border-radius:10px;
  object-fit:contain; padding:0; }
.dlv-method .nm{ display:block; font-size:13.5px; font-weight:800; color:#fff; }
.dlv-method .nt{ display:block; font-size:11.5px; font-weight:600; color:#9aa4b2; margin-top:1px; }
.dlv-method .pr{ margin-left:auto; font-size:13px; font-weight:800; white-space:nowrap; color:#fff; }

/* ── Превключвател офис/адрес ────────────────────────────────────────────── */
.dlv-tabs{ display:inline-flex; padding:3px; gap:3px; border-radius:999px;
  background:rgba(255,255,255,.06); margin-bottom:13px; }
.dlv-tab{ border:0; border-radius:999px; padding:7px 16px; cursor:pointer; background:none;
  font-family:inherit;
  color:#c9d2e0; font-family:inherit; font-size:12.5px; font-weight:800; }
.dlv-tab.is-on{ background:#7c5cff; color:#fff; }

/* ── Офиси: търсене + списък + карта ─────────────────────────────────────── */
.dlv-office-wrap{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:13px; }
@media (max-width: 760px){ .dlv-office-wrap{ grid-template-columns:1fr; } }

.dlv-search{ width:100%; box-sizing:border-box; height:38px; padding:0 13px; margin-bottom:9px;
  border-radius:10px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05);
  color:#e8ecf3; font-family:inherit; font-size:13px; font-weight:600; }
.dlv-search:focus{ outline:none; border-color:#7c5cff; }
.dlv-search::placeholder{ color:#8b93a1; }

.dlv-list{ max-height:330px; overflow:auto; display:grid; gap:6px; align-content:start; }
/* 🔴 ТЕЛЕФОН: списъкът НЕ е собствен скрол — тече в общия. Три вложени скрола на
   един екран (стъпката, списъкът, картата) правят страницата неуправляема с пръст. */
@media (max-width: 760px){ .dlv-list{ max-height:none; overflow:visible; } }
.dlv-more{ padding:9px 2px 0; font-size:12.5px; line-height:1.5; color:#9aa4b2; }
.dlv-office{ text-align:left; cursor:pointer; padding:9px 11px; border-radius:10px;
  border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.03);
  color:#e8ecf3; font-family:inherit; }
.dlv-office:hover{ background:rgba(255,255,255,.07); }
.dlv-office.is-on{ border-color:#7c5cff; background:rgba(124,92,255,.14); }
.dlv-office .c{ display:block; font-size:11px; font-weight:800; color:#9aa4b2; text-transform:uppercase;
  letter-spacing:.4px; }
.dlv-office .n{ display:block; font-size:13px; font-weight:800; margin-top:1px; }
.dlv-office .a{ display:block; font-size:11.5px; font-weight:600; color:#a8b0bd; margin-top:2px; }
.dlv-empty{ padding:16px; text-align:center; font-size:12.5px; color:#9aa4b2; }

.dlv-map{ min-height:330px; border-radius:12px; overflow:hidden; background:#20242c;
  border:1px solid rgba(255,255,255,.10); }
/* Бутонът за картата е САМО за телефон — на широк екран картата е винаги до списъка. */
.dlv-maptoggle{ display:none; width:100%; height:46px; margin:12px 0 0; border-radius:12px;
  border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.05);
  color:#e8ecf3; font-family:inherit; font-size:15px; font-weight:800; cursor:pointer; }
@media (max-width: 760px){
  .dlv-maptoggle{ display:block; }
  /* Скрита по подразбиране: докато не я поискаш, целият екран се скролва като едно. */
  .dlv-office-wrap .dlv-map{ display:none; }
  .dlv-office-wrap.is-mapon .dlv-map{ display:block; margin-top:10px; }
}
@media (max-width: 760px){ .dlv-map{ min-height:230px; } }
.dlv-map-off{ display:flex; align-items:center; justify-content:center; height:100%;
  padding:16px; text-align:center; font-size:12.5px; color:#9aa4b2; }
/* Изскачащото балонче на Leaflet — в тъмната гама на модала */
.dlv-map .leaflet-popup-content-wrapper{ background:#232833; color:#e8ecf3; border-radius:10px; }
.dlv-map .leaflet-popup-tip{ background:#232833; }
.dlv-map .leaflet-popup-content{ margin:9px 11px; font-size:12.5px; font-weight:600; }
.dlv-map .leaflet-popup-content b{ display:block; margin-bottom:2px; }
.dlv-pick{ margin-top:6px; border:0; border-radius:999px; padding:5px 12px; cursor:pointer;
  background:#7c5cff; color:#fff; font-family:inherit; font-size:11.5px; font-weight:800; }

/* ── Полета ──────────────────────────────────────────────────────────────── */
.dlv-fields{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:14px; }
/* 🔴 [hidden] дава display:none, но правилото по клас е по-специфично и го надвива —
   без този ред адресните полета стоят видими и когато е избрано „До офис". */
.dlv-fields[hidden], .dlv-office-wrap[hidden], [data-dlv-office][hidden], [data-dlv-where][hidden]{
  display:none !important; }
@media (max-width: 620px){ .dlv-fields{ grid-template-columns:1fr; } }
.dlv-fields .wide{ grid-column:1 / -1; }
.dlv-in{ width:100%; box-sizing:border-box; height:38px; padding:0 13px; border-radius:10px;
  border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05); color:#e8ecf3;
  font-family:inherit; font-size:13px; font-weight:600; }
.dlv-in:focus{ outline:none; border-color:#7c5cff; }
.dlv-in::placeholder{ color:#8b93a1; }
.dlv-in.is-bad{ border-color:#ff6b6b; }
/* Грешка ДО САМОТО поле — общата лента отдолу не казва кое точно е сбъркано, а човек
   поправя по-охотно това, което му е посочено на място. Полето и грешката му стоят в
   една клетка на решетката, за да не се разпадне подредбата. */
.dlv-fld{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.dlv-fld.wide{ grid-column:1 / -1; }
.dlv-fe{ display:none; padding-left:3px; font-size:11.5px; font-weight:700; color:#ff8f8f;
  line-height:1.35; }
.dlv-fe.is-on{ display:block; }
/* Подсказката е ТИХА: дребна и сива, само колкото да се види какво се очаква. */
.dlv-fh{ padding-left:3px; font-size:11px; font-weight:600; color:#79818f; line-height:1.35; }
.dlv-fh.is-off{ display:none; }
.dlv-err{ display:none; margin-top:9px; padding:9px 11px; border-radius:10px;
  background:rgba(255,107,107,.13); border:1px solid rgba(255,107,107,.35);
  font-size:12.5px; font-weight:700; color:#ffc9c9; }
.dlv-err.is-on{ display:block; }

/* Маркер по мярка: Leaflet иска marker-icon.png от папка images/ до своя CSS. Вместо да
   мъкнем картинки, рисуваме капката със CSS — и се връзва с гамата на модала. */
.dlv-pin{ width:20px; height:20px; border-radius:50% 50% 50% 0; transform:rotate(-45deg);
  background:#7c5cff; border:2px solid #fff; box-shadow:0 3px 8px rgba(0,0,0,.55); }
.dlv-pin.is-on{ background:#4ade80; }
