/**
 * LifterLMS Styles - Dark Theme
 * @package LetsGrowMore
 */

/* ==============================================
   GLOBAL LIFTERLMS STYLES
   ============================================== */

.lifterlms-main {
    background-color: #0f1629;
    min-height: 100vh;
    padding: 40px 24px 80px;
}

.lifterlms-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* ==============================================
   WIDGETS - Remove unnecessary br breaks & empty p
   ============================================== */

/* Hide br tags in widgets that cause extra spacing */
.widget br,
.llms-widget br,
.widget_block br,
.bn-container br,
.bn-quick-widget br,
.llms-syllabus-wrapper br,
.llms-lesson-navigation br,
.llms-course-progress br,
.widget_llms_course_syllabus br,
.widget_llms_course_progress br,
.widget_llms_lesson_navigation br,
.sidebar br,
.lifterlms-sidebar br,
aside br {
    display: none !important;
}

/* Remove empty paragraphs in widgets */
.widget p:empty,
.llms-widget p:empty,
.widget_block p:empty,
.bn-container p:empty,
.llms-syllabus-wrapper p:empty,
aside p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==============================================
   SIDEBAR LAYOUT (Lessons, Quizzes, Courses)
   ============================================== */

.lifterlms-main.has-sidebar .lifterlms-container {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.lifterlms-main.has-sidebar .lifterlms-content-area {
    flex: 1;
    min-width: 0;
}

.lifterlms-main.has-sidebar .lifterlms-sidebar {
    width: 320px;
    flex-shrink: 0;
    position: sticky;
    top: 100px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* Sidebar widgets - ensure full width */
.lifterlms-sidebar .widget,
.lifterlms-sidebar .llms-widget {
    background: #1a2332;
    border: 1px solid #2a3558;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-sizing: border-box;
    overflow: visible;
    width: 100% !important;
}

/* Force all widget children to respect width */
.lifterlms-sidebar .widget > *,
.lifterlms-sidebar .llms-widget > * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.lifterlms-sidebar .widget-title {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #2a3558;
    width: 100% !important;
}

/* Override default LifterLMS colors */
:root {
    --llms-primary-color: #4a6cf7;
    --llms-accent-color: #6b8cff;
}

/* ==============================================
   COURSE CATALOG
   ============================================== */

.llms-loop-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

@media (max-width: 992px) {
    .llms-loop-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .llms-loop-list {
        grid-template-columns: 1fr;
    }
}

.llms-loop-item {
    background: #1a2332;
    border-radius: 12px;
    border: 1px solid #2a3558;
    overflow: hidden;
    transition: all 0.3s ease;
}

.llms-loop-item:hover {
    border-color: #4a6cf7;
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(74, 108, 247, 0.15);
}

.llms-loop-item .llms-loop-item-content {
    padding: 20px;
}

.llms-loop-item .llms-loop-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.llms-loop-item .llms-loop-title a {
    color: #ffffff;
    text-decoration: none;
}

.llms-loop-item .llms-loop-title a:hover {
    color: #6b8cff;
}

.llms-loop-item .llms-author,
.llms-loop-item .llms-meta {
    color: #6b7aa1;
    font-size: 0.875rem;
}

.llms-loop-item .llms-price {
    color: #6b8cff;
    font-size: 1.25rem;
    font-weight: 700;
    margin-top: 12px;
}

/* Featured image */
.llms-loop-item .llms-featured-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* ==============================================
   SINGLE COURSE
   ============================================== */

.llms-single-course {
    color: #a8b2d1;
}

.llms-single-course .entry-title,
.llms-single-course h1 {
    color: #ffffff;
    font-size: 2.25rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.llms-single-course .llms-meta-info {
    background: #1a2332;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #2a3558;
    margin-bottom: 30px;
}

.llms-single-course .llms-meta-info span {
    color: #a8b2d1;
}

/* ==============================================
   COURSE SYLLABUS - CLEAN VERSION
   ============================================== */

.llms-syllabus-wrapper {
    background: #1a2332;
    border-radius: 12px;
    padding: 30px;
    border: 1px solid #2a3558;
    margin-top: 30px;
}

.llms-syllabus-wrapper h3 {
    color: #ffffff;
    font-size: 1.25rem;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #2a3558;
}

/* Section titles */
.llms-syllabus-wrapper .llms-section .section-title {
    color: #ffffff;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 12px;
    padding: 12px 16px;
    background: #0f1629;
    border-radius: 8px;
}

/* Lesson items in syllabus */
.llms-syllabus-wrapper .llms-lesson {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    margin-left: 16px;
    border-left: 2px solid #2a3558;
    transition: all 0.2s ease;
    background: transparent;
}

.llms-syllabus-wrapper .llms-lesson:hover {
    border-left-color: #4a6cf7;
    background: rgba(74, 108, 247, 0.05);
}

.llms-syllabus-wrapper .llms-lesson a {
    color: #a8b2d1;
    text-decoration: none;
    flex: 1;
}

.llms-syllabus-wrapper .llms-lesson a:hover {
    color: #6b8cff;
}

/* Checkmark - HIDDEN completely */
.llms-syllabus-wrapper .llms-lesson .llms-lesson-complete,
.llms-syllabus-wrapper .llms-lesson-complete,
.llms-lesson-preview .llms-lesson-complete,
.llms-lesson-preview .llms-lesson-complete i,
.llms-lesson-preview .llms-lesson-complete span,
.llms-lesson-preview [class*="complete"] i,
.llms-lesson-preview .fa-check,
.llms-lesson-preview .dashicons-yes,
.llms-lesson-complete,
.llms-lesson-complete i,
.llms-lesson-complete span {
    display: none !important;
    visibility: hidden !important;
}

.llms-syllabus-wrapper .llms-lesson a,
.llms-syllabus-wrapper .llms-lesson-link {
    display: block !important;
}

.llms-syllabus-wrapper .llms-lesson .lesson-preview {
    color: #6b7aa1;
    font-size: 0.75rem;
    background: #2a3558;
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 8px;
}

/* ==============================================
   LESSON PAGE
   ============================================== */

.llms-single-lesson,
.llms-lesson-page .lifterlms-content-area {
    color: #a8b2d1;
}

/* Lesson title */
.llms-single-lesson .entry-title,
.llms-single-lesson h1,
.llms-lesson-page h1 {
    color: #ffffff;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 20px;
}

/* Lesson content */
.llms-single-lesson .entry-content,
.llms-lesson-page .entry-content {
    color: #a8b2d1;
    font-size: 1rem;
    line-height: 1.8;
}

.llms-single-lesson .entry-content h2,
.llms-single-lesson .entry-content h3,
.llms-single-lesson .entry-content h4 {
    color: #ffffff;
    margin-top: 32px;
    margin-bottom: 16px;
}

/* Video wrapper */
.llms-video-wrapper,
.llms-video-embed {
    background: #0f1629;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 30px;
}

.llms-video-wrapper iframe,
.llms-video-embed iframe {
    width: 100%;
    aspect-ratio: 16/9;
    border: none;
}

/* ==============================================
   COURSE INSTRUCTOR / AUTHOR BOX - COMPACT
   ============================================== */

/* Main author/instructor container - simple, no nested borders */
.llms-author,
.llms-instructor,
.llms-course-author,
.llms-instructor-info,
.llms-author-info,
[class*="llms-author"],
[class*="llms-instructor"] {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin: 20px 0 !important;
    text-align: center !important;
}

/* Remove ALL nested borders and backgrounds */
.llms-author *,
.llms-instructor *,
.llms-course-author *,
.llms-instructor-info *,
.llms-author-info *,
[class*="llms-author"] *,
[class*="llms-instructor"] * {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Avatar - smaller and clean */
.llms-author .avatar,
.llms-author img,
.llms-instructor .avatar,
.llms-instructor img,
.llms-course-author img,
[class*="llms-author"] img,
[class*="llms-instructor"] img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    border: 3px solid var(--lgm-accent, #4a6cf7) !important;
    margin: 0 auto 12px !important;
    display: block !important;
    object-fit: cover !important;
}

/* Author name */
.llms-author .llms-author-name,
.llms-author h3,
.llms-author h4,
.llms-author-name,
.llms-instructor-name,
.llms-instructor h3,
.llms-instructor h4,
[class*="llms-author"] h3,
[class*="llms-author"] h4,
[class*="llms-instructor"] h3,
[class*="llms-instructor"] h4 {
    color: var(--lgm-text-primary, #ffffff) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    margin: 8px 0 4px !important;
    padding: 0 !important;
}

/* Author title/label */
.llms-author .llms-author-title,
.llms-author-title,
.llms-instructor-title,
[class*="llms-author"] span,
[class*="llms-instructor"] span {
    color: var(--lgm-text-muted, #6b7aa1) !important;
    font-size: 0.85rem !important;
    display: block !important;
    margin: 0 !important;
}

/* Author bio/description */
.llms-author .llms-author-description,
.llms-author p,
.llms-author-bio,
.llms-instructor-bio,
.llms-instructor p,
[class*="llms-author"] p,
[class*="llms-instructor"] p {
    color: var(--lgm-text-secondary, #a8b2d1) !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
}

/* Author social links */
.llms-author .llms-author-social a,
.llms-instructor-social a {
    color: var(--lgm-text-muted, #6b7aa1) !important;
    margin: 8px 6px 0 !important;
    display: inline-block !important;
}

.llms-author .llms-author-social a:hover,
.llms-instructor-social a:hover {
    color: var(--lgm-accent, #4a6cf7) !important;
}

/* ==============================================
   LESSON NAVIGATION - PREV/NEXT BUTTONS
   ============================================== */

/* The navigation wrapper - force dark background */
.llms-lesson-link-nav,
.llms-lesson-navigation,
.llms-nav-pagination,
nav.llms-pagination {
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-top: 40px !important;
    padding-top: 30px !important;
    border-top: 1px solid var(--lgm-border, #2a3558) !important;
    background: transparent !important;
    width: 100% !important;
}

/* The outer card container - Previous/Next lesson boxes */
.llms-lesson-link-nav > a,
.llms-lesson-link-nav > div,
.llms-lesson-navigation > a,
.llms-lesson-navigation > div,
.llms-course-nav,
.llms-course-nav > a,
.llms-course-nav .llms-lesson-preview,
.llms-next-lesson,
.llms-prev-lesson,
.llms-previous-lesson {
    flex: 1 1 auto !important;
    max-width: none !important;
    width: auto !important;
    min-width: 200px !important;
    background: var(--lgm-bg-secondary, #1a2332) !important;
    background-color: #1a2332 !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    text-decoration: none !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    display: block !important;
}

.llms-lesson-link-nav > a:hover,
.llms-lesson-link-nav > div:hover,
.llms-lesson-navigation > a:hover,
.llms-lesson-navigation > div:hover,
.llms-course-nav:hover,
.llms-course-nav > a:hover,
.llms-course-nav:hover .llms-lesson-preview,
.llms-next-lesson:hover,
.llms-prev-lesson:hover,
.llms-previous-lesson:hover {
    border-color: var(--lgm-accent, #4a6cf7) !important;
    background: #1e2a3f !important;
    background-color: #1e2a3f !important;
}

/* Ensure inner elements don't turn white on hover */
.llms-lesson-link-nav > a:hover *,
.llms-lesson-link-nav > div:hover *,
.llms-lesson-navigation > a:hover *,
.llms-lesson-navigation > div:hover *,
.llms-course-nav:hover *,
.llms-next-lesson:hover *,
.llms-prev-lesson:hover * {
    background: transparent !important;
    background-color: transparent !important;
}

/* Remove nested styling that's causing issues */
.llms-lesson-link-nav > a > *,
.llms-lesson-link-nav > div > *,
.llms-lesson-navigation > a > *,
.llms-lesson-navigation > div > * {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    display: block !important;
}

/* The inner lesson preview card - make it full width */
.llms-lesson-link-nav .llms-lesson-preview,
.llms-lesson-navigation .llms-lesson-preview,
.llms-lesson-link-nav article,
.llms-lesson-navigation article {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* Pre-text (Previous Lesson / Next Lesson label) */
.llms-lesson-link-nav .llms-pre-text,
.llms-lesson-navigation .llms-pre-text,
.llms-lesson-preview .llms-pre-text {
    display: block !important;
    color: var(--lgm-text-muted, #6b7aa1) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
}

/* Lesson title in nav */
.llms-lesson-link-nav .llms-lesson-title,
.llms-lesson-navigation .llms-lesson-title,
.llms-lesson-preview .llms-lesson-title,
.llms-lesson-link-nav h5,
.llms-lesson-link-nav h4,
.llms-lesson-link-nav h3,
.llms-lesson-link-nav header,
.llms-lesson-link-nav strong {
    display: block !important;
    color: var(--lgm-text-primary, #ffffff) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Right align next lesson text */
.llms-lesson-link-nav > *:last-child,
.llms-lesson-link-nav > *:last-child * {
    text-align: right !important;
}

/* Left align previous lesson text */
.llms-lesson-link-nav > *:first-child,
.llms-lesson-link-nav > *:first-child * {
    text-align: left !important;
}

/* Hide thumbnails/images */
.llms-lesson-link-nav img,
.llms-lesson-link-nav figure,
.llms-lesson-link-nav .llms-lesson-thumbnail,
.llms-lesson-navigation img {
    display: none !important;
}

/* Back to course link */
.llms-parent-course-link {
    display: inline-block;
    padding: 12px 20px;
    background: #1a2332;
    border: 1px solid #2a3558;
    border-radius: 8px;
    color: #a8b2d1;
    text-decoration: none;
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.llms-parent-course-link:hover {
    border-color: #4a6cf7;
    color: #ffffff;
}

/* ==============================================
   MARK COMPLETE BUTTON
   ============================================== */

.llms-lesson-button-wrapper {
    margin-top: 30px;
    text-align: center;
    background: transparent !important;
}

/* Mark Complete / Mark Incomplete button */
.llms-lesson-button-wrapper .llms-button,
.lifterlms-content-area .llms-complete-lesson-button,
.llms-lesson-button-wrapper button,
.llms-lesson-button-wrapper input[type="submit"],
button.llms-complete-lesson-button,
button.llms-incomplete-lesson-button,
.llms-mark-complete,
.llms-mark-incomplete,
form.llms-complete-lesson-form button,
form.llms-incomplete-lesson-form button {
    background-color: #4a6cf7 !important;
    background: #4a6cf7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.llms-lesson-button-wrapper .llms-button:hover,
.lifterlms-content-area .llms-complete-lesson-button:hover,
.llms-lesson-button-wrapper button:hover,
button.llms-complete-lesson-button:hover,
button.llms-incomplete-lesson-button:hover,
.llms-mark-complete:hover,
.llms-mark-incomplete:hover,
form.llms-complete-lesson-form button:hover,
form.llms-incomplete-lesson-form button:hover {
    background-color: #5a7bff !important;
    background: #5a7bff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(74, 108, 247, 0.4) !important;
    border: none !important;
    outline: none !important;
}

/* Focus state - no border */
.llms-lesson-button-wrapper .llms-button:focus,
.llms-lesson-button-wrapper button:focus,
button.llms-complete-lesson-button:focus,
button.llms-incomplete-lesson-button:focus {
    outline: none !important;
    border: none !important;
    box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.3) !important;
}

/* The dark container behind the button */
.llms-lesson-button-wrapper > div,
.llms-lesson-button-wrapper .llms-complete-lesson-wrapper,
.llms-complete-lesson-wrapper,
.llms-incomplete-lesson-wrapper {
    background: #1a2332 !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 20px !important;
    text-align: center !important;
}

/* Lesson Complete text above button */
.llms-lesson-button-wrapper .llms-lesson-complete-text,
.llms-complete-lesson-wrapper .llms-lesson-complete-text,
.llms-lesson-complete-text {
    color: #a8b2d1 !important;
    margin-bottom: 12px !important;
    font-size: 0.9rem !important;
}

/* ==============================================
   PROGRESS BAR
   ============================================== */

.llms-progress {
    background: #1a2332;
    border-radius: 10px;
    overflow: hidden;
    height: 12px;
    margin: 20px 0;
}

.llms-progress .progress-bar {
    background: linear-gradient(90deg, #4a6cf7, #6b8cff);
    border-radius: 10px;
    height: 100%;
    transition: width 0.5s ease;
}

.llms-progress-text {
    color: #6b7aa1;
    font-size: 0.875rem;
    margin-top: 8px;
}

/* ==============================================
   QUIZZES
   ============================================== */

.llms-quiz-wrapper {
    background: #1a2332;
    border-radius: 12px;
    padding: 30px;
    border: 1px solid #2a3558;
}

.llms-quiz-wrapper h1,
.llms-quiz-wrapper h2 {
    color: #ffffff;
}

.llms-quiz-wrapper .llms-question {
    background: #0f1629;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 20px;
    border: 1px solid #2a3558;
}

.llms-quiz-wrapper .llms-question-title {
    color: #ffffff;
    font-weight: 600;
    margin-bottom: 16px;
}

.llms-quiz-wrapper .llms-choice {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    margin-bottom: 8px;
    background: #1a2332;
    border: 1px solid #2a3558;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.llms-quiz-wrapper .llms-choice:hover {
    border-color: #4a6cf7;
}

.llms-quiz-wrapper .llms-choice.selected {
    border-color: #4a6cf7;
    background: rgba(74, 108, 247, 0.1);
}

.llms-quiz-wrapper .llms-choice input {
    margin-right: 12px;
}

.llms-quiz-wrapper .llms-choice label {
    color: #a8b2d1;
    cursor: pointer;
}

/* Quiz results */
.llms-quiz-results {
    background: #1a2332;
    border-radius: 12px;
    padding: 30px;
    border: 1px solid #2a3558;
    text-align: center;
}

.llms-quiz-results .grade {
    font-size: 3rem;
    font-weight: 700;
    color: #ffffff;
}

.llms-quiz-results .grade.passed {
    color: #10b981;
}

.llms-quiz-results .grade.failed {
    color: #ef4444;
}

/* ==============================================
   STUDENT DASHBOARD / MY ACCOUNT - COMPLETE STYLING
   ============================================== */

/* 
 * When both WooCommerce My Account and LifterLMS Dashboard 
 * appear on the same page, align them to same width
 */

/* Main container - constrain width to 1200px */
.llms-student-dashboard,
.lifterlms-account,
.llms-my-account,
[class*="llms-student-dashboard"],
body.llms-account .lifterlms-content-area,
body.llms-account .lifterlms-container,
.page-template-default .llms-student-dashboard,
body.woocommerce-account .llms-student-dashboard {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
    color: #a8b2d1;
}

/* When on WooCommerce account page, match WooCommerce container */
body.woocommerce-account .woocommerce,
body.woocommerce-account .llms-student-dashboard {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Ensure the page doesn't overflow */
body.llms-account,
body.llms-account .site-main,
body.llms-account main,
body.llms-account .entry-content,
body.llms-account .wp-site-blocks {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    background: #0f1629 !important;
}

/* My Account page main area - 1200px max for larger screens */
body.llms-account .lifterlms-main,
.page-id-8 .lifterlms-main,
.llms-student-dashboard-wrapper {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 24px 80px !important;
    background: #0f1629 !important;
}

/* Page title */
.llms-student-dashboard h1,
.llms-student-dashboard h2,
.llms-student-dashboard h3,
.llms-student-dashboard .llms-sd-title,
.lifterlms-account h1,
.lifterlms-account h2 {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* ==============================================
   LOGIN & REGISTRATION FORMS - MY ACCOUNT PAGE
   ============================================== */

/* Two column layout for login/register */
.llms-person-login-form-wrapper,
.llms-new-person-form-wrapper {
    display: block !important;
}

/* Form columns container - reduced gap */
.llms-person-login-form-wrapper .llms-form-fields,
.llms-new-person-form-wrapper .llms-form-fields,
.llms-cols {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
}

/* Individual form cards - Login & Register side by side */
.llms-person-login-form-wrapper > div,
.llms-new-person-form-wrapper > div,
.llms-form-wrapper,
.llms-login-form-wrapper,
.llms-registration-form-wrapper,
.llms-col,
.llms-col-1,
.llms-col-2 {
    flex: 1 1 calc(50% - 15px) !important;
    min-width: 300px !important;
    background: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-sizing: border-box !important;
}

/* Form headings */
.llms-person-login-form-wrapper h4,
.llms-new-person-form-wrapper h4,
.llms-form-wrapper h4,
.llms-person-login-form-wrapper .llms-form-heading,
.llms-new-person-form-wrapper .llms-form-heading,
h4.llms-form-heading {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Form description text */
.llms-person-login-form-wrapper p,
.llms-new-person-form-wrapper p,
.llms-form-wrapper p {
    color: #a8b2d1 !important;
    margin-bottom: 20px !important;
}

/* Form fields container - COMPACT spacing */
.llms-form-field {
    margin-bottom: 16px !important;
    width: 100% !important;
}

/* Form fields within forms - reduce gaps */
.llms-form-fields,
form .llms-form-fields,
.llms-person-form .llms-form-fields,
.llms-edit-account .llms-form-fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* When form fields are in a row (like first/last name) */
.llms-form-fields.llms-cols,
.llms-cols:not(.llms-person-login-form-wrapper .llms-cols) {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.llms-cols .llms-form-field,
.llms-form-fields .llms-form-field {
    margin-bottom: 16px !important;
}

/* Labels - COMPACT */
.llms-form-field label,
.llms-form-field .llms-label {
    display: block !important;
    color: #a8b2d1 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
    text-align: left !important;
}

/* Required asterisk */
.llms-form-field .llms-required {
    color: #ef4444 !important;
}

/* Input fields - COMPACT */
.llms-form-field input[type="text"],
.llms-form-field input[type="email"],
.llms-form-field input[type="password"],
.llms-form-field input[type="tel"],
.llms-form-field input[type="number"],
.llms-form-field input[type="url"],
.llms-form-field input[type="date"],
.llms-form-field textarea,
.llms-form-field select,
input.llms-field-input,
select.llms-field-select,
textarea.llms-field-textarea {
    width: 100% !important;
    background: #0f1629 !important;
    border: 1px solid #2a3558 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 0.95rem !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
}

.llms-form-field input:focus,
.llms-form-field textarea:focus,
.llms-form-field select:focus,
input.llms-field-input:focus,
select.llms-field-select:focus {
    border-color: #4a6cf7 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.15) !important;
}

/* Placeholder text */
.llms-form-field input::placeholder,
.llms-form-field textarea::placeholder {
    color: #6b7aa1 !important;
}

/* Checkbox fields */
.llms-form-field.type-checkbox,
.llms-form-field input[type="checkbox"] {
    width: auto !important;
}

.llms-form-field.type-checkbox label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
}

.llms-form-field input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #2a3558 !important;
    border-radius: 4px !important;
    background: #0f1629 !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.llms-form-field input[type="checkbox"]:checked {
    background: #4a6cf7 !important;
    border-color: #4a6cf7 !important;
}

/* Submit buttons */
.llms-form-field button[type="submit"],
.llms-form-field input[type="submit"],
.llms-person-login-form-wrapper .llms-button,
.llms-new-person-form-wrapper .llms-button,
button.llms-button-action,
.llms-button-primary {
    width: 100% !important;
    background: #4a6cf7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 24px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
}

.llms-form-field button[type="submit"]:hover,
.llms-form-field input[type="submit"]:hover,
.llms-person-login-form-wrapper .llms-button:hover,
.llms-new-person-form-wrapper .llms-button:hover,
button.llms-button-action:hover {
    background: #5a7bff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(74, 108, 247, 0.4) !important;
}

/* Secondary/outline buttons */
.llms-button-secondary,
a.llms-button-secondary {
    background: transparent !important;
    color: #4a6cf7 !important;
    border: 2px solid #4a6cf7 !important;
}

.llms-button-secondary:hover,
a.llms-button-secondary:hover {
    background: #4a6cf7 !important;
    color: #ffffff !important;
}

/* Links in forms */
.llms-person-login-form-wrapper a,
.llms-new-person-form-wrapper a,
.llms-form-wrapper a,
a.llms-lost-password-link {
    color: #4a6cf7 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.llms-person-login-form-wrapper a:hover,
.llms-new-person-form-wrapper a:hover,
a.llms-lost-password-link:hover {
    color: #6b8cff !important;
}

/* Lost password link */
.llms-lost-password-link,
a[href*="lost-password"] {
    display: block !important;
    text-align: center !important;
    margin-top: 16px !important;
    font-size: 0.9rem !important;
}

/* ==============================================
   DASHBOARD NAVIGATION - Match WooCommerce Style Exactly
   ============================================== */

/* When LifterLMS is nested inside WooCommerce My Account */
.woocommerce-account .llms-student-dashboard,
.woocommerce-MyAccount-content .llms-student-dashboard,
.woocommerce .llms-student-dashboard {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide ALL floating section titles that appear outside the content area */
.llms-student-dashboard > h3,
.llms-student-dashboard > h2,
.llms-student-dashboard > h4,
.llms-student-dashboard > .llms-sd-title,
.llms-student-dashboard > header,
.llms-sd-section-title:not(.llms-sd-section .llms-sd-section-title),
.llms-student-dashboard > [class*="title"]:not(nav):not(.llms-sd-nav),
.llms-student-dashboard-title,
.llms-sd-header,
.llms-student-dashboard > .llms-sd-section:empty,
.llms-student-dashboard > div:not(.llms-sd-nav):not(:has(form)):not(:has(table)):not(:has(ul)):not(:has(p)) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Force flex layout like WooCommerce - CRITICAL */
.llms-student-dashboard {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 30px !important;
    align-items: flex-start !important;
}

/* Navigation sidebar - FIXED WIDTH (do not grow/shrink) */
.llms-sd-nav,
.llms-student-dashboard-navigation,
.llms-student-dashboard > nav,
nav.llms-sd-nav {
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    flex: 0 0 250px !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    background: #1a2332 !important;
    border-radius: 12px !important;
    padding: 8px !important;
    border: 1px solid #2a3558 !important;
    margin-bottom: 0 !important;
    order: 1 !important;
}

.llms-sd-nav ul,
.llms-student-dashboard-navigation ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.llms-sd-nav ul li,
.llms-student-dashboard-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: left !important;
}

/* Nav links - LEFT ALIGNED, no text wrapping */
.llms-sd-nav ul li a,
.llms-student-dashboard-navigation ul li a {
    display: block !important;
    padding: 12px 16px !important;
    color: #a8b2d1 !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    background: transparent !important;
    border: none !important;
    text-align: left !important;
    border-left: 3px solid transparent !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.llms-sd-nav ul li a:hover,
.llms-student-dashboard-navigation ul li a:hover {
    background: rgba(74, 108, 247, 0.1) !important;
    color: #ffffff !important;
}

/* Active tab - LEFT BORDER like WooCommerce, NO button background */
.llms-sd-nav ul li.current a,
.llms-sd-nav ul li a.current,
.llms-sd-nav ul li.is-active a,
.llms-sd-nav ul li.llms-sd-current a,
.llms-sd-nav ul li:first-child a[href*="dashboard"],
.llms-student-dashboard-navigation ul li.current a,
.llms-student-dashboard-navigation ul li.is-active a {
    background: transparent !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-left: 3px solid #4a6cf7 !important;
    border-radius: 0 8px 8px 0 !important;
    padding-left: 13px !important;
    text-align: left !important;
}

/* Remove any button-like styling on active items - FORCE */
.llms-sd-nav ul li.current,
.llms-sd-nav ul li.is-active,
.llms-sd-nav ul li.llms-sd-current,
.llms-sd-nav ul li.current a,
.llms-sd-nav ul li.is-active a,
.llms-sd-nav ul li.llms-sd-current a {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Override any inline styles or other specificity issues */
.llms-student-dashboard .llms-sd-nav ul li a,
.llms-student-dashboard nav ul li a {
    background: transparent !important;
    background-color: transparent !important;
    text-align: left !important;
}

.llms-student-dashboard .llms-sd-nav ul li.current a,
.llms-student-dashboard .llms-sd-nav ul li.is-active a,
.llms-student-dashboard nav ul li.current a {
    background: transparent !important;
    background-color: transparent !important;
    border-left: 3px solid #4a6cf7 !important;
}

/* CRITICAL: Override LifterLMS default blue background on current nav item */
.llms-sd-nav ul li a:hover,
.llms-sd-nav ul li.current a,
nav.llms-sd-nav ul li.current a,
.llms-student-dashboard .llms-sd-nav ul li a:hover,
.llms-student-dashboard .llms-sd-nav ul li.current a,
.llms-student-dashboard nav.llms-sd-nav ul li.current a,
body .llms-sd-nav ul li.current a,
body .llms-student-dashboard .llms-sd-nav ul li.current a {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Ensure hover only shows subtle highlight, not blue button */
.llms-sd-nav ul li a:hover {
    background: rgba(74, 108, 247, 0.1) !important;
}

/* ==============================================
   DASHBOARD CONTENT AREA - Match WooCommerce
   ============================================== */

/* Content area takes remaining space - ALL content types */
.llms-sd-section,
.llms-student-dashboard-content,
.llms-sd-tab-content,
.llms-student-dashboard > section,
.llms-student-dashboard > div:not(.llms-sd-nav):not(nav),
.llms-student-dashboard > form,
.llms-student-dashboard > .llms-person-form,
.llms-student-dashboard > .llms-edit-account,
.llms-student-dashboard > [class*="llms-sd-"]:not(.llms-sd-nav),
.llms-student-dashboard > article {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    background: #1a2332 !important;
    border-radius: 12px !important;
    padding: 30px !important;
    border: 1px solid #2a3558 !important;
    margin-bottom: 0 !important;
    order: 2 !important;
}

/* Ensure forms inside dashboard get proper styling */
.llms-student-dashboard form.llms-person-form,
.llms-student-dashboard .llms-edit-account-form,
.llms-student-dashboard #llms-edit-account,
.llms-student-dashboard [id*="edit-account"],
.llms-student-dashboard [class*="edit-account"] {
    flex: 1 1 0% !important;
    background: #1a2332 !important;
    border-radius: 12px !important;
    padding: 30px !important;
    border: 1px solid #2a3558 !important;
    order: 2 !important;
}

/* Section headings inside the content area */
.llms-sd-section h3,
.llms-sd-section .llms-sd-section-title,
.llms-student-dashboard-content h2,
.llms-student-dashboard-content h3,
.llms-student-dashboard > section h3,
.llms-student-dashboard form h3,
.llms-student-dashboard .llms-edit-account h3 {
    color: #ffffff !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin: 0 0 20px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #2a3558 !important;
}

/* Content typography */
.llms-sd-section p,
.llms-student-dashboard-content p {
    color: #a8b2d1 !important;
}

.llms-sd-section a,
.llms-student-dashboard-content a {
    color: #6b8cff !important;
}

.llms-sd-section a:hover,
.llms-student-dashboard-content a:hover {
    color: #8aa4ff !important;
}

/* Empty state message */
.llms-sd-section .llms-sd-no-results,
.llms-sd-section p:only-child {
    color: #6b7aa1 !important;
    font-style: italic !important;
}

/* Tables in dashboard - DARK THEME */
.llms-sd-section table,
.llms-student-dashboard table,
.llms-table,
table.llms-table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #0f1629 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #2a3558 !important;
}

.llms-sd-section table thead,
.llms-student-dashboard table thead,
.llms-table thead {
    background: #0f1629 !important;
}

.llms-sd-section table th,
.llms-student-dashboard table th,
.llms-table th {
    background: #0f1629 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 14px 16px !important;
    text-align: left !important;
    border-bottom: 1px solid #2a3558 !important;
    font-size: 0.9rem !important;
}

.llms-sd-section table td,
.llms-student-dashboard table td,
.llms-table td {
    padding: 14px 16px !important;
    color: #a8b2d1 !important;
    border-bottom: 1px solid #2a3558 !important;
    background: #0f1629 !important;
}

.llms-sd-section table tbody tr:last-child td,
.llms-student-dashboard table tbody tr:last-child td {
    border-bottom: none !important;
}

.llms-sd-section table tr:hover td,
.llms-student-dashboard table tr:hover td {
    background: rgba(74, 108, 247, 0.05) !important;
}

/* Table sorting/filter controls */
.llms-table-sort,
.llms-sd-section .sort-filter,
table + .sort-filter,
.llms-sorting {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: #0f1629 !important;
    border: 1px solid #2a3558 !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    margin-top: -1px !important;
}

.llms-table-sort label,
.sort-filter label {
    color: #a8b2d1 !important;
    font-size: 0.9rem !important;
}

.llms-table-sort select,
.sort-filter select,
.llms-sorting select {
    background: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    color: #ffffff !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
}

.llms-table-sort button,
.sort-filter button,
.llms-sorting button {
    background: #4a6cf7 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

.llms-table-sort button:hover,
.sort-filter button:hover {
    background: #5a7bff !important;
}

/* Course cards in dashboard */
.llms-sd-section .llms-sd-item,
.llms-sd-item {
    display: flex !important;
    gap: 20px !important;
    padding: 20px !important;
    background: #0f1629 !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    border: 1px solid #2a3558 !important;
    transition: border-color 0.2s ease !important;
}

.llms-sd-section .llms-sd-item:hover,
.llms-sd-item:hover {
    border-color: #4a6cf7 !important;
}

.llms-sd-section .llms-sd-item img,
.llms-sd-item img {
    width: 120px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
}

.llms-sd-section .llms-sd-item .llms-sd-item-title a,
.llms-sd-item .llms-sd-item-title a {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.llms-sd-item .llms-sd-item-title a:hover {
    color: #4a6cf7 !important;
}

/* ==============================================
   ACCOUNT/PROFILE EDIT FORMS
   ============================================== */

.llms-person-form,
.llms-edit-account,
#llms-edit-account,
.llms-sd-section form {
    background: transparent !important;
}

.llms-person-form .llms-form-field,
.llms-edit-account .llms-form-field,
.llms-sd-section .llms-form-field {
    margin-bottom: 20px !important;
}

/* Two column form fields */
.llms-form-fields.cols-2,
.llms-cols.cols-2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
}

/* ==============================================
   NOTICES/ALERTS IN DASHBOARD
   ============================================== */

.llms-notice,
.llms-notice-wrapper .llms-notice,
.llms-sd-section .llms-notice {
    background: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-left: 4px solid #4a6cf7 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    color: #a8b2d1 !important;
}

.llms-notice.llms-success,
.llms-notice-success {
    border-left-color: #22c55e !important;
}

.llms-notice.llms-error,
.llms-notice-error {
    border-left-color: #ef4444 !important;
}

.llms-notice.llms-warning,
.llms-notice-warning {
    border-left-color: #f59e0b !important;
}

/* ==============================================
   ORDER HISTORY / TRANSACTIONS
   ============================================== */

.llms-sd-section.orders table,
.llms-order-history table {
    font-size: 0.9rem !important;
}

.llms-sd-section.orders table th,
.llms-order-history table th {
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Order status badges */
.llms-status,
.order-status {
    display: inline-block !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

.llms-status.active,
.llms-status.completed,
.order-status.completed {
    background: rgba(34, 197, 94, 0.15) !important;
    color: #22c55e !important;
}

.llms-status.pending,
.order-status.pending {
    background: rgba(245, 158, 11, 0.15) !important;
    color: #f59e0b !important;
}

.llms-status.cancelled,
.llms-status.failed,
.order-status.cancelled {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #ef4444 !important;
}

/* ==============================================
   CERTIFICATES & ACHIEVEMENTS
   ============================================== */

.llms-certificate,
.llms-achievement,
.llms-sd-section .llms-certificate,
.llms-sd-section .llms-achievement {
    background: #0f1629 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    text-align: center !important;
    transition: border-color 0.2s ease !important;
}

.llms-certificate:hover,
.llms-achievement:hover {
    border-color: #4a6cf7 !important;
}

.llms-certificate img,
.llms-achievement img {
    max-width: 100px !important;
    margin-bottom: 12px !important;
}

.llms-certificate .llms-certificate-title,
.llms-achievement .llms-achievement-title {
    color: #ffffff !important;
    font-weight: 600 !important;
}

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

.llms-pagination,
.llms-sd-pagination {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 30px !important;
}

.llms-pagination a,
.llms-pagination span,
.llms-sd-pagination a,
.llms-sd-pagination span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    background: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 8px !important;
    color: #a8b2d1 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.llms-pagination a:hover,
.llms-sd-pagination a:hover {
    background: #4a6cf7 !important;
    border-color: #4a6cf7 !important;
    color: #ffffff !important;
}

.llms-pagination .current,
.llms-sd-pagination .current {
    background: #4a6cf7 !important;
    border-color: #4a6cf7 !important;
    color: #ffffff !important;
}

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

.llms-button,
.llms-button-primary,
.llms-button-action,
button.llms-button,
a.llms-button {
    background-color: #4a6cf7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    display: inline-block;
    transition: all 0.3s ease !important;
    cursor: pointer;
}

.llms-button:hover,
.llms-button-primary:hover,
.llms-button-action:hover,
button.llms-button:hover,
a.llms-button:hover {
    background-color: #5a7bff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(74, 108, 247, 0.4);
}

.llms-button-secondary {
    background-color: #1a2332 !important;
    border: 1px solid #2a3558 !important;
}

.llms-button-secondary:hover {
    border-color: #4a6cf7 !important;
    background-color: #1a2332 !important;
}

/* ==============================================
   FORMS
   ============================================== */

.llms-form-field input[type="text"],
.llms-form-field input[type="email"],
.llms-form-field input[type="password"],
.llms-form-field input[type="number"],
.llms-form-field textarea,
.llms-form-field select {
    background: #0f1629;
    border: 1px solid #2a3558;
    color: #ffffff;
    border-radius: 8px;
    padding: 12px 16px;
    width: 100%;
}

.llms-form-field input:focus,
.llms-form-field textarea:focus,
.llms-form-field select:focus {
    border-color: #4a6cf7;
    outline: none;
    box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.1);
}

.llms-form-field label {
    color: #a8b2d1;
    font-weight: 500;
    margin-bottom: 8px;
    display: block;
}

/* ==============================================
   NOTICES
   ============================================== */

.llms-notice {
    background: #1a2332;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 20px;
    border-left: 4px solid #4a6cf7;
    color: #a8b2d1;
}

.llms-notice.llms-success {
    border-left-color: #10b981;
}

.llms-notice.llms-error {
    border-left-color: #ef4444;
}

.llms-notice.llms-warning {
    border-left-color: #f59e0b;
}

/* ==============================================
   ACCESS PLANS / PRICING / MEMBERSHIP CARDS
   ============================================== */

/* Main access plan container */
.llms-access-plan,
.llms-access-plan-wrapper,
.llms-access-plans {
    background: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}

/* Access plan list container */
.llms-access-plans {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    background: transparent !important;
    border: none !important;
}

/* Individual plan card */
.llms-access-plan {
    flex: 1 1 300px !important;
    max-width: 400px !important;
    background: #1a2332 !important;
}

/* Plan title header */
.llms-access-plan-title,
.llms-access-plan .llms-access-plan-title,
.llms-access-plan-header {
    background: #0f1629 !important;
    color: #ffffff !important;
    padding: 20px 24px !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    text-align: center !important;
    border-bottom: 1px solid #2a3558 !important;
}

/* Plan content area */
.llms-access-plan-content,
.llms-access-plan .llms-access-plan-content {
    padding: 24px !important;
    background: #1a2332 !important;
}

/* Sale badge */
.llms-access-plan .llms-sale,
.llms-access-plan-sale,
.llms-access-plan .on-sale {
    background: #dc3545 !important;
    color: #ffffff !important;
    padding: 6px 14px !important;
    border-radius: 100px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    margin-bottom: 8px !important;
}

/* Original/strikethrough price */
.llms-access-plan-price .llms-price-regular,
.llms-access-plan .price del,
.llms-access-plan del,
.llms-access-plan-price del {
    color: #6b7aa1 !important;
    text-decoration: line-through !important;
    font-size: 1.5rem !important;
    opacity: 0.7 !important;
}

/* Current/sale price */
.llms-access-plan-price,
.llms-access-plan .llms-access-plan-price,
.llms-access-plan-price .llms-price-sale,
.llms-access-plan-price .price {
    color: #4a6cf7 !important;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin: 16px 0 !important;
}

/* Price wrapper */
.llms-access-plan-pricing,
.llms-access-plan .llms-access-plan-pricing {
    text-align: center !important;
    padding: 16px 0 !important;
}

/* Plan description */
.llms-access-plan-description,
.llms-access-plan .llms-access-plan-description {
    color: #a8b2d1 !important;
    margin: 16px 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
}

/* Features list */
.llms-access-plan-features,
.llms-access-plan .llms-access-plan-features {
    list-style: none !important;
    padding: 0 !important;
    margin: 16px 0 !important;
}

.llms-access-plan-features li {
    color: #a8b2d1 !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #2a3558 !important;
}

.llms-access-plan-features li:last-child {
    border-bottom: none !important;
}

/* Enroll/Buy button */
.llms-access-plan-button,
.llms-access-plan .llms-access-plan-button,
.llms-access-plan button,
.llms-access-plan .button,
.llms-access-plan a.llms-button-primary,
.llms-access-plan a.llms-button,
.llms-access-plan input[type="submit"] {
    display: block !important;
    width: 100% !important;
    background: #4a6cf7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 16px 24px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 20px !important;
}

.llms-access-plan-button:hover,
.llms-access-plan .llms-access-plan-button:hover,
.llms-access-plan button:hover,
.llms-access-plan .button:hover,
.llms-access-plan a.llms-button-primary:hover,
.llms-access-plan a.llms-button:hover {
    background: #5a7bff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(74, 108, 247, 0.4) !important;
}

/* Trial info */
.llms-access-plan-trial,
.llms-access-plan .llms-access-plan-trial {
    color: #28a745 !important;
    font-size: 0.9rem !important;
    text-align: center !important;
    margin: 8px 0 !important;
}

/* Expiration info */
.llms-access-plan-expiration,
.llms-access-plan .llms-access-plan-expiration {
    color: #6b7aa1 !important;
    font-size: 0.85rem !important;
    text-align: center !important;
}

/* Footer area */
.llms-access-plan-footer,
.llms-access-plan .llms-access-plan-footer {
    background: #0f1629 !important;
    padding: 16px 24px !important;
    border-top: 1px solid #2a3558 !important;
    text-align: center !important;
}

/* Featured/highlighted plan */
.llms-access-plan.featured,
.llms-access-plan.is-featured,
.llms-access-plan-featured {
    border-color: #4a6cf7 !important;
    box-shadow: 0 0 30px rgba(74, 108, 247, 0.2) !important;
}

.llms-access-plan.featured .llms-access-plan-title,
.llms-access-plan.is-featured .llms-access-plan-title {
    background: #4a6cf7 !important;
}

/* Restrictions/requirements text */
.llms-access-plan-restrictions,
.llms-access-plan .llms-access-plan-restrictions {
    color: #6b7aa1 !important;
    font-size: 0.8rem !important;
    padding: 12px !important;
    background: #0f1629 !important;
    border-radius: 6px !important;
    margin-top: 12px !important;
}

/* Schedule info */
.llms-access-plan-schedule,
.llms-access-plan .llms-access-plan-schedule {
    color: #a8b2d1 !important;
    font-size: 0.9rem !important;
    text-align: center !important;
}

/* ==============================================
   TABLES
   ============================================== */

.lifterlms table {
    background: #1a2332;
    border-collapse: collapse;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
}

.lifterlms table th,
.lifterlms table td {
    border: 1px solid #2a3558;
    padding: 12px 16px;
    color: #a8b2d1;
}

.lifterlms table th {
    background: #0f1629;
    color: #ffffff;
    font-weight: 600;
}

.lifterlms table tr:hover td {
    background: rgba(74, 108, 247, 0.05);
}

/* ==============================================
   GENERAL TEXT COLORS
   ============================================== */

.lifterlms h1,
.lifterlms h2,
.lifterlms h3,
.lifterlms h4,
.lifterlms h5,
.lifterlms h6 {
    color: #ffffff;
}

.lifterlms p,
.lifterlms li {
    color: #a8b2d1;
}

.lifterlms a {
    color: #6b8cff;
}

.lifterlms a:hover {
    color: #8aa4ff;
}

/* ==============================================
   LIFTERLMS WIDGETS
   ============================================== */

/* Course Progress Widget */
.widget_llms_course_progress,
.widget_llms-course-progress,
.llms-course-progress-widget {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

.llms-course-progress-widget .llms-widget-title,
.widget_llms_course_progress .widget-title {
    color: var(--lgm-text-primary, #ffffff) !important;
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--lgm-border, #2a3558);
}

/* Course Syllabus Widget */
.widget_llms_course_syllabus,
.widget_llms-course-syllabus,
.llms-syllabus-wrapper {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

.llms-syllabus-wrapper .llms-section {
    margin-bottom: 16px;
    border-bottom: 1px solid var(--lgm-border, #2a3558);
    padding-bottom: 16px;
}

.llms-syllabus-wrapper .llms-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.llms-syllabus-wrapper .section-header,
.llms-syllabus-wrapper .llms-section-title {
    color: var(--lgm-text-primary, #ffffff) !important;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.llms-syllabus-wrapper .lesson-link,
.llms-syllabus-wrapper .llms-lesson a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    margin: 4px 0;
    background: var(--lgm-bg-primary, #0f1629);
    border-radius: 8px;
    color: var(--lgm-text-secondary, #a8b2d1) !important;
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 0.875rem;
}

.llms-syllabus-wrapper .lesson-link:hover,
.llms-syllabus-wrapper .llms-lesson a:hover {
    background: var(--lgm-accent, #4a6cf7);
    color: var(--lgm-text-primary, #ffffff) !important;
}

.llms-syllabus-wrapper .llms-lesson.current a,
.llms-syllabus-wrapper .lesson-link.current {
    background: var(--lgm-accent, #4a6cf7);
    color: var(--lgm-text-primary, #ffffff) !important;
}

.llms-syllabus-wrapper .llms-lesson.complete a::before,
.llms-syllabus-wrapper .lesson-link.complete::before {
    content: "✓";
    color: var(--lgm-success, #22c55e);
    font-weight: bold;
}

/* Lesson Navigation Widget */
.widget_llms_lesson_navigation,
.llms-lesson-navigation {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

.llms-lesson-navigation a {
    display: block;
    padding: 12px 16px;
    background: var(--lgm-bg-primary, #0f1629);
    border-radius: 8px;
    color: var(--lgm-text-secondary, #a8b2d1) !important;
    text-decoration: none;
    margin-bottom: 8px;
    transition: all 0.2s ease;
}

.llms-lesson-navigation a:hover {
    background: var(--lgm-accent, #4a6cf7);
    color: var(--lgm-text-primary, #ffffff) !important;
}

/* Course Info Widget */
.widget_llms_course_info,
.llms-course-info {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

.llms-course-info li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--lgm-border, #2a3558);
    color: var(--lgm-text-secondary, #a8b2d1);
}

.llms-course-info li:last-child {
    border-bottom: none;
}

.llms-course-info li strong {
    color: var(--lgm-text-primary, #ffffff);
}

/* Generic LifterLMS widget container */
.llms-widget,
.widget.llms-widget,
.lifterlms-sidebar .widget {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Ensure widget content doesn't overflow */
.llms-widget > *,
.lifterlms-sidebar .widget > * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.llms-widget .widget-title,
.lifterlms-sidebar .widget-title {
    color: var(--lgm-text-primary, #ffffff) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    margin: 0 0 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--lgm-border, #2a3558) !important;
}

/* Generic LifterLMS widgets in blog sidebar */
.blog-widget[class*="llms"],
.blog-widget[class*="lifterlms"] {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

/* Setup notice when no widgets added */
.llms-setup-notice {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px dashed var(--lgm-accent, #4a6cf7) !important;
}

.llms-setup-notice p {
    color: var(--lgm-text-secondary, #a8b2d1);
    font-size: 0.875rem;
    margin: 0 0 12px;
}

.llms-setup-notice ol {
    color: var(--lgm-text-muted, #6b7aa1);
    font-size: 0.8rem;
    margin: 0;
    padding-left: 20px;
}

.llms-setup-notice ol li {
    margin-bottom: 6px;
}

/* ==============================================
   PROGRESS BAR - ALL LOCATIONS
   ============================================== */

/* Progress widget container */
.widget_llms_widget_course_progress,
.widget_llms_course_progress,
.llms-widget-course-progress {
    overflow: visible !important;
}

/* Progress bar outer container */
.llms-progress,
.llms-progress-bar,
.llms-progress-wrapper,
.llms-course-progress,
.progress-bar-wrapper,
.llms-progress-bar-wrapper {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* The progress track (background bar) */
.llms-progress .llms-progress-bar,
.llms-progress-bar,
.progress-bar {
    background: var(--lgm-bg-primary, #0f1629) !important;
    border-radius: 8px !important;
    height: 10px !important;
    overflow: hidden !important;
    margin: 12px 0 8px !important;
    position: relative !important;
    width: 100% !important;
    display: block !important;
}

/* The filled progress portion */
.llms-progress-bar .progress-bar-complete,
.llms-progress .progress-bar-complete,
.llms-progress-bar-complete,
.progress-bar-complete,
.llms-progress .llms-progress-bar .progress-bar-complete {
    background: linear-gradient(90deg, var(--lgm-accent, #4a6cf7), var(--lgm-accent-hover, #6b8cff)) !important;
    height: 100% !important;
    border-radius: 8px !important;
    transition: width 0.3s ease !important;
    min-width: 0 !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

/* Progress percentage text - ensure it's not cut off */
.llms-progress-text,
.llms-progress-percentage,
.llms-progress .llms-progress-percentage,
.llms-progress-bar-wrapper .llms-progress-percentage {
    color: var(--lgm-text-muted, #6b7aa1) !important;
    font-size: 0.85rem !important;
    margin-top: 4px !important;
    display: block !important;
    text-align: right !important;
    width: 100% !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

/* Widget-specific progress styling */
.widget .llms-progress,
.llms-widget .llms-progress,
.lifterlms-sidebar .llms-progress,
.widget .llms-progress-bar-wrapper,
.llms-widget .llms-progress-bar-wrapper {
    margin: 12px 0 !important;
    width: 100% !important;
    overflow: visible !important;
}

/* Ensure the progress bar wrapper has proper width */
.llms-widget .llms-progress-bar-wrapper,
.widget_llms_widget_course_progress .llms-progress-bar-wrapper {
    width: 100% !important;
    display: block !important;
    padding: 0 !important;
}

/* Single lesson page progress bar */
.llms-lesson-preview .llms-progress,
.llms-course-progress .llms-progress,
.single-lesson .llms-progress,
.single-course .llms-progress {
    width: 100% !important;
    max-width: 100% !important;
}

/* Progress in course/lesson content area */
.lifterlms-content-area .llms-progress {
    margin: 20px 0 !important;
}

/* Ensure progress bar doesn't overflow its container */
.llms-progress-bar,
.llms-progress {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* ==============================================
   COURSE SYLLABUS - NUCLEAR FIX
   Targets the actual LifterLMS HTML structure:
   <article class="llms-lesson-preview">
     <header>...</header>
     <section class="llms-main">
       <a>
         <span class="llms-lesson-counter">
         <span class="llms-lesson-complete">
         <div class="llms-lesson-title">
       </a>
     </section>
     <footer class="llms-extra">  <-- HIDE THIS
       <aside class="llms-extra">  <-- HIDE THIS
         (heart button, etc)
       </aside>
     </footer>
   </article>
   ============================================== */

/* GLOBAL: Hide footer, aside, and extra elements (heart, likes, progress) in ALL lesson previews */
.llms-lesson-preview > footer,
.llms-lesson-preview > aside,
.llms-lesson-preview footer.llms-extra,
.llms-lesson-preview aside.llms-extra,
.llms-lesson-preview .llms-extra,
.llms-lesson-preview footer,
.llms-lesson-preview aside,
article.llms-lesson-preview > footer,
article.llms-lesson-preview > aside,
article.llms-lesson-preview footer,
article.llms-lesson-preview aside,
/* Hide the heart/favorite button and screen reader text */
.llms-lesson-preview .llms-favorite,
.llms-lesson-preview .llms-heart,
.llms-lesson-preview [class*="favorite"],
.llms-lesson-preview [class*="heart"],
.llms-lesson-preview .screen-reader-text,
/* Hide progress bar and empty p tags in syllabus widget */
.llms-lesson-preview .llms-progress,
.llms-lesson-preview .llms-progress-bar,
.llms-lesson-preview .progress,
.llms-lesson-preview > section > p,
.llms-lesson-preview section > p:not(:has(.llms-lesson-title)),
.llms-lesson-preview p:empty,
.llms-syllabus-wrapper .llms-lesson-preview .llms-progress,
.llms-syllabus-wrapper .llms-lesson-preview .llms-extra,
.llms-syllabus-wrapper .llms-lesson-preview aside,
.llms-syllabus-wrapper .llms-lesson-preview > section > p {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* GLOBAL: Lesson preview article - compact but shows title */
article.llms-lesson-preview,
.llms-lesson-preview,
div.llms-lesson-preview {
    display: block !important;
    background: var(--lgm-bg-primary, #0f1629) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 6px !important;
    padding: 0 !important;
    margin: 4px 0 !important;
    overflow: hidden !important;
}

/* The lesson link - make it the clickable area with title visible */
.llms-lesson-preview .llms-lesson-link,
.llms-lesson-preview > section > a,
.llms-lesson-preview a.llms-lesson-link {
    display: block !important;
    padding: 10px 14px !important;
    color: #a8b2d1 !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    background: transparent !important;
}

.llms-lesson-preview .llms-lesson-link:hover,
.llms-lesson-preview a.llms-lesson-link:hover {
    color: #ffffff !important;
    background: rgba(74, 108, 247, 0.1) !important;
}

/* Keep the main content area visible */
.llms-lesson-preview .llms-main,
.llms-lesson-preview .llms-lesson-preview-row {
    display: block !important;
    background: transparent !important;
}

/* Lesson title styling */
.llms-lesson-preview .llms-lesson-title,
.llms-lesson-preview h5,
.llms-lesson-preview h4 {
    color: #ffffff !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Completed lessons - no checkmark, just style change */
.llms-lesson-preview.is-complete,
.llms-lesson-preview.has-icon.is-complete {
    opacity: 0.7;
}

.llms-lesson-preview.is-complete .llms-lesson-link,
.llms-lesson-preview.is-complete .llms-lesson-title {
    text-decoration: line-through;
    color: var(--lgm-text-muted, #6b7aa1) !important;
}

/* Current/active lesson highlight */
.llms-lesson-preview.is-current,
.llms-lesson-preview.current {
    border-color: #4a6cf7 !important;
    background: rgba(74, 108, 247, 0.1) !important;
}

.llms-lesson-preview.is-current .llms-lesson-link,
.llms-lesson-preview.current .llms-lesson-link {
    color: #ffffff !important;
    font-weight: 600 !important;
}

article.llms-lesson-preview:hover,
.llms-lesson-preview:hover,
div.llms-lesson-preview:hover {
    border-color: var(--lgm-accent, #4a6cf7) !important;
    background: var(--lgm-bg-primary, #0f1629) !important;
    background-color: #0f1629 !important;
}

/* Ensure ALL child elements stay dark on hover */
article.llms-lesson-preview:hover *,
.llms-lesson-preview:hover *,
.llms-lesson-preview:hover section,
.llms-lesson-preview:hover a {
    background: transparent !important;
    background-color: transparent !important;
}

/* LifterLMS Tooltips - Dark theme */
.llms-tooltip,
.tippy-box,
.tippy-content,
[data-tippy-root],
.llms-tip,
[class*="tooltip"],
.llms-lesson-preview .tip,
.llms-lesson-preview [data-tip] {
    background: #1a2332 !important;
    background-color: #1a2332 !important;
    color: #a8b2d1 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 8px !important;
}

.tippy-arrow,
.llms-tooltip::before,
[class*="tooltip"]::before {
    color: #1a2332 !important;
}

/* Restricted/Locked content message */
.llms-lesson-preview.is-restricted,
.llms-lesson-preview.is-locked,
.llms-lesson-preview[data-status="restricted"],
article.llms-lesson-preview.is-restricted,
article.llms-lesson-preview.is-locked {
    background: var(--lgm-bg-primary, #0f1629) !important;
}

.llms-lesson-preview.is-restricted:hover,
.llms-lesson-preview.is-locked:hover,
article.llms-lesson-preview.is-restricted:hover,
article.llms-lesson-preview.is-locked:hover {
    background: var(--lgm-bg-primary, #0f1629) !important;
    background-color: #0f1629 !important;
}

/* The popup/overlay that appears on hover for restricted content */
.llms-lesson-preview .llms-lesson-link-locked,
.llms-lesson-preview .llms-restricted-content,
.llms-restricted,
.llms-restricted-content,
.llms-access-message,
[class*="restricted"],
[class*="locked-content"] {
    background: #1a2332 !important;
    background-color: #1a2332 !important;
    color: #a8b2d1 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
}

/* Header inside lesson preview - hide if empty */
.llms-lesson-preview > header {
    display: none !important;
}

/* Main section - this contains the actual content */
.llms-lesson-preview > section,
.llms-lesson-preview > section.llms-main,
.llms-lesson-preview .llms-main {
    display: block !important;
    padding: 12px 14px !important;
    background: transparent !important;
    background-color: transparent !important;
}

/* Ensure section stays transparent on parent hover */
.llms-lesson-preview:hover > section,
.llms-lesson-preview:hover > section.llms-main,
.llms-lesson-preview:hover .llms-main {
    background: transparent !important;
    background-color: transparent !important;
}

/* Link inside main section */
.llms-lesson-preview .llms-main a,
.llms-lesson-preview section a,
.llms-lesson-preview > section > a,
.llms-lesson-preview .llms-lesson-link {
    display: block !important;
    color: var(--lgm-text-secondary, #a8b2d1) !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    width: 100% !important;
}

.llms-lesson-preview .llms-main a:hover {
    color: var(--lgm-accent, #4a6cf7) !important;
}

/* Lesson complete icon - HIDDEN */
.llms-lesson-preview .llms-lesson-complete,
.llms-lesson-preview .llms-lesson-complete i,
.llms-lesson-preview .llms-lesson-complete span,
.llms-lesson-preview [class*="complete"] i,
.llms-lesson-preview .fa-check,
.llms-lesson-preview .dashicons-yes {
    display: none !important;
    visibility: hidden !important;
}

/* Lesson counter */
.llms-lesson-preview .llms-lesson-counter {
    color: var(--lgm-text-muted, #6b7aa1) !important;
    font-size: 0.8rem !important;
    margin-left: auto !important;
    white-space: nowrap !important;
}

/* Lesson title */
.llms-lesson-preview .llms-lesson-title {
    flex: 1 !important;
    color: inherit !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
}

/* ========== SIDEBAR SPECIFIC ========== */

/* Sidebar lesson preview - more compact */
.lifterlms-sidebar article.llms-lesson-preview,
.lifterlms-sidebar .llms-lesson-preview {
    margin: 4px 0 !important;
    border-radius: 6px !important;
}

.lifterlms-sidebar .llms-lesson-preview > section,
.lifterlms-sidebar .llms-lesson-preview .llms-main {
    padding: 10px 12px !important;
}

.lifterlms-sidebar .llms-lesson-preview .llms-main a {
    font-size: 0.8rem !important;
    gap: 8px !important;
}

.lifterlms-sidebar .llms-lesson-preview .llms-lesson-title {
    font-size: 0.8rem !important;
}

.lifterlms-sidebar .llms-lesson-preview .llms-lesson-counter {
    font-size: 0.7rem !important;
}

/* Section title in sidebar */
.lifterlms-sidebar .llms-section-title {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--lgm-text-primary, #ffffff) !important;
    margin: 0 0 10px !important;
    padding: 0 0 8px !important;
    border-bottom: 1px solid var(--lgm-border, #2a3558) !important;
}

/* Lessons list in sidebar */
.lifterlms-sidebar .llms-lessons {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Lesson title within syllabus - COMPACT */
.llms-lesson .llms-lesson-title,
.llms-lesson-title,
.llms-lesson span.llms-lesson-title,
.llms-lesson-preview .llms-lesson-title,
.llms-lesson-preview h5,
.llms-lesson-preview h4,
.llms-lesson-preview header {
    color: inherit !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    word-wrap: break-word !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Lesson counter (e.g., "5 of 8") */
.llms-lesson .llms-lesson-counter,
.llms-lesson-counter,
span.llms-lesson-counter,
.llms-lesson-preview .llms-lesson-counter {
    color: var(--lgm-text-muted, #6b7aa1) !important;
    font-size: 0.75rem !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

/* Favorite/like button */
.llms-lesson .llms-heart,
.llms-favorite-btn,
.llms-lesson .fa-heart,
.llms-lesson-preview .llms-heart {
    color: var(--lgm-text-muted, #6b7aa1) !important;
}

/* Hide thumbnails in syllabus */
.llms-lesson-preview .llms-lesson-thumbnail,
.llms-lesson-preview img,
.llms-lesson-preview figure,
.llms-lesson .llms-lesson-thumbnail {
    display: none !important;
}

/* Progress bar in lesson preview */
.llms-lesson-preview .llms-progress {
    width: 100% !important;
    margin: 8px 0 0 !important;
}

/* ==============================================
   SIDEBAR SYLLABUS - FINAL FIX - COMPACT LIST
   ============================================== */

/* Reset everything in sidebar syllabus */
.lifterlms-sidebar .llms-syllabus-wrapper,
.lifterlms-sidebar .llms-syllabus-wrapper *,
.lifterlms-sidebar [class*="syllabus"],
.lifterlms-sidebar [class*="syllabus"] *,
.lifterlms-sidebar .llms-section,
.lifterlms-sidebar .llms-section *,
.lifterlms-sidebar .llms-lessons,
.lifterlms-sidebar .llms-lessons *,
.lifterlms-sidebar .llms-lesson,
.lifterlms-sidebar .llms-lesson *,
.lifterlms-sidebar .llms-lesson-preview,
.lifterlms-sidebar .llms-lesson-preview * {
    all: unset !important;
    box-sizing: border-box !important;
}

/* Sidebar widget container */
.lifterlms-sidebar .widget {
    all: unset !important;
    display: block !important;
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.lifterlms-sidebar .widget-title {
    all: unset !important;
    display: block !important;
    color: var(--lgm-text-primary, #ffffff) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--lgm-border, #2a3558) !important;
}

/* Section title */
.lifterlms-sidebar .llms-section-title {
    all: unset !important;
    display: block !important;
    color: var(--lgm-text-primary, #ffffff) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid var(--lgm-border, #2a3558) !important;
}

/* Lessons list */
.lifterlms-sidebar .llms-lessons {
    all: unset !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

/* Individual lesson item */
.lifterlms-sidebar .llms-lesson {
    all: unset !important;
    display: block !important;
}

/* Lesson preview card - COMPACT */
.lifterlms-sidebar .llms-lesson-preview,
.lifterlms-sidebar article.llms-lesson-preview {
    all: unset !important;
    display: block !important;
    background: var(--lgm-bg-primary, #0f1629) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    cursor: pointer !important;
}

.lifterlms-sidebar .llms-lesson-preview:hover {
    border-color: var(--lgm-accent, #4a6cf7) !important;
}

/* Lesson link - single line layout */
.lifterlms-sidebar .llms-lesson-preview a,
.lifterlms-sidebar .llms-lesson a {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--lgm-text-secondary, #a8b2d1) !important;
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.lifterlms-sidebar .llms-lesson-preview a:hover {
    color: var(--lgm-accent, #4a6cf7) !important;
}

/* Lesson title */
.lifterlms-sidebar .llms-lesson-title {
    all: unset !important;
    flex: 1 !important;
    color: inherit !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Lesson counter */
.lifterlms-sidebar .llms-lesson-counter {
    all: unset !important;
    color: var(--lgm-text-muted, #6b7aa1) !important;
    font-size: 0.7rem !important;
    white-space: nowrap !important;
    margin-left: auto !important;
}

/* Completion icon */
.lifterlms-sidebar .llms-lesson-complete,
.lifterlms-sidebar .llms-lesson svg {
    all: unset !important;
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    color: var(--lgm-success, #22c55e) !important;
}

/* Current lesson */
.lifterlms-sidebar .llms-lesson.current .llms-lesson-preview,
.lifterlms-sidebar .llms-lesson.is-current .llms-lesson-preview {
    border-color: var(--lgm-accent, #4a6cf7) !important;
    background: rgba(74, 108, 247, 0.1) !important;
}

/* HIDE EVERYTHING ELSE - hearts, likes, footer, meta, images */
.lifterlms-sidebar .llms-lesson-preview footer,
.lifterlms-sidebar .llms-lesson-preview .llms-meta,
.lifterlms-sidebar .llms-lesson-preview .llms-heart,
.lifterlms-sidebar .llms-lesson-preview .llms-favorites,
.lifterlms-sidebar .llms-lesson-preview .llms-progress,
.lifterlms-sidebar .llms-lesson-preview img,
.lifterlms-sidebar .llms-lesson-preview figure,
.lifterlms-sidebar .llms-lesson-preview aside,
.lifterlms-sidebar .llms-lesson-preview [class*="heart"],
.lifterlms-sidebar .llms-lesson-preview [class*="favorite"],
.lifterlms-sidebar .llms-lesson-preview [class*="like"],
.lifterlms-sidebar .llms-lesson-preview [class*="meta"],
.lifterlms-sidebar footer,
.lifterlms-sidebar aside,
.lifterlms-sidebar [class*="heart"],
.lifterlms-sidebar [class*="favorite"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Course Progress widget specific */
.widget_llms_widget_course_progress .llms-progress-bar-wrapper,
.llms-widget-course-progress .llms-progress-bar-wrapper {
    margin: 12px 0;
}

/* ==============================================
   CATCH-ALL DARK THEME OVERRIDES
   Force dark styling on any LifterLMS elements
   ============================================== */

/* Any element with white/light background in LifterLMS context */
.lifterlms-main [style*="background: #fff"],
.lifterlms-main [style*="background:#fff"],
.lifterlms-main [style*="background: white"],
.lifterlms-main [style*="background-color: #fff"],
.lifterlms-main [style*="background-color:#fff"],
.lifterlms-main [style*="background-color: white"],
.lifterlms-sidebar [style*="background"],
.llms-widget [style*="background"] {
    background: var(--lgm-bg-secondary, #1a2332) !important;
}

/* Force dark on common LifterLMS containers */
.llms-loop-item-content,
.llms-card,
.llms-lesson-preview,
.llms-access-plan,
.llms-checkout-wrapper,
.llms-form-field,
.llms-lesson-complete-placeholder {
    background: var(--lgm-bg-secondary, #1a2332) !important;
    border-color: var(--lgm-border, #2a3558) !important;
}

/* Force text colors */
.lifterlms-main h1,
.lifterlms-main h2,
.lifterlms-main h3,
.lifterlms-main h4,
.lifterlms-main h5,
.lifterlms-main h6 {
    color: var(--lgm-text-primary, #ffffff) !important;
}

.lifterlms-main p,
.lifterlms-main li,
.lifterlms-main span,
.lifterlms-main div {
    color: inherit;
}

/* Lesson preview cards in syllabus */
.llms-lesson-preview {
    background: var(--lgm-bg-primary, #0f1629) !important;
    border: 1px solid var(--lgm-border, #2a3558) !important;
    border-radius: 8px !important;
    padding: 12px !important;
    margin: 4px 0 !important;
}

.llms-lesson-preview:hover {
    border-color: var(--lgm-accent, #4a6cf7) !important;
}

.llms-lesson-preview .llms-lesson-title {
    color: var(--lgm-text-secondary, #a8b2d1) !important;
}

.llms-lesson-preview:hover .llms-lesson-title {
    color: var(--lgm-text-primary, #ffffff) !important;
}

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

@media (max-width: 1024px) {
    .lifterlms-main.has-sidebar .lifterlms-container {
        flex-direction: column;
    }
    
    .lifterlms-main.has-sidebar .lifterlms-sidebar {
        width: 100%;
        position: static;
        max-height: none;
        order: -1;
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    /* ===== MAIN CONTAINER - TIGHT ===== */
    .lifterlms-main {
        padding: 16px 12px 40px !important;
    }
    
    /* My Account mobile - minimal padding */
    .llms-student-dashboard,
    .lifterlms-account,
    body.llms-account .lifterlms-main,
    body.llms-account .lifterlms-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 12px !important;
    }
    
    /* ===== DASHBOARD - STACK ON MOBILE ===== */
    .llms-student-dashboard {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
    }
    
    /* Nav sidebar - full width on mobile */
    .llms-sd-nav,
    .llms-student-dashboard-navigation,
    .llms-student-dashboard > nav {
        width: 100% !important;
        min-width: 100% !important;
        flex: 0 0 100% !important;
        margin-bottom: 0 !important;
        padding: 6px !important;
        order: 1 !important;
    }
    
    .llms-sd-nav ul li a,
    .llms-student-dashboard-navigation ul li a {
        padding: 10px 12px !important;
        font-size: 0.9rem !important;
    }
    
    /* Content section - full width on mobile */
    .llms-sd-section,
    .llms-student-dashboard-content,
    .llms-student-dashboard > section,
    .llms-student-dashboard > div:not(.llms-sd-nav),
    .llms-student-dashboard > form,
    .llms-student-dashboard form.llms-person-form {
        width: 100% !important;
        min-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 16px !important;
        order: 2 !important;
    }
    
    .llms-sd-section h3 {
        font-size: 1.1rem !important;
        margin-bottom: 12px !important;
        padding-bottom: 8px !important;
    }
    
    /* ===== LOGIN/REGISTER FORMS - COMPACT ===== */
    .llms-person-login-form-wrapper .llms-form-fields,
    .llms-new-person-form-wrapper .llms-form-fields,
    .llms-cols {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .llms-person-login-form-wrapper > div,
    .llms-new-person-form-wrapper > div,
    .llms-col,
    .llms-col-1,
    .llms-col-2 {
        flex: 1 1 100% !important;
        min-width: 100% !important;
        padding: 16px !important;
    }
    
    /* Form fields - tighter spacing */
    .llms-form-field {
        margin-bottom: 12px !important;
    }
    
    .llms-form-field label {
        margin-bottom: 4px !important;
        font-size: 0.85rem !important;
    }
    
    .llms-form-field input,
    .llms-form-field select,
    .llms-form-field textarea {
        padding: 10px 12px !important;
        font-size: 0.95rem !important;
    }
    
    /* Two column form fields stack */
    .llms-form-fields.cols-2,
    .llms-cols.cols-2 {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    
    /* Buttons - compact */
    .llms-button,
    button.llms-button,
    .llms-form-field button[type="submit"] {
        padding: 12px 16px !important;
        font-size: 0.95rem !important;
    }
    
    /* ===== COURSE ITEMS - COMPACT ===== */
    .llms-sd-section .llms-sd-item {
        flex-direction: column;
        padding: 12px !important;
        gap: 10px !important;
    }
    
    .llms-sd-section .llms-sd-item img {
        width: 100%;
        height: 120px !important;
    }
    
    /* ===== LESSON NAV - COMPACT ===== */
    .llms-lesson-link-nav {
        flex-direction: column;
        gap: 10px !important;
    }
    
    .llms-lesson-link-nav > a,
    .llms-lesson-link-nav > div {
        max-width: 100% !important;
        padding: 14px !important;
    }
    
    /* ===== TABLES - COMPACT ===== */
    .llms-sd-section table,
    .llms-student-dashboard table {
        font-size: 0.8rem !important;
    }
    
    .llms-sd-section table th,
    .llms-sd-section table td,
    .llms-student-dashboard table th,
    .llms-student-dashboard table td {
        padding: 8px 10px !important;
    }
    
    /* Sort filter - compact stack */
    .llms-table-sort,
    .sort-filter {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 10px !important;
        gap: 8px !important;
    }
    
    .llms-table-sort select,
    .sort-filter select {
        padding: 8px 10px !important;
    }
    
    .llms-table-sort button,
    .sort-filter button {
        padding: 8px 12px !important;
    }
}

/* ==============================================
   MOBILE RESPONSIVENESS - COMPREHENSIVE FIX
   ============================================== */

/* CRITICAL: Prevent all horizontal overflow */
html, body {
    overflow-x: hidden !important;
}

.lifterlms-main,
.lifterlms-container,
.lifterlms-content-area,
.lifterlms-sidebar {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* ==============================================
   LOGIN / SIGNUP FORMS - MOBILE CENTERING
   ============================================== */

/* Center login/signup forms on all screens */
.llms-person-login-form-wrapper,
.llms-person-form-wrapper,
.llms-new-person-form-wrapper,
.llms-checkout-form-wrapper,
.llms-login,
.llms-checkout,
[class*="llms-person"],
[class*="llms-login"],
[class*="llms-checkout"],
.llms-form-field,
form.llms-login,
form.llms-checkout {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Login/Signup container centering */
.llms-person-login-form-wrapper,
.llms-person-form-wrapper,
.llms-new-person-form-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

/* Form titles centered */
.llms-person-login-form-wrapper h4,
.llms-person-form-wrapper h4,
.llms-new-person-form-wrapper h4,
.llms-person-login-form-wrapper .llms-form-heading,
.llms-person-form-wrapper .llms-form-heading {
    text-align: center !important;
    width: 100% !important;
}

/* Form fields full width and centered */
.llms-person-login-form-wrapper form,
.llms-person-form-wrapper form,
.llms-new-person-form-wrapper form {
    width: 100% !important;
    max-width: 400px !important;
    margin: 0 auto !important;
}

/* Mobile specific - COMPACT */
@media (max-width: 768px) {
    /* CRITICAL: Force viewport containment */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
    }
    
    /* All containers respect viewport */
    .lifterlms-main,
    .lifterlms-container,
    .lifterlms-content-area,
    .lifterlms-sidebar,
    .llms-student-dashboard,
    .llms-lesson-preview,
    .llms-syllabus-wrapper,
    .entry-content,
    .wp-block-group,
    article,
    section {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    /* ===== LESSON PAGE - FIX OFF-SCREEN ===== */
    .llms-single-lesson .entry-content,
    .llms-lesson-page .lifterlms-content-area,
    .single-lesson .entry-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px 12px !important;
        margin: 0 !important;
        overflow-x: hidden !important;
    }
    
    /* Lesson title - prevent overflow */
    .llms-single-lesson .entry-title,
    .llms-single-lesson h1,
    .llms-lesson-page h1 {
        font-size: 1.5rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    /* Lesson sidebar on mobile */
    .lifterlms-main.has-sidebar .lifterlms-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        position: static !important;
        padding: 12px !important;
        margin: 0 0 16px 0 !important;
    }
    
    /* Syllabus wrapper - prevent overflow */
    .llms-syllabus-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px 12px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    
    /* Lesson list items - compact */
    .llms-lesson-preview,
    .llms-lesson-preview > section,
    .llms-lesson-preview .llms-main {
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
    }
    
    .llms-lesson-preview .llms-main a,
    .llms-lesson-preview section a {
        font-size: 0.8rem !important;
        word-wrap: break-word !important;
    }
    
    /* Lesson navigation - stack */
    .llms-lesson-link-nav,
    .llms-pagination {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 12px !important;
    }
    
    .llms-lesson-link-nav > a,
    .llms-lesson-link-nav > div,
    .llms-prev-lesson,
    .llms-next-lesson,
    .llms-back-to-course {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    
    /* Video embeds responsive */
    .llms-single-lesson iframe,
    .llms-single-lesson video,
    .entry-content iframe,
    .entry-content video {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* ===== LOGIN FORM - FIX OFF-SCREEN ===== */
    .llms-person-login-form-wrapper,
    .llms-person-form-wrapper,
    .llms-new-person-form-wrapper,
    .llms-checkout-wrapper,
    .llms-checkout-form-wrapper {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin: 12px auto !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }
    
    .llms-person-login-form-wrapper form,
    .llms-person-form-wrapper form,
    .llms-new-person-form-wrapper form {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Form fields - compact spacing */
    .llms-form-field {
        width: 100% !important;
        margin-bottom: 12px !important;
    }
    
    .llms-form-field input,
    .llms-form-field select,
    .llms-form-field textarea {
        width: 100% !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        font-size: 16px !important; /* Prevents iOS zoom */
    }
    
    /* Buttons - compact */
    .llms-person-login-form-wrapper .llms-button,
    .llms-person-form-wrapper .llms-button,
    .llms-new-person-form-wrapper .llms-button,
    .llms-form-field button,
    .llms-form-field input[type="submit"],
    button.llms-button,
    button.llms-button-action,
    .llms-button-action,
    a.llms-button {
        width: 100% !important;
        padding: 14px 16px !important;
        font-size: 1rem !important;
        text-align: center !important;
    }
    
    /* Columns layout - stack */
    .llms-cols,
    .llms-form-fields {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 12px !important;
    }
    
    .llms-cols > .llms-col,
    .llms-cols > .llms-col-1,
    .llms-cols > .llms-col-2,
    .llms-form-fields > .llms-form-field {
        width: 100% !important;
        flex: none !important;
        padding: 0 !important;
    }
    
    /* Links - compact */
    .llms-person-login-form-wrapper a,
    .llms-person-form-wrapper a {
        display: block !important;
        text-align: center !important;
        margin-top: 12px !important;
    }
    
    /* ===== COURSE CONTENT - PREVENT OVERFLOW ===== */
    .llms-single-course .entry-content,
    .single-course .entry-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px 12px !important;
        overflow-x: hidden !important;
    }
    
    /* Course meta info */
    .llms-meta-info {
        flex-direction: column !important;
        gap: 8px !important;
        padding: 16px !important;
    }
    
    /* Progress bars */
    .llms-progress,
    .llms-progress-bar {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* ===== TABLES - SCROLLABLE ===== */
    .llms-sd-section table,
    .llms-student-dashboard table,
    .entry-content table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* Extra small screens */
@media (max-width: 480px) {
    .lifterlms-main {
        padding: 12px 8px 40px !important;
    }
    
    .llms-person-login-form-wrapper,
    .llms-person-form-wrapper,
    .llms-new-person-form-wrapper {
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        margin: 8px auto !important;
        padding: 16px 12px !important;
    }
    
    .llms-single-lesson .entry-title,
    .llms-lesson-page h1 {
        font-size: 1.25rem !important;
    }
    
    .llms-syllabus-wrapper {
        padding: 12px 8px !important;
    }
    
    .llms-lesson-preview .llms-main a {
        font-size: 0.75rem !important;
    }
}

/* ==============================================
   FORCE DARK THEME ON ALL ACCESS PLAN ELEMENTS
   Override any inline styles or plugin defaults
   ============================================== */

/* Nuclear override for white backgrounds on access plans */
.llms-access-plan,
.llms-access-plan *,
.llms-access-plan-wrapper,
.llms-access-plan-wrapper *,
div[class*="llms-access-plan"],
div[class*="llms-access-plan"] * {
    background-color: transparent;
}

/* Specific containers that need dark bg */
.llms-access-plan,
.llms-access-plan-wrapper {
    background: #1a2332 !important;
    background-color: #1a2332 !important;
}

.llms-access-plan-title,
.llms-access-plan-header,
.llms-access-plan > header,
.llms-access-plan .llms-access-plan-title {
    background: #0f1629 !important;
    background-color: #0f1629 !important;
    color: #ffffff !important;
}

.llms-access-plan-content,
.llms-access-plan-pricing,
.llms-access-plan-description,
.llms-access-plan > section,
.llms-access-plan > div:not(.llms-access-plan-title):not(.llms-access-plan-header) {
    background: #1a2332 !important;
    background-color: #1a2332 !important;
}

.llms-access-plan-footer,
.llms-access-plan > footer {
    background: #0f1629 !important;
    background-color: #0f1629 !important;
}

/* Text colors in access plans */
.llms-access-plan h1,
.llms-access-plan h2,
.llms-access-plan h3,
.llms-access-plan h4,
.llms-access-plan h5,
.llms-access-plan h6,
.llms-access-plan-title,
.llms-access-plan .llms-access-plan-title {
    color: #ffffff !important;
}

.llms-access-plan p,
.llms-access-plan span:not(.llms-sale):not(.on-sale),
.llms-access-plan li,
.llms-access-plan-description {
    color: #a8b2d1 !important;
}

/* Price styling */
.llms-access-plan .llms-price,
.llms-access-plan .price,
.llms-access-plan-price .price,
.llms-access-plan-pricing .price {
    color: #4a6cf7 !important;
}

.llms-access-plan del,
.llms-access-plan .price del,
.llms-access-plan-price del {
    color: #6b7aa1 !important;
}

/* Ensure button is visible */
.llms-access-plan .llms-button,
.llms-access-plan .llms-button-primary,
.llms-access-plan .llms-button-action,
.llms-access-plan form button,
.llms-access-plan form input[type="submit"],
.llms-access-plan a.button {
    background: #4a6cf7 !important;
    background-color: #4a6cf7 !important;
    color: #ffffff !important;
    border: none !important;
}

.llms-access-plan .llms-button:hover,
.llms-access-plan .llms-button-primary:hover,
.llms-access-plan form button:hover {
    background: #5a7bff !important;
    background-color: #5a7bff !important;
}

/* ==============================================
   REFINED ACCESS PLAN STYLING - SITE CONSISTENT
   ============================================== */

/* Remove underlines from prices */
.llms-access-plan .llms-price,
.llms-access-plan .price,
.llms-access-plan a.llms-price,
.llms-access-plan a.price,
.llms-access-plan-price,
.llms-access-plan-price a,
.llms-access-plan-pricing a,
.llms-access-plan ins,
.llms-access-plan .price ins {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Sale price - bright accent blue, no underline */
.llms-access-plan .llms-price-sale,
.llms-access-plan .price ins,
.llms-access-plan ins,
.llms-access-plan-price ins,
.llms-access-plan .sale-price,
.llms-access-plan-pricing .llms-price {
    color: #4a6cf7 !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    font-size: 2.5rem !important;
}

/* Original price - muted gray with strikethrough */
.llms-access-plan del,
.llms-access-plan .price del,
.llms-access-plan-price del,
.llms-access-plan .llms-price-regular,
.llms-access-plan .original-price {
    color: #6b7aa1 !important;
    text-decoration: line-through !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    opacity: 0.8 !important;
    margin-right: 12px !important;
}

/* Sale badge - consistent red */
.llms-access-plan .llms-sale-tag,
.llms-access-plan .onsale,
.llms-access-plan .llms-ribbon,
.llms-access-plan [class*="sale"],
.llms-access-plan-sale {
    background: #dc3545 !important;
    color: #ffffff !important;
    padding: 6px 16px !important;
    border-radius: 6px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-block !important;
    margin-right: 12px !important;
    vertical-align: middle !important;
}

/* Price row alignment */
.llms-access-plan-pricing,
.llms-access-plan .llms-access-plan-pricing {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 24px !important;
}

/* Card title - clean dark header */
.llms-access-plan-title,
.llms-access-plan .llms-access-plan-title,
.llms-access-plan-header,
.llms-access-plan > .llms-access-plan-title {
    background: #0f1629 !important;
    color: #ffffff !important;
    padding: 24px !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    border: none !important;
    margin: 0 !important;
}

/* Main card container */
.llms-access-plan {
    background: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Enroll button - accent blue */
.llms-access-plan .llms-button,
.llms-access-plan .llms-button-primary,
.llms-access-plan .llms-button-action,
.llms-access-plan button[type="submit"],
.llms-access-plan input[type="submit"],
.llms-access-plan a.button,
.llms-access-plan .llms-access-plan-button {
    background: #4a6cf7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 18px 32px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    width: calc(100% - 48px) !important;
    margin: 24px !important;
    display: block !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(74, 108, 247, 0.3) !important;
}

.llms-access-plan .llms-button:hover,
.llms-access-plan .llms-button-primary:hover,
.llms-access-plan button[type="submit"]:hover,
.llms-access-plan a.button:hover {
    background: #5a7bff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(74, 108, 247, 0.5) !important;
}

/* Footer section if present */
.llms-access-plan-footer,
.llms-access-plan > footer {
    background: #0f1629 !important;
    border-top: 1px solid #2a3558 !important;
    padding: 16px 24px !important;
}

/* Remove any remaining white lines/borders */
.llms-access-plan hr,
.llms-access-plan .divider {
    border-color: #2a3558 !important;
    background: #2a3558 !important;
}

/* Ensure content section has proper padding */
.llms-access-plan-content,
.llms-access-plan > section,
.llms-access-plan > div:not(.llms-access-plan-title) {
    padding: 0 !important;
    background: #1a2332 !important;
}

/* ==============================================
   FIX: PRICE AREA - NO RED BACKGROUND
   ============================================== */

/* Reset any red backgrounds on price containers */
.llms-access-plan-pricing,
.llms-access-plan .llms-access-plan-pricing,
.llms-access-plan-price,
.llms-access-plan .llms-access-plan-price,
.llms-access-plan .llms-pricing,
.llms-access-plan .pricing,
.llms-access-plan .price-wrapper,
.llms-access-plan > div,
.llms-access-plan section {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Only the SALE badge should be red */
.llms-access-plan .llms-sale,
.llms-access-plan .sale-badge,
.llms-access-plan .onsale,
.llms-access-plan .llms-ribbon {
    background: #dc3545 !important;
    background-color: #dc3545 !important;
    color: #ffffff !important;
    padding: 6px 16px !important;
    border-radius: 6px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    display: inline-block !important;
    margin-bottom: 12px !important;
}

/* Price display - no background, just text */
.llms-access-plan del,
.llms-access-plan .llms-price del,
.llms-access-plan del .llms-price {
    color: #6b7aa1 !important;
    background: transparent !important;
    text-decoration: line-through !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    margin-right: 16px !important;
    display: inline !important;
}

.llms-access-plan ins,
.llms-access-plan .llms-price ins,
.llms-access-plan ins .llms-price,
.llms-access-plan .llms-price-sale {
    color: #4a6cf7 !important;
    background: transparent !important;
    text-decoration: none !important;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    display: inline !important;
}

/* Price row container */
.llms-access-plan .llms-access-plan-pricing {
    display: block !important;
    text-align: center !important;
    padding: 30px 24px !important;
    background: #1a2332 !important;
}

/* Ensure the main card background stays dark */
.llms-access-plan {
    background: #1a2332 !important;
}

.llms-access-plan .llms-access-plan-title {
    background: #0f1629 !important;
}

/* Remove any link styling from prices */
.llms-access-plan a.llms-price,
.llms-access-plan .llms-price a {
    color: inherit !important;
    text-decoration: none !important;
    background: transparent !important;
}

/* ==============================================================================
   NUCLEAR FIX: LIFTERLMS ACCESS PLAN PRICING - FINAL OVERRIDE
   This section uses extremely high specificity to override ALL previous styles
   ============================================================================== */

/* Reset ALL backgrounds inside access plans */
body .llms-access-plan *,
body .llms-access-plan *::before,
body .llms-access-plan *::after {
    background-color: transparent !important;
    background-image: none !important;
}

/* Now set specific backgrounds only where needed */
body .llms-access-plan {
    background-color: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

body .llms-access-plan .llms-access-plan-title {
    background-color: #0f1629 !important;
    color: #ffffff !important;
    padding: 24px !important;
    text-align: center !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

/* SALE badge - this is the ONLY element that should be red */
body .llms-access-plan .llms-onsale,
body .llms-access-plan .llms-ribbon,
body .llms-access-plan span.llms-onsale {
    background-color: #4a6cf7 !important;
    color: #ffffff !important;
    padding: 6px 16px !important;
    border-radius: 6px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    display: inline-block !important;
}

/* Price wrapper - NO BACKGROUND */
body .llms-access-plan .llms-access-plan-pricing,
body .llms-access-plan .llms-access-plan-content {
    background-color: #1a2332 !important;
    padding: 30px 24px !important;
}

/* Original/regular price - gray strikethrough */
body .llms-access-plan .llms-access-plan-pricing del,
body .llms-access-plan .llms-access-plan-pricing del .llms-price,
body .llms-access-plan del.llms-price,
body .llms-access-plan .llms-price-regular {
    color: #6b7aa1 !important;
    text-decoration: line-through !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    background-color: transparent !important;
}

/* Sale price - blue, NO background, NO underline */
body .llms-access-plan .llms-access-plan-pricing ins,
body .llms-access-plan .llms-access-plan-pricing ins .llms-price,
body .llms-access-plan ins.llms-price,
body .llms-access-plan .llms-price-sale,
body .llms-access-plan .llms-access-plan-pricing .llms-price {
    color: #4a6cf7 !important;
    text-decoration: none !important;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    background-color: transparent !important;
    border: none !important;
}

/* Price link wrapper - remove any link styling */
body .llms-access-plan a.llms-access-plan-pricing,
body .llms-access-plan .llms-access-plan-pricing a {
    text-decoration: none !important;
    background-color: transparent !important;
    border: none !important;
}

/* Footer with button */
body .llms-access-plan .llms-access-plan-footer {
    background-color: #0f1629 !important;
    padding: 24px !important;
    border-top: 1px solid #2a3558 !important;
}

/* Enroll button */
body .llms-access-plan .llms-access-plan-footer .llms-button,
body .llms-access-plan .llms-access-plan-footer button,
body .llms-access-plan .llms-access-plan-footer input[type="submit"],
body .llms-access-plan .llms-access-plan-footer a.llms-button-action {
    background-color: #4a6cf7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 16px 32px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

body .llms-access-plan .llms-access-plan-footer .llms-button:hover,
body .llms-access-plan .llms-access-plan-footer button:hover,
body .llms-access-plan .llms-access-plan-footer a.llms-button-action:hover {
    background-color: #5a7bff !important;
    transform: translateY(-2px) !important;
}

/* Description text */
body .llms-access-plan .llms-access-plan-description {
    color: #a8b2d1 !important;
    padding: 16px 24px !important;
}

/* Trial info */
body .llms-access-plan .llms-access-plan-trial {
    color: #28a745 !important;
    font-size: 0.9rem !important;
    padding: 8px 24px !important;
}

/* Schedule/expiration info */
body .llms-access-plan .llms-access-plan-schedule {
    color: #6b7aa1 !important;
    font-size: 0.85rem !important;
    padding: 8px 24px !important;
}

/* Remove any borders between sections */
body .llms-access-plan > * {
    border: none !important;
}

body .llms-access-plan .llms-access-plan-footer {
    border-top: 1px solid #2a3558 !important;
}

/* ==============================================================================
   FIX: CONTINUE BUTTON & PROGRESS BAR
   ============================================================================== */

/* Progress Bar Container */
.llms-progress,
.llms-progress-bar,
.llms-course-progress,
.llms-syllabus-progress,
.progress-bar-wrapper {
    background: #2a3558 !important;
    border-radius: 8px !important;
    height: 12px !important;
    overflow: hidden !important;
    margin-bottom: 8px !important;
}

/* Progress Bar Fill */
.llms-progress .progress-bar,
.llms-progress-bar .progress-bar-complete,
.llms-course-progress .llms-progress-bar-complete,
.progress-bar-complete,
.llms-progress .llms-progress-bar-complete {
    background: linear-gradient(90deg, #4a6cf7 0%, #6b8cff 100%) !important;
    border-radius: 8px !important;
    height: 12px !important;
    transition: width 0.3s ease !important;
}

/* Progress Percentage Text */
.llms-progress-percent,
.llms-progress .progress-percent,
.progress-percent {
    color: #a8b2d1 !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-align: right !important;
    margin-bottom: 8px !important;
}

/* Continue Button - Full Width Blue */
.llms-button-action,
.llms-button-primary,
a.llms-button-action,
a.llms-button-primary,
button.llms-button-action,
.llms-course-continue-button,
.llms-start-button,
.llms-lesson-button-wrapper a,
.llms-lesson-preview .llms-lesson-link,
a[href*="llms-lesson"].button,
.llms-access-plan-footer a {
    display: block !important;
    width: 100% !important;
    background: #4a6cf7 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 18px 32px !important;
    border-radius: 12px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(74, 108, 247, 0.3) !important;
    margin-top: 16px !important;
}

.llms-button-action:hover,
.llms-button-primary:hover,
a.llms-button-action:hover,
a.llms-button-primary:hover,
.llms-course-continue-button:hover,
.llms-start-button:hover {
    background: #5a7bff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(74, 108, 247, 0.4) !important;
}

/* Secondary/Outline Buttons */
.llms-button-secondary,
a.llms-button-secondary {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    color: #4a6cf7 !important;
    text-align: center !important;
    padding: 16px 32px !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: 2px solid #4a6cf7 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.llms-button-secondary:hover,
a.llms-button-secondary:hover {
    background: #4a6cf7 !important;
    color: #ffffff !important;
}

/* Course/Lesson Card Container Fixes */
.llms-lesson-preview,
.llms-access-plan {
    background: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 16px !important;
}

/* Syllabus Section Styling */
.llms-syllabus-wrapper .llms-section,
.llms-syllabus .llms-section {
    background: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 12px !important;
    margin-bottom: 16px !important;
    overflow: hidden !important;
}

.llms-syllabus-wrapper .llms-section-title,
.llms-syllabus .llms-section-title {
    background: #0f1629 !important;
    color: #ffffff !important;
    padding: 16px 20px !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
    border-bottom: 1px solid #2a3558 !important;
    cursor: pointer !important;
}

/* Lesson List in Syllabus */
.llms-syllabus-wrapper .llms-lesson,
.llms-syllabus .llms-lesson,
.llms-lesson-preview {
    background: #1a2332 !important;
    border-bottom: 1px solid #2a3558 !important;
    padding: 14px 20px !important;
}

.llms-syllabus-wrapper .llms-lesson:last-child,
.llms-syllabus .llms-lesson:last-child {
    border-bottom: none !important;
}

.llms-syllabus-wrapper .llms-lesson a,
.llms-syllabus .llms-lesson a,
.llms-lesson-title {
    color: #a8b2d1 !important;
    text-decoration: none !important;
}

.llms-syllabus-wrapper .llms-lesson a:hover,
.llms-syllabus .llms-lesson a:hover {
    color: #4a6cf7 !important;
}

/* Completed Lesson Indicator */
.llms-lesson.is-complete .llms-lesson-title,
.llms-lesson-preview.is-complete .llms-lesson-title {
    color: #28a745 !important;
}

.llms-lesson.is-complete::before,
.llms-lesson-preview.is-complete::before {
    content: "✓" !important;
    color: #28a745 !important;
    margin-right: 8px !important;
}

/* ==============================================================================
   FINAL FIX: ACCESS PLAN CARD - REMOVE RED, FIX BUTTON POSITION
   This is the definitive override for LifterLMS access plans
   ============================================================================== */

/* Reset EVERYTHING inside access plan to transparent first */
.llms-access-plan,
.llms-access-plan *,
.llms-access-plan *::before,
.llms-access-plan *::after,
.llms-access-plan-wrapper *,
.llms-access-plans *,
body .llms-access-plan *,
html body .llms-access-plan * {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Now set the card background */
.llms-access-plan,
body .llms-access-plan,
html body .llms-access-plan {
    background: #1a2332 !important;
    background-color: #1a2332 !important;
    border: 1px solid #2a3558 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    max-width: 500px !important;
    margin: 0 auto 24px !important;
}

/* Title/Header area */
.llms-access-plan-title,
.llms-access-plan .llms-access-plan-title,
.llms-access-plan-header,
body .llms-access-plan .llms-access-plan-title {
    background: #0f1629 !important;
    background-color: #0f1629 !important;
    color: #ffffff !important;
    padding: 24px 32px !important;
    text-align: center !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

/* Pricing section - NO RED BACKGROUND */
.llms-access-plan-pricing,
.llms-access-plan .llms-access-plan-pricing,
.llms-access-plan-content,
.llms-access-plan .llms-access-plan-content,
body .llms-access-plan .llms-access-plan-pricing,
body .llms-access-plan .llms-access-plan-content {
    background: #1a2332 !important;
    background-color: #1a2332 !important;
    padding: 32px !important;
    text-align: center !important;
}

/* SALE badge - Blue pill, not red */
.llms-access-plan .llms-onsale,
.llms-access-plan .llms-ribbon,
.llms-access-plan .sale-badge,
.llms-onsale,
body .llms-access-plan .llms-onsale {
    background: #4a6cf7 !important;
    background-color: #4a6cf7 !important;
    color: #ffffff !important;
    padding: 8px 20px !important;
    border-radius: 6px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    display: inline-block !important;
    margin-bottom: 16px !important;
}

/* Original price - gray strikethrough, NO BACKGROUND */
.llms-access-plan del,
.llms-access-plan del *,
.llms-access-plan .llms-price del,
.llms-access-plan del .llms-price,
.llms-access-plan .llms-price-regular,
body .llms-access-plan del,
body .llms-access-plan del * {
    color: #6b7aa1 !important;
    text-decoration: line-through !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    background: transparent !important;
    background-color: transparent !important;
    display: inline !important;
    margin-right: 12px !important;
}

/* Sale price - Blue text, NO BACKGROUND, NO UNDERLINE */
.llms-access-plan ins,
.llms-access-plan ins *,
.llms-access-plan .llms-price ins,
.llms-access-plan ins .llms-price,
.llms-access-plan .llms-price-sale,
.llms-access-plan .llms-access-plan-pricing .llms-price,
body .llms-access-plan ins,
body .llms-access-plan ins * {
    color: #4a6cf7 !important;
    text-decoration: none !important;
    font-size: 3rem !important;
    font-weight: 800 !important;
    background: transparent !important;
    background-color: transparent !important;
    display: inline !important;
}

/* Price wrapper link - remove any styling */
.llms-access-plan a.llms-access-plan-pricing,
.llms-access-plan .llms-access-plan-pricing a,
body .llms-access-plan a {
    text-decoration: none !important;
    background: transparent !important;
}

/* Footer with Enroll button - INSIDE the card */
.llms-access-plan-footer,
.llms-access-plan .llms-access-plan-footer,
body .llms-access-plan .llms-access-plan-footer {
    background: #0f1629 !important;
    background-color: #0f1629 !important;
    padding: 24px 32px !important;
    border-top: 1px solid #2a3558 !important;
}

/* Enroll Button - Full width, blue, inside footer */
.llms-access-plan .llms-access-plan-footer .llms-button,
.llms-access-plan .llms-access-plan-footer a,
.llms-access-plan .llms-access-plan-footer button,
.llms-access-plan .llms-access-plan-footer input[type="submit"],
.llms-access-plan-footer .llms-button-action,
.llms-access-plan-footer a.llms-button-action,
body .llms-access-plan .llms-access-plan-footer a,
body .llms-access-plan .llms-access-plan-footer .llms-button {
    display: block !important;
    width: 100% !important;
    background: #4a6cf7 !important;
    background-color: #4a6cf7 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 18px 32px !important;
    border-radius: 12px !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(74, 108, 247, 0.3) !important;
    box-sizing: border-box !important;
}

.llms-access-plan .llms-access-plan-footer a:hover,
.llms-access-plan .llms-access-plan-footer .llms-button:hover,
body .llms-access-plan .llms-access-plan-footer a:hover {
    background: #5a7bff !important;
    background-color: #5a7bff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(74, 108, 247, 0.4) !important;
}

/* Remove any separate/floating button styling */
.llms-access-plan + .llms-button,
.llms-access-plan ~ .llms-button,
.llms-access-plans + .llms-button {
    display: none !important;
}

/* Price row layout */
.llms-access-plan .llms-access-plan-pricing .llms-price-wrapper,
.llms-access-plan .price-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    background: transparent !important;
}

/* Description text */
.llms-access-plan-description,
.llms-access-plan .llms-access-plan-description {
    color: #a8b2d1 !important;
    font-size: 0.95rem !important;
    padding: 0 32px 16px !important;
    text-align: center !important;
    background: transparent !important;
}

/* Trial/Schedule info */
.llms-access-plan-trial,
.llms-access-plan-schedule,
.llms-access-plan .llms-access-plan-trial,
.llms-access-plan .llms-access-plan-schedule {
    color: #6b7aa1 !important;
    font-size: 0.85rem !important;
    text-align: center !important;
    padding: 8px 32px !important;
    background: transparent !important;
}

/* Featured plan highlight */
.llms-access-plan.featured,
.llms-access-plan.is-featured {
    border: 2px solid #4a6cf7 !important;
    box-shadow: 0 0 30px rgba(74, 108, 247, 0.2) !important;
}

/* ==============================================================================
   ULTIMATE ACCESS PLAN FIX - v2.8.9
   Target: Remove red background, make card compact
   ============================================================================== */

/* The red background is likely on .llms-access-plan-pricing which is a link */
/* Reset with highest specificity possible */

html body .llms-access-plan .llms-access-plan-pricing,
html body .llms-access-plan a.llms-access-plan-pricing,
html body .llms-access-plans .llms-access-plan .llms-access-plan-pricing,
html body .llms-access-plan-pricing[style],
html body a.llms-access-plan-pricing[style],
.llms-access-plan .llms-access-plan-pricing[style*="background"] {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Force inline style override using attribute selector */
[class*="llms-access-plan"] [style*="background"],
[class*="llms-access-plan"] [style*="Background"] {
    background: transparent !important;
    background-color: transparent !important;
}

/* Make the card COMPACT */
html body .llms-access-plan,
.llms-access-plans .llms-access-plan {
    max-width: 380px !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* Compact title */
html body .llms-access-plan .llms-access-plan-title {
    padding: 16px 20px !important;
    font-size: 1.2rem !important;
}

/* Compact pricing section */
html body .llms-access-plan .llms-access-plan-pricing,
html body .llms-access-plan a.llms-access-plan-pricing {
    padding: 20px !important;
    display: block !important;
    text-decoration: none !important;
}

/* SALE badge - smaller, blue */
html body .llms-access-plan .llms-onsale {
    background: #4a6cf7 !important;
    padding: 4px 12px !important;
    font-size: 0.7rem !important;
    border-radius: 4px !important;
    margin-bottom: 8px !important;
    display: inline-block !important;
}

/* Original price - smaller */
html body .llms-access-plan del,
html body .llms-access-plan del span,
html body .llms-access-plan .llms-access-plan-pricing del {
    color: #6b7aa1 !important;
    font-size: 1rem !important;
    background: transparent !important;
    text-decoration: line-through !important;
    display: inline !important;
}

/* Sale price - smaller but still prominent */
html body .llms-access-plan ins,
html body .llms-access-plan ins span,
html body .llms-access-plan .llms-access-plan-pricing ins {
    color: #4a6cf7 !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    background: transparent !important;
    text-decoration: none !important;
    display: inline !important;
}

/* Compact footer */
html body .llms-access-plan .llms-access-plan-footer {
    padding: 16px 20px !important;
}

/* Compact button */
html body .llms-access-plan .llms-access-plan-footer a,
html body .llms-access-plan .llms-access-plan-footer .llms-button {
    padding: 12px 24px !important;
    font-size: 1rem !important;
    border-radius: 8px !important;
}

/* Description - compact */
html body .llms-access-plan .llms-access-plan-description {
    padding: 0 20px 12px !important;
    font-size: 0.85rem !important;
}

/* Schedule/trial info - compact */
html body .llms-access-plan .llms-access-plan-schedule,
html body .llms-access-plan .llms-access-plan-trial,
html body .llms-access-plan .llms-access-plan-expiration {
    padding: 8px 20px !important;
    font-size: 0.8rem !important;
}

/* Multiple plans grid - tighter */
.llms-access-plans {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    justify-content: center !important;
}
