/* PDP Junior — mobile responsive hardening pass
   Adds final mobile overrides without changing desktop layout. */

*,*::before,*::after{box-sizing:border-box;}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  min-width:320px;
}
body{
  margin:0;
  min-width:320px;
  overflow-x:hidden;
}
img,svg,video,canvas,iframe{
  max-width:100%;
}
img,video,canvas,iframe{
  height:auto;
}
button,a,[role="button"],input,select,textarea{
  -webkit-tap-highlight-color:transparent;
}
button,a,[role="button"]{
  touch-action:manipulation;
}
input,select,textarea{
  max-width:100%;
}


body:not([class]){
  padding:16px;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:#002930;
  background:#f4fbfc;
}
body:not([class]) a{
  color:#007985;
  font-weight:800;
}

@supports (overflow: clip){
  body{overflow-x:clip;}
}

/* ---------- Public pages / fixed navbar ---------- */
@media (max-width: 820px){
  :root{--nh:68px;}
  nav{
    height:calc(var(--nh) + env(safe-area-inset-top,0px));
    padding:env(safe-area-inset-top,0px) 14px 0;
    gap:8px;
  }
  nav .logo{
    min-width:0!important;
    flex:1 1 auto;
    max-width:calc(100vw - 178px);
    overflow:hidden;
    gap:8px;
  }
  nav .logo-img{
    flex:0 0 auto;
    width:clamp(92px,28vw,112px)!important;
    max-width:clamp(92px,28vw,112px)!important;
    height:auto!important;
    object-fit:contain;
  }
  nav .logo-text{
    min-width:0;
    overflow:hidden;
  }
  nav .logo-text strong,
  nav .logo-text span{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  nav .nav-acts{
    flex:0 0 auto;
    margin-left:auto;
    gap:6px;
  }
  nav .kt-global-controls[data-context="public"]{
    flex:0 0 auto;
    gap:6px;
  }
  .burger{
    display:flex;
    flex:0 0 auto;
    width:46px;
    height:46px;
    border-radius:16px;
  }
  .mnav{
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    padding:calc(88px + env(safe-area-inset-top,0px)) 18px max(22px,env(safe-area-inset-bottom,0px));
    gap:12px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .mnav-close{
    position:absolute;
    top:calc(16px + env(safe-area-inset-top,0px));
    right:16px;
    width:46px;
    height:46px;
    border-radius:16px;
  }
  .mnav a,
  .mnav button{
    width:min(100%,380px);
    margin-left:auto;
    margin-right:auto;
  }
  .mnav a{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border:1px solid rgba(0,224,239,.18);
    border-radius:18px;
    background:rgba(217,251,253,.58);
    font-size:clamp(1.05rem,5vw,1.35rem);
    line-height:1.2;
    text-align:center;
  }
  .mnav-auth{
    width:min(100%,380px);
    margin-left:auto;
    margin-right:auto;
    display:grid;
    gap:10px;
  }
}

@media (max-width: 520px){
  nav{padding-left:12px;padding-right:12px;}
  nav .logo{max-width:calc(100vw - 154px);}
  nav .logo-img{
    width:clamp(82px,30vw,100px)!important;
    max-width:clamp(82px,30vw,100px)!important;
  }
  nav .logo-text{display:none;}
  .kt-global-controls[data-context="public"] .kt-lang-btn{display:none!important;}
  .kt-global-controls[data-context="public"] .kt-global-btn{width:44px!important;height:44px!important;border-radius:15px!important;}
  .burger{width:44px;height:44px;}
}

@media (max-width: 360px){
  nav .logo{max-width:calc(100vw - 138px);}
  nav .logo-img{width:78px!important;max-width:78px!important;}
  .kt-global-controls[data-context="public"]{display:none!important;}
}

/* ---------- Public hero, grids and forms ---------- */
@media (max-width: 760px){
  .hero{
    min-height:auto;
    padding:calc(var(--nh) + 20px) 4% 40px!important;
    align-items:stretch;
  }
  .hero-shell{
    width:100%;
    gap:20px!important;
  }
  .hero .hcontent{
    width:100%;
    text-align:left!important;
  }
  .hero .htitle,
  .htitle{
    font-size:clamp(2rem,11vw,3rem)!important;
    line-height:1.06!important;
    letter-spacing:-.055em;
  }
  .hero .hsub,
  .hsub{
    max-width:100%!important;
    margin:0 0 24px!important;
    font-size:1rem!important;
    line-height:1.65!important;
  }
  .hero-rocket-inline{display:none!important;}
  .hctas{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px!important;
    margin-bottom:24px!important;
  }
  .hbtn{
    width:100%;
    min-height:52px;
    justify-content:center;
    padding:13px 16px!important;
  }
  .hcards{
    display:grid!important;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px!important;
  }
  .hero .hcard,
  .hcard{
    width:100%!important;
    min-width:0!important;
    padding:12px!important;
    border-radius:18px!important;
  }
  .hero-lead-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 18px!important;
    border-radius:24px!important;
  }
  .hero-lead-form input,
  .hero-phone-field input,
  .fg input,.fg textarea,.fg select,
  .form-inp,.auth-input,
  input,select,textarea{
    font-size:16px!important;
  }
  .home-content-section,
  .home-why-wrap,
  .home-stats-wrap,
  .contact-hero-section,
  .auth-page{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .sgrid,.wgrid,.cgrid,.bgrid,.ggrid,.tgrid,.contact-layout,.contact-info-grid,
  .auth-shell,.auth-shell.reverse{
    grid-template-columns:1fr!important;
  }
  .shdr,.shdr.c{text-align:left!important;margin-bottom:28px!important;}
  .shdr.c .ssub{margin-left:0!important;margin-right:0!important;}
  .stitle{font-size:clamp(1.65rem,8vw,2.25rem)!important;}
  .modal,.tmod{width:calc(100vw - 28px)!important;max-width:none!important;padding:24px 18px!important;border-radius:24px!important;}
  .mov{padding:12px!important;}
}

@media (max-width: 430px){
  .hcards{grid-template-columns:1fr!important;}
  .hero .htitle,.htitle{font-size:clamp(1.9rem,12vw,2.65rem)!important;}
  .ccard,.wcard,.sitem,.bcard,.contact-panel,.contact-card,.contact-mini,.modern-auth,.auth-visual{
    border-radius:22px!important;
  }
  .cthumb{height:142px!important;}
}

/* ---------- Auth flow pages ---------- */
@media (max-width: 640px){
  .auth-flow-body .auth-main{
    min-height:100dvh;
    /* Keep clearance under floating lang/theme icons */
    padding:84px 14px 20px!important;
    align-items:start;
  }
  .auth-flow-body .auth-layout{width:100%;}
  .auth-flow-body .auth-card{
    border-radius:24px!important;
    padding:22px 16px!important;
  }
  .auth-flow-body .auth-input-wrap{
    min-height:54px!important;
  }
  .auth-flow-body .auth-button{
    min-height:54px;
  }
}

/* ---------- Student portal topbar ---------- */
@media (max-width: 900px){
  .sp-topbar{
    position:sticky;
    top:0;
    min-height:68px!important;
    height:auto!important;
    padding:10px 12px!important;
    gap:8px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  .sp-menu-toggle{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:16px!important;
  }
  .sp-topbar .topbar-title,
  .sp-topbar .lesson-topbar-title{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100vw - 232px);
    display:block!important;
    overflow:hidden!important;
  }
  .sp-topbar .topbar-title h1,
  .sp-topbar .lesson-topbar-title h1,
  .sp-topbar h1{
    display:block!important;
    margin:0!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:clamp(.96rem,4vw,1.08rem)!important;
    line-height:1.14!important;
  }
  .sp-topbar .topbar-title p,
  .sp-topbar .lesson-topbar-title p,
  .sp-topbar .lesson-topbar-title small{
    display:none!important;
  }
  .sp-topbar .tb-right{
    flex:0 0 auto!important;
    margin-left:auto!important;
    gap:6px!important;
    max-width:max-content;
  }
  .sp-topbar .kt-global-controls,
  .portal-exact-topbar .sp-topbar .kt-global-controls{
    gap:6px!important;
    flex:0 0 auto!important;
  }
  .sp-topbar .tb-icon-btn,
  html body.portal-exact-topbar .sp-topbar .tb-icon-btn,
  html body.portal-exact-topbar .sp-topbar .tb-global-control,
  .portal-exact-topbar .sp-topbar .kt-global-btn{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    border-radius:15px!important;
  }
  .sp-topbar .tb-user,
  html body.portal-exact-topbar .sp-topbar .tb-user{
    min-width:44px!important;
    width:44px!important;
    min-height:44px!important;
    padding:4px!important;
    border-radius:15px!important;
  }
  .sp-content{
    padding-left:14px!important;
    padding-right:14px!important;
    padding-bottom:90px!important;
  }
  .sp-sidebar{
    width:min(86vw,306px)!important;
    max-width:306px;
  }
}

@media (max-width: 470px){
  .sp-topbar .topbar-title,
  .sp-topbar .lesson-topbar-title{
    max-width:calc(100vw - 214px);
  }
  .sp-topbar .tb-global-language,
  html body.portal-exact-topbar .sp-topbar .tb-global-language,
  .sp-topbar .kt-lang-btn{
    display:none!important;
  }
}

@media (max-width: 370px){
  .sp-topbar .topbar-title,
  .sp-topbar .lesson-topbar-title{
    max-width:calc(100vw - 188px);
  }
  .sp-topbar .tb-icon-btn,
  html body.portal-exact-topbar .sp-topbar .tb-icon-btn,
  html body.portal-exact-topbar .sp-topbar .tb-global-control,
  .portal-exact-topbar .sp-topbar .kt-global-btn{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    border-radius:14px!important;
  }
  .sp-topbar .tb-user,
  html body.portal-exact-topbar .sp-topbar .tb-user,
  .sp-menu-toggle{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
  }
}

/* ---------- Student portal content ---------- */
@media (max-width: 680px){
  .dashboard-page .dashboard-hero,
  .lessons-data-page .lesson-course-summary,
  .lesson-learning-shell,
  .profile-hero-card,
  .profile-achievements-card,
  .sp-card,
  .pay-card,
  .shop-top-banner,
  .dashboard-panel{
    border-radius:22px!important;
  }
  .dashboard-page .dashboard-hero{
    padding:24px 18px!important;
  }
  .dashboard-page .dashboard-hero h2{
    font-size:clamp(1.95rem,8vw,2.35rem)!important;
  }
  .dashboard-page .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .profile-hero-actions,
  .pay-actions,
  .lesson-actions,
  .lesson-card-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .dashboard-page .hero-primary-action,
  .dashboard-page .hero-secondary-action{
    width:100%!important;
    min-height:40px;
  }
  .profile-action-button,
  .pay-submit,
  .lesson-action-btn,
  .lesson-start-btn{
    width:100%!important;
    min-height:48px;
  }
  .profile-stat-list,
  .profile-hero-actions,
  .pay-method-grid,
  .pay-services-grid,
  .mrc-grid,
  .mrc-badges3{
    grid-template-columns:1fr!important;
  }
  .achieve-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .achieve-item{min-width:0!important;}
  .shop-grid{
    grid-template-columns:1fr!important;
  }
}

@media (max-width: 430px){
  .profile-hero-card,
  .profile-achievements-card,
  .sp-card,
  .pay-card,
  .dashboard-panel{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .achieve-grid{grid-template-columns:1fr 1fr!important;}
  .profile-display-name{font-size:clamp(1.45rem,8vw,2rem)!important;}
  .profile-display-meta{font-size:.9rem!important;}
  .lesson-course-tools,
  .lesson-search-wrap{width:100%!important;}
}

/* ---------- Floating assistant / chat ---------- */
@media (max-width: 700px){
  #fab,
  #fab.pdp-robot-fab{
    width:60px!important;
    height:60px!important;
    right:max(12px,env(safe-area-inset-right,0px))!important;
    bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
  }
  #chatwin{
    left:12px!important;
    right:12px!important;
    bottom:84px!important;
    width:auto!important;
    height:min(520px,calc(100dvh - 108px))!important;
    max-height:calc(100dvh - 108px)!important;
    border-radius:22px!important;
  }
  .cinp{padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important;}
}

/* ---------- Final public mobile navbar: auth + language + mode on one line ---------- */
@media (max-width: 820px){
  body{padding-top:0!important;}
  nav{
    justify-content:flex-start!important;
    padding-left:max(10px,env(safe-area-inset-left,0px))!important;
    padding-right:max(10px,env(safe-area-inset-right,0px))!important;
    gap:8px!important;
    min-width:320px;
  }
  nav .logo{
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:clamp(100px,26vw,128px)!important;
    margin-right:auto!important;
    overflow:hidden!important;
  }
  nav .logo-img{
    width:clamp(96px,24vw,118px)!important;
    max-width:clamp(96px,24vw,118px)!important;
    height:auto!important;
    max-height:58px!important;
    object-fit:contain!important;
  }
  nav .logo-text{display:none!important;}
  nav .nav-links{display:none!important;}
  nav .nav-acts{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:0 0 auto!important;
    min-width:0!important;
    margin-left:0!important;
    gap:5px!important;
  }
  nav .nav-acts > .btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 12px!important;
    border-radius:15px!important;
    font-size:.82rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    letter-spacing:-.015em!important;
  }
  nav .nav-acts > .btn-o{
    order:1!important;
    border-width:1.5px!important;
    background:rgba(255,255,255,.94)!important;
    border-color:rgba(0,224,239,.42)!important;
    color:#00323a!important;
    box-shadow:0 8px 18px rgba(0,41,48,.06)!important;
  }
  nav .nav-acts > .btn-f{
    order:2!important;
    color:#fff!important;
    background:linear-gradient(135deg,#002930,#00a6b2 58%,#19cfdd)!important;
    box-shadow:0 10px 22px rgba(0,41,48,.16)!important;
  }
  nav .nav-acts .kt-global-controls[data-context="public"]{
    display:flex!important;
    order:3!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:5px!important;
    margin:0!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-lang-btn,
  nav .kt-global-controls[data-context="public"] .kt-theme-btn{
    display:grid!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-global-btn{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:15px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-lang-visual{
    width:36px!important;
    height:36px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-flag-orb{
    width:32px!important;
    height:32px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-theme-btn svg{
    width:23px!important;
    height:23px!important;
  }
  nav .nav-acts > .burger{
    order:4!important;
    display:flex!important;
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    border-radius:15px!important;
    margin:0!important;
  }
}

@media (max-width: 520px){
  nav{
    height:68px!important;
    padding-left:10px!important;
    padding-right:10px!important;
    gap:6px!important;
  }
  nav .logo{
    max-width:clamp(82px,23vw,102px)!important;
  }
  nav .logo-img{
    width:clamp(82px,23vw,100px)!important;
    max-width:clamp(82px,23vw,100px)!important;
  }
  nav .nav-acts{gap:4px!important;}
  nav .nav-acts > .btn{
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    font-size:0!important;
    overflow:hidden!important;
  }
  nav .nav-acts > .btn::before{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:100%;
    font-size:11.5px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
  }
  nav .nav-acts > .btn-o{
    width:50px!important;
    min-width:50px!important;
  }
  nav .nav-acts > .btn-o::before{content:"Kirish";}
  nav .nav-acts > .btn-f{
    width:64px!important;
    min-width:64px!important;
  }
  nav .nav-acts > .btn-f::before{content:"Ro‘yxat";}
  nav .kt-global-controls[data-context="public"]{display:flex!important;gap:4px!important;}
  nav .kt-global-controls[data-context="public"] .kt-lang-btn{display:grid!important;}
  nav .kt-global-controls[data-context="public"] .kt-global-btn{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:14px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-lang-visual{
    width:33px!important;
    height:33px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-flag-orb{
    width:29px!important;
    height:29px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-theme-btn svg{
    width:21px!important;
    height:21px!important;
  }
  nav .nav-acts > .burger{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
    border-radius:14px!important;
  }
  nav .burger span{width:18px!important;height:2.4px!important;}
}

@media (max-width: 360px){
  nav{
    height:64px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    gap:4px!important;
  }
  nav .logo{
    max-width:76px!important;
  }
  nav .logo-img{
    width:74px!important;
    max-width:74px!important;
  }
  nav .nav-acts{gap:2px!important;}
  nav .nav-acts > .btn{
    height:34px!important;
    min-height:34px!important;
    border-radius:12px!important;
  }
  nav .nav-acts > .btn-o{
    width:34px!important;
    min-width:34px!important;
  }
  nav .nav-acts > .btn-o::before{content:"Kir";font-size:10.5px!important;}
  nav .nav-acts > .btn-f{
    width:36px!important;
    min-width:36px!important;
  }
  nav .nav-acts > .btn-f::before{content:"Ro‘";font-size:10.5px!important;}
  nav .kt-global-controls[data-context="public"]{display:flex!important;gap:2px!important;}
  nav .kt-global-controls[data-context="public"] .kt-global-btn{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    border-radius:12px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-lang-visual{
    width:29px!important;
    height:29px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-flag-orb{
    width:25px!important;
    height:25px!important;
  }
  nav .kt-global-controls[data-context="public"] .kt-theme-btn svg{
    width:18px!important;
    height:18px!important;
  }
  nav .nav-acts > .burger{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
    border-radius:12px!important;
  }
  nav .burger span{width:16px!important;height:2.2px!important;}
}

/* === V2 MOBILE POLISH OVERRIDES === */
@media (max-width: 760px){
  /* Mobile menu cleanup */
  .mnav{
    align-items:center!important;
    padding:calc(94px + env(safe-area-inset-top,0px)) 16px max(22px,env(safe-area-inset-bottom,0px))!important;
    background:linear-gradient(180deg,#ffffff 0%,#f1fcfd 100%)!important;
  }
  .mnav-close{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:calc(16px + env(safe-area-inset-top,0px))!important;
    transform:translateX(-50%)!important;
    width:min(100%,340px)!important;
    height:58px!important;
    border-radius:22px!important;
    border:1px solid rgba(0,224,239,.20)!important;
    background:linear-gradient(135deg,#e8f8fb,#dff4f7)!important;
    box-shadow:0 12px 30px rgba(0,41,48,.08)!important;
    color:#002930!important;
    font-size:1.9rem!important;
    font-weight:900!important;
  }
  .mnav a,
  .mnav button{
    width:min(100%,360px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .mnav a{
    justify-content:flex-start!important;
    gap:12px!important;
    min-height:84px!important;
    padding:18px 24px!important;
    border-radius:24px!important;
    border:1px solid rgba(0,224,239,.30)!important;
    background:linear-gradient(180deg,rgba(225,250,252,.96),rgba(214,245,248,.94))!important;
    box-shadow:0 12px 30px rgba(0,41,48,.07)!important;
    font-size:1.05rem!important;
    font-weight:900!important;
    color:#17363d!important;
    text-align:left!important;
  }
  .mnav a:active{transform:scale(.995)!important;}
  .mnav .btn.btn-f{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:56px!important;
    border-radius:20px!important;
    margin-top:4px!important;
    box-shadow:0 14px 28px rgba(0,41,48,.14)!important;
  }
  .mnav-auth,
  .mnav-login,
  .mnav-register{display:none!important;}

  /* Stats section -> horizontal cards */
  .home-stats-wrap{padding-left:0!important;padding-right:0!important;}
  .home-stats-wrap .ssec{padding:24px 0 10px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;border:0!important;}
  .home-stats-wrap .shdr{padding:0 16px!important;margin-bottom:18px!important;}
  .home-stats-wrap .sgrid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(150px,78%)!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:4px 16px 12px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }
  .home-stats-wrap .sgrid::-webkit-scrollbar,
  .home-why-wrap .wgrid::-webkit-scrollbar,
  #courses .cgrid::-webkit-scrollbar,
  footer .fcol ul::-webkit-scrollbar{display:none!important;}
  .home-stats-wrap .sitem{
    scroll-snap-align:start!important;
    text-align:left!important;
    min-height:152px!important;
    padding:20px 18px!important;
    border-radius:24px!important;
    background:#fff!important;
    border:1px solid rgba(0,224,239,.18)!important;
    box-shadow:0 14px 34px rgba(0,41,48,.08)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
  }
  .home-stats-wrap .snum{font-size:2.45rem!important;line-height:1!important;margin-bottom:10px!important;}
  .home-stats-wrap .slbl{font-size:.82rem!important;line-height:1.45!important;text-transform:uppercase!important;letter-spacing:.03em!important;}

  /* Why us -> 2 cards in mobile viewport + scroll */
  .home-why-wrap{padding-left:0!important;padding-right:0!important;}
  .home-why-wrap .shdr{padding:0 16px!important;margin-bottom:18px!important;}
  .home-why-wrap .wgrid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:calc(50% - 10px)!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:4px 16px 12px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }
  .home-why-wrap .wcard{
    scroll-snap-align:start!important;
    min-width:0!important;
    min-height:300px!important;
    padding:18px 14px!important;
    border-radius:24px!important;
  }
  .home-why-wrap .wcard .wicon{
    width:72px!important;
    height:72px!important;
    margin:0 auto 16px!important;
    border-radius:24px!important;
    font-size:1.9rem!important;
  }
  .home-why-wrap .wcard h3{font-size:1rem!important;line-height:1.18!important;margin-bottom:10px!important;}
  .home-why-wrap .wcard p{font-size:.8rem!important;line-height:1.58!important;}

  /* Courses -> mobile carousel style */
  .home-courses-section{padding-left:0!important;padding-right:0!important;}
  .home-courses-section .shdr{padding:0 16px!important;margin-bottom:18px!important;}
  #courses .cgrid,
  .home-courses-section .cgrid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(86%,86%)!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:4px 16px 12px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }
  #courses .cgrid .ccard,
  .home-courses-section .cgrid .ccard{
    scroll-snap-align:start!important;
    min-width:0!important;
    border-radius:26px!important;
    overflow:hidden!important;
  }
  #courses .cgrid .cthumb,
  .home-courses-section .cgrid .cthumb{height:210px!important;}
  #courses .cgrid .cbody,
  .home-courses-section .cgrid .cbody{padding:18px 18px 14px!important;}
  #courses .cgrid .ctitle,
  .home-courses-section .cgrid .ctitle{font-size:1.12rem!important;}
  #courses .cgrid .cdesc,
  .home-courses-section .cgrid .cdesc{min-height:auto!important;font-size:.87rem!important;line-height:1.6!important;}
  #courses .cgrid .cfoot,
  .home-courses-section .cgrid .cfoot{padding:14px 18px 18px!important;}
  #courses .cgrid .cenroll,
  .home-courses-section .cgrid .cenroll{width:100%!important;justify-content:center!important;min-height:48px!important;}

  /* Footer -> stacked card layout for mobile */
  footer,
  #site-footer{
    margin-top:8px!important;
    padding:30px 16px calc(24px + env(safe-area-inset-bottom,0px))!important;
    background:linear-gradient(180deg,#002930 0%,#06353d 52%,#0b4148 100%)!important;
    border-radius:30px 30px 0 0!important;
  }
  #site-footer .fgrid,
  footer .fgrid{
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin-bottom:20px!important;
  }
  #site-footer .fbrand,
  footer .fbrand{
    padding:20px!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04))!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 18px 36px rgba(0,0,0,.18)!important;
  }
  #site-footer .footer-logo.footer-brand-lockup,
  footer .footer-logo.footer-brand-lockup{margin-bottom:14px!important;}
  #site-footer .footer-wordmark,
  footer .footer-wordmark{width:156px!important;}
  #site-footer .fbrand p,
  footer .fbrand p{
    max-width:none!important;
    margin-bottom:18px!important;
    color:rgba(255,255,255,.82)!important;
    font-size:.95rem!important;
    line-height:1.7!important;
  }
  #site-footer .fsocials,
  footer .fsocials{gap:10px!important;}
  #site-footer .sbtn,
  footer .sbtn{
    width:44px!important;
    height:44px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.14)!important;
  }
  #site-footer .fcol,
  footer .fcol{
    padding:18px 18px 16px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03))!important;
    border:1px solid rgba(255,255,255,.10)!important;
  }
  #site-footer .fcol h4,
  footer .fcol h4{margin-bottom:12px!important;font-size:1rem!important;color:#fff!important;}
  #site-footer .fcol ul,
  footer .fcol ul{gap:10px!important;}
  #site-footer .fcol ul li a,
  footer .fcol ul li a,
  #site-footer .fcol ul li span,
  footer .fcol ul li span{
    font-size:.94rem!important;
    line-height:1.6!important;
    color:rgba(255,255,255,.78)!important;
  }
  #site-footer .fbot,
  footer .fbot{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
    padding-top:16px!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
  }
  #site-footer .fbot p,
  footer .fbot p{
    color:rgba(255,255,255,.62)!important;
    font-size:.8rem!important;
    line-height:1.55!important;
  }
}

@media (max-width: 430px){
  .home-stats-wrap .sgrid{grid-auto-columns:minmax(148px,84%)!important;}
  .home-why-wrap .wgrid{grid-auto-columns:calc(50% - 8px)!important;gap:10px!important;}
  .home-why-wrap .wcard{padding:16px 12px!important;min-height:286px!important;}
  .home-why-wrap .wcard .wicon{width:64px!important;height:64px!important;border-radius:20px!important;font-size:1.7rem!important;}
  .home-why-wrap .wcard h3{font-size:.93rem!important;}
  .home-why-wrap .wcard p{font-size:.75rem!important;line-height:1.52!important;}
  #courses .cgrid,
  .home-courses-section .cgrid{grid-auto-columns:minmax(88%,88%)!important;}
  #courses .cgrid .cthumb,
  .home-courses-section .cgrid .cthumb{height:188px!important;}
}

@media (max-width: 360px){
  .mnav-close{width:min(100%,300px)!important;height:54px!important;border-radius:20px!important;}
  .mnav a{min-height:76px!important;padding:16px 18px!important;font-size:.98rem!important;}
  .home-stats-wrap .sgrid{grid-auto-columns:minmax(142px,88%)!important;}
  .home-why-wrap .wgrid{grid-auto-columns:calc(50% - 7px)!important;}
  .home-why-wrap .wcard{min-height:272px!important;}
  .home-why-wrap .wcard h3{font-size:.88rem!important;}
  .home-why-wrap .wcard p{font-size:.72rem!important;}
  #courses .cgrid,
  .home-courses-section .cgrid{grid-auto-columns:minmax(90%,90%)!important;}
  #site-footer .fbrand,
  footer .fbrand,
  #site-footer .fcol,
  footer .fcol{padding:16px!important;}
}

/* === V48 MOBILE SPACING + FOOTER LAYOUT === */
@media (max-width: 760px){
  /* Reduce large gaps between home sections */
  .home-why-wrap .wgrid{margin-bottom:20px!important;}
  .home-courses-section .cgrid,
  #courses .cgrid{margin-bottom:10px!important;}

  .home-content-section,
  .home-mentors-section,
  .home-portfolio-section,
  .home-branches-section{
    padding-top:30px!important;
    padding-bottom:28px!important;
  }
  .home-courses-section{padding-top:24px!important;}
  .home-branches-section{padding-bottom:20px!important;}

  .home-content-section .shdr,
  .home-why-wrap .shdr,
  .home-stats-wrap .shdr,
  .portfolio-section-head,
  .branch-section-head{
    margin-bottom:14px!important;
  }

  #teachers .showcase-viewport,
  .portfolio-carousel .showcase-viewport,
  .branch-carousel .showcase-viewport{
    padding-top:8px!important;
    padding-bottom:14px!important;
  }
  .branch-carousel .showcase-viewport{padding-top:6px!important;}
  .showcase-track{padding-bottom:10px!important;}

  /* Footer mobile layout: company left, courses + contact right */
  #site-footer,
  footer{
    margin-top:0!important;
    padding-top:22px!important;
  }
  #site-footer .fgrid,
  footer .fgrid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
  }
  #site-footer .fbrand,
  footer .fbrand{
    grid-column:1 / -1!important;
    grid-row:1!important;
  }
  #site-footer .fgrid > .fcol:nth-child(3),
  footer .fgrid > .fcol:nth-child(3){
    grid-column:1!important;
    grid-row:2 / span 2!important;
  }
  #site-footer .fgrid > .fcol:nth-child(2),
  footer .fgrid > .fcol:nth-child(2){
    grid-column:2!important;
    grid-row:2!important;
  }
  #site-footer .fgrid > .fcol:nth-child(4),
  footer .fgrid > .fcol:nth-child(4){
    grid-column:2!important;
    grid-row:3!important;
  }
  #site-footer .fbrand,
  footer .fbrand,
  #site-footer .fcol,
  footer .fcol{
    padding:16px!important;
  }
  #site-footer .fcol ul,
  footer .fcol ul{gap:8px!important;}
}

@media (max-width: 420px){
  .home-content-section,
  .home-mentors-section,
  .home-portfolio-section,
  .home-branches-section{
    padding-top:26px!important;
    padding-bottom:24px!important;
  }
  .home-courses-section{padding-top:20px!important;}
  .home-why-wrap .wgrid{margin-bottom:16px!important;}
  #site-footer .fgrid,
  footer .fgrid{gap:10px!important;}
  #site-footer .fbrand,
  footer .fbrand,
  #site-footer .fcol,
  footer .fcol{padding:14px!important;}
}

/* === V49 FOOTER BALANCE + COURSE ARROWS + INLINE STATS === */
@media (max-width: 760px){
  /* Footer balance */
  #site-footer .fgrid,
  footer .fgrid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  #site-footer .fgrid > .fcol:nth-child(3),
  footer .fgrid > .fcol:nth-child(3){
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    min-height:100%!important;
  }
  #site-footer .fgrid > .fcol:nth-child(2),
  footer .fgrid > .fcol:nth-child(2),
  #site-footer .fgrid > .fcol:nth-child(4),
  footer .fgrid > .fcol:nth-child(4){
    padding:14px 16px!important;
  }
  #site-footer .fgrid > .fcol:nth-child(2),
  footer .fgrid > .fcol:nth-child(2){margin-bottom:10px!important;}
  #site-footer .fgrid > .fcol:nth-child(4),
  footer .fgrid > .fcol:nth-child(4){margin-top:0!important;}

  /* Courses mobile arrows */
  .course-mobile-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    padding:4px 16px 4px!important;
  }
  .course-mobile-arrow{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    display:inline-flex!important;
  }
  .course-mobile-arrow[disabled]{opacity:.45!important;cursor:default!important;}

  /* Statistika: mobil ekranda 2x2 to‘r — 4 ta ustunda matn bo‘g‘inlarga bo‘linib ketardi */
  .home-stats-wrap .sgrid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:12px!important;
    overflow:visible!important;
    padding:4px 16px 8px!important;
    scroll-snap-type:none!important;
  }
  .home-stats-wrap .sitem{
    min-height:118px!important;
    padding:18px 16px!important;
    border-radius:22px!important;
  }
  .home-stats-wrap .snum{
    font-size:2rem!important;
    line-height:1!important;
    margin-bottom:8px!important;
    letter-spacing:-.03em!important;
  }
  .home-stats-wrap .slbl{
    font-size:.72rem!important;
    line-height:1.4!important;
    letter-spacing:.04em!important;
    overflow-wrap:anywhere!important;
  }
}

@media (min-width: 761px){
  .course-mobile-controls{display:none!important;}
}

@media (max-width: 430px){
  .home-stats-wrap .sgrid{gap:7px!important;padding:4px 10px 8px!important;}
  .home-stats-wrap .sitem{min-height:116px!important;padding:12px 8px!important;}
  .home-stats-wrap .snum{font-size:1.55rem!important;}
  .home-stats-wrap .slbl{font-size:.58rem!important;line-height:1.34!important;}
}

@media (max-width: 360px){
  .home-stats-wrap .sgrid{gap:6px!important;padding:4px 8px 8px!important;}
  .home-stats-wrap .sitem{min-height:108px!important;padding:10px 7px!important;border-radius:18px!important;}
  .home-stats-wrap .snum{font-size:1.36rem!important;}
  .home-stats-wrap .slbl{font-size:.54rem!important;}
  #site-footer .fgrid > .fcol:nth-child(2),
  footer .fgrid > .fcol:nth-child(2),
  #site-footer .fgrid > .fcol:nth-child(4),
  footer .fgrid > .fcol:nth-child(4){padding:12px 14px!important;}
}

/* === V50 COURSE ARROWS MATCH MENTORS === */
@media (max-width: 760px){
  .course-mobile-carousel{
    max-width:1240px!important;
    margin:0 auto!important;
    position:relative!important;
  }
  .course-mobile-viewport{
    position:relative!important;
    padding-top:8px!important;
  }
  .course-mobile-carousel .course-mobile-arrow{
    display:grid!important;
    z-index:6!important;
  }
  .course-mobile-carousel .course-mobile-prev{
    left:1px!important;
    right:auto!important;
  }
  .course-mobile-carousel .course-mobile-next{
    right:1px!important;
    left:auto!important;
  }
  .course-mobile-carousel .course-mobile-arrow[disabled]{
    opacity:.42!important;
    pointer-events:none!important;
  }
  .course-mobile-carousel .cgrid{
    padding-inline:0!important;
  }
}

@media (min-width: 761px){
  .course-mobile-carousel .course-mobile-arrow{display:none!important;}
}

/* === V51 MOBILE FOOTER_REDESIGN_BALANCED === */
@media (max-width: 760px){
  #site-footer,footer{
    padding:24px 12px calc(22px + env(safe-area-inset-bottom,0px))!important;
    background:radial-gradient(circle at 18% 0%,rgba(0,224,239,.14),transparent 36%),linear-gradient(180deg,#002930 0%,#073a42 54%,#052f36 100%)!important;
    border-radius:28px 28px 0 0!important;
  }
  #site-footer .fgrid,footer .fgrid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:stretch!important;
    margin-bottom:18px!important;
  }
  #site-footer .fbrand,footer .fbrand{
    grid-column:1/-1!important;
    grid-row:1!important;
    padding:18px!important;
    border-radius:24px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.045))!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
  }
  #site-footer .fbrand p,footer .fbrand p{
    max-width:none!important;
    margin:10px 0 14px!important;
    color:rgba(255,255,255,.78)!important;
    font-size:.9rem!important;
    line-height:1.6!important;
  }
  #site-footer .footer-wordmark,footer .footer-wordmark{width:152px!important;}
  #site-footer .fsocials,footer .fsocials{display:flex!important;gap:10px!important;}
  #site-footer .sbtn,footer .sbtn{
    width:42px!important;height:42px!important;border-radius:14px!important;
    background:rgba(0,224,239,.12)!important;border:1px solid rgba(0,224,239,.24)!important;
  }
  #site-footer .fcol,footer .fcol{
    min-height:auto!important;height:auto!important;padding:16px 14px!important;border-radius:22px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04))!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 14px 32px rgba(0,0,0,.12)!important;
  }
  #site-footer .fgrid>.fcol:nth-child(2),footer .fgrid>.fcol:nth-child(2),
  #site-footer .fgrid>.fcol:nth-child(3),footer .fgrid>.fcol:nth-child(3),
  #site-footer .fgrid>.fcol:nth-child(4),footer .fgrid>.fcol:nth-child(4){
    display:block!important;min-height:auto!important;height:auto!important;margin:0!important;grid-row:auto!important;
  }
  #site-footer .fgrid>.fcol:nth-child(3),footer .fgrid>.fcol:nth-child(3){grid-column:1!important;grid-row:2!important;}
  #site-footer .fgrid>.fcol:nth-child(2),footer .fgrid>.fcol:nth-child(2){grid-column:2!important;grid-row:2!important;}
  #site-footer .fgrid>.fcol:nth-child(4),footer .fgrid>.fcol:nth-child(4){grid-column:1/-1!important;grid-row:3!important;}
  #site-footer .fcol h4,footer .fcol h4{
    margin:0 0 12px!important;color:#fff!important;font-size:.98rem!important;line-height:1.2!important;letter-spacing:-.02em!important;
  }
  #site-footer .fcol ul,footer .fcol ul{display:flex!important;flex-direction:column!important;gap:8px!important;margin:0!important;padding:0!important;}
  #site-footer .fcol ul li,footer .fcol ul li{margin:0!important;padding:0!important;}
  #site-footer .fcol ul li a,footer .fcol ul li a,#site-footer .fcol ul li span,footer .fcol ul li span{
    display:inline-flex!important;align-items:center!important;min-height:26px!important;color:rgba(255,255,255,.78)!important;
    font-size:.86rem!important;line-height:1.35!important;font-weight:800!important;
  }
  #site-footer .fgrid>.fcol:nth-child(4) ul,footer .fgrid>.fcol:nth-child(4) ul{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;}
  #site-footer .fgrid>.fcol:nth-child(4) li a,footer .fgrid>.fcol:nth-child(4) li a,
  #site-footer .fgrid>.fcol:nth-child(4) li span,footer .fgrid>.fcol:nth-child(4) li span{
    width:100%!important;padding:9px 10px!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;
  }
  #site-footer .fbot,footer .fbot{padding-top:16px!important;border-top:1px solid rgba(255,255,255,.12)!important;gap:6px!important;}
  #site-footer .fbot p,footer .fbot p{font-size:.76rem!important;line-height:1.45!important;color:rgba(255,255,255,.58)!important;}
}
@media (max-width:380px){
  #site-footer,footer{padding-left:10px!important;padding-right:10px!important;}
  #site-footer .fgrid,footer .fgrid{gap:9px!important;}
  #site-footer .fcol,footer .fcol{padding:14px 12px!important;border-radius:20px!important;}
  #site-footer .fcol h4,footer .fcol h4{font-size:.92rem!important;}
  #site-footer .fcol ul li a,footer .fcol ul li a,#site-footer .fcol ul li span,footer .fcol ul li span{font-size:.8rem!important;}
}
@media (max-width:340px){
  #site-footer .fgrid,footer .fgrid{grid-template-columns:1fr!important;}
  #site-footer .fgrid>.fcol:nth-child(2),footer .fgrid>.fcol:nth-child(2),
  #site-footer .fgrid>.fcol:nth-child(3),footer .fgrid>.fcol:nth-child(3),
  #site-footer .fgrid>.fcol:nth-child(4),footer .fgrid>.fcol:nth-child(4){grid-column:1!important;grid-row:auto!important;}
}

