:root{
  --primary:#0a6e74;--primary-light:#0e9aa7;--primary-pale:#e6f7f8;
  --accent:#00c2bd;--accent2:#f0a500;
  --dark:#0d1f22;--mid:#2d4a4d;
  --text:#1a3235;--text-light:#5a7a7e;--text-muted:#8faeb2;
  --bg:#f5fbfc;--bg2:#eaf5f6;--white:#fff;--border:#c8e6e8;
  --error:#e53e3e;--success:#38a169;--warning:#d97706;
  --shadow-sm:0 2px 8px rgba(10,110,116,.08);
  --shadow-md:0 8px 30px rgba(10,110,116,.14);
  --shadow-lg:0 20px 60px rgba(10,110,116,.18);
  --radius:16px;--radius-sm:10px;--radius-lg:24px;
  --tr:all .3s cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Vazirmatn',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;}

/* ── BG ─────────────────────────────────────────────── */
.bg-deco{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.bg-deco span{position:absolute;border-radius:50%;}
.bg-deco span:nth-child(1){width:700px;height:700px;top:-250px;left:-200px;background:radial-gradient(circle,rgba(10,110,116,.07) 0%,transparent 70%);animation:flt 13s ease-in-out infinite;}
.bg-deco span:nth-child(2){width:500px;height:500px;bottom:-180px;right:-150px;background:radial-gradient(circle,rgba(0,194,189,.06) 0%,transparent 70%);animation:flt 17s ease-in-out infinite reverse;}
@keyframes flt{0%,100%{transform:translate(0,0);}50%{transform:translate(25px,18px);}}

.app{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;}

/* ── HEADER ─────────────────────────────────────────── */
header{
  background:rgba(255,255,255,.96);backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
  padding:0 20px;height:66px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);
  gap:12px;
}
.logo{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0;}
.logo-icon{width:42px;height:42px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(10,110,116,.3);}
.logo-name{font-size:16px;font-weight:800;color:var(--primary);line-height:1.1;}
.logo-sub{font-size:10px;color:var(--text-muted);}

/* Desktop nav */
.desktop-nav{display:none;align-items:center;gap:3px;}
@media(min-width:900px){.desktop-nav{display:flex;}}
.nav-lnk{display:flex;align-items:center;gap:5px;background:transparent;border:none;color:var(--text-light);font-family:'Vazirmatn',sans-serif;font-size:13px;font-weight:500;padding:7px 12px;border-radius:9px;cursor:pointer;transition:var(--tr);white-space:nowrap;}
.nav-lnk:hover{background:var(--primary-pale);color:var(--primary);}
.nav-lnk.accent{background:var(--primary-pale);color:var(--primary);font-weight:600;border:1.5px solid rgba(10,110,116,.2);}
.nav-lnk.accent:hover{background:var(--primary);color:white;}

/* User chip — shown after login */
.user-menu{display:flex;align-items:center;gap:8px;}
.user-chip{display:flex;align-items:center;gap:7px;background:var(--primary-pale);border:1.5px solid rgba(10,110,116,.2);border-radius:10px;padding:6px 12px;cursor:pointer;transition:var(--tr);}
.user-chip:hover{background:var(--primary);color:white;}
.user-chip:hover .uc-name{color:white;}
.user-av{width:26px;height:26px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:white;flex-shrink:0;}
.uc-name{font-size:12.5px;font-weight:600;color:var(--primary);max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.notif-dot-btn{position:relative;width:36px;height:36px;border:1.5px solid var(--border);background:white;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--tr);}
.notif-dot-btn:hover{border-color:var(--primary);background:var(--primary-pale);}
.notif-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;background:var(--error);border-radius:50%;border:1.5px solid white;display:none;}
.notif-dot.on{display:block;}

