/* =====================================================================
   MEDIS.az — Alto Pharmacy estetikası
   Krem fon · tünd okean mavisi · limon-yaşıl vurğu · serif başlıqlar
   ===================================================================== */
:root{
  --cream:#FDFBF7; --cream-2:#F5F0E4;
  --ocean:#0A4B6D; --ocean-deep:#0F3954;
  --lime:#E2F1A7; --lime-soft:#EEF5C9; --butter:#FBF5D5;
  --ink:#0F2137; --slate:#1E293B;
  --line:rgba(243,233,198,.9);
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
html{ scroll-padding-top:80px; }
body{ font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif; background:var(--cream); color:var(--ink); }

/* ---------- Tipoqrafiya: editorial serif başlıqlar ---------- */
body :is(h1,h2,h3,h4)[class], h1,h2,h3,h4{
  font-family:'Instrument Serif','Lora',Georgia,serif;
  font-weight:400; letter-spacing:-0.01em;
}
body h1[class]{ line-height:1.05; }
body h2[class]{ font-size:clamp(1.75rem,2.6vw,2.25rem); line-height:1.15; }
body h3[class]{ line-height:1.2; }
h1 .text-brand{
  color:var(--ocean); font-style:italic;
  background:linear-gradient(transparent 68%, var(--lime) 68%);
}

/* ---------- Kartlar / şüşə səthlər (indi tam ağ, zərif border) ---------- */
.glass{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(15,33,55,.05);
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.glass.rounded-2xl{ border-radius:1.5rem; }
.glass.rounded-xl{ border-radius:1rem; }
a.glass:hover, div.glass[onclick]:hover{
  box-shadow:0 8px 24px rgba(15,33,55,.08);
  transform:translateY(-2px);
  border-color:rgba(10,75,109,.22);
}

/* ---------- Header: krem, yapışıq, minimalist ---------- */
header.glass{
  background:rgba(253,251,247,.88);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-width:0 0 1px 0; border-style:solid; border-color:var(--line);
  box-shadow:none;
}
header a > div.rounded-xl{ background:var(--lime); background-image:none; color:var(--ocean); border-radius:9999px; }
header a span.font-extrabold{
  font-family:'Instrument Serif','Lora',Georgia,serif; font-weight:400; font-size:1.6rem; letter-spacing:-0.01em; line-height:1;
}
header a span.text-brand{ font-style:italic; }
#cartCount{ background:var(--lime); color:var(--ocean); }

.navlink{ position:relative; padding-bottom:2px; }
.navlink.active-nav{ color:var(--ocean); font-weight:700; }
.navlink.active-nav::after{ content:''; position:absolute; left:0; right:0; bottom:-6px; height:3px; background:var(--lime); border-radius:2px; box-shadow:0 1px 0 var(--ocean); }

/* ---------- Düymələr: pill, tünd okean mavisi ---------- */
button{ transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease; }
button:not(.qty-btn):not(#hamburgerBtn):hover{ transform:translateY(-1px); }
button:active{ transform:scale(.97); }
body button[class*="rounded-xl"]{ border-radius:9999px; }
body button.bg-navy{ background:var(--ocean); }
body button.bg-navy:hover{ background:var(--ocean-deep); }
body .bg-brand\/10{ background:var(--lime-soft); }

/* ---------- Formalar ---------- */
body .border-slate-200{ border-color:#E9E3D3; }
body .bg-slate-100{ background:var(--cream-2); }
body .text-slate-400{ color:#7D8896; }
body .text-slate-500{ color:#5A6675; }
body .text-turq{ color:#4D7C0F; }
input[type=checkbox]{ accent-color:var(--ocean); }
input:focus, select:focus, textarea:focus{ border-color:var(--ocean); }
#searchInput{ box-shadow:0 6px 24px rgba(10,75,109,.07); }

.filter-select{ padding:.5rem .95rem; border-radius:9999px; border:1px solid #E9E3D3; background:#fff; font-size:.75rem; font-weight:600; color:var(--slate); }
.qty-btn{ width:24px; height:24px; border-radius:9999px; display:flex; align-items:center; justify-content:center; background:var(--lime); color:var(--ocean); font-weight:700; }

input[type=file]{ font-size:.8rem; }
input[type=file]::file-selector-button{ padding:.4rem .9rem; border-radius:9999px; border:none; background:var(--ocean); color:#fff; font-size:.75rem; font-weight:600; margin-right:.6rem; cursor:pointer; }

/* ---------- Kart illüstrasiya sahələri: pastel limon / kərə yağı ---------- */
body .from-blue-50{ border-radius:1.25rem; }
.hero-art .speech, .speech{
  background:var(--lime); color:var(--ocean-deep);
  border-radius:1.5rem 1.5rem 1.5rem .4rem;
  box-shadow:0 1px 2px rgba(15,33,55,.05);
}

/* ---------- Dialoq baloncuqları (çatbot + bildiriş) ---------- */
#chatLog > div:not(.flex){
  background:var(--lime); color:var(--ocean-deep);
  border-radius:1.25rem 1.25rem 1.25rem .35rem;
}
#chatLog .bg-brand{
  background:var(--ocean); color:#fff;
  border-radius:1.25rem 1.25rem .35rem 1.25rem;
}
body #toast{ background:var(--lime); color:var(--ocean); box-shadow:0 10px 30px rgba(10,75,109,.15); }

/* ---------- Modallar ---------- */
body #modalOverlay{ background:rgba(15,33,55,.35); }
#modalOverlay > div{ border-radius:1.75rem; background:#fff; }

/* ---------- Digər ---------- */
.qrgrid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; width:112px; height:112px; }
.qrcell{ background:var(--ocean); }

@keyframes popin{ from{opacity:0; transform:scale(.96) translateY(6px);} to{opacity:1; transform:scale(1) translateY(0);} }
.popin{ animation:popin .25s ease-out; }
.hide{ display:none !important; }
/* ---------- Dərman / həkim şəkilləri ---------- */
.glass img{ background:var(--cream-2); border:1px solid var(--line); }
#doctorGrid .glass{ display:flex; flex-direction:column; justify-content:space-between; }

#route-donor > div{ background:var(--ocean); background-image:none; border-radius:2rem; }
#route-donor button{ background:var(--lime); color:var(--ocean); }

footer{ border-color:var(--line); }
::-webkit-scrollbar{ width:8px; }
::-webkit-scrollbar-thumb{ background:#D9D2BD; border-radius:4px; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{ outline:2px solid var(--ocean); outline-offset:2px; }

/* ============ MOBİL UX ============ */
@media (max-width:767px){
  #modalOverlay{ align-items:flex-end !important; padding:0 !important; }
  #modalOverlay>div{
    width:100% !important; max-width:100% !important;
    border-radius:28px 28px 0 0 !important; margin:0 !important;
    max-height:85vh; overflow-y:auto;
    padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px)) !important;
  }
  .overflow-x-auto table{ font-size:11px; }
  .overflow-x-auto th, .overflow-x-auto td{ padding:6px 5px !important; }
  #modalOverlay>div.popin{ animation:sheetup .28s ease-out; }
  input:not([type=checkbox]):not([type=file]), select, textarea{ min-height:46px; }
  .filter-select{ min-height:44px; }
  button.w-full{ min-height:46px; }
}
@keyframes sheetup{ from{ transform:translateY(100%); opacity:.6; } to{ transform:translateY(0); opacity:1; } }

@media (prefers-reduced-motion:reduce){
  .glass, button{ transition:none !important; }
  a.glass:hover, div.glass[onclick]:hover, button:not(.qty-btn):hover{ transform:none !important; }
}

/* ---------- Profil səhifəsi, şifrə gözü, resept ---------- */
.avatar{ width:2.25rem; height:2.25rem; border-radius:9999px; background:var(--lime); color:var(--ocean); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.8rem; flex-shrink:0; }
.avatar-lg{ width:3.5rem; height:3.5rem; font-size:1.1rem; }
.ptab{ width:100%; text-align:left; padding:.65rem .8rem; border-radius:.9rem; font-size:.85rem; font-weight:600; color:#5A6675; display:flex; align-items:center; gap:.6rem; }
.ptab:hover{ background:var(--cream-2); }
.ptab.active{ background:var(--lime-soft); color:var(--ocean); }
.pw-eye{ position:absolute; right:.5rem; top:0; bottom:0; margin:auto 0; width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; color:#7D8896; border-radius:9999px; }
.pw-eye:hover{ color:var(--ocean); transform:none !important; }
.pw-eye:active{ transform:none !important; }
.field-error{ border-color:#E11D48 !important; box-shadow:0 0 0 3px rgba(225,29,72,.12); }
.rx-badge{ display:inline-flex; align-items:center; gap:.35rem; padding:.2rem .6rem; border-radius:9999px; background:#FFE4E6; color:#BE123C; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.rx-note{ font-size:.72rem; line-height:1.35; color:#9F1239; background:#FFF1F2; border-radius:.75rem; padding:.45rem .65rem; margin:.4rem 0; }
.rx-info{ color:#BE123C; font-size:1rem; }

select option:disabled{ color:#B9B3A0; }

/* =====================================================================
   YENİ — DƏRMAN / HƏKİM DETAL MODALLARI + RƏY SİSTEMİ
   ===================================================================== */
#modalOverlay > div.dm-modal{
  width:100%; max-width:62rem; max-height:92vh; padding:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin;
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(22px) saturate(140%); backdrop-filter:blur(22px) saturate(140%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 30px 80px rgba(15,33,55,.30), 0 2px 6px rgba(15,33,55,.08);
}
.dm-close{
  position:sticky; top:.75rem; z-index:20; display:flex; align-items:center; justify-content:center;
  width:2.5rem; height:2.5rem; margin:.75rem .75rem -3.25rem auto; border-radius:9999px;
  background:rgba(255,255,255,.82); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  color:var(--ocean); border:1px solid var(--line); box-shadow:0 4px 14px rgba(15,33,55,.12);
}
.dm-close:hover{ background:#fff; }

.dm-grid{ display:grid; gap:1.5rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:768px){ .dm-grid{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:2rem; } }
.dm-hero{ padding:1.5rem; background:linear-gradient(135deg,var(--butter) 0%,var(--lime-soft) 55%,#fff 100%); }
.dm-media{ position:relative; border-radius:1.5rem; overflow:hidden; aspect-ratio:4/3; background:var(--cream-2); box-shadow:0 18px 40px rgba(10,75,109,.18); }
.dm-media img.dm-img{ width:100%; height:100%; object-fit:cover; border:0; transition:transform .6s ease; }
.dm-media:hover img.dm-img{ transform:scale(1.05); }
.dm-media-badge{ position:absolute; left:.75rem; top:.75rem; box-shadow:0 4px 14px rgba(15,33,55,.15); }
#modalOverlay .dm-title{ font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.1; margin:.25rem 0 .6rem; }

.dm-chip{
  display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .75rem; border-radius:9999px;
  font-size:.72rem; font-weight:600; color:var(--slate); background:rgba(255,255,255,.7); border:1px solid var(--line);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.dm-chip-lime{ background:var(--lime); color:var(--ocean); border-color:transparent; }
.dm-label{ display:flex; align-items:center; gap:.4rem; margin-bottom:.3rem; font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#7D8896; }
.dm-label i{ color:var(--ocean); }
.dm-price-box{
  display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; padding:1rem 1.1rem; border-radius:1.25rem;
  background:rgba(255,255,255,.78); border:1px solid var(--line); box-shadow:0 8px 24px rgba(15,33,55,.06);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.dm-price{ font-family:'Instrument Serif','Lora',Georgia,serif; font-size:2.25rem; line-height:1; color:var(--ocean); }
.dm-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.7rem 1.25rem; border-radius:9999px;
  background:var(--ocean); color:#fff; font-weight:700; font-size:.85rem; box-shadow:0 8px 20px rgba(10,75,109,.25);
}
.dm-cta:hover{ background:var(--ocean-deep); box-shadow:0 12px 26px rgba(10,75,109,.32); }
.dm-cta:disabled{ opacity:.55; cursor:not-allowed; transform:none !important; }
.dm-cta-lime{ background:var(--lime); color:var(--ocean); box-shadow:0 8px 20px rgba(10,75,109,.15); }
.dm-cta-lime:hover{ background:#D6E88E; }

.dm-body{ display:grid; gap:1.75rem; padding:1.5rem; }
.dm-stats{ display:grid; gap:.9rem; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); }
.dm-stat{ padding:1rem 1.1rem; border-radius:1.25rem; background:var(--cream); border:1px solid var(--line); transition:transform .2s ease, box-shadow .2s ease; }
.dm-stat:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(15,33,55,.08); }
.dm-val{ font-weight:700; font-size:.95rem; color:var(--ink); overflow-wrap:anywhere; }
.dm-text{ font-size:.85rem; line-height:1.55; color:#475569; overflow-wrap:anywhere; }
.dm-warn{ font-size:.75rem; line-height:1.45; color:#92400E; background:#FFFBEB; border:1px solid #FDE68A; border-radius:1rem; padding:.7rem .9rem; }
#modalOverlay .dm-section-title{ display:flex; align-items:center; gap:.6rem; margin-bottom:.9rem; font-size:1.45rem; }
.dm-day{ display:inline-block; padding:.2rem .65rem; border-radius:9999px; background:var(--lime-soft); color:var(--ocean); font-size:.72rem; font-weight:700; margin:0 .3rem .3rem 0; }
.dm-link{ color:var(--ocean); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* --- Həkim başlığı --- */
.dm-doc-header{ position:relative; overflow:hidden; padding:2.25rem 1.5rem 1.5rem; color:#fff; background:linear-gradient(135deg,var(--ocean-deep) 0%,var(--ocean) 55%,#1B6E96 100%); }
.dm-doc-header::before{ content:''; position:absolute; right:-4rem; top:-5rem; width:18rem; height:18rem; border-radius:9999px; background:radial-gradient(circle,rgba(226,241,167,.55),transparent 65%); pointer-events:none; }
.dm-doc-top{ position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; }
.dm-doc-header img.dm-doc-photo{ width:7.5rem; height:7.5rem; flex-shrink:0; border-radius:2rem; object-fit:cover; border:4px solid var(--lime); background:var(--cream-2); box-shadow:0 14px 34px rgba(0,0,0,.28); }
.dm-doc-header .dm-title{ color:#fff; }
.dm-doc-header .dm-chip{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.28); color:#fff; }
.dm-doc-header .dm-chip-lime{ background:var(--lime); color:var(--ocean); border-color:transparent; }
.dm-doc-header .stars{ color:#FCD34D; }

/* --- Ulduz + rəylər --- */
.stars{ color:#F59E0B; letter-spacing:.08em; font-size:.8rem; white-space:nowrap; }
.rv-summary{ display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr); padding:1.25rem; border-radius:1.5rem; background:var(--cream); border:1px solid var(--line); }
@media (min-width:640px){ .rv-summary{ grid-template-columns:10rem minmax(0,1fr); align-items:center; } }
.rv-avg{ font-family:'Instrument Serif','Lora',Georgia,serif; font-size:3.4rem; line-height:1; color:var(--ocean); }
.rv-bar-row{ display:flex; align-items:center; gap:.5rem; margin:.25rem 0; font-size:.72rem; color:#5A6675; }
.rv-bar-row i{ color:#F59E0B; font-size:.65rem; }
.rv-track{ flex:1; height:.5rem; border-radius:9999px; background:#E9E3D3; overflow:hidden; }
.rv-fill{ width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#F59E0B,#FBBF24); animation:rvgrow .9s cubic-bezier(.2,.8,.2,1) .15s forwards; }
@keyframes rvgrow{ to{ width:var(--w); } }
.rv-cnt{ width:1.5rem; text-align:right; }
.rv-form{ padding:1.25rem; border-radius:1.5rem; background:#fff; border:1px solid var(--line); box-shadow:0 8px 26px rgba(15,33,55,.06); }
.rv-stars{ display:flex; align-items:center; gap:.15rem; margin:.5rem 0 .75rem; }
.star-btn{ padding:.15rem; border-radius:.5rem; font-size:1.6rem; line-height:1; color:#CBD5E1; transition:color .15s ease, transform .15s ease; }
.star-btn.on{ color:#F59E0B; }
.rv-stars:hover .star-btn{ color:#F59E0B; }
.rv-stars .star-btn:hover ~ .star-btn{ color:#CBD5E1; }
#modalOverlay button.star-btn:hover{ transform:translateY(-1px) scale(1.15); }
.rv-text{ min-height:5.5rem; resize:vertical; }
.rv-card{ padding:1rem 1.1rem; border-radius:1.25rem; background:#fff; border:1px solid var(--line); box-shadow:0 1px 2px rgba(15,33,55,.05); transition:box-shadow .2s ease, transform .2s ease; }
.rv-card:hover{ box-shadow:0 10px 26px rgba(15,33,55,.08); transform:translateY(-1px); }
.rv-text-out{ margin-top:.35rem; font-size:.85rem; line-height:1.55; color:#334155; white-space:pre-line; overflow-wrap:anywhere; }
.rv-act{ padding:.4rem .55rem; border-radius:9999px; color:#7D8896; }
.rv-act:hover{ background:var(--cream-2); color:var(--ocean); }
.rv-act.del{ color:#F43F5E; } .rv-act.del:hover{ background:#FFF1F2; color:#BE123C; }
.rv-login{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; padding:1rem 1.25rem; border-radius:1.25rem; background:var(--lime-soft); color:var(--ocean); font-size:.85rem; font-weight:600; }
.rv-empty{ padding:1.5rem; text-align:center; font-size:.85rem; color:#7D8896; border:1px dashed #D9D2BD; border-radius:1.25rem; }
.rv-skel{ height:4.5rem; margin-bottom:.75rem; border-radius:1.25rem; background:linear-gradient(90deg,#F5F0E4 25%,#FBF8EE 37%,#F5F0E4 63%); background-size:400% 100%; animation:rvshimmer 1.3s ease infinite; }
@keyframes rvshimmer{ 0%{ background-position:100% 50%; } 100%{ background-position:0 50%; } }
.dm-rise{ animation:dmrise .4s ease both; }
@keyframes dmrise{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){
  .dm-modal *{ animation:none !important; transition:none !important; }
  .rv-fill{ width:var(--w) !important; }
}

/* Aptek modalı: desktopda yan-yana, mobildə vertikal */
.dm-span-all{ grid-column:1/-1; }
@media (min-width:1024px){
  .dm-body.dm-body-2{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
}

/* Həkim / xəstəxana başlığı — mobil */
@media (max-width:767px){
  .dm-doc-header{ padding:3.75rem 1.25rem 1.5rem; }          /* yuxarıdan X düyməsinə yer */
  .dm-doc-top{ flex-direction:column; align-items:flex-start; gap:1rem; }
  .dm-doc-header img.dm-doc-photo, .dm-hosp-icon{ width:6rem; height:6rem; }
  .dm-doc-header .dm-title{ margin:.7rem 0 .8rem; }
  .dm-doc-top > .dm-cta{ width:100%; margin-top:.5rem; min-height:48px; }   /* "Növbə al" aşağıda, tam enli */
}

/* Xəstəxana modalı */
.dm-hosp-icon{ width:7.5rem; height:7.5rem; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:2rem; font-size:3rem; color:var(--ocean); background:var(--lime); box-shadow:0 14px 34px rgba(0,0,0,.28); }
.dm-doc-grid{ display:grid; gap:.75rem; grid-template-columns:repeat(auto-fill,minmax(15rem,1fr)); }
.dm-doc-mini{ display:flex; align-items:center; gap:.75rem; padding:.7rem .8rem; border-radius:1.1rem; background:var(--cream); border:1px solid var(--line); text-align:left; transition:transform .2s ease, box-shadow .2s ease; }
.dm-doc-mini:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(15,33,55,.08); }
img.dm-doc-mini-img{ width:3rem; height:3rem; border-radius:1rem; object-fit:cover; flex-shrink:0; }
.dm-map{ width:100%; height:18rem; border:0; border-radius:1.25rem; }
.dm-gal{ display:grid; gap:.5rem; grid-template-columns:repeat(auto-fill,minmax(8rem,1fr)); }
img.dm-gal-img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:1rem; }

/* "Hamısına bax" düyməsi */
.dm-more{ display:inline-flex; align-items:center; gap:.45rem; margin-top:.6rem; padding:.55rem 1.1rem; border-radius:9999px;
  background:var(--lime-soft); color:var(--ocean); font-weight:700; font-size:.8rem; cursor:pointer; transition:filter .2s, transform .2s; }
.dm-more:hover{ filter:brightness(.95); transform:translateY(-1px); }
/* Şəkil klikləndikdə böyüyür */
.dm-modal img.dm-doc-photo, .dm-media img.dm-img, .dm-modal img.dm-gal-img{ cursor:zoom-in; }

/* =====================================================================
   YENİ — XƏSTƏXANA KARTLARI + MODAL (hc-* və hm-*)
   ===================================================================== */
/* ---------- Kart ---------- */
.hc{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:1.75rem; cursor:pointer;
  box-shadow:0 2px 6px rgba(15,33,55,.05), 0 14px 30px -16px rgba(15,33,55,.22);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease; }
.hc:hover, .hc:focus-visible{ transform:translateY(-6px) scale(1.01); outline:none; border-color:rgba(10,75,109,.3);
  box-shadow:0 4px 10px rgba(15,33,55,.06), 0 30px 54px -18px rgba(10,75,109,.42); }
.hc-top{ position:relative; }
.hc-hero{ position:relative; height:10.5rem; overflow:hidden; border-radius:1.75rem 1.75rem 0 0;
  background:linear-gradient(135deg,var(--g1,#0A4B6D),var(--g2,#1B6E96)); }
.hc-hero::before{ content:''; position:absolute; right:-3rem; top:-3rem; width:12rem; height:12rem; border-radius:9999px;
  background:radial-gradient(circle,rgba(226,241,167,.6),transparent 65%); }
.hc-hero::after{ content:''; position:absolute; inset:auto 0 0 0; height:55%; background:linear-gradient(transparent,rgba(15,33,55,.5)); }
.hc-hero .hc-ph{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:2.8rem; color:rgba(255,255,255,.85); }
.hc-hero.has-img:not(.is-loaded) .hc-ph{ animation:hcpulse 1.2s ease-in-out infinite; }   /* skeleton */
@keyframes hcpulse{ 50%{ opacity:.3; } }
.hc-hero img.hc-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; border:0; transition:opacity .5s ease, transform .7s ease; }
.hc-hero.is-loaded img.hc-img{ opacity:1; }
.hc:hover .hc-hero img.hc-img{ transform:scale(1.08); }
.hc-badges{ position:absolute; z-index:2; top:.8rem; left:.8rem; right:.8rem; display:flex; justify-content:space-between; gap:.4rem; }
.hc-badge{ display:inline-flex; align-items:center; gap:.35rem; padding:.28rem .7rem; border-radius:9999px; font-size:.68rem; font-weight:700; color:#fff;
  background:rgba(15,33,55,.45); border:1px solid rgba(255,255,255,.25); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.hc-badge.live{ background:var(--lime); color:var(--ocean); border-color:transparent; }
.hc-logo{ position:absolute; z-index:3; left:1.1rem; bottom:-1.6rem; width:3.6rem; height:3.6rem; border-radius:1.1rem; overflow:hidden;
  display:flex; align-items:center; justify-content:center; background:var(--lime); color:var(--ocean); font-weight:800; font-size:1rem;
  border:3px solid #fff; box-shadow:0 8px 20px rgba(15,33,55,.2); }
.hc-logo img, .hm-logo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#fff; padding:.25rem; border:0; }
.hc-body{ display:flex; flex-direction:column; flex:1; padding:2.3rem 1.25rem 1.25rem; }
.hc-title{ font-size:1.35rem; line-height:1.15; color:var(--ink); }
.hc-rate{ display:inline-flex; align-items:center; gap:.3rem; padding:.25rem .6rem; border-radius:9999px; background:#FFF7E0; color:#B45309; font-size:.75rem; font-weight:800; white-space:nowrap; }
.hc-addr{ margin:.5rem 0 1rem; font-size:.78rem; line-height:1.45; color:#5A6675; }
.hc-addr i{ color:var(--ocean); margin-right:.35rem; }
.hc-btn{ margin-top:auto; display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; padding:.75rem 1rem; border-radius:9999px;
  background:var(--ocean); color:#fff; font-weight:700; font-size:.85rem; box-shadow:0 8px 18px rgba(10,75,109,.22); }
.hc-btn i{ transition:transform .25s ease; }
.hc:hover .hc-btn{ background:var(--lime); color:var(--ocean); }
.hc:hover .hc-btn i{ transform:translateX(4px); }

/* ---------- Modal ---------- */
.hm-hero{ position:relative; overflow:hidden; color:#fff; padding:4.5rem 1.5rem 1.6rem; background:linear-gradient(135deg,var(--g1,#0F3954),var(--g2,#1B6E96)); }
.hm-hero img.hm-cover{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; }
.hm-hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,57,84,.3) 0%,rgba(15,57,84,.92) 100%); }
.hm-hero-in{ position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:flex-end; gap:1.25rem; }
#modalOverlay .hm-hero .dm-title{ color:#fff; margin:.3rem 0 .6rem; }
.hm-logo{ position:relative; width:6rem; height:6rem; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:1.6rem; overflow:hidden;
  background:var(--lime); color:var(--ocean); font-weight:800; font-size:1.6rem; border:4px solid #fff; box-shadow:0 14px 34px rgba(0,0,0,.3); }
.hm-actions{ display:flex; flex-wrap:wrap; gap:.6rem; }
.hm-ghost{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.4); box-shadow:none; text-decoration:none; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.hm-ghost:hover{ background:rgba(255,255,255,.26); }
.hm-hero .dm-chip{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.28); color:#fff; }
.hm-hero .dm-chip-lime{ background:var(--lime); color:var(--ocean); border-color:transparent; }
.hm-hero .stars{ color:#FCD34D; }

.hm-quick{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.hm-q{ text-align:center; padding:.9rem .5rem; border-radius:1.25rem; background:linear-gradient(180deg,#fff,var(--cream)); border:1px solid var(--line); }
.hm-q b{ display:block; font-family:'Instrument Serif','Lora',Georgia,serif; font-size:1.9rem; line-height:1; font-weight:400; color:var(--ocean); }
.hm-q span{ font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#7D8896; }
.hm-grid{ display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:1024px){ .hm-grid{ grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:start; } }
.hm-col{ display:grid; gap:1.25rem; align-content:start; }
.hm-card{ padding:1.25rem; border-radius:1.5rem; background:#fff; border:1px solid var(--line); box-shadow:0 1px 2px rgba(15,33,55,.04), 0 12px 28px -18px rgba(15,33,55,.2); }
#modalOverlay .hm-card .dm-section-title{ margin-bottom:.8rem; font-size:1.3rem; }
.hm-sched{ display:flex; justify-content:space-between; gap:.75rem; padding:.55rem 0; border-bottom:1px dashed var(--line); font-size:.85rem; }
.hm-sched:last-child{ border-bottom:0; }
.hm-badge{ display:inline-flex; align-items:center; gap:.4rem; margin:0 .4rem .45rem 0; padding:.4rem .8rem; border-radius:9999px; background:#fff;
  border:1px solid var(--line); font-size:.75rem; font-weight:700; color:var(--ocean); box-shadow:0 2px 6px rgba(15,33,55,.05); }
.hm-badge small{ font-weight:500; color:#7D8896; }
.hm-badge.tone{ background:var(--lime-soft); border-color:transparent; }
.hm-row{ display:flex; align-items:flex-start; gap:.75rem; padding:.55rem 0; }
.hm-ico{ width:2.25rem; height:2.25rem; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:.8rem; background:var(--lime-soft); color:var(--ocean); }
@media (max-width:767px){
  .hm-hero{ padding:4rem 1.25rem 1.4rem; }
  .hm-hero-in{ flex-direction:column; align-items:flex-start; }
  .hm-logo{ width:5rem; height:5rem; }
  .hm-actions{ width:100%; } .hm-actions .dm-cta{ flex:1; min-height:48px; }
}

/* ---------- Xəstəxana veb-sayt kartı ---------- */
.hw{ display:block; border-radius:1.25rem; overflow:hidden; background:#fff; border:1px solid var(--line); text-decoration:none; color:inherit;
  box-shadow:0 14px 34px -18px rgba(10,75,109,.45); transition:transform .25s ease, box-shadow .25s ease; }
.hw:hover{ transform:translateY(-3px); box-shadow:0 24px 44px -18px rgba(10,75,109,.55); }
.hw-bar{ display:flex; align-items:center; gap:.4rem; padding:.55rem .8rem; background:var(--cream-2); border-bottom:1px solid var(--line); }
.hw-bar span{ width:.6rem; height:.6rem; border-radius:9999px; background:#F87171; }
.hw-bar span:nth-child(2){ background:#FBBF24; } .hw-bar span:nth-child(3){ background:#34D399; }
.hw-bar em{ flex:1; min-width:0; margin-left:.5rem; padding:.2rem .7rem; border-radius:9999px; background:#fff; border:1px solid var(--line);
  font-style:normal; font-size:.72rem; color:#475569; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hw-bar em i{ color:#16A34A; margin-right:.35rem; font-size:.65rem; }
.hw-body{ display:flex; align-items:center; flex-wrap:wrap; gap:.9rem; padding:1rem 1.1rem; background:linear-gradient(135deg,var(--butter),#fff); }
.hw-body b{ display:block; font-size:1rem; color:var(--ink); }
.hw-body small{ color:#6B7785; font-size:.75rem; }
.hw-logo{ position:relative; width:3.2rem; height:3.2rem; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:1rem; overflow:hidden;
  background:var(--lime); color:var(--ocean); font-weight:800; font-size:.95rem; }
.hw-logo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#fff; padding:.2rem; border:0; }
.hw-go{ margin-left:auto; display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1rem; border-radius:9999px; background:var(--ocean); color:#fff; font-weight:700; font-size:.8rem; transition:background .2s, color .2s; }
.hw:hover .hw-go{ background:var(--lime); color:var(--ocean); }
@media (max-width:480px){ .hw-go{ width:100%; justify-content:center; margin-left:0; } }