/**
 * Live Class Public Styles
 */

/* ===========================================
   FULL WIDTH LAYOUT - HIDE SIDEBAR
   =========================================== */

body.lc-full-width .sidebar,
body.lc-full-width #secondary,
body.lc-full-width .widget-area,
body.lc-full-width aside.sidebar,
body.lc-full-width aside#secondary {
    display: none !important;
}

body.lc-full-width #primary,
body.lc-full-width #content,
body.lc-full-width .site-content,
body.lc-full-width .content-area,
body.lc-full-width main.site-main,
body.lc-full-width .entry-content,
body.lc-full-width article,
body.lc-full-width .post,
body.lc-full-width .page,
body.lc-full-width .hentry,
body.lc-full-width .container,
body.lc-full-width .site-container,
body.lc-full-width .wrapper,
body.lc-full-width .inner,
body.lc-full-width .content-wrapper,
body.lc-full-width .page-content,
body.lc-full-width .entry,
body.lc-full-width main,
body.lc-full-width [class*="content"],
body.lc-full-width [class*="container"]:not(nav):not(header):not(footer) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    flex: 1 1 100% !important;
}

body.lc-full-width .site-content,
body.lc-full-width .content-area,
body.lc-full-width #content {
    display: block !important;
}

body.lc-full-width .site-main,
body.lc-full-width #main,
body.lc-full-width main {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    box-sizing: border-box !important;
}

/* ===========================================
   NAVIGATION MENU ALIGNMENT
   =========================================== */

/* Force navbar to full width and prevent menu wrap */
body.lc-page #navbar.navbar,
body.lc-page .navbar,
body.lc-page nav.main-navigation,
body.lc-page #site-navigation {
    width: 100% !important;
    max-width: 100% !important;
}

body.lc-page #navbar.navbar .nav-menu,
body.lc-page #navbar.navbar ul.nav-menu,
body.lc-page .navbar ul.nav-menu,
body.lc-page nav.main-navigation ul {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}

body.lc-page #navbar.navbar .nav-menu li,
body.lc-page #navbar.navbar ul.nav-menu li,
body.lc-page .navbar ul.nav-menu li {
    flex-shrink: 0 !important;
}

/* Align menu to the left on all Live Class pages (including homepage) */
body.lc-page .main-navigation ul,
body.lc-page .site-navigation ul,
body.lc-page #site-navigation ul,
body.lc-page .primary-navigation ul,
body.lc-page .navbar .menu,
body.lc-page #navbar .menu,
body.lc-page .nav-menu,
body.lc-page .wp-block-navigation__container {
    justify-content: flex-start !important;
    text-align: left !important;
}

body.lc-page .main-navigation,
body.lc-page .site-navigation,
body.lc-page #site-navigation,
body.lc-page .primary-navigation,
body.lc-page .navbar,
body.lc-page #navbar {
    justify-content: flex-start !important;
}

/* ===========================================
   HIDE PAGE TITLE IN CONTENT (shown in header)
   =========================================== */

/* Hide the page title H1 on Live Class pages (not homepage) */
body.lc-hide-page-title .entry-title,
body.lc-hide-page-title .page-title,
body.lc-hide-page-title article > header .entry-title,
body.lc-hide-page-title .post-title,
body.lc-hide-page-title h1.wp-block-post-title,
body.lc-hide-page-title .wp-block-post-title {
    display: none !important;
}

/* Also hide any entry-header that only contains the title */
body.lc-hide-page-title .entry-header:not(:has(.entry-meta)):not(:has(.post-meta)) {
    display: none !important;
}

/* ===========================================
   FULL WIDTH LAYOUT - Hide theme sidebar
   =========================================== */

/* Hide sidebar on Live Class pages */
body.single-lc_course .widget-area,
body.single-lc_course #secondary,
body.single-lc_course aside.sidebar,
body.single-lc_course .sidebar,
body.single-lc_lesson .widget-area,
body.single-lc_lesson #secondary,
body.single-lc_lesson aside.sidebar,
body.single-lc_lesson .sidebar,
/* Live Class page styles - Background */
body:has(.lc-instructor-dashboard) .site,
body:has(.lc-courses-grid) .site,
body:has(.lc-single-course) .site,
body:has(.lc-checkout) .site,
body:has(.lc-my-courses) .site,
body:has(.lc-pricing-page) .site,
body:has(.lc-student-dashboard) .site,
body.single-lc_course .site,
body.single-lc_lesson .site {
    background-color: #f7f5e7;
}

/* Live Class page styles - Navbar */
body:has(.lc-instructor-dashboard) #navbar.navbar,
body:has(.lc-instructor-dashboard) #navbar.navbar nav#site-navigation.main-navigation,
body:has(.lc-instructor-dashboard) #navbar.navbar .menu-menu-1-container,
body:has(.lc-instructor-dashboard) #navbar.navbar ul.nav-menu,
body:has(.lc-courses-grid) #navbar.navbar,
body:has(.lc-courses-grid) #navbar.navbar nav#site-navigation.main-navigation,
body:has(.lc-courses-grid) #navbar.navbar .menu-menu-1-container,
body:has(.lc-courses-grid) #navbar.navbar ul.nav-menu,
body:has(.lc-single-course) #navbar.navbar,
body:has(.lc-single-course) #navbar.navbar nav#site-navigation.main-navigation,
body:has(.lc-single-course) #navbar.navbar .menu-menu-1-container,
body:has(.lc-single-course) #navbar.navbar ul.nav-menu,
body:has(.lc-checkout) #navbar.navbar,
body:has(.lc-checkout) #navbar.navbar nav#site-navigation.main-navigation,
body:has(.lc-checkout) #navbar.navbar .menu-menu-1-container,
body:has(.lc-checkout) #navbar.navbar ul.nav-menu,
body:has(.lc-my-courses) #navbar.navbar,
body:has(.lc-my-courses) #navbar.navbar nav#site-navigation.main-navigation,
body:has(.lc-my-courses) #navbar.navbar .menu-menu-1-container,
body:has(.lc-my-courses) #navbar.navbar ul.nav-menu,
body:has(.lc-pricing-page) #navbar.navbar,
body:has(.lc-pricing-page) #navbar.navbar nav#site-navigation.main-navigation,
body:has(.lc-pricing-page) #navbar.navbar .menu-menu-1-container,
body:has(.lc-pricing-page) #navbar.navbar ul.nav-menu,
body:has(.lc-student-dashboard) #navbar.navbar,
body:has(.lc-student-dashboard) #navbar.navbar nav#site-navigation.main-navigation,
body:has(.lc-student-dashboard) #navbar.navbar .menu-menu-1-container,
body:has(.lc-student-dashboard) #navbar.navbar ul.nav-menu,
body.single-lc_course #navbar.navbar,
body.single-lc_course #navbar.navbar nav#site-navigation.main-navigation,
body.single-lc_course #navbar.navbar .menu-menu-1-container,
body.single-lc_course #navbar.navbar ul.nav-menu,
body.single-lc_lesson #navbar.navbar,
body.single-lc_lesson #navbar.navbar nav#site-navigation.main-navigation,
body.single-lc_lesson #navbar.navbar .menu-menu-1-container,
body.single-lc_lesson #navbar.navbar ul.nav-menu {
    background-color: #cbcaca !important;
}

/* Live Class page styles - Menu bold */
body:has(.lc-instructor-dashboard) #navbar.navbar ul.nav-menu li a,
body:has(.lc-courses-grid) #navbar.navbar ul.nav-menu li a,
body:has(.lc-single-course) #navbar.navbar ul.nav-menu li a,
body:has(.lc-checkout) #navbar.navbar ul.nav-menu li a,
body:has(.lc-my-courses) #navbar.navbar ul.nav-menu li a,
body:has(.lc-pricing-page) #navbar.navbar ul.nav-menu li a,
body:has(.lc-student-dashboard) #navbar.navbar ul.nav-menu li a,
body.single-lc_course #navbar.navbar ul.nav-menu li a,
body.single-lc_lesson #navbar.navbar ul.nav-menu li a {
    font-weight: bold;
}

/* Live Class page styles - Breadcrumb border */
body:has(.lc-instructor-dashboard) #lc-breadcrumb-bar,
body:has(.lc-courses-grid) #lc-breadcrumb-bar,
body:has(.lc-single-course) #lc-breadcrumb-bar,
body:has(.lc-checkout) #lc-breadcrumb-bar,
body:has(.lc-my-courses) #lc-breadcrumb-bar,
body:has(.lc-pricing-page) #lc-breadcrumb-bar,
body:has(.lc-student-dashboard) #lc-breadcrumb-bar,
body.single-lc_course #lc-breadcrumb-bar,
body.single-lc_lesson #lc-breadcrumb-bar {
    border-bottom: 1px solid #898989;
}

/* Homepage - Border under navbar */
body.home #navbar.navbar {
    border-bottom: 1px solid #898989;
}

/* Logo significato image */
header#masthead a.home-link {
    display: inline-flex;
    align-items: center;
}

.lc-logo-significato {
    margin-left: 30px;
    opacity: 0.7;
    vertical-align: middle;
}

body:has(.lc-instructor-dashboard) .widget-area,
body:has(.lc-instructor-dashboard) #secondary,
body:has(.lc-instructor-dashboard) aside.sidebar,
body:has(.lc-instructor-dashboard) .sidebar,
body:has(.lc-courses-grid) .widget-area,
body:has(.lc-courses-grid) #secondary,
body:has(.lc-courses-grid) aside.sidebar,
body:has(.lc-courses-grid) .sidebar,
body:has(.lc-single-course) .widget-area,
body:has(.lc-single-course) #secondary,
body:has(.lc-single-course) aside.sidebar,
body:has(.lc-single-course) .sidebar,
body:has(.lc-checkout) .widget-area,
body:has(.lc-checkout) #secondary,
body:has(.lc-checkout) aside.sidebar,
body:has(.lc-checkout) .sidebar,
body:has(.lc-my-courses) .widget-area,
body:has(.lc-my-courses) #secondary,
body:has(.lc-my-courses) aside.sidebar,
body:has(.lc-my-courses) .sidebar,
body:has(.lc-pricing-page) .widget-area,
body:has(.lc-pricing-page) #secondary,
body:has(.lc-pricing-page) aside.sidebar,
body:has(.lc-pricing-page) .sidebar,
body:has(.lc-student-dashboard) .widget-area,
body:has(.lc-student-dashboard) #secondary,
body:has(.lc-student-dashboard) aside.sidebar,
body:has(.lc-student-dashboard) .sidebar {
    display: none !important;
}

/* Make content full width on Live Class pages */
body.single-lc_course #primary,
body.single-lc_course .content-area,
body.single-lc_course .site-main,
body.single-lc_course main,
body.single-lc_course article,
body.single-lc_lesson #primary,
body.single-lc_lesson .content-area,
body.single-lc_lesson .site-main,
body.single-lc_lesson main,
body.single-lc_lesson article,
body:has(.lc-instructor-dashboard) #primary,
body:has(.lc-instructor-dashboard) .content-area,
body:has(.lc-instructor-dashboard) .site-main,
body:has(.lc-courses-grid) #primary,
body:has(.lc-courses-grid) .content-area,
body:has(.lc-courses-grid) .site-main,
body:has(.lc-single-course) #primary,
body:has(.lc-single-course) .content-area,
body:has(.lc-single-course) .site-main,
body:has(.lc-checkout) #primary,
body:has(.lc-checkout) .content-area,
body:has(.lc-checkout) .site-main,
body:has(.lc-my-courses) #primary,
body:has(.lc-my-courses) .content-area,
body:has(.lc-my-courses) .site-main,
body:has(.lc-pricing-page) #primary,
body:has(.lc-pricing-page) .content-area,
body:has(.lc-pricing-page) .site-main,
body:has(.lc-student-dashboard) #primary,
body:has(.lc-student-dashboard) .content-area,
body:has(.lc-student-dashboard) .site-main {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    float: none !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
}