/* === V52 COURSES USE SAME SHOWCASE AS MENTORS === */
.course-mobile-controls{display:none!important;}

#courseCarousel{max-width:1240px!important;margin:0 auto!important;position:relative!important}
#courseCarousel .showcase-viewport{position:relative!important;overflow:hidden!important;padding:18px 72px 20px!important;touch-action:pan-y!important}
#courseCarousel .showcase-track.course-track{display:flex!important;align-items:stretch!important;gap:24px!important;grid-auto-flow:unset!important;grid-auto-columns:unset!important;grid-template-columns:none!important;overflow:visible!important;padding:16px 4px 26px!important;margin:0!important;width:auto!important;transform:translate3d(0,0,0);transition:transform .72s cubic-bezier(.22,1,.36,1)!important;scroll-behavior:auto!important;scroll-snap-type:none!important;scroll-padding-inline:0!important;perspective:none!important}
#courseCarousel .showcase-track.course-track .ccard{flex:0 0 var(--card-width,calc((100% - 48px)/3));width:var(--card-width,calc((100% - 48px)/3));max-width:none!important;min-height:100%!important;transform:none!important;opacity:1!important;filter:none!important;overflow:hidden!important}
#courseCarousel .showcase-track.course-track .ccard.is-visible{transform:none!important;opacity:1!important;filter:none!important}
#courseCarousel .showcase-track.course-track .ccard.is-featured{transform:translateY(-4px)!important;box-shadow:0 26px 56px rgba(0,41,48,.14)!important;border-color:rgba(0,224,239,.35)!important}
#courseCarousel .showcase-fade{display:none!important}

