.myaccount-menu,
.customer-dashboard .dashboard-links {
   flex: 0 0 280px;
   max-width: 280px;
   padding: 0;
}

.myaccount-menu .dashboard-links,
.customer-dashboard .dashboard-links {
   width: 100%;
   margin: 0;
   background: #fff;
   border: 1px solid #e6ecf2;
   border-radius: 4px;
   overflow: hidden;
   margin-top: 35px;
}

.myaccount-menu .dashboard-links ul,
.customer-dashboard .dashboard-links ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

.myaccount-menu .dashboard-links ul li,
.customer-dashboard .dashboard-links ul li {
   margin: 0;
   padding: 0;
}

.myaccount-menu .dashboard-links ul li a,
.customer-dashboard .dashboard-links ul li a {
   display: block;
   padding: 16px 22px;
   color: #36454f;
   font-size: 14px;
   font-weight: 500;
   line-height: 1.35;
   text-align: left;
   text-decoration: none;
   border-bottom: 1px solid #e6ecf2;
   transition: color 0.2s ease, background-color 0.2s ease;
}

.myaccount-menu .dashboard-links ul li:last-child a,
.customer-dashboard .dashboard-links ul li:last-child a {
   border-bottom: 0;
}

.myaccount-menu .dashboard-links ul li a:hover,
.myaccount-menu .dashboard-links ul li a:focus,
.customer-dashboard .dashboard-links ul li a:hover,
.customer-dashboard .dashboard-links ul li a:focus {
   color: #192b79;
   background-color: #f5fbff;
   text-decoration: none;
}

.myaccount-details {
   flex: 1 1 auto;
   max-width: calc(100% - 280px);
   padding-left: 30px;
}

.customer-dashboard .dashboard-content {
   flex: 1 1 auto;
   min-width: 0;
   padding-left: 30px;
}

.myaccount-details .addresses {
   width: 100%;
   gap: 22px;
   margin: 0;
}

.myaccount-details .addresses>[class*="col-"] {
   display: flex;
   flex: 1 1 calc(50% - 22px);
   max-width: calc(50% - 11px);
   min-width: 280px;
   margin: 0 !important;
   padding: 0;
}