/* Override common theme grid layouts */
body.single-lc_course .site-content,
body.single-lc_course #content,
body.single-lc_lesson .site-content,
body.single-lc_lesson #content,
body:has(.lc-instructor-dashboard) .site-content,
body:has(.lc-instructor-dashboard) #content,
body:has(.lc-courses-grid) .site-content,
body:has(.lc-courses-grid) #content,
body:has(.lc-single-course) .site-content,
body:has(.lc-single-course) #content,
body:has(.lc-checkout) .site-content,
body:has(.lc-checkout) #content,
body:has(.lc-my-courses) .site-content,
body:has(.lc-my-courses) #content,
body:has(.lc-pricing-page) .site-content,
body:has(.lc-pricing-page) #content,
body:has(.lc-student-dashboard) .site-content,
body:has(.lc-student-dashboard) #content {
    display: block !important;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Twenty Twenty and similar themes - Full width content */
body:has(.lc-instructor-dashboard) .entry-content,
body:has(.lc-instructor-dashboard) .post-inner,
body:has(.lc-instructor-dashboard) .entry-header,
body:has(.lc-instructor-dashboard) article .entry-content,
body:has(.lc-courses-grid) .entry-content,
body:has(.lc-courses-grid) .post-inner,
body:has(.lc-single-course) .entry-content,
body:has(.lc-single-course) .post-inner,
body:has(.lc-checkout) .entry-content,
body:has(.lc-checkout) .post-inner,
body:has(.lc-my-courses) .entry-content,
body:has(.lc-my-courses) .post-inner,
body:has(.lc-pricing-page) .entry-content,
body:has(.lc-pricing-page) .post-inner,
body:has(.lc-student-dashboard) .entry-content,
body:has(.lc-student-dashboard) .post-inner,
body.single-lc_course .entry-content,
body.single-lc_course .post-inner,
body.single-lc_lesson .entry-content,
body.single-lc_lesson .post-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Override theme content width restrictions */
body:has(.lc-instructor-dashboard) .wp-block-post-content,
body:has(.lc-instructor-dashboard) .has-global-padding,
body:has(.lc-instructor-dashboard) .wp-site-blocks,
body:has(.lc-instructor-dashboard) .is-layout-constrained,
body:has(.lc-courses-grid) .wp-block-post-content,
body:has(.lc-courses-grid) .is-layout-constrained,
body:has(.lc-single-course) .wp-block-post-content,
body:has(.lc-single-course) .is-layout-constrained,
body:has(.lc-checkout) .wp-block-post-content,
body:has(.lc-checkout) .is-layout-constrained,
body:has(.lc-my-courses) .wp-block-post-content,
body:has(.lc-my-courses) .is-layout-constrained,
body:has(.lc-pricing-page) .wp-block-post-content,
body:has(.lc-pricing-page) .is-layout-constrained,
body:has(.lc-student-dashboard) .wp-block-post-content,
body:has(.lc-student-dashboard) .is-layout-constrained,
body.single-lc_course .wp-block-post-content,
body.single-lc_course .is-layout-constrained,
body.single-lc_lesson .wp-block-post-content,
body.single-lc_lesson .is-layout-constrained {
    max-width: 1200px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin: 0 auto !important;
}

/* Ensure Live Class containers take full width */
.lc-instructor-dashboard,
.lc-student-dashboard,
.lc-courses-grid,
.lc-single-course,
.lc-checkout,
.lc-my-courses,
.lc-pricing-page {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* Dashboard specific - full width table */
.lc-instructor-dashboard .lc-courses-table-wrapper {
    width: 100%;
    max-width: 100%;
}

.lc-instructor-dashboard .lc-dashboard-header {
    max-width: 100%;
}

/* Remove min-width that causes horizontal scroll */
.lc-instructor-dashboard .lc-courses-table {
    min-width: auto;
    width: 100%;
    table-layout: fixed;
}

/* Variables */
:root {
    --lc-primary: #142940;
    --lc-primary-hover: #0e1f30;
    --lc-secondary: #1e3a5f;
    --lc-success: #28a745;
    --lc-warning: #ffc107;
    --lc-danger: #dc3545;
    --lc-dark: #1d2327;
    --lc-gray: #646970;
    --lc-light-gray: #f0f0f1;
    --lc-border: #dcdcde;
    --lc-radius: 8px;
    --lc-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Buttons */
.lc-button {
    display: inline-block;
    padding: 10px 20px;
    border: none;
    border-radius: var(--lc-radius);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s;
}

.lc-button-primary {
    background: var(--lc-primary);
    color: #fff;
}

.lc-button-primary:link,
.lc-button-primary:visited,
.lc-button-primary:active,
.lc-button-primary:focus {
    color: #fff;
}

.lc-button-primary:hover {
    background: var(--lc-primary-hover);
    color: #fff;
}

.lc-button-secondary {
    background: var(--lc-light-gray);
    color: var(--lc-dark);
}

.lc-button-secondary:link,
.lc-button-secondary:visited,
.lc-button-secondary:active,
.lc-button-secondary:focus {
    color: var(--lc-dark);
}

.lc-button-secondary:hover {
    background: var(--lc-border);
}

.lc-button-large {
    padding: 15px 30px;
    font-size: 16px;
}

.lc-button-small {
    padding: 6px 12px;
    font-size: 12px;
}

.lc-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Courses Grid */
.lc-courses-grid {
    display: grid;
    gap: 24px;
}

.lc-columns-2 { grid-template-columns: repeat(2, 1fr); }
.lc-columns-3 { grid-template-columns: repeat(3, 1fr); }
.lc-columns-4 { grid-template-columns: repeat(4, 1fr); }

.lc-course-card {
    background: #fff;
    border-radius: var(--lc-radius);
    box-shadow: var(--lc-shadow);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}

.lc-course-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
}

.lc-course-thumbnail img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.lc-course-content {
    padding: 20px;
}

.lc-course-category {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 400;
    color: var(--lc-primary);
}

.lc-course-title {
    margin: 0 0 10px;
    font-size: 26px;
}

.lc-course-title a {
    color: var(--lc-dark);
    text-decoration: none;
}

.lc-course-title a:hover {
    color: var(--lc-primary);
}

.lc-course-instructor {
    color: var(--lc-gray);
    font-size: 14px;
    margin: 0 0 10px;
}

.lc-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    color: var(--lc-gray);
    font-size: 13px;
    margin-bottom: 15px;
}

.lc-course-meta .lc-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.lc-course-meta .lc-meta-item svg {
    flex-shrink: 0;
    vertical-align: middle;
}

.lc-course-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid var(--lc-border);
}

.lc-course-price {
    font-size: 20px;
    font-weight: 600;
    color: var(--lc-primary);
}

/* Price with discount */
.lc-price-discounted {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.lc-price-new {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--lc-primary);
}

.lc-price-old-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.lc-instead-of {
    font-size: 0.75em;
    color: #000;
    font-style: italic;
}

.lc-price-original {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.lc-price-x {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 85%;
    height: 85%;
    pointer-events: none;
    opacity: 0.85;
}

.lc-price-original-amount {
    font-size: 0.85em;
    color: #000;
    font-weight: 700;
    position: relative;
}

/* Price in course cards - ensure inline layout */
.lc-course-card .lc-price-new,
.lc-course-footer .lc-price-new {
    font-size: 28px;
    color: var(--lc-primary);
}

.lc-course-card .lc-price-original-amount,
.lc-course-footer .lc-price-original-amount {
    font-size: 18px;
}

.lc-course-card .lc-instead-of,
.lc-course-footer .lc-instead-of {
    font-size: 14px;
}

.lc-price-amount.lc-free {
    color: var(--lc-success, #28a745);
}

/* My Courses */
.lc-my-courses {
    max-width: 900px;
}

.lc-subscription-info {
    background: linear-gradient(135deg, var(--lc-primary) 0%, var(--lc-primary-hover) 100%);
    color: #fff;
    padding: 25px;
    border-radius: var(--lc-radius);
    margin-bottom: 30px;
}

.lc-subscription-info h3 {
    margin: 0 0 10px;
    font-size: 14px;
    text-transform: uppercase;
    opacity: 0.8;
}

.lc-subscription-info .lc-status {
    margin-left: 10px;
}

.lc-subscription-period {
    margin: 10px 0;
    opacity: 0.9;
}

.lc-enrolled-course {
    display: flex;
    gap: 20px;
    background: #fff;
    border-radius: var(--lc-radius);
    padding: 20px;
    margin-bottom: 15px;
    box-shadow: var(--lc-shadow);
}

.lc-course-thumb img {
    width: 120px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
}

.lc-course-info {
    flex: 1;
}

.lc-course-info h4 {
    margin: 0 0 10px;
}

.lc-course-info h4 a {
    color: var(--lc-dark);
    text-decoration: none;
}

.lc-progress-bar {
    background: var(--lc-light-gray);
    border-radius: 10px;
    height: 10px;
    overflow: hidden;
    margin-bottom: 8px;
}

.lc-progress-fill {
    background: linear-gradient(90deg, var(--lc-success) 0%, #20c997 100%);
    height: 100%;
    transition: width 0.3s;
}

.lc-progress-text {
    font-size: 13px;
    color: var(--lc-gray);
    margin: 0 0 15px;
}

.lc-course-actions {
    display: flex;
    gap: 10px;
}

/* Certificates List */
.lc-certificates-list {
    background: #fff;
    border-radius: var(--lc-radius);
    overflow: hidden;
}

.lc-certificate-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    border-bottom: 1px solid var(--lc-border);
}

.lc-certificate-item:last-child {
    border-bottom: none;
}

.lc-certificate-course {
    flex: 1;
    font-weight: 500;
}

.lc-certificate-date,
.lc-certificate-number {
    color: var(--lc-gray);
    font-size: 13px;
}

/* Checkout */
.lc-checkout {
    max-width: 600px;
    margin: 0 auto;
}

.lc-checkout-summary {
    background: #fff;
    border-radius: var(--lc-radius);
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: var(--lc-shadow);
}

.lc-checkout-summary h3 {
    margin: 0 0 20px;
}

.lc-checkout-course {
    display: flex;
    gap: 20px;
}

.lc-checkout-thumbnail img {
    width: 100px;
    height: 70px;
    object-fit: cover;
    border-radius: 4px;
}

.lc-checkout-course-info h4 {
    margin: 0 0 10px;
}

.lc-checkout-price {
    font-size: 24px;
    font-weight: 600;
    color: var(--lc-primary);
    margin: 0;
}

/* Price display in checkout with discount */
.lc-price-display .lc-price-discounted {
    align-items: flex-start;
}

.lc-price-display .lc-price-new {
    font-size: 28px;
}

.lc-price-display .lc-price-original-amount {
    font-size: 18px;
}

.lc-price-display .lc-instead-of {
    font-size: 14px;
}

.lc-price-display .lc-price-amount {
    font-size: 28px;
    font-weight: 600;
    color: var(--lc-primary);
}

.lc-checkout-payment {
    background: #fff;
    border-radius: var(--lc-radius);
    padding: 25px;
    box-shadow: var(--lc-shadow);
}

.lc-checkout-payment h3 {
    margin: 0 0 20px;
}

#lc-payment-element {
    margin-bottom: 20px;
}

#lc-checkout-submit,
#lc-checkout-free {
    width: 100%;
}