/* Mobile controls */
.mobile-controls{display:flex;align-items:center;gap:7px;}
@media(min-width:900px){.mobile-controls{display:none;}}
.hamburger{width:38px;height:38px;border:1.5px solid var(--border);background:white;border-radius:9px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:var(--tr);}
.hamburger:hover{border-color:var(--primary);background:var(--primary-pale);}
.hamburger span{display:block;height:2px;background:var(--text-light);border-radius:2px;}
.hamburger span:nth-child(1){width:20px;}
.hamburger span:nth-child(2){width:14px;}
.hamburger span:nth-child(3){width:20px;}

/* ── PROGRESS ───────────────────────────────────────── */
.progress-bar{background:var(--white);border-bottom:1px solid var(--border);padding:10px 20px;display:none;}
.progress-bar.visible{display:block;}
.progress-bar{background:var(--white);border-bottom:1px solid var(--border);padding:10px 0 8px;display:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.progress-bar::-webkit-scrollbar{display:none;}
.progress-bar.visible{display:block;}
.progress-steps{display:flex;align-items:flex-start;justify-content:center;margin:0 auto;padding:0 16px;}

.step-item{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;min-width:48px;max-width:90px;position:relative;}
.step-item:not(:first-child)::after{content:'';position:absolute;top:12px;left:50%;width:100%;height:2px;background:var(--border);z-index:0;transform:translateX(13px);}
.step-item.done:not(:first-child)::after,.step-item.active:not(:first-child)::after{background:var(--primary-light);}
.step-dot{width:26px;height:26px;border-radius:50%;background:var(--bg2);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-muted);position:relative;z-index:1;transition:var(--tr);flex-shrink:0;}
.step-item.done .step-dot{background:var(--primary);border-color:var(--primary);color:white;}
.step-item.active .step-dot{background:white;border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 4px rgba(10,110,116,.15);}
.step-label{font-size:9.5px;font-weight:500;color:var(--text-muted);text-align:center;line-height:1.4;white-space:normal;word-break:keep-all;overflow-wrap:break-word;max-width:100%;padding:0 2px;}
.step-item.active .step-label{color:var(--primary);font-weight:700;}
.step-item.done .step-label{color:var(--text-light);}

/* ── LAYOUT ─────────────────────────────────────────── */
.site-body{flex:1;display:flex;justify-content:center;}
@media(min-width:900px){
  .site-body{padding:28px 24px;}
  .content-col{flex:1;max-width:640px;min-width:0;}
  .sidebar-col{width:280px;flex-shrink:0;margin-right:24px;position:sticky;top:94px;align-self:flex-start;}
}
@media(max-width:899px){
  .site-body{flex-direction:column;}
  .content-col{padding:20px 16px 64px;width:100%;max-width:640px;margin:0 auto;}
  .sidebar-col{display:none;}
}

