.dmap{
	--ink:#14213d;
	--muted:#5b6478;
	--line:#d9dee7;
	--panel:#f4f6f9;
	--accent:#0e7c86;
	--small:#d9920b;
	--medium:#0e7c86;
	--large:#5a3fc0;
	display:grid;
	grid-template-columns:340px minmax(0,1fr);
	height:var(--dmap-h,650px);
	border:1px solid var(--line);
	border-radius:10px;
	overflow:hidden;
	background:#fff;
	color:var(--ink);
	font-family:Tahoma,"Segoe UI",system-ui,-apple-system,"Noto Naskh Arabic",sans-serif;
	line-height:1.6;
	box-sizing:border-box;
}
.dmap *,.dmap *::before,.dmap *::after{box-sizing:border-box}

/* ---------- الشريط الجانبي ---------- */
.dmap-side{
	display:flex;
	flex-direction:column;
	min-height:0;
	background:var(--panel);
	border-inline-end:1px solid var(--line);
}
.dmap-filters{
	padding:16px;
	display:grid;
	gap:12px;
	border-bottom:1px solid var(--line);
	background:#fff;
}
.dmap-field{margin:0;padding:0;border:0;min-width:0}
.dmap-field label,.dmap-field legend{
	display:block;
	font-size:13px;
	font-weight:700;
	margin-bottom:4px;
	padding:0;
}
.dmap-field input[type="search"],
.dmap-field select{
	width:100%;
	height:40px;
	padding:0 10px;
	border:1px solid var(--line);
	border-radius:6px;
	background:#fff;
	color:var(--ink);
	font:inherit;
	font-size:14px;
}
.dmap-field select:disabled{background:var(--panel);color:var(--muted)}
.dmap-field input:focus-visible,
.dmap-field select:focus-visible,
.dmap-reset:focus-visible,
.dmap-item-main:focus-visible,
.dmap-go:focus-visible{
	outline:2px solid var(--accent);
	outline-offset:2px;
}

.dmap-sizes{display:flex;flex-wrap:wrap;gap:6px}
.dmap-sizes legend{width:100%}
.dmap-sizes label{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin:0;
	padding:6px 12px;
	border:1px solid var(--line);
	border-radius:999px;
	font-weight:600;
	cursor:pointer;
	background:#fff;
}
.dmap-sizes input{position:absolute;opacity:0;pointer-events:none}
.dmap-sizes label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.dmap-sizes label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}

.dmap-reset{
	justify-self:start;
	padding:0;
	border:0;
	background:none;
	color:var(--accent);
	font:inherit;
	font-size:13px;
	font-weight:700;
	text-decoration:underline;
	cursor:pointer;
}

.dmap-count{padding:10px 16px;font-size:13px;color:var(--muted)}

.dmap-list{
	list-style:none;
	margin:0;
	padding:0 12px 12px;
	overflow-y:auto;
	flex:1;
	min-height:0;
}
.dmap-item{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 8px;
	padding:8px 10px;
	background:#fff;
	border:1px solid var(--line);
	border-radius:8px;
}
.dmap-item-main{
	flex:1;
	min-width:0;
	display:flex;
	align-items:center;
	gap:10px;
	padding:0;
	border:0;
	background:none;
	text-align:start;
	font:inherit;
	color:inherit !important;
	text-decoration:none !important;
	cursor:pointer;
}
.dmap-item:hover{border-color:var(--accent)}
.dmap-item-main:hover strong{color:var(--accent)}
.dmap-show{
	flex:none;
	padding:6px 10px;
	border:1px solid var(--line);
	border-radius:6px;
	background:#fff;
	color:var(--ink);
	font:inherit;
	font-size:12px;
	font-weight:700;
	cursor:pointer;
	white-space:nowrap;
}
.dmap-show:hover{border-color:var(--accent);color:var(--accent)}
.dmap-show:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dmap-item-txt{display:flex;flex-direction:column;min-width:0}
.dmap-item-txt strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.dmap-item-txt small{font-size:12px;color:var(--muted)}

.dmap-go{
	flex:none;
	display:inline-block;
	padding:6px 12px;
	border-radius:6px;
	background:var(--accent);
	color:#fff !important;
	font-size:12px;
	font-weight:700;
	text-decoration:none !important;
	white-space:nowrap;
}
.dmap-go:hover{background:#0a636b}

/* ---------- نقاط الأحجام ---------- */
.dmap-dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--medium)}
.dmap-dot.dmap-small{background:var(--small)}
.dmap-dot.dmap-medium{background:var(--medium)}
.dmap-dot.dmap-large{background:var(--large)}

/* ---------- الخريطة ---------- */
.dmap-map{height:100%;min-height:320px;direction:ltr;z-index:0}
.dmap-pin-wrap{background:none;border:0}
.dmap-pin{
	display:block;
	width:22px;
	height:22px;
	margin:3px;
	border:3px solid #fff;
	border-radius:50% 50% 50% 0;
	transform:rotate(-45deg);
	background:var(--medium);
	box-shadow:0 2px 5px rgba(20,33,61,.45);
}
.dmap-pin.dmap-small{background:var(--small)}
.dmap-pin.dmap-large{background:var(--large)}

.dmap-popup{direction:rtl;text-align:right;min-width:170px;font-family:inherit}
.dmap-popup strong{display:block;font-size:15px;margin-bottom:2px}
.dmap-popup .dmap-meta{font-size:13px;color:var(--muted)}
.dmap-popup .dmap-tel{display:inline-block;margin-top:4px;font-size:13px}
.dmap-popup .dmap-go{display:block;margin-top:10px;text-align:center;padding:8px 12px;font-size:13px}

.dmap .dmap-pin-img{
	max-width:none;
	object-fit:contain;
	filter:drop-shadow(0 2px 3px rgba(20,33,61,.4));
}

/* ---------- تجميع الدبابيس ---------- */
.dmap .marker-cluster{background:rgba(14,124,134,.28)}
.dmap .marker-cluster div{
	background:var(--accent);
	color:#fff;
	font:700 13px Tahoma,system-ui,sans-serif;
	border:2px solid #fff;
}
.dmap .marker-cluster-medium{background:rgba(90,63,192,.28)}
.dmap .marker-cluster-medium div{background:var(--large)}
.dmap .marker-cluster-large{background:rgba(20,33,61,.3)}
.dmap .marker-cluster-large div{background:var(--ink)}

/* ---------- الجوال ---------- */
@media (max-width:800px){
	.dmap{
		grid-template-columns:1fr;
		grid-template-rows:auto minmax(320px,55vh);
		height:auto;
	}
	.dmap-side{border-inline-end:0;border-bottom:1px solid var(--line);order:2}
	.dmap-map{order:1;height:55vh}
	.dmap-list{max-height:320px}
}

@media (prefers-reduced-motion:reduce){
	.dmap *{transition:none !important;animation:none !important}
}