.myaccount-details .addresses .card {
   display: flex;
   flex-direction: column;
   width: 100%;
   min-height: 250px;
   overflow: hidden;
   background: #fff;
   border: 1px solid #dfe7ef;
   border-radius: 8px;
   box-shadow: 0 10px 24px rgba(25, 43, 121, 0.08);
   transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.myaccount-details .addresses .card:hover {
   border-color: #b9c8d9;
   box-shadow: 0 14px 30px rgba(25, 43, 121, 0.12);
   transform: translateY(-2px);
}

.myaccount-details .addresses .card-body {
   flex: 1 1 auto;
   padding: 26px;
}

.myaccount-details .addresses .card-body p {
   margin: 0;
}

.myaccount-details .addresses address {
   position: relative;
   margin: 0;
   padding-left: 24px;
   color: #36454f;
   font-size: 14px;
   line-height: 1.75;
}

.myaccount-details .addresses address:before {
   content: "\f041";
   position: absolute;
   top: 2px;
   left: 0;
   color: #00aeee;
   font-family: FontAwesome;
   font-size: 16px;
   line-height: 1;
}

.myaccount-details .addresses address strong {
   display: inline-block;
   margin-bottom: 8px;
   color: #192b79;
   font-size: 15px;
   font-weight: 700;
}

.myaccount-details .addresses .card-footer {
   margin-top: auto;
   padding: 0;
   background: #f7fafc;
   border-top: 1px solid #dfe7ef;
}

.myaccount-details .addresses .card-footer .row {
   margin: 0;
}

.myaccount-details .addresses .card-footer [class*="col-"] {
   padding: 0;
}

.myaccount-details .addresses .card-link {
   display: block;
   padding: 14px 16px;
   color: #192b79;
   font-size: 13px;
   font-weight: 700;
   letter-spacing: 0.01em;
   text-decoration: none;
   text-transform: uppercase;
   transition: color 0.2s ease, background-color 0.2s ease;
}

.myaccount-details .addresses .card-link:hover,
.myaccount-details .addresses .card-link:focus {
   color: #fff;
   background: #192b79;
   text-decoration: none;
}

.myaccount-details .addresses .col-6+.col-6 {
   border-left: 1px solid #dfe7ef;
}

.myaccount-details .addresses .account-add-new {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 76px;
   height: 76px;
   color: #fff;
   background: #00aeee;
   border-radius: 50%;
   box-shadow: 0 12px 24px rgba(0, 174, 238, 0.22);
   text-decoration: none;
   transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.myaccount-details .addresses .account-add-new:hover,
.myaccount-details .addresses .account-add-new:focus {
   color: #fff;
   background: #192b79;
   box-shadow: 0 14px 28px rgba(25, 43, 121, 0.22);
   transform: translateY(-2px);
   text-decoration: none;
}

.myaccount-details .addresses .account-add-new .fa {
   font-size: 28px;
}

.myaccount-details .addresses .display-4 {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 150px;
   margin: 0 !important;
}

.stripe-card-manager #stripe-save-card-form {
   max-width: 920px;
}

.stripe-card-manager .stripe-card-line {
   margin-bottom: 14px !important;
   color: #36454f;
   font-size: 14px;
   line-height: 1.55;
}

.stripe-card-manager .stripe-card-line strong {
   color: #192b79;
   font-weight: 700;
}

.stripe-card-manager .stripe-default-badge {
   display: inline-block;
   margin: 0 0 16px;
   padding: 5px 10px;
   color: #192b79;
   background: #e6f7fd;
   border: 1px solid #aee8fb;
   border-radius: 4px;
   font-size: 12px;
   font-weight: 700;
   line-height: 1.2;
   text-transform: uppercase;
   float: right;
}

.stripe-card-manager .stripe-save-card-form {
   margin-top: 22px;
}

.stripe-card-manager .stripe-save-card-form .group-textbox {
   margin-bottom: 18px;
}

.stripe-card-manager .stripe-form-section-title {
   margin: 30px 0 18px;
   color: #192b79;
   font-size: 20px;
   font-weight: 700;
   line-height: 1.3;
}

.stripe-card-manager #stripe-save-card-form label {
   display: block;
   margin-bottom: 8px;
   color: #192b79;
   font-size: 13px;
   font-weight: 700;
   line-height: 1.3;
}

.stripe-card-manager #stripe-save-card-form .form-control {
   min-height: 46px;
   padding: 11px 14px;
   color: #36454f;
   background-color: #fff;
   border-color: #cfd9e5;
   border-radius: 4px;
   box-shadow: none;
   font-size: 15px;
   line-height: 1.4;
}

.stripe-card-manager #stripe-save-card-form .form-control:focus {
   border-color: #00aeee;
   box-shadow: 0 0 0 3px rgba(0, 174, 238, 0.13);
}

.stripe-card-manager .stripe-card-element {
   min-height: 46px;
   padding-top: 13px;
}

.stripe-card-manager .stripe-save-card-message {
   margin: 16px 0;
   color: #a94442;
   font-size: 14px;
   line-height: 1.5;
}

.stripe-card-manager .stripe-save-card-message.success {
   color: #2b7a2b;
}

.stripe-card-manager #stripe-save-card-button {
   margin-right: 10px;
}

@media (max-width: 1024px) {

   .myaccount-menu,
   .customer-dashboard .dashboard-links {
      flex-basis: 220px;
      max-width: 220px;
   }

   .myaccount-menu .dashboard-links ul li a,
   .customer-dashboard .dashboard-links ul li a {
      padding: 14px 16px;
      font-size: 13px;
   }

   .myaccount-details {
      max-width: calc(100% - 220px);
      padding-left: 24px;
   }

   .customer-dashboard .dashboard-content {
      padding-left: 24px;
   }

   .myaccount-details .addresses>[class*="col-"] {
      flex-basis: 100%;
      max-width: 100%;
   }
}

