/* Khattab v18.1 — viewport lazy branch map. Leaflet/OpenStreetMap load only when user reaches the map area. */
.khattab-lazy-map{direction:rtl;width:100%;min-height:420px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#f7edda,#fff8ec);box-shadow:0 10px 25px rgba(0,0,0,.16);position:relative;contain:layout paint;}
.khattab-map-placeholder{min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;background:radial-gradient(circle at 50% 0%,rgba(236,20,25,.10),transparent 45%),linear-gradient(135deg,#fbf1dd,#fffaf0);}
.khattab-map-card{width:min(92%,430px);background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.75);border-radius:24px;padding:24px 18px;box-shadow:0 10px 25px rgba(0,0,0,.10);}
.khattab-map-card h3{margin:0 0 8px;color:#121212;font-size:22px;font-weight:900;line-height:1.35;}
.khattab-map-card p{margin:0 auto 18px;color:#5d5349;font-size:14px;line-height:1.8;max-width:330px;}
.khattab-map-load{border:0;border-radius:16px;min-height:48px;padding:0 22px;background:linear-gradient(135deg,#ec1419,#c81212);color:#fff;font-family:inherit;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 8px 18px rgba(236,20,25,.22);}
.khattab-map-load:active{transform:scale(.98);}.khattab-map-load:disabled{opacity:.72;cursor:wait;}
.khattab-map-canvas{width:100%;height:520px;min-height:420px;display:none;}
.khattab-lazy-map.is-loaded .khattab-map-placeholder{display:none;}
.khattab-lazy-map.is-loaded .khattab-map-canvas{display:block;}
.khattab-map-modal{display:none;position:fixed;inset:0;z-index:1000000;background:rgba(0,0,0,.42);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:18px;}
.khattab-map-modal.is-open{display:flex;}
.khattab-map-modal-card{width:min(92vw,370px);background:#fff;border-radius:20px;padding:18px;text-align:center;box-shadow:0 18px 40px rgba(0,0,0,.24);}
.khattab-map-modal-card img{width:100%;max-height:170px;object-fit:cover;border-radius:14px;margin-bottom:10px;}
.khattab-map-modal-card h3{margin:4px 0 8px;color:#d71920;font-size:18px;font-weight:900;}
.khattab-map-modal-card p{margin:4px 0;color:#555;font-size:12px;line-height:1.6;}
.khattab-map-modal-card .hours{color:#008a17;font-weight:900;}
.khattab-map-modal-actions{display:flex;gap:10px;justify-content:center;margin-top:12px;}
.khattab-map-modal-actions a{flex:1;min-height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#e60000;color:#fff;text-decoration:none;font-weight:900;font-size:13px;}
@media(max-width:768px){.khattab-lazy-map,.khattab-map-placeholder{min-height:360px}.khattab-map-canvas{height:420px;min-height:360px}.khattab-map-card h3{font-size:20px}}

/* v38 — premium floating branch pins + red ground pulse. Scoped to Leaflet marker only. */
.custom-marker-1{
  width:60px!important;
  height:66px!important;
  position:relative;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
}
.custom-marker-1 img{
  position:relative;
  z-index:3;
  display:block;
  width:60px;
  height:60px;
  object-fit:contain;
  filter:drop-shadow(0 9px 11px rgba(0,0,0,.25));
  transform:translate3d(0,0,0);
  transform-origin:50% 100%;
  animation:khattabPinLiftDrop 2.05s cubic-bezier(.42,0,.22,1) infinite;
  will-change:transform;
}
.custom-marker-1 .pulse-1{
  position:absolute;
  z-index:1;
  left:50%;
  bottom:-7px;
  width:24px;
  height:10px;
  margin-left:-12px;
  border-radius:999px;
  background:rgba(196,22,28,.32);
  box-shadow:0 0 0 0 rgba(196,22,28,.34);
  transform:translate3d(0,0,0) scale(.62);
  transform-origin:center center;
  animation:khattabPinGroundPulse 2.05s cubic-bezier(.22,.61,.36,1) infinite;
  pointer-events:none;
  will-change:transform,opacity,box-shadow;
}
.custom-marker-1.is-nearest img{
  filter:drop-shadow(0 11px 14px rgba(0,0,0,.30));
  animation-duration:1.62s;
}
.custom-marker-1.is-nearest .pulse-1{
  width:28px;
  height:12px;
  margin-left:-14px;
  background:rgba(196,22,28,.42);
  box-shadow:0 0 0 0 rgba(196,22,28,.42);
  animation-duration:1.62s;
}
@keyframes khattabPinLiftDrop{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  45%{transform:translate3d(0,-10px,0) scale(1.018);}
  60%{transform:translate3d(0,-8px,0) scale(1.012);}
}
@keyframes khattabPinGroundPulse{
  0%{opacity:.70;transform:translate3d(0,0,0) scale(.62);box-shadow:0 0 0 0 rgba(196,22,28,.34);}
  54%{opacity:.28;transform:translate3d(0,0,0) scale(2.05);box-shadow:0 0 0 14px rgba(196,22,28,0);}
  100%{opacity:0;transform:translate3d(0,0,0) scale(2.55);box-shadow:0 0 0 21px rgba(196,22,28,0);}
}
@media(prefers-reduced-motion:reduce){
  .custom-marker-1 img{animation:none;}
  .custom-marker-1 .pulse-1{animation:none;opacity:.32;}
}

/* vNext.10 — never leave a blank map area if the interactive engine is blocked. */
.khattab-map-fallback{display:none;min-height:420px;padding:20px;background:linear-gradient(180deg,#fffaf0,#f5e8d0);}
.khattab-lazy-map.is-fallback .khattab-map-placeholder,.khattab-lazy-map.is-fallback .khattab-map-canvas{display:none!important;}
.khattab-lazy-map.is-fallback .khattab-map-fallback{display:block;}
.khattab-map-fallback h3{margin:0 0 8px;text-align:center;color:#7f1118;font-size:22px;font-weight:1000;}
.khattab-map-fallback p{margin:0 auto 16px;max-width:680px;text-align:center;color:#70594b;font-size:13px;font-weight:700;line-height:1.7;}
.khattab-map-fallback__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:900px;margin:0 auto;}
.khattab-map-fallback__item{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid rgba(136,83,35,.12);border-radius:16px;background:#fff;color:#461d17!important;text-decoration:none!important;box-shadow:0 8px 22px rgba(73,38,20,.06);}
.khattab-map-fallback__item strong{font-size:13px;font-weight:1000;}.khattab-map-fallback__item span{font-size:11px;color:#9a711c;font-weight:900;}
@media(max-width:700px){.khattab-map-fallback{min-height:360px;padding:16px 12px}.khattab-map-fallback__grid{grid-template-columns:1fr 1fr}.khattab-map-fallback__item{min-height:58px;padding:10px}}

/* vNext.12 — circular 3D red locator pulse */
.custom-marker-1 .pulse-1{
  left:50%!important;bottom:-9px!important;width:18px!important;height:18px!important;margin-left:-9px!important;border-radius:50%!important;
  background:radial-gradient(circle at 35% 30%,#ff7a7e 0 11%,#ef3038 24%,#c91620 52%,#8b0910 100%)!important;
  box-shadow:0 5px 10px rgba(99,8,14,.30),inset 0 2px 2px rgba(255,255,255,.42),inset 0 -3px 5px rgba(80,0,5,.26),0 0 0 0 rgba(207,22,31,.28)!important;
  transform:translate3d(0,0,0) scale(.72)!important;
}
.custom-marker-1 .pulse-1::before{
  content:"";position:absolute;inset:-5px;border:1.5px solid rgba(201,22,30,.28);border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.12) inset;
}
.custom-marker-1.is-nearest .pulse-1{width:21px!important;height:21px!important;margin-left:-10.5px!important;}
@keyframes khattabPinGroundPulse{
  0%{opacity:.92;transform:translate3d(0,0,0) scale(.72);box-shadow:0 5px 10px rgba(99,8,14,.30),inset 0 2px 2px rgba(255,255,255,.42),inset 0 -3px 5px rgba(80,0,5,.26),0 0 0 0 rgba(207,22,31,.24);}
  56%{opacity:.50;transform:translate3d(0,0,0) scale(1.28);box-shadow:0 6px 13px rgba(99,8,14,.22),inset 0 2px 2px rgba(255,255,255,.36),inset 0 -3px 5px rgba(80,0,5,.20),0 0 0 11px rgba(207,22,31,0);}
  100%{opacity:.18;transform:translate3d(0,0,0) scale(1.62);box-shadow:0 7px 15px rgba(99,8,14,.12),inset 0 2px 2px rgba(255,255,255,.28),inset 0 -3px 5px rgba(80,0,5,.16),0 0 0 17px rgba(207,22,31,0);}
}