.lc-message {
    padding: 12px 15px;
    border-radius: 4px;
    margin-bottom: 15px;
}

.lc-message.lc-error {
    background: #f8d7da;
    color: #721c24;
}

.lc-message.lc-success {
    background: #d4edda;
    color: #155724;
}

/* Pricing */
.lc-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.lc-pricing-plan {
    background: #fff;
    border-radius: var(--lc-radius);
    padding: 30px;
    box-shadow: var(--lc-shadow);
    text-align: center;
    position: relative;
}

.lc-pricing-plan.lc-current-plan {
    border: 2px solid var(--lc-primary);
}

.lc-plan-title {
    margin: 0 0 10px;
    font-size: 24px;
}

.lc-plan-description {
    color: var(--lc-gray);
    margin-bottom: 20px;
}

.lc-plan-prices {
    margin-bottom: 25px;
}

.lc-price-option {
    margin-bottom: 10px;
}

.lc-price {
    font-size: 36px;
    font-weight: 700;
    color: var(--lc-primary);
}

.lc-period {
    font-size: 14px;
    color: var(--lc-gray);
}

.lc-savings {
    display: inline-block;
    background: var(--lc-success);
    color: #fff;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 12px;
    margin-left: 5px;
}

.lc-plan-features {
    list-style: none;
    padding: 0;
    margin: 0 0 25px;
    text-align: left;
}

.lc-plan-features li {
    padding: 8px 0;
    padding-left: 25px;
    position: relative;
    border-bottom: 1px solid var(--lc-border);
}

.lc-plan-features li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--lc-success);
    font-weight: bold;
}

.lc-plan-actions {
    margin-top: 20px;
}

.lc-billing-toggle {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 15px;
}

.lc-billing-toggle label {
    cursor: pointer;
}

.lc-current-badge {
    display: inline-block;
    background: var(--lc-primary);
    color: #fff;
    padding: 10px 20px;
    border-radius: var(--lc-radius);
    font-weight: 500;
}

/* Modal */
.lc-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lc-modal-content {
    background: #fff;
    border-radius: var(--lc-radius);
    padding: 30px;
    max-width: 500px;
    width: 90%;
    position: relative;
}

.lc-modal-close {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 24px;
    cursor: pointer;
    color: var(--lc-gray);
}

.lc-modal-close:hover {
    color: var(--lc-dark);
}

/* Verify Certificate */
.lc-verify-certificate {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

.lc-verify-form {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
}

.lc-verify-form input {
    flex: 1;
    padding: 12px 15px;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    font-size: 16px;
}

.lc-certificate-valid,
.lc-certificate-invalid {
    padding: 40px;
    border-radius: var(--lc-radius);
}

.lc-certificate-valid {
    background: #d4edda;
}

.lc-certificate-invalid {
    background: #f8d7da;
}

.lc-valid-icon,
.lc-invalid-icon {
    font-size: 48px;
    margin-bottom: 15px;
}

.lc-valid-icon { color: var(--lc-success); }
.lc-invalid-icon { color: var(--lc-danger); }

.lc-certificate-details {
    text-align: left;
    width: 100%;
    margin-top: 20px;
    background: rgba(255,255,255,0.5);
    border-radius: 4px;
}

.lc-certificate-details th,
.lc-certificate-details td {
    padding: 10px 15px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}

.lc-certificate-details th {
    width: 40%;
    font-weight: 500;
}

/* Status badges */
.lc-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.lc-status-active { background: #d4edda; color: #155724; }
.lc-status-pending { background: #fff3cd; color: #856404; }
.lc-status-expired,
.lc-status-cancelled { background: #f8d7da; color: #721c24; }

.lc-notice {
    background: #fff3cd;
    color: #856404;
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 13px;
}

/* Responsive */
@media (max-width: 768px) {
    .lc-columns-3,
    .lc-columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .lc-enrolled-course {
        flex-direction: column;
    }

    .lc-course-thumb img {
        width: 100%;
        height: 150px;
    }

    .lc-verify-form {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .lc-columns-2,
    .lc-columns-3,
    .lc-columns-4 {
        grid-template-columns: 1fr;
    }

    .lc-course-actions {
        flex-direction: column;
    }

    .lc-pricing-grid {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   HOMEPAGE STYLES
   ===================================================== */

/* Home Container */
.lc-home {
    max-width: 100%;
}

/* Homepage Header Login Form - positioned in site header */
#lc-breadcrumb-bar:has(.lc-header-login-form) {
    position: fixed;
    top: 40px;
    right: 20px;
    left: auto;
    width: auto;
    background: transparent;
    border: none;
    box-shadow: none;
    z-index: 9999;
}

#lc-breadcrumb-bar:has(.lc-header-login-form) .lc-breadcrumb-container {
    padding: 0;
    background: transparent;
    border: none;
}

#lc-breadcrumb-bar:has(.lc-header-login-form)::after,
#lc-breadcrumb-bar:has(.lc-header-login-form)::before {
    display: none;
}

.lc-header-login-form {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    padding: 10px 0;
}

.lc-header-login-form input {
    padding: 6px 10px;
    border: 1px solid var(--lc-border);
    border-radius: 4px;
    font-size: 13px;
    width: 150px;
}

.lc-header-login-form input:focus {
    outline: none;
    border-color: var(--lc-primary);
}

.lc-header-login-form button {
    padding: 6px 15px;
    background: var(--lc-primary);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
}

.lc-header-login-form button:hover {
    background: var(--lc-primary-dark, #1a5a8a);
}

.lc-home section {
    padding: 60px 0;
}

.lc-home section:first-child {
    padding-top: 0;
}

/* Reduce top spacing on homepage */
body.lc-home-page .site-content,
body.lc-home-page #content,
body.lc-home-page .content-area,
body.lc-home-page #primary,
body.lc-home-page .site-main,
body.lc-home-page #main,
body.lc-home-page .entry-content,
body.lc-home-page article {
    padding-top: 5px !important;
    margin-top: 0 !important;
}

body.lc-home-page .post-inner,
body.lc-home-page .wp-block-post-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Section Headers */
.lc-section-header {
    text-align: center;
    margin-bottom: 40px;
}

.lc-section-title {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 12px;
    color: var(--lc-dark);
}

.lc-section-subtitle {
    font-size: 18px;
    color: var(--lc-gray);
    margin: 0;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.lc-section-footer {
    text-align: center;
    margin-top: 40px;
}

/* Hero Section */
.lc-hero {
    position: relative;
    padding: 80px 40px !important;
    text-align: center;
    background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);
    border-radius: var(--lc-radius);
    overflow: hidden;
}

.lc-hero-with-image {
    color: #fff;
}

.lc-hero-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
}

.lc-hero-background::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(20, 41, 64, 0.9) 0%, rgba(14, 31, 48, 0.95) 100%);
}

.lc-hero-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
}

.lc-hero-title {
    font-size: 48px;
    font-weight: 800;
    margin: 0 0 20px;
    line-height: 1.2;
}

.lc-hero-with-image .lc-hero-title {
    color: #fff;
}

.lc-hero-subtitle {
    font-size: 20px;
    margin: 0 0 35px;
    opacity: 0.9;
}

.lc-hero-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Hero Instructors */
.lc-hero-instructors {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 35px 0;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.lc-hero-instructor {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    transition: transform 0.2s;
}

.lc-hero-instructor:hover {
    transform: translateY(-5px);
}

.lc-hero-instructor img {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.lc-hero-instructor:hover img {
    border-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.lc-hero-instructor-name {
    margin-top: 12px;
    font-size: 26px;
    font-weight: 500;
    color: var(--lc-dark);
    text-align: center;
    max-width: 180px;
    line-height: 1.3;
}

.lc-hero-with-image .lc-hero-instructor-name {
    color: #fff;
}

.lc-hero-with-image .lc-hero-instructor img {
    border-color: rgba(255, 255, 255, 0.5);
}

.lc-button-outline {
    background: transparent;
    border: 2px solid currentColor;
    color: var(--lc-primary);
}

.lc-button-outline:link,
.lc-button-outline:visited,
.lc-button-outline:active,
.lc-button-outline:focus {
    color: var(--lc-primary);
}

.lc-hero-with-image .lc-button-outline {
    border-color: #fff;
    color: #fff;
}

.lc-hero-with-image .lc-button-outline:link,
.lc-hero-with-image .lc-button-outline:visited,
.lc-hero-with-image .lc-button-outline:active,
.lc-hero-with-image .lc-button-outline:focus {
    color: #fff;
}

.lc-button-outline:hover {
    background: var(--lc-primary);
    border-color: var(--lc-primary);
    color: #fff;
}

/* Stats Section */
.lc-stats-section {
    background: var(--lc-primary);
    margin: 0 !important;
    padding: 40px 20px !important;
}

.lc-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.lc-stat-item {
    color: #fff;
}

.lc-stat-number {
    display: block;
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 8px;
}

.lc-stat-label {
    font-size: 14px;
    opacity: 0.85;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Upcoming Lives Section */
.lc-upcoming-section {
    background: var(--lc-light-gray);
}

.lc-upcoming-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
}

.lc-upcoming-card {
    display: flex;
    gap: 20px;
    background: #fff;
    border-radius: var(--lc-radius);
    padding: 20px;
    box-shadow: var(--lc-shadow);
    align-items: flex-start;
    transition: transform 0.2s;
}

.lc-upcoming-card:hover {
    transform: translateY(-3px);
}

.lc-upcoming-date {
    background: var(--lc-primary);
    color: #fff;
    padding: 12px 16px;
    border-radius: var(--lc-radius);
    text-align: center;
    flex-shrink: 0;
}

.lc-date-day {
    display: block;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}

.lc-date-month {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    margin-top: 4px;
    opacity: 0.9;
}

.lc-upcoming-info {
    flex: 1;
    min-width: 0;
}

.lc-upcoming-time {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: var(--lc-gray);
    margin-bottom: 8px;
}

.lc-upcoming-time svg {
    opacity: 0.6;
}

.lc-upcoming-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 5px;
    line-height: 1.3;
}

.lc-upcoming-title a {
    color: var(--lc-dark);
    text-decoration: none;
}

.lc-upcoming-title a:hover {
    color: var(--lc-primary);
}

.lc-upcoming-course {
    font-size: 13px;
    color: var(--lc-gray);
    margin: 0 0 10px;
}

.lc-upcoming-instructor {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--lc-dark);
    margin: 0;
}

.lc-upcoming-instructor img {
    border-radius: 50%;
}

.lc-upcoming-action {
    flex-shrink: 0;
}

.lc-badge {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.lc-badge-live {
    background: #dc3545;
    color: #fff;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.lc-badge-recorded {
    background: var(--lc-secondary);
    color: #fff;
}

/* Featured Section */
.lc-featured-section {
    background: #fff;
}

/* Instructors Section */
.lc-instructors-section {
    background: var(--lc-light-gray);
}

.lc-instructors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

/* Homepage instructors - centered layout with fixed card width */
.lc-instructors-section .lc-instructors-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 280px));
    justify-content: center;
}

