/*
 * CPQ Mobile App Shell v43
 * Baseline: v42 login/session fix (kept unchanged)
 * Scope: responsive frontend only. No Service Worker registration and no data/session changes.
 */
:root{
  --cpq-app-navy:#092a55;
  --cpq-app-blue:#185aa6;
  --cpq-app-blue-soft:#eaf3ff;
  --cpq-app-gold:#d7aa42;
  --cpq-app-text:#12233e;
  --cpq-app-muted:#6b778b;
  --cpq-app-line:#e7edf5;
  --cpq-app-bg:#f5f7fb;
  --cpq-app-card:#ffffff;
  --cpq-app-danger:#bd2026;
  --cpq-app-success:#16875f;
  --cpq-app-radius:18px;
  --cpq-app-header-height:64px;
  --cpq-app-bottom-height:68px;
  --cpq-app-safe-top:env(safe-area-inset-top,0px);
  --cpq-app-safe-bottom:env(safe-area-inset-bottom,0px);
  --cpq-app-vh:1vh;
}
html{
  width:100%;
  max-width:100%;
  background:#fff;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:calc(var(--cpq-app-header-height) + var(--cpq-app-safe-top) + 10px);
}
body{
  width:100%;
  max-width:100%;
  min-height:100vh;
  min-height:calc(var(--cpq-app-vh)*100);
  margin:0;
  overflow-x:hidden;
  background:var(--cpq-app-bg);
  color:var(--cpq-app-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%}
img{height:auto}
a,button{-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit}
input,select,textarea{font-size:16px}
[hidden]{display:none!important}
.cpq-table-scroll{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:14px}

/* Never keep useful content hidden when an animation dependency does not load. */
@media(max-width:1024px){
  body .wow,
  body [data-wow-delay],
  body [class*="animate__"]{
    visibility:visible!important;
    opacity:1!important;
    animation:none!important;
    -webkit-animation:none!important;
  }
}

/* Mobile app shell */
@media(max-width:991.98px){
  html,body{overscroll-behavior-y:none}
  body{
    padding-bottom:calc(var(--cpq-app-bottom-height) + var(--cpq-app-safe-bottom))!important;
    background:var(--cpq-app-bg)!important;
  }
  body.cpq-keyboard-open{padding-bottom:0!important}
  body.cpq-keyboard-open .cpq-mobile-bottom-nav{display:none!important}
  body.cpq-drawer-open{overflow:hidden!important;touch-action:none}

  body>.cpq-profile-update-alert:first-of-type{margin-top:12px!important}

  header{
    position:sticky!important;
    top:0!important;
    z-index:1040!important;
    width:100%!important;
    padding-top:var(--cpq-app-safe-top)!important;
    background:#fff!important;
    border:0!important;
  }
  header.cpq-header-scrolled{box-shadow:0 7px 24px rgba(13,38,72,.10)!important}
  .menubar{
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    width:100%!important;
    min-height:var(--cpq-app-header-height)!important;
    padding:0!important;
    background:#fff!important;
    border:0!important;
    border-bottom:1px solid var(--cpq-app-line)!important;
    box-shadow:none!important;
  }
  .menubar .navbar{
    min-height:var(--cpq-app-header-height)!important;
    padding:7px 0!important;
    background:#fff!important;
  }
  .menubar .navbar>.container{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:50px!important;
    padding-inline:14px!important;
  }
  .navbar-brand.logo{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:54%!important;
    margin:0!important;
    padding:0!important;
  }
  html[dir="rtl"] .navbar-brand.logo{justify-content:flex-end!important}
  .navbar-brand.logo img{
    display:block!important;
    width:auto!important;
    height:46px!important;
    max-width:100%!important;
    max-height:46px!important;
    object-fit:contain!important;
  }
  .navbar-collapse{display:none!important}
  .menu-offcanves{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    direction:ltr!important;
  }
  .menu-offcanves>li{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
  }
  .cpq-mobile-header-actions{display:flex!important;align-items:center!important}
  .cpq-mobile-header-icon{
    position:relative!important;
    display:inline-grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #e5ebf3!important;
    border-radius:13px!important;
    background:#f7f9fc!important;
    color:var(--cpq-app-navy)!important;
    box-shadow:none!important;
    text-decoration:none!important;
  }
  .cpq-mobile-header-icon:active{transform:scale(.96)}
  .cpq-mobile-header-icon:focus-visible{outline:3px solid rgba(24,90,166,.20)!important;outline-offset:2px!important}
  .cpq-mobile-header-icon svg{width:22px!important;height:22px!important;display:block!important}
  .m-cross-icon{display:none!important}
  .m-cross-icon.is-visible{display:inline-grid!important}
  .m-search-icon.is-hidden{display:none!important}
  .cpq-mobile-cart-count{
    position:absolute!important;
    top:-5px!important;
    right:-5px!important;
    display:grid!important;
    place-items:center!important;
    min-width:19px!important;
    height:19px!important;
    padding:0 5px!important;
    border:2px solid #fff!important;
    border-radius:99px!important;
    background:var(--cpq-app-danger)!important;
    color:#fff!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:1!important;
  }

  /* Search panel below the fixed app header */
  .inline-form{
    position:fixed!important;
    top:calc(var(--cpq-app-safe-top) + var(--cpq-app-header-height))!important;
    right:0!important;
    left:0!important;
    z-index:1036!important;
    display:none!important;
    width:100%!important;
    margin:0!important;
    padding:10px 14px 13px!important;
    background:#fff!important;
    border:0!important;
    border-bottom:1px solid var(--cpq-app-line)!important;
    box-shadow:0 12px 24px rgba(13,38,72,.10)!important;
  }
  .inline-form.active{display:block!important}
  .inline-form .mobile-search{position:relative!important;width:100%!important;margin:0!important;padding:0!important}
  .inline-form .form-control{
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
    padding:10px 48px 10px 14px!important;
    border:1px solid #cfd9e7!important;
    border-radius:14px!important;
    background:#f9fbfd!important;
    color:var(--cpq-app-text)!important;
    box-shadow:none!important;
    font-size:16px!important;
  }
  html[dir="rtl"] .inline-form .form-control{padding:10px 14px 10px 48px!important}
  .inline-form .search-btn{
    position:absolute!important;
    top:6px!important;
    right:6px!important;
    display:grid!important;
    place-items:center!important;
    width:36px!important;
    height:36px!important;
    padding:0!important;
    border:0!important;
    border-radius:11px!important;
    background:var(--cpq-app-blue)!important;
    color:#fff!important;
  }
  html[dir="rtl"] .inline-form .search-btn{right:auto!important;left:6px!important}

  /* Drawer */
  .cpq-mobile-drawer-shell{display:block!important}
  .cpq-mobile-drawer{
    width:min(89vw,370px)!important;
    max-width:370px!important;
    height:100vh!important;
    height:100dvh!important;
    padding-top:var(--cpq-app-safe-top)!important;
    border:0!important;
    background:#f7f9fc!important;
    color:var(--cpq-app-text)!important;
    box-shadow:0 0 45px rgba(10,33,64,.24)!important;
    direction:rtl!important;
  }
  html[dir="rtl"] .cpq-mobile-drawer.offcanvas-start{
    right:0!important;
    left:auto!important;
    transform:translateX(100%)!important;
  }
  html[dir="rtl"] .cpq-mobile-drawer.offcanvas-start.show,
  html[dir="rtl"] .cpq-mobile-drawer.offcanvas-start.showing{transform:none!important}
  .cpq-mobile-drawer__header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:58px!important;
    padding:8px 14px!important;
    border-bottom:1px solid var(--cpq-app-line)!important;
    background:#fff!important;
  }
  .cpq-mobile-drawer__header strong{color:var(--cpq-app-navy)!important;font-size:18px!important;font-weight:900!important}
  .cpq-mobile-drawer__close{
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    padding:0!important;
    border:1px solid #e4eaf2!important;
    border-radius:13px!important;
    background:#f7f9fc!important;
    color:var(--cpq-app-text)!important;
    font-size:28px!important;
    line-height:1!important;
  }
  .cpq-mobile-user{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:12px!important;
    padding:14px!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,#092a55,#185aa6)!important;
    color:#fff!important;
    text-decoration:none!important;
    box-shadow:0 12px 30px rgba(9,42,85,.20)!important;
  }
  .cpq-mobile-user img{width:54px!important;height:54px!important;min-width:54px!important;border:2px solid rgba(255,255,255,.72)!important;border-radius:50%!important;object-fit:cover!important}
  .cpq-mobile-user span{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
  .cpq-mobile-user b{overflow:hidden!important;color:#fff!important;font-size:15px!important;font-weight:900!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .cpq-mobile-user small{overflow:hidden!important;color:#dcecff!important;font-size:11px!important;text-overflow:ellipsis!important;white-space:nowrap!important;direction:ltr!important;text-align:right!important}
  .cpq-mobile-auth{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;padding:12px!important}
  .cpq-mobile-auth a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:45px!important;border-radius:13px!important;font-weight:900!important;text-decoration:none!important}
  .cpq-mobile-auth__login{border:1px solid #dce5f1!important;background:#fff!important;color:var(--cpq-app-navy)!important}
  .cpq-mobile-auth__signup{background:var(--cpq-app-navy)!important;color:#fff!important}
  .cpq-mobile-drawer__body{
    padding:2px 12px calc(20px + var(--cpq-app-safe-bottom))!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
  .cpq-mobile-menu{display:flex!important;flex-direction:column!important;gap:5px!important;padding:4px 0 22px!important}
  .cpq-mobile-menu-title{
    padding:15px 10px 5px!important;
    color:#8290a3!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.5px!important;
  }
  .cpq-mobile-menu-link{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    width:100%!important;
    min-height:50px!important;
    padding:9px 11px!important;
    border:1px solid transparent!important;
    border-radius:14px!important;
    background:transparent!important;
    color:#20324d!important;
    font-size:14px!important;
    font-weight:800!important;
    line-height:1.35!important;
    text-decoration:none!important;
  }
  .cpq-mobile-menu-link.is-active,
  .cpq-mobile-menu-link:active{
    border-color:#d8e6f7!important;
    background:#eaf3ff!important;
    color:#0d4c92!important;
  }
  .cpq-mobile-menu-link i{
    display:grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border-radius:10px!important;
    background:#fff!important;
    color:var(--cpq-app-blue)!important;
    box-shadow:0 2px 8px rgba(13,38,72,.06)!important;
    font-size:14px!important;
  }
  .cpq-mobile-menu-link span{flex:1!important;min-width:0!important}
  .cpq-mobile-menu-count{display:grid!important;place-items:center!important;min-width:24px!important;height:24px!important;padding:0 6px!important;border-radius:99px!important;background:var(--cpq-app-danger)!important;color:#fff!important;font-size:10px!important}
  .cpq-mobile-menu-link--danger{margin-top:8px!important;background:#fff1f2!important;color:#a51d2a!important}
  .cpq-mobile-menu-link--danger i{background:#ffe4e6!important;color:#a51d2a!important}
  .offcanvas-backdrop{z-index:1045!important;background:#071a31!important}
  .offcanvas-backdrop.show{opacity:.54!important}
  .cpq-mobile-drawer{z-index:1050!important}

  /* Bottom navigation */
  .cpq-mobile-bottom-nav{
    position:fixed!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    z-index:1038!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:stretch!important;
    width:100%!important;
    min-height:calc(var(--cpq-app-bottom-height) + var(--cpq-app-safe-bottom))!important;
    margin:0!important;
    padding:5px 6px calc(5px + var(--cpq-app-safe-bottom))!important;
    border-top:1px solid rgba(213,222,234,.9)!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 -9px 28px rgba(13,38,72,.10)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    backdrop-filter:blur(18px)!important;
    direction:rtl!important;
  }
  .cpq-mobile-bottom-nav__item{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    min-width:0!important;
    min-height:58px!important;
    padding:3px 1px!important;
    border-radius:15px!important;
    color:#6d7b8e!important;
    font-weight:800!important;
    line-height:1.05!important;
    text-decoration:none!important;
  }
  .cpq-mobile-bottom-nav__item.is-active{background:#eaf3ff!important;color:#0d4f97!important}
  .cpq-mobile-bottom-nav__item:active{transform:scale(.97)}
  .cpq-mobile-bottom-nav__icon{position:relative!important;display:grid!important;place-items:center!important;width:29px!important;height:28px!important}
  .cpq-mobile-bottom-nav__icon svg{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  .cpq-mobile-bottom-nav__label{display:block!important;max-width:100%!important;overflow:hidden!important;color:inherit!important;font-size:10px!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .cpq-mobile-bottom-nav__badge{position:absolute!important;top:-5px!important;right:-8px!important;display:grid!important;place-items:center!important;min-width:17px!important;height:17px!important;padding:0 4px!important;border:2px solid #fff!important;border-radius:99px!important;background:var(--cpq-app-danger)!important;color:#fff!important;font-size:8px!important;line-height:1!important}

  /* Universal page spacing */
  body .container,
  body .container-sm,
  body .container-md,
  body .container-lg,
  body .container-xl,
  body .container-xxl,
  body .container-fluid{
    width:100%!important;
    max-width:100%!important;
    margin-inline:auto!important;
    padding-inline:14px!important;
  }
  body .row{--bs-gutter-x:1rem}
  body section{max-width:100%!important}
  body p,body li,body h1,body h2,body h3,body h4,body h5,body h6{overflow-wrap:anywhere}
  body .common-card,
  body .card{
    border-color:var(--cpq-app-line)!important;
    border-radius:var(--cpq-app-radius)!important;
    box-shadow:0 8px 28px rgba(13,38,72,.06)!important;
  }
  body .btn{min-height:42px;border-radius:12px;font-weight:800}
  body .form-control,
  body .form-select,
  body input:not([type="checkbox"]):not([type="radio"]),
  body textarea,
  body select{
    min-height:48px;
    border-radius:12px!important;
  }

  /* Compact breadcrumbs: replace the oversized desktop banner on phones. */
  .bread-crumb{
    min-height:0!important;
    margin:0!important;
    padding:17px 0 18px!important;
    background:linear-gradient(135deg,#eef6ff,#f7fbff)!important;
    background-image:none!important;
    border-bottom:1px solid #e2ebf5!important;
  }
  .bread-crumb .row{align-items:center!important}
  .bread-crumb .col-auto{width:100%!important;max-width:100%!important}
  .bread-crumb .breadcrumb{display:flex!important;align-items:center!important;gap:7px!important;margin:0 0 7px!important;padding:0!important;font-size:11px!important;line-height:1.3!important}
  .bread-crumb .breadcrumb-item a,.bread-crumb .breadcrumb-item span{color:#63748a!important;font-size:11px!important;text-decoration:none!important}
  .bread-crumb .breadcrumb>li>i{font-size:9px!important;color:#8ba0b8!important}
  .bread-crumb .brd-home{font-size:12px!important;color:var(--cpq-app-blue)!important}
  .bread-crumb h1{margin:0!important;color:var(--cpq-app-navy)!important;font-size:25px!important;font-weight:900!important;line-height:1.25!important}
  .bread-crumb .book-img,.bread-crumb .col-3{display:none!important}

  /* Required profile notice: compact app notification instead of a large block. */
  .cpq-profile-update-alert{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    width:calc(100% - 28px)!important;
    margin:12px auto!important;
    padding:11px 12px!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#a71920,#c9262d)!important;
    color:#fff!important;
    box-shadow:0 9px 24px rgba(174,31,38,.20)!important;
    transform:none!important;
  }
  .cpq-profile-update-alert__icon{width:38px!important;height:38px!important;min-width:38px!important;border-radius:12px!important;font-size:15px!important}
  .cpq-profile-update-alert__text{display:block!important;padding:0!important;min-width:0!important}
  .cpq-profile-update-alert__text strong{display:block!important;margin:0 0 2px!important;color:#fff!important;font-size:13px!important;line-height:1.35!important}
  .cpq-profile-update-alert__text small{display:block!important;color:#ffe6e7!important;font-size:10.5px!important;line-height:1.45!important}
  .cpq-profile-update-alert__action{
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    display:grid!important;
    place-items:center!important;
    min-width:38px!important;
    width:38px!important;
    height:38px!important;
    padding:0!important;
    border-radius:12px!important;
    font-size:0!important;
  }
  .cpq-profile-update-alert__action i{font-size:13px!important}

  /* Account navigation: compact horizontal tabs on phones, full sidebar on desktop. */
  .cpq-account-mobile-tabs{
    display:flex!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:2px 0 5px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .cpq-account-mobile-tabs::-webkit-scrollbar{display:none!important}
  .cpq-account-mobile-tabs a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:max-content!important;
    min-height:42px!important;
    padding:8px 12px!important;
    border:1px solid #dee7f2!important;
    border-radius:13px!important;
    background:#fff!important;
    color:#506079!important;
    font-size:12px!important;
    font-weight:800!important;
    text-decoration:none!important;
    box-shadow:0 3px 12px rgba(13,38,72,.04)!important;
  }
  .cpq-account-mobile-tabs a.is-active{border-color:#c5dbf5!important;background:#eaf3ff!important;color:#0d4f97!important}
  .cpq-account-mobile-tabs i{font-size:13px!important}
  .cpq-account-desktop-menu{display:none!important}
  .wish-list-body>.container>.row>[class*="col-lg-3"],
  .wish-list-body>.container>.row>[class*="col-md-4"]{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  .wish-list-body>.container>.row>[class*="col-lg-9"],
  .wish-list-body>.container>.row>[class*="col-md-8"]{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  .wish-list-body{padding:18px 0 34px!important;background:var(--cpq-app-bg)!important}

  /* Profile */
  .profile{margin:0!important}
  .profile-bg{display:none!important}
  .profile-ful-body{margin:0!important;padding:18px 14px!important;background:#fff!important}
  .profile-parrent{display:flex!important;align-items:center!important;gap:13px!important;margin:0 0 18px!important;padding:0 0 16px!important;border-bottom:1px solid var(--cpq-app-line)!important}
  .profile-child{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important}
  .profile-child>a img,.student-profile-info .profile-image{width:74px!important;height:74px!important;min-width:74px!important;border-radius:50%!important;object-fit:cover!important}
  .profile-child .child-text h4,.student-profile-info h4{margin:0 0 3px!important;color:var(--cpq-app-navy)!important;font-size:18px!important;font-weight:900!important}
  .profile-child .child-text p,.student-profile-info span{margin:0!important;color:var(--cpq-app-muted)!important;font-size:12px!important;direction:ltr!important}
  .profile .form-group,.profile .mb-3{margin-bottom:14px!important}

  /* My courses */
  .my-course-1-full-body{margin:0!important;padding:0!important}
  .my-course-1-full-body>h1{margin:0 0 15px!important;color:var(--cpq-app-navy)!important;font-size:23px!important;font-weight:900!important}
  .my-course-1-full-body>.row{display:grid!important;grid-template-columns:1fr!important;gap:13px!important;margin:0!important}
  .my-course-1-full-body>.row>[class*="col-"]{width:100%!important;max-width:100%!important;padding:0!important}
  .my-course-1-full-body .course-box-wrap,
  .my-course-1-full-body .my-course-1-item,
  .my-course-1-full-body .course-card{
    overflow:hidden!important;
    margin:0!important;
    border:1px solid var(--cpq-app-line)!important;
    border-radius:17px!important;
    background:#fff!important;
    box-shadow:0 7px 22px rgba(13,38,72,.055)!important;
  }

  /* Certificates */
  .cpq-cert-account{min-height:0!important;padding:18px 0 35px!important;background:var(--cpq-app-bg)!important}
  .cpq-cert-account-shell{display:block!important}
  .cpq-cert-account-menu{display:block!important;order:0!important}
  .cpq-cert-main{order:0!important}
  .cpq-cert-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin:0 0 14px!important;
    padding:20px!important;
    border-radius:19px!important;
    box-shadow:0 10px 26px rgba(15,39,89,.12)!important;
  }
  .cpq-cert-hero h1{margin:0 0 5px!important;font-size:25px!important}
  .cpq-cert-hero p{font-size:13px!important;line-height:1.65!important}
  .cpq-cert-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;width:100%!important}
  .cpq-cert-stat{min-width:0!important;padding:10px!important;border-radius:13px!important}
  .cpq-cert-stat strong{font-size:22px!important}
  .cpq-cert-stat span{font-size:11px!important}
  .cpq-cert-card{margin:0 0 14px!important;padding:17px 14px!important;border-radius:17px!important}
  .cpq-cert-card h2{font-size:19px!important}
  .cpq-name-form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .cpq-name-form input{width:100%!important;min-width:0!important}
  .cpq-cert-item{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:13px!important;border-radius:15px!important}
  .cpq-cert-thumb{width:100%!important;height:auto!important;max-height:230px!important;border-radius:11px!important;object-fit:cover!important}
  .cpq-cert-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;grid-column:auto!important}
  .cpq-cert-actions .cpq-cert-btn{width:100%!important;padding-inline:8px!important;font-size:12px!important}

  /* Messages */
  .cpq-account-page{padding:18px 0 35px!important;background:var(--cpq-app-bg)!important}
  .cpq-account-layout{display:block!important}
  .cpq-account-sidebar{display:block!important}
  .cpq-account-main{min-width:0!important}
  .cpq-msg-page{max-width:none!important;margin:0!important;padding:0!important}
  .cpq-msg-head{align-items:flex-start!important;margin:0 0 14px!important}
  .cpq-msg-head h1{font-size:24px!important}
  .cpq-msg-head p{font-size:12px!important;line-height:1.65!important}
  .cpq-msg-card{grid-template-columns:42px minmax(0,1fr) 34px!important;gap:10px!important;padding:13px 11px!important;border-radius:16px!important;box-shadow:0 6px 20px rgba(13,38,72,.05)!important}
  .cpq-msg-icon{width:42px!important;height:42px!important;border-radius:12px!important;font-size:17px!important}
  .cpq-msg-title{font-size:15px!important;line-height:1.45!important}
  .cpq-msg-body{font-size:13px!important;line-height:1.7!important}
  .cpq-msg-meta{display:flex!important;flex-wrap:wrap!important;gap:6px!important;font-size:10px!important}
  .cpq-msg-open{min-height:38px!important;margin-top:9px!important;padding:7px 11px!important;border-radius:10px!important;font-size:12px!important}
  .cpq-msg-delete{width:34px!important;height:34px!important;border-radius:10px!important}
  .cpq-msg-empty{padding:36px 16px!important;border-radius:17px!important}

  /* Required update page */
  .cpq-required-profile-update{min-height:0!important;padding:18px 0 35px!important}
  .cpq-rpu-card{border-radius:18px!important}
  .cpq-rpu-heading{padding:18px 15px!important;gap:11px!important}
  .cpq-rpu-heading h2{font-size:21px!important}
  .cpq-rpu-heading p{font-size:12px!important}
  .cpq-rpu-form{padding:18px 15px!important}
  .cpq-rpu-grid{grid-template-columns:1fr!important;gap:17px!important}
  .cpq-rpu-field-wide{grid-column:auto!important}
  .cpq-rpu-footer{flex-direction:column!important;align-items:stretch!important;gap:13px!important}
  .cpq-rpu-submit{width:100%!important}

  /* General course/catalog cards */
  .courses-card>.row,
  .grid-view-body .courses-card>.row,
  .course-bundle-body>.row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin:0!important;
  }
  .courses-card>.row>[class*="col-"],
  .grid-view-body .courses-card>.row>[class*="col-"],
  .course-bundle-body>.row>[class*="col-"]{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
  }
  .courses-card .card,
  .courses-card .course-card,
  .course-bundle-body .card{
    overflow:hidden!important;
    margin:0!important;
    border:1px solid var(--cpq-app-line)!important;
    border-radius:17px!important;
    background:#fff!important;
    box-shadow:0 6px 22px rgba(13,38,72,.055)!important;
  }
  .courses-card img,.course-bundle-body img{width:100%!important;object-fit:cover!important}

  /* Tables, checkout, modal and media */
  table{max-width:100%!important}
  .cpq-table-scroll>table{min-width:650px!important;margin:0!important}
  .modal-dialog{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin:12px auto!important}
  .modal-content{overflow:hidden!important;border:0!important;border-radius:18px!important}
  .ratio iframe,video,.video-js{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important}
  .toast-container,.toast-top-right,#toast-container{right:10px!important;left:10px!important;width:auto!important}
  #toast-container>div{width:100%!important;max-width:100%!important;border-radius:13px!important}
  #cpq-floating-whatsapp{
    right:13px!important;
    bottom:calc(var(--cpq-app-bottom-height) + var(--cpq-app-safe-bottom) + 13px)!important;
    width:48px!important;
    height:48px!important;
    box-shadow:0 8px 22px rgba(18,135,86,.25)!important;
  }
  footer{padding-bottom:4px!important}
  .lms2-footer-content,.ft2-footer-content{padding-block:26px!important}

  /* Touch devices: no hover movement or accidental zoom. */
  @media(hover:none){
    a:hover,button:hover,.card:hover{transform:none!important}
  }
}

@media(min-width:600px) and (max-width:991.98px){
  :root{--cpq-app-header-height:68px;--cpq-app-bottom-height:72px}
  .menubar .navbar>.container{padding-inline:22px!important}
  .navbar-brand.logo img{height:50px!important;max-height:50px!important}
  body .container,body .container-fluid{padding-inline:22px!important}
  .courses-card>.row,.grid-view-body .courses-card>.row,.my-course-1-full-body>.row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cpq-cert-item{grid-template-columns:150px minmax(0,1fr)!important}
  .cpq-cert-thumb{width:150px!important;height:105px!important}
  .cpq-cert-actions{grid-column:1/-1!important}
}

@media(max-width:370px){
  :root{--cpq-app-header-height:60px;--cpq-app-bottom-height:64px}
  .menubar .navbar>.container{padding-inline:10px!important;gap:6px!important}
  .navbar-brand.logo{max-width:48%!important}
  .navbar-brand.logo img{height:40px!important;max-height:40px!important}
  .menu-offcanves{gap:3px!important}
  .cpq-mobile-header-icon{width:37px!important;height:37px!important;min-width:37px!important;border-radius:11px!important}
  .cpq-mobile-bottom-nav{padding-inline:2px!important}
  .cpq-mobile-bottom-nav__item{min-height:54px!important}
  .cpq-mobile-bottom-nav__label{font-size:9px!important}
  body .container,body .container-fluid{padding-inline:10px!important}
  .bread-crumb h1{font-size:22px!important}
  .cpq-profile-update-alert{width:calc(100% - 20px)!important}
}

@media(orientation:landscape) and (max-height:540px) and (max-width:991.98px){
  :root{--cpq-app-header-height:54px;--cpq-app-bottom-height:56px}
  .navbar-brand.logo img{height:38px!important;max-height:38px!important}
  .cpq-mobile-header-icon{width:36px!important;height:36px!important;min-width:36px!important}
  .cpq-mobile-bottom-nav__item{min-height:45px!important;gap:0!important}
  .cpq-mobile-bottom-nav__icon svg{width:19px!important;height:19px!important}
  .cpq-mobile-bottom-nav__label{font-size:8.5px!important}
}

@media(min-width:992px){
  .cpq-account-mobile-tabs{display:none!important}
  .cpq-account-desktop-menu{display:block!important}
  .cpq-account-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;max-width:1200px;margin:0 auto}
  .cpq-account-page{padding:28px 0 70px;background:#f6f8fc}
  .cpq-account-main{min-width:0}
}

@media print{
  .cpq-mobile-bottom-nav,.menu-offcanves,.cpq-mobile-drawer-shell,#cpq-floating-whatsapp{display:none!important}
  header{position:static!important;padding-top:0!important}
  body{padding-bottom:0!important;background:#fff!important}
}
