/* ===================================================================== */
/* CLASS-WF-WC-PRODUCT.PHP - LICENSE INFO STYLES                         */
/* ===================================================================== */
.wf-license-info {
    background: #f0f7ff;
    border: 1px solid #0073aa;
    border-radius: 4px;
    padding: 15px;
    margin: 20px 0;
}
.wf-license-badge {
    margin: 0 0 10px 0;
    font-weight: 600;
    color: #0073aa;
}
.wf-license-badge .dashicons {
    vertical-align: middle;
}
.wf-license-expiry {
    margin: 0;
    font-size: 14px;
    color: #555;
}

/* ===================================================================== */
/* CLASS-WF-MAGIC-LINK.PHP - MAGIC LINK SECTION STYLES                   */
/* ===================================================================== */
.wf-magic-link-section {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}
.wf-magic-link-divider {
    text-align: center;
    position: relative;
    margin: 20px 0;
}
.wf-magic-link-divider span {
    background: #fff;
    padding: 0 10px;
    position: relative;
    z-index: 1;
}
#wf_magic_link_message {
    margin-top: 10px;
}
#wf_magic_link_message.success {
    color: #46b450;
    font-weight: 600;
}
#wf_magic_link_message.error {
    color: #dc3232;
}

/* ===================================================================== */
/* CLASS-WF-DASHBOARD.PHP - COMPANY MANAGEMENT STYLES                    */
/* ===================================================================== */

/* My Company Page Container */
.wf-my-company {
    max-width: 900px;
}

.wf-my-company h2 {
    margin-bottom: 30px;
    font-size: 28px;
}

.wf-my-company h3 {
    margin: 30px 0 20px 0;
    font-size: 20px;
    border-bottom: 2px solid #0073aa;
    padding-bottom: 10px;
}

/* Company Edit Section */
.wf-company-edit-section {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 30px;
}

/* Company Logo Upload Section */
.wf-logo-upload-section {
    margin-bottom: 30px;
}

.wf-logo-preview-container {
    margin-bottom: 15px;
}

.wf-logo-preview {
    max-width: 200px;
    max-height: 200px;
    border-radius: 8px;
    border: 2px solid #e5e5e5;
    padding: 10px;
    background: #fff;
}

.wf-logo-placeholder {
    width: 200px;
    height: 200px;
    border: 2px dashed #ccc;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #f9f9f9;
    margin: 0 auto;
}

.wf-logo-placeholder .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #999;
    margin-bottom: 10px;
}

.wf-logo-placeholder p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.wf-logo-upload-controls .button {
    margin: 0 5px;
}

.wf-logo-remove-btn {
    color: #a00;
}

.wf-logo-remove-btn:hover {
    color: #dc3232;
    border-color: #dc3232;
}

.wf-logo-message {
    display: inline-block;
    margin-left: 10px;
    font-size: 14px;
}

.wf-logo-message.success {
    color: #46b450;
}

.wf-logo-message.error {
    color: #dc3232;
}

/* Company Logo Display (read-only) */
.wf-company-logo-display {
    text-align: center;
    margin-bottom: 20px;
}

.wf-company-logo-display img {
    max-width: 150px;
    max-height: 150px;
    border-radius: 8px;
    border: 2px solid #e5e5e5;
}

/* Company Form Styles */
.wf-company-form {
    margin-top: 20px;
}

.wf-form-row {
    margin-bottom: 20px;
}

.wf-form-row label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
}

.wf-form-control {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    transition: border-color 0.3s;
}

.wf-form-control:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 1px #0073aa;
}