.lc-instructor-card {
    background: #fff;
    border-radius: var(--lc-radius);
    overflow: hidden;
    box-shadow: var(--lc-shadow);
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
}

.lc-instructor-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.lc-instructor-photo {
    display: block;
    overflow: hidden;
}

.lc-instructor-photo img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.3s;
}

.lc-instructor-card:hover .lc-instructor-photo img {
    transform: scale(1.05);
}

.lc-instructor-info {
    padding: 20px;
}

.lc-instructor-name {
    font-size: 18px;
    margin: 0 0 5px;
}

.lc-instructor-name a {
    color: var(--lc-dark);
    text-decoration: none;
}

.lc-instructor-name a:hover {
    color: var(--lc-primary);
}

.lc-instructor-specialties {
    font-size: 13px;
    color: var(--lc-gray);
    margin: 0 0 12px;
}

.lc-instructor-stats {
    display: flex;
    justify-content: center;
    gap: 20px;
    font-size: 12px;
    color: var(--lc-gray);
    margin: 0;
}

.lc-instructor-stats .lc-stat {
    display: flex;
    align-items: center;
    gap: 3px;
}

/* Pricing Section on Home */
.lc-pricing-section {
    background: #fff;
}

/* CTA Section */
.lc-cta-section {
    background: linear-gradient(135deg, var(--lc-primary) 0%, var(--lc-primary-hover) 100%);
    text-align: center;
    color: #fff;
}

.lc-cta-content {
    max-width: 700px;
    margin: 0 auto;
}

.lc-cta-title {
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 15px;
    color: #fff;
}

.lc-cta-text {
    font-size: 18px;
    margin: 0 0 30px;
    opacity: 0.9;
}

.lc-cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.lc-cta-section .lc-button-outline {
    border-color: #fff;
    color: #fff;
}

.lc-cta-section .lc-button-outline:link,
.lc-cta-section .lc-button-outline:visited,
.lc-cta-section .lc-button-outline:active,
.lc-cta-section .lc-button-outline:focus {
    color: #fff;
}

.lc-cta-section .lc-button-outline:hover {
    background: #fff;
    color: var(--lc-primary);
}

/* Breadcrumb */
.lc-breadcrumb {
    margin-bottom: 25px;
    font-size: 14px;
}

.lc-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.lc-breadcrumb-item:not(:last-child)::after {
    content: '›';
    margin-left: 8px;
    color: var(--lc-gray);
}

.lc-breadcrumb-item a {
    color: var(--lc-primary);
    text-decoration: none;
}

.lc-breadcrumb-item a:hover {
    text-decoration: underline;
}

.lc-breadcrumb-current span {
    color: var(--lc-gray);
}

/* Homepage Responsive */
@media (max-width: 992px) {
    .lc-hero-title {
        font-size: 36px;
    }

    .lc-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .lc-stat-number {
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    .lc-home section {
        padding: 40px 0;
    }

    .lc-hero {
        padding: 50px 20px !important;
    }

    .lc-hero-title {
        font-size: 28px;
    }

    .lc-hero-subtitle {
        font-size: 16px;
    }

    .lc-hero-instructors {
        gap: 15px;
    }

    .lc-hero-instructor img {
        width: 60px;
        height: 60px;
    }

    .lc-hero-instructor-name {
        font-size: 11px;
        max-width: 70px;
    }

    .lc-section-title {
        font-size: 26px;
    }

    .lc-section-subtitle {
        font-size: 16px;
    }

    .lc-cta-title {
        font-size: 28px;
    }

    .lc-upcoming-card {
        flex-direction: column;
    }

    .lc-upcoming-date {
        display: flex;
        gap: 8px;
        align-items: center;
    }

    .lc-date-day,
    .lc-date-month {
        display: inline;
    }

    .lc-instructors-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .lc-stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .lc-hero-buttons {
        flex-direction: column;
    }

    .lc-hero-instructors {
        gap: 12px;
    }

    .lc-hero-instructor img {
        width: 50px;
        height: 50px;
        border-width: 2px;
    }

    .lc-hero-instructor-name {
        font-size: 10px;
        max-width: 55px;
    }

    .lc-cta-buttons {
        flex-direction: column;
    }

    .lc-instructors-grid {
        grid-template-columns: 1fr;
    }

    .lc-instructor-photo img {
        height: 180px;
    }
}

/* =====================================================
   INSTRUCTOR PROFILE STYLES
   ===================================================== */

/* Instructors Page */
.lc-instructors-page {
    max-width: 1200px;
    margin: 0 auto;
}

.lc-instructors-page .lc-section-header {
    margin-bottom: 40px;
}

.lc-instructors-page .lc-instructors-grid.lc-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.lc-instructors-page .lc-instructors-grid.lc-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.lc-no-results {
    text-align: center;
    color: var(--lc-gray);
    padding: 40px;
    font-size: 16px;
}

/* Instructor Profile */
.lc-instructor-profile {
    max-width: 1000px;
    margin: 0 auto;
}

.lc-instructor-header {
    display: flex;
    gap: 40px;
    background: #fff;
    padding: 30px;
    border-radius: var(--lc-radius);
    box-shadow: var(--lc-shadow);
    margin-bottom: 40px;
    align-items: flex-start;
}

/* Left column: Photo and Stats */
.lc-instructor-left-col {
    flex: 0 0 280px;
    text-align: center;
}

.lc-instructor-left-col .lc-instructor-title {
    font-size: 24px;
    margin: 15px 0 10px;
}

.lc-instructor-left-col .lc-instructor-stats-large {
    justify-content: center;
}

/* Right column: Biography */
.lc-instructor-right-col {
    flex: 1;
    min-width: 0;
}

.lc-biography-title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 15px;
    color: var(--lc-dark);
}

.lc-biography-content {
    position: relative;
}

.lc-biography-text {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}

.lc-biography-text p {
    margin: 0 0 12px;
}

.lc-biography-text.lc-biography-truncated {
    max-height: 350px;
    overflow: hidden;
    position: relative;
}

.lc-biography-text.lc-biography-truncated::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    background: linear-gradient(transparent, #fff);
}

.lc-biography-text.lc-biography-expanded {
    max-height: none;
    overflow: visible;
}

.lc-biography-text.lc-biography-expanded::after {
    display: none;
}

.lc-biography-toggle {
    display: inline-block;
    margin-top: 10px;
    color: var(--lc-primary);
    font-style: italic;
    text-decoration: none;
    cursor: pointer;
}

.lc-biography-toggle:hover {
    text-decoration: underline;
}

.lc-no-biography {
    color: var(--lc-gray);
}

/* Instructor Bio Widget (in theme sidebar) - no custom title styling to match WordPress standards */

.lc-instructor-bio-content {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
}

.lc-instructor-bio-content p {
    margin: 0 0 12px;
}

.lc-instructor-bio-content p:last-child {
    margin-bottom: 0;
}

/* Instructor Profile Responsive - Two columns */
@media (max-width: 768px) {
    .lc-instructor-header {
        flex-direction: column;
    }

    .lc-instructor-left-col {
        flex: none;
        width: 100%;
    }

    .lc-instructor-right-col {
        width: 100%;
    }
}

/* =====================================================
   NAVIGATION MENU BAR (cream background for LC pages)
   ===================================================== */

body.lc-page #site-navigation.main-navigation {
    background: #f7f5e7 !important;
    padding: 3px 20px !important;
    margin: 0 !important;
}

body.lc-page #site-navigation .menu-toggle,
body.lc-page #site-navigation .search-form {
    display: none !important;
}

body.lc-page .main-navigation a,
body.lc-page .site-navigation a,
body.lc-page #site-navigation a,
body.lc-page .primary-navigation a,
body.lc-page .primary-menu > li > a,
body.lc-page .menu-navigation-container a, {
    color: #333 !important;
}

body.lc-page .main-navigation a:hover,
body.lc-page .site-navigation a:hover,
body.lc-page .primary-navigation a:hover,
body.lc-page .primary-menu > li > a:hover,
body.lc-page .lc-primary-hover > li > a:hover, {
    color: #e1650b !important;
}

/* Remove bottom border from menu (breadcrumb provides separation) */
body.lc-page .main-navigation,
body.lc-page .site-navigation,
body.lc-page #site-navigation,
body.lc-page .primary-navigation {
    border-bottom: none !important;
    box-shadow: none !important;
}

/* =====================================================
   BREADCRUMB BAR (under navigation)
   ===================================================== */

#lc-breadcrumb-bar {
    background: var(--lc-light-gray);
    border-bottom: 1px solid var(--lc-border);
    padding: 0 !important;
    margin: 0 !important;
    height: 45px !important;
    position: relative;
    z-index: 100;
    opacity: 0;
    transition: opacity 0.2s ease;
    overflow: visible;
    display: flex;
    align-items: center;
}

#lc-breadcrumb-bar .lc-breadcrumb-container {
    position: relative;
    height: 45px;
    display: flex;
    align-items: center;
}

#lc-breadcrumb-bar .lc-breadcrumb {
    display: flex !important;
    align-items: center !important;
    padding-left: 60px;
    height: 19px;
}

/* Freccia curva posizionata assoluta per non influenzare altezza */
#lc-breadcrumb-bar .lc-breadcrumb-arrow-curved {
    position: absolute;
    left: 67px;
    top: -18px;
}

#lc-breadcrumb-bar .lc-breadcrumb {
    margin: 0;
    padding: 0;
}

#lc-breadcrumb-bar.lc-positioned {
    opacity: 1;
}

/* Hide breadcrumb in page content (now shown in header) */
.site-main .lc-breadcrumb,
#main .lc-breadcrumb:not(#lc-breadcrumb-bar .lc-breadcrumb),
.entry-content .lc-breadcrumb {
    display: none !important;
}

/* Breadcrumb alignment with menu */
.lc-breadcrumb-container {
    padding-left: 75px;
    padding-top: 4px;
    text-align: left;
}

.lc-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.lc-breadcrumb a {
    color: #e1650b;
    text-decoration: none;
    transition: color 0.2s;
}

.lc-breadcrumb a:hover {
    color: #c45509;
    text-decoration: underline;
}

.lc-breadcrumb-current {
    color: var(--lc-dark);
    font-weight: 500;
}

/* First element after curved arrow needs padding */
.lc-breadcrumb-arrow-curved + a,
.lc-breadcrumb-arrow-curved + .lc-breadcrumb-current {
    padding-left: 50px;
}

/* Breadcrumb arrows */
.lc-breadcrumb-arrow {
    display: inline-flex;
    align-items: center;
}

.lc-breadcrumb-arrow img {
    display: block;
}

/* Curved arrow */
.lc-breadcrumb-arrow-curved {
    z-index: 101;
}

.lc-breadcrumb-arrow-curved img {
    width: 50px;
    height: 53px;
}

.lc-breadcrumb-arrow-straight {
    margin: 0;
}

.lc-breadcrumb-arrow-straight img {
    width: 25px;
    height: 19px;
}

