/* Directory Theme A — royal blue / soft cards (from website_a kit) */

.theme-a{--navy:#12336B;--navy-2:#1F4899;--royal:#4A72F2;--ink:#0E1C39;--muted:#5B6B8C;--line:#E4E9F2;--tintA:#F4F7FF}
.theme-a,.theme-a *{box-sizing:border-box}.theme-a.dir-root,.theme-a{margin:0;background:#EDEEF0;font-family:"IBM Plex Sans Arabic",Cairo,sans-serif;color:var(--ink);min-height:100vh}
a{color:var(--royal);text-decoration:none}a:hover{color:var(--navy-2)}
[data-lucide]{width:20px;height:20px;stroke-width:1.75}
.dot{width:8px;height:8px;border-radius:99px;display:inline-block}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px}
.theme-a{background:#fff;max-width:1440px;margin:0 auto;box-shadow:0 0 60px rgba(16,28,56,.08)}
.theme-a .nav{display:flex;align-items:center;gap:36px;padding:22px 64px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:5}
.theme-a .logo{display:flex;align-items:center;gap:10px;font:700 24px "IBM Plex Sans Arabic";color:var(--navy-2)}
.theme-a .mark{width:34px;height:34px;border-radius:11px;background:var(--royal);display:grid;place-items:center;color:#fff}
.theme-a .nav nav{display:flex;gap:28px;font-size:15px;color:var(--muted)}
.theme-a .nav nav a{color:var(--muted)}.theme-a .nav nav a:hover{color:var(--navy-2)}
.theme-a .btn{border:0;font:600 15px "IBM Plex Sans Arabic";padding:12px 22px;border-radius:12px;background:var(--royal);color:#fff;cursor:pointer}
.theme-a .btn:hover{background:#3A5FDC}
.theme-a .btn.g{background:#fff;color:var(--navy-2);border:1px solid var(--line)}
.theme-a .hero{display:grid;grid-template-columns:1fr 480px;gap:56px;padding:72px 64px 64px;background:linear-gradient(180deg,var(--tintA),#fff)}
.theme-a .hero-visual{position:relative;min-height:420px;border-radius:24px;overflow:hidden;background:var(--tintA);box-shadow:0 20px 50px rgba(18,51,107,.14)}
.theme-a .hero-visual__media{position:absolute;inset:0}
.theme-a .hero-visual__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:directoryHeroCycle 18s infinite;transform:scale(1.04)}
.theme-a .hero-visual__media img:nth-child(2){animation-delay:6s}.theme-a .hero-visual__media img:nth-child(3){animation-delay:12s}.theme-a .hero-visual__media img:only-child{opacity:1;animation:none}
.theme-a .hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(18,51,107,.18));pointer-events:none}
.theme-a .hero-visual__fallback{height:100%;display:grid;place-items:center;color:var(--muted);font-weight:600}
@keyframes directoryHeroCycle{0%{opacity:0;transform:scale(1.06)}5%,30%{opacity:1}38%,100%{opacity:0;transform:scale(1)}}
.theme-a h1{font:700 52px/1.25 "IBM Plex Sans Arabic";letter-spacing:-.5px;text-wrap:pretty;margin:0}
.theme-a .sub{font-size:19px;line-height:1.8;color:var(--muted);margin-top:18px;max-width:560px;text-wrap:pretty}
.theme-a .search{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(18,51,107,.07);display:grid;grid-template-columns:1.3fr 1fr 1fr auto;align-items:center;padding:10px}
.theme-a .fld{padding:12px 16px;border-left:1px solid var(--line)}
.theme-a .fld:first-child{border:0}
.theme-a .fld span{display:block;font-size:12px;color:#94A1B8;margin-bottom:4px}
.theme-a .fld strong{font:500 16px "IBM Plex Sans Arabic";color:var(--ink)}
.theme-a .trust{display:flex;gap:26px;margin-top:26px;font-size:14px;color:var(--muted);align-items:center}
.theme-a .sect{padding:64px}
.theme-a h2{font:700 30px/1.4 "IBM Plex Sans Arabic";margin:0}
.theme-a .h2row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px}
.theme-a .specs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.theme-a .spec{border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;align-items:center;gap:14px;background:#fff;transition:.18s}
.theme-a .spec:hover{border-color:#C9D6F7;box-shadow:0 8px 24px rgba(18,51,107,.08);transform:translateY(-2px)}
.theme-a .spec i{color:var(--royal)}
.theme-a .spec b{font:600 16px "IBM Plex Sans Arabic";display:block}
.theme-a .spec em{font-style:normal;font-size:13px;color:#94A1B8}
.theme-a .docs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.theme-a .doc{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:.18s}
.theme-a .doc:hover{box-shadow:0 14px 36px rgba(18,51,107,.1)}
.theme-a .doc .ph{height:190px;background:var(--tintA)}
/* The tint stays the placeholder for a doctor with no photo; a real one fills the same box. */
.theme-a .doc .ph img{display:block;width:100%;height:100%;object-fit:cover}
.theme-a .doc .bd{padding:20px}
.theme-a .doc h3{font:600 19px "IBM Plex Sans Arabic";margin:0}
.theme-a .doc .sp{font-size:14px;color:var(--royal);margin-top:4px}
.theme-a .doc .mt{font-size:14px;color:var(--muted);margin-top:10px;display:flex;flex-direction:column;gap:6px}
.theme-a .doc .ft{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.theme-a .price b{font:700 20px "IBM Plex Sans Arabic"}.theme-a .price span{font-size:13px;color:#94A1B8}
.theme-a .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.theme-a .step{background:var(--tintA);border-radius:20px;padding:28px}
.theme-a .step .n{width:36px;height:36px;border-radius:11px;background:var(--royal);color:#fff;display:grid;place-items:center;font:700 16px "IBM Plex Sans Arabic"}
.theme-a .step h3{font:600 19px "IBM Plex Sans Arabic";margin:16px 0 8px}
.theme-a .step p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.theme-a .band{margin:0 64px 64px;background:var(--navy);border-radius:24px;padding:48px;color:#fff}
.theme-a .band h2{color:#fff}
.theme-a .band p{color:#B8C6E4;font-size:16px;line-height:1.8;margin-top:12px;max-width:520px}
.theme-a .plans{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}
.theme-a .plan{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px}
.theme-a .plan b{display:block;font:600 16px "IBM Plex Sans Arabic"}
.theme-a .plan .p{font:700 24px "IBM Plex Sans Arabic";margin:8px 0 4px}
.theme-a .plan .p span{font-size:13px;font-weight:400;color:#B8C6E4}
.theme-a .plan em{font-style:normal;font-size:13px;color:#B8C6E4;line-height:1.6;display:block}
.theme-a .foot{border-top:1px solid var(--line);padding:34px 64px;display:flex;justify-content:space-between;align-items:center;color:#94A1B8;font-size:14px}
.theme-a .foot nav{display:flex;gap:24px}


.theme-a .dir-root-inner { background:#fff; }

/* Register form within theme A */
.theme-a .reg-page { max-width: 720px; margin: 0 auto; padding: 48px 64px 64px; }
.theme-a .reg-page h1 { font:700 32px/1.3 "IBM Plex Sans Arabic",Cairo,sans-serif; color:var(--ink); margin:0 0 8px; }
.theme-a .reg-page .lead { color:var(--muted); margin:0 0 24px; font-size:16px; line-height:1.7; }
.theme-a .reg-form {
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px;
  box-shadow:0 10px 30px rgba(18,51,107,.06);
}
.theme-a .reg-form .form-label { color:var(--ink); }
.theme-a .reg-form .form-control, .theme-a .reg-form .form-select {
  border-radius:12px; border-color:var(--line); min-height:44px;
}
.theme-a .submit {
  margin-top:16px; min-height:44px; padding:0 22px; border:0; border-radius:12px;
  font:600 15px "IBM Plex Sans Arabic",Cairo,sans-serif; background:var(--royal); color:#fff; cursor:pointer;
}
.theme-a .submit:disabled { opacity:.55; cursor:not-allowed; }
.theme-a .ok { padding:14px 16px; border-radius:12px; background:#D8F3E8; color:#0E8F63; font-weight:700; }
.theme-a .err { margin-bottom:16px; padding:12px 14px; border-radius:12px; background:#FBE1E1; color:#C13A3A; font-weight:700; }

@media (max-width: 960px) {
  .theme-a .nav { flex-wrap:wrap; padding:16px 20px; gap:16px; }
  .theme-a .nav nav { display:none; }
  .theme-a .hero { grid-template-columns:1fr !important; padding:40px 20px; gap:28px; }
  .theme-a .hero-visual { display:block; min-height:280px; }
  .theme-a .search { grid-template-columns:1fr !important; }
  .theme-a .fld { border-left:0 !important; border-bottom:1px solid var(--line); }
  .theme-a .sect { padding:40px 20px; }
  .theme-a .specs, .theme-a .docs, .theme-a .steps, .theme-a .plans { grid-template-columns:1fr 1fr !important; }
  .theme-a .band { margin:0 20px 40px; padding:28px; }
  .theme-a .foot { flex-direction:column; gap:16px; padding:24px 20px; }
  .theme-a .pricing-grid { grid-template-columns:1fr !important; }
  .theme-a .reg-page { padding:32px 20px; }
}
@media (max-width: 560px) {
  .theme-a .specs, .theme-a .docs, .theme-a .steps, .theme-a .plans { grid-template-columns:1fr !important; }
}


.theme-a .nav nav a.active { color: var(--navy-2); font-weight: 600; }
.theme-a .nav .logo { text-decoration: none; color: var(--navy-2); }
.theme-a .loading-pane { padding: 80px 64px; color: var(--muted); font-weight: 600; }