@media (max-width:760px){
  #courseCarousel .showcase-viewport{padding:10px 42px 14px!important}
  #courseCarousel .showcase-track.course-track{gap:16px!important}
  #courseCarousel .showcase-track.course-track .ccard{min-height:100%!important}
  #courseCarousel .showcase-track.course-track .cthumb{height:188px!important}
}

/* === V53 MOBILE DARK MENU CONTRAST FIX === */
@media (max-width: 760px){
  body.kt-theme-dark .mnav{
    background:
      radial-gradient(circle at 50% 0%,rgba(0,224,239,.10),transparent 34%),
      linear-gradient(180deg,#061a20 0%,#04151a 100%)!important;
  }

  body.kt-theme-dark .mnav-close{
    background:linear-gradient(135deg,#123f49,#0d343d)!important;
    color:#f4fdff!important;
    border-color:rgba(124,243,255,.34)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
  }

  body.kt-theme-dark .mnav a{
    background:linear-gradient(180deg,#103943 0%,#0c3039 100%)!important;
    color:#f4fdff!important;
    border-color:rgba(124,243,255,.28)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
    text-shadow:0 1px 1px rgba(0,0,0,.18)!important;
  }

  body.kt-theme-dark .mnav a:hover,
  body.kt-theme-dark .mnav a:focus-visible,
  body.kt-theme-dark .mnav a[aria-current="page"]{
    background:linear-gradient(180deg,#15505b 0%,#103f49 100%)!important;
    color:#8ff7ff!important;
    border-color:rgba(124,243,255,.62)!important;
    outline:none!important;
  }

  body.kt-theme-dark .mnav .btn.btn-f{
    background:linear-gradient(135deg,#12dbe8,#04b5c1)!important;
    color:#002930!important;
    border:1px solid rgba(124,243,255,.55)!important;
    text-shadow:none!important;
  }
}

/* ---------- v54: contact page mobile redesign + smaller raised AI FAB ---------- */
@media (max-width: 700px){
  #fab,
  #fab.pdp-robot-fab{
    width:54px!important;
    height:68px!important;
    right:max(12px,env(safe-area-inset-right,0px))!important;
    bottom:calc(20px + var(--safe-bottom))!important;
  }
  #fab.pdp-robot-fab .robot-logo-head{
    width:40px!important;
    height:40px!important;
    top:12px!important;
  }
  #fab.pdp-robot-fab .robot-logo-head img{
    width:31px!important;
    height:31px!important;
  }
  #fab.pdp-robot-fab .robot-body{
    top:47px!important;
    width:30px!important;
    height:18px!important;
  }
  #fab.pdp-robot-fab .robot-arm{
    top:2px!important;
    width:5px!important;
    height:11px!important;
  }
  #fab.pdp-robot-fab .robot-arm.left{left:-5px!important}
  #fab.pdp-robot-fab .robot-arm.right{right:-5px!important}
  #fab.pdp-robot-fab .robot-leg{
    width:4px!important;
    height:8px!important;
  }
  #fab.pdp-robot-fab .robot-leg.left{left:9px!important}
  #fab.pdp-robot-fab .robot-leg.right{right:9px!important}
  #fab.pdp-robot-fab .robot-shadow{
    left:13px!important;
    right:13px!important;
    bottom:-10px!important;
  }
  #chatwin{bottom:calc(96px + var(--safe-bottom))!important}
}

