/*
 * CPQ Mobile UI v44
 * Presentation only. Login/session baseline v42 remains untouched.
 */
:root{
  --cpq44-navy:#082d5b;
  --cpq44-blue:#0f5aa7;
  --cpq44-soft:#f4f7fb;
  --cpq44-line:#dfe7f1;
  --cpq44-text:#12233e;
  --cpq44-muted:#68778c;
  --cpq44-card:#fff;
  --cpq44-radius:18px;
}

@media(max-width:991.98px){
  /* Header: logo on the left, actions on the right. */
  .menubar .navbar>.container{
    direction:ltr!important;
    min-height:64px!important;
    padding-inline:14px!important;
    gap:10px!important;
  }
  .navbar-brand.logo{
    order:1!important;
    flex:0 1 auto!important;
    width:auto!important;
    max-width:48%!important;
    margin:0 auto 0 0!important;
    justify-content:flex-start!important;
  }
  html[dir="rtl"] .navbar-brand.logo{justify-content:flex-start!important}
  .navbar-brand.logo img{
    height:45px!important;
    max-height:45px!important;
    max-width:100%!important;
  }
  .menu-offcanves{
    order:2!important;
    flex:0 0 auto!important;
    margin:0 0 0 auto!important;
    direction:ltr!important;
    gap:5px!important;
  }
  .cpq-mobile-header-icon{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border:0!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#082d5b!important;
  }
  .cpq-mobile-header-icon svg{width:25px!important;height:25px!important}
  .cpq-css-icon-menu{transform:scale(1.05)}

  /* Readability: old helper classes were too small on phones. */
  body{font-size:16px!important;line-height:1.65!important;color:var(--cpq44-text)!important}
  body p,body li,body label,body .form-label,body .form-check-label,
  body .text-muted,body small{line-height:1.65!important}
  body .text-10px,body .text-11px,body .text-12px{font-size:14px!important}
  body .text-13px,body .text-14px{font-size:15px!important}
  body input,body select,body textarea,body .form-control,body .form-select{
    font-size:16px!important;
    min-height:50px!important;
  }
  body label,body .form-label{font-size:15px!important;font-weight:800!important;color:#263a56!important}
  body small,body .text-muted{font-size:13.5px!important;color:var(--cpq44-muted)!important}
  body h1{font-size:29px!important;line-height:1.3!important}
  body h2{font-size:24px!important;line-height:1.35!important}
  body h3{font-size:21px!important;line-height:1.4!important}
  body h4{font-size:19px!important;line-height:1.45!important}
  body h5{font-size:17px!important;line-height:1.45!important}

  /* Remove duplicated account strip; bottom app navigation remains available. */
  .cpq-account-mobile-tabs{display:none!important}

  /* Clean breadcrumb/header block. */
  .bread-crumb{
    padding:18px 0 20px!important;
    background:#f7f9fc!important;
    border-bottom:1px solid var(--cpq44-line)!important;
  }
  .bread-crumb .container{padding-inline:18px!important}
  .bread-crumb .row{margin:0!important}
  .bread-crumb .col-auto{padding:0!important}
  .bread-crumb .breadcrumb{
    direction:rtl!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:0 0 8px!important;
    font-size:14px!important;
  }
  .bread-crumb .breadcrumb-item,
  .bread-crumb .breadcrumb-item a,
  .bread-crumb .breadcrumb-item span{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    padding:0!important;
    color:#65758b!important;
    font-size:14px!important;
    line-height:1.4!important;
  }
  .bread-crumb .breadcrumb>li>i{font-size:11px!important;color:#94a3b8!important}
  .bread-crumb .brd-home{font-size:15px!important;color:var(--cpq44-blue)!important}
  .bread-crumb h1{
    margin:0!important;
    color:var(--cpq44-navy)!important;
    font-size:29px!important;
    font-weight:900!important;
  }

  /* Profile page. */
  .wish-list-body.message{padding:18px 0 32px!important;background:var(--cpq44-soft)!important}
  .wish-list-body.message>.container{padding-inline:14px!important}
  .profile-ful-body{
    padding:18px!important;
    border:1px solid var(--cpq44-line)!important;
    border-radius:20px!important;
    box-shadow:0 10px 30px rgba(13,38,72,.06)!important;
  }
  .profile-parrent{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:14px!important;
    margin-top:0!important;
  }
  .profile-child{align-items:center!important}
  .profile-child>a img,.student-profile-info .profile-image{
    width:82px!important;height:82px!important;min-width:82px!important;
  }
  .profile-child .child-text h5{font-size:19px!important;font-weight:900!important;margin-bottom:4px!important}
  .profile-child .child-text p{font-size:14px!important}
  .profile-child-btn{width:100%!important}
  .profile-child-btn form{width:100%!important;flex-wrap:wrap!important;gap:8px!important}
  .profile-child-btn label,.profile-child-btn button{flex:1 1 auto!important;min-height:46px!important}
  .profile-input-section .row{row-gap:4px!important}
  .profile-input-section .input-group-text{min-width:48px!important;justify-content:center!important;font-size:16px!important}
  .profile-input-section .form-check{display:flex!important;align-items:flex-start!important;gap:9px!important}
  .profile-input-section .form-check-input{width:20px!important;height:20px!important;min-height:20px!important;margin-top:3px!important}

  .cpq-membership-photo-settings{
    margin:20px 0 4px!important;
    padding:18px!important;
    border:1px solid #dbe6f2!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,#f7fbff,#fff)!important;
  }
  .cpq-membership-photo-settings__head{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:14px!important}
  .cpq-membership-photo-settings__head i{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:12px!important;background:#e8f2ff!important;color:var(--cpq44-blue)!important}
  .cpq-membership-photo-settings__head h4{margin:0 0 2px!important;color:var(--cpq44-navy)!important}
  .cpq-membership-photo-settings__preview{display:flex!important;align-items:center!important;gap:13px!important;margin-bottom:14px!important}
  .cpq-membership-photo-settings__preview img{width:82px!important;height:96px!important;object-fit:cover!important;border-radius:14px!important;border:1px solid var(--cpq44-line)!important;background:#eef2f7!important}
  .cpq-membership-photo-settings .form-check{margin-top:12px!important;padding:12px!important;border-radius:13px!important;background:#fff!important;border:1px solid var(--cpq44-line)!important}
  .cpq-membership-photo-settings .btn{width:100%!important;margin-top:13px!important}

  /* Logged-in phone footer: keep copyright and policy links only. */
  body.cpq-user-logged-in footer .ft2-padding,
  body.cpq-user-logged-in footer .ft2-border-bottom{display:none!important}
  body.cpq-user-logged-in footer{
    margin-top:18px!important;
    padding:12px 0 calc(var(--cpq-app-bottom-height) + var(--cpq-app-safe-bottom) + 8px)!important;
    background:#fff!important;
    border-top:1px solid var(--cpq44-line)!important;
  }
  body.cpq-user-logged-in footer .container{padding-inline:14px!important}
  body.cpq-user-logged-in footer .ft2-bottom-content{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:9px!important;
    padding:6px 0!important;
    text-align:center!important;
  }
  body.cpq-user-logged-in footer .ft2-copyright-info{margin:0!important;font-size:12px!important;line-height:1.6!important}
  body.cpq-user-logged-in footer .ft2-copyright-nav-group{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:5px 12px!important;margin:0!important;padding:0!important}
  body.cpq-user-logged-in footer .ft2-copyright-nav-link{font-size:11.5px!important}

  /* Invoice page: mobile cards, no wide hidden table. */
  .cpq-student-invoices{padding:18px 0 32px!important;background:var(--cpq44-soft)!important}
  .cpq-student-invoices .container-fluid{padding-inline:14px!important}
  .cpq-invoices-table{padding:17px 14px!important;border-radius:19px!important}
  .cpq-invoices-table>h4{font-size:23px!important;color:var(--cpq44-navy)!important}
  .cpq-account-summary{gap:10px!important}
  .cpq-account-card{padding:15px!important;border-radius:15px!important}
  .cpq-account-card small{font-size:14px!important}
  .cpq-account-card strong{font-size:21px!important}
  .cpq-invoices-table .table-responsive{overflow:visible!important}
  .cpq-invoices-table table,.cpq-invoices-table tbody,.cpq-invoices-table tr,.cpq-invoices-table td{display:block!important;width:100%!important;min-width:0!important}
  .cpq-invoices-table thead{display:none!important}
  .cpq-invoices-table tbody{display:grid!important;gap:14px!important}
  .cpq-invoices-table tr{
    padding:14px!important;
    border:1px solid var(--cpq44-line)!important;
    border-radius:17px!important;
    background:#fff!important;
    box-shadow:0 5px 18px rgba(13,38,72,.045)!important;
  }
  .cpq-invoices-table td{
    display:grid!important;
    grid-template-columns:minmax(112px,38%) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    padding:9px 0!important;
    border:0!important;
    border-bottom:1px dashed #e6edf5!important;
    text-align:right!important;
    font-size:15px!important;
  }
  .cpq-invoices-table td:last-child{border-bottom:0!important;padding-bottom:0!important}
  .cpq-invoices-table td::before{content:attr(data-label);color:#617187!important;font-weight:900!important;font-size:13.5px!important}
  .cpq-invoice-actions{min-width:0!important;width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  .cpq-invoice-action{font-size:14px!important;min-height:46px!important}

  /* Unified memberships + certificates. */
  .cpq-cert-account{padding:18px 0 34px!important}
  .cpq-cert-account .container-fluid{padding-inline:14px!important}
  .cpq-cert-hero{padding:19px 17px!important;border-radius:19px!important}
  .cpq-cert-hero h1{font-size:27px!important}
  .cpq-cert-hero p{font-size:14.5px!important}
  .cpq-cert-card{padding:17px 14px!important}
  .cpq-unified-section-nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 14px!important}
  .cpq-unified-section-nav a{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:46px!important;border:1px solid #dbe6f2!important;border-radius:13px!important;background:#fff!important;color:#38506f!important;font-size:14px!important;font-weight:900!important;text-decoration:none!important}
  .cpq-unified-section-nav a:first-child{background:#eaf3ff!important;color:#0f559b!important;border-color:#cbdff5!important}
  .cpq-membership-overview{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .cpq-membership-card-preview{overflow:hidden!important;border-radius:16px!important;border:1px solid var(--cpq44-line)!important;background:#f4f7fb!important}
  .cpq-membership-card-preview img{display:block!important;width:100%!important;height:auto!important}
  .cpq-membership-facts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
  .cpq-membership-fact{padding:12px!important;border:1px solid var(--cpq44-line)!important;border-radius:13px!important;background:#f9fbfd!important}
  .cpq-membership-fact small{display:block!important;margin-bottom:3px!important;font-size:12.5px!important}
  .cpq-membership-fact strong{display:block!important;font-size:15px!important;color:var(--cpq44-navy)!important}
  .cpq-membership-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important}
  .cpq-membership-actions .cpq-cert-btn{width:100%!important}
  .cpq-membership-history{display:grid!important;gap:8px!important;margin:12px 0 0!important;padding:0!important;list-style:none!important}
  .cpq-membership-history li{padding:11px!important;border:1px solid var(--cpq44-line)!important;border-radius:12px!important;background:#fff!important}

  /* Bottom navigation readability. */
  .cpq-mobile-bottom-nav__item{gap:3px!important}
  .cpq-mobile-bottom-nav__label{font-size:11px!important;font-weight:800!important}
  .cpq-mobile-bottom-nav__icon svg{width:23px!important;height:23px!important}
}

@media(min-width:600px) and (max-width:991.98px){
  .navbar-brand.logo{max-width:42%!important}
  .navbar-brand.logo img{height:50px!important;max-height:50px!important}
  .cpq-membership-overview{grid-template-columns:minmax(260px,42%) minmax(0,1fr)!important}
}

@media(max-width:370px){
  .menubar .navbar>.container{padding-inline:9px!important;gap:4px!important}
  .navbar-brand.logo{max-width:45%!important}
  .navbar-brand.logo img{height:39px!important;max-height:39px!important}
  .cpq-mobile-header-icon{width:38px!important;height:38px!important;min-width:38px!important}
  .menu-offcanves{gap:2px!important}
  .cpq-invoices-table td{grid-template-columns:1fr!important;gap:3px!important}
  .cpq-membership-facts{grid-template-columns:1fr!important}
}

@media(min-width:992px){
  .cpq-unified-section-nav{display:flex;gap:10px;margin-bottom:20px}
  .cpq-unified-section-nav a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 18px;border:1px solid #dbe6f2;border-radius:12px;background:#fff;color:#38506f;font-weight:900;text-decoration:none}
  .cpq-unified-section-nav a:first-child{background:#eaf3ff;color:#0f559b;border-color:#cbdff5}
  .cpq-membership-overview{display:grid;grid-template-columns:minmax(300px,42%) minmax(0,1fr);gap:22px;align-items:start}
  .cpq-membership-card-preview{overflow:hidden;border:1px solid #e1e8f0;border-radius:16px;background:#f5f7fb}
  .cpq-membership-card-preview img{display:block;width:100%;height:auto}
  .cpq-membership-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cpq-membership-fact{padding:13px;border:1px solid #e1e8f0;border-radius:13px;background:#f9fbfd}
  .cpq-membership-fact small{display:block;color:#708096;margin-bottom:3px}
  .cpq-membership-fact strong{display:block;color:#102e58}
  .cpq-membership-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
  .cpq-membership-history{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}
  .cpq-membership-history li{padding:11px 13px;border:1px solid #e1e8f0;border-radius:12px;background:#fff}
}

/* Final v44 readability and alert fixes. */
@media(max-width:991.98px){
  .cpq-mobile-drawer__header strong{font-size:19px!important}
  .cpq-mobile-user{padding:15px!important;gap:13px!important}
  .cpq-mobile-user b{font-size:17px!important;line-height:1.4!important}
  .cpq-mobile-user small{font-size:13px!important;line-height:1.45!important}
  .cpq-mobile-menu-title{padding:17px 10px 6px!important;font-size:12px!important;letter-spacing:.25px!important}
  .cpq-mobile-menu-link{min-height:54px!important;padding:10px 12px!important;font-size:16px!important;line-height:1.45!important}
  .cpq-mobile-menu-link i{width:36px!important;height:36px!important;min-width:36px!important;font-size:16px!important}
  .cpq-mobile-menu-count{min-width:26px!important;height:26px!important;font-size:11px!important}

  .cpq-profile-update-alert{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:10px 12px!important;
    padding:13px!important;
  }
  .cpq-profile-update-alert__icon{width:42px!important;height:42px!important;min-width:42px!important;font-size:17px!important}
  .cpq-profile-update-alert__text strong{font-size:15px!important}
  .cpq-profile-update-alert__text small{font-size:12.5px!important}
  .cpq-profile-update-alert__action{
    grid-column:1/-1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:42px!important;
    padding:8px 13px!important;
    border-radius:12px!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.35!important;
  }
  .cpq-profile-update-alert__action i{font-size:13px!important}
}
