/* ===== نظام التصميم: ألوان هادئة، حواف موحّدة، تباين مقروء (WCAG AA) ===== */
:root{
  --brand:#0F766E;--brand-d:#115E59;--line:#d5eee8;--soft:#f0faf8;--ink:#0E2F2E;
  --shadow-sm:0 1px 2px rgba(15,63,60,.06),0 4px 14px -6px rgba(15,63,60,.10);
  --shadow-md:0 2px 4px rgba(15,63,60,.05),0 14px 34px -14px rgba(15,63,60,.22);
  --shadow-lg:0 30px 70px -24px rgba(15,63,60,.38);
  --ease:cubic-bezier(.22,.8,.3,1);
}
html{-webkit-text-size-adjust:100%}
body{background:#f5fbfa;text-rendering:optimizeLegibility}
::selection{background:#99f6e4;color:#083d3a}

/* ---- إمكانية الوصول ---- */
.skip-link{position:absolute;inset-inline-start:.75rem;top:-4rem;z-index:100;background:var(--brand);color:#fff;font-weight:700;font-size:.85rem;padding:.6rem 1rem;border-radius:.75rem;transition:top .2s}
.skip-link:focus{top:.75rem}
.btn{cursor:pointer;transition:transform .15s var(--ease),background .2s,border-color .2s,box-shadow .2s}
.btn:active:not(:disabled){transform:scale(.98)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,.dcard:focus-visible{outline:3px solid var(--brand);outline-offset:2px}

/* ---- الحقول ---- */
.field{width:100%;min-height:3rem;border:1.5px solid #cbe3dd;border-radius:.875rem;background:#fff;padding:.65rem .9rem;font-size:.9rem;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.field::placeholder{color:#94a3b8}
.field:hover:not(:disabled){border-color:#9fd3c9}
.field:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(15,118,110,.14)}
.field:disabled{background:#f1f5f9;color:#64748b}
.field.bad{border-color:#e11d48}

/* ---- الهيدر ---- */
.site-header{transition:box-shadow .25s,background .25s}
.site-header.is-scrolled{box-shadow:0 8px 30px -18px rgba(15,63,60,.45)}
.logo-mark{background:linear-gradient(135deg,#14b8a6 0%,#0f766e 55%,#115e59 100%);box-shadow:0 8px 18px -8px rgba(15,118,110,.7)}

/* ---- مبدّل اللغة ---- */
.lang{display:inline-flex;padding:2px;border-radius:.75rem;background:var(--soft)}
.lang button{padding:.35rem .7rem;border-radius:.6rem;font-size:.75rem;font-weight:700;color:#475569;cursor:pointer;transition:background .2s,color .2s}
.lang button[aria-pressed=true]{background:#fff;color:var(--brand);box-shadow:0 1px 3px rgba(15,63,60,.15)}

/* ---- النوافذ ---- */
dialog{border:0;padding:0;background:transparent;max-height:100dvh}
dialog::backdrop{background:rgba(10,40,38,.55);backdrop-filter:blur(3px)}
dialog[open]{animation:dlg-in .28s var(--ease)}
@keyframes dlg-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.dlg-card{background:#fff;border-radius:1.5rem;box-shadow:var(--shadow-lg);max-height:calc(100dvh - 2rem);overflow:auto}
@media (max-width:640px){
  dialog#bookDlg,dialog#accDlg{margin:auto auto 0!important;width:100%!important;max-width:none!important}
  dialog#bookDlg .dlg-card,dialog#accDlg .dlg-card{border-radius:1.5rem 1.5rem 0 0;max-height:94dvh}
  dialog#bookDlg[open],dialog#accDlg[open]{animation:sheet-in .32s var(--ease)}
}
@keyframes sheet-in{from{transform:translateY(100%)}to{transform:none}}

/* ---- مكوّنات نموذج الحجز ---- */
.stepbar{height:4px;border-radius:9999px;background:var(--line);overflow:hidden}
.stepbar>i{display:block;height:100%;background:linear-gradient(90deg,#14b8a6,var(--brand));border-radius:9999px;transition:width .35s var(--ease)}
.day{min-width:4.6rem;background:#fff;color:var(--ink);border:1.5px solid var(--line);transition:border-color .15s,background .15s,transform .15s}
.day:hover:not(:disabled){border-color:var(--brand);transform:translateY(-1px)}
.period{background:#fff;color:var(--ink);border:1.5px solid var(--line);transition:border-color .15s,background .15s}
.period:hover:not(:disabled){border-color:var(--brand)}
.day[aria-pressed=true],.chip[aria-pressed=true],.period[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 8px 18px -10px rgba(15,118,110,.8)}
.day:disabled,.period:disabled{opacity:.4;cursor:not-allowed}
.chip{border:1.5px solid var(--line);border-radius:9999px;padding:.3rem .8rem;font-size:.75rem;font-weight:600;cursor:pointer;background:#fff;transition:border-color .15s}
.chip:hover{border-color:var(--brand)}
details.more>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.8rem 1rem;border-radius:.875rem;background:var(--soft);font-size:.85rem;font-weight:700;color:var(--brand-d)}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.65rem;transition:transform .2s}
details.more[open]>summary::after{transform:rotate(180deg)}

/* ---- الصفحة الرئيسية ---- */
.hero-bg{position:relative;background-color:#0a4a46;background-image:radial-gradient(60rem 28rem at 85% -10%,rgba(45,212,191,.30),transparent 60%),radial-gradient(40rem 24rem at 0% 110%,rgba(56,189,248,.22),transparent 60%),linear-gradient(135deg,#0a4a46 0%,#0f766e 55%,#0e7490 100%);overflow:hidden}
.hero-bg::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(to bottom,#000 0%,transparent 85%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 85%);pointer-events:none}
.hero-bg>*{position:relative}
.glass{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.search-card{box-shadow:0 30px 60px -28px rgba(15,63,60,.45),0 0 0 1px rgba(213,238,232,.9)}
.sec-title{position:relative;padding-inline-start:1rem}
.sec-title::before{content:"";position:absolute;inset-inline-start:0;top:.2rem;bottom:.2rem;width:4px;border-radius:9999px;background:linear-gradient(180deg,#14b8a6,#0f766e)}

/* ---- بطاقة الطبيب ---- */
.dcard{position:relative;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s}
.dcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(15,118,110,.35)}
.dcard .cover img{transition:transform .7s var(--ease)}
.dcard:hover .cover img{transform:scale(1.06)}
.rate-pill{box-shadow:0 1px 0 rgba(251,191,36,.25),0 6px 14px -8px rgba(245,158,11,.55)}
.cta-shine{position:relative;overflow:hidden}
.cta-shine::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.cta-shine:hover::after{transform:translateX(120%)}
.avail-dot{width:.5rem;height:.5rem;border-radius:9999px;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.55);animation:pulse-dot 2s infinite}
@keyframes pulse-dot{70%{box-shadow:0 0 0 7px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}

/* ---- شرائح العيادات ---- */
.clinic-pill{display:flex;align-items:center;gap:.75rem;border:1.5px solid var(--line);background:#fff;border-radius:1rem;padding:.7rem .9rem;transition:border-color .2s,box-shadow .2s,transform .2s}
.clinic-pill:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-2px)}

/* ---- إحصائيات / تذييل ---- */
.stat-card{position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.foot-bg{background-color:#083d3a;background-image:radial-gradient(40rem 20rem at 100% 0%,rgba(45,212,191,.16),transparent 60%),radial-gradient(30rem 18rem at 0% 100%,rgba(56,189,248,.14),transparent 60%)}
.foot-link{transition:color .2s}
.foot-link:hover{color:#99f6e4}
.trust-band{background:linear-gradient(135deg,#ecfdf5,#f0f9ff)}

/* ---- ظهور تدريجي عند التمرير ---- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---- صفحة الطبيب ---- */
.info-tile{border-radius:1.25rem;background:linear-gradient(180deg,#f0faf8,#e6f6f2);padding:1rem}
.svc-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px dashed var(--line)}
.svc-row:last-child{border-bottom:0}
.week-row.today{background:var(--soft);border-radius:.75rem;padding-inline:.6rem;margin-inline:-.6rem}

[dir=ltr] .rtl-flip{transform:scaleX(-1)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ---- بطاقة الطبيب: أنواع الكشف والأسعار ---- */
.svc-card{border:1.5px solid var(--line);border-radius:1.1rem;background:linear-gradient(180deg,#fff,#f7fcfb);overflow:hidden}
.svc-head{display:flex;align-items:center;gap:.5rem;margin:0;padding:.6rem .8rem;background:var(--soft);border-bottom:1.5px solid var(--line);font-size:.75rem;font-weight:800;color:var(--brand-d)}
.svc-head>i{color:var(--brand)}
.svc-n{margin-inline-start:auto;display:grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:9999px;background:var(--brand);color:#fff;font-size:.68rem;font-weight:700}
.svc-list{margin:0;padding:.15rem .8rem;list-style:none}
.svc-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-bottom:1px dashed var(--line)}
.svc-item:last-child{border-bottom:0}
.svc-name{min-width:0;font-size:.8rem;font-weight:700;line-height:1.4;color:var(--ink)}
.svc-name small{display:flex;align-items:center;gap:.3rem;margin-top:.1rem;font-size:.68rem;font-weight:500;color:#64748b}
.svc-price{flex:none;border-radius:9999px;background:#fff;padding:.25rem .65rem;font-size:.72rem;font-weight:700;color:var(--brand-d);box-shadow:inset 0 0 0 1.5px var(--line)}
.svc-price b{font-size:.95rem;font-weight:800}
