/*
Theme Name: Hello Elementor Child
Theme URI: https://amazingbrainz.com
Description: Child theme for Hello Elementor
Author: Your Name
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

body {
}
.ab-account-layout{
    align-items:flex-start;
    display:flex;
    gap:40px;
    max-width:1400px;
    margin:60px auto;
    padding:0 20px;
}

.ab-account-content{
    flex:1;
    padding:0;
    background:transparent;
    box-shadow:none;
}

.ab-account-content-full{
    width:100%;
    max-width:1400px;
    margin:auto;
}

.ab-account-sidebar{
    width:300px;
    flex-shrink:0;
    top:120px;
}

/*Navigation*/
.woocommerce-MyAccount-navigation ul{
    list-style:none;
    padding:0;
    margin:0;
}

.woocommerce-MyAccount-navigation li{
    margin-bottom:8px;
}

.woocommerce-MyAccount-navigation a{
    display:flex;
    align-items:center;
    padding:16px 20px;
    background:#fff;
    color:#333;
    font-weight:600;
    text-decoration:none;
    transition:.3s;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.woocommerce-MyAccount-navigation a:hover{
    background:#6da367;
    color:#fff;
}

.woocommerce-MyAccount-navigation .is-active a{
    background:#6da367;
    color:#fff;
}

/*Profile*/
.ab-profile-card{
    font-family: 'GT Walsheim';
    font-size: 17px;
    background:#fff;
    padding:30px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.ab-profile-card img{
    width:90px;
    height:90px;
    border-radius:50%;
    border:4px solid #6da367;
}

.ab-profile-card h3{
    margin-top:15px;
    color:#333;
}

.ab-profile-card p{
    color:#888;
}


.ab-logout-card{
    margin-top:20px;
    background:#6da367;
    color: #fff !important;
    border-radius:50px;
    padding:15px;
    text-align: center;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    font-family: 'GT Walsheim';
    font-size: 17px;
}

.ab-logout-card:hover {
    background:#6FA7C9;
    color:#fff !important;
}

.ab-logout-card a,
.ab-logout-card a:visited{
    text-decoration:none;
    color:#fff !important;
    font-weight:600;
}

.ab-profile-card{
    background:#fff;
    padding:25px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.ab-profile-top{
    display:block;
    text-align:center;
    align-items:center;
    gap:15px;
    margin-bottom:25px;
}

.ab-profile-top img{
    border-radius:50%;
}

.ab-profile-info {
    text-align: left;
}

.ab-profile-info h3{
    margin:0;
}

.ab-profile-info p{
    margin:5px 0 0;
    color:#6da367;
}

.ab-stats-card{
    margin-top:25px;
    border:2px solid #6da367;
    border-radius:10px;
    padding:25px;
    display:flex;
    justify-content:space-between;
    align-items:center;

    background:#fff;
}

.ab-stats-left {
    text-align: left;
}

.ab-stats-left strong{
    display:block;
    font-size:42px;
    margin:10px 0;
    text-align: left;
}

.ab-stats-left small{
    color:#666;
    font-family: 'GT Walsheim';
    font-size: 17px;
}

/*Quick Access*/
.account-quick-access{
    display:flex;
    grid-template-columns: repeat(3, 1fr) !important;
    gap:24px;
    margin:30px 0;
}

.quick-card {

    flex: 1;
    height: 180px;
    background: #edf4eb;
    font-family: 'GT Walsheim';
    font-size: 17px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #555;
}

.quick-card:hover{
    color:#555;
    background:#dfe9dc;
}

.quick-card-icon{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 25px;
}

.quick-card-icon img{
    width:34px;
    height:34px;
    object-fit:contain;
}

.ab-endpoint-content{
    background:#fff;
    padding:40px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.quick-card.active{
    background:#6da367 !important;
    color:#fff !important;
}

.quick-card.active span{
    color:#fff !important;
}

.quick-card.active .quick-card-icon{
    background:#fff;
}

.quick-card.active .quick-card-icon img,
.quick-card.active .quick-card-icon svg{
    opacity:1;
}

/*Welcome banner*/
.ab-welcome-banner{
    background:linear-gradient(135deg,#6da367,#5f8f49);
    color:#fff;
    font-family: 'GT Walsheim';
    font-size: 17px;
    padding:30px;
    margin-bottom:30px;
}

.ab-welcome-banner h2{
    margin:0 0 10px;
    color:#fff !important;
    font-size: 22px !important;
    font-weight: 600 !important;
}

.ab-welcome-banner p{
    margin:0;
    opacity:.9;
}

/* Focus state */
.woocommerce-account input[type="text"]:focus,
.woocommerce-account input[type="email"]:focus,
.woocommerce-account input[type="password"]:focus,
.woocommerce-account input[type="tel"]:focus,
.woocommerce-account textarea:focus,
.woocommerce-account select:focus{
    border-color:#6da367 !important;
    box-shadow:0 0 0 3px rgba(116,166,90,.2) !important;
    outline:none !important;
}

/* Eye icon */
.woocommerce form .show-password-input::before,
.woocommerce-page form .show-password-input::before{
    filter:
        invert(58%)
        sepia(20%)
        saturate(834%)
        hue-rotate(58deg)
        brightness(92%)
        contrast(89%);
}

/* Courses Table */
.ab-courses-table{
    width:100%;
    border-collapse:collapse;
}

.woocommerce-MyAccount-content-wrapper {
    font-family: 'GT Walsheim';
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
}

.ab-courses-table thead th{
    background:#edf4eb;
    text-align:left;
    vertical-align:middle !important;
    font-weight:500;
    font-size: 15px;
    color:#666;
    line-height:1.2;
    font-family: 'GT Walsheim';
    padding-top: 10px !important;
    padding-left: 10px !important;
}

.ab-courses-table td{
    padding-left:10px !important;
    vertical-align:middle !important;
    border-bottom:1px solid #eee;
}

.ab-status{
    padding:3px 8px;
    border-radius:50px;
    color:#fff;
    font-size:13px;
    font-family: 'GT Walsheim';
}

.ab-status-active{
    background:#6da367;
}

.ab-status-on-hold{
    background:#e7b354;
}

.ab-status-inactive{
    background:#df6d6d;
}

.ab-stat-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.ab-stat-content{
    flex:1;
}

.ab-stat-icon{
    width:70px;
    height:70px;
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ab-stat-icon img{
    width:56px;
    height:56px;
    object-fit:contain;
}

label[for="billing_phone"]::after{
    content:" *";
    color:#dc3232;
}

.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout,
.woocommerce-error {
    display: none !important;
}

.woocommerce-invalid input,
.woocommerce-invalid select,
.woocommerce-invalid textarea {
    border: 2px solid #dc3232 !important;
}

.woocommerce-invalid label {
    color: #dc3232;
}

.woocommerce-invalid-required-field .woocommerce-error,
.woocommerce-invalid .woocommerce-error,
span.error {
    font-size: 14px;
    margin-top: 6px;
    color: #dc3232;
}

.woocommerce input:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {

    border: 1px solid #6da367 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Hide WooCommerce default spinner */
.woocommerce .blockUI.blockOverlay:before,
.blockUI.blockOverlay:before {
    content: "" !important;
    border: 0 !important;
    width: 40px;
    height: 40px;
    background: url('https://amazingbrainz.com/wp-content/uploads/2026/06/spin.svg') center center no-repeat !important;
    background-size: contain !important;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -40px;
    margin-top: -40px;
    animation: ab-spin 1.2s linear infinite !important;
}

/* Optional overlay */
.blockUI.blockOverlay {
    background: rgba(255,255,255,.65) !important;
    opacity: 1 !important;
}

@keyframes ab-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.ab-header-cart{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    text-decoration:none;
}

.ab-header-cart img{
    width:24px;
    height:24px;
    object-fit:contain;
}

.ab-cart-count{
    position:absolute;
    font-family: 'GT Walsheim';
    top:-3px;
    right:-2px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#6da367;
    color:#fff;
    font-size:11px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}

.woocommerce-message,
.woocommerce-info{
    display:none !important;
}


/* Payment History */
.ab-payment-table{
    width:100%;
    border-collapse:collapse;
}

.ab-payment-table thead th{
    background:#edf4eb;
    text-align:left;
    font-weight:500;
    color:#666;
    font-size:15px;
    font-family: 'GT Walsheim';
    padding-top: 10px !important;
    padding-left: 10px !important;
}

.ab-payment-table td{
    padding-left:10px !important;
    vertical-align:middle !important;
    border-bottom:1px solid #eee;
}

.ab-payment-table tr:last-child td{
    border-bottom:none;
}

.ab-invoice-download{
    display:flex;
    justify-content:center;
    align-items:center;
}

.ab-payment-table th:last-child,
.ab-payment-table td:last-child{
    text-align:center !important;
    padding-left:0 !important;
}

.ab-invoice-download img{
    width:24px;
    height:24px;
    display:block;
}

.ab-status-completed{
    background:#6da367; /* Green */
}

.ab-status-processing{
    background:#e7b354; /* Orange */
}

.ab-status-pending,
.ab-status-on-hold{
    background:#e7b354; /* Orange */
}

.ab-status-cancelled,
.ab-status-failed,
.ab-status-refunded{
    background:#df6d6d; /* Red */
}

.woocommerce-order-pay .woocommerce-order {
    display: none !important;
}

.forgot-button {
    background:#6da367;
    font-weight:600;
    color:#fff;
    font-size:15px;
    font-family: 'GT Walsheim';
    padding: 14px 20px !important;
    border: none;
    border-radius: 50px;
    margin-top: 20px;
}
.forgot-button:hover {
    background:#6FA7C9;
}
.forgot-button-password {
    background:#6da367;
    font-weight:600;
    color:#fff;
    font-size:15px;
    font-family: 'GT Walsheim';
    padding: 14px 20px !important;
    border: none;
    border-radius: 50px;
}
.forgot-button-password:hover {
    background:#6FA7C9;
}
.forgot-field  {
    background-color: #FFFFFFB5;
    font-family: "GT Walsheim", Sans-serif;
    font-size: 15px;
    font-weight: 400;
    padding: 10px 14px !important;
    margin-right: 30px;
    border: none;
    width: 300px;
}

#show-reset-form{
    font-family: "GT Walsheim", Sans-serif;
    font-size: 15px;
    color: #666;
}

.ab-reset-form {
    color: #666;
}
.reset-field {
    font-family: "GT Walsheim", Sans-serif;
    font-size: 15px;
    font-weight: 400;
    padding: 10px 14px !important;
    margin-right: 30px;
    border: none;
    width: 300px;
    border-radius: 3px;
}
#save-password-btn{
    display:none;
}
#password-match-message {
    font-size: 15px;
}
#password-rules{
    margin-top:15px;
    font-size:14px;
    font-family: "GT Walsheim", Sans-serif;
    font-size: 15px;
}
#password-rules div{
    margin-bottom:5px;
    color:#df6d6d;
}
#password-rules .valid{
    color:#6da367;
}
.success-password {
    margin-left: 15px;
}

.ab-success-message{
    background:#f6fff0;
    border:1px solid #6da367;
    color:#6da367;
    padding:15px 20px;
    border-radius:4px;
    margin-bottom:20px;
}

.login-error {
    background: #ffe8e8;
    border-left: 5px solid #df6d6d;
    padding: 15px 20px;
    margin-bottom: 25px;
    color: #333;
    font-weight: 600;
    border-radius: 5px;
}

.ab-course-button {
    display:inline-block;
    background:#6da367;
    color:#fff!important;
    padding:3px 18px;
    border-radius:30px;
    font-size:13px;
    text-decoration:none;

}


.ab-course-button:hover {
    background:#6FA7C9;
}


.ab-course-locked {
    background:#e0dede;
    color:white;
    font-size:13px;
    padding:3px 18px;
    border-radius:30px;
}


.ab-course-expired {
    background:#e0dede;
    color:white;
    padding:3px 18px;
    font-size:13px;
    border-radius:30px;
}


.ab-child-block {
    margin-bottom:45px;
}


.ab-child-block h3 {
    margin-bottom:25px;
}

.ab-status-inactive {
    background:#e7b354;
    color:#fff;
    font-size:13px;
    padding:3px 18px;
    border-radius:30px;
}

.ab-status-expired {
    background:#df6d6d;
    color:#fff;
    padding:3px 18px;
    font-size:13px;
    border-radius:30px;
}

.ab-status-active {
    background:#6da367;
    color:#fff;
    padding:3px 18px;
    font-size:13px;
    border-radius:30px;
}

.child-error-message{
    color:#df6d6d;
    font-size:13px;
    margin-top:8px;
}

#ab_child_name_,
#ab_child_age_ {
    transition:0.2s;
}

.ab-status-suspended {
    background: #e7b354;
    color: #ffffff;
}