/* BreatheSafe Dealer Locator
   Offices #194d9d, dealers #0078DB, Figtree. Transparent + no padding. */

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap');

.bsd-widget{
	--bsd-office:#194d9d;
	--bsd-dealer:#0078DB;
	--bsd-office-soft:#eaf0f9;
	--bsd-dealer-soft:#e7f2fc;
	--bsd-ink:#1f2328;
	--bsd-muted:#6b7280;
	--bsd-line:#e7e8ec;
	--bsd-card:#ffffff;
	--bsd-radius:14px;

	font-family:'Figtree',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
	color:var(--bsd-ink);
	background:transparent;
	padding:0;margin:0;width:100%;box-sizing:border-box;
}
.bsd-widget *{box-sizing:border-box}

/* Search row — icon button on the RIGHT, inside the field */
.bsd-searchrow{display:flex;gap:10px;margin-bottom:14px}
.bsd-search{position:relative;flex:1}
.bsd-input{width:100%;height:46px;border:1px solid var(--bsd-line);border-radius:12px;padding:0 48px 0 16px;font:inherit;font-size:.95rem;background:var(--bsd-card);color:var(--bsd-ink)}
.bsd-input::placeholder{color:var(--bsd-muted)}
.bsd-input:focus{outline:2px solid var(--bsd-dealer);outline-offset:1px;border-color:transparent}
.bsd-search-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;background:transparent;color:var(--bsd-muted);border-radius:9px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.bsd-search-btn:hover{color:var(--bsd-dealer);background:var(--bsd-dealer-soft)}
.bsd-nearme{display:inline-flex;align-items:center;gap:7px;height:46px;padding:0 16px;border:1px solid var(--bsd-line);border-radius:12px;background:var(--bsd-card);font:inherit;font-weight:600;font-size:.9rem;color:var(--bsd-ink);cursor:pointer;white-space:nowrap}
.bsd-nearme:hover{border-color:var(--bsd-dealer);color:var(--bsd-dealer)}