.wf-form-row-group {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.wf-form-row-half {
    flex: 1;
    margin-bottom: 0;
}

.wf-form-actions {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.wf-form-actions button {
    padding: 12px 24px;
    font-size: 16px;
}

.wf-form-message {
    font-size: 14px;
    font-weight: 600;
}

.wf-form-message.success {
    color: #46b450;
}

.wf-form-message.error {
    color: #dc3232;
}

/* Reseller ID Display Section */
.wf-reseller-id-section {
    margin-bottom: 30px;
}

.wf-reseller-id-box {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.wf-reseller-id-label {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    opacity: 0.9;
}

.wf-reseller-id-value {
    font-size: 48px;
    font-weight: bold;
    margin: 10px 0;
    letter-spacing: 2px;
}

.wf-reseller-id-help {
    margin: 15px 0 0 0;
    font-size: 14px;
    opacity: 0.9;
}

/* Reseller Section */
.wf-reseller-section {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 30px;
}

.wf-reseller-form {
    margin-top: 15px;
}

.wf-help-text {
    color: #666;
    font-size: 14px;
    margin-bottom: 20px;
    font-style: italic;
}

.wf-reseller-info {
    background: #e8f5e9;
    border-left: 4px solid #46b450;
    padding: 15px 20px;
    border-radius: 4px;
}

.wf-success-message {
    margin: 0;
    color: #2e7d32;
    font-size: 15px;
}

.wf-success-message strong {
    color: #1b5e20;
}

.wf-reseller-id {
    display: inline-block;
    margin-left: 10px;
    font-size: 13px;
    color: #555;
    background: #fff;
    padding: 2px 8px;
    border-radius: 3px;
}

/* Read-only Company Details */
.wf-company-details {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 30px;
}

.wf-company-details h3 {
    margin-top: 0;
}

.wf-company-details p {
    margin: 10px 0;
    font-size: 15px;
    line-height: 1.6;
}

/* Company Users Section */
.wf-company-users {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 25px;
}

.wf-users-table {
    width: 100%;
    border-collapse: collapse;
}

.wf-users-table th {
    text-align: left;
    padding: 12px;
    background: #f5f5f5;
    border-bottom: 2px solid #ddd;
    font-weight: 600;
}

.wf-users-table td {
    padding: 12px;
    border-bottom: 1px solid #eee;
}

.wf-users-table tbody tr:hover {
    background: #f9f9f9;
}

.wf-license-manager .woocommerce-MyAccount-navigation{
    background: #ffffff;
    border: 1px solid #CCD7E6;
    border-radius: 12px;
    padding: 16px 16px 0 16px;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul{
    padding: 0;
    margin: 0;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li{
    list-style: none;
    padding: 12px 16px;
    margin-bottom: 4px;
    border-radius: 12px;
    position: relative;
    transition: .3s all ease;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li:hover{
   background: #EBEFF5;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li a{ 
    display: block;
    width: 100%;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li a:hover:after{
    display: none;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--wf-company{
    margin-bottom: 2rem;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--wf-company:after{
    content: '';
    border-radius: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: #D9E1EC;
    position: absolute;
    bottom: -16px;
    left: 0px;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--wf-contact-advice{
    background: #F5FAFE;
    border: 1px solid #D9E1EC;
    border-radius: 12px;
    text-align: center;
    padding: 16px;
    margin: 16px 0;
}


.wf-license-manager .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--wf-contact-advice a{
    color: #0389EC;
    border: 1px solid #0389EC;
    display: block;
    width: 100%;
    border-radius: 12px;
    padding: 8px 16px;
    margin-top: 16px;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li:last-of-type{
    text-align: center;
    margin-top: 2rem;
    border-radius: 0;
    width: calc(100% + 32px);
    margin-left: -16px;
    padding: 8px 0 16px 0
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li:last-of-type:hover{
    background: none;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li:last-of-type:after{
    content: '';
    border-radius: 0;
    display: block;
    height: 1px;
    width: 100%;
    background: #D9E1EC;
    position: absolute;
    top: -16px;
    left: 0;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li:last-of-type a{
    color: #0389EC;
    font-size: 18px;
    width: 100%;
    display: block;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li.is-active{ 
    background: #EBEFF5;
}

.wf-license-manager .woocommerce-MyAccount-navigation ul li a{
    color: #030207;
    font-weight: 500;
}

.wf-license-manager .wf-thankyou-account-layout {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    margin-top: 24px;
}

.wf-license-manager .wf-thankyou-account-layout .woocommerce-MyAccount-navigation {
    margin: 0;
}

.wf-license-manager .wf-thankyou-account-layout .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    margin: 0;
}

.wf-license-manager.woocommerce-order-received #main-content .woocommerce  {
    max-width: unset;
}

@media (max-width: 992px) {
    .wf-license-manager .wf-thankyou-account-layout {
        grid-template-columns: 1fr;
    }
}

.woocommerce-MyAccount-navigation-link--dashboard, .woocommerce-MyAccount-navigation-link--wf-courses, .woocommerce-MyAccount-navigation-link--orders, .woocommerce-MyAccount-navigation-link--wf-assessments, .woocommerce-MyAccount-navigation-link--wf-licenses, .woocommerce-MyAccount-navigation-link--wf-profile, .woocommerce-MyAccount-navigation-link--wf-company {
    padding-left: 48px !important;
    position: relative;
}

.woocommerce-MyAccount-navigation-link--customer-logout {
    display: flex;
    justify-content: center;
    padding-top:0 !important;
}

.woocommerce-MyAccount-navigation-link--customer-logout a  {
    width: fit-content !important;
    position: relative;
   
}

.woocommerce-MyAccount-navigation-link--dashboard::before,
.woocommerce-MyAccount-navigation-link--wf-courses::before,
.woocommerce-MyAccount-navigation-link--orders::before,
.woocommerce-MyAccount-navigation-link--wf-assessments::before,
.woocommerce-MyAccount-navigation-link--wf-licenses::before,
.woocommerce-MyAccount-navigation-link--wf-profile::before,
.woocommerce-MyAccount-navigation-link--wf-company::before,
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
}

.woocommerce-MyAccount-navigation-link--dashboard::before {
    background-image: url('../images/Dashboard.svg');
}

.woocommerce-MyAccount-navigation-link--wf-courses::before, .woocommerce-MyAccount-navigation-link--wf-assessments::before {
    background-image: url('../images/Learn.svg');
}

.woocommerce-MyAccount-navigation-link--orders::before, .woocommerce-MyAccount-navigation-link--wf-licenses::before {
    background-image: url('../images/List-Document.svg');
}

.woocommerce-MyAccount-navigation-link--wf-profile::before, .woocommerce-MyAccount-navigation-link--wf-company::before {
    background-image: url('../images/User.svg');
}

.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    background-image: url('../images/Log-out.svg');
    left: -32px;
}


.wf-license-product-view {
    
}

.wf-license-product-view-right .card {
    padding: 1rem;
    border-radius: 12px;
    border: 1px solid #BFCDDF;
    margin-bottom: 24px;
} 

.wf-license-product-view-right .card .wf-license-row{
    display: flex;
    justify-content: space-between;
    padding-bottom: 8px;
}

.wf-license-product-view-right .card .wf-license-row span{
    font-size: 18px;
    font-weight: 400;
    color: #030207 !important;
} 

.wf-license-product-view-right .card .wf-license-row span:last-of-type{
    font-weight: 500 !important;
} 


.wf-license-product-view-right .card .wf-license-row:nth-last-child(3){
    padding-bottom: 0px !important;
} 

.wf-license-product-view-right .card .wf-license-row.total{
    padding-bottom: 0px;
}
.wf-license-product-view-right .card .wf-license-row.total span{
    font-size: 18px;
    font-weight: 500;
    color: #030207 !important;
} 

.wf-license-product-view-right .card .wf-license-row span{
    font-size: 18px;
} 

.wf-license-product-view-right .wf-license-title {
    font-size: 24px;
    font-weight: 500 !important;
    color: #030207 !important;
    margin-bottom: 16px;
}

.divider {
    height: 1px;
    background: #BFCDDF;
    margin: 16px 0; 

}

/* ===================================================================== */
/* LOGIN PAGE / PASSWORD FORGOT PAGE                                     */
/* ===================================================================== */

/* Hide default WordPress login fields */
#loginform p.login-username,
#loginform p.login-password,
#loginform .user-pass-wrap,
#loginform p.forgetmenot,
#loginform p.submit,
#loginform label[for="user_login"],
#loginform label[for="user_pass"],
#loginform input#user_login,
#loginform input#user_pass,
#loginform input#rememberme,
.woocommerce h2,
#loginform .login-remember {
    display: none !important;
}

/* Hide default WooCommerce login fields */
.woocommerce-form-login p.form-row:not(.wf-magic-link-section),
.woocommerce-form-login .woocommerce-form-row,
.woocommerce-form-login label[for="username"],
.woocommerce-form-login label[for="password"],
.woocommerce-form-login input#username,
.woocommerce-form-login input#password,
.woocommerce-form-login .password-input,
.woocommerce-form-login .woocommerce-form-login__rememberme,
.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-login .woocommerce-LostPassword {
    display: none !important;
}

.theme-webmix .woocommerce-form-login {
    border-radius: 24px !important;
    background: #FFF;
    box-shadow: 0 0 24px 3px rgba(0, 55, 128, 0.24);
    border: none !important;
    padding: 24px !important;
    max-width: 750px !important;
    margin: 0 auto !important;
}

/* Login link section styles */
.wf-magic-link-section {
    margin-top: 0;
    padding-top: 0;
    margin-bottom: 0;
    border-top: 0;
}

.wf-magic-link-section label {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 400;
    color: #000;
}

.wf-magic-link-section input.input,
.wf-password-wrapper input.input {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-sizing: border-box;
    margin-bottom: 16px;
    transition: border-color 0.3s;
}

.wf-magic-link-section input.input:focus,
.wf-password-wrapper input.input:focus {
    outline: none;
    border-color: #00a0d2;
}

.wf-magic-link-section input.input::placeholder,
.wf-password-wrapper input.input::placeholder {
    color: #999;
}

.wf-password-wrapper {
    margin-bottom: 16px;
}

.wf-password-wrapper.show {
    display: block !important;
}

.wf-password-wrapper label {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 400;
    color: #000;
}

.wf-password-wrapper small {
    display: block;
    margin-top: -12px;
    margin-bottom: 12px;
    font-size: 13px;
    color: #666;
    line-height: 1.4;
}

.wf-forgot-password {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    color: #00a0d2;
    text-decoration: none;
    transition: color 0.3s;
}

.wf-forgot-password:hover {
    color: #008bb5;
    text-decoration: underline;
}

#wf_send_magic_link {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    margin-top: 20px;
}

#wf_send_magic_link:disabled {
    background: #d3d3d3;
    cursor: not-allowed;
}

#wf_magic_link_message {
    margin-top: 16px;
}

#wf_magic_link_message.error {
    color: #dc3232;
    padding: 12px;
    background: #fef7f1;
    border-left: 4px solid #dc3232;
    border-radius: 4px;
    font-size: 14px;
}

#wf_magic_link_message.success {
    color: #46b450;
    padding: 12px;
    background: #ecf7ed;
    border-left: 4px solid #46b450;
    border-radius: 4px;
    font-size: 14px;
}

h2.wf-login-header {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 40px;
    font-size: 28px;
    font-weight: 600 !important;
    color: #000 !important;
    display: block !important;
    margin-bottom: 0 !important;
}

/* Forgot Password Form Styling */
.theme-webmix .woocommerce-ResetPassword.lost_reset_password {
    border-radius: 24px !important;
    background: #FFF;
    box-shadow: 0 0 24px 3px rgba(0, 55, 128, 0.24);
    border: none !important;
    padding: 24px !important;
    max-width: 750px !important;
    margin: 0 auto !important;
}

.woocommerce-ResetPassword.lost_reset_password > p:first-child {
    text-align: center;
    font-size: 15px;
    color: #666;
    margin-bottom: 24px;
    line-height: 1.5;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row {
    margin-bottom: 16px;
}

.woocommerce-ResetPassword.lost_reset_password label {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 400;
    color: #000;
}

.woocommerce-ResetPassword.lost_reset_password label .required {
    color: #dc3232;
}

.woocommerce-ResetPassword.lost_reset_password label .screen-reader-text {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-Input {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-Input:focus {
    outline: none;
    border-color: #00a0d2;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-Button {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    background: #00a0d2;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s;
    margin-top: 20px;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-Button:hover {
    background: #008bb5;
}

.woocommerce-ResetPassword.lost_reset_password .clear {
    display: none;
}

/* Hide default WooCommerce forgot password form */
.woocommerce-ResetPassword.lost_reset_password {
    display: none !important;
}

/* Custom Forgot Password Form Styling */
.theme-webmix .wf-custom-forgot-password {
    border-radius: 24px !important;
    background: #FFF;
    box-shadow: 0 0 24px 3px rgba(0, 55, 128, 0.24);
    border: none !important;
    padding: 24px !important;
    max-width: 750px !important;
    margin: 0 auto !important;
}

.wf-custom-forgot-password h2.wf-forgot-password-header {
    text-align: center;
    padding-top: 80px;
    font-size: 28px;
    font-weight: 600 !important;
    color: #000 !important;
    display: block !important;
    margin-bottom: 0 !important;
}

.wf-custom-forgot-password p.wf-forgot-password-text {
    padding-bottom: 40px;
    font-size: 18px !important;
}

.wf-custom-forgot-password > p:first-of-type {
    text-align: center;
    font-size: 15px;
    color: #666;
    margin-bottom: 0px;
    line-height: 1.5;
}

.wf-forgot-password-section {
    margin-top: 0;
    padding-top: 0;
    margin-bottom: 0;
    border-top: 0;
}

.wf-forgot-password-section label {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 400;
    color: #000;
    text-align: start;
}

.wf-forgot-password-section input.input {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-sizing: border-box;
    margin-bottom: 16px;
    transition: border-color 0.3s;
}

.wf-forgot-password-section input.input:focus {
    outline: none;
    border-color: #00a0d2;
}

.wf-forgot-password-section input.input::placeholder {
    color: #999;
}

#wf_send_reset_link {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    margin-top: 20px;
}

#wf_send_reset_link:disabled {
    background: #d3d3d3;
    cursor: not-allowed;
}

#wf_forgot_password_message {
    margin-top: 16px;
}

#wf_forgot_password_message.error {
    color: #dc3232;
    padding: 12px;
    background: #fef7f1;
    border-left: 4px solid #dc3232;
    border-radius: 4px;
    font-size: 14px;
}

#wf_forgot_password_message.success {
    color: #46b450;
    padding: 12px;
    background: #ecf7ed;
    border-left: 4px solid #46b450;
    border-radius: 4px;
    font-size: 14px;
}


/* ===================================================================== */
/* ORDERS STYLING                                                        */
/* ===================================================================== */

.woocommerce-MyAccount-content {
    background: #ffffff;
    border-radius: 12px;
    padding: 2.25rem;
}

.woocommerce-MyAccount-content .woocommerce-orders-table  {
    margin-bottom: 0 !important;
}
.woocommerce .wf-account-h2 {
    color: #030207 !important;
    font-weight: 600 !important;
    font-size: 28px !important;
    display: block !important;
}

.wf-order-search-wrap{
  position: relative;
  width: 100%;
  max-width: 300px;
}

#wf-order-search, #wf-assessment-search, #wf-course-search {
    box-sizing: border-box;
    width: 100% !important;
    height: 52px !important;
    padding: 14px 24px 14px 56px;
    border-radius: 12px;
    border: 1px solid #BFCDDF !important;
    font-size: 1rem;
    line-height: 20px;  
    outline: none;
}

.wf-order-search-wrap::before{
  content: "";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  pointer-events: none;
  background: url('../images/search.svg') no-repeat center / contain;
}


#wf-order-search::placeholder {
    font-size: 1rem;
    color: #636170 !important;
}

.orders-table-wrapper  .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-bg-type: #ffffff  !important;
}

#wf-orders-table {
    table-layout: fixed;
    width: 100%;
}