@media (max-width: 768px) {

   .myaccount-menu {
      display: block !important;
      width: 100%;
      padding: 0;
      background: transparent;
   }

   .myaccount-menu .dashboard-links {
      display: block !important;
   }

   .myaccount-menu,
   .myaccount-details,
   .customer-dashboard .dashboard-links,
   .customer-dashboard .dashboard-content {
      flex: 0 0 100%;
      max-width: 100%;
   }

   .myaccount-menu,
   .customer-dashboard .dashboard-links {
      margin-bottom: 24px;
   }

   .myaccount-details,
   .customer-dashboard .dashboard-content {
      padding-left: 0;
   }

   .myaccount-details .addresses {
      gap: 16px;
   }

   .myaccount-details .addresses>[class*="col-"] {
      min-width: 100%;
   }

   .myaccount-details .addresses .card-body {
      padding: 22px;
   }
}


.myaccount-details .table-responsive thead th {
   border-bottom: 1px solid #dee2e6;
}

/*=========================================================*/
/* ACCOUNT LOGIN */
/*=========================================================*/

.account-login-page {
   position: relative;
   min-height: calc(100vh - 220px);
   padding: 48px 16px 68px;
   background:
      linear-gradient(135deg, rgba(0, 174, 238, 0.12), rgba(225, 244, 253, 1)),
      #f7fafc;
   overflow: hidden;
   margin-top: -20px;
}

.account-login-page:before {
   content: "";
   position: absolute;
   inset: 0;
   background-image:
      linear-gradient(rgba(25, 43, 121, 0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(25, 43, 121, 0.06) 1px, transparent 1px);
   background-size: 44px 44px;
   mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), transparent 75%);
   -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), transparent 75%);
   pointer-events: none;
}

.account-login-page .form-login-signup-box {
   position: relative;
   z-index: 1;
   width: 100%;
   max-width: 980px;
   flex: 0 1 980px;
   overflow: hidden;
   background: #fff;
   border: 1px solid rgba(207, 217, 229, 0.9);
   border-radius: 8px;
   box-shadow: 0 24px 60px rgba(25, 43, 121, 0.16);
}

.account-login-page .form-login-signup-box>.row {
   min-height: 560px;
}

.account-login-page .left-login {
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   min-height: 560px;
   padding: 48px 42px;
   background:
      linear-gradient(145deg, rgba(0, 174, 238, 0.82), rgba(25, 43, 121, 0.96)),
      #192b79;
   isolation: isolate;
}

.account-login-page .left-login:before,
.account-login-page .left-login:after {
   content: "";
   position: absolute;
   border: 1px solid rgba(255, 255, 255, 0.16);
   border-radius: 50%;
   pointer-events: none;
   z-index: -1;
}

.account-login-page .left-login:before {
   width: 320px;
   height: 320px;
   top: -125px;
   right: -120px;
}

.account-login-page .left-login:after {
   width: 220px;
   height: 220px;
   bottom: -90px;
   left: -70px;
}

.account-login-page .left-login img:first-child {
   width: 174px;
   max-width: 72%;
   height: auto;
   margin-bottom: auto;
   filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.16));
}

.account-login-page .left-login p {
   display: none;
}

.account-login-page .left-login .bottom {
   width: min(340px, 82%);
   max-width: 340px;
   height: auto;
   margin: 48px auto auto;
   opacity: 0.95;
   filter: drop-shadow(0 18px 22px rgba(0, 0, 0, 0.18));
}

.account-login-page .contact-form.loginform {
   display: flex;
   flex-direction: column;
   justify-content: center;
   min-height: 560px;
   padding: 64px 40px;
   background: #fff;
}

.account-login-page .contact-form.loginform h3 {
   margin: 0 0 30px;
   color: #192b79;
   font-size: 24px;
   font-weight: 800;
   line-height: 1.25;
   letter-spacing: 0;
}

