:root {
  --night: #05080d;
  --panel: #0e1724;
  --line: rgba(233, 240, 248, .12);
  --ink: #eef3f9;
  --ink-2: #b9c6d4;
  --gold: #f2c46b;
  --green: #3fae49;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--night); }
body {
  margin: 0; background: var(--night); color: var(--ink);
  font-family: "IBM Plex Sans Arabic", system-ui, sans-serif; font-size: 1.0625rem; line-height: 1.9;
  overflow-x: hidden;
}
.wrap { max-width: 48rem; margin-inline: auto; padding-inline: max(16px, 4vw); }
header.site { position: sticky; top: 0; z-index: 5; background: rgba(5, 8, 13, .9); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
header.site .wrap { display: flex; align-items: center; justify-content: space-between; padding-block: 10px; }
.brand { display: block; background: #fff; border-radius: 10px; padding: 4px 10px; }
.brand img { width: 150px; height: auto; display: block; }
.home { color: var(--ink-2); text-decoration: none; font-size: .95rem; }
.home:hover { color: var(--ink); }
h1, h2, h3 { font-family: "Noto Kufi Arabic", sans-serif; color: var(--ink); line-height: 1.5; }
h1 { font-size: clamp(1.8rem, 6vw, 2.6rem); font-weight: 800; margin: 40px 0 4px; }
.sub { color: var(--gold); font-weight: 600; margin: 0 0 28px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
h2 { font-size: 1.3rem; margin: 2.4rem 0 .5rem; padding-inline-start: 12px; border-inline-start: 4px solid var(--green); }
h3 { font-size: 1.08rem; color: var(--gold); margin: 1.6rem 0 .4rem; }
p, li { color: var(--ink-2); overflow-wrap: anywhere; }
p { margin: .5rem 0; }
ul, ol { padding-inline-start: 1.5rem; margin: .5rem 0; }
li { margin-block: .3rem; }
ul li::marker { color: var(--green); }
ol li::marker { color: var(--gold); font-weight: 600; }
b { color: var(--ink); font-weight: 600; }
a { color: var(--gold); text-underline-offset: 3px; }
a:focus-visible, .brand:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 4px; }
mark { background: #fff0a0; color: #1b1305; padding: 0 .3em; border-radius: 4px; }
.note { background: rgba(63, 174, 73, .1); border-inline-start: 3px solid var(--green); padding: 10px 14px; border-radius: 8px; }
.center { text-align: center; font-weight: 600; color: var(--ink); }
table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: .97rem; }
th { background: var(--panel); color: var(--ink); text-align: start; padding: 10px 12px; font-weight: 600; }
td { border-bottom: 1px solid var(--line); padding: 9px 12px; color: var(--ink-2); }
td + td, th + th { text-align: center; width: 40%; }
footer.site { margin-top: 56px; padding-block: 24px 32px; border-top: 1px solid var(--line); font-size: .95rem; }
footer.site ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
footer.site a { color: var(--ink-2); text-decoration: none; }
footer.site a:hover { color: var(--ink); }

/* round 27 */
.sub--stack { display: grid; gap: 2px; line-height: 1.6; }
.sub--stack span[lang="en"] { text-align: start; }
html[dir="rtl"] .sub--stack span[lang="en"] { text-align: right; }
h2.dual small { display: block; text-align: right; font-family: "IBM Plex Sans Arabic", sans-serif; font-size: .95rem; font-weight: 500; color: var(--ink-2); line-height: 1.5; }
a.mail { color: var(--gold); font-weight: 600; background: rgba(242, 196, 107, .14); padding: 0 .35em; border-radius: 4px; text-decoration: underline; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: 1.5rem; }
.card { display: grid; gap: .25rem; justify-items: start; padding: 1.1rem 1.2rem; border-radius: 1rem; background: var(--panel); border: 1px solid var(--line); color: var(--ink); text-decoration: none; min-width: 0; transition: border-color .3s; }
.card:hover { border-color: var(--gold); }
.card svg { color: var(--gold); margin-bottom: .3rem; }
.card b { font-family: "Noto Kufi Arabic", sans-serif; font-weight: 700; }
.card span { color: var(--ink-2); overflow-wrap: anywhere; font-size: .95rem; }
.social { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.social li { margin: 0; }
.social li::marker { content: none; }
.social a { display: grid; place-items: center; inline-size: 2.9rem; block-size: 2.9rem; border: 1px solid var(--line); border-radius: 50%; background: var(--panel); color: var(--ink-2); text-decoration: none; transition: color .3s, border-color .3s; }
.social a:hover { color: var(--ink); border-color: var(--gold); }
.social svg { inline-size: 1.3rem; block-size: 1.3rem; }
.social svg:not([fill="none"]) { fill: currentColor; }
.contact-form { display: grid; gap: 1rem; margin-top: 1rem; }
.contact-form label { display: grid; gap: .3rem; color: var(--ink); font-weight: 500; }
.contact-form input, .contact-form textarea { font: inherit; color: var(--ink); background: var(--panel); border: 1px solid var(--line); border-radius: .7rem; padding: .65rem .9rem; inline-size: 100%; }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
.contact-form button { justify-self: start; font: 600 1rem "IBM Plex Sans Arabic", sans-serif; background: var(--gold); color: #1b1305; border: 0; border-radius: 999px; padding: .7rem 1.6rem; cursor: pointer; }
.hint { font-size: .9rem; color: var(--muted, #8193a6); }

.wa { position: fixed; z-index: 20; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); display: grid; place-items: center; inline-size: 3.4rem; block-size: 3.4rem; border-radius: 50%; background: #25d366; color: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.45); }
.wa svg { inline-size: 1.9rem; block-size: 1.9rem; }

/* CR31 item 11: broker search page */
[hidden] { display: none !important; }
.hnav { display: flex; align-items: center; gap: 1.2rem; }
.hnav [aria-current="page"] { color: var(--gold); }
.brokers-page .wrap { max-width: 72rem; }
.mock-banner { background: #5a1f1f; color: #ffd9d9; border-radius: 8px; padding: 6px 12px; font-weight: 600; }
.bk-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem 1rem; padding: 1.2rem; background: var(--panel); border: 1px solid var(--line); border-radius: 1rem; }
.bk-filters label { display: grid; gap: .25rem; color: var(--ink); font-weight: 500; font-size: .95rem; min-width: 0; }
.bk-filters input, .bk-filters select { font: inherit; color: var(--ink); background: var(--night); border: 1px solid var(--line); border-radius: .6rem; padding: .5rem .75rem; inline-size: 100%; min-width: 0; line-height: 1.5; }
.bk-filters select:disabled { opacity: .5; }
.bk-filters input:focus, .bk-filters select:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
.bk-actions { grid-column: 1 / -1; display: flex; gap: .6rem; flex-wrap: wrap; }
.bk-btn { font: 600 .95rem "IBM Plex Sans Arabic", sans-serif; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 999px; padding: .5rem 1.3rem; cursor: pointer; }
.bk-btn:hover:not(:disabled) { border-color: var(--gold); }
.bk-btn:disabled { opacity: .4; cursor: default; }
.bk-btn--primary, .bk-btn.is-on { background: var(--gold); color: #1b1305; border-color: var(--gold); }
.bk-btn:focus-visible, .bk-tabs button:focus-visible, .bk-ic:focus-visible, .bk-chip:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.bk-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1rem; margin-top: 1.6rem; }
.bk-tabs { display: flex; flex-wrap: wrap; gap: .4rem; }
.bk-tabs button { font: 600 .95rem "IBM Plex Sans Arabic", sans-serif; color: var(--ink-2); background: transparent; border: 0; border-bottom: 2px solid transparent; padding: .4rem .9rem; cursor: pointer; }
.bk-tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--green); }
.bk-tabs .n { color: var(--gold); font-weight: 500; }
.bk-views { display: flex; gap: .5rem; flex-wrap: wrap; }
.bk-count { color: var(--ink); font-weight: 600; margin: .8rem 0 .4rem; min-height: 1.9em; }
.bk-note { margin: 0 0 .6rem; font-size: .9rem; color: var(--muted, #8193a6); }
.bk-state { padding: 2rem 1rem; text-align: center; color: var(--ink-2); border: 1px dashed var(--line); border-radius: 1rem; display: grid; gap: .8rem; justify-items: center; }
.bk-state--error { color: #ffb4b4; border-color: rgba(229, 56, 59, .5); }
.bk-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.bk-list li::marker { content: none; }
.bk-card { display: grid; gap: .6rem; align-content: start; padding: 1.1rem 1.2rem; background: var(--panel); border: 1px solid var(--line); border-radius: 1rem; margin: 0; min-width: 0; transition: border-color .3s; }
.bk-card:hover { border-color: var(--gold); }
.bk-head { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.bk-av { flex: none; inline-size: 5rem; block-size: 5rem; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--night); border: 1px solid var(--line); color: var(--gold); font: 800 1.45rem "Noto Kufi Arabic", sans-serif; }
.bk-av img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.bk-ttl { min-width: 0; display: grid; gap: .2rem; justify-items: start; }
.bk-ttl h3 { margin: 0; font-size: 1.02rem; color: var(--ink); overflow-wrap: anywhere; line-height: 1.5; }
.bk-badge { font-size: .8rem; font-weight: 600; padding: 0 .7rem; border-radius: 999px; line-height: 1.7; }
.bk-badge--est { background: rgba(47, 155, 224, .18); color: #8ccdf5; }
.bk-badge--ind { background: rgba(63, 174, 73, .2); color: #8fdc98; }
.bk-where { display: flex; align-items: center; gap: .4rem; margin: 0; color: var(--ink-2); font-size: .95rem; }
.bk-where svg { flex: none; color: var(--gold); }
.bk-meta { margin: 0; color: var(--ink-2); font-size: .92rem; overflow-wrap: anywhere; }
.bk-meta bdi { color: var(--ink); font-weight: 600; }
.bk-accr { display: flex; align-items: center; gap: .6rem; margin: 0; padding: .45rem .8rem; border-radius: .7rem; background: rgba(63, 174, 73, .14); color: #a5e6ac; font-size: .88rem; font-weight: 600; line-height: 1.6; }
.bk-bal { flex: none; inline-size: .85rem; block-size: .85rem; border-radius: 50% 50% 50% 0; rotate: -45deg; background: #3fae49; box-shadow: 0 0 10px #3fae49; margin-inline: .15rem; }
.bk-icons { display: flex; gap: .7rem; flex-wrap: wrap; }
.bk-ic { display: grid; place-items: center; inline-size: 2.1rem; block-size: 2.1rem; border-radius: 50%; border: 1px solid var(--line); color: var(--gold); }
.bk-ic { border-color: transparent; color: #fff; transition: transform .15s, box-shadow .15s; }
.bk-ic:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.bk-ic--call { background: #2F9BE0; }
.bk-ic--wa { background: #25D366; }
.bk-ic--mail { background: #8B5CF6; }
.bk-ic--map { background: #E5383B; }
.bk-soc { display: flex; gap: .6rem; flex-wrap: wrap; }
.bk-so { display: grid; place-items: center; inline-size: 2.5rem; block-size: 2.5rem; border: 0; border-radius: .6rem; background: none; text-decoration: none; transition: transform .15s; }
.bk-ic svg { inline-size: 1.1rem; block-size: 1.1rem; }
.bk-so svg { inline-size: 1.75rem; block-size: 1.75rem; fill: none; }
.bk-so--instagram svg, .so--instagram svg { inline-size: 1.6rem; block-size: 1.6rem; border-radius: 28%; background: radial-gradient(circle at 30% 107%, #fdf497 0, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); padding: .1rem; box-sizing: border-box; }
.bk-so:hover { transform: translateY(-2px) scale(1.08); }
.bk-ic:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0, 0, 0, .45); }
.bk-so:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.bk-pager { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.4rem; color: var(--ink-2); }
.bk-map { block-size: min(65vh, 560px); min-block-size: 320px; border-radius: 1rem; border: 1px solid var(--line); overflow: hidden; background: var(--panel); }
.bk-map .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.9) saturate(.6); }
.bk-map .leaflet-container, .bk-map.leaflet-container { font-family: "IBM Plex Sans Arabic", sans-serif; }
.bk-pin i { display: block; inline-size: 22px; block-size: 22px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.6); }
.bk-pin--est i { background: var(--pin-blue, #2f9be0); }
.bk-pin--ind i { background: var(--green); }
.bk-pop { display: grid; gap: .15rem; min-inline-size: 11rem; direction: rtl; text-align: right; line-height: 1.6; }
.bk-pop a { color: #0b5d8f; }
.bk-mapwrap .hint { margin-top: .5rem; }
@media (max-width: 62em) { .bk-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bk-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40em) { .bk-filters { grid-template-columns: 1fr; } .bk-list { grid-template-columns: 1fr; } .hnav { gap: .8rem; } .brand img { width: 120px; } }

/* CR33 contact page: rows/cards, labelled full-width form */
.cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card { grid-template-columns: auto 1fr; grid-template-areas: "ic t" "ic v"; column-gap: 1rem; align-items: center; row-gap: 0; }
.card svg { grid-area: ic; margin: 0; inline-size: 2.6rem; block-size: 2.6rem; padding: .6rem; border-radius: .8rem; background: rgba(242, 196, 107, .1); }
.card b { grid-area: t; align-self: end; }
.card span { grid-area: v; align-self: start; }
.card--static:hover { border-color: var(--line); }
.contact-form { padding: 1.2rem; background: var(--panel); border: 1px solid var(--line); border-radius: 1rem; }
.contact-form input, .contact-form textarea { background: var(--night); }
.contact-form textarea { resize: vertical; min-block-size: 8rem; }
.contact-form button { inline-size: 100%; justify-self: stretch; }
@media (max-width: 40em) { .cards { grid-template-columns: 1fr; } .contact-form { padding: 1rem; } }
@media (max-width: 47.99em) { footer.site { padding-bottom: 5.5rem; } }

/* about: the two brands side by side (client image 2026-11-02), ours on the right */
.brands { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 8px 0 24px; }
.brand-card { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px 16px; text-align: center; display: grid; justify-items: center; align-content: start; gap: 2px; }
.brand-card h2 { margin: 0; padding: 0; border: 0; font-size: 1.2rem; }
.brand-card .en { margin: 0; color: var(--ink); font-weight: 600; }
.brand-card .dom { margin: 0 0 12px; color: #fff; font-weight: 600; letter-spacing: .02em; }
.brand-card .plate { background: #fff; border-radius: 12px; padding: 10px 14px; display: grid; place-items: center; inline-size: 100%; max-inline-size: 280px; }
.brand-card .plate img { inline-size: 100%; block-size: auto; }
h2.dual small { color: var(--ink); }
.cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0 8px; }
.btn { display: inline-flex; align-items: center; min-height: 2.8rem; padding: .45rem 1.3rem; border-radius: 999px; background: var(--gold); color: #1b1305; text-decoration: none; font-weight: 600; }
.btn--ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px rgba(238, 243, 249, .5); }
@media (max-width: 30em) { .brands { gap: 10px; } .brand-card { padding: 14px 10px; } .brand-card h2 { font-size: 1rem; } .brand-card .en, .brand-card .dom { font-size: .82rem; } }
a.plate:hover { filter: brightness(.97); }

/* CR80 (Nabil 2026-11-03, videos 0:41 and 0:11 «لونها ورتبها زي الصفحة الرئيسية»): the contact cards wear the
   home footer's coloured icons, and «تابعنا» is the home footer's row of coloured brand logos in the same order */
.card svg { box-sizing: content-box; inline-size: 1.25rem; block-size: 1.25rem; padding: .55rem; border-radius: 50%; color: #fff; margin-bottom: 0; }
.card[data-contact="call"] svg { background: #2F9BE0; }
.card[data-contact="chat"] svg { background: #25D366; }
.card[data-contact="mail"] svg { background: #8B5CF6; }
.card--static svg { background: #E5383B; }
.social--brand { gap: .35rem .5rem; }
.social--brand li[hidden] { display: none; }
.social--brand a.so { inline-size: 2.5rem; block-size: 2.5rem; border: 0; border-radius: .6rem; background: none; transition: transform .15s; }
.social--brand a.so:hover { background: none; box-shadow: none; transform: translateY(-2px) scale(1.08); }
.social--brand a.so svg { inline-size: 1.75rem; block-size: 1.75rem; fill: none; }
.social--brand a.so--instagram svg { inline-size: 1.6rem; block-size: 1.6rem; border-radius: 28%; background: radial-gradient(circle at 30% 107%, #fdf497 0, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); padding: .1rem; box-sizing: border-box; }

/* Nabil 2026-11-05 (video 05): both logo plates the same size and level with each other */
.brands { align-items: stretch; }
.brand-card { grid-template-rows: auto auto auto 1fr; }
.brand-card .plate { align-self: end; block-size: 112px; }
.brand-card .plate img { inline-size: auto; max-inline-size: 100%; max-block-size: 92px; object-fit: contain; }
@media (max-width: 30em) { .brand-card .plate { block-size: 78px; padding: 8px 10px; } .brand-card .plate img { max-block-size: 62px; } }
/* Nabil 2026-11-05 (video 05): «أهمية رأي المستخدم» heading in white with an icon, above the feedback blocks */
h2.voice { display: flex; align-items: center; gap: .6rem; color: #fff; border: 0; padding: 0; margin-top: 2.8rem; font-size: 1.45rem; }
h2.voice svg { flex: none; inline-size: 1.6em; block-size: 1.6em; color: var(--gold); }

/* Nabil 2026-11-05 14:36: the opening paragraph of the policy pages in white and a little larger */
.intro { color: #fff; font-size: 1.12em; line-height: 1.9; }