#wf-orders-table tbody tr {
   display: flex;
   flex-direction: row;
    align-items: center;
    border-bottom: 1px solid #BFCDDF !important;
}

#wf-orders-table tbody tr:last-of-type {
    border-bottom: none !important;
}

.wf-progress-card__download{
    position: relative;
    background-color: transparent;
    border: 1px solid #BFCDDF;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px; 
    height: 46px;
    padding: 0; 
    overflow: visible;
    transition: all 0.3s ease;
}

.wf-progress-card__download:after {
    content: "";
    width: 22px;
    height: 22px;
    background: url('../images/download-icon.svg') no-repeat center center;
    background-size: 22px 22px;
    display: block;
    pointer-events: none;
    transition: all 0.3s ease;
}

#wf-orders-table tbody tr td .download-order-button {
    position: relative;
    background-color: #ffffff;
    border: 1px solid #BFCDDF;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px; 
    height: 46px;
    padding: 0; 
    overflow: visible;
    transition: all 0.3s ease;
}

#wf-orders-table tbody tr td .download-order-button:after {
    content: "";
    width: 22px;
    height: 22px;
    background: url('../images/download-icon.svg') no-repeat center center;
    background-size: 22px 22px;
    display: block;
    pointer-events: none;
    transition: all 0.3s ease;
}

.wf-progress-card__download:hover,
.wf-progress-card__download:focus,
.wf-progress-card__download:active,
#wf-orders-table tbody tr td .download-order-button:hover,
#wf-orders-table tbody tr td .download-order-button:focus,
#wf-orders-table tbody tr td .download-order-button:active {
    background-color: #1C95EE;
    border-color: #1C95EE;
}