.account-login-page .contact-form.loginform h3 .fa {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 35px;
   height: 35px;
   margin-right: 10px;
   color: #fff;
   background: #00aeee;
   border-radius: 50%;
   font-size: 15px;
   vertical-align: middle;
}

.account-login-page .alert {
   margin-bottom: 18px;
   border: 0;
   border-radius: 6px;
   font-size: 14px;
   line-height: 1.45;
}

.account-login-page .alert-success {
   color: #24613a;
   background: #e7f7ed;
}

.account-login-page .alert-danger {
   color: #8d2c25;
   background: #fff0ed;
}

.account-login-page .form-group {
   margin-bottom: 18px;
}

.account-login-page .form-control {
   min-height: 52px;
   padding: 14px 16px;
   color: #26343f;
   background-color: #fbfdff;
   border: 1px solid #cfd9e5;
   border-radius: 6px;
   box-shadow: none;
   font-size: 15px;
   line-height: 1.4;
   transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.account-login-page .form-control::placeholder {
   color: #778695;
}

.account-login-page .form-control:focus {
   background-color: #fff;
   border-color: #00aeee;
   box-shadow: 0 0 0 4px rgba(0, 174, 238, 0.14);
   outline: 0;
}

.account-login-page .form-group.text-right {
   margin-top: -4px;
   margin-bottom: 22px;
}

.account-login-page .form-group.text-right a {
   color: #192b79;
   font-size: 14px;
   font-weight: 700;
   text-decoration: none;
}

.account-login-page .form-group.text-right a:hover,
.account-login-page .form-group.text-right a:focus {
   color: #00aeee;
   text-decoration: none;
}

.account-login-page .btn {
   min-height: 52px;
   font-size: 14px;
   font-weight: 800;
   letter-spacing: 0.03em;
   text-transform: uppercase;
   transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.account-login-page .btn:hover,
.account-login-page .btn:focus {
   text-decoration: none;
}

.account-login-page .btn-warning {
   color: #192b79;
   background-color: #ffc107;
   border-color: #ffc107;
   box-shadow: 0 10px 22px rgba(255, 193, 7, 0.24);
}

.account-login-page .btn-warning:hover,
.account-login-page .btn-warning:focus {
   color: #fff;
   background-color: #192b79;
   border-color: #192b79;
   box-shadow: 0 12px 24px rgba(25, 43, 121, 0.24);
}

.account-login-page .btn-outline-dark {
   color: #192b79;
   background: #fff;
   border-color: #cfd9e5;
   box-shadow: none;
}

.account-login-page .btn-outline-dark:hover,
.account-login-page .btn-outline-dark:focus {
   color: #fff;
   background: #00aeee;
   border-color: #00aeee;
   box-shadow: 0 12px 24px rgba(0, 174, 238, 0.22);
}

.account-register-page .form-login-signup-box {
   max-width: 1080px;
   flex-basis: 1080px;
}

.account-register-page .form-login-signup-box>.row,
.account-register-page .left-login,
.account-register-page .contact-form.loginform {
   min-height: 650px;
}

.account-register-page .form-login-signup-box>.row {
   align-items: stretch !important;
}

.account-register-page .contact-form.loginform {
   padding: 48px 40px;
}

.account-register-page .contact-form.loginform h3 {
   margin-bottom: 22px;
}

.account-register-page .left-login,
.account-forgotten-page .left-login {
   justify-content: flex-start;
}

.account-register-page .left-login img:first-child,
.account-forgotten-page .left-login img:first-child {
   margin-bottom: 0;
}

.account-register-page .left-login p,
.account-forgotten-page .left-login p {
   display: block;
   height: auto !important;
   max-width: 330px;
   margin: 40px auto 0 !important;
   color: rgba(255, 255, 255, 0.94);
   font-size: 17px;
   font-weight: 700;
   line-height: 1.55;
}

.account-register-page .left-login .bottom,
.account-forgotten-page .left-login .bottom {
   margin-top: auto;
}

.account-register-page .ui-form {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   column-gap: 14px;
   row-gap: 14px;
   margin: 0;
}

.account-register-page .form-group {
   margin-bottom: 0;
}

.account-register-page .form-control {
   min-height: 48px;
   padding-top: 12px;
   padding-bottom: 12px;
}

.account-register-page .form-control.invalid {
   border-color: #d95045;
   background-color: #fffafa;
}

.account-register-page .form-control.invalid:focus {
   border-color: #d95045;
   box-shadow: 0 0 0 4px rgba(217, 80, 69, 0.13);
}

.account-register-page .required2,
.account-register-page .form-group-full,
.account-register-page .auth-captcha,
.account-register-page .auth-agree,
.account-register-page .auth-action-primary,
.account-register-page .auth-action-secondary {
   grid-column: 1 / -1;
}

.account-register-page .text-danger {
   margin-top: 5px;
   font-size: 12px;
}

.account-register-page .auth-agree label {
   margin: 0;
   color: #4f5f6d;
   font-size: 13px;
   line-height: 1.45;
}

.account-register-page .auth-action-primary {
   margin-top: 4px;
}

.account-forgotten-page .form-login-signup-box>.row,
.account-forgotten-page .left-login,
.account-forgotten-page .contact-form.loginform {
   min-height: 500px;
}

.account-forgotten-page .contact-form.loginform h3 {
   margin-bottom: 24px;
}

.account-forgotten-page .contact-form.loginform form {
   margin: 0;
}

@media (max-width: 991px) {
   .account-login-page {
      min-height: auto;
      padding: 32px 14px 48px;
   }

   .account-login-page .form-login-signup-box {
      max-width: 720px;
      flex-basis: 720px;
   }

   .account-login-page .form-login-signup-box>.row {
      min-height: 0;
   }

   .account-login-page .left-login,
   .account-login-page .contact-form.loginform {
      min-height: auto;
   }

   .account-login-page .left-login {
      padding: 30px 24px;
   }

   .account-login-page .left-login img:first-child {
      margin: 0;
   }

   .account-login-page .left-login .bottom {
      display: none;
   }

   .account-login-page .contact-form.loginform {
      padding: 42px 34px;
   }

   .account-login-page .contact-form.loginform h3 {
      font-size: 24px;
   }

   .account-register-page .form-login-signup-box {
      max-width: 720px;
      flex-basis: 720px;
   }

   .account-register-page .form-login-signup-box>.row,
   .account-register-page .left-login,
   .account-register-page .contact-form.loginform,
   .account-forgotten-page .form-login-signup-box>.row,
   .account-forgotten-page .left-login,
   .account-forgotten-page .contact-form.loginform {
      min-height: auto;
   }

   .account-register-page .left-login p,
   .account-forgotten-page .left-login p {
      margin-top: 18px !important;
      font-size: 15px;
      line-height: 1.45;
   }

   .account-register-page .contact-form.loginform {
      padding: 38px 34px;
   }
}

@media (max-width: 575px) {
   .account-login-page {
      padding: 22px 10px 36px;
   }

   .account-login-page .form-login-signup-box {
      border-radius: 6px;
   }

   .account-login-page .left-login {
      padding: 22px 18px;
   }

   .account-login-page .left-login img:first-child {
      width: 148px;
   }

   .account-login-page .contact-form.loginform {
      padding: 32px 22px;
   }

   .account-login-page .contact-form.loginform h3 {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 22px;
   }

   .account-login-page .contact-form.loginform h3 .fa {
      flex: 0 0 36px;
      width: 36px;
      height: 36px;
      margin-right: 0;
      font-size: 15px;
   }

   .account-login-page .form-control,
   .account-login-page .btn {
      min-height: 50px;
   }

   .account-register-page .ui-form {
      grid-template-columns: 1fr;
      row-gap: 12px;
   }

   .account-register-page .contact-form.loginform {
      padding: 30px 20px;
   }

   .account-register-page .left-login p,
   .account-forgotten-page .left-login p {
      max-width: 260px;
      font-size: 14px;
   }
}