@media (max-width: 600px){
  #contact .contact-side{
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
  }
  #contact .primary-contact,
  #contact .contact-mini{
    position:relative!important;
    overflow:hidden!important;
    border-radius:26px!important;
    border:1px solid rgba(99,237,247,.16)!important;
    background:linear-gradient(135deg,rgba(0,44,52,.98) 0%,rgba(0,82,93,.96) 100%)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 38px rgba(0,22,26,.24)!important;
  }
  #contact .primary-contact{
    min-height:0!important;
    padding:24px 20px 22px!important;
    align-items:flex-start!important;
    text-align:left!important;
    gap:0!important;
  }
  #contact .primary-contact::before{
    content:'';
    position:absolute;
    inset:auto auto 0 0;
    width:46%;
    aspect-ratio:1/1;
    border-radius:999px 999px 0 0;
    transform:translate(-52%,52%);
    background:radial-gradient(circle at center,rgba(0,224,239,.16),rgba(0,224,239,0));
    pointer-events:none;
  }
  #contact .primary-contact::after{
    content:'';
    position:absolute;
    top:-34px;
    right:-46px;
    width:156px;
    height:156px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 35%,rgba(171,255,150,.22),rgba(171,255,150,.08) 60%,rgba(171,255,150,0) 70%);
    pointer-events:none;
  }
  #contact .primary-contact .contact-card-icon{
    width:70px!important;
    height:70px!important;
    margin-bottom:18px!important;
    border-radius:22px!important;
    display:grid!important;
    place-items:center!important;
    background:linear-gradient(145deg,rgba(108,124,39,.56),rgba(47,68,34,.74))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  }
  #contact .primary-contact .contact-card-icon span{
    width:auto!important;
    height:auto!important;
    margin:0!important;
    font-size:2rem!important;
    line-height:1!important;
    background:none!important;
    box-shadow:none!important;
  }
  #contact .primary-contact h3{
    margin-bottom:10px!important;
    font-size:clamp(1.9rem,8vw,2.25rem)!important;
    line-height:1.04!important;
    max-width:10ch;
  }
  #contact .primary-contact p{
    max-width:16ch;
    margin-bottom:18px!important;
    font-size:1rem!important;
    line-height:1.58!important;
    color:rgba(240,251,255,.84)!important;
  }
  #contact .primary-contact a{
    position:relative;
    z-index:1;
    align-self:flex-start!important;
    padding:13px 20px!important;
    border-radius:999px!important;
    font-size:1rem!important;
    font-weight:800!important;
    color:#002930!important;
    background:linear-gradient(90deg,#12d8f0 0%,#17d9b0 100%)!important;
    box-shadow:0 14px 28px rgba(0,224,239,.18)!important;
  }
  #contact .contact-info-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  #contact .contact-mini{
    min-height:118px!important;
    padding:18px 18px 16px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-end!important;
    text-align:right!important;
  }
  #contact .contact-mini::before{
    content:'';
    position:absolute;
    left:-38px;
    bottom:-50px;
    width:158px;
    height:158px;
    border-radius:50%;
    background:radial-gradient(circle at center,rgba(0,224,239,.16),rgba(0,224,239,0) 72%);
    pointer-events:none;
  }
  #contact .contact-mini span{
    width:54px!important;
    height:54px!important;
    margin:0 0 12px auto!important;
    border-radius:18px!important;
    display:grid!important;
    place-items:center!important;
    font-size:1.6rem!important;
    background:linear-gradient(145deg,rgba(13,68,74,.82),rgba(25,78,96,.60))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  }
  #contact .contact-mini b,
  #contact .contact-mini p,
  #contact .contact-mini a{
    width:100%!important;
    text-align:right!important;
    position:relative;
    z-index:1;
  }
  #contact .contact-mini b{
    margin-bottom:6px!important;
    font-size:clamp(1.45rem,6.2vw,1.8rem)!important;
    line-height:1.12!important;
    color:#f7fcff!important;
  }
  #contact .contact-mini p,
  #contact .contact-mini a{
    font-size:1rem!important;
    line-height:1.5!important;
    color:rgba(240,251,255,.86)!important;
  }
  #contact .contact-mini a{
    font-weight:800!important;
    text-decoration:none!important;
  }
}