.wf-progress-card__download:hover:after,
.wf-progress-card__download:focus:after,
.wf-progress-card__download:active:after,
#wf-orders-table tbody tr td .download-order-button:hover:after,
#wf-orders-table tbody tr td .download-order-button:focus:after,
#wf-orders-table tbody tr td .download-order-button:active:after {
    filter: brightness(0) invert(1);
}


#wf-orders-table tbody tr td {
   padding: 1rem;
   width: 19%;
   border-bottom: none !important;
   font-weight: 500;
   font-size: 1rem;
}

#wf-orders-table tbody tr td:first-of-type {
    padding-left: 0;
    width: 28%;
}

#wf-orders-table tbody tr td:last-of-type {
    padding-right: 0;
    width: 34%;
    display: flex;
    justify-content: flex-start;
}

/* ===================================================================== */
/* LICENSES STYLING                                                      */
/* ===================================================================== */

.wf-my-licenses .wf-account-h2, .wf-product-licenses .wf-account-h2 {
    margin-bottom: 2rem;
}

.wf-my-licenses .wf-license-table thead tr th, .wf-product-licenses .wf-licenses-table thead tr th, #wf-orders-table thead tr th  {
    color: #636170;
    font-size: 14px;
    font-weight: 500 !important;
    padding: 1rem 0;
    width: 25%;
}

.wf-my-licenses .wf-license-table thead tr th, .wf-product-licenses .wf-licenses-table thead tr th button{
    background-color: #ffffff !important;
    border: none !important;
    color: #636170;
    font-size: 14px;
    font-weight: 500 !important;
}

#wf-orders-table thead tr {
    display: flex;
}
#wf-orders-table thead tr th {
    padding: 1rem;
    width: 19%;
}
#wf-orders-table thead tr th:first-of-type {
    width: 28%;
    padding-left: 0rem;
}
#wf-orders-table thead tr th:last-of-type {
    width: 34%;
    padding-right: 0rem;
}

.wf-user-email {
    font-size: 1rem;
    font-weight: 500 !important;
    width: 30%;
}

.wf-license-table, .wf-licenses-table, .wf-profile-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0 !important;
}

.wf-license-table tbody tr:first-of-type, .wf-licenses-table tbody tr:first-of-type {
    border-top: 1px solid #BFCDDF !important;
}

.wf-profile-table tbody tr:first-of-type {
    border-top: none !important;
}

.wf-license-table tbody tr, .wf-licenses-table tbody tr, .wf-profile-table tbody tr {
    border-top: 1px solid #BFCDDF !important;
}

.wf-license-table tbody tr:last-of-type, .wf-licenses-table tbody tr:last-of-type, .wf-profile-table tbody tr:last-of-type {
    border-bottom: none !important;
}

.wf-license-table tbody .wf-clickable-row {
    cursor: pointer;
}

.wf-col {
    padding: 1rem;
    vertical-align: middle;
}

.wf-col-title {
    margin: 0;
    font-size: 16px;
    font-weight: 500 !important;
    padding: 1rem;
    color: #030207 !important;
    padding-left: 0;
    width: 50%;
}

.wf-col-balance {
  text-align: start;
  padding-left: 0;
  white-space: nowrap;
}

.wf-col-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    /*width: 252px;*/
    padding-right: 0;
}

.wf-col-project-code .wf-project-code-view,
.wf-col-project-code .wf-project-code-edit {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wf-col-project-code .wf-project-code-text {
    min-width: 24px;
    font-weight: 500;
}

.wf-col-project-code .wf-edit-project-code-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #BFCDDF;
    border-radius: 10px;
    background: #fff;
    color: #0389EC;
    cursor: pointer;
}

.wf-col-project-code .wf-edit-project-code-btn:hover {
    border-color: #0389EC;
}

.wf-col-project-code .wf-project-code-input {
    min-width: 140px;
    height: 40px;
}

.wf-col-project-code .wf-save-project-code-btn {
    padding: 8px 12px;
    font-size: 14px;
}

/*Licens single*/
.woocommerce-MyAccount-content:has(> .wf-license-product-view) {
    background: transparent !important;
    width: 100% !important;
}

.wf-license-product-view-left {
    width: 75%;
    margin-right: 40px;
}

.wf-license-product-view-right {
    width: 25%;
}

.wf-license-product-view-left:has(> .back-to-prev-wrapper) {
    background: transparent !important;
    padding-top: 0;
    margin-right: 40px;
}

.back-to-prev-wrapper a p, .back-to-prev-wrapper p{
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 0 !important;
}

.wf-license-product-view {
    display: flex;
    align-items: flex-start;
}
.back-to-prev-wrapper {
    margin-bottom: 40px;
}

.wf-product-licenses {
    background: #ffffff;
    border-radius: 12px;
    padding: 36px;
}

.wf-licenses-view-product .woocommerce-MyAccount-navigation {
    display: none;
}
.wf-licenses-view-product .woocommerce-MyAccount-content {
    float: left !important;
    padding:0 !important;
}

.wf-assign-license-btn {
    border-radius: 12px !important;
    background-color: #ffffff !important;
    border: 1px solid #BFCDDF !important;
    font-size: 14px !important;
    padding: 12px 16px;
    color: #030207 !important;
    font-weight: 500 !important;
}
.wf-assign-license-btn svg {
    margin-right: 8px;
}

.wf-licenses-table .wf-col {
    padding-left: 0;
}

.wf-licenses-table .wf-col:first-of-type {
    min-width: 180px !important;
    max-width: 180px !important;
}

.wf-status-badge {
    display: inline-block !important;
    padding: 4px 12px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}
