/* ═══════════════════════════════════════════════════════════════════
   دليل الجهات المرخّصة — جلد SALES: ابيض ورمادي فاتح واخضر زمردي.
   ═══════════════════════════════════════════════════════════════════ */
.dr {
    --g: #10b981; --gd: #059669; --gp: #047857;
    --mint: #ecfdf5; --mintb: #a7f3d0;
    --ink: #0f172a; --mut: #64748b; --line: #e5e7eb; --bg: #f8fafc;
    background: var(--bg); color: var(--ink);
    font-family: Cairo, system-ui, -apple-system, sans-serif;
    min-block-size: 70vh;
}
.dr * { box-sizing: border-box; }
.dr-wrap { max-inline-size: 1220px; margin-inline: auto; padding-inline: clamp(1rem, 3vw, 2rem); }

/* ── الترويسة ── */
.dr-hero { background: linear-gradient(150deg, #f0fdf9 0%, #ecfdf5 45%, #e8f7f1 100%); padding-block: 2.2rem 2.6rem; border-block-end: 1px solid #dcfce7; text-align: center; }
.dr-hero .gd-crumbs { justify-content: center; }
.dr-hero .dr-search { margin-inline: auto; }
.dr-hero .dr-quick { justify-content: center; }
.dr-hero--one { text-align: start; }
.dr-hero--one .gd-crumbs { justify-content: flex-start; }
.dr-hero--one { padding-block: 2rem 2.2rem; }
.dr-hero h1 { font-size: clamp(1.5rem, 3.2vw, 2.2rem); font-weight: 800; line-height: 1.35; margin: .9rem 0 .6rem; letter-spacing: -.02em; }
.dr-hero p { color: #475569; font-size: 1rem; line-height: 1.85; max-inline-size: 66ch; margin: 0 auto 1.4rem; }
.dr-hero--one p { margin-inline: 0; }

.dr-search { display: flex; align-items: center; gap: .5rem; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: .4rem .4rem .4rem 1rem; max-inline-size: 640px; box-shadow: 0 6px 22px rgba(6,95,70,.07); }
.dr-search > i { color: #94a3b8; font-size: 1rem; margin-inline-start: .6rem; }
.dr-search input { flex: 1; border: 0; outline: none; font: inherit; font-size: .95rem; background: transparent; min-inline-size: 0; }
.dr-search button { block-size: 44px; padding-inline: 1.4rem; border: 0; border-radius: 11px; background: var(--g); color: #fff; font: 800 .92rem/1 inherit; cursor: pointer; }
.dr-search button:hover { background: var(--gd); }

.dr-quick { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-block-start: .9rem; font-size: .84rem; color: var(--mut); }
.dr-quick a { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: .22rem .75rem; color: #334155; text-decoration: none; font-weight: 600; }
.dr-quick a:hover { border-color: var(--mintb); color: var(--gp); background: var(--mint); }

/* ── الهيكل ── */
.dr-body { padding-block: 2rem 3rem; }
.dr-cols { display: grid; grid-template-columns: 250px 1fr; gap: 1.5rem; align-items: start; }
.dr-cols--one { grid-template-columns: 1fr 320px; }
.dr-cols--one .dr-main { order: -1; }

.dr-side { display: flex; flex-direction: column; gap: 1rem; position: sticky; inset-block-start: 90px; }
.dr-cols--one .dr-side { position: sticky; }
.dr-filter { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: .9rem; display: flex; flex-direction: column; gap: .12rem; }
.dr-filter > b { font-size: .88rem; margin-block-end: .5rem; }
.dr-filter a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .42rem .55rem; border-radius: 9px; font-size: .85rem; color: #475569; text-decoration: none; line-height: 1.45; }
.dr-filter a:hover { background: #f8fafc; color: var(--gd); }
.dr-filter a.is-on { background: var(--mint); color: var(--gp); font-weight: 800; box-shadow: inset 2px 0 0 var(--g); }
.dr-filter a span { font-size: .72rem; color: #94a3b8; font-variant-numeric: tabular-nums; flex: none; }
.dr-filter a.is-on span { color: var(--gd); }
.dr-more { margin-block-start: .4rem; border: 1px dashed var(--line); background: #fff; color: var(--mut); border-radius: 9px; padding: .35rem; font: 700 .78rem/1.4 inherit; cursor: pointer; }
.dr-more:hover { border-color: var(--mintb); color: var(--gp); }

.dr-note { background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; padding: .8rem .9rem; display: flex; gap: .5rem; font-size: .78rem; color: #78350f; line-height: 1.7; }
.dr-note i { margin-block-start: .15rem; }
.dr-note a { color: #92400e; font-weight: 700; }

/* ── النتائج ── */
.dr-main { min-inline-size: 0; display: flex; flex-direction: column; gap: 1rem; }
.dr-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.dr-head b { font-size: .95rem; }
.dr-clear { font-size: .82rem; color: var(--mut); text-decoration: none; display: inline-flex; align-items: center; gap: .3rem; }
.dr-clear:hover { color: #dc2626; }

.dr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 1rem; }
.dr-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1.15rem 1.2rem; display: flex; flex-direction: column; gap: .7rem; min-block-size: 210px; transition: transform .16s, border-color .16s, box-shadow .16s; }
.dr-card:hover { transform: translateY(-3px); border-color: var(--mintb); box-shadow: 0 12px 30px rgba(6,95,70,.1); }
.dr-card__top { display: flex; gap: .6rem; align-items: flex-start; }
.dr-av { inline-size: 46px; block-size: 46px; flex: none; border-radius: 12px; background: var(--mint); border: 1px solid var(--mintb); color: var(--gp); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: .92rem; }
.dr-av--lg { inline-size: 62px; block-size: 62px; border-radius: 16px; font-size: 1.35rem; }
.dr-card__id { min-inline-size: 0; display: flex; flex-direction: column; gap: .15rem; }
.dr-card__name { font-size: 1rem; font-weight: 800; color: var(--ink); text-decoration: none; line-height: 1.55; }
.dr-card__name:hover { color: var(--gd); }
.dr-card__city { font-size: .78rem; color: var(--mut); display: inline-flex; align-items: center; gap: .25rem; }

.dr-tag { align-self: flex-start; font-size: .74rem; font-weight: 700; color: var(--gp); background: var(--mint); border: 1px solid var(--mintb); border-radius: 999px; padding: .15rem .6rem; }
.dr-subs { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .2rem; flex: 1; }
.dr-subs li { font-size: .78rem; color: var(--mut); line-height: 1.6; padding-inline-start: .8rem; position: relative; }
.dr-subs li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: .55em; inline-size: 4px; block-size: 4px; border-radius: 50%; background: var(--mintb); }

.dr-card__foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-block-start: .6rem; border-block-start: 1px solid #f1f5f9; }
.dr-lic { font-size: .73rem; font-weight: 700; display: inline-flex; align-items: center; gap: .25rem; }
.dr-lic.ok { color: var(--gd); }
.dr-lic.old { color: #b45309; }
.dr-lic__d { color: var(--mut); font-weight: 600; margin-inline-start: .2rem; }
.dr-open { font-size: .8rem; font-weight: 800; color: var(--gd); text-decoration: none; display: inline-flex; align-items: center; gap: .2rem; }

.dr-empty { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 3rem 1rem; text-align: center; display: flex; flex-direction: column; gap: .4rem; align-items: center; color: var(--mut); }
.dr-empty i { font-size: 2rem; color: #cbd5e1; }
.dr-empty b { color: var(--ink); }

.dr-pager { display: flex; gap: .3rem; justify-content: center; flex-wrap: wrap; margin-block-start: .5rem; }
.dr-pager button { min-inline-size: 38px; block-size: 38px; border: 1px solid var(--line); background: #fff; color: #475569; border-radius: 10px; font: 700 .85rem/1 inherit; cursor: pointer; }
.dr-pager button:hover:not(:disabled) { border-color: var(--mintb); color: var(--gp); }
.dr-pager button.is-on { background: var(--g); border-color: var(--g); color: #fff; }
.dr-pager button:disabled { opacity: .45; cursor: default; }
.dr-dots { color: #94a3b8; align-self: center; padding-inline: .2rem; }

.dr-cta { margin-block-start: .5rem; background: linear-gradient(120deg, #047857, #10b981); color: #fff; border-radius: 16px; padding: 1.3rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.dr-cta b { display: block; font-size: 1.05rem; font-weight: 800; }
.dr-cta span { font-size: .88rem; color: rgba(255,255,255,.9); }
.dr-cta .gd-btn--go { background: #fff !important; color: var(--gp) !important; box-shadow: none !important; }
.dr-cta .gd-btn--go:hover { background: #ecfdf5 !important; color: var(--gp) !important; }

/* ── صفحة الجهة ── */
.dr-one__head { display: flex; gap: 1rem; align-items: center; }
.dr-one__head h1 { margin: 0 0 .4rem; }
.dr-one__meta { display: flex; flex-wrap: wrap; gap: .8rem; font-size: .85rem; color: var(--mut); }
.dr-one__meta > span { display: inline-flex; align-items: center; gap: .3rem; }
.dr-one__meta i { color: var(--gd); }

.dr-panel { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1.3rem 1.4rem; }
.dr-panel h2 { font-size: 1.1rem; font-weight: 800; margin: 0 0 .7rem; }
.dr-panel__lead { color: #334155; font-size: .95rem; line-height: 1.8; margin: 0 0 .8rem; }
.dr-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .45rem; }
.dr-list li { font-size: .88rem; color: #475569; line-height: 1.7; display: flex; gap: .45rem; align-items: flex-start; }
.dr-list i { color: var(--g); margin-block-start: .2rem; }

.dr-sim { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .5rem; }
.dr-sim a { display: flex; gap: .55rem; align-items: center; padding: .6rem; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: var(--ink); }
.dr-sim a:hover { border-color: var(--mintb); background: #f8fffc; }
.dr-sim__tx { display: flex; flex-direction: column; min-inline-size: 0; }
.dr-sim__tx b { font-size: .82rem; font-weight: 700; line-height: 1.45; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dr-sim__tx small { font-size: .72rem; color: var(--mut); }

.dr-contact { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1.1rem; display: flex; flex-direction: column; gap: .5rem; }
.dr-contact > b { font-size: .95rem; margin-block-end: .2rem; }
.dr-contact__row { display: flex; align-items: center; gap: .55rem; padding: .6rem .7rem; border: 1px solid var(--line); border-radius: 11px; text-decoration: none; color: var(--ink); font-size: .86rem; transition: border-color .15s, background .15s; word-break: break-all; }
.dr-contact__row:hover { border-color: var(--mintb); background: var(--mint); color: var(--gp); }
.dr-contact__row i { color: var(--gd); flex: none; }
.dr-contact__none { font-size: .82rem; color: var(--mut); }
.dr-contact__src { font-size: .74rem; color: var(--mut); line-height: 1.7; padding-block-start: .5rem; border-block-start: 1px dashed var(--line); display: flex; gap: .35rem; }
.dr-contact__src a { color: var(--gd); font-weight: 700; }

.dr-promo { background: linear-gradient(140deg, #ecfdf5, #f0fdf9); border: 1px solid var(--mintb); border-radius: 16px; padding: 1.1rem; display: flex; flex-direction: column; gap: .5rem; text-align: center; }
.dr-promo b { font-size: .95rem; color: var(--gp); }
.dr-promo > span { font-size: .82rem; color: #065f46; line-height: 1.7; }
.dr-promo__link { font-size: .82rem; color: var(--gd); text-decoration: none; font-weight: 700; }
.dr-promo__link:hover { text-decoration: underline; }

/* ── الاستجابة ── */
@media (max-width: 1000px) {
    .dr-cols, .dr-cols--one { grid-template-columns: 1fr; }
    .dr-side { position: static; }
    .dr-cols--one .dr-main { order: 0; }
    .dr-filter { flex-direction: row; flex-wrap: wrap; align-items: center; }
    .dr-filter > b { inline-size: 100%; }
    .dr-filter a { border: 1px solid var(--line); border-radius: 999px; }
}
@media (max-width: 560px) {
    .dr-search { flex-wrap: wrap; padding: .5rem; }
    .dr-search input { inline-size: 100%; padding: .4rem; }
    .dr-search button { inline-size: 100%; }
    .dr-one__head { flex-direction: column; align-items: flex-start; }
    .dr-cta { flex-direction: column; align-items: stretch; text-align: center; }
}

/* ── موقع الجهة داخل البطاقة: مدينة وحي ومنطقة ── */
.dr-card__where { display: flex; flex-wrap: wrap; gap: .3rem .55rem; align-items: center; font-size: .78rem; color: var(--mut); margin-block-start: .2rem; }
.dr-card__where > span { display: inline-flex; align-items: center; gap: .25rem; }
.dr-card__where i { color: var(--gd); font-size: .74rem; }
.dr-dist { background: #f1f5f9; border-radius: 999px; padding: .05rem .5rem; font-size: .72rem; color: #475569; }
.dr-reg { color: #94a3b8; font-size: .73rem; }
.dr-subs__more { color: var(--gd); font-weight: 700; }
.dr-subs__more::before { background: var(--g) !important; }

/* ازرار تواصل سريعة داخل البطاقة */
.dr-quickc { display: flex; gap: .35rem; }
.dr-quickc a {
    inline-size: 32px; block-size: 32px; border-radius: 9px;
    border: 1px solid var(--line); background: #fff; color: var(--mut);
    display: inline-flex; align-items: center; justify-content: center; font-size: .82rem;
    text-decoration: none; transition: border-color .15s, color .15s, background .15s;
}
.dr-quickc a:hover { border-color: var(--mintb); color: var(--gp); background: var(--mint); }