/* Breadcrumb Login Form & Logout */
#lc-breadcrumb-bar .lc-breadcrumb {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.lc-breadcrumb-items {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lc-breadcrumb-logout {
    margin-left: auto;
    margin-right: 10px;
    padding: 5px 15px;
    color: var(--lc-gray);
    text-decoration: none;
    font-size: 13px;
    font-weight: bold;
    background: #fff;
    border: 1px solid var(--lc-border);
    border-radius: 4px;
    transition: all 0.2s;
}

.lc-breadcrumb-logout:hover {
    color: #c00;
    border-color: #c00;
    background: #fff5f5;
}

.lc-breadcrumb-login {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    margin-right: 10px;
}

.lc-breadcrumb-login input {
    height: 28px;
    padding: 0 10px;
    border: 1px solid var(--lc-border);
    border-radius: 4px;
    font-size: 13px;
    width: 130px;
}

.lc-breadcrumb-login input:focus {
    outline: none;
    border-color: var(--lc-primary);
}

.lc-breadcrumb-login button {
    height: 28px;
    padding: 0 15px;
    background: var(--lc-primary);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

.lc-breadcrumb-login button:hover {
    background: var(--lc-primary-dark, #1a5a8a);
}

@media (max-width: 768px) {
    .lc-breadcrumb-login {
        display: none;
    }
}

/* =====================================================
   WIDGET STYLES
   ===================================================== */

/* Widget: Courses List */
.lc-widget-courses-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lc-widget-course-item {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--lc-border);
}

.lc-widget-course-item:last-child {
    border-bottom: none;
}

.lc-widget-course-thumb {
    flex-shrink: 0;
}

.lc-widget-course-thumb img {
    width: 60px;
    height: 45px;
    object-fit: cover;
    border-radius: 4px;
}

.lc-widget-course-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.lc-widget-course-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-dark);
    text-decoration: none;
    line-height: 1.3;
}

.lc-widget-course-title:hover {
    color: var(--lc-primary);
}

.lc-widget-course-price {
    font-size: 12px;
    color: var(--lc-primary);
    font-weight: 600;
}

/* Widget: Lives List */
.lc-widget-lives-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lc-widget-live-item {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--lc-border);
}

.lc-widget-live-item:last-child {
    border-bottom: none;
}

.lc-widget-live-date {
    flex-shrink: 0;
    background: var(--lc-primary);
    color: #fff;
    padding: 8px 10px;
    border-radius: 6px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
}

.lc-widget-live-date small {
    display: block;
    font-size: 11px;
    font-weight: 400;
    opacity: 0.9;
}

.lc-widget-live-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.lc-widget-live-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-dark);
    text-decoration: none;
}

.lc-widget-live-title:hover {
    color: var(--lc-primary);
}

.lc-widget-live-course {
    font-size: 11px;
    color: var(--lc-gray);
}

/* Widget: Instructors List */
.lc-widget-instructors-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.lc-widget-instructor-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    padding: 10px;
    border-radius: 8px;
    transition: background 0.2s;
}

.lc-widget-instructor-item a:hover {
    background: var(--lc-light-gray);
}

.lc-widget-instructor-item img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 6px;
}

.lc-widget-instructor-item span {
    font-size: 12px;
    color: var(--lc-dark);
    text-align: center;
    line-height: 1.3;
}

/* Widget: Plans List */
.lc-widget-plans-list {
    list-style: none;
    margin: 0 0 15px;
    padding: 0;
}

.lc-widget-plan-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--lc-border);
}

.lc-widget-plan-item:last-child {
    border-bottom: none;
}

.lc-widget-plan-name {
    font-weight: 500;
    color: var(--lc-dark);
}

.lc-widget-plan-price {
    color: var(--lc-primary);
    font-weight: 600;
    font-size: 13px;
}

/* Widget: My Courses */
.lc-widget-my-courses-list {
    list-style: none;
    margin: 0 0 15px;
    padding: 0;
}

.lc-widget-my-course-item {
    padding: 10px 0;
    border-bottom: 1px solid var(--lc-border);
}

.lc-widget-my-course-item:last-child {
    border-bottom: none;
}

.lc-widget-my-course-item a {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-dark);
    text-decoration: none;
    margin-bottom: 6px;
}

.lc-widget-my-course-item a:hover {
    color: var(--lc-primary);
}

.lc-widget-progress-bar {
    height: 6px;
    background: var(--lc-light-gray);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 4px;
}

.lc-widget-progress-fill {
    height: 100%;
    background: var(--lc-primary);
    border-radius: 3px;
    transition: width 0.3s;
}

.lc-widget-progress-text {
    font-size: 11px;
    color: var(--lc-gray);
}

/* Widget: Categories */
.lc-widget-categories-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lc-widget-categories-list li {
    padding: 6px 0;
    border-bottom: 1px solid var(--lc-border);
}

.lc-widget-categories-list li:last-child {
    border-bottom: none;
}

.lc-widget-categories-list a {
    display: flex;
    justify-content: space-between;
    color: var(--lc-dark);
    text-decoration: none;
    font-size: 13px;
}

.lc-widget-categories-list a:hover {
    color: var(--lc-primary);
}

.lc-widget-cat-count {
    color: var(--lc-gray);
    font-size: 12px;
}

/* Widget: Button */
.lc-widget-btn {
    display: block;
    text-align: center;
    padding: 10px 15px;
    background: var(--lc-primary);
    color: #fff;
    text-decoration: none;
    border-radius: var(--lc-radius);
    font-size: 13px;
    font-weight: 500;
    transition: background 0.2s;
}

.lc-widget-btn:link,
.lc-widget-btn:visited,
.lc-widget-btn:active,
.lc-widget-btn:focus {
    color: #fff;
}

.lc-widget-btn:hover {
    background: var(--lc-primary-hover);
    color: #fff;
}

.lc-instructor-photo-large img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border-radius: var(--lc-radius);
}

.lc-instructor-header-info {
    flex: 1;
}

.lc-instructor-title {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--lc-dark);
}

.lc-instructor-specialties-large {
    font-size: 16px;
    color: var(--lc-gray);
    margin: 0 0 20px;
}

.lc-instructor-stats-large {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.lc-stat-box {
    background: var(--lc-light-gray);
    padding: 15px 25px;
    border-radius: var(--lc-radius);
    text-align: center;
}

.lc-stat-box .lc-stat-number {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--lc-primary);
    line-height: 1;
}

.lc-stat-box .lc-stat-label {
    font-size: 12px;
    color: var(--lc-gray);
    text-transform: uppercase;
    margin-top: 5px;
}

.lc-instructor-social {
    display: flex;
    gap: 10px;
}

.lc-social-link {
    display: inline-block;
    padding: 8px 16px;
    border-radius: var(--lc-radius);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.lc-social-link.lc-linkedin {
    background: #0077b5;
    color: #fff;
}

.lc-social-link.lc-linkedin:hover {
    background: #005885;
}

.lc-social-link.lc-twitter {
    background: #1da1f2;
    color: #fff;
}

.lc-social-link.lc-twitter:hover {
    background: #0c85d0;
}

.lc-social-link.lc-website {
    background: var(--lc-primary);
    color: #fff;
}

.lc-social-link.lc-website:hover {
    background: var(--lc-primary-hover);
}


.lc-instructor-courses-section {
    margin-bottom: 40px;
}

.lc-instructor-courses-section h2 {
    font-size: 24px;
    margin: 0 0 10px;
    color: var(--lc-dark);
}

.lc-section-description {
    color: var(--lc-gray);
    margin: 0 0 25px;
}

/* Instructor Profile Responsive */
@media (max-width: 768px) {
    .lc-instructor-header {
        flex-direction: column;
        text-align: center;
        padding: 25px;
    }

    .lc-instructor-photo-large img {
        width: 150px;
        height: 150px;
        margin: 0 auto;
    }

    .lc-instructor-title {
        font-size: 26px;
    }

    .lc-instructor-stats-large {
        justify-content: center;
    }

    .lc-instructor-social {
        justify-content: center;
        flex-wrap: wrap;
    }

    .lc-instructors-page .lc-instructors-grid.lc-columns-3,
    .lc-instructors-page .lc-instructors-grid.lc-columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .lc-instructor-photo-large img {
        width: 120px;
        height: 120px;
    }

    .lc-stat-box {
        padding: 12px 18px;
    }

    .lc-stat-box .lc-stat-number {
        font-size: 22px;
    }

    .lc-instructors-page .lc-instructors-grid.lc-columns-3,
    .lc-instructors-page .lc-instructors-grid.lc-columns-4 {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   INSTRUCTOR DASHBOARD STYLES
   ===================================================== */

.lc-instructor-dashboard {
    max-width: 1100px;
    margin: 0 auto;
}

/* Dashboard Header */
.lc-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 15px;
}

.lc-dashboard-header h1 {
    font-size: 28px;
    font-weight: 700;
    margin: 0;
    color: var(--lc-dark);
}

.lc-subtitle {
    font-size: 14px;
    color: var(--lc-gray);
    margin: 5px 0 0;
}

/* Empty State */
.lc-empty-state {
    text-align: center;
    padding: 60px 40px;
    background: #fff;
    border-radius: var(--lc-radius);
    box-shadow: var(--lc-shadow);
}

.lc-empty-icon {
    color: var(--lc-border);
    margin-bottom: 20px;
}

.lc-empty-state h3 {
    font-size: 20px;
    margin: 0 0 10px;
    color: var(--lc-dark);
}

.lc-empty-state p {
    color: var(--lc-gray);
    margin: 0 0 25px;
}

/* Courses Table */
.lc-courses-table-wrapper {
    background: #fff;
    border-radius: var(--lc-radius);
    box-shadow: var(--lc-shadow);
    overflow-x: auto;
}

.lc-courses-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.lc-courses-table th,
.lc-courses-table td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid var(--lc-border);
    vertical-align: middle;
    font-size: 15px;
}

.lc-courses-table th {
    background: var(--lc-light-gray);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--lc-gray);
    white-space: nowrap;
}

/* Column widths */
.lc-courses-table th:first-child,
.lc-courses-table td:first-child {
    width: auto;
    min-width: 180px;
}

.lc-courses-table th:nth-child(2),
.lc-courses-table td:nth-child(2) {
    width: 110px;
    white-space: nowrap;
}

.lc-courses-table th:nth-child(3),
.lc-courses-table td:nth-child(3),
.lc-courses-table th:nth-child(4),
.lc-courses-table td:nth-child(4) {
    width: 80px;
    text-align: center;
}

.lc-courses-table th:nth-child(5),
.lc-courses-table td:nth-child(5) {
    width: 90px;
    text-align: right;
}

.lc-courses-table th:last-child,
.lc-courses-table td:last-child {
    width: 140px;
    min-width: 140px;
    text-align: center;
}

.lc-courses-table tbody tr:hover {
    background: #fafafa;
}

.lc-courses-table tbody tr:last-child td {
    border-bottom: none;
}

.lc-course-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lc-course-thumb-small {
    flex-shrink: 0;
}

.lc-course-thumb-small img {
    width: 60px;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
}

.lc-course-info {
    min-width: 0;
    flex: 1;
}

.lc-course-info strong {
    display: block;
    color: var(--lc-dark);
    margin-bottom: 4px;
    line-height: 1.4;
    font-size: 16px;
}