.wf-status-available { background: #e5e5e5 !important; color: #666 !important; }
.wf-status-pending { background: #D9E1EC !important; color: #001E46 !important; }
.wf-status-invited { background: #D9E1EC !important; color: #001E46 !important; }
.wf-status-active { background: #CAE7DB !important; color: #092017 !important; }

.wf-col-actions {
    display: flex;
    justify-content: flex-end;
    padding-right:0;
}

.wf-unassign-license-btn {
    width: 34px;
    height: 34px;
    background-color: #fff !important;
    border-radius: 12px !important;
    padding: 8px !important;
    border: 1px solid #BFCDDF !important;
    position: relative;
    z-index: 9999;
    align-items: center;
    display: flex !important;
    justify-content: center;
}

.wf-actions .wf-submit, .wf-unassign-confirm, .wf-unassign-cancel {
    font-size: 18px !important;
}

.wf-unassign-confirm {
   font-weight: 500 !important;
}

#wf-unassign-modal .wf-modal-content {
    min-height: auto !important;
}

.wf-summary-card__title {
    margin-bottom: 2px !important;
}

.wf-summary-card__actions .wf-help-link {
    text-decoration: none;
}


/* ===================================================================== */
/* MY PROFILE INFORMATION STYLING                                        */
/* ===================================================================== */

.wf-profile-modal {
    width: min(900px, calc(100% - 40px));
    background: #fff;
    border-radius: 24px;
    padding: 32px;
}

.wf-profile-modal-header {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: 32px;
}

.wf-profile-modal-header h2 {
    margin: 0;
    font-size: 28px;
}

.wf-modal-close {
    position: absolute;
    right: 0;
    top: 0;
    background: none;
    border: 0;
    font-size: 24px;
    cursor: pointer;
}

.wf-profile-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.wf-form-field-full {
    grid-column: span 2;
}

.wf-form-field label {
    display: flex;
    justify-content: space-between;
    font-weight: 600;
    margin-bottom: 6px;
}

.wf-optional {
    font-size: 13px;
    color: #7a7a7a;
}

.wf-profile-modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
}

/* ===================================================================== */
/* COURSES, ASSESMENTS, ORDERS NO RESULTS STYLING                        */
/* ===================================================================== */

.wf-my-courses__empty, .wf-my-assessments__empty, .wf-my-orders__empty {
  background: #F1F3FD;              /* soft light blue-ish */
  border: 1px solid #CCD7E6;
  border-radius: 18px;
  padding: 24px;
  text-align: center;
  margin-top: 2rem;
}

.wf-my-courses__empty h3,  .wf-my-assessments__empty h3, .wf-my-orders__empty h3  {
  margin: 0 0 10px;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  color: #030207;
}

.wf-my-courses__empty p, .wf-my-assessments__empty p, .wf-my-orders__empty p {
    align-self: stretch;
    margin: 0 auto 22px;
    max-width: 700px;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: normal;
    color: #45435A;
}

.wf-my-courses__empty a, .wf-my-assessments__empty a, .wf-my-orders__empty a {
   min-width: 210px;
}

/* ===================================================================== */
/* PROFILE INFORMATION STYLING                                           */
/* ===================================================================== */

#wf-open-edit-modal, .wf-icon-btn {
    padding: 14px;
    border-radius: 12px;
    background: #FFFFFF;
    border: 1px solid #0389EC;
}

.wf-profile-card__header {
    margin-bottom: 32px;
}

.wf-profile-row {
    padding: 1rem;
}

.wf-label-table {
    font-size: 18px;
    font-weight: 400;
    color: #45435A;
    padding: 1rem 0;
}

.wf-value {
    font-size: 18px;
    font-weight: 500;
    color: #030207;
}

.wf-profile-modal-footer .wf-submit {
    width: fit-content !important;
    margin-top: 0 !important;
}

.wf-profile-modal-footer .wf-btn {
    font-size: 18px !important;
    font-weight: 500 !important;
}

/* ===================================================================== */
/* BUTTONS STYLING                                                       */
/* ===================================================================== */

.wf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  padding: 12px 16px;
  border-radius: 12px;
  color: #fff;
  transition: all 0.3s ease;
}

.wf-btn--primary {
  background: #8E4EF5;
  border: 1px solid #8E4EF5;
}

.wf-btn--primary-reverse {
  background: #ffffff;
  border: 1px solid #8E4EF5;
  color: #8E4EF5;
}

.wf-btn--primary-reverse:hover {
    background: #8E4EF5;
    border: 1px solid #8E4EF5;
    color: #ffffff;
}

.wf-btn--secondary {
    background: #0389EC;
    border: 1px solid #0389EC;
    color: #ffffff;
}

.wf-btn--secondary:hover {
    background: #037BD4;
    border: 1px solid #037BD4;
    color: #ffffff;
}

.wf-btn--secondary-reverse {
  background: #ffffff;
  border: 1px solid #0389EC;
  color: #0389EC;
}

.wf-btn--secondary-reverse:hover {
    background: #0389EC;
    border: 1px solid #0389EC;
    color: #ffffff;
}

.wf-outline {
    background: transparent;
    color: #0389EC;
    font-size: 18px;
}

.wf-outline svg{
    transition: all 0.3s ease;
    margin-left: 8px;
}

.wf-outline:hover svg{
    transform: translateX(3px);
}


/* ===================================================================== */
/* PAGINATION STYLING                                                    */
/* ===================================================================== */

.wf-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.wf-page-btn {
  border: 0;
  background: transparent;
  padding: 6px 10px;
  font-size: 14px;
  cursor: pointer;
  border-radius: 12px;
}

.wf-page-btn.is-active {
  background: #0389EC;
  color: #fff;
  font-weight: 400;
  padding: 12px;
  width: 45px;
}

.wf-page-arrow {
  font-size: 22px;
  line-height: 1;

}

.wf-page-btn[disabled] {
  opacity: 0.4;
  cursor: default;
}

.wf-page-dots {
  padding: 0 4px;
  opacity: 0.7;
}

.wf-orders {
  transition: opacity 0.25s ease;
}

.wf-orders.is-loading {
  opacity: 0.6;
  pointer-events: none;
}


/* ===================================================================== */
/* WOOCOMMERCE STYLING                                                   */
/* ===================================================================== */

.woocommerce-message {
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    background: #ffffff !important;
    color: #030207 !important;
    border: none !important;
}

.woocommerce-error {
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    background: #ffffff !important;
    color: #9D2A2F !important;
    border-top: none !important;
}

/* ===================================================================== */
/* MODAL STYLING                                                         */
/* ===================================================================== */
.wf-modal {
    position: fixed;
    z-index: 999999999;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(61, 77, 115, 0.24);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 40px 0;
    box-sizing: border-box;
}

#wf-company-modal {
    display: none;
}

#wf-company-modal.is-open {
    display: flex;
}

/* Name setup modal – only rendered server-side when flag is set; JS adds is-open */
#wf-name-setup-modal {
    display: none;
}

#wf-name-setup-modal.is-open {
    display: flex;
}

.wf-name-setup-description {
    text-align: center;
    color: #555;
    margin-bottom: 24px;
    font-size: 15px;
}

.wf-name-setup-message {
    margin: 8px 0 0;
    font-size: 14px;
}

.wf-name-setup-message.error {
    color: #c0392b;
}

.wf-name-setup-message.success {
    color: #27ae60;
}

.wf-modal-content {
    background-color: #fff;
    position: relative;
    padding: 24px;
    border: 1px solid #888;
    width: min(720px, 80%);
    max-width: 702px;
    min-height: 662px;
    border-radius: 12px;
    box-shadow: 0 0 24px 3px rgba(0, 55, 128, 0.24);
    display: flex;
    flex-direction: column;
    margin: auto;
}

.wf-modal-layout {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-top: 5rem;
}

.wf-profile-modal-layout {
    margin-top: 2rem;
}

.wf-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 0;
    background: transparent;
    cursor: pointer;
    display: grid;
    place-items: center;
}

.wf-modal-title {
    margin: 0 0 40px !important;
    text-align: center;
    font-size: 28px !important;
    line-height: 1.2;
    font-weight: 600 !important;
    color: #030207 !important;
}

.wf-profile-form-grid .wf-field {
    display: flex !important;
    flex-direction: column !important;
}

.wf-profile-form-grid .wf-field label {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #030207 !important;
}

/* ===================================================================== */
/* FORM STYLING                                                          */
/* ===================================================================== */
.wf-assign-form, .wf-profile-form {
    flex: 1;
    display: flex;
    flex-direction: column;
    max-width: 100%;
}

.wf-field {
    display: grid;
    gap: 10px;
}

.wf-label {
    font-weight: 400;
    color: #030207;
    font-size: 16px;
}