/* Sidebar widgets */
.sb-widget{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);margin-bottom:14px;}
.sb-cta{background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:var(--radius);padding:18px;color:white;margin-bottom:14px;}
.sb-cta h4{font-size:12.5px;font-weight:700;color:white;margin-bottom:5px;}
.sb-cta p{font-size:11.5px;opacity:.85;line-height:1.75;}
.sb-cta .phone{margin-top:10px;font-size:15px;font-weight:800;letter-spacing:1px;direction:rtl;display:block;}
.sb-feat{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bg2);}
.sb-feat:last-child{border:none;padding-bottom:0;}
.sf-ic{width:32px;height:32px;border-radius:9px;background:var(--primary-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sf-t{font-size:12px;font-weight:600;color:var(--text);}
.sf-s{font-size:10.5px;color:var(--text-muted);}

/* ── PAGES ──────────────────────────────────────────── */
.page{display:none;animation:pgIn .4s cubic-bezier(.4,0,.2,1);}
.page.active{display:block;}
@keyframes pgIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* ── PAGE TITLE ─────────────────────────────────────── */
.page-title{margin-bottom:20px;}
.title-badge{display:inline-flex;align-items:center;gap:5px;background:var(--primary-pale);color:var(--primary);font-size:11px;font-weight:600;padding:4px 11px;border-radius:20px;margin-bottom:9px;}
.page-title h1{font-size:21px;font-weight:800;color:var(--dark);line-height:1.3;margin-bottom:5px;}
.page-title p{font-size:13px;color:var(--text-light);line-height:1.75;}

/* ── CARD ────────────────────────────────────────────── */
.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:13px;}
.card-title{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:13px;display:flex;align-items:center;gap:7px;}

/* ── HERO ────────────────────────────────────────────── */
.hero{background:linear-gradient(135deg,var(--primary) 0%,#0b8a92 50%,var(--primary-light) 100%);border-radius:var(--radius-lg);padding:32px 24px;color:white;text-align:center;margin-bottom:22px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);}
.hero::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;background:rgba(255,255,255,.07);border-radius:50%;}
.hero::after{content:'';position:absolute;bottom:-50px;left:-30px;width:160px;height:160px;background:rgba(255,255,255,.04);border-radius:50%;}
.hero svg{animation:hb 2.2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2));}
@keyframes hb{0%,100%{transform:scale(1);}14%{transform:scale(1.08);}28%{transform:scale(1);}42%{transform:scale(1.05);}}
.hero h2{font-size:22px;font-weight:800;margin-bottom:7px;text-shadow:0 2px 10px rgba(0,0,0,.15);}
.hero p{font-size:13px;opacity:.88;line-height:1.85;max-width:360px;margin:0 auto;}

/* ── PRODUCT CARDS ───────────────────────────────────── */
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:14px;}
.product-card{background:var(--white);border:2px solid var(--border);border-radius:var(--radius);padding:20px 14px;text-align:center;cursor:pointer;transition:var(--tr);position:relative;overflow:hidden;}
.product-card::before{content:'';position:absolute;inset:0;opacity:0;background:linear-gradient(135deg,var(--primary-pale),transparent);transition:var(--tr);}
.product-card:hover::before,.product-card.selected::before{opacity:1;}
.product-card:hover,.product-card.selected{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-3px);}
.product-card.selected .sel-check{display:flex;}
.sel-check{display:none;position:absolute;top:9px;left:9px;width:20px;height:20px;background:var(--primary);color:white;font-size:11px;font-weight:700;border-radius:50%;align-items:center;justify-content:center;}
.prod-icon{display:flex;justify-content:center;margin-bottom:9px;}
.prod-name{font-size:14.5px;font-weight:700;color:var(--dark);margin-bottom:4px;}
.prod-desc{font-size:11.5px;color:var(--text-light);line-height:1.6;}
.prod-badge{display:inline-block;background:var(--primary-pale);color:var(--primary);font-size:10px;font-weight:600;padding:2px 9px;border-radius:20px;margin-top:7px;}