.lc-course-date {
    font-size: 13px;
    color: var(--lc-gray);
}

/* Status Badges */
.lc-status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.lc-status-publish {
    background: #d4edda;
    color: #155724;
}

.lc-status-draft {
    background: #fff3cd;
    color: #856404;
}

.lc-status-pending {
    background: #cce5ff;
    color: #004085;
}

.lc-free-badge {
    color: var(--lc-success);
    font-weight: 500;
}

/* Action Links/Buttons */
.lc-courses-table td.lc-actions-cell {
    text-align: center;
    vertical-align: middle !important;
    white-space: nowrap;
    line-height: 1;
}

.lc-courses-table tbody td {
    vertical-align: middle !important;
}

.lc-courses-table tbody tr {
    vertical-align: middle;
}

.lc-courses-table .lc-course-cell {
    align-items: center;
}

/* Force vertical centering for action buttons */
.lc-courses-table td.lc-actions-cell a {
    vertical-align: middle !important;
}

.lc-action-link,
.lc-action-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 50% !important;
    background: #e0e0e0 !important;
    color: #555 !important;
    text-decoration: none !important;
    border: 1px solid #ccc !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    margin: 0 2px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.lc-action-link svg,
.lc-action-btn svg {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    fill: #555 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none;
}

.lc-action-link:hover svg,
.lc-action-btn:hover svg {
    fill: #fff !important;
}

.lc-action-link:hover,
.lc-action-btn:hover {
    background: var(--lc-primary) !important;
    color: #fff !important;
    border-color: var(--lc-primary) !important;
}

.lc-action-btn.lc-delete-lesson:hover {
    background: var(--lc-danger) !important;
    border-color: var(--lc-danger) !important;
}

/* Dashboard Form */
.lc-dashboard-form {
    background: #e3dfc6;
    border-radius: var(--lc-radius);
    box-shadow: var(--lc-shadow);
    padding: 30px;
}

.lc-form-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
}

.lc-form-main,
.lc-form-sidebar {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.lc-form-section {
    background: #fff;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    padding: 25px;
}

.lc-form-section h3 {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--lc-border);
    color: var(--lc-dark);
}

.lc-form-group {
    margin-bottom: 20px;
}

.lc-form-group:last-child {
    margin-bottom: 0;
}

.lc-form-group label {
    display: block;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--lc-dark);
    font-size: 14px;
}

.lc-form-group label .required {
    color: var(--lc-danger);
}

.lc-form-group input[type="text"],
.lc-form-group input[type="number"],
.lc-form-group input[type="url"],
.lc-form-group input[type="date"],
.lc-form-group input[type="datetime-local"],
.lc-form-group textarea,
.lc-form-group select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    font-size: 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.lc-form-group input:focus,
.lc-form-group textarea:focus,
.lc-form-group select:focus {
    border-color: var(--lc-primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(20, 41, 64, 0.1);
}

.lc-form-hint {
    font-size: 12px;
    color: var(--lc-gray);
    margin: 8px 0 0;
}

.lc-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.lc-form-row:last-child {
    margin-bottom: 0;
}

.lc-form-half {
    margin-bottom: 0;
}

.lc-checkbox-label {
    display: flex !important;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 400 !important;
}

.lc-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
}

/* Checkbox group (inline) */
.lc-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 8px;
}

.lc-checkbox-group .lc-checkbox-label {
    margin: 0;
}

/* Image Upload */
.lc-image-upload {
    text-align: center;
}

.lc-image-preview {
    margin-bottom: 15px;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lc-light-gray);
    border-radius: var(--lc-radius);
    overflow: hidden;
}

.lc-image-preview img {
    max-width: 100%;
    height: auto;
    display: block;
}

.lc-upload-placeholder {
    padding: 30px;
    color: var(--lc-gray);
}

.lc-upload-placeholder svg {
    opacity: 0.3;
    margin-bottom: 10px;
}

.lc-upload-placeholder span {
    display: block;
    font-size: 13px;
}

.lc-upload-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
}

/* Image Upload Small (for modals) */
.lc-image-upload-small {
    display: flex;
    align-items: center;
    gap: 15px;
}

.lc-image-preview-small {
    width: 120px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lc-light-gray);
    border-radius: var(--lc-radius);
    overflow: hidden;
    flex-shrink: 0;
}

.lc-image-preview-small img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lc-upload-placeholder-small {
    padding: 10px;
    color: var(--lc-gray);
    text-align: center;
    font-size: 12px;
}

.lc-upload-actions-small {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* Form Actions */
.lc-form-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lc-button-block {
    display: block;
    width: 100%;
    text-align: center;
}

.lc-button-text {
    background: transparent;
    color: var(--lc-gray);
    padding: 10px;
}

.lc-button-text:link,
.lc-button-text:visited,
.lc-button-text:active,
.lc-button-text:focus {
    color: var(--lc-gray);
}

.lc-button-text:hover {
    color: var(--lc-dark);
    background: var(--lc-light-gray);
}

.lc-button svg {
    vertical-align: middle;
    margin-right: 5px;
}

/* Dashboard Actions */
.lc-dashboard-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Profile Preview */
.lc-profile-preview {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: var(--lc-light-gray);
    border-radius: var(--lc-radius);
}

.lc-profile-preview-photo {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
}

.lc-profile-preview-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.lc-profile-preview-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lc-profile-preview-info strong {
    font-size: 14px;
    color: var(--lc-dark);
}

.lc-profile-preview-specialties {
    font-size: 12px;
    color: var(--lc-gray);
}

/* Social Links Management */
.lc-instructor-dashboard .lc-saved-socials {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.lc-instructor-dashboard .lc-saved-socials:empty {
    display: none !important;
}

.lc-instructor-dashboard .lc-saved-socials:empty + .lc-add-social {
    border-top: none;
    padding-top: 0;
}

.lc-instructor-dashboard .lc-social-item {
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 10px 15px;
    background: var(--lc-light-gray);
    border-radius: var(--lc-radius);
    transition: background 0.2s;
    flex-wrap: nowrap;
}

.lc-instructor-dashboard .lc-social-item:hover {
    background: #e8e8e8;
}

.lc-instructor-dashboard .lc-social-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: transform 0.2s, box-shadow 0.2s;
    text-decoration: none;
}

.lc-instructor-dashboard .lc-social-button:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.lc-instructor-dashboard .lc-social-button img {
    width: 24px;
    height: 24px;
    max-width: 24px;
    object-fit: contain;
    display: block;
}

.lc-instructor-dashboard .lc-social-item-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.lc-instructor-dashboard .lc-social-item-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-dark);
}

.lc-instructor-dashboard .lc-social-item-username {
    font-size: 12px;
    color: var(--lc-gray);
    word-break: break-all;
}

.lc-instructor-dashboard button.lc-social-remove {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    padding: 0;
    margin: 0;
    background: transparent !important;
    border: none !important;
    border-radius: 50%;
    color: var(--lc-gray);
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    box-shadow: none !important;
}

.lc-instructor-dashboard button.lc-social-remove:hover {
    background: #dc3545 !important;
    color: #fff;
}

.lc-instructor-dashboard button.lc-social-remove svg {
    width: 16px;
    height: 16px;
}

/* Add Social Form */
.lc-instructor-dashboard .lc-add-social {
    padding-top: 15px;
    border-top: 1px solid var(--lc-border);
}

.lc-instructor-dashboard .lc-add-social-prompt {
    font-size: 14px;
    color: var(--lc-dark);
    margin: 0 0 15px;
    font-weight: 500;
}

.lc-instructor-dashboard .lc-social-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    font-size: 14px;
    background: #fff;
}

.lc-instructor-dashboard .lc-social-input-row {
    display: flex !important;
    align-items: stretch;
    gap: 0;
    margin-top: 15px;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    overflow: hidden;
    background: #fff;
}

.lc-instructor-dashboard .lc-social-base-url {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    background: var(--lc-light-gray);
    border-right: 1px solid var(--lc-border);
    font-size: 13px;
    color: var(--lc-gray);
    white-space: nowrap;
}

.lc-instructor-dashboard .lc-social-username-input {
    flex: 1;
    display: flex;
}

.lc-instructor-dashboard .lc-social-username-input input {
    width: 100%;
    border: none !important;
    padding: 10px 12px;
    font-size: 14px;
    outline: none;
    box-shadow: none !important;
}

.lc-instructor-dashboard .lc-social-input-row .lc-button {
    border-radius: 0;
    white-space: nowrap;
}

/* Responsive Social Links */
@media (max-width: 600px) {
    .lc-instructor-dashboard .lc-social-input-row {
        flex-direction: column;
    }

    .lc-instructor-dashboard .lc-social-base-url {
        border-right: none;
        border-bottom: 1px solid var(--lc-border);
    }

    .lc-instructor-dashboard .lc-social-input-row .lc-button {
        width: 100%;
    }

    .lc-instructor-dashboard .lc-social-item {
        width: 100%;
    }
}

/* Lessons Manager */
.lc-lessons-manager {
    background: #fff;
    border-radius: var(--lc-radius);
    box-shadow: var(--lc-shadow);
    padding: 25px;
}

.lc-lessons-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lc-lesson-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: var(--lc-light-gray);
    border-radius: var(--lc-radius);
    transition: background 0.2s;
}

.lc-lesson-item:hover {
    background: #e8e8e8;
}

.lc-lesson-drag-handle {
    cursor: grab;
    color: var(--lc-gray);
    opacity: 0.5;
    transition: opacity 0.2s;
}

.lc-lesson-item:hover .lc-lesson-drag-handle {
    opacity: 1;
}

.lc-lesson-order {
    width: 30px;
    height: 30px;
    background: var(--lc-primary);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 13px;
    flex-shrink: 0;
}

.lc-lesson-info {
    flex: 1;
    min-width: 0;
}

.lc-lesson-title {
    display: block;
    font-size: 15px;
    color: var(--lc-dark);
    margin-bottom: 5px;
}

.lc-lesson-meta {
    display: flex;
    gap: 15px;
    font-size: 12px;
    color: var(--lc-gray);
}

.lc-lesson-type-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.lc-lesson-type-badge.lc-type-live {
    background: #dc3545;
    color: #fff;
}

.lc-lesson-type-badge.lc-type-recorded {
    background: var(--lc-secondary);
    color: #fff;
}

.lc-lesson-actions {
    display: flex;
    gap: 8px;
}

/* Modal */
.lc-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.lc-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
}

