@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap');

:root{
  --ny-primary:#1769e8;
  --ny-primary-2:#0d55c7;
  --ny-cyan:#16b8c8;
  --ny-green:#12b981;
  --ny-bg:#f4f8fc;
  --ny-card:#ffffff;
  --ny-text:#12213f;
  --ny-muted:#71809a;
  --ny-border:#e4ebf4;
  --ny-shadow:0 16px 45px rgba(25,65,120,.08);
  --ny-radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Vazirmatn',Tahoma,sans-serif !important;
  background:
    radial-gradient(circle at 90% 0%,rgba(23,105,232,.07),transparent 28%),
    radial-gradient(circle at 0% 80%,rgba(18,185,129,.05),transparent 25%),
    var(--ny-bg) !important;
  color:var(--ny-text);
}
a,button,input,select,textarea{font-family:'Vazirmatn',Tahoma,sans-serif}
a{transition:.2s ease}

/* Shared headers */
body > header,
header{
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--ny-border) !important;
  box-shadow:0 4px 24px rgba(30,70,120,.045);
}
.nav-container{max-width:1280px !important;padding:13px 22px !important}
.logo{
  color:var(--ny-primary) !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
.logo i{background:#edf5ff !important;color:var(--ny-primary) !important}
.nav-links a{color:#33445f !important;font-weight:600 !important}
.nav-links a:hover,.nav-links a.active{color:var(--ny-primary) !important}

/* Generic content surfaces */
.container,.main-container{max-width:1180px !important}
.card,.box,.section-box,.track-card,.receipt-card,.login-card,.login-box{
  background:rgba(255,255,255,.96) !important;
  border:1px solid var(--ny-border) !important;
  border-radius:var(--ny-radius) !important;
  box-shadow:var(--ny-shadow) !important;
}
.box,.section-box,.card{margin-bottom:22px}

h1,h2,h3,h4{color:var(--ny-text)}

/* Forms */
.form-group input,.form-group select,.form-control,input,select,textarea{
  border-color:#dce5f0 !important;
  background:#f8fbff !important;
  border-radius:13px !important;
  color:var(--ny-text);
  transition:.2s ease;
}
.form-group input:focus,.form-group select:focus,.form-control:focus,input:focus,select:focus,textarea:focus{
  border-color:#78aaf2 !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(23,105,232,.09) !important;
}
button,.btn-login,.btn-add,.btn-records,.btn-submit-modal,.btn-search,.btn-reserve{
  border-radius:13px !important;
  background:linear-gradient(135deg,var(--ny-primary),var(--ny-primary-2)) !important;
  box-shadow:0 8px 20px rgba(23,105,232,.16);
}
button:hover,.btn-login:hover,.btn-add:hover,.btn-records:hover,.btn-submit-modal:hover,.btn-search:hover,.btn-reserve:hover{
  transform:translateY(-1px);
  filter:none !important;
  box-shadow:0 12px 26px rgba(23,105,232,.2);
}

/* Tables */
table{border-collapse:separate !important;border-spacing:0 !important;overflow:hidden}
th{background:#f4f8fd !important;color:#53627a !important}
th,td{border-bottom:1px solid #edf1f6 !important}
tbody tr{transition:.15s ease}
tbody tr:hover{background:#f8fbff !important}

/* Badges and utility buttons */
.badge{border-radius:999px !important}
.logout,.logout-btn{border-radius:12px !important}
.back-btn,.back-link{border-radius:12px !important}

/* Index / public homepage */
.hero-section{
  position:relative;
  overflow:hidden;
  min-height:400px;
  padding:55px 24px 72px !important;
  background:
    radial-gradient(circle at 80% 40%,rgba(42,191,203,.18),transparent 22%),
    radial-gradient(circle at 12% 30%,rgba(23,105,232,.12),transparent 28%),
    linear-gradient(135deg,#f8fcff 0%,#edf7ff 55%,#f1fffb 100%) !important;
  border-bottom:1px solid #dcebf8 !important;
}
.hero-section:before,.hero-section:after{
  content:'';position:absolute;border-radius:50%;pointer-events:none;
}
.hero-section:before{width:360px;height:360px;right:-100px;bottom:-210px;background:rgba(21,184,200,.12)}
.hero-section:after{width:260px;height:260px;left:-100px;top:-130px;background:rgba(23,105,232,.08)}
.hero-section h1{position:relative;z-index:2;max-width:900px;margin:0 auto 13px !important;font-size:clamp(26px,4vw,40px) !important;line-height:1.6 !important;letter-spacing:-.4px}
.hero-section h1 span{display:block;color:#12a778}
.hero-section p{position:relative;z-index:2;font-size:15px !important;color:#667791 !important}
.search-box-container{
  position:relative;z-index:3;max-width:880px !important;margin:28px auto 0 !important;
  padding:8px !important;border:1px solid #dce8f4 !important;border-radius:20px !important;
  box-shadow:0 18px 42px rgba(35,86,145,.12) !important;
}
.city-select-group{border-left:1px solid #e8edf4 !important}
.btn-search{min-width:120px}

/* Category strip added to homepage */
.ny-category-strip{
  max-width:1180px;margin:-30px auto 0;position:relative;z-index:5;padding:14px;
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px;
  background:rgba(255,255,255,.96);border:1px solid var(--ny-border);border-radius:22px;box-shadow:var(--ny-shadow)
}
.ny-category-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:90px;border-radius:16px;color:#40516b;text-decoration:none;font-size:12px;font-weight:700}
.ny-category-item i{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#edf5ff;color:var(--ny-primary);font-size:17px}
.ny-category-item:hover{background:#f4f9ff;color:var(--ny-primary);transform:translateY(-2px)}
.ny-home-stats{max-width:1180px;margin:24px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ny-stat{padding:18px 20px;background:#fff;border:1px solid var(--ny-border);border-radius:18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 25px rgba(25,65,120,.045)}
.ny-stat i{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eef6ff;color:var(--ny-primary)}
.ny-stat strong{display:block;font-size:17px}.ny-stat small{color:var(--ny-muted);font-size:11px}

.grid-cards{gap:18px !important}
.doc-card{border-radius:20px !important;padding:20px !important;box-shadow:0 8px 28px rgba(25,65,120,.055) !important}
.doc-card:hover{transform:translateY(-5px) !important;box-shadow:0 18px 38px rgba(23,105,232,.12) !important}
.doc-avatar-wrapper{width:88px !important;height:88px !important}
.doc-avatar{border-color:#eaf3ff !important}
.online-badge{background:#13b981 !important}
.doc-specialty{background:#f2f7fd !important;border-color:#e2ebf5 !important}
.doc-meta{background:#f7faff !important;border-color:#edf2f7 !important}
.btn-reserve{padding:12px !important}

.modal-overlay{background:rgba(10,28,55,.46) !important;backdrop-filter:blur(8px) !important}
.modal-box{border:1px solid #e2eaf4 !important;box-shadow:0 30px 80px rgba(12,40,80,.22) !important}
.modal-close{color:#4d5e76}
.time-slot{border-radius:10px !important}
.time-slot.selected{background:linear-gradient(135deg,var(--ny-primary),var(--ny-primary-2)) !important}

/* Login screens */
.login-card,.login-box{position:relative;overflow:hidden}
.login-card:before,.login-box:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--ny-primary),var(--ny-cyan),var(--ny-green))}
.login-card h2,.login-box h2{margin-top:6px}

/* Public tracking */
.track-card{padding:42px !important}
.search-box{border-color:#dce6f1 !important;background:#f7faff !important}
.appointment-item{border-color:#e3ebf4 !important;background:#f8fbff !important;border-radius:18px !important}

/* Receipt */
.receipt-card{overflow:hidden}
.header-receipt h2{color:var(--ny-primary) !important}
.tracking-code{background:#edf6ff !important;border-color:#cfe3fb !important;color:#1557ad !important;border-radius:14px !important}

/* Admin / dashboards */
.top-actions{gap:14px !important}
.section-box h3,.box h3,.card h3{font-weight:800}
.btn-danger-all{border-radius:12px !important}
.btn-warning-all{border-radius:12px !important}
.btn-action,.btn-cancel,.btn-del,.btn-edit{border-radius:9px !important}

/* Prevent wide tables from destroying mobile layout */
@media (max-width:800px){
  header{padding:13px 18px !important}
  .nav-container{padding:12px 16px !important}
  .nav-links{gap:12px !important;flex-wrap:wrap}
  .nav-links a{font-size:11px !important}
  .hero-section{padding:42px 16px 60px !important}
  .search-box-container{flex-direction:column !important;align-items:stretch !important;border-radius:18px !important}
  .city-select-group{border-left:0 !important;border-bottom:1px solid #edf1f5;padding:8px 12px !important}
  .search-input-group{padding:8px 12px !important}
  .btn-search{width:100%}
  .ny-category-strip{margin:16px 14px 0;grid-template-columns:repeat(3,1fr)}
  .ny-home-stats{margin:16px 14px;grid-template-columns:1fr}
  .main-container,.container{padding-left:14px !important;padding-right:14px !important;margin-top:28px !important}
  .box,.section-box,.card,.track-card{padding:20px !important}
  .track-card{padding:26px 18px !important}
  table{min-width:720px}
  .box,.section-box,.card{overflow-x:auto}
  .top-actions{align-items:stretch}
  .top-actions>*{width:100%}
  .top-actions a{justify-content:center}
}
@media (max-width:520px){
  .ny-category-strip{grid-template-columns:repeat(2,1fr)}
  .hero-section h1{font-size:25px !important}
  .hero-section p{font-size:13px !important}
  .logo{font-size:16px !important}
}
.back-home-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 12px;
    padding: 11px 15px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: 14px;
    transition: .2s;
}

.back-home-btn:hover {
    background: #f1f5f9;
    color: #0f172a;
}
/* ===== نوبت‌یار | Homepage v2 ===== */
.hero-section{min-height:500px;padding:72px 18px 92px!important;position:relative;overflow:hidden;background:linear-gradient(135deg,#f7fbff 0%,#edf6ff 48%,#f1fffa 100%)!important;border:0!important}
.hero-inner{max-width:1050px;margin:auto;position:relative;z-index:2;text-align:center}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid #dce9f7;background:rgba(255,255,255,.78);border-radius:999px;color:#2864ad;font-size:12px;font-weight:800;box-shadow:0 8px 25px rgba(30,80,140,.06)}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#16b981;box-shadow:0 0 0 5px rgba(22,185,129,.12)}
.hero-section h1{font-size:clamp(30px,5vw,52px)!important;line-height:1.45!important;margin:22px auto 12px!important;letter-spacing:-1px}
.hero-section h1 span{color:#1769e8!important}
.hero-section p{max-width:760px;margin:0 auto!important;line-height:2.1!important;font-size:14px!important}
.hero-orb{position:absolute;border-radius:50%;pointer-events:none}.hero-orb-one{width:420px;height:420px;right:-180px;top:-170px;background:rgba(22,184,200,.12)}.hero-orb-two{width:330px;height:330px;left:-160px;bottom:-180px;background:rgba(23,105,232,.10)}
.search-box-container{max-width:900px!important;margin:34px auto 0!important;padding:9px!important;border-radius:22px!important;display:grid!important;grid-template-columns:1fr 1.65fr auto!important;gap:6px!important;align-items:center!important;background:rgba(255,255,255,.94)!important;box-shadow:0 24px 60px rgba(30,80,140,.13)!important}
.search-field{min-width:0;display:flex;align-items:center;gap:10px;padding:7px 12px!important;text-align:right}.city-select-group{border-left:1px solid #e7edf5!important}.field-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#edf5ff;color:#1769e8;flex:none}.field-content{min-width:0;flex:1}.field-content small{display:block;color:#8a98ac;font-size:10px;font-weight:700;margin-bottom:1px}.field-content select,.field-content input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:25px;font-size:13px!important;font-weight:700!important}.btn-search{height:54px;min-width:130px;border-radius:15px!important;display:flex;align-items:center;justify-content:center;gap:9px}
.hero-points{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:20px;color:#63748d;font-size:11px;font-weight:700}.hero-points i{color:#13b981;margin-left:4px}
.home-content{max-width:1180px;margin:-45px auto 0;position:relative;z-index:5;padding:0 18px}.category-panel{background:rgba(255,255,255,.98);border:1px solid #e2eaf3;border-radius:26px;padding:22px;box-shadow:0 20px 55px rgba(28,72,125,.10)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.section-heading h2{margin:3px 0 0;font-size:21px;font-weight:900}.section-heading a{color:#1769e8;text-decoration:none;font-size:12px;font-weight:800}.section-heading a i{margin-right:5px}.section-eyebrow{color:#16a47c;font-size:10px;font-weight:900;display:block}
.category-panel .ny-category-strip{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(10,1fr);gap:8px;background:none;border:0;box-shadow:none}.ny-category-item{min-height:90px!important;background:#f8fbff;border:1px solid #e8eef6;border-radius:17px!important}.ny-category-item i{background:#edf5ff!important}.ny-category-item:hover{border-color:#cfe1f7;background:#f1f7ff!important}
.ny-home-stats{max-width:none;margin:16px 0 0;grid-template-columns:repeat(3,1fr);gap:12px}.ny-stat{min-height:78px}.ny-stat strong{font-size:15px}
.provider-section{margin-top:46px}.provider-heading{align-items:center}.provider-heading p{margin:5px 0 0;color:#8290a5;font-size:11px}.result-count{white-space:nowrap;background:#eef6ff;color:#1769e8;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}.main-container{max-width:none!important;margin:0!important;padding:0!important}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;gap:16px!important}
.doc-card{padding:18px!important;border-radius:22px!important;position:relative;text-align:right!important}.doc-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.available-label{font-size:9px;color:#15966f;background:#effcf7;padding:5px 8px;border-radius:999px;font-weight:800}.available-label i{font-size:6px;margin-left:4px}.more-dot{width:30px;height:30px;padding:0!important;background:#f5f8fc!important;color:#72829a!important;border:1px solid #e7edf4!important;box-shadow:none!important}.doc-avatar-wrapper{margin:0 auto 12px!important}.doc-name{text-align:center}.doc-specialty{display:block;width:max-content;max-width:100%;margin:0 auto 13px!important}.doc-meta{margin-bottom:14px!important}.doc-meta div{display:grid;grid-template-columns:22px 42px 1fr;gap:5px;align-items:start;margin-bottom:7px!important}.doc-meta div i{color:#1769e8;margin-top:3px}.doc-meta b{font-size:10px;color:#7b899c}.doc-meta span{font-size:10px;line-height:1.7;overflow-wrap:anywhere}.btn-reserve{display:flex!important;justify-content:space-between;align-items:center;padding:11px 13px!important}.btn-reserve i{font-size:11px}.empty-state{grid-column:1/-1;text-align:center;padding:55px 20px;background:#fff;border:1px dashed #d7e2ee;border-radius:22px}.empty-icon{width:58px;height:58px;margin:0 auto 12px;display:grid;place-items:center;border-radius:18px;background:#eef5fd;color:#6b8fbc;font-size:20px}.empty-state h3{margin-bottom:6px}.empty-state p{color:#8794a8;font-size:12px}.empty-state a{display:inline-block;margin-top:13px;color:#1769e8;text-decoration:none;font-size:12px;font-weight:800}
.how-section{margin:64px 0 36px}.center-heading{display:block;text-align:center}.center-heading .section-eyebrow{margin-bottom:4px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.how-card{position:relative;background:#fff;border:1px solid #e3ebf4;border-radius:21px;padding:27px 20px;text-align:center;box-shadow:0 12px 35px rgba(25,65,120,.055)}.how-card>span{position:absolute;top:13px;right:14px;width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#edf5ff;color:#1769e8;font-size:11px;font-weight:900}.how-card>i{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 13px;border-radius:17px;background:#effbf7;color:#13a97c;font-size:20px}.how-card h3{font-size:14px;margin-bottom:6px}.how-card p{font-size:11px;line-height:1.9;color:#7d8ba0}
.provider-banner{margin:25px 0 40px;border-radius:25px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#145fd0,#1769e8 55%,#0fae8a);color:#fff;box-shadow:0 20px 50px rgba(23,105,232,.18)}.provider-banner span{font-size:10px;opacity:.8}.provider-banner h2{color:#fff;margin:5px 0;font-size:20px}.provider-banner p{margin:0;opacity:.88;font-size:11px;line-height:1.9}.provider-banner a{white-space:nowrap;background:#fff;color:#1769e8;text-decoration:none;padding:12px 16px;border-radius:13px;font-size:11px;font-weight:900}.provider-banner a i{margin-right:7px}
.ny-footer{background:#0c1830;color:#d9e3f0;margin:0 -0px;padding:35px max(18px,calc((100vw - 1180px)/2)) 16px}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px;align-items:center}.footer-brand{font-weight:900;font-size:18px}.footer-brand i{margin-left:7px;color:#50b5ff}.ny-footer p{font-size:10px;color:#8292aa;margin:8px 0 0}.footer-links{display:flex;gap:15px;flex-wrap:wrap}.footer-links a,.footer-support a{color:#c9d6e7;text-decoration:none;font-size:10px;font-weight:700}.footer-links a:hover,.footer-support a:hover{color:#fff}.footer-support small{display:block;color:#71829c;font-size:9px;margin-bottom:6px}.footer-support i{color:#50b5ff;margin-left:5px}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:26px;padding-top:14px;color:#71829c;font-size:9px;display:flex;justify-content:space-between;gap:10px}
@media(max-width:900px){.category-panel .ny-category-strip{grid-template-columns:repeat(5,1fr)}.search-box-container{grid-template-columns:1fr 1.4fr auto}.footer-inner{grid-template-columns:1fr 1fr}.footer-support{grid-column:1/-1}.provider-banner{padding:25px}.how-grid{gap:10px}}
@media(max-width:650px){.hero-section{padding:55px 14px 75px!important;min-height:0}.hero-section h1{font-size:29px!important}.hero-points{gap:10px 18px;font-size:10px}.search-box-container{display:flex!important;flex-direction:column!important;gap:4px!important;padding:8px!important}.city-select-group{border-left:0!important;border-bottom:1px solid #edf1f5}.search-field{width:100%}.btn-search{width:100%;height:48px}.home-content{margin:-30px auto 0;padding:0 12px}.category-panel{padding:15px;border-radius:20px}.section-heading h2{font-size:18px}.category-panel .ny-category-strip{grid-template-columns:repeat(2,1fr)}.ny-category-item{min-height:78px!important}.ny-home-stats{grid-template-columns:1fr}.provider-heading{align-items:flex-start}.result-count{font-size:9px}.grid-cards{grid-template-columns:1fr 1fr!important;gap:10px!important}.doc-card{padding:13px!important}.doc-card-top .available-label{font-size:7px}.doc-avatar-wrapper{width:70px!important;height:70px!important}.doc-name{font-size:14px}.doc-specialty{font-size:10px}.doc-meta{padding:8px!important}.doc-meta div{grid-template-columns:18px 35px 1fr}.doc-meta b{font-size:8px}.doc-meta span{font-size:8px}.btn-reserve{font-size:10px!important;padding:9px!important}.how-grid{grid-template-columns:1fr}.provider-banner{display:block;padding:23px}.provider-banner a{display:inline-block;margin-top:15px}.footer-inner{grid-template-columns:1fr}.footer-links{gap:11px}.footer-bottom{display:block;line-height:2}}
@media(max-width:400px){.grid-cards{grid-template-columns:1fr!important}}

/* =========================================================
   نوبت‌یار — پایه‌ی کامل رابط کاربری
   این بخش فقط ظاهر و layout را تثبیت می‌کند.
   ========================================================= */

html,body{margin:0!important;padding:0!important;width:100%;min-width:0;overflow-x:hidden}
body{min-height:100vh;font-size:14px;line-height:1.8}
*,*:before,*:after{box-sizing:border-box}
img{max-width:100%;height:auto}

/* Header */
header{width:100%;position:relative;z-index:20}
.nav-container{width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:72px}
.logo{display:inline-flex!important;align-items:center;gap:9px;font-size:22px!important;white-space:nowrap}
.logo i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:17px}
.nav-links{list-style:none!important;margin:0!important;padding:0!important;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nav-links li{margin:0!important;padding:0!important}
.nav-links a{display:flex;align-items:center;padding:9px 13px;border-radius:11px;text-decoration:none!important;font-size:13px}

/* Homepage */
.hero-section{width:100%;display:block}
.hero-inner{width:min(1050px,100%);margin:0 auto}
.hero-section h1{font-weight:900!important;color:#12213f!important}
.hero-section p{color:#61728b!important}
.search-box-container{width:min(900px,100%);margin-left:auto!important;margin-right:auto!important}
.search-field{min-width:0}
.search-field input,.search-field select{width:100%;outline:0}
.field-content{width:100%;min-width:0}
.field-content select{appearance:none;-webkit-appearance:none}
.hero-points{position:relative;z-index:3}

.home-content{width:min(1180px,100%);margin-left:auto!important;margin-right:auto!important}
.category-panel{width:100%}
.section-heading{width:100%;display:flex;align-items:center;justify-content:space-between}
.section-heading>div{min-width:0}
.section-heading h2{font-weight:900!important;color:#12213f!important}
.ny-category-strip{width:100%}
.ny-category-item{min-width:0!important;overflow:hidden}
.ny-category-item span{white-space:nowrap}
.ny-home-stats{width:100%;display:grid}
.ny-stat{min-width:0}
.ny-stat div{min-width:0}
.ny-stat small{display:block;line-height:1.8}

/* Providers */
.provider-section{width:100%}
.provider-heading{display:flex!important}
.grid-cards{width:100%;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.doc-card{width:100%;min-width:0;display:flex;flex-direction:column;background:#fff!important}
.doc-card-top{width:100%}
.more-dot{display:grid!important;place-items:center;flex:0 0 30px}
.doc-avatar-wrapper{position:relative;width:88px;height:88px;flex:0 0 auto}
.doc-avatar{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;border:5px solid #eef5ff}
.online-badge{position:absolute;right:3px;bottom:4px;width:13px;height:13px;border:3px solid #fff;border-radius:50%}
.doc-name{font-size:17px;font-weight:900;line-height:1.7;color:#17243d}
.doc-specialty{padding:5px 10px;border:1px solid #e3ebf4;border-radius:999px;font-size:11px;font-weight:800;color:#52647d}
.doc-meta{width:100%;padding:11px 12px;border:1px solid #e8eef5;border-radius:15px;background:#f8fbff}
.doc-meta div:last-child{margin-bottom:0!important}
.doc-meta span{display:block;min-width:0;word-break:break-word}
.btn-reserve{width:100%;border:0;color:#fff!important;cursor:pointer;font-weight:800}

/* How / banner */
.how-section{width:100%}
.how-grid{width:100%;display:grid}
.how-card{min-width:0}
.provider-banner{width:100%}
.provider-banner h2{font-weight:900!important}

/* Footer */
.ny-footer{width:100%;margin-top:0!important}
.footer-inner{width:min(1180px,100%);margin:0 auto}
.footer-links{align-items:center}

/* Booking modal — مهم: در حالت عادی نباید داخل صفحه دیده شود */
.modal-overlay{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  z-index:99999!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  margin:0!important;
  overflow-y:auto!important;
}
.modal-overlay[style*="display: flex"],
.modal-overlay[style*="display:flex"]{display:flex!important}
.modal-box{
  position:relative!important;
  width:min(560px,100%)!important;
  max-height:calc(100vh - 40px)!important;
  overflow-y:auto!important;
  margin:auto!important;
  padding:28px!important;
  border-radius:24px!important;
  background:#fff!important;
}
.modal-title{font-size:21px;font-weight:900;color:#12213f;margin:0 0 22px;text-align:right}
.modal-close{position:absolute;left:16px;top:16px;width:38px;height:38px;border:0!important;border-radius:12px!important;background:#f2f6fb!important;box-shadow:none!important;cursor:pointer}
.modal-close:hover{background:#eaf1f9!important;transform:none!important}
.modal-box .form-group{margin-bottom:15px}
.modal-box .form-group label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#34445d}
.modal-box .form-group input:not([type="checkbox"]),.modal-box .form-group select,.modal-box .form-group textarea{width:100%;min-height:46px;padding:10px 13px}

/* General buttons/links */
button{border:0;cursor:pointer}
input,select,textarea{max-width:100%}

/* Desktop sizing */
@media(min-width:1101px){
  .nav-container{max-width:1180px!important}
  .hero-inner{padding-left:20px;padding-right:20px}
}
@media(max-width:1100px){
  .grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .nav-container{min-height:64px;gap:12px}
  .nav-links a{padding:7px 9px;font-size:11px}
  .logo{font-size:19px!important}
  .grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .category-panel .ny-category-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:650px){
  .nav-container{align-items:center;padding-top:10px!important;padding-bottom:10px!important}
  .nav-links{gap:3px}
  .nav-links a{font-size:10px;padding:6px 7px}
  .logo i{width:34px;height:34px}
  .hero-inner{padding:0 4px}
  .search-box-container{grid-template-columns:1fr!important}
  .search-field{width:100%}
  .category-panel .ny-category-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-cards{grid-template-columns:1fr!important}
  .doc-card{padding:18px!important}
  .ny-home-stats{grid-template-columns:1fr!important}
  .section-heading{align-items:flex-start}
  .provider-heading{gap:12px}
  .modal-overlay{padding:10px!important}
  .modal-box{padding:23px 17px!important;max-height:calc(100vh - 20px)!important}
}


/* =========================================================
   V4 — Reference homepage + booking UI
   ظاهر جدید؛ بدون تغییر در منطق PHP/JS رزرو
   ========================================================= */
.ny-hero-reference{
  min-height:410px!important;padding:0!important;display:flex;align-items:stretch;
  position:relative;isolation:isolate;border-radius:0 0 28px 28px!important;
  background:#eaf6ff!important;overflow:hidden;
}
.ny-hero-bg{position:absolute;inset:0;background-image:url('hero-medical-bg.jpg');background-size:cover;background-position:left center;z-index:-3;}
.ny-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(232,246,255,.08) 0%,rgba(238,248,255,.12) 45%,rgba(255,255,255,.93) 78%,rgba(255,255,255,.98) 100%);z-index:-2;}
.ny-hero-inner{width:min(1280px,100%);min-height:410px;padding:44px 24px 76px!important;display:flex;flex-direction:column;justify-content:center;position:relative;}
.ny-hero-copy{width:min(520px,46%);margin-right:auto;text-align:right;position:relative;z-index:3;padding-top:5px;}
.ny-hero-mini{display:inline-flex;align-items:center;gap:7px;color:#1769e8;background:rgba(255,255,255,.76);border:1px solid rgba(23,105,232,.12);padding:7px 12px;border-radius:999px;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}
.ny-hero-mini i{color:#14ad8b}
.ny-hero-copy h1{font-size:clamp(34px,4.4vw,58px)!important;line-height:1.35!important;margin:12px 0 6px!important;color:#103b78!important;letter-spacing:-1.2px}
.ny-hero-copy h1 span{color:#1769e8!important}
.ny-hero-copy p{max-width:470px;margin:0 0 0 auto!important;font-size:14px!important;line-height:2.1!important;color:#35506f!important;font-weight:500}
.ny-hero-search{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:18px;width:min(1080px,calc(100% - 48px))!important;display:grid!important;grid-template-columns:1.65fr 1.05fr .9fr auto;align-items:center;gap:0!important;padding:8px!important;background:rgba(255,255,255,.96)!important;border:1px solid #dbe8f5!important;border-radius:22px!important;box-shadow:0 18px 48px rgba(29,89,150,.16)!important;backdrop-filter:blur(14px)}
.ny-hero-search .search-field{height:56px;display:flex;align-items:center;gap:9px;padding:0 14px;border-left:1px solid #edf1f6}
.ny-hero-search .search-field:last-of-type{border-left:0}
.ny-hero-search .field-icon{color:#1769e8;font-size:16px;flex:0 0 auto}
.ny-hero-search .field-content{display:flex;flex-direction:column;justify-content:center}
.ny-hero-search .field-content small{font-size:9px;color:#8290a3;font-weight:700;margin-bottom:1px}
.ny-hero-search input,.ny-hero-search select{border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;padding:0!important;font-size:11px!important;font-weight:700!important;color:#233b5b!important}
.ny-hero-search .search-placeholder{font-size:11px;color:#536b87;font-weight:700;white-space:nowrap}
.ny-hero-search .btn-search{height:50px;min-width:126px;border-radius:16px!important;font-size:12px!important;margin:0!important}

/* Booking modal: compact two-column form + horizontal time chips */
#bookingModal .modal-box{width:min(720px,100%)!important;padding:30px!important}
#bookingModal form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
#bookingModal .modal-title,#bookingModal .btn-submit-modal{grid-column:1/-1}
#bookingModal .form-group:nth-of-type(4),#bookingModal .form-group:nth-of-type(5){grid-column:1/-1}
#bookingModal .form-group{margin-bottom:13px}
#bookingModal .form-group label{font-size:11px!important;color:#41536c!important}
#bookingModal .form-group input:not([type=checkbox]){height:46px!important}
#bookingModal .form-group:nth-of-type(4) input{font-weight:800;text-align:center;letter-spacing:.4px}
#bookingModal .form-group:has(#timeSlotsContainer){background:#f8fbff;border:1px solid #e3edf7;padding:14px;border-radius:18px}
#bookingModal .time-slots-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-height:220px;overflow-y:auto;padding:3px;scrollbar-width:thin}
#bookingModal .time-slot{min-height:42px!important;display:flex!important;align-items:center;justify-content:center;border:1px solid #dce8f5!important;border-radius:12px!important;background:#fff!important;color:#24517f!important;font-weight:800!important;font-size:12px!important;cursor:pointer;transition:.18s ease;box-shadow:0 3px 10px rgba(25,65,120,.04)}
#bookingModal .time-slot:hover{border-color:#70a8ee!important;background:#f0f7ff!important;transform:translateY(-1px)}
#bookingModal .time-slot.selected{background:linear-gradient(135deg,#1769e8,#0d55c7)!important;color:#fff!important;border-color:#1769e8!important;box-shadow:0 8px 18px rgba(23,105,232,.2)!important}
#bookingModal .time-slot.booked-disabled,#bookingModal .time-slot.disabled{background:#f0f2f5!important;color:#a5afbd!important;border-color:#e5e9ee!important;text-decoration:line-through;cursor:not-allowed;box-shadow:none!important;transform:none!important}
#bookingModal .btn-submit-modal{height:50px!important;margin-top:4px!important;border-radius:15px!important;font-size:13px!important}

/* Persian datepicker */
.datepicker-plot-area{font-family:'Vazirmatn',Tahoma,sans-serif!important;border:1px solid #dce8f5!important;border-radius:18px!important;box-shadow:0 20px 50px rgba(18,55,100,.18)!important;overflow:hidden!important}
.datepicker-plot-area .table-days td.selected span,.datepicker-plot-area .table-days td span:hover{background:#1769e8!important;color:#fff!important;border-radius:10px!important}
.datepicker-plot-area .table-days td span{font-family:'Vazirmatn',Tahoma,sans-serif!important}

/* Free registration banner matching the reference */
.ny-free-banner{position:relative;overflow:hidden!important;min-height:108px;display:grid!important;grid-template-columns:125px 145px 1fr auto;align-items:center!important;padding:15px 22px!important;border-radius:22px!important;background:linear-gradient(110deg,#3e8df2,#0879df 48%,#12c1bd)!important}
.ny-free-banner:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 50%,rgba(255,255,255,.22),transparent 25%),radial-gradient(circle at 80% 10%,rgba(255,255,255,.12),transparent 30%);pointer-events:none}
.ny-banner-visual{width:100px;height:78px;border-radius:18px;background:rgba(255,255,255,.18);display:grid;place-items:center;color:#fff;font-size:43px;z-index:1}
.ny-banner-free{z-index:1;display:flex;justify-content:center}.ny-banner-free strong{display:grid;place-items:center;width:106px;height:64px;border-radius:28px;background:#ff4d67;color:#fff;font-size:27px;box-shadow:0 8px 22px rgba(255,70,100,.28);transform:rotate(-3deg)}
.ny-banner-copy{z-index:1}.ny-banner-copy span{font-size:9px;color:rgba(255,255,255,.84)}.ny-banner-copy h2{font-size:21px!important;margin:2px 0 4px!important;color:#fff!important}.ny-banner-copy p{font-size:10px!important;line-height:1.9!important;color:rgba(255,255,255,.9)!important;margin:0!important}
.ny-free-banner>a{z-index:1;background:#fff!important;color:#1267d9!important;border-radius:14px!important;padding:13px 18px!important;box-shadow:0 8px 20px rgba(0,0,0,.08)!important;white-space:nowrap}

@media(max-width:900px){
  .ny-hero-inner{min-height:470px}.ny-hero-copy{width:54%}.ny-hero-search{grid-template-columns:1.3fr 1fr auto;width:calc(100% - 30px)!important}.ny-hero-search .search-field:nth-of-type(3){display:none}
  .ny-free-banner{grid-template-columns:90px 110px 1fr}.ny-banner-visual{width:78px;height:64px}.ny-banner-free strong{width:86px;height:55px;font-size:22px}.ny-free-banner>a{grid-column:3;justify-self:start;margin-top:8px}
}
@media(max-width:650px){
  .ny-hero-reference{min-height:500px}.ny-hero-bg{background-position:26% center}.ny-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,rgba(244,250,255,.48) 38%,rgba(255,255,255,.96) 62%,#f7fbff 100%)}
  .ny-hero-inner{min-height:500px;padding:28px 14px 90px!important;justify-content:flex-start}.ny-hero-copy{width:100%;text-align:center;padding-top:5px}.ny-hero-copy p{margin:0 auto!important;font-size:12px!important}.ny-hero-copy h1{font-size:36px!important}.ny-hero-search{bottom:13px;width:calc(100% - 24px)!important;display:flex!important;flex-direction:column!important;gap:2px!important;padding:7px!important;border-radius:18px!important}.ny-hero-search .search-field{width:100%;height:45px;border-left:0!important;border-bottom:1px solid #edf1f6;padding:0 10px}.ny-hero-search .search-field:last-of-type{border-bottom:0}.ny-hero-search .btn-search{width:100%;height:44px!important}.ny-hero-search .field-content small{font-size:8px}.ny-hero-search input,.ny-hero-search select,.ny-hero-search .search-placeholder{font-size:10px!important}
  #bookingModal .modal-box{padding:24px 15px!important}.modal-title{padding-left:38px}
  #bookingModal form{display:block}.#bookingModal .form-group{margin-bottom:12px}
  #bookingModal .time-slots-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px;gap:8px}.#bookingModal .time-slot{min-height:40px!important;font-size:11px!important}
  .ny-free-banner{display:grid!important;grid-template-columns:1fr 1fr!important;text-align:center;gap:8px;padding:18px!important}.ny-banner-visual{display:none}.ny-banner-free{grid-column:1}.ny-banner-copy{grid-column:2}.ny-banner-copy h2{font-size:16px!important}.ny-banner-copy p{font-size:8px!important}.ny-free-banner>a{grid-column:1/-1!important;justify-self:stretch!important;margin-top:5px}
}
@media(max-width:400px){#bookingModal .time-slots-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =========================================================
   نوبت‌یار — اصلاح نهایی صفحه اصلی بر اساس طرح تأییدشده
   ========================================================= */
header{min-height:72px!important}
.nav-container{max-width:1320px!important;padding:10px 30px!important;min-height:72px!important}
.logo{order:3!important;font-size:24px!important}
.nav-links{order:2!important;flex:1;justify-content:center;gap:4px!important}
.nav-links a{font-size:13px!important;padding:10px 14px!important;color:#334b68!important}
.nav-links a.active{color:#1769e8!important;background:#f2f7ff!important}
.ny-header-actions{order:1;display:flex;align-items:center;gap:9px;direction:rtl}
.ny-city-pill,.ny-login-pill{display:inline-flex;align-items:center;gap:7px;text-decoration:none!important;border:1px solid #dce8f5;background:#fff;border-radius:999px;padding:9px 14px;color:#28517e!important;font-size:11px;font-weight:800;box-shadow:0 5px 18px rgba(30,80,140,.05)}
.ny-city-pill i,.ny-login-pill i{color:#1769e8}.ny-login-pill{background:#f7fbff;border-color:#cfe0f3}

.ny-hero-reference{min-height:430px!important;border-radius:0 0 30px 30px!important;background:#edf8ff!important}
.ny-hero-bg{background-image:url('hero-medical-bg-clean.jpg')!important;background-size:cover!important;background-position:left center!important;filter:none!important}
.ny-hero-overlay{background:linear-gradient(90deg,rgba(239,249,255,.02) 0%,rgba(240,249,255,.06) 47%,rgba(255,255,255,.86) 72%,rgba(255,255,255,.98) 100%)!important}
.ny-hero-inner{width:min(1320px,100%)!important;min-height:430px!important;padding:40px 34px 84px!important}
.ny-hero-copy{position:absolute!important;right:5%!important;top:72px!important;width:min(470px,38%)!important;margin:0!important;text-align:right!important}
.ny-hero-copy h1{font-size:clamp(38px,4vw,56px)!important;line-height:1.45!important;margin:14px 0 9px!important;color:#103b78!important;text-shadow:0 2px 18px rgba(255,255,255,.7)}
.ny-hero-copy p{font-size:14px!important;max-width:430px!important;line-height:2.15!important;color:#345477!important}
.ny-hero-mini{font-size:10px!important}
.ny-hero-search{bottom:18px!important;width:min(1080px,calc(100% - 90px))!important}
.home-content{margin:-32px auto 0!important;padding:0 24px!important}
.category-panel{padding:22px 24px 25px!important;border-radius:25px!important}
.category-panel .section-heading{margin-bottom:17px!important}
.category-panel .section-heading h2{font-size:21px!important}
.category-panel .ny-category-strip{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:11px!important}
.ny-category-item{min-height:112px!important;padding:14px 8px!important;background:#f9fcff!important;border:1px solid #e5edf6!important;border-radius:18px!important;justify-content:center!important;box-shadow:0 5px 16px rgba(25,65,120,.035)}
.ny-category-item i{width:47px!important;height:47px!important;border-radius:15px!important;font-size:19px!important;background:#eef6ff!important}
.ny-category-item span{font-size:13px!important;color:#173e70!important}
.ny-category-item small{font-size:9px;color:#8293a9;line-height:1.6;text-align:center;white-space:normal}
.ny-category-item:hover{transform:translateY(-3px)!important;box-shadow:0 12px 25px rgba(23,105,232,.09)!important}
.ny-all-services{background:linear-gradient(180deg,#f8fbff,#f1f7ff)!important}
.ny-home-stats{margin-top:14px!important;grid-template-columns:repeat(3,1fr)!important}
.ny-stat{min-height:72px!important;padding:15px 18px!important}
.provider-section{margin-top:42px!important}
.provider-heading h2{font-size:21px!important}
.grid-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important}
.doc-card{min-height:330px!important}
.how-section{margin-top:58px!important}
.how-grid{gap:14px!important}
.how-card{min-height:165px!important}
.provider-banner{margin-top:28px!important;min-height:112px!important}

/* Horizontal time buttons in booking */
#bookingModal .time-slots-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;max-height:235px!important;padding:3px!important}
#bookingModal .time-slot{min-height:43px!important;font-size:12px!important}

@media(max-width:1100px){
  .nav-links a{padding:9px 9px!important;font-size:11px!important}
  .ny-hero-copy{right:4%!important;width:42%!important}.ny-hero-copy h1{font-size:43px!important}
  .category-panel .ny-category-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:800px){
  .nav-container{padding:10px 15px!important;flex-wrap:wrap;min-height:auto!important}.logo{order:1!important}.ny-header-actions{order:2!important}.nav-links{order:3!important;flex-basis:100%;justify-content:center;overflow:auto;flex-wrap:nowrap}.nav-links a{font-size:10px!important;white-space:nowrap}
  .ny-hero-reference,.ny-hero-inner{min-height:560px!important}.ny-hero-copy{right:20px!important;left:20px!important;width:auto!important;top:34px!important;text-align:center!important}.ny-hero-copy h1{font-size:39px!important}.ny-hero-copy p{margin:0 auto!important}.ny-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(244,250,255,.25) 32%,rgba(255,255,255,.94) 59%,#f7fbff 100%)!important}.ny-hero-bg{background-position:28% top!important}.ny-hero-search{width:calc(100% - 28px)!important;bottom:12px!important}
  .category-panel .ny-category-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ny-home-stats{grid-template-columns:1fr!important}.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .ny-city-pill span{display:none}.ny-city-pill{padding:10px 12px}.ny-login-pill{padding:10px 12px}.logo{font-size:20px!important}.nav-links{justify-content:flex-start}
  .ny-hero-reference,.ny-hero-inner{min-height:570px!important}.ny-hero-copy h1{font-size:34px!important}.ny-hero-copy p{font-size:11px!important}.home-content{padding:0 12px!important;margin-top:-24px!important}.category-panel{padding:16px!important}.category-panel .ny-category-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ny-category-item{min-height:100px!important}.grid-cards{grid-template-columns:1fr!important}
  #bookingModal .time-slots-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:380px){#bookingModal .time-slots-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}


/* =========================================================
   نوبت‌یار — اصلاح فقط کادر جستجوی صفحه اصلی
   کادر جستجو از روی بنر خارج شده و در فضای مستقل زیر بنر قرار می‌گیرد.
   هیچ تغییری در منطق رزرو/نوبت‌دهی ایجاد نمی‌کند.
   ========================================================= */
.ny-search-wrap{
  width:min(1080px,calc(100% - 48px));
  margin:24px auto 64px;
  position:relative;
  z-index:10;
}
.ny-search-wrap .ny-hero-search{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.7fr) minmax(160px,1fr) minmax(140px,.85fr) auto!important;
  gap:0!important;
  padding:8px!important;
  align-items:center!important;
  background:#fff!important;
  border:1px solid #dce8f5!important;
  border-radius:20px!important;
  box-shadow:0 14px 38px rgba(29,89,150,.12)!important;
  backdrop-filter:blur(14px);
}
.ny-search-wrap .ny-hero-search .search-field{
  min-width:0;
  height:56px!important;
  padding:0 14px!important;
  border-left:1px solid #edf1f6!important;
}
.ny-search-wrap .ny-hero-search .search-field:first-child{
  border-left:0!important;
}
.ny-search-wrap .ny-hero-search .field-content{
  min-width:0;
  overflow:hidden;
}
.ny-search-wrap .ny-hero-search input,
.ny-search-wrap .ny-hero-search select{
  width:100%!important;
  min-width:0!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ny-search-wrap .ny-hero-search .btn-search{
  height:50px!important;
  min-width:126px!important;
  margin:0!important;
  border-radius:15px!important;
}

@media(max-width:900px){
  .ny-search-wrap{
    width:calc(100% - 30px);
    margin:20px auto 52px;
  }
  .ny-search-wrap .ny-hero-search{
    grid-template-columns:minmax(0,1.4fr) minmax(150px,1fr) auto!important;
  }
  .ny-search-wrap .ny-hero-search .search-field:nth-of-type(3){
    display:none!important;
  }
}

@media(max-width:650px){
  .ny-search-wrap{
    width:calc(100% - 24px);
    margin:16px auto 40px;
  }
  .ny-search-wrap .ny-hero-search{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    padding:7px!important;
    border-radius:18px!important;
  }
  .ny-search-wrap .ny-hero-search .search-field{
    width:100%!important;
    height:45px!important;
    padding:0 10px!important;
    border-left:0!important;
    border-bottom:1px solid #edf1f6!important;
  }
  .ny-search-wrap .ny-hero-search .search-field:last-of-type{
    border-bottom:0!important;
  }
  .ny-search-wrap .ny-hero-search .btn-search{
    width:100%!important;
    height:44px!important;
  }

  /* =====================================================
   NOBATYAR - MOBILE / SPEED / UX
   PHASE 13
===================================================== */

html{
    overflow-x:hidden;
}

body{
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
}

img{
    max-width:100%;
    height:auto;
}

button,
a,
input,
select,
textarea{
    -webkit-tap-highlight-color:transparent;
}

button,
.btn,
.btn-login,
.btn-add,
.btn-records,
.btn-submit-modal,
.btn-search,
.btn-reserve{
    min-height:44px;
}

input,
select,
textarea{
    font-size:16px;
}

/* کارت‌های پزشک */

.doctor-card,
.provider-card,
.doctor-item{
    overflow:hidden;
}

.doctor-card img,
.provider-card img,
.doctor-item img{
    max-width:100%;
    height:auto;
    object-fit:cover;
}

/* جدول‌های بزرگ */

.table-responsive,
.table-wrap,
.table-container{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

/* فرم‌ها */

form{
    max-width:100%;
}

input,
select,
textarea{
    max-width:100%;
}

/* موبایل */

@media (max-width: 768px){

    .container,
    .main-container{
        width:100% !important;
        max-width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }

    h1{
        font-size:25px !important;
        line-height:1.5;
    }

    h2{
        font-size:21px !important;
    }

    h3{
        font-size:18px !important;
    }

    .nav-container{
        padding:10px 14px !important;
    }

    .nav-links{
        gap:6px !important;
        flex-wrap:wrap;
    }

    .nav-links a{
        font-size:12px !important;
        padding:7px 9px;
    }

    .card,
    .box,
    .section-box,
    .track-card,
    .receipt-card,
    .login-card,
    .login-box{
        border-radius:17px !important;
        padding:16px !important;
    }

    .grid,
    .cards-grid,
    .doctor-grid{
        grid-template-columns:1fr !important;
    }

    .form-row{
        grid-template-columns:1fr !important;
    }

    .actions,
    .button-group{
        flex-direction:column !important;
        width:100%;
    }

    .actions > *,
    .button-group > *{
        width:100% !important;
    }

    table{
        min-width:700px;
    }

}

/* موبایل خیلی کوچک */

@media (max-width: 480px){

    body{
        font-size:14px;
    }

    h1{
        font-size:22px !important;
    }

    h2{
        font-size:19px !important;
    }

    .logo{
        font-size:18px !important;
    }

    .btn,
    button,
    .btn-login,
    .btn-add,
    .btn-records,
    .btn-submit-modal,
    .btn-search,
    .btn-reserve{
        width:100%;
    }

}

/* جلوگیری از CLS در تصاویر */

img[width][height]{
    height:auto;
}

/* دسترسی بهتر برای کیبورد */

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:3px solid rgba(23,105,232,.35);
    outline-offset:2px;
}

/* کاهش انیمیشن برای کاربران حساس */

@media (prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }

}

}

/* =========================================================
   2026-10-05 — Mobile booking calendar viewport fix
   تقویم رزرو در موبایل همیشه کامل داخل صفحه نمایش داده شود.
   فقط روی موبایل اعمال می‌شود و نسخه دسکتاپ را تغییر نمی‌دهد.
   ========================================================= */
@media (max-width:650px){
  .datepicker-plot-area{
    position:fixed!important;
    top:50%!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:min(330px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 24px)!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    z-index:100001!important;
    box-sizing:border-box!important;
  }
  .datepicker-plot-area *{box-sizing:border-box!important}
}


/* 2026-10-05 v2 — override persian-datepicker mobile fullscreen height */
@media (max-width:650px){
  .datepicker-container.pwt-mobile-view .datepicker-plot-area{
    height:auto!important;
    min-height:0!important;
    bottom:auto!important;
  }
}
