/* Pawpular Palace V133 — premium shared Admin/Groomer map styling */
:root{
  --pp-map-deep:#173f35;
  --pp-map-deep-2:#24594b;
  --pp-map-pink:#ee5c8d;
  --pp-map-soft:#f7f4ef;
  --pp-map-line:#ded8cf;
  --pp-map-amber:#b47a25;
}
#ppGroomerMap,#ppAdminMap{
  background:#edf2ef!important;
  border:1px solid #ddd8cf!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 14px 34px rgba(23,63,53,.08)!important;
}
#ppGroomerMap .leaflet-tile-pane,
#ppAdminMap .leaflet-tile-pane{filter:saturate(.82) contrast(1.035) brightness(1.018)}
.leaflet-control-zoom{
  border:0!important;border-radius:14px!important;overflow:hidden!important;
  box-shadow:0 6px 20px rgba(23,63,53,.14)!important;
}
.leaflet-control-zoom a{
  color:var(--pp-map-deep)!important;background:rgba(255,255,255,.96)!important;
  border-color:#ece7df!important;font-weight:800!important;
}
.leaflet-control-zoom a:hover{background:#f7f4ef!important}
.leaflet-control-attribution{
  background:rgba(255,255,255,.84)!important;color:#7d8984!important;
  font-size:9px!important;border-radius:8px 0 0 0!important;
}
.leaflet-control-attribution a{color:#667972!important}
.pp-time-marker,.pp-number-marker{background:transparent!important;border:0!important}
.pp-brand-time-marker .pp-brand-pin{
  min-width:68px;height:38px;padding:0 12px;
  border-radius:14px 14px 14px 4px;
  background:linear-gradient(135deg,var(--pp-map-deep),var(--pp-map-deep-2));
  color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;
  font-size:12px;font-weight:900;letter-spacing:.01em;
  border:2px solid rgba(255,255,255,.96);
  box-shadow:0 8px 20px rgba(23,63,53,.24);
  transform-origin:18px 32px;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.pp-brand-time-marker .pp-pin-dot{
  width:7px;height:7px;border-radius:50%;background:var(--pp-map-pink);
  box-shadow:0 0 0 3px rgba(238,92,141,.18);
}
.pp-brand-time-marker.pending .pp-brand-pin{
  background:linear-gradient(135deg,#9a681e,var(--pp-map-amber));
}
.pp-brand-time-marker.pending .pp-pin-dot{background:#fff2d6;box-shadow:none}
.pp-brand-time-marker.is-selected .pp-brand-pin{
  background:linear-gradient(135deg,#d94b7b,var(--pp-map-pink));
  transform:scale(1.13) translateY(-2px);
  box-shadow:0 12px 28px rgba(217,75,123,.32);
}
.pp-brand-number-marker .pp-brand-number{
  width:34px;height:34px;border-radius:12px 12px 12px 4px;
  display:grid;place-items:center;background:var(--pp-map-deep);color:#fff;
  border:2px solid #fff;font-weight:900;font-size:12px;
  box-shadow:0 7px 18px rgba(23,63,53,.24);
}
.leaflet-popup-content-wrapper{
  border-radius:18px!important;padding:0!important;
  box-shadow:0 16px 44px rgba(23,63,53,.18)!important;
  border:1px solid rgba(219,214,205,.9)!important;
}
.leaflet-popup-content{margin:0!important;min-width:250px!important}
.leaflet-popup-tip{
  background:#fff!important;box-shadow:3px 3px 8px rgba(23,63,53,.06)!important;
}
.leaflet-popup-close-button{
  top:8px!important;right:8px!important;width:28px!important;height:28px!important;
  border-radius:9px!important;background:#f6f3ee!important;color:#49635b!important;
  font-size:18px!important;line-height:26px!important;
}
.pp-map-popup{padding:16px 16px 14px;min-width:250px;color:#263c35}
.pp-map-popup-top{display:flex;align-items:center;gap:7px;padding-right:28px;margin-bottom:9px}
.pp-map-time{
  display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;
  background:#eaf2ef;color:var(--pp-map-deep);font-size:10px;font-weight:900
}
.pp-map-status{
  display:inline-flex;padding:5px 8px;border-radius:999px;background:#f2efe9;
  color:#68756f;font-size:9px;font-weight:850;text-transform:capitalize
}
.pp-map-popup-title{
  color:var(--pp-map-deep);font-family:Georgia,serif;
  font-size:20px;font-weight:700;line-height:1.1;margin-bottom:4px
}
.pp-map-popup-sub{font-size:12px;color:#78847f;margin-bottom:12px}
.pp-map-popup-grid{display:grid;gap:7px;padding:10px 0;border-top:1px solid #eee9e1}
.pp-map-popup-row{display:grid;grid-template-columns:72px 1fr;gap:8px;font-size:11px;line-height:1.4}
.pp-map-popup-row span:first-child{color:#89938f;font-weight:700}
.pp-map-popup-row b{font-size:11px;color:#344b43;overflow-wrap:anywhere}
.pp-map-popup .addr{
  margin:9px 0 0;padding:9px 10px;border-radius:11px;background:#f8f6f2;
  color:#4d625b;font-size:11px;line-height:1.4
}
.pp-map-popup .notes{margin-top:8px;color:#66766f;font-size:11px;line-height:1.45}
.pp-map-popup .actions{
  display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:10px;
  border-top:1px solid #eee9e1
}
.pp-map-popup .actions a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:7px 10px;border-radius:10px;
  background:#fff;border:1px solid #ddd8cf;color:var(--pp-map-deep);
  font-size:10px;font-weight:900;text-decoration:none
}
.pp-map-popup .actions a:first-child{
  background:var(--pp-map-deep);border-color:var(--pp-map-deep);color:#fff
}
.pp-map-popup .actions a:hover{transform:translateY(-1px)}
.map-booking-card{
  border-color:#e4dfd7!important;border-radius:16px!important;
  box-shadow:0 4px 14px rgba(23,63,53,.035)!important;
}
.map-booking-card.selected{
  outline:0!important;border-color:#ec8dad!important;
  box-shadow:0 0 0 3px rgba(238,92,141,.13),0 10px 24px rgba(23,63,53,.07)!important;
}
.pp-map-chip{
  background:#faf8f4!important;border-color:#e4ded5!important;
  color:#53655e!important
}
@media(max-width:720px){
  #ppGroomerMap,#ppAdminMap{border-radius:18px!important}
  .pp-brand-time-marker .pp-brand-pin{min-width:62px;height:36px;padding:0 10px;font-size:11px}
  .leaflet-popup-content{min-width:230px!important;max-width:270px!important}
  .pp-map-popup{padding:14px}
}