.lc-modal-content {
    position: relative;
    background: #fff;
    border-radius: var(--lc-radius);
    width: 100%;
    max-width: 550px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

/* Form inside modal needs flex layout too */
.lc-modal-content form {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.lc-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    border-bottom: 1px solid var(--lc-border);
    flex-shrink: 0;
}

.lc-modal-header h2 {
    font-size: 20px;
    margin: 0;
    color: var(--lc-dark);
}

.lc-modal-close {
    background: none;
    border: none;
    font-size: 28px;
    color: var(--lc-gray);
    cursor: pointer;
    line-height: 1;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s;
}

.lc-modal-close:hover {
    background: var(--lc-light-gray);
    color: var(--lc-dark);
}

.lc-modal-body {
    padding: 25px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.lc-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 20px 25px;
    border-top: 1px solid var(--lc-border);
    background: var(--lc-light-gray);
    flex-shrink: 0;
}

.lc-modal-cancel {
    background: transparent;
    color: var(--lc-gray);
}

.lc-modal-cancel:hover {
    color: var(--lc-dark);
}

/* Back Link */
.lc-back-link {
    margin-top: 30px;
}

/* Notice Styles */
.lc-notice {
    padding: 15px 20px;
    border-radius: var(--lc-radius);
    margin-bottom: 20px;
}

.lc-notice-warning {
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffc107;
}

.lc-notice-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.lc-notice-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.lc-notice a {
    color: inherit;
    font-weight: 600;
}

/* Responsive Dashboard */
@media (max-width: 992px) {
    .lc-form-grid {
        grid-template-columns: 1fr;
    }

    .lc-form-sidebar {
        order: -1;
    }
}

@media (max-width: 768px) {
    .lc-dashboard-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .lc-courses-table-wrapper {
        overflow-x: auto;
    }

    .lc-courses-table {
        min-width: 650px;
    }

    .lc-courses-table th,
    .lc-courses-table td {
        padding: 10px 12px;
    }

    .lc-course-thumb-small {
        display: none;
    }

    .lc-action-link,
    .lc-action-btn {
        width: 30px;
        height: 30px;
    }

    .lc-form-row {
        grid-template-columns: 1fr;
    }

    .lc-lesson-item {
        flex-wrap: wrap;
    }

    .lc-lesson-actions {
        width: 100%;
        justify-content: flex-end;
        margin-top: 10px;
    }
}

@media (max-width: 480px) {
    .lc-courses-table-wrapper {
        overflow-x: auto;
    }

    .lc-courses-table {
        min-width: 600px;
    }

    .lc-modal-content {
        max-height: 95vh;
    }

    .lc-modal-body {
        padding: 20px;
    }
}

/* =====================================================
   LESSON CARDS V2 - Screenshot Style
   ===================================================== */

.lc-course-lessons h2 {
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 30px;
    color: var(--lc-dark);
}

.lc-lessons-grid {
    display: grid;
    gap: 25px;
}

.lc-lessons-grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

/* Lesson Card V2 */
.lc-lesson-card-v2 {
    background: #fff;
    border-radius: var(--lc-radius);
    overflow: hidden;
    box-shadow: var(--lc-shadow);
    display: flex;
    flex-direction: column;
}

/* Card Header with Background Image */
.lc-lesson-card-v2-header {
    position: relative;
    min-height: 180px;
    background-size: cover;
    background-position: center;
    background-color: #333;
    display: flex;
    align-items: flex-end;
}

.lc-lesson-card-v2-overlay {
    width: 100%;
    padding: 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 60%, transparent 100%);
    color: #fff;
}

.lc-lesson-number-label {
    display: block;
    font-size: 14px;
    font-style: italic;
    margin-bottom: 8px;
    opacity: 0.9;
}

.lc-lesson-card-v2-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
    color: #fff;
}

/* Card Body */
.lc-lesson-card-v2-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.lc-lesson-date-label {
    font-size: 13px;
    color: var(--lc-gray);
    margin: 0 0 15px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    font-style: italic;
}

.lc-lesson-date-label strong {
    color: var(--lc-dark);
}

/* Future lesson date - red color */
.lc-lesson-date-label.lc-lesson-date-future {
    color: var(--lc-danger);
}

/* Lesson Sections (Objectives, Topics) */
.lc-lesson-section {
    margin-bottom: 20px;
}

.lc-lesson-section:last-child {
    margin-bottom: 0;
}

.lc-lesson-section-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--lc-dark);
    margin: 0 0 10px;
}

.lc-lesson-list {
    list-style: disc;
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.6;
    color: #444;
}

.lc-lesson-list li {
    margin-bottom: 6px;
}

.lc-lesson-list li:last-child {
    margin-bottom: 0;
}

/* Responsive Lesson Cards */
@media (max-width: 992px) {
    .lc-lessons-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .lc-lessons-grid-3 {
        grid-template-columns: 1fr;
    }

    .lc-lesson-card-v2-header {
        min-height: 150px;
    }

    .lc-lesson-card-v2-title {
        font-size: 18px;
    }

    .lc-course-lessons h2 {
        font-size: 22px;
    }
}

/* =====================================================
   DATE/TIME FIELDS - Lesson Modal
   ===================================================== */

.lc-datetime-fields {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.lc-date-field {
    flex: 1;
    min-width: 140px;
}

.lc-date-field input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    font-size: 14px;
}

.lc-time-fields {
    display: flex;
    align-items: center;
    gap: 5px;
}

.lc-time-field {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.lc-time-field input {
    width: 60px;
    padding: 10px 8px;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    font-size: 14px;
    text-align: center;
}

.lc-time-field input::-webkit-outer-spin-button,
.lc-time-field input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.lc-time-field input[type=number] {
    -moz-appearance: textfield;
}

.lc-time-label {
    font-size: 11px;
    color: var(--lc-gray);
    text-transform: uppercase;
}

.lc-time-separator {
    font-size: 20px;
    font-weight: 600;
    color: var(--lc-gray);
    padding-bottom: 20px;
}

@media (max-width: 480px) {
    .lc-datetime-fields {
        flex-direction: column;
    }

    .lc-date-field {
        width: 100%;
    }

    .lc-time-fields {
        width: 100%;
        justify-content: center;
    }
}

/* ===========================================
   STUDENT DASHBOARD
   =========================================== */

.lc-student-dashboard .lc-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--lc-border);
    flex-wrap: wrap;
    gap: 15px;
}

.lc-student-dashboard .lc-dashboard-header h1 {
    margin: 0;
    font-size: 28px;
    color: var(--lc-dark);
}

/* ===========================================
   STUDENT PUBLIC PROFILE
   =========================================== */

.lc-student-profile {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.lc-student-profile.lc-not-found {
    text-align: center;
    padding: 60px 20px;
}

.lc-student-header {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    margin-bottom: 40px;
}

.lc-student-left-col {
    text-align: center;
}

.lc-student-photo-large {
    width: 200px;
    height: 200px;
    margin: 0 auto 20px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.lc-student-photo-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lc-student-title {
    font-size: 28px;
    margin: 0 0 15px;
    color: var(--lc-dark);
}

.lc-student-stats-large {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 20px 0;
}

.lc-student-stats-large .lc-stat-box {
    text-align: center;
    padding: 15px 25px;
    background: var(--lc-light);
    border-radius: 8px;
}

.lc-student-stats-large .lc-stat-number {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--lc-primary);
}

.lc-student-stats-large .lc-stat-label {
    font-size: 13px;
    color: var(--lc-gray);
    text-transform: uppercase;
}

.lc-student-social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 15px;
}

.lc-student-right-col {
    padding: 20px 0;
}

.lc-student-right-col .lc-biography-title {
    font-size: 22px;
    margin: 0 0 20px;
    color: var(--lc-dark);
}

.lc-no-public-info {
    color: var(--lc-gray);
    font-style: italic;
}

@media (max-width: 768px) {
    .lc-student-header {
        grid-template-columns: 1fr;
    }

    .lc-student-left-col {
        padding-bottom: 30px;
        border-bottom: 1px solid var(--lc-border);
    }

    .lc-student-right-col {
        padding-top: 30px;
    }
}

/* ===========================================
   VISIBILITY OPTIONS (Profile Form)
   =========================================== */

.lc-visibility-option {
    padding: 12px 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.lc-visibility-option .lc-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: var(--lc-dark);
}

.lc-visibility-option .lc-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.lc-visibility-option .lc-checkbox-label span {
    flex: 1;
}

/* Student profile form specific styles */
#lc-student-profile-form .lc-form-section {
    margin-bottom: 30px;
}

#lc-student-profile-form .lc-form-section h3 {
    margin: 0 0 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--lc-primary);
    font-size: 18px;
}

/* Hide sidebar on student profile pages */
body:has(.lc-student-profile) .widget-area,
body:has(.lc-student-profile) #secondary,
body:has(.lc-student-profile) aside.sidebar,
body:has(.lc-student-profile) .sidebar {
    display: none !important;
}

body:has(.lc-student-profile) #primary,
body:has(.lc-student-profile) .content-area,
body:has(.lc-student-profile) .site-main {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
}

/* =====================================================
   BONUS MATERIALS SECTION
   ===================================================== */

.lc-bonus-materials-section {
    margin-top: 60px;
    padding-top: 0;
}

.lc-bonus-materials-section .lc-section-header-inline h2,
.lc-useful-links-section .lc-section-header-inline h2,
.lc-coupons-section .lc-section-header-inline h2 {
    font-size: 28px;
    font-weight: 700;
}

.lc-bonus-materials-list {
    margin-bottom: 30px;
}

.lc-bonus-materials-list .lc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.lc-bonus-materials-list .lc-table th,
.lc-bonus-materials-list .lc-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid var(--lc-border);
}

.lc-bonus-materials-list .lc-table th {
    background: var(--lc-light-gray);
    font-weight: 600;
    color: var(--lc-dark);
}

.lc-bonus-materials-list .lc-table td:last-child {
    text-align: right;
    width: 80px;
}

.lc-material-title {
    font-weight: 500;
    color: var(--lc-dark);
}

.lc-material-description {
    color: var(--lc-muted);
    font-size: 13px;
}

.lc-material-file {
    font-size: 13px;
}

.lc-file-name {
    font-family: monospace;
    color: var(--lc-dark);
}

.lc-file-size {
    color: var(--lc-muted);
    font-size: 12px;
}

.lc-material-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.lc-edit-bonus-material,
.lc-update-bonus-material {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lc-edit-bonus-material:hover,
.lc-update-bonus-material:hover {
    background: var(--lc-light-gray);
}

/* Highlight row being edited */
.lc-bonus-materials-list tr.lc-editing {
    background: var(--lc-primary-light, #fff3e0);
}

.lc-bonus-materials-list tr.lc-editing td {
    border-color: var(--lc-primary);
}

/* Add Bonus Material Form */
.lc-add-bonus-material-form {
    background: var(--lc-light-gray);
    padding: 25px;
    border-radius: 8px;
}

.lc-add-bonus-material-form h3 {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 600;
    color: var(--lc-dark);
}

.lc-bonus-material-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
}

.lc-bonus-material-fields .lc-form-group {
    flex: 1;
    min-width: 150px;
    margin-bottom: 0;
}

.lc-bonus-material-fields .lc-form-group-wide {
    flex: 2;
    min-width: 200px;
}

.lc-bonus-material-fields .lc-form-group-button {
    flex: 0 0 auto;
    display: flex;
    gap: 10px;
}

.lc-bonus-material-fields input[type="text"],
.lc-bonus-material-fields input[type="file"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--lc-border);
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
}

.lc-bonus-material-fields input[type="file"] {
    padding: 8px;
}

.lc-add-bonus-material-form .lc-form-hint {
    margin: 15px 0 0;
    font-size: 12px;
    color: var(--lc-muted);
}

#save-bonus-material {
    display: flex;
    align-items: center;
    gap: 8px;
}

#save-bonus-material svg {
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .lc-bonus-material-fields {
        flex-direction: column;
    }

    .lc-bonus-material-fields .lc-form-group,
    .lc-bonus-material-fields .lc-form-group-wide {
        flex: 1 1 100%;
        min-width: 100%;
    }
}