/* Input */
.wf-input {
    background: #FFFFFF; 
    height: 48px;
    width: 100%;
    border-radius: 12px;
    border: 1px solid #BFCDDF;
    padding: 0 14px;
    outline: none;
    font-size: 16px;
    color: #030207;
}

.wf-input:focus {
    background: #FFFFFF !important; 
    border-radius: 12px !important;
    border: 1px solid #0389EC !important;
}

.wf-form-field-full select {
    background: #FFFFFF; 
    height: 48px;
    width: 100%;
    border-radius: 12px;
    border: 1px solid #BFCDDF;
    padding: 0 14px;
    outline: none;
    font-size: 16px;
    color: #030207;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    padding-right: 2.5rem; /* space for arrow */
    background-color: #fff;
    background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.29289 7.79289C3.68342 7.40237 4.31658 7.40237 4.70711 7.79289L12 15.0858L19.2929 7.79289C19.6834 7.40237 20.3166 7.40237 20.7071 7.79289C21.0976 8.18342 21.0976 8.81658 20.7071 9.20711L12.7071 17.2071C12.3166 17.5976 11.6834 17.5976 11.2929 17.2071L3.29289 9.20711C2.90237 8.81658 2.90237 8.18342 3.29289 7.79289Z" fill="%23636170"/></svg>');
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
}

/* Submit button */
.wf-submit {
    margin-top: 8px;
    height: 56px;
    width: 100% !important;
    border-radius: 12px;
    border: 0;
    cursor: pointer;
    font-weight: 700;
    font-size: 16px;
    background: #8E4EF5 !important; 
    color: #fff;
}
.wf-submit:hover {
    background: #8A38F5;
}

.wf-actions {
    margin-top: auto; 
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wf-field label span {
    float: right;
    font-size: 10px;
    color: #636170;
    font-weight: 400;
}

/* Hint box */
.wf-hint {
    margin-top: 10px;
    padding: 14px 16px;
    border-radius: 12px;

    background: rgba(0,0,0,0.04);
    color: rgba(0,0,0,0.65);

    display: flex;
    gap: 10px;
    align-items: flex-start;

    font-size: 14px;
    line-height: 1.4;
}


.wf-status-available {
    background: #d4edda;
    color: #155724;
}

.wf-status-active,
.wf-status-in_progress {
    background: #d1ecf1;
    color: #0c5460;
}

.wf-status-completed {
    background: #cce5ff;
    color: #004085;
}

.wf-status-expired {
    background: #f8d7da;
    color: #721c24;
}


/* ===================================================================== */
/* HIDE DEFAULT WOOCOMMERCE MENU                                         */
/* ===================================================================== */

.woocommerce-account .woocommerce-MyAccount-navigation:not(.wf-myaccount-nav) {
    display: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation.wf-myaccount-nav {
    display: block;
}

.wf-licenses-view-product .woocommerce-MyAccount-navigation.wf-myaccount-nav {
    display: none !important;
}


/* ===================================================================== */
/* SUPPORT MENU ITEM STYLING                                             */
/* ===================================================================== */

.woocommerce-MyAccount-navigation-link--wf-support-card {
    padding: 1rem;
    background: #F5FAFE !important;
    border: 1px solid #D9E1EC;
    margin-bottom: 0 !important;
}

.woocommerce-MyAccount-navigation-link--wf-support-card:hover {
    background: #F5FAFE !important;
}

.woocommerce-MyAccount-navigation-link--wf-support-card .wf-summary-support-h2 {
    font-size: 18px;
    font-weight: 500;
    color: #030207 !important;
    margin: 0 0 1rem 0;
    text-align: center;
}

.woocommerce-MyAccount-navigation-link--wf-support-card .wf-summary-card__actions .wf-btn--secondary-reverse {
    display: flex;
    color: #0389EC;
    border-color: #0389EC;
    background: transparent !important;
}

.woocommerce-MyAccount-navigation-link--wf-support-card .wf-summary-card__actions .wf-btn--secondary-reverse:hover {
    color: #037BD4;
    border-color: #037BD4;
    background: transparent !important;
}

/* ===================================================================== */
/* DASHBOARD STYLING                                                     */
/* ===================================================================== */

.wf-dashboard-section {
    margin-top: 24px;
    padding: 32px;
    background: #ffffff;
    border-radius: 12px;;
}

.wf-dashboard-section-head {
    margin-bottom: 2rem;
}
/* DASHBOARD STATS CARDS */

.woocommerce-dashboard .woocommerce-MyAccount-content {
    padding: 0 !important;
    background: transparent !important;
}
.wf-stats, .wf-license-count-wrapper  {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    padding: 0;
    border-radius: 14px;
}

.wf-stat-card, .wf-license-count-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #BFCDDF;
    padding: 24px 16px;
    min-height: 110px;
    text-align: center;
}

.wf-stat-label, .wf-license-count-label {
    font-size: 16px;
    font-weight: 400;
    color: #030207;
}

.wf-stat-value, .wf-license-count-value {
    margin-top: 4px;
    padding: 6px 0;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    color: #030207;
}

.wf-license-count-label {
    font-weight: 500;
}
.wf-license-count-value {
    font-weight: 400;
    font-size: 16px;
}

/* Subtle "icon blob" */
.wf-stat-card::after, .wf-license-count-card::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -16px;
    background-image: url('../images/clarity_book-line.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 72px;
    height: 72px;
    aspect-ratio: 1 / 1;
}

.wf-license-count__assessment:after {
     background-image: url('../images/clarity_book-line.svg') !important;
}

.wf-stat-card.wf-stat--courses::after, .wf-license-count__course:after {
    background-image: url('../images/clarity_book-line2.svg') !important;
}

.wf-stat-card.wf-stat--completed::after {
    background-image: url('../images/eva_checkmark-circle-fill.svg') !important;
}

.wf-stat-card.wf-stat--progress::after {
    background-image: url('../images/cil_chart-line.svg') !important;
}

.wf-stat-card.wf-stat--not-started::after {
    background-image: url('../images/formkit_time.svg') !important;
}

.wf-license-count-wrapper {
   grid-template-columns: repeat(3, minmax(0, 2fr));
}

/* ===================================================================== */
/* Disabled checkbox styling for self-editing prevention                 */
/* ===================================================================== */
.wf-checkbox-label.wf-disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.wf-checkbox-label.wf-disabled input[type="checkbox"] {
    cursor: not-allowed;
}

.wf-checkbox-label.wf-disabled span,
.wf-checkbox-label.wf-disabled small {
    color: #999;
}

/* ===================================================================== */
/* ASSESSMENT FORM FIELDS - GRAVITY FORMS STYLING                        */
/* ===================================================================== */
.wf-field {
    margin-bottom: 20px;
}

.wf-field-description {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: #666;
    font-style: italic;
}

.wf-label .required {
    color: #dc3232;
    font-weight: bold;
}

.wf-radio-group,
.wf-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wf-radio-label,
.wf-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.wf-radio-label:hover,
.wf-checkbox-label:hover {
    background-color: #f5f5f5;
}

.wf-radio-label input[type="radio"],
.wf-checkbox-label input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}