@media (max-width: 420px){
  #contact .primary-contact{padding:22px 18px 20px!important}
  #contact .primary-contact .contact-card-icon{width:64px!important;height:64px!important;margin-bottom:16px!important}
  #contact .primary-contact h3{font-size:clamp(1.72rem,8.2vw,2rem)!important}
  #contact .primary-contact p{font-size:.94rem!important}
  #contact .primary-contact a{font-size:.94rem!important;padding:12px 17px!important}
  #contact .contact-mini{min-height:108px!important;padding:16px!important}
  #contact .contact-mini span{width:50px!important;height:50px!important}
  #contact .contact-mini b{font-size:clamp(1.28rem,6.4vw,1.55rem)!important}
  #contact .contact-mini p,
  #contact .contact-mini a{font-size:.92rem!important}
}


/* ---------- v55: contact row layout on mobile ---------- */
@media (max-width: 600px){
  #contact .contact-side{
    display:grid!important;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important;
    grid-template-rows:1fr 1fr!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  #contact .primary-contact{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    min-height:244px!important;
    padding:22px 18px 20px!important;
    align-items:flex-start!important;
    justify-content:center!important;
    text-align:left!important;
  }
  #contact .primary-contact .contact-card-icon{
    width:58px!important;
    height:58px!important;
    margin-bottom:14px!important;
    border-radius:18px!important;
  }
  #contact .primary-contact .contact-card-icon span{font-size:1.65rem!important}
  #contact .primary-contact h3{
    max-width:7ch!important;
    margin-bottom:8px!important;
    font-size:clamp(1.35rem,6.2vw,1.7rem)!important;
    line-height:1.02!important;
  }
  #contact .primary-contact p{
    max-width:18ch!important;
    margin-bottom:14px!important;
    font-size:.88rem!important;
    line-height:1.48!important;
  }
  #contact .primary-contact a{
    max-width:100%!important;
    padding:11px 14px!important;
    font-size:.84rem!important;
    line-height:1.2!important;
    word-break:break-word!important;
    text-align:center!important;
  }
  #contact .contact-info-grid{
    display:grid!important;
    grid-column:2!important;
    grid-row:1 / span 2!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr 1fr!important;
    gap:14px!important;
  }
  #contact .contact-mini{
    min-height:115px!important;
    padding:16px 14px!important;
    align-items:flex-end!important;
    justify-content:center!important;
    text-align:right!important;
  }
  #contact .contact-mini span{
    width:48px!important;
    height:48px!important;
    margin:0 0 10px auto!important;
    border-radius:16px!important;
    font-size:1.35rem!important;
  }
  #contact .contact-mini b{
    margin-bottom:4px!important;
    font-size:clamp(1.02rem,4.7vw,1.25rem)!important;
    line-height:1.1!important;
  }
  #contact .contact-mini p,
  #contact .contact-mini a{
    font-size:.82rem!important;
    line-height:1.4!important;
  }
}