/* =====================================================
   USEFUL LINKS SECTION
   ===================================================== */

.lc-useful-links-section {
    margin-top: 60px;
    padding-top: 0;
}

.lc-useful-links-list {
    margin-bottom: 30px;
}

.lc-link-category-group {
    margin-bottom: 25px;
}

.lc-link-category-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--lc-primary);
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--lc-primary);
    display: inline-block;
}

.lc-useful-links-list .lc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.lc-useful-links-list .lc-table th,
.lc-useful-links-list .lc-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid var(--lc-border);
}

.lc-useful-links-list .lc-table th {
    background: var(--lc-light-gray);
    font-weight: 600;
    color: var(--lc-dark);
}

.lc-useful-links-list .lc-table td:last-child {
    text-align: right;
    width: 80px;
}

.lc-link-title {
    font-weight: 500;
    color: var(--lc-dark);
}

.lc-link-description {
    color: var(--lc-muted);
    font-size: 13px;
}

.lc-link-url a {
    color: var(--lc-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
}

.lc-link-url a:hover {
    text-decoration: underline;
}

.lc-link-url svg {
    flex-shrink: 0;
    opacity: 0.7;
}

.lc-link-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

/* Add Useful Link Form */
.lc-add-useful-link-form {
    background: var(--lc-light-gray);
    padding: 25px;
    border-radius: 8px;
}

.lc-add-useful-link-form h3 {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 600;
    color: var(--lc-dark);
}

.lc-useful-link-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
}

.lc-useful-link-fields .lc-form-group {
    flex: 1;
    min-width: 120px;
    margin-bottom: 0;
}

.lc-useful-link-fields .lc-form-group-wide {
    flex: 1.2;
    min-width: 150px;
}

.lc-useful-link-fields .lc-form-group-button {
    flex: 0 0 auto;
    display: flex;
    gap: 10px;
}

.lc-useful-link-fields input[type="text"],
.lc-useful-link-fields input[type="url"],
.lc-useful-link-fields select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--lc-border);
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
}

#save-useful-link {
    display: flex;
    align-items: center;
    gap: 8px;
}

#save-useful-link svg {
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .lc-useful-link-fields {
        flex-direction: column;
    }

    .lc-useful-link-fields .lc-form-group,
    .lc-useful-link-fields .lc-form-group-wide {
        flex: 1 1 100%;
        min-width: 100%;
    }
}

/* =====================================================
   COUPON SECTION
   ===================================================== */

.lc-coupons-section {
    margin-top: 60px;
    padding-top: 0;
}

.lc-section-header-inline {
    margin-bottom: 20px;
}

.lc-section-header-inline h2 {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    color: var(--lc-dark);
}

.lc-coupons-list {
    margin-bottom: 30px;
}

.lc-coupons-list .lc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.lc-coupons-list .lc-table th,
.lc-coupons-list .lc-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid var(--lc-border);
}

.lc-coupons-list .lc-table th {
    background: var(--lc-light-gray);
    font-weight: 600;
    color: var(--lc-dark);
}

.lc-coupons-list .lc-table td:last-child {
    text-align: right;
    width: 50px;
}

.lc-coupon-code {
    background: var(--lc-light-gray);
    padding: 4px 8px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-primary);
}

.lc-status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
}

.lc-status-active {
    background: #d4edda;
    color: #155724;
}

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

.lc-status-upcoming {
    background: #fff3cd;
    color: #856404;
}

.lc-add-coupon-form {
    background: var(--lc-light-gray);
    padding: 25px;
    border-radius: var(--lc-radius);
}

.lc-add-coupon-form h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 20px;
    color: var(--lc-dark);
}

.lc-coupon-fields {
    display: grid;
    grid-template-columns: 130px 140px 140px 150px 100px auto;
    gap: 12px;
    align-items: end;
}

.lc-coupon-fields .lc-form-group {
    margin-bottom: 0;
}

.lc-coupon-fields .lc-form-group label {
    font-size: 12px;
    margin-bottom: 4px;
    white-space: nowrap;
}

.lc-coupon-fields input,
.lc-coupon-fields select {
    padding: 8px 10px;
    font-size: 14px;
    height: 38px;
    box-sizing: border-box;
}

.lc-coupon-fields .lc-form-group-button .lc-button {
    white-space: nowrap;
    padding: 8px 15px;
}

@media (max-width: 1024px) {
    .lc-coupon-fields {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .lc-coupon-fields {
        grid-template-columns: 1fr 1fr;
    }

    .lc-coupon-fields .lc-form-group-button {
        grid-column: 1 / -1;
    }
}

.lc-form-row-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.lc-form-quarter {
    width: 25%;
}

.lc-form-actions-inline {
    display: flex;
    align-items: flex-end;
    padding-bottom: 0;
}

#lc-coupon-message {
    margin-top: 15px;
    padding: 10px 15px;
    border-radius: var(--lc-radius);
}

#lc-coupon-message.lc-success {
    background: #d4edda;
    color: #155724;
}

#lc-coupon-message.lc-error {
    background: #f8d7da;
    color: #721c24;
}

/* Coupon in checkout */
.lc-coupon-form {
    margin-top: 20px;
    padding: 15px;
    background: var(--lc-light-gray);
    border-radius: var(--lc-radius);
}

.lc-coupon-form label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
}

.lc-coupon-input-row {
    display: flex;
    gap: 10px;
}

.lc-coupon-input-row input {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    font-size: 14px;
    text-transform: uppercase;
}

.lc-coupon-input-row button {
    white-space: nowrap;
}

.lc-coupon-applied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background: #d4edda;
    border-radius: var(--lc-radius);
    margin-top: 10px;
}

.lc-coupon-applied-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lc-coupon-applied-code {
    font-weight: 600;
    color: #155724;
}

.lc-coupon-applied-discount {
    color: #155724;
}

.lc-coupon-remove {
    background: transparent;
    border: none;
    color: #721c24;
    cursor: pointer;
    font-size: 18px;
    padding: 0 5px;
}

.lc-price-breakdown {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--lc-border);
}

.lc-price-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 14px;
}

.lc-price-row.lc-price-discount {
    color: #155724;
}

.lc-price-row.lc-price-total {
    font-weight: 700;
    font-size: 18px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--lc-border);
}

.lc-coupon-error {
    color: #dc3545;
    font-size: 13px;
    margin-top: 8px;
}

@media (max-width: 768px) {
    .lc-form-row-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .lc-form-quarter {
        width: 100%;
    }

    .lc-coupon-input-row {
        flex-direction: column;
    }
}

/* ===========================================
   ADMIN DASHBOARD - CATEGORY MANAGEMENT
   =========================================== */

.lc-admin-dashboard {
    padding-bottom: 40px;
}

.lc-admin-dashboard .lc-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 30px;
}

.lc-category-stats {
    display: flex;
    gap: 10px;
}

.lc-stat-badge {
    background: #e8e8e8;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    color: #555;
}

.lc-category-manager {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 30px;
    align-items: start;
}

/* Category Form Card */
.lc-add-category-form {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    position: sticky;
    top: 100px;
}

.lc-add-category-form h3 {
    margin: 0 0 20px;
    font-size: 18px;
    color: #1d2327;
}

.lc-add-category-form .lc-form-row {
    margin-bottom: 16px;
}

.lc-add-category-form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 13px;
    color: #1d2327;
}

.lc-add-category-form input[type="text"],
.lc-add-category-form textarea,
.lc-add-category-form select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    transition: border-color 0.2s;
}

.lc-add-category-form input[type="text"]:focus,
.lc-add-category-form textarea:focus,
.lc-add-category-form select:focus {
    border-color: #007cba;
    outline: none;
}

.lc-radio-group {
    display: flex;
    gap: 20px;
}

.lc-radio-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: normal !important;
    cursor: pointer;
}

.lc-radio-label input[type="radio"] {
    width: auto;
    margin: 0;
}

.lc-add-category-form .lc-form-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

/* Category Tree */
.lc-category-tree {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.lc-parent-category {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
}

.lc-parent-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: #f8f9fa;
    border-bottom: 1px solid #eee;
}

.lc-parent-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lc-category-toggle {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transition: background 0.2s, transform 0.2s;
}

.lc-category-toggle:hover {
    background: rgba(0,0,0,0.05);
}

.lc-category-toggle svg {
    color: #666;
    transition: transform 0.2s;
}

.lc-parent-category.lc-collapsed .lc-category-toggle svg {
    transform: rotate(-90deg);
}

.lc-parent-category.lc-collapsed .lc-subcategory-list {
    display: none;
}

.lc-parent-name {
    font-size: 16px;
    font-weight: 600;
    color: #1d2327;
    margin: 0;
    cursor: pointer;
}

.lc-parent-header .lc-category-count {
    font-size: 12px;
    color: #888;
    background: #e8e8e8;
    padding: 3px 10px;
    border-radius: 12px;
}

.lc-parent-actions,
.lc-subcategory-actions {
    display: flex;
    gap: 5px;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.lc-parent-header:hover .lc-parent-actions,
.lc-subcategory-item:hover .lc-subcategory-actions {
    opacity: 1;
}

/* Subcategory List */
.lc-subcategory-list {
    padding: 10px 15px;
    min-height: 50px;
    transition: background 0.2s;
}

.lc-subcategory-list.lc-drag-active {
    background: #f0f7ff;
}

.lc-subcategory-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    margin: 5px 0;
    background: #f8f9fa;
    border-radius: 8px;
    transition: background 0.2s, box-shadow 0.2s;
}

.lc-subcategory-item:hover {
    background: #f0f0f0;
}

.lc-subcategory-item.ui-sortable-helper {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    background: #fff;
}

.lc-category-drag-handle {
    cursor: grab;
    color: #aaa;
    padding: 4px;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.lc-category-drag-handle:hover {
    color: #666;
}

.lc-category-drag-handle:active {
    cursor: grabbing;
}

.lc-subcategory-name {
    flex: 1;
    font-size: 14px;
    color: #1d2327;
}

.lc-subcategory-item .lc-category-count {
    font-size: 12px;
    color: #888;
}

.lc-subcategory-actions {
    margin-left: auto;
}

.lc-subcategory-empty {
    padding: 20px;
    text-align: center;
    color: #888;
    font-size: 13px;
    font-style: italic;
    border: 2px dashed #ddd;
    border-radius: 8px;
    margin: 10px 0;
}

.lc-subcategory-empty.hidden {
    display: none;
}

/* Drag placeholder */
.lc-category-placeholder {
    background: #e3f2fd;
    border: 2px dashed #2196f3;
    border-radius: 8px;
    margin: 5px 0;
}

/* Message */
#lc-category-message {
    padding: 12px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 14px;
}

#lc-category-message.lc-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

#lc-category-message.lc-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* Responsive */
@media (max-width: 1024px) {
    .lc-category-manager {
        grid-template-columns: 1fr;
    }

    .lc-add-category-form {
        position: static;
        order: -1;
    }
}

@media (max-width: 600px) {
    .lc-admin-dashboard .lc-dashboard-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .lc-parent-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .lc-parent-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .lc-radio-group {
        flex-direction: column;
        gap: 10px;
    }

    .lc-subcategory-item {
        flex-wrap: wrap;
    }

    .lc-subcategory-actions {
        width: 100%;
        justify-content: flex-end;
        margin-top: 5px;
    }
}
