/* Shawarma Hub location finder — clean, compact storefront style */
.shub-locator{--shub-orange:#f47721;--shub-orange-dark:#d95e0c;--shub-cream:#fff8f1;--shub-ink:#28221e;--shub-muted:#756b64;color:var(--shub-ink);margin:18px auto 30px;font-family:inherit}
.shub-locator *{box-sizing:border-box}
.shub-locator-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}
.shub-location-card{position:relative;min-width:0;background:#fff;border:1px solid #eee5de;border-radius:14px;padding:17px 17px 15px;box-shadow:0 3px 12px rgba(48,31,18,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;cursor:pointer}
.shub-location-card:hover{transform:translateY(-2px);border-color:#f4bd94;box-shadow:0 8px 22px rgba(48,31,18,.08)}
.shub-location-card[hidden]{display:none!important}
.shub-location-card.is-active{border-color:var(--shub-orange);box-shadow:0 0 0 2px rgba(244,119,33,.12),0 8px 22px rgba(48,31,18,.07)}
.shub-location-card-top{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.shub-location-pin{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;background:#fff0e5;color:var(--shub-orange-dark);border-radius:10px;font-size:0}
.shub-location-pin:before{content:"";width:9px;height:9px;background:currentColor;border-radius:50%;box-shadow:0 0 0 4px rgba(244,119,33,.14)}
.shub-location-card h3{font-size:16px;font-weight:750;line-height:1.35;margin:0;color:var(--shub-ink)}
.shub-location-card p{font-size:13px;line-height:1.55;margin:5px 0;color:var(--shub-muted);overflow-wrap:anywhere}
.shub-location-card .shub-location-address{font-size:13px;color:#62564d;min-height:20px}
.shub-location-card a,.shub-location-detail a{color:var(--shub-orange-dark);text-decoration:none}
.shub-location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:13px}
.shub-location-show,.shub-location-directions,.shub-location-project{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:750;text-decoration:none!important;transition:background .18s ease,border-color .18s ease}
.shub-location-show{border:1px solid var(--shub-orange);background:var(--shub-orange);color:#fff;cursor:pointer}
.shub-location-show:hover{background:var(--shub-orange-dark);border-color:var(--shub-orange-dark);color:#fff}
.shub-location-project{border:1px solid #f1d8c6;background:#fffaf6;color:#b9510b!important}
.shub-locator-map-wrap{min-width:0;background:#fff;border:1px solid #eee5de;border-radius:16px;padding:8px;box-shadow:0 4px 18px rgba(48,31,18,.055);overflow:hidden}
.shub-locator-map{width:100%;height:450px;min-height:300px;border-radius:11px;z-index:1;overflow:hidden;background:#f3eee9}
.shub-map-note{margin:7px 5px 2px;font-size:10px;color:#82776d}
.shub-location-detail{margin-top:15px;padding:20px 22px;background:linear-gradient(135deg,#fffaf5 0%,#fff 72%);border:1px solid #f0e2d6;border-left:4px solid var(--shub-orange);border-radius:13px;box-shadow:0 3px 14px rgba(48,31,18,.035)}
.shub-location-detail h3{font-size:20px;line-height:1.35;margin:0 0 10px;color:var(--shub-ink);font-weight:800}
.shub-location-detail p{font-size:13px;line-height:1.7;margin:6px 0;color:var(--shub-muted)}
.shub-detail-project{display:inline-flex;padding:9px 13px;border:1px solid #f0d4bd;border-radius:8px;background:#fff;font-weight:750}
.shub-locator-empty{padding:20px;background:#fffaf5;border:1px dashed #e8c8b1;border-radius:12px;color:#65584d;line-height:1.7;grid-column:1/-1}
.shub-locator .leaflet-popup-content-wrapper{border-radius:11px;box-shadow:0 6px 20px rgba(30,20,12,.13)}
.shub-locator .leaflet-popup-content{font-family:inherit;line-height:1.55;min-width:130px}
.shub-locator .leaflet-popup-content a{display:inline-block;margin-top:5px;color:var(--shub-orange-dark);font-weight:750;text-decoration:none}
@media(max-width:900px){.shub-locator-list{grid-template-columns:repeat(2,minmax(0,1fr))}.shub-locator-map{height:400px}}
@media(max-width:560px){.shub-locator{margin:12px auto 22px}.shub-locator-list{grid-template-columns:1fr;gap:10px;margin-bottom:14px}.shub-location-card{padding:14px}.shub-locator-map-wrap{padding:6px;border-radius:13px}.shub-locator-map{height:330px;min-height:260px}.shub-location-detail{padding:16px;margin-top:12px}.shub-location-detail h3{font-size:18px}}
