/* Final shared layout rules. Loaded after legacy styles to prevent navbar overlap. */
body {
  padding-top: 82px !important;
}

/* Navbar must remain visible even when legacy float/height rules conflict. */
.main-header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 74px !important;
  min-height: 74px !important;
  z-index: 10050 !important;
}

.main-header > .navbar,
nav.navbar.navbar-static-top {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 74px !important;
  z-index: 10050 !important;
}

.content-wrapper {
  padding-top: 18px !important;
}

@media (max-width: 767px) {
  body {
    padding-top: 66px !important;
  }

  .content-wrapper {
    padding-top: 12px !important;
  }

  .main-header,
  .main-header > .navbar,
  nav.navbar.navbar-static-top {
    height: 58px !important;
    min-height: 58px !important;
  }

  .content > .row {
    display: flex !important;
    flex-direction: column !important;
  }

  .content > .row > .site-sidebar-column {
    order: 99 !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin-top: 22px !important;
  }

  .content > .row > :not(.site-sidebar-column) {
    order: 1;
  }
}

/* Minimal login/register prompt shared by class-role dialogs. */
.js-class-role-alert.alert-warning {
  margin-bottom: 12px !important;
  padding: 13px 14px !important;
  color: #28483a !important;
  background: #f7faf8 !important;
  border: 1px solid #d8e7df !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  text-align: center !important;
}

.js-role-auth-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.role-auth-link {
  min-width: 88px;
  padding: 7px 14px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center;
  text-decoration: none !important;
}

.role-auth-login {
  color: #fff !important;
  background: #11683c !important;
  border: 1px solid #11683c !important;
}

.role-auth-signup {
  color: #11683c !important;
  background: #fff !important;
  border: 1px solid #b9d4c5 !important;
}

.btn-bale.btn-social-icon {
  width: 35px !important;
  min-width: 35px !important;
  max-width: 35px !important;
  height: 35px !important;
  padding: 5px !important;
  overflow: hidden !important;
}

.btn-bale.btn-social-icon img {
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  max-width: 25px !important;
  object-fit: contain !important;
}
/* کارت مرتب معلم */
#teacherList .teacher-card{display:grid!important;grid-template-columns:140px minmax(0,1fr)!important;gap:18px!important;min-height:245px!important;padding:22px!important;overflow:visible!important;position:relative!important}
#teacherList .teacher-photo{float:none!important;width:130px!important;height:130px!important;margin:0!important;position:relative!important;align-self:start!important}
#teacherList .teacher-photo>img{width:130px!important;height:130px!important;border-radius:18px!important;object-fit:cover!important}
#teacherList .like-container{top:auto!important;right:auto!important;left:50%!important;bottom:-17px!important;transform:translateX(-50%)!important;z-index:3!important}
#teacherList .like-btn{padding:5px 11px!important;min-width:64px!important;justify-content:center!important}
#teacherList .teacher-info{min-width:0!important;display:flex!important;flex-direction:column!important}
#teacherList .teacher-name{font-size:18px!important;padding-left:75px!important;line-height:1.7!important}
#teacherList .teacher-subjects{font-size:14px!important;line-height:1.9!important;max-height:82px!important;overflow:auto!important}
#teacherList .teacher-info>div:last-of-type{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:end!important;margin-top:auto!important}
#teacherList .action-buttons{position:static!important;display:block!important;min-width:175px!important}
#teacherList .btn-custom-teacher{position:static!important;width:100%!important;min-height:46px!important;padding:9px 13px!important;font-size:14px!important;line-height:1.7!important;white-space:normal!important;margin:0!important}

/* Teacher cards: reserve a real footer row so actions never cover price/city. */
#teacherList .teacher-card-footer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(165px,210px)!important;gap:14px!important;align-items:end!important;border-top:1px solid #edf2ef!important;padding-top:14px!important;margin-top:14px!important}
#teacherList .teacher-meta{min-width:0!important;line-height:1.9!important}
#teacherList .teacher-price{color:#173b2b!important;font-weight:700!important;white-space:normal!important}
#teacherList .action-buttons{position:static!important;transform:none!important;width:100%!important;min-width:0!important;margin:0!important}
@media(max-width:700px){#teacherList .teacher-card-footer{grid-template-columns:1fr!important}#teacherList .teacher-photo{float:none!important;margin:0 auto 15px!important}#teacherList .teacher-info{overflow:visible!important}}

/* Navbar live search: preserve the original animated focus and suggestion menu. */
.main-header .custom-search-group{width:260px!important;transition:width .32s cubic-bezier(.34,1.56,.64,1),box-shadow .2s!important;position:relative!important}
.main-header .custom-search-group:focus-within{width:350px!important;filter:drop-shadow(0 7px 13px rgba(0,85,34,.18))}
.main-header .custom-search-group>.nik-live-search{display:table-cell!important;width:100%!important;position:relative!important;vertical-align:middle!important}
.main-header .nik-live-search-results{right:0!important;left:auto!important;width:390px!important;z-index:12000!important;text-align:right!important}
.main-header .nik-live-search-results.is-open{display:block!important;animation:nikSearchOpen .18s ease-out}
@keyframes nikSearchOpen{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:767px){.main-header .custom-search-group,.main-header .custom-search-group:focus-within{width:100%!important}.mobile-navbar-form .nik-live-search{width:100%!important}.mobile-navbar-form .nik-live-search-results{position:fixed!important;right:12px!important;left:12px!important;top:70px!important;width:auto!important}}
@media(max-width:800px){
  .mobile-navbar-logo .mobile-cart-always{position:relative;display:grid!important;place-items:center;flex:0 0 40px;width:40px;height:40px;margin:0 4px!important;border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#fff!important;background:#075c30;text-decoration:none!important}
  .mobile-cart-always .fa-shopping-cart{font-size:18px}
  .mobile-cart-always .cart-count{position:absolute;top:-5px;left:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:1px 5px;border-radius:999px;background:#18b968!important;color:#fff!important;font:700 10px Tahoma,Arial}
}
@media(max-width:767px){
  .video-list{gap:18px!important}
  .video-list .video-card{margin:0 0 16px!important}
}
@media(max-width:480px){
  #signupModal.show{padding:8px!important;overflow-x:hidden!important}
  #signupModal .modal-content{width:calc(100vw - 16px)!important;max-width:420px!important;min-width:0!important;margin:auto!important;padding:18px 14px!important;box-sizing:border-box!important;overflow-x:hidden!important}
  #signup-form-container,.register-box-body,#signupForm,#signupForm .form-group,#signupForm .input-group{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  #signupForm .input-group .form-control{min-width:0!important;width:100%!important;box-sizing:border-box!important}
  #signupForm .input-group-addon{flex:0 0 50px!important;width:50px!important;box-sizing:border-box!important}
  #signupForm .row{margin-right:0!important;margin-left:0!important}
  #signupForm .row>[class*="col-"]{width:100%!important;padding:0!important}
}
@media(max-width:600px){#teacherList .teacher-card{grid-template-columns:105px minmax(0,1fr)!important;padding:16px!important;gap:12px!important}#teacherList .teacher-photo,#teacherList .teacher-photo>img{width:100px!important;height:100px!important}#teacherList .teacher-name{font-size:16px!important;padding-left:0!important}#teacherList .teacher-info>div:last-of-type{grid-template-columns:1fr!important}#teacherList .action-buttons{min-width:0!important}}