.wf-input,
.wf-assign-form select,
.wf-assign-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.2s;
}

.wf-input:focus,
.wf-assign-form select:focus,
.wf-assign-form textarea:focus {
    outline: none;
    border-color: #0389EC;
}

.wf-assign-form textarea {
    min-height: 100px;
    resize: vertical;
}

.wf-assign-form select[multiple] {
    min-height: 120px;
}

#wf-edit-profile-form .wf-profile-form-grid .wf-field input  {
    border-radius: 12px;
    padding: 14px 24px;
    border: 1px solid #BFCDDF;
}

/* ===================================================================== */
/* PROGRESS CARD STYLING - progress-card.php                             */
/* ===================================================================== */

.wf-progress-card {
    background: #F5FAFE;
    border: 1px solid #BFCDDF;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 8px;
}

.wf-progress-card .wf-progress-card__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wf-progress-card .wf-progress-card__top .wf-progress-card__left {
    display: flex;
    flex-direction: row;
    align-items: center;
}


.wf-progress-card .wf-progress-card__top .wf-progress-card__left .wf-progress-card__badge {
    margin-left: 1rem;
    border-radius: 12px;
    padding: 4px 12px;
    font-size: 14px;
    font-weight: 400;
    color: #030207;
    background: #CAE7DB;
    text-transform: capitalize;
}

.wf-progress-card .wf-progress-card__top .wf-progress-card__right {
    text-decoration: none;
    cursor: pointer;
    background: transparent !important;
}

/* .wf-progress-card .wf-progress-card__top .wf-progress-card__right :hover {
    background-color: #0389EC !important;
} */

.wf-progress-card .wf-progress-card__top .wf-progress-card__right a, .wf-progress-card .wf-mobile-button a {
    text-decoration: none;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-right: 8px;
}
.wf-progress-card .wf-progress-card__top .wf-progress-card__right .wf-btn, .wf-progress-card .wf-mobile-button {
    background: transparent !important;
}
.wf-progress-card .wf-progress-card__top .wf-progress-card__right:hover .wf-btn, .wf-progress-card .wf-mobile-button:hover {
    background: #1C95EE !important;
}

.wf-progress-card .wf-progress-card__top .wf-progress-card__right:hover a, .wf-progress-card .wf-mobile-button:hover a{
    color: #ffffff !important;
}

.wf-progress-card .wf-progress-card__top .wf-progress-card__right:hover a {
    color: white;
    cursor: pointer;
  
}

.wf-progress-card .wf-progress-card__top .wf-progress-card__right .wf-progress-card_cta-icon svg {
    fill: #0389EC;
    width: 22px;
    height: 22px;
}

.wf-progress-card .wf-progress-card__top .wf-progress-card__right .wf-progress-card_cta-icon svg:hover {
    fill: #ffffff;
}


.wf-progress-card .wf-progress-card__top .wf-progress-card__left .wf-progress-card__title {
    margin-bottom:0;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #030207 !important;
}

.wf-progress-card .wf-progress-bar, .wf-progress-bar-wrapper .wf-progress-bar {
    width: 100%;
    height: 12px;
    background: #DBDFEA;
    border-radius: 6px;
    overflow: hidden;
}

.wf-progress-bar-wrapper {
    width: 80%;
}

.wf-progress-card .wf-progress-bar .wf-progress-fill, .wf-progress-bar-wrapper .wf-progress-bar .wf-progress-bar-fill {
    width: 100%;
    height: 100%;
    background: #0389EC;
    border-radius: 6px;
    overflow: hidden;
}

.wf-progress-bar-wrapper .wf-progress-bar {
    margin-right: 0.75rem;
}

.wf-progress-card .wf-progress-card__progress-head {
    margin-bottom: 4px;
    margin-top: 16px;
}

.wf-progress-card .wf-progress-card__progress-label, .wf-progress-card .wf-progress-card__progress-value {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #45435A !important;
}

.wf-progress-card .wf-progress-card__progress-value {
    font-size: 16px !important;
}

.wf-progress-card .wf-progress-card__footer .wf-progress-card__last-opened {
    margin-top: 1rem;
    margin-bottom: 0;
}

.wf-progress-card .wf-progress-card__footer span {
    font-size: 14px !important;
    color: #636170 !important;
    font-weight: 500 !important;
}

.wf-myaccount-nav ul {
    max-height: none !important;
    overflow: visible !important;
}

/* ===================================================================== */
/* RESPONSIVE STYLES                                                     */
/* ===================================================================== */