@media (max-width: 390px){
  #contact .contact-side{
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
    gap:12px!important;
  }
  #contact .primary-contact{padding:20px 16px 18px!important;min-height:228px!important}
  #contact .primary-contact h3{font-size:clamp(1.2rem,6vw,1.45rem)!important}
  #contact .primary-contact p{font-size:.8rem!important;max-width:17ch!important}
  #contact .primary-contact a{font-size:.77rem!important;padding:10px 12px!important}
  #contact .contact-mini{min-height:106px!important;padding:14px 12px!important}
  #contact .contact-mini span{width:44px!important;height:44px!important;font-size:1.2rem!important}
  #contact .contact-mini b{font-size:clamp(.95rem,4.8vw,1.12rem)!important}
  #contact .contact-mini p,
  #contact .contact-mini a{font-size:.76rem!important}
}

/* ---------- v57: mobile contact quick blocks removed ---------- */
@media (max-width: 600px){
  #contact .contact-layout{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  #contact .contact-side{
    display:none!important;
  }
  #contact .contact-form-panel{
    margin-top:0!important;
  }
}

/* ---------- Karusel chetlaridagi "fade" qoplamasi ----------
   Mobil ekranda viewport paddingi 8–20px bo‘lgani uchun 28–72px li fade
   kartaning o‘zini yopib qo‘yardi (galereya, mentorlar, portfolio). */
@media (max-width: 760px){
  .showcase-viewport::before,
  .showcase-viewport::after{display:none!important;}
}