/* ── AUTH PANEL (page 1 bottom) ─────────────────────── */
.auth-panel{background:linear-gradient(135deg,#f0fafa,var(--primary-pale));border:1.5px solid rgba(10,110,116,.2);border-radius:var(--radius);padding:20px;margin-bottom:4px;}
.auth-panel-title{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:4px;display:flex;align-items:center;gap:7px;}
.auth-panel-sub{font-size:12.5px;color:var(--text-light);margin-bottom:14px;line-height:1.6;}
.phone-wrapper{position:relative;}
.phone-prefix{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;color:var(--text-light);border-left:1.5px solid var(--border);padding-left:10px;pointer-events:none;}
.form-input{width:100%;background:var(--white);border:1.5px solid var(--border);border-radius:11px;padding:11px 14px;font-family:'Vazirmatn',sans-serif;font-size:14px;color:var(--text);outline:none;transition:var(--tr);direction:rtl;}
.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(10,110,116,.1);}
.form-input::placeholder{color:var(--text-muted);}
.phone-wrapper .form-input{padding-right:74px;letter-spacing:1px;}
.auth-logged{display:flex;align-items:center;gap:12px;background:var(--success);background:linear-gradient(135deg,#276749,#38a169);border-radius:12px;padding:14px 16px;color:white;}
.auth-logged-av{width:38px;height:38px;background:rgba(255,255,255,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex-shrink:0;}
.auth-logged-name{font-size:13.5px;font-weight:700;}
.auth-logged-sub{font-size:11.5px;opacity:.85;margin-top:2px;}

/* OTP */
.otp-boxes{display:flex;gap:7px;justify-content:center;margin:12px 0;direction:ltr;}
.otp-box{width:46px;height:52px;border:2px solid var(--border);border-radius:11px;background:white;font-family:'Vazirmatn',sans-serif;font-size:20px;font-weight:700;color:var(--primary);text-align:center;outline:none;transition:var(--tr);}
.otp-box:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(10,110,116,.12);}

/* ── SPEC GRID ───────────────────────────────────────── */
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.spec-item{background:var(--bg2);border-radius:11px;padding:13px 14px;border:1px solid var(--border);}
.spec-label{font-size:10px;color:var(--text-muted);margin-bottom:2px;}
.spec-value{font-size:13px;font-weight:700;color:var(--dark);}

/* ── DESC/WARN BOXES ─────────────────────────────────── */
.desc-box{background:linear-gradient(135deg,var(--primary-pale),#f0fafb);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:13px;}
.desc-box h3{font-size:14px;font-weight:700;color:var(--primary);margin-bottom:11px;display:flex;align-items:center;gap:7px;}
.desc-box ul{list-style:none;}
.desc-box ul li{font-size:13px;color:var(--text);line-height:1.85;padding-right:16px;position:relative;margin-bottom:2px;}
.desc-box ul li::before{content:'';position:absolute;right:2px;top:9px;width:6px;height:6px;background:var(--accent);border-radius:50%;}
.warn-box{background:linear-gradient(135deg,#fff5f0,#fff8f5);border:1px solid #fcd0b8;border-radius:var(--radius);padding:16px 20px;margin-bottom:13px;}
.warn-box h3{font-size:13.5px;font-weight:700;color:#c45208;margin-bottom:9px;display:flex;align-items:center;gap:7px;}
.warn-box p{font-size:12.5px;color:#7a4020;line-height:1.9;}

/* ── AGREEMENT ───────────────────────────────────────── */
.agreement-wrap{background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);padding:15px 17px;display:flex;align-items:flex-start;gap:11px;cursor:pointer;transition:var(--tr);margin-bottom:3px;}
.agreement-wrap:hover{border-color:var(--primary);background:var(--primary-pale);}
.agreement-wrap input[type=checkbox]{display:none;}
.chk-box{width:21px;height:21px;flex-shrink:0;border:2px solid var(--border);border-radius:6px;background:white;display:flex;align-items:center;justify-content:center;transition:var(--tr);margin-top:1px;}
.agreement-wrap input:checked+.chk-box{background:var(--primary);border-color:var(--primary);}
.agreement-wrap input:checked+.chk-box::after{content:'✓';color:white;font-size:12px;font-weight:700;}
.agreement-text{font-size:12.5px;color:var(--text);line-height:1.85;}
.agreement-text strong{color:var(--primary);}

/* ── DAYS ────────────────────────────────────────────── */
.days-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;}
.day-btn{aspect-ratio:1;border:2px solid var(--border);background:white;border-radius:11px;font-family:'Vazirmatn',sans-serif;font-size:15px;font-weight:700;color:var(--text);cursor:pointer;transition:var(--tr);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;}
.day-btn span{font-size:9px;font-weight:400;color:var(--text-muted);}
.day-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-pale);}
.day-btn.selected{border-color:var(--primary);background:var(--primary);color:white;box-shadow:var(--shadow-md);transform:scale(1.04);}
.day-btn.selected span{color:rgba(255,255,255,.8);}

/* ── PRICE SUMMARY ───────────────────────────────────── */
.price-summary{background:linear-gradient(135deg,var(--dark),var(--mid));border-radius:var(--radius);padding:20px;color:white;margin-bottom:13px;}
.price-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.price-row:last-child{border:none;padding-top:12px;margin-top:3px;}
.price-label{font-size:12.5px;color:rgba(255,255,255,.7);}
.price-value{font-size:13px;font-weight:600;color:white;}
.price-sub{font-size:10.5px;color:rgba(255,255,255,.45);margin-top:2px;}
.price-total .price-label{font-size:13.5px;font-weight:700;color:white;}
.price-total .price-value{font-size:19px;font-weight:800;color:var(--accent);}

/* ── CALENDAR ────────────────────────────────────────── */
.calendar-wrapper{background:white;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;margin-bottom:13px;}
.cal-header{background:linear-gradient(135deg,var(--primary),var(--primary-light));padding:13px 17px;color:white;display:flex;justify-content:space-between;align-items:center;}
.cal-nav{background:rgba(255,255,255,.15);border:none;color:white;width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:var(--tr);}
.cal-nav:hover{background:rgba(255,255,255,.28);}
.cal-month-label{font-size:14px;font-weight:700;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:7px;row-gap:2px;column-gap:2px;}
.cal-day-name{text-align:center;font-size:10.5px;font-weight:600;color:var(--text-muted);padding:5px 0;height:26px;line-height:16px;}
.cal-day{text-align:center;font-size:12.5px;font-weight:500;color:var(--text);cursor:pointer;transition:var(--tr);border-radius:8px;height:34px;display:flex;align-items:center;justify-content:center;}
.cal-day:hover{background:var(--primary-pale);color:var(--primary);}
.cal-day.selected{background:var(--primary);color:white;font-weight:700;box-shadow:0 3px 9px rgba(10,110,116,.28);}
.cal-day.today{outline:2px solid var(--primary);color:var(--primary);font-weight:700;}
.cal-day.past{color:var(--text-muted);opacity:.35;cursor:not-allowed;pointer-events:none;}
.cal-day.empty{cursor:default;pointer-events:none;}

/* ── TIME SLOTS ──────────────────────────────────────── */
.time-slots{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-bottom:13px;}
.time-slot{border:2px solid var(--border);background:white;border-radius:var(--radius-sm);padding:12px 6px;text-align:center;cursor:pointer;transition:var(--tr);}
.time-slot:hover{border-color:var(--primary);background:var(--primary-pale);}
.time-slot.selected{border-color:var(--primary);background:var(--primary);color:white;box-shadow:var(--shadow-md);}
.ts-icon{display:flex;justify-content:center;margin-bottom:4px;}
.ts-label{font-size:12px;font-weight:700;display:block;margin-bottom:2px;}
.ts-range{font-size:10px;color:var(--text-muted);}
.time-slot.selected .ts-range{color:rgba(255,255,255,.75);}

/* ── ADDRESS ─────────────────────────────────────────── */
.addr-tabs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px;}
.addr-tab{border:2px solid var(--border);background:white;border-radius:var(--radius-sm);padding:13px;text-align:center;cursor:pointer;transition:var(--tr);}
.addr-tab.active{border-color:var(--primary);background:var(--primary-pale);color:var(--primary);}
.addr-tab-icon{display:flex;justify-content:center;margin-bottom:3px;}
.addr-tab-label{font-size:12px;font-weight:600;}
.map-ph{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:1.5px solid #c0dcc0;border-radius:var(--radius);height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:#3a7a3a;margin-bottom:11px;}
.map-ph p{font-size:13px;font-weight:600;}
.map-ph small{font-size:11px;color:#5a9a5a;}

/* ── SUMMARY ─────────────────────────────────────────── */
.summary-card{background:white;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;margin-bottom:13px;box-shadow:var(--shadow-sm);}
.summary-header{background:linear-gradient(135deg,var(--primary),var(--primary-light));padding:14px 18px;color:white;display:flex;align-items:center;gap:9px;}
.summary-header h3{font-size:14.5px;font-weight:700;}
.summary-body{padding:13px 18px;}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--border);}
.summary-row:last-child{border:none;}
.summary-key{font-size:12.5px;color:var(--text-light);}
.summary-val{font-size:13px;font-weight:600;color:var(--dark);}
.summary-total{background:var(--primary-pale);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--border);}
.summary-total .t-key{font-size:13.5px;font-weight:700;color:var(--primary);}
.summary-total .t-val{font-size:19px;font-weight:800;color:var(--primary);}

/* ── PAYMENT OPTS ────────────────────────────────────── */
.payment-opts{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:13px;}
.payment-opt{border:2px solid var(--border);background:white;border-radius:var(--radius);padding:16px 13px;cursor:pointer;transition:var(--tr);text-align:center;position:relative;overflow:hidden;}
.payment-opt::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-pale),transparent);opacity:0;transition:var(--tr);}
.payment-opt:hover::before,.payment-opt.selected::before{opacity:1;}
.payment-opt.disabled{opacity:0.48;cursor:not-allowed;filter:grayscale(0.4);}
.payment-opt.disabled::after{content:'به زودی';position:absolute;top:7px;left:7px;background:var(--primary);color:white;font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;}
.payment-opt.disabled:hover::before{opacity:0;}
.payment-opt:hover,.payment-opt.selected{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.pay-icon{display:flex;justify-content:center;margin-bottom:7px;}
.pay-label{font-size:12.5px;font-weight:700;color:var(--dark);margin-bottom:3px;}
.pay-desc{font-size:11px;color:var(--text-muted);line-height:1.55;}
.payment-opt.selected .pay-label{color:var(--primary);}

/* ── CONFIRMATION ────────────────────────────────────── */
.confirm-wrap{text-align:center;margin-bottom:20px;}
.confirm-circle{width:84px;height:84px;margin:0 auto 12px;background:linear-gradient(135deg,var(--success),#2fb87a);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 36px rgba(56,161,105,.35);animation:popIn .5s cubic-bezier(.34,1.56,.64,1);}
@keyframes popIn{from{transform:scale(0);opacity:0;}to{transform:scale(1);opacity:1;}}
.confirm-title{font-size:19px;font-weight:800;color:var(--success);margin-bottom:4px;}
.confirm-sub{font-size:13px;color:var(--text-light);line-height:1.75;}
.code-box{background:linear-gradient(135deg,var(--primary-pale),#dff5f6);border:1.5px dashed var(--primary-light);border-radius:var(--radius);padding:16px 20px;text-align:center;margin-bottom:13px;}
.code-label{font-size:11.5px;color:var(--text-muted);margin-bottom:5px;}
.code-value{font-size:24px;font-weight:800;color:var(--primary);letter-spacing:4px;direction:rtl;}
.code-copy{background:none;border:none;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;margin:7px auto 0;font-family:'Vazirmatn',sans-serif;display:flex;align-items:center;gap:4px;}

/* Timeline */
.timeline{margin-bottom:13px;}
.tl-item{display:flex;gap:11px;padding-bottom:16px;position:relative;align-items:flex-start;}
.tl-item:not(:last-child)::after{content:'';position:absolute;right:13px;top:28px;width:2px;height:calc(100% - 16px);background:var(--border);}
.tl-item.done:not(:last-child)::after{background:var(--success);}
.tl-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;position:relative;z-index:1;}
.tl-dot.done{background:var(--success);color:white;}
.tl-dot.pending{background:var(--warning);color:white;animation:pulse 2s infinite;}
.tl-dot.wait{background:var(--bg2);border:2px solid var(--border);}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(217,119,6,.4);}50%{box-shadow:0 0 0 5px rgba(217,119,6,0);}}
.tl-title{font-size:13px;font-weight:600;color:var(--dark);margin-bottom:1px;}
.tl-sub{font-size:11.5px;color:var(--text-muted);}

/* ── BUTTONS ─────────────────────────────────────────── */
.btn-group{display:flex;gap:9px;margin-top:20px;position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 72%,transparent);padding:13px 0 4px;margin-bottom:-28px;}
@media(min-width:900px){.btn-group{position:static;background:none;padding:14px 0 0;margin-bottom:0;}}
.btn-primary{flex:1;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:white;border:none;font-family:'Vazirmatn',sans-serif;font-size:14.5px;font-weight:700;padding:13px 20px;border-radius:13px;cursor:pointer;transition:var(--tr);box-shadow:0 5px 18px rgba(10,110,116,.33);display:flex;align-items:center;justify-content:center;gap:7px;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 9px 26px rgba(10,110,116,.43);}
.btn-primary:active{transform:translateY(0);}
.btn-primary:disabled{opacity:.44;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-secondary{background:white;border:1.5px solid var(--border);color:var(--text-light);font-family:'Vazirmatn',sans-serif;font-size:13.5px;font-weight:600;padding:13px 18px;border-radius:13px;cursor:pointer;transition:var(--tr);display:flex;align-items:center;justify-content:center;gap:6px;}
.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-pale);}
.btn-full{width:100%;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:white;border:none;font-family:'Vazirmatn',sans-serif;font-size:14px;font-weight:700;padding:13px;border-radius:13px;cursor:pointer;transition:var(--tr);box-shadow:0 5px 18px rgba(10,110,116,.3);display:flex;align-items:center;justify-content:center;gap:7px;}
.btn-full:hover{transform:translateY(-2px);}
.btn-outlined{width:100%;background:white;border:1.5px solid var(--primary);color:var(--primary);font-family:'Vazirmatn',sans-serif;font-size:13.5px;font-weight:600;padding:12px;border-radius:13px;cursor:pointer;transition:var(--tr);display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px;}
.btn-outlined:hover{background:var(--primary-pale);}

