/* ====================================================
   RESPONSIVE / MOBILE OVERRIDES — держать ПОСЛЕДНИМ файлом в подключении, чтобы переопределения побеждали в каскаде
   ==================================================== */

/* ---------- MOBILE OVERRIDES (kept at the end so they always win the cascade) ---------- */
@media (max-width:899px) {
  .nav {
    padding-left:20px;
    padding-right:24px;
  }
  .burger {
    font-size:44px;
  }
  .brand span {
    display:none;
  }
  .navcta {
    display:inline-flex;
    margin-left:auto;
    margin-right:10px;
    padding:11px 18px;
    font-size:12px;
    white-space:nowrap;
  }
}
@media (max-width:420px) {
  .navcta {
    padding:9px 12px;
    font-size:10.5px;
  }
}
@media (max-width:768px) {
  .section-head {
    gap:16px;
    margin-bottom:16px;
  }
}
@media (max-width:860px) {
  .split-map iframe {
    min-height:380px;
  }
  .split-contacts {
    padding:22px;
  }
  .split-contacts .contact-row {
    gap:12px;
    padding:12px 0;
  }
  .split-contacts .contact-icon {
    width:34px;
    height:34px;
  }
  .split-contacts .contact-icon svg {
    width:16px;
    height:16px;
  }
  .split-contacts .contact-row .label {
    font-size:10.5px;
  }
  .split-contacts .contact-row .value {
    font-size:14.5px;
  }
}
@media (min-width:600px) and (max-width:900px) {
  .ba-grid {
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:820px) {
  .about-photo {
    width:100%;
    height:260px;
    min-height:260px;
  }
  .about-grid.vertical .about-photo {
    width:100%;
    height:420px;
  }
}
@media (max-width:768px) {
  .hero {
    flex-direction:column;
    align-items:stretch;
    padding-top:8px;
  }
  .hero-car-wrap {
    display:none;
  }
  .hero-actions {
    flex-direction:column;
    align-items:stretch;
  }
  .hero-actions .btn {
    width:100%;
    box-sizing:border-box;
    text-align:center;
  }
  .hero-chips {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
  }
  .chip {
    padding:10px 8px;
    gap:1px;
  }
  .chip b {
    font-size:16px;
  }
  .chip span {
    font-size:8.5px;
    letter-spacing:.03em;
  }
}

html, body {
  overflow-x: hidden;
  max-width: 100%;
  overscroll-behavior-x: none;
  touch-action: pan-y;
}

@media (max-width:640px) {
  .booking-panel,
  .form-grid,
  .field,
  .field.full,
  .service-checklist,
  .cal-widget,
  .slots {
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width:640px) {
  .admin-tabs {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .admin-tab {
    text-align:center;
  }
}

.crop-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(10,11,14,.92);
  backdrop-filter:blur(6px);
  align-items:center;
  justify-content:center;
  padding:24px;
}
.crop-modal-box {
  max-width:600px;
  width:100%;
  padding:28px;
}
.crop-modal-box h3 {
  margin-bottom:16px;
}
.crop-image-wrap {
  max-height:60vh;
  overflow:hidden;
  background:#000;
}
.crop-image-wrap img {
  max-width:100%;
  display:block;
}
@media(min-width:821px) {
  .about-grid.vertical {
    grid-template-columns:440px 1fr;
    grid-template-areas:
      "photo text"
      "photo principles";
    align-items:stretch;
  }
  .about-grid.vertical .about-photo {
    width:440px;
    height:100%;
  }
}
@media(max-width:640px) {
  #sameTimeAllDays,
  #daysGrid input[data-day-enabled] {
    width:26px !important;
    height:26px !important;
  }
  .ed-item {
    overflow:hidden;
  }
  .ed-grid {
    width:100%;
    box-sizing:border-box;
  }
  .ed-grid input[type="time"] {
    width:88%;
    max-width:88%;
    font-size:13px;
    padding:10px 8px;
  }
  .save-bar {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(90px,1fr));
    gap:8px;
    width:100%;
  }
  .save-bar .btn {
    width:100%;
    box-sizing:border-box;
    margin:0;
    padding:12px 8px;
    font-size:12px;
    text-align:center;
  }
  .save-bar .save-msg {
    grid-column:1/-1;
    text-align:center;
    margin-top:6px;
  }
  .ed-grid input[type="date"] {
    text-align:center;
  }
  .ed-grid input.block-date {
    max-width:240px !important;
    width:100% !important;
    margin:0 auto !important;
    display:block !important;
    text-align:center !important;
  }
  .radio-group {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .radio-opt {
    width:100%;
    box-sizing:border-box;
    justify-content:center;
    white-space:normal;
    padding:9px 8px;
    font-size:11.5px;
    gap:6px;
  }
  .radio-opt input {
    width:13px;
    height:13px;
    flex-shrink:0;
  }
  .img-upload {
    flex-wrap:wrap;
    gap:10px;
  }
  .img-upload input[type="file"] {
    flex:1 1 100%;
    width:100%;
    box-sizing:border-box;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:10px 12px;
    background:rgba(255,255,255,.03);
    font-size:12px;
  }
  .img-upload .btn {
    flex:1 1 100%;
    width:100%;
    box-sizing:border-box;
    padding:10px 14px;
    font-size:12px;
    white-space:nowrap;
  }
  .slots {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
  }
  .slot-btn {
    padding:10px 4px;
    font-size:12.5px;
    text-align:center;
    box-sizing:border-box;
    width:100%;
  }
  #blockSlotPanel .admin-box {
    overflow:hidden;
    box-sizing:border-box;
  }
  #blockSlotPanel .ed-grid {
    width:100%;
    box-sizing:border-box;
  }
  .admin-box {
    overflow:hidden;
  }
  .block-slots {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
  }
  .block-slots .slot-btn {
    padding:10px 4px;
    font-size:12px;
    text-align:center;
  }
}

@media(max-width:768px) {
  .sidenav {
    display:flex;
    right:10px;
    gap:9px;
  }
  .sidenav .dot {
    width:7px;
    height:7px;
  }
  .sidenav .tip {
    display:none;
  }
}