/* MGMT – خريطة رينتو + صفحة الفروع الجديدة [rento_branches] + قسم الفروع في الرئيسية */
.ro-home .rl-page, .ro-home .rl-home { --rl-ok: #13804a; }
.ro-locs [hidden] { display: none !important; }
/* الخريطة */
.rl-map { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--sh); overflow: hidden; }
.rmap-svg { display: block; width: 100%; height: auto; direction: ltr; }
.rmap-ref circle { fill: #d7a8c6; }
.rmap-ref text { font-size: 10px; fill: #a07a92; font-family: inherit; }
.rmap-city { cursor: pointer; outline: none; }
.rmap-dot { fill: var(--b); stroke: #fff; stroke-width: 3; transition: fill .2s; }
.rmap-pulse { fill: var(--b); opacity: .15; transform-box: fill-box; transform-origin: center; animation: rmapP 2.4s infinite; pointer-events: none; }
@keyframes rmapP { 0% { transform: scale(.6); opacity: .3; } 100% { transform: scale(1.5); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .rmap-pulse { animation: none; } }
.rmap-n { fill: #fff; font-weight: 800; font-size: 13px; font-family: inherit; pointer-events: none; }
.rmap-lbl rect { fill: #1a202c; }
.rmap-lbl text { fill: #fff; font-size: 12px; font-weight: 700; font-family: inherit; }
.rmap-city:hover .rmap-dot, .rmap-city:focus-visible .rmap-dot, .rmap-city.is-on .rmap-dot { fill: var(--ac); }
.rmap-city:focus-visible .rmap-lbl rect, .rmap-city.is-on .rmap-lbl rect { fill: var(--ac); }
.rmap-city.is-off { opacity: .35; }
.rmap-svg.is-zoom .rmap-city.is-on .rmap-dot, .rmap-svg.is-zoom .rmap-city.is-on .rmap-pulse, .rmap-svg.is-zoom .rmap-city.is-on .rmap-n { visibility: hidden; }
.rmap-svg.is-zoom .rmap-city.is-on { visibility: hidden; }
.rmap-svg { background-image: radial-gradient(circle, #ecd3e3 1px, transparent 1.2px), radial-gradient(circle at 70% 20%, #fff, #fdf7fb); background-size: 14px 14px, auto; }
.rmap-b { opacity: 0; transition: opacity .3s; cursor: pointer; pointer-events: none; }
.rmap-b circle { fill: var(--b); stroke: #fff; stroke-width: 1.8; transition: r .15s, fill .15s; }
.rmap-b.is-on { opacity: 1; pointer-events: auto; }
.rmap-b .rmap-b-in { fill: #fff; stroke: none; }
.rmap-b-t { font-size: 12px; font-weight: 700; fill: var(--ink); paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; font-family: inherit; }
.rmap-b.is-hi circle:first-child { fill: var(--ac); }
.rmap-b.is-hi .rmap-b-t { fill: var(--ac); }
.rl-map-svg { position: relative; }
.rmap-cap { position: absolute; inset-inline-start: 14px; top: 14px; background: #1a202c; color: #fff; border-radius: 12px; padding: 6px 12px; display: flex; gap: 8px; align-items: baseline; box-shadow: var(--sh); }
.rmap-cap b { font-size: 15px; }
.rmap-cap small { opacity: .75; font-size: 12px; }
.rl-legend { position: absolute; inset-inline-start: 12px; bottom: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.ro-locs .rl-legend button, .ro-locs .rl-tabs button { all: unset; box-sizing: border-box; cursor: pointer; white-space: nowrap; background: #fff; border: 1.5px solid var(--line) !important; border-radius: 999px; font-weight: 700; color: var(--ink); }
.ro-locs .rl-legend button { padding: 4px 12px; font-size: 12.5px; }
.ro-locs .rl-legend button.is-on { background: var(--b); border-color: var(--b) !important; color: #fff; }
/* الصفحة */
.rl-hero .rh-hero-in { padding-top: 52px; padding-bottom: 76px; }
.rl-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.rl-stats span { background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; padding: 6px 14px; font-size: 14px; }
.rl-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 22px; margin-top: -40px; position: relative; z-index: 2; align-items: start; }
.rl-page > * { min-width: 0; }
.rl-side { position: sticky; top: 90px; }
.rl-list { background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--sh); padding: 16px; }
.rl-tabs { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.ro-locs .rl-tabs button { padding: 6px 14px; font-size: 14px; font-weight: 400; }
.rl-tabs small { color: var(--mut); margin-inline-start: 4px; }
.ro-locs .rl-tabs button.is-on { border-color: var(--b) !important; background: var(--bl); color: var(--b); font-weight: 800; }
.rl-q { display: flex; align-items: center; gap: 8px; border: 1.5px solid var(--line); border-radius: 12px; padding: 9px 12px; margin: 12px 0; }
.rl-q:focus-within { border-color: var(--b); }
.rl-q svg { width: 18px; height: 18px; fill: none; stroke: var(--mut); stroke-width: 2; flex: none; }
.ro-locs .rl-q input { all: unset; flex: 1; min-width: 0; font-size: 14px; color: var(--ink); }
.rl-items { display: grid; gap: 10px; max-height: 680px; overflow: auto; padding-inline-end: 2px; }
.rl-br { border: 1px solid var(--line); border-radius: 16px; padding: 14px; display: grid; gap: 5px; transition: border-color .15s, box-shadow .15s; scroll-margin: 90px; }
.rl-br:hover, .rl-br.is-hi { border-color: var(--b); box-shadow: 0 6px 18px rgba(176, 36, 134, .1); }
.rl-br-h { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rl-br h3 { margin: 0; font-size: 16px; }
.rl-city { font-size: 12px; color: var(--b); background: var(--bl); border-radius: 999px; padding: 2px 9px; font-weight: 700; white-space: nowrap; }
.rl-open { font-size: 12px; font-weight: 800; color: var(--rl-ok); }
.rl-open::before { content: "● "; }
.rl-open.is-closed { color: #b45309; }
.rl-hrs { font-size: 13px; color: var(--mut); }
.rl-adr { font-size: 13px; }
.rl-adr::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--ac); margin-inline-end: 6px; }
.rl-acts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.ro-locs .rl-acts a { border: 1.5px solid var(--line); border-radius: 10px; padding: 6px 12px; font-size: 13px; font-weight: 700; color: var(--ink); }
.ro-locs .rl-acts a:hover { border-color: var(--b); color: var(--b); }
.ro-locs .rl-acts a.is-pri { background: var(--b); border-color: var(--b); color: #fff; }
.rl-none { color: var(--mut); margin: 6px 0; }
.rl-cta { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; margin: 40px 0 64px; }
.rl-cta > a { border-radius: 22px; padding: 24px 26px; display: block; }
.rl-cta h2 { margin: 0 0 6px; font-size: 22px; }
.rl-cta p { margin: 0 0 14px; }
.rl-cta-a { background: linear-gradient(120deg, #1a202c, #2d3748); color: #fff !important; }
.rl-cta-a h2 { color: #fff; }
.rl-cta-a p { opacity: .85; }
.rl-cta-w { background: var(--bl); }
.rl-cta-w p { color: var(--mut); }
.rl-btn { display: inline-block; background: var(--ac); color: #fff; border-radius: 12px; padding: 10px 20px; font-weight: 800; }
.rl-btn.is-wa { background: #25d366; }
/* الرئيسية */
.rl-home { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 18px; align-items: start; }
.rl-home > * { min-width: 0; }
.rl-hcities { display: grid; gap: 10px; }
.rl-hc { border: 1px solid var(--line); border-radius: 16px; padding: 12px 14px; cursor: pointer; transition: border-color .15s, background .15s; outline: none; }
.rl-hc:hover, .rl-hc:focus-visible { border-color: var(--b); }
.rl-hc.is-on { border-color: var(--b); background: var(--bl); }
.rl-hc-h { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rl-hc-h b { font-size: 16px; }
.rl-hc-h small { color: var(--mut); }
.rl-hc ul { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ro-home .rl-hc li a { display: inline-block; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 3px 10px; font-size: 12.5px; }
.ro-home .rl-hc li a:hover { border-color: var(--b); color: var(--b); }
@media (max-width: 900px) {
	.rl-page, .rl-home, .rl-cta { grid-template-columns: 1fr; }
	.rl-page { margin-top: 16px; }
	.rl-side { position: static; order: -1; }
	.rl-items { max-height: none; overflow: visible; }
	.rl-hero .rh-hero-in { padding-bottom: 36px; }
	.rl-home .rl-map { order: -1; }
}
.ro-home .rmap-cap button { all: unset; cursor: pointer; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .15); font-size: 15px; line-height: 1; margin-inline-start: 4px; }
.ro-home .rmap-cap button:hover { background: var(--ac); }
/* أقرب فرع (أعلى الصفحة) */
.rl-hero-in { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.rl-hero-t { min-width: 0; }
.rl-near { flex: 0 0 360px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .25); border-radius: 18px; padding: 16px 18px; backdrop-filter: blur(6px); color: #fff; }
.rl-near-k { display: block; font-size: 12.5px; opacity: .8; margin-bottom: 4px; }
.rl-near-b { display: grid; gap: 6px; }
.rl-near-n { font-size: 20px; line-height: 1.3; }
.rl-near-m { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; font-size: 14px; }
.rl-near-d { font-weight: 800; color: #ffd28a; }
.rl-near .rl-open { color: #9ff0be; }
.rl-near .rl-open.is-closed { color: #ffc98f; }
.rl-near-far { font-size: 12.5px; opacity: .85; }
.rl-near-a { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.ro-home .rl-near-a a, .ro-home .rl-near-a button, .ro-home .rl-near-go { all: unset; box-sizing: border-box; cursor: pointer; border: 1.5px solid rgba(255, 255, 255, .45); border-radius: 10px; padding: 6px 12px; font-size: 13px; font-weight: 800; color: #fff; }
.ro-home .rl-near-a a:hover, .ro-home .rl-near-a button:hover, .ro-home .rl-near-go:hover { background: rgba(255, 255, 255, .15); }
.ro-home .rl-near-a a.is-pri, .ro-home .rl-near-go { background: #fff; color: var(--b); border-color: #fff; }
.rl-near-ask { margin: 0; font-size: 14px; opacity: .9; }
.ro-home .rl-near-go { justify-self: start; }
.rl-near-wait { display: flex; align-items: center; gap: 8px; font-size: 14px; opacity: .9; }
.rl-spin { width: 16px; height: 16px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: rlSpin .8s linear infinite; flex: none; }
@keyframes rlSpin { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
	.rl-hero-in { flex-direction: column; align-items: stretch; }
	.rl-near { flex-basis: auto; }
}
.rmap-me circle { fill: #2b6cb0; stroke: #fff; stroke-width: 2.5; }
.rmap-me .rmap-me-h { fill: #2b6cb0; opacity: .18; stroke: none; }
.rmap-me text { font-size: 11px; font-weight: 800; fill: #2b6cb0; paint-order: stroke; stroke: #fff; stroke-width: 4px; font-family: inherit; }
.rmap-cap[hidden] { display: none !important; }
/* 0.36.3: شوارع المدينة (بلاطات OpenStreetMap خفيفة من غير مكتبة) تحت الفروع */
.rmap-st { position: absolute; inset: 0; z-index: 2; opacity: 0; pointer-events: none; transition: opacity .3s; background: #f7f1f5; overflow: hidden; cursor: grab; user-select: none; }
.rmap-st.is-on { opacity: 1; pointer-events: auto; }
.rmap-st.is-drag { cursor: grabbing; }
.rmap-cap { z-index: 3; }
.rmap-tl { position: absolute; inset: 0; filter: grayscale(1) contrast(.88) brightness(1.08); }
.rmap-tl img { position: absolute; left: 0; top: 0; width: 256px; height: 256px; max-width: none; pointer-events: none; }
.rmap-tint { position: absolute; inset: 0; background: #f6d9ea; mix-blend-mode: multiply; opacity: .55; pointer-events: none; }
.rmap-pl { position: absolute; inset: 0; pointer-events: none; }
.ro-home .rmap-pin { all: unset; box-sizing: border-box; position: absolute; left: 0; top: -11px; direction: ltr; display: flex; align-items: center; gap: 6px; cursor: pointer; font-family: inherit; pointer-events: auto; }
.rmap-pin i { width: 18px; height: 18px; border-radius: 50%; background: var(--b); border: 2.5px solid #fff; box-shadow: 0 2px 6px rgba(26, 32, 44, .35); flex: none; box-sizing: border-box; position: relative; margin-left: -9px; transition: transform .15s; }
.rmap-pin i::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: #fff; }
.rmap-pin span { background: #fff; color: var(--ink); font-size: 12.5px; font-weight: 800; padding: 3px 9px; border-radius: 999px; box-shadow: 0 2px 8px rgba(26, 32, 44, .18); white-space: nowrap; unicode-bidi: plaintext; }
.rmap-pin:hover i, .rmap-pin.is-hi i { background: var(--ac); transform: scale(1.15); }
.rmap-pin:hover span, .rmap-pin.is-hi span { background: var(--ac); color: #fff; }
.rmap-pin:hover, .rmap-pin.is-hi { z-index: 2; }
.ro-home .rmap-pin-me { cursor: default; }
.rmap-pin-me i { background: #2b6cb0; }
.rmap-pin-me span { color: #2b6cb0; }
.rmap-zm { position: absolute; bottom: 12px; inset-inline-start: 12px; display: grid; background: #fff; border-radius: 10px; box-shadow: var(--sh); overflow: hidden; z-index: 3; }
.ro-home .rmap-zm button { all: unset; width: 34px; height: 32px; display: grid; place-items: center; font-size: 18px; font-weight: 700; color: var(--ink); cursor: pointer; }
.ro-home .rmap-zm button + button { border-top: 1px solid var(--line); }
.ro-home .rmap-zm button:hover { background: var(--bl); color: var(--b); }
.ro-home .rmap-attr { position: absolute; bottom: 4px; inset-inline-end: 6px; font-size: 10px; color: #6b7280; background: rgba(255, 255, 255, .8); padding: 1px 6px; border-radius: 6px; z-index: 3; }
/* المملكة كاملة على خريطة الشوارع: المدن بعدد فروعها */
.ro-home .rmap-cpin { top: -16px; }
.rmap-cpin i { width: 32px; height: 32px; margin-left: -16px; background: var(--b); border: 3px solid #fff; display: grid; place-items: center; color: #fff; font-style: normal; font-size: 13px; font-weight: 800; box-shadow: 0 0 0 6px rgba(176, 36, 134, .18), 0 4px 10px rgba(26, 32, 44, .3); }
.rmap-cpin i::after { display: none; }
.rmap-cpin span { background: #1a202c; color: #fff; font-size: 13px; padding: 4px 11px; }
.rmap-cpin:hover i { background: var(--ac); transform: scale(1.08); box-shadow: 0 0 0 7px rgba(251, 106, 39, .2), 0 4px 10px rgba(26, 32, 44, .3); }
.rmap-cpin:hover span { background: var(--ac); }
.has-st.is-country .rmap-cap { display: none !important; }
.ro-home .rmap-cpin.is-left { flex-direction: row-reverse; translate: calc(-100% + 16px) 0; }
.rmap-cpin.is-left i { margin-left: 0; }
.has-st.is-country .rmap-pin-me span { display: none; }
.has-st.is-country .rmap-pin-me { z-index: 1; pointer-events: none; }
.ro-home .rmap-cpin { z-index: 2; }
.ro-home .rmap-cpin:hover { z-index: 3; }
.rl-soon { font-size: 12px; color: #b85c00; background: #fff3e6; border-radius: 999px; padding: 2px 9px; font-weight: 800; white-space: nowrap; }
