/* DosTime Services Popup v5 - Design-system rebuild (Tailwind/shadcn/Linear)
   Fix: remove cascade conflicts, single source of truth, RTL-first, 8pt grid
   Palette: hero #4C4DE1->#6565E4, lime #BBF04E, ink #0F172A, border #EDEAFD */
.srv-a1-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(10,18,34,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:32px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:srvIn .22s ease-out;box-sizing:border-box}
.srv-a1-overlay *,.srv-a1-overlay *::before,.srv-a1-overlay *::after{box-sizing:border-box}
@keyframes srvIn{from{opacity:0}to{opacity:1}}
@media(max-width:640px){.srv-a1-overlay{padding:32px 16px;align-items:center}}
.srv-a1-sheet{position:relative;width:100%;max-width:560px;max-height:min(86vh,calc(100vh - 64px));max-height:min(86vh,calc(100dvh - 64px));margin:auto;display:flex;flex-direction:column;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#4C4DE1 0%,#5A5CE8 52%,#6565E4 100%);box-shadow:0 12px 36px rgba(76,77,225,.20),0 4px 16px rgba(15,23,42,.14);animation:srvPop .34s cubic-bezier(.2,1.3,.4,1);font-family:Vazirmatn,Inter,sans-serif}
@keyframes srvPop{from{transform:translateY(14px) scale(.97);opacity:0}to{transform:none;opacity:1}}
@media(max-width:640px){.srv-a1-sheet{max-width:100%;max-height:min(84vh,calc(100vh - 64px));max-height:min(84vh,calc(100dvh - 64px));margin:auto;border-radius:22px}}
/* pattern lines - subtle, behind content */
.srv-a1-sheet::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,black 30%,transparent 72%);mask-image:radial-gradient(70% 60% at 50% 30%,black 30%,transparent 72%)}
.srv-a1-sheet::after{content:"";position:absolute;z-index:0;pointer-events:none;width:320px;height:320px;right:-60px;top:-60px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 18px rgba(255,255,255,.04),0 0 0 38px rgba(255,255,255,.02)}
.srv-lines-circle2{position:absolute;z-index:0;pointer-events:none;width:200px;height:200px;left:-40px;top:180px;border:1px solid rgba(255,255,255,.11);border-radius:50%}
.srv-lines-diag{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;background:repeating-linear-gradient(116deg,transparent 0 34px,rgba(255,255,255,.05) 34px 35px);-webkit-mask-image:radial-gradient(72% 64% at 50% 46%,black 18%,transparent 66%);mask-image:radial-gradient(72% 64% at 50% 46%,black 18%,transparent 66%)}
.srv-lines-ecg{position:absolute;z-index:0;pointer-events:none;left:14px;right:14px;top:210px;height:26px;opacity:.12;background:url("data:image/svg+xml,%3Csvg width='240' height='26' viewBox='0 0 240 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 13 L26 13 L32 4 L40 22 L46 13 L74 13 L82 2 L90 24 L98 13 L130 13 L138 7 L146 19 L154 13 L240 13' stroke='white' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/240px 26px no-repeat}
/* top bar */
.srv-a1-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 6px}
.srv-a1-back,.srv-a1-heart{flex:0 0 36px;width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:#fff;backdrop-filter:blur(8px);cursor:pointer;font-size:18px;line-height:1}
.srv-a1-back:hover,.srv-a1-heart:hover{background:rgba(255,255,255,.22)}
.srv-a1-title{font-size:12px;font-weight:800;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);padding:6px 14px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
/* doctor row */
.srv-a1-doc{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding:12px 16px 12px}
.srv-a1-doc-info{flex:1;min-width:0;color:#fff}
.srv-a1-doc-info small{display:inline-flex;align-items:center;font-size:11px;font-weight:700;opacity:.92;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);padding:4px 9px;border-radius:999px;white-space:nowrap}
.srv-a1-doc-info h2{margin:8px 0 6px;font-size:19px;font-weight:800;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;text-shadow:0 1px 10px rgba(15,23,42,.18)}
.srv-a1-doc-info .online{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;opacity:.95}
.srv-a1-doc-info .online i{width:7px;height:7px;border-radius:99px;background:#BBF04E;box-shadow:0 0 0 4px rgba(187,240,78,.22)}
.srv-a1-photo{flex:0 0 112px;width:112px;height:128px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(15,23,42,.22)}
.srv-a1-photo img{width:100%;height:100%;object-fit:cover;display:block}
/* stats bar - taller, readable */
.srv-a1-stats{position:relative;z-index:1;display:flex;align-items:stretch;margin:8px 14px 12px;padding:10px 8px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.14)}
.srv-a1-stats .pill{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;color:#fff;font-size:10px;font-weight:700;line-height:1.4;text-align:center}
.srv-a1-stats .pill b{font-size:12px;font-weight:800;color:#fff;line-height:1.2;white-space:nowrap}
.srv-a1-stats .pill .lbl{font-size:10px;font-weight:600;opacity:.92;white-space:nowrap}
.srv-a1-stats .sep{flex:0 0 1px;width:1px;align-self:stretch;background:rgba(255,255,255,.22);margin:4px 2px}
@media(max-width:420px){.srv-a1-stats{padding:8px 6px}.srv-a1-stats .pill b{font-size:11px}.srv-a1-stats .pill{font-size:9px}}
/* body - white sheet */
.srv-body{position:relative;z-index:1;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:22px 22px 0 0;padding:14px 0 12px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#E2E8F0 transparent}
.srv-body::-webkit-scrollbar{width:5px}
.srv-body::-webkit-scrollbar-thumb{background:#E2E8F0;border-radius:99px}
/* info grid - each box full row */
.srv-info-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:0 14px}
.srv-info-card{background:#fff;border:1px solid #EDEAFD;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 3px 10px rgba(15,23,42,.05);position:relative;overflow:hidden}
.srv-info-card::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,#4C4DE1,#5A5CE8)}
.srv-info-card.clinic::before{background:linear-gradient(90deg,#0EA5E9,#22D3EE)}
.srv-info-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#475569;letter-spacing:.01em}
.srv-info-card .addr{font-size:12.5px;font-weight:800;line-height:1.6;color:#0F172A;word-break:break-word}
.srv-info-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.srv-phone{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:#0F172A;background:#F8FAFC;border:1px solid #EDEAFD;padding:5px 10px;border-radius:999px;white-space:nowrap}
.srv-hours{font-size:11px;color:#64748B;line-height:1.6;flex:1;min-width:140px}
.srv-about{padding:0 14px}
.srv-about .srv-info-card::before{background:linear-gradient(90deg,#5BC4B7,#4C4DE1)}
.srv-about p{margin:0;font-size:12px;line-height:1.9;color:#334155}
.srv-about p+p{margin-top:6px}
/* booking card */
.srv-a1-card{background:#fff;border:1px solid #EDEAFD;border-radius:20px;padding:14px;margin:0 14px;box-shadow:0 4px 14px rgba(15,23,42,.05);display:flex;flex-direction:column;gap:12px}
.srv-a1-toggle{display:flex;background:#F1F5F9;border:1px solid #E5E7EB;border-radius:999px;padding:3px;gap:4px}
.srv-a1-toggle button{flex:1;height:36px;border-radius:999px;border:none;background:transparent;color:#64748B;font-family:inherit;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap}
.srv-a1-toggle button.active{background:#0F172A;color:#fff;box-shadow:0 4px 12px rgba(15,23,42,.18)}
.srv-section-title{display:flex;align-items:center;gap:7px;margin:0;font-size:12.5px;font-weight:800;color:#0F172A}
.srv-a1-dates{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none;scroll-snap-type:x proximity}
.srv-a1-dates::-webkit-scrollbar{display:none}
.srv-a1-date{flex:0 0 58px;min-height:58px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#F8FAFC;border:1.5px solid #EDEAFD;color:#475569;font-size:11px;font-weight:700;cursor:pointer;scroll-snap-align:start}
.srv-a1-date b{font-size:12px;font-weight:800}
.srv-a1-date.active{background:#BBF04E;border-color:#BBF04E;color:#1A1A2E;box-shadow:0 3px 10px rgba(187,240,78,.3)}
.srv-a1-date.disabled{opacity:.4;pointer-events:none;background:#F1F5F9;border-style:dashed}
.srv-a1-date .full-badge{font-size:8px;font-weight:800;background:#FEF2F2;color:#DC2626;border:1px solid #FECACA;padding:1px 5px;border-radius:99px}
.srv-a1-times{display:flex;gap:8px;flex-wrap:wrap}
.srv-a1-time{flex:0 0 auto;min-width:68px;height:36px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:#F8FAFC;border:1.5px solid #EDEAFD;color:#475569;cursor:pointer}
.srv-a1-time.active{background:#BBF04E;border-color:#BBF04E;color:#1A1A2E}
.srv-a1-time.disabled{opacity:.4;pointer-events:none;background:#F1F5F9;border-style:dashed}
.srv-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.srv-service-btn{height:40px;border-radius:12px;border:1.5px solid #EDEAFD;background:#fff;color:#475569;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer}
.srv-service-btn.active{background:#BBF04E;border-color:#BBF04E;color:#1A1A2E}
/* CTA footer */
.srv-cta-bar{position:relative;z-index:1;background:#fff;padding:10px 14px 14px;border-top:1px solid #F1F5F9}
.srv-a1-cta{width:100%;height:52px;border-radius:999px;border:none;background:linear-gradient(135deg,#4C4DE1,#5A5CE8);color:#fff;font-family:inherit;font-size:13.5px;font-weight:800;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;cursor:pointer;box-shadow:0 8px 20px rgba(76,77,225,.25)}
.srv-a1-cta .check{flex:0 0 40px;width:40px;height:40px;border-radius:999px;background:#fff;color:#0F172A;display:grid;place-items:center;font-size:16px;font-weight:900}
.srv-a1-cta .label{flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srv-a1-cta .arr{opacity:.8;font-size:14px;letter-spacing:2px}
.srv-a1-cta:focus-visible,.srv-a1-date:focus-visible,.srv-a1-time:focus-visible,.srv-a1-back:focus-visible,.srv-a1-heart:focus-visible{outline:2px solid #BBF04E;outline-offset:2px}
html[data-theme="dark"] .srv-body{background:#0F172A}
html[data-theme="dark"] .srv-info-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .srv-info-card .addr{color:#F1F5F9}
html[data-theme="dark"] .srv-about p{color:#CBD5E1}
html[data-theme="dark"] .srv-a1-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .srv-section-title{color:#F1F5F9}
html[data-theme="dark"] .srv-a1-date{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);color:#CBD5E1}
html[data-theme="dark"] .srv-a1-time{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);color:#CBD5E1}
html[data-theme="dark"] .srv-cta-bar{background:#0F172A;border-top-color:rgba(255,255,255,.08)}
.srv-a1-stats .pic{font-size:17px;line-height:1;display:block}
.srv-a1-stats .pill b{font-size:12px;font-weight:800;color:#fff;line-height:1.3;white-space:nowrap}
.srv-a1-stats .lbl{font-size:10px;font-weight:600;opacity:.92;white-space:nowrap}
.srv-htabs{padding:0 14px}
.srv-hpane{padding:0 14px;display:flex;flex-direction:column;gap:10px}
.srv-dept-list{display:flex;flex-direction:column;gap:8px}
.srv-dept{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#F8FAFC;border:1px solid #EDEAFD;border-radius:12px}
.srv-dept b{font-size:12px;font-weight:800;color:#0F172A}
.srv-dept .ext{font-size:11px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0EA5E9,#0284C7);padding:5px 10px;border-radius:999px;white-space:nowrap}
.srv-map{position:relative;min-height:170px;border-radius:16px;overflow:hidden;border:1px solid #E2E8FF;background:linear-gradient(135deg,#E0F2FE,#F0F9FF)}
.srv-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(2,132,199,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(2,132,199,.12) 1px,transparent 1px);background-size:22px 22px}
.srv-map-road{position:absolute;left:-10%;right:-10%;top:50%;height:10px;background:#fff;border-top:1px solid #BAE6FD;border-bottom:1px solid #BAE6FD;transform:translateY(-50%) rotate(-8deg)}
.srv-map-pin{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);font-size:30px;filter:drop-shadow(0 4px 6px rgba(2,132,199,.35))}
.srv-map-tag{position:absolute;left:50%;top:64%;transform:translateX(-50%);font-size:10px;font-weight:800;background:#0F172A;color:#fff;padding:4px 10px;border-radius:999px;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
.srv-route{display:flex;align-items:center;justify-content:center;height:40px;border-radius:999px;background:#0F172A;color:#fff;font-size:12.5px;font-weight:800;text-decoration:none;margin-top:2px}
html[data-theme="dark"] .srv-dept{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .srv-dept b{color:#F1F5F9}
html[data-theme="dark"] .srv-map{border-color:rgba(255,255,255,.1)}
/* ── DosTime patch 20260928: clickable cards + bolder services tabs ── */
.srv-provider-card.srv-clickable{cursor:pointer;transition:transform 160ms ease,box-shadow 160ms ease}
.srv-provider-card.srv-clickable:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgb(37 99 235 / .12)}
.srv-provider-card.srv-clickable:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.srv-provider-card .srv-avatar{overflow:hidden}
.srv-provider-card .srv-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.srv-map-pinfo .srv-avatar{overflow:hidden}
.srv-map-pinfo .srv-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
/* ── DosTime: صفحه تمام‌صفحه نقشه ── */
.screen:has(> .srv-fullmap) > .page-back-row{display:none}
.screen.has-back > .page-back-row + .srv-fullmap{padding-inline-start:0}
.srv-fullmap{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:calc(100dvh - 110px);border-radius:18px;background:var(--bg-card)}
.srv-fullmap .srv-map-head{padding-inline-start:48px}
.srv-fullmap-canvas{flex:1;min-height:62vh;position:relative;z-index:0}
.srv-map-top{position:absolute;top:10px;left:10px;right:10px;z-index:50;display:flex;gap:8px;align-items:flex-start;pointer-events:none}
.srv-map-back{pointer-events:auto;flex:0 0 34px;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--bg-card);border:1px solid var(--border-strong,#bfdbfe);color:var(--text-primary);box-shadow:var(--shadow-md);cursor:pointer;padding:0}
.srv-map-back:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.srv-map-top-tabs{pointer-events:auto;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;display:flex}
.srv-map-top-tabs::-webkit-scrollbar{display:none}
.srv-map-top-tabs .srv-map-tabs{border:none;padding:0;background:transparent;flex-wrap:nowrap;width:100%}
.srv-map-top-tabs .srv-map-tabs button{background:var(--bg-card);box-shadow:var(--shadow-sm)}
.srv-map-top-tabs .srv-map-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}
.srv-map-panel{position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);padding:10px 12px;transform:translateY(calc(100% + 24px));transition:transform .28s ease;max-height:48%;overflow-y:auto}
.srv-map-panel.open{transform:none}
.srv-map-panel .srv-sheet-x{display:none}
.srv-map-panel.open .srv-sheet-x{display:grid;position:absolute;top:8px;inset-inline-end:8px;width:28px;height:28px;border-radius:10px;place-items:center;background:var(--neutral-100);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:0}
.srv-map-pinfo[data-action]{cursor:pointer}
.segmented.services-tabs{background:transparent;border:none;box-shadow:none;padding:0 2px 9px;gap:6px;overflow-x:auto;scrollbar-width:none;scroll-padding:0 12px}
.segmented.services-tabs::-webkit-scrollbar{display:none}
.segmented.services-tabs button{position:relative;flex:1 0 auto;min-width:66px;background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);border:1.5px solid #2563eb;border-radius:11px;font-weight:800;color:#fff;box-shadow:0 2px 8px rgb(37 99 235 / .25);outline:none}
.segmented.services-tabs button:hover{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}
.segmented.services-tabs button:focus{outline:none}
.segmented.services-tabs button.active{background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 55%,#2563eb 130%);color:#fff;border-color:#172c6b;box-shadow:0 4px 12px rgb(30 58 138 / .35)}
.segmented.services-tabs button.active::after{content:"";position:absolute;left:14px;right:14px;bottom:-8px;height:4px;border-radius:99px;background:#1e3a8a;box-shadow:0 1px 4px rgb(30 58 138 / .4)}
html[data-theme='dark'] .segmented.services-tabs{background:transparent;border:none;box-shadow:none}
html[data-theme='dark'] .segmented.services-tabs button{background:linear-gradient(135deg,#1e40af 0%,#1d4ed8 100%);border-color:#60a5fa;color:#eff6ff}
html[data-theme='dark'] .segmented.services-tabs button.active{background:linear-gradient(135deg,#1d4ed8,#3b82f6 60%,#93c5fd 130%);color:#fff}
html[data-theme='dark'] .segmented.services-tabs button.active::after{background:#93c5fd;box-shadow:0 1px 4px rgb(147 197 253 / .5)}