/* Drill-down tag bar */
.bsd-tagbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center}
.bsd-ftag{border:1px solid var(--bsd-line);background:var(--bsd-card);border-radius:999px;padding:7px 15px;font:inherit;font-weight:600;font-size:.85rem;color:var(--bsd-ink);cursor:pointer;transition:.12s;line-height:1}
.bsd-ftag:hover{border-color:var(--bsd-dealer)}
.bsd-ftag.is-active{background:var(--bsd-dealer);border-color:var(--bsd-dealer);color:#fff}
.bsd-ftag-back{font-weight:600;color:var(--bsd-muted);background:transparent;border:none;cursor:pointer;font:inherit;font-size:.85rem;display:inline-flex;align-items:center;gap:4px;padding:7px 8px}
.bsd-ftag-back:hover{color:var(--bsd-dealer)}

/* Body — list : map = 4 : 6 */
.bsd-body{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:14px}
.bsd-list{max-height:520px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:6px}
.bsd-list::-webkit-scrollbar{width:8px}
.bsd-list::-webkit-scrollbar-thumb{background:#d6d8de;border-radius:8px}

/* Card — logo top-left (3:2), category top-right, details stacked below */
.bsd-item{position:relative;background:var(--bsd-card);border:1px solid var(--bsd-line);border-radius:var(--bsd-radius);padding:16px;cursor:pointer;transition:.12s;scroll-margin-top:6px}
.bsd-item:hover{border-color:var(--bsd-dealer);box-shadow:0 2px 10px rgba(16,24,40,.06)}
.bsd-item.is-office:hover{border-color:var(--bsd-office)}
.bsd-item.is-active{border-color:var(--bsd-dealer);background:var(--bsd-dealer-soft);box-shadow:0 0 0 1px var(--bsd-dealer) inset}
.bsd-item.is-office.is-active{border-color:var(--bsd-office);background:var(--bsd-office-soft);box-shadow:0 0 0 1px var(--bsd-office) inset}

/* top row: logo + category */
.bsd-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.bsd-top:empty{display:none}
.bsd-logo{width:120px;aspect-ratio:3/2;border:1px solid var(--bsd-line);border-radius:10px;object-fit:contain;background:#fff;flex:0 0 auto;padding:6px}
.bsd-cat{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bsd-dealer);background:var(--bsd-dealer-soft);border-radius:8px;padding:4px 10px;white-space:nowrap;margin-left:auto}
.bsd-item.is-office .bsd-cat{color:var(--bsd-office);background:var(--bsd-office-soft)}

.bsd-item p{padding:0 !important}
.bsd-item-name{font-weight:700;font-size:20px;line-height:1.2;margin:0 0 6px !important;overflow-wrap:anywhere}
.bsd-item-loc{display:flex;align-items:flex-start;gap:7px;color:var(--bsd-muted);font-size:.9rem;margin:0 0 4px !important;line-height:1.3}
.bsd-item-loc svg{flex:0 0 auto;margin-top:2px}
.bsd-item-addr{display:flex;align-items:flex-start;gap:7px;color:var(--bsd-muted);font-size:.875rem;margin:0 0 9px !important;line-height:1.3}
.bsd-item-addr svg{flex:0 0 auto;margin-top:2px}
.bsd-contact{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;border-top:1px solid var(--bsd-line);padding-top:10px}
.bsd-link{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:var(--bsd-dealer);text-decoration:none}
.bsd-item.is-office .bsd-link{color:var(--bsd-office)}
.bsd-link:hover{text-decoration:underline}
.bsd-link svg{flex:0 0 auto}

.bsd-empty{color:var(--bsd-muted);font-size:.9rem;padding:20px 4px;text-align:center}

/* Mobile show-more */
.bsd-showmore{display:none;width:100%;border:1px solid var(--bsd-line);background:var(--bsd-card);border-radius:12px;padding:12px;font:inherit;font-weight:600;font-size:.9rem;color:var(--bsd-dealer);cursor:pointer}
.bsd-showmore:hover{border-color:var(--bsd-dealer)}

/* Map */
.bsd-map-wrap{position:relative;border:1px solid var(--bsd-line);border-radius:var(--bsd-radius);overflow:hidden;min-height:480px}
.bsd-map{position:absolute;inset:0;width:100%;height:100%;background:#eef0ee}
.bsd-fit{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:500;width:38px;height:38px;border-radius:999px;border:1px solid var(--bsd-line);background:#fff;color:var(--bsd-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.bsd-fit:hover{color:var(--bsd-dealer);border-color:var(--bsd-dealer)}

/* Popup — compact, logo flush above name. !important beats Divi's p padding. */
.bsd-widget .leaflet-popup-content-wrapper{border-radius:12px}
.bsd-widget .leaflet-popup-content{margin:12px 14px !important;min-width:190px}
.bsd-pop p{padding:0 !important}
.bsd-pop-logo{display:block;width:108px;aspect-ratio:3/2;object-fit:contain;background:#fff;margin:0 !important;padding:0 !important;border:0}
.bsd-pop-name{font-weight:700;font-size:1rem;margin:6px 0 0 !important;font-family:'Figtree',sans-serif;line-height:1.2}
.bsd-pop-city{color:#6b7280;font-size:.85rem;margin:2px 0 6px !important;font-family:'Figtree',sans-serif}
.bsd-pop-dir{color:var(--bsd-dealer);font-size:.85rem;font-weight:600;text-decoration:none;font-family:'Figtree',sans-serif;display:inline-flex;align-items:center;gap:5px}
.bsd-pop.is-office .bsd-pop-dir{color:var(--bsd-office)}
.bsd-pop-dir:hover{text-decoration:underline}

.bsd-pin{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}

@media (max-width:720px){
	.bsd-body{grid-template-columns:1fr}
	.bsd-map-wrap{min-height:300px;order:-1}
	.bsd-list{max-height:none}
	.bsd-searchrow{flex-wrap:wrap}
	.bsd-nearme{width:100%;justify-content:center}
	.bsd-item-name{font-size:18px}
	.bsd-logo{width:104px}
	.bsd-hidden-card{display:none}
	.bsd-showmore{display:block}
}
@media (max-width:420px){
	.bsd-logo{width:88px}
	.bsd-contact{gap:8px 14px}
	.bsd-link{font-size:.83rem}
}
@media (prefers-reduced-motion:reduce){ .bsd-widget *{transition:none!important} }