@media (max-width: 992px) {

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
    }
    #main-content .section-wrapper .container-fluid div div .woocommerce{
        display: flex;
        flex-direction: column;
    }

    #main-content .section-wrapper .container-fluid div div .woocommerce .wf-myaccount-nav {
        width: 100%;
        margin-bottom: 20px;
    }

    .wf-myaccount-nav ul {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .wf-myaccount-nav ul.is-open {
        max-height: 9999px;
    }

    /* The active li acts as the visible "trigger" */
    .wf-myaccount-nav ul li.is-active {
        max-height: 52px;
        overflow: visible;
    }

    .wf-dashboard-section {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }
    .woocommerce-MyAccount-content {
        padding: 1rem !important;
    }

    .wf-orders .wf-orders-title {
        font-size: 24px !important;
        margin-bottom: 0rem;
    }
    .wf-orders .wf-order-search-wrap {
        max-width: none;
    }

    #wf-orders-table thead {
        display: none;
    }

    #wf-orders-table tbody tr {
        flex-direction: column;
        align-items: flex-start !important;
        padding: 16px 0; 
    }

    #wf-orders-table tbody tr td {
        width: 100% !important;
        padding: 4px 0 !important;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        font-size: 16px;
        gap: 24px;
    }

    #wf-orders-table tbody tr td:last-of-type {
        justify-content: flex-start !important;
        gap: 12px;
        margin-top: 12px;
    }

    #wf-orders-table tbody tr td::before {
        content: attr(data-label);
        font-weight: 500;
        color: #636170;
        font-size: 16px;
        min-width: 50%;
    }

    /* hide label for the actions cell */
    #wf-orders-table tbody tr td:last-of-type::before {
        display: none;
    }

    #wf-orders-table tbody tr td:last-of-type .download-order-button {
        order: 1;
    }

    #wf-orders-table tbody tr td:last-of-type .wf-btn {
        order: 2;
        flex: 1;
    }

    #wf-orders-table tbody tr td:last-of-type {
        width: 100%;
    }

    #wf-orders-table tbody tr td:last-of-type .download-order-button {
        width: 100%;
    }

    #wf-orders-table:not(:has(tbody tr)) {
        display: none;
    }
    .wf-order-search-wrap {
        max-width: none;
    } 

    .wf-modal-content {
        width: 100%;
        min-height: 100dvh;
        border-radius: 0;
        padding: 24px 16px;
    }

    .wf-profile-form-grid {
        grid-template-columns: 1fr;
    }

    .wf-form-field-full {
        grid-column: span 1;
    }

    .wf-modal-title {
        font-size: 24px !important;
        margin-bottom: 24px !important;
    }

    .wf-profile-modal-header {
        justify-content: space-between;
        margin-bottom: 24px;
    }

    .wf-profile-modal-footer {
       justify-content: space-between;
        gap: 12px;
    }

    .wf-profile-modal-footer .wf-btn,
    .wf-profile-modal-footer .wf-submit {
        width: fit-content !important;
    }

    .wf-modal-close {
        top: 50px;
    }

    .wf-field {
        margin-bottom: 0;
    }

    .wf-users-table,
    .wf-users-table tbody,
    .wf-users-table tr,
    .wf-users-table td {
        display: block;
        width: 100%;
    }

    .wf-users-table thead {
        display: none;
    }

    .wf-users-table tbody tr {
        border: 1px solid #BFCDDF;
        border-radius: 12px;
        padding: 16px;
        margin-bottom: 16px;
    }

    .wf-users-table tbody tr td {
        border: none;
        padding: 4px 0;
    }

    .wf-users-table tbody tr td:first-child {
        font-size: 18px;
        margin-bottom: 4px;
    }

    .wf-users-table tbody tr td:nth-child(2)::before {
        content: 'E-mail: ';
        color: #45435A;
        font-weight: 400;
    }

    .wf-users-table tbody tr td:nth-child(3)::before {
        content: 'Toegangsrechten: ';
        color: #45435A;
        font-weight: 400;
        display: block;
        margin-bottom: 4px;
    }

    .wf-users-table tbody tr td:last-child {
        display: flex;
        gap: 12px;
        margin-top: 12px;
    }

    .wf-users-table tbody tr td:last-child .button {
        flex: 1;
        text-align: center;
    }

    .wf-order-search-wrap #wf-order-search {
        margin-top: 8px;
    }

    .wf-license-table,
    .wf-license-table tbody,
    .wf-license-table tr {
        display: block;
        width: 100%;
    }

    .wf-license-table thead {
        display: none;
    }

    .wf-license-table tbody tr {
        padding: 16px 0;
    }

    .wf-license-table tbody tr td {
        border: none;
        padding: 4px 0;
    }

    .wf-col-title {
        font-size: 16px;
        font-weight: 600 !important;
        padding-left: 0;
        width: 100% !important;
        margin-bottom: 8px;
    }

    .wf-col-balance {
        display: flex;
    }

    .wf-col-balance::before {
        color: #45435A;
        font-weight: 400;
        margin-right: 8px;
    }

    .wf-license-table td.wf-col-balance:before { 
        content: attr(data-label); 
        font-weight: 500;
        color: #636170;
        font-size: 16px;
        min-width: 50%;
    }
    

    .wf-col-actions {
        display: flex !important;
        gap: 12px;
        margin-top: 12px;
        padding-right: 0;
    }

    .wf-col-actions .wf-btn {
        width: fit-content !important;    
        justify-content: center;
        align-self: flex-end;
    }
     .wf-col-actions .wf-btn {
        align-self: flex-end;
    }

    .wf-license-product-view {
        display: flex;
        flex-direction: column;
    }

    .wf-license-product-view-left {
        order: 2;
        width: 100% !important;
        margin-left: 0;
        margin-bottom: 1rem;
    }

    .wf-license-product-view-right  {
        order: 1;
        width: 100%;
        margin-bottom: 1rem;
    }
    .wf-license-product-view-right .card.license-usage {
        margin-bottom: 0;
    }

    .mobile-CTA-license-single {
        order: 3;
        width: 100%;
    }

    .wf-license-product-view-right .wf-summary-card {
        display: none;
    }

    .mobile-CTA-license-single .wf-summary-card  {
        padding: 1rem;
        border-radius: 12px;
        border: 1px solid #BFCDDF;
        margin-bottom: 24px;
    }

    .wf-licenses-table,
    .wf-licenses-table tbody,
    .wf-licenses-table tr,
    .wf-licenses-table td {
        display: block;
        width: 100%;
    }

    .wf-licenses-table thead {
        display: none;
    }

    .wf-licenses-table tbody tr {
        border-bottom: 1px solid #BFCDDF;
        padding: 16px 0;
    }

    .wf-licenses-table tbody tr td {
        border: none;
        padding: 4px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .wf-licenses-table tbody tr td::before, .wf-col-project-cod:before {
        content: attr(data-label);
        color: #45435A;
        font-weight: 400;
        font-size: 16px;
        flex-shrink: 0;
        margin-right: 12px;
    }

    .wf-col-actions {
        justify-content: space-between !important;
        gap: 12px;
        margin-top: 12px;
        padding-right: 0;
    }

    .wf-col-actions.single-license-actions {
        justify-content: flex-end !important;
    }

    .wf-user-email {
        font-weight: 600 !important;
        font-size: 16px;
        width: 100% !important;
        padding-left: 0;
    }
    .wf-licenses-table .wf-col:first-of-type {
        min-width: none !important;
        max-width: none !important;
    }
}


@media (max-width: 768px) {
    .wf-form-row-group {
        flex-direction: column;
        gap: 0;
    }
    
    .wf-form-row-half {
        margin-bottom: 20px;
    }
    
    .wf-form-actions {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .wf-users-table {
        font-size: 14px;
    }
    
    .wf-users-table th,
    .wf-users-table td {
        padding: 8px;
    }

    .wf-stats, .wf-license-count-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wf-progress-card .wf-progress-card__top {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 12px;
    }
    .wf-progress-card .wf-progress-card__top .wf-progress-card__left {
        justify-content: space-between;
        width: 100%;
    }
    .wf-progress-card .wf-progress-card__right {
        width: 100%;
    }
    .wf-progress-card .wf-progress-card__right .wf-btn {
        width: 100%;
    }

    .wf-mobile-button {
        margin-top: 0.75rem;
    }

    .wf-progress-card .wf-progress-card__top .wf-progress-card__right a {
        width: 100%;
    }

    .wf-dashboard-section-head {
        flex-direction: column;
    }

    .wf-dashboard-section-head .wf-btn {
        justify-content: start;
        padding-left: 0;
    }
}

@media (max-width: 575px) {
    .wf-stats, .wf-license-count-wrapper {
        grid-template-columns: 1fr;
    }

    #wf-orders-table tbody tr td::before {
        font-size: 12px;
    }
}

/* ===================================================================== */
/* SCORM COURSE PLAYER                                                    */
/* ===================================================================== */

/*
 * The player renders inside the WooCommerce My Account content area.
 * We make it fill the remaining viewport by overflowing the WC container.
 */
.wf-course-player {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    background: #1a1a2e;
}

.wf-course-player__header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 20px;
    background: #16213e;
    color: #fff;
    font-size: 14px;
    flex-shrink: 0;
    min-height: 48px;
}

.wf-course-player__back {
    color: #a8b4d8;
    text-decoration: none;
    white-space: nowrap;
    display: flex;
    align-items: center;
    transition: color .15s;
}

.wf-course-player__back:hover {
    color: #fff;
}

.wf-course-player__title {
    flex: 1;
    font-weight: 600;
    color: #e2e8f0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-course-player__status {
    font-size: 12px;
    color: #7b93c4;
    white-space: nowrap;
}

.wf-course-player__frame-wrap {
    flex: 1;
    position: relative;
    overflow: hidden;
}

.wf-course-player__frame {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    background: #fff;
}