/* ── HELPERS ─────────────────────────────────────────── */
.helper-text{font-size:11.5px;color:var(--text-muted);margin-top:4px;}
.error-text{font-size:11.5px;color:var(--error);margin-top:4px;display:none;}
.section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);margin-bottom:8px;}
.info-chip{display:inline-flex;align-items:center;gap:4px;background:var(--primary-pale);color:var(--primary);font-size:11px;font-weight:600;padding:4px 11px;border-radius:20px;margin:3px;}
.track-section{background:linear-gradient(135deg,#fff8e8,#fffdf5);border:1.5px solid #f0d080;border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;gap:13px;}
.track-icon-box{width:44px;height:44px;background:linear-gradient(135deg,var(--accent2),#f5c542);border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.track-text h4{font-size:13.5px;font-weight:700;color:#92680a;margin-bottom:2px;}
.track-text p{font-size:11.5px;color:#a07a30;line-height:1.6;}
.btn-track-cta{margin-right:auto;flex-shrink:0;background:var(--accent2);color:white;border:none;font-family:'Vazirmatn',sans-serif;font-size:12px;font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer;transition:var(--tr);white-space:nowrap;}
.btn-track-cta:hover{background:#d4900a;transform:translateY(-1px);}

/* ── MODAL ───────────────────────────────────────────── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:999;align-items:flex-end;backdrop-filter:blur(4px);}
.modal-overlay.open{display:flex;}
.modal{background:white;border-radius:22px 22px 0 0;width:100%;max-width:640px;margin:0 auto;padding:24px 20px 36px;animation:slideUp .32s cubic-bezier(.4,0,.2,1);max-height:85vh;overflow-y:auto;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.modal-handle{width:44px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 16px;}
.modal-title{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:13px;}
.modal-menu-btn{background:var(--bg2);border:none;border-radius:11px;padding:13px 16px;font-family:'Vazirmatn',sans-serif;font-size:13.5px;font-weight:600;color:var(--text);cursor:pointer;text-align:right;display:flex;align-items:center;gap:9px;transition:var(--tr);width:100%;margin-bottom:4px;}
.modal-menu-btn:hover{background:var(--primary-pale);color:var(--primary);}
.modal-close-btn{width:100%;background:none;border:none;color:var(--text-muted);font-family:'Vazirmatn',sans-serif;font-size:13px;cursor:pointer;margin-top:9px;padding:8px;}

/* ── DEV OTP BOX ─────────────────────────────────────── */
.dev-otp{margin-top:12px;background:#e6f7f8;border:1.5px dashed var(--primary);border-radius:10px;padding:10px;text-align:center;}
.dev-otp .label{font-size:10.5px;color:var(--text-light);margin-bottom:3px;}
.dev-otp .code{font-size:22px;font-weight:800;color:var(--primary);letter-spacing:4px;direction:rtl;}

/* ── TOAST ───────────────────────────────────────────── */
.toast{position:fixed;top:76px;left:50%;transform:translateX(-50%) translateY(-18px);background:var(--dark);color:white;padding:10px 18px;border-radius:11px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);z-index:9999;opacity:0;transition:all .3s;max-width:88vw;width:max-content;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.account-banner{display:none;align-items:flex-start;gap:11px;background:#fff5f5;border:1.5px solid #fc8181;border-radius:12px;padding:14px 16px;margin:12px 0 4px;animation:fadeIn .3s;}
.account-banner.show{display:flex;}
.account-banner-icon{font-size:22px;flex-shrink:0;margin-top:1px;}
.account-banner-body{flex:1;}
.account-banner-title{font-size:13.5px;font-weight:700;color:#c53030;margin-bottom:3px;}
.account-banner-msg{font-size:12.5px;color:#742a2a;line-height:1.7;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:400px){
  .product-grid{grid-template-columns:1fr;}
  .days-grid{grid-template-columns:repeat(4,1fr);}
  .payment-opts{grid-template-columns:1fr;}
}
/* ── WIZARD ENGINE EXTRAS ────────────────────────── */
.wiz-step-enter{animation:pgIn .35s cubic-bezier(.4,0,.2,1);}
.service-type-badge{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:white;font-size:11px;font-weight:700;padding:4px 12px;border-radius:20px;margin-bottom:14px;}
.fee-card{background:linear-gradient(135deg,var(--dark),var(--mid));border-radius:var(--radius);padding:22px 20px;color:white;margin-bottom:13px;text-align:center;}
.fee-amount{font-size:34px;font-weight:800;color:var(--accent);margin:8px 0 4px;}
.fee-note{font-size:12px;opacity:.75;line-height:1.8;}
.info-field{margin-bottom:12px;}
.info-field label{font-size:12.5px;font-weight:600;color:var(--text-light);display:block;margin-bottom:6px;}
.ecg-steps{display:flex;flex-direction:column;background:white;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;margin-bottom:13px;}
.ecg-step-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--bg2);}
.ecg-step-item:last-child{border:none;}
.ecg-step-num{width:28px;height:28px;border-radius:50%;background:var(--primary);color:white;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.ecg-step-t{font-size:13px;font-weight:600;color:var(--dark);}
.ecg-step-s{font-size:11.5px;color:var(--text-muted);margin-top:2px;}
.visit-info-box{background:linear-gradient(135deg,#fff8e8,#fffdf5);border:1.5px solid #f0d080;border-radius:var(--radius);padding:16px 18px;margin-bottom:13px;}
.visit-info-box h4{font-size:13px;font-weight:700;color:#92680a;margin-bottom:7px;display:flex;align-items:center;gap:7px;}
.visit-info-box p{font-size:12px;color:#7a5520;line-height:1.85;}
.summary-svc-badge{display:inline-flex;align-items:center;gap:6px;background:var(--primary-pale);color:var(--primary);font-size:11px;font-weight:600;padding:3px 11px;border-radius:20px;margin-bottom:10px;}
