/**
 * Spanish Courses Integration Styles
 * Dopasowane do motywu Weblo - kursy hiszpańskiego
 * Version: 1.1.0
 */

/* ==========================================================================
   CSS Variables (zgodne z motywem Weblo)
   ========================================================================== */
:root {
    --lpwoo-primary: #4e3931;
    --lpwoo-primary-dark: #2f221e;
    --lpwoo-primary-light: #6d4f45;
    --lpwoo-accent: #8d6659;
    --lpwoo-bg: #f5f1ef;
    --lpwoo-bg-light: #fff;
    --lpwoo-border: #e1d4d0;
    --lpwoo-border-dark: #ceb8b1;
    --lpwoo-text: #6d4f45;
    --lpwoo-text-dark: #2f221e;
    --lpwoo-text-muted: #929198;
    --lpwoo-success: #28a745;
    --lpwoo-warning: #ffbf00;
    --lpwoo-font-heading: "the-seasons", serif;
    --lpwoo-font-body: "Montserrat", sans-serif;
    --lpwoo-radius: 0.25rem;
    --lpwoo-radius-lg: 0.5rem;
    --lpwoo-shadow: 0 4px 20px rgba(47, 34, 30, 0.08);
    --lpwoo-shadow-hover: 0 8px 30px rgba(47, 34, 30, 0.12);
    --lpwoo-transition: all 0.3s ease;
}

/* ==========================================================================
   WooCommerce My Account - Full Width Container Layout
   ========================================================================== */

/* Override Bootstrap grid for My Account - remove offset and make full width */
.woocommerce-account .section_content_text .col-lg-8 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

.woocommerce-account .section_content_text .offset-lg-2 {
    margin-left: 0 !important;
}

/* Reset any restrictions */
.woocommerce-account .page_flex,
.woocommerce-account .section_content_text,
.woocommerce-account .entry-content,
.woocommerce-account .site-content,
.woocommerce-account .site-main,
.woocommerce-account main {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Main My Account container */
.woocommerce-account .woocommerce {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
    padding: 3rem 1rem;
}

@media (min-width: 1660px) {
    .woocommerce-account .woocommerce {
        padding: 3rem 0;
    }
}

@media (max-width: 991px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
        gap: 1.5rem;
        padding: 2rem 1rem;
    }
}

/* Overall container */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    font-family: var(--lpwoo-font-body);
}

/* Navigation Menu Styling - Default WooCommerce */
.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 260px;
    min-width: 260px;
    background: var(--lpwoo-bg-light);
    border-radius: var(--lpwoo-radius-lg);
    border: 1px solid var(--lpwoo-border);
    padding: 0.5rem;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        flex: none;
        width: 100%;
        min-width: unset;
    }
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li::before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li::marker {
    display: none !important;
    content: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--lpwoo-text);
    text-decoration: none;
    border-radius: var(--lpwoo-radius);
    transition: var(--lpwoo-transition);
    position: relative;
}

/* Icons for menu items */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    content: '';
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.7;
}

/* Dashboard icon */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236d4f45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
}

/* Moje kursy icon */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--moje-kursy a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236d4f45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
}

/* Orders icon */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236d4f45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}

/* Downloads icon */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236d4f45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}

/* Addresses icon */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236d4f45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

/* Account details icon */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236d4f45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

/* Logout icon */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236d4f45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
}

/* Active state - white icons */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
    filter: brightness(0) invert(1);
    opacity: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--lpwoo-bg);
    color: var(--lpwoo-text-dark);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a.active {
    background: var(--lpwoo-primary);
    color: #fff;
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a.active:hover {
    background: var(--lpwoo-primary-dark);
    color: #fff;
}

/* Theme My Account Menu (menu-my-account-menu) */
.menu-my-account-menu {
    flex: 0 0 260px;
    min-width: 260px;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .menu-my-account-menu {
        flex: none;
        width: 100%;
        min-width: unset;
    }
}

.menu-my-account-menu .menu-my-account,
.menu-my-account-menu ul {
    list-style: none !important;
    margin: 0;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    background: var(--lpwoo-bg-light);
    border-radius: var(--lpwoo-radius-lg);
    border: 1px solid var(--lpwoo-border);
}

.menu-my-account-menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.menu-my-account-menu li::before,
.menu-my-account-menu li::marker {
    display: none !important;
    content: none !important;
}

.menu-my-account-menu li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--lpwoo-text);
    text-decoration: none;
    border-radius: var(--lpwoo-radius);
    transition: var(--lpwoo-transition);
}

.menu-my-account-menu li a:hover {
    background: var(--lpwoo-bg);
    color: var(--lpwoo-text-dark);
}

.menu-my-account-menu li.current-menu-item a,
.menu-my-account-menu li.current_page_item a,
.menu-my-account-menu li a[aria-current="page"] {
    background: var(--lpwoo-primary);
    color: #fff;
    font-weight: 600;
}

.menu-my-account-menu li.current-menu-item a:hover,
.menu-my-account-menu li.current_page_item a:hover,
.menu-my-account-menu li a[aria-current="page"]:hover {
    background: var(--lpwoo-primary-dark);
    color: #fff;
}

/* My Account Content Area */
.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
    background: var(--lpwoo-bg-light);
    border-radius: var(--lpwoo-radius-lg);
    border: 1px solid var(--lpwoo-border);
    padding: 2rem;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 1.5rem;
    }
}

/* My Account Tables */
.woocommerce-account table.shop_table {
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    overflow: hidden;
}

.woocommerce-account table.shop_table th {
    background: var(--lpwoo-bg);
    font-family: var(--lpwoo-font-body);
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

.woocommerce-account table.shop_table td {
    font-family: var(--lpwoo-font-body);
    color: var(--lpwoo-text);
    border-color: var(--lpwoo-border);
}

/* My Account Buttons */
.woocommerce-account .woocommerce-Button,
.woocommerce-account .button,
.woocommerce-account button.button,
.woocommerce-account a.button {
    font-family: var(--lpwoo-font-body);
    font-weight: 600;
    border-radius: var(--lpwoo-radius);
    transition: var(--lpwoo-transition);
    background: var(--lpwoo-primary);
    color: #fff;
    padding: 0.75rem 1.25rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
}

.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account .button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account a.button:hover {
    background: var(--lpwoo-primary-dark);
    color: #fff;
}

/* Dashboard greeting */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
    font-family: var(--lpwoo-font-body);
    font-size: 1rem;
    color: var(--lpwoo-text);
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child a {
    color: var(--lpwoo-accent);
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child a:hover {
    color: var(--lpwoo-primary);
}

/* No background on content when inside card */
.woocommerce-account .lpwoo-myaccount-courses {
    background: transparent;
    border: none;
    padding: 0;
}

/* Hide default WooCommerce bullets everywhere in My Account */
.woocommerce-account ul:not(.products) li::before,
.woocommerce-account ul:not(.products) li::marker {
    display: none !important;
    content: none !important;
}

.woocommerce-account .menu-my-account-menu ul,
.woocommerce-account .menu-my-account-menu ul li {
    list-style: none !important;
    list-style-type: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Responsive My Account */
@media (max-width: 991px) {
    .menu-my-account-menu .menu-my-account,
    .menu-my-account-menu ul {
        flex-direction: row;
        flex-wrap: wrap;
        padding: 0.75rem;
        gap: 0.5rem;
    }
    
    .menu-my-account-menu li a {
        padding: 0.5rem 0.875rem;
        font-size: 0.8125rem;
        white-space: nowrap;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
        width: 16px;
        height: 16px;
    }
}

/* ==========================================================================
   My Account - All Tabs Styling
   ========================================================================== */

/* Dashboard / Kokpit */
.woocommerce-account .woocommerce-MyAccount-content > p {
    font-family: var(--lpwoo-font-body);
    font-size: 1rem;
    color: var(--lpwoo-text);
    line-height: 1.8;
    margin-bottom: 1rem;
}

/* Dashboard first paragraph - special styling */
.woocommerce-account.woocommerce-account-page-dashboard .woocommerce-MyAccount-content > p:first-of-type,
.woocommerce-account .woocommerce-MyAccount-content--dashboard > p:first-of-type,
body.woocommerce-account:not(.woocommerce-view-order):not(.woocommerce-edit-account):not(.woocommerce-edit-address):not(.woocommerce-downloads):not(.woocommerce-orders) .woocommerce-MyAccount-content > p:first-of-type:not(.myaccount_address) {
    font-size: 1.0625rem;
    padding: 1.5rem;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius-lg);
    margin-bottom: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-content > p strong {
    color: var(--lpwoo-text-dark);
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.btn):not(.edit) {
    color: var(--lpwoo-accent);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.btn):not(.edit):hover {
    color: var(--lpwoo-primary);
    text-decoration: underline;
}

/* Section Titles */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-family: var(--lpwoo-font-heading);
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0 0 1.5rem 0;
}

.woocommerce-account .woocommerce-MyAccount-content h2 {
    font-size: 1.75rem;
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: 1.25rem;
}

/* Orders Table */
.woocommerce-account .woocommerce-orders-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius-lg);
    overflow: hidden;
}

.woocommerce-account .woocommerce-orders-table thead th {
    background: var(--lpwoo-bg);
    padding: 1rem 1.25rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
    border-bottom: 1px solid var(--lpwoo-border);
}

.woocommerce-account .woocommerce-orders-table tbody td {
    padding: 1rem 1.25rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    color: var(--lpwoo-text);
    border-bottom: 1px solid var(--lpwoo-border);
    vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-account .woocommerce-orders-table tbody tr:hover {
    background: var(--lpwoo-bg);
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    font-weight: 600;
    color: var(--lpwoo-text-dark);
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    background: var(--lpwoo-primary);
    color: #fff;
    border: none;
    border-radius: var(--lpwoo-radius);
    margin: 0.25rem;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button:hover {
    background: var(--lpwoo-primary-dark);
}

/* Order Status badges */
.woocommerce-account .woocommerce-orders-table__cell-order-status {
    font-weight: 500;
}

/* Small buttons */
.woocommerce-account .button.woocommerce-button--small,
.woocommerce-account a.button.view {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
}

/* Downloads Table */
.woocommerce-account .woocommerce-table--order-downloads {
    width: 100%;
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius-lg);
    overflow: hidden;
}

.woocommerce-account .woocommerce-table--order-downloads th {
    background: var(--lpwoo-bg);
    padding: 1rem 1.25rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-account .woocommerce-table--order-downloads td {
    padding: 1rem 1.25rem;
    font-family: var(--lpwoo-font-body);
    border-bottom: 1px solid var(--lpwoo-border);
}

.woocommerce-account .woocommerce-table--order-downloads .button {
    background: var(--lpwoo-primary);
    color: #fff;
    padding: 0.625rem 1.25rem;
    border-radius: var(--lpwoo-radius);
    font-size: 0.875rem;
}

/* Downloads - Empty State (no-downloads notice) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:only-child,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info {
    margin-top: 0;
}

/* Addresses */
.woocommerce-account .u-columns {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 1.5rem;
}

.woocommerce-account .u-columns .woocommerce-Address,
.woocommerce-account .u-columns .col-1,
.woocommerce-account .u-columns .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.woocommerce-account .woocommerce-Address {
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius-lg);
    padding: 1.5rem;
}

.woocommerce-account .woocommerce-Address header,
.woocommerce-account .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--lpwoo-border);
}

.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-Address header h3 {
    margin: 0;
    font-size: 1.25rem;
    font-family: var(--lpwoo-font-heading);
}

.woocommerce-account .woocommerce-Address-title a.edit,
.woocommerce-account .woocommerce-Address header a.edit {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--lpwoo-accent);
    padding: 0.5rem 1rem;
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    background: var(--lpwoo-bg-light);
    white-space: nowrap;
    text-decoration: none !important;
}

.woocommerce-account .woocommerce-Address-title a.edit:hover,
.woocommerce-account .woocommerce-Address header a.edit:hover {
    background: var(--lpwoo-primary);
    border-color: var(--lpwoo-primary);
    color: #fff;
}

.woocommerce-account .woocommerce-Address address {
    font-style: normal;
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    color: var(--lpwoo-text);
    line-height: 1.8;
}

.woocommerce-account .woocommerce-Address address p {
    margin: 0;
}

/* Fix float layout issues */
.woocommerce-account .u-columns::after {
    content: '';
    display: table;
    clear: both;
}

/* Addresses header styling */
.woocommerce-account .woocommerce-column__title,
.woocommerce-account .col-1 h2,
.woocommerce-account .col-2 h2 {
    display: none;
}

/* Account Details / Edit Account Form */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account form.woocommerce-EditAccountForm,
.woocommerce-account .edit-account {
    max-width: 600px;
}

.woocommerce-account .woocommerce-EditAccountForm p.woocommerce-form-row,
.woocommerce-account .woocommerce-EditAccountForm .form-row {
    margin-bottom: 0;
}

.woocommerce-account .woocommerce-EditAccountForm label,
.woocommerce-account .edit-account label {
    display: block;
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-account .woocommerce-EditAccountForm label .required,
.woocommerce-account .edit-account label .required {
    color: #c00;
}

.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-EditAccountForm input[type="password"],
.woocommerce-account .woocommerce-EditAccountForm input[type="tel"],
.woocommerce-account .edit-account input[type="text"],
.woocommerce-account .edit-account input[type="email"],
.woocommerce-account .edit-account input[type="password"],
.woocommerce-account .edit-account input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Input,
.woocommerce-account .woocommerce-MyAccount-content .input-text {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.875rem 1rem !important;
    font-family: var(--lpwoo-font-body) !important;
    font-size: 0.9375rem !important;
    color: var(--lpwoo-text-dark) !important;
    background: var(--lpwoo-bg-light) !important;
    border: 1px solid var(--lpwoo-border) !important;
    border-radius: var(--lpwoo-radius) !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 48px !important;
}

.woocommerce-account .woocommerce-EditAccountForm input:focus,
.woocommerce-account .edit-account input:focus,
.woocommerce-account .woocommerce-MyAccount-content input:focus {
    outline: none;
    border-color: var(--lpwoo-primary) !important;
    box-shadow: 0 0 0 3px rgba(78, 57, 49, 0.1) !important;
}

/* Force all form inputs to be visible - specifically targeting WooCommerce input classes */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Input,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Input--text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Input--email,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Input--password,
.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.woocommerce-account .woocommerce-MyAccount-content form textarea,
.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Input,
.woocommerce-account .edit-account .woocommerce-Input,
.woocommerce-account .edit-account input.input-text,
.woocommerce-account #account_first_name,
.woocommerce-account #account_last_name,
.woocommerce-account #account_display_name,
.woocommerce-account #account_email,
.woocommerce-account #password_current,
.woocommerce-account #password_1,
.woocommerce-account #password_2 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 0.875rem 1rem !important;
    background: #fff !important;
    border: 1px solid #e1d4d0 !important;
    border-radius: 0.25rem !important;
    font-size: 0.9375rem !important;
    font-family: "Montserrat", sans-serif !important;
    color: #2f221e !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset,
.woocommerce-account .edit-account fieldset {
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius-lg);
    padding: 1.5rem;
    margin: 2rem 0;
    background: var(--lpwoo-bg);
}

.woocommerce-account .woocommerce-EditAccountForm legend,
.woocommerce-account .edit-account legend {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.25rem;
    color: var(--lpwoo-text-dark);
    padding: 0 0.75rem;
    background: var(--lpwoo-bg-light);
}

.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
.woocommerce-account .edit-account .woocommerce-Button,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: var(--lpwoo-primary);
    color: #fff;
    border: none;
    border-radius: var(--lpwoo-radius);
    cursor: pointer;
    transition: background 0.3s ease;
    margin-top: 1rem;
}

.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button:hover,
.woocommerce-account .edit-account .woocommerce-Button:hover,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover {
    background: var(--lpwoo-primary-dark);
}

/* Form row inline (first name + last name) */
.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-EditAccountForm .form-row-last,
.woocommerce-account .woocommerce-MyAccount-content .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .form-row-last,
.woocommerce-account .woocommerce-address-fields .form-row-first,
.woocommerce-account .woocommerce-address-fields .form-row-last {
    width: 48%;
    display: inline-block;
    vertical-align: top;
    float: left;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .form-row-first,
.woocommerce-account .woocommerce-address-fields .form-row-first {
    margin-right: 4%;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
.woocommerce-account .woocommerce-MyAccount-content .form-row-wide,
.woocommerce-account .woocommerce-address-fields .form-row-wide {
    width: 100%;
    clear: both;
}

@media (max-width: 576px) {
    .woocommerce-account .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-account .woocommerce-EditAccountForm .form-row-last,
    .woocommerce-account .woocommerce-MyAccount-content .form-row-first,
    .woocommerce-account .woocommerce-MyAccount-content .form-row-last,
    .woocommerce-account .woocommerce-address-fields .form-row-first,
    .woocommerce-account .woocommerce-address-fields .form-row-last {
        width: 100%;
        display: block;
        float: none;
        margin-right: 0;
    }
}

/* Small text under display name */
.woocommerce-account .woocommerce-EditAccountForm em,
.woocommerce-account .edit-account em {
    display: block;
    font-size: 0.8125rem;
    color: var(--lpwoo-text-muted);
    margin-top: 0.375rem;
    font-style: italic;
}

/* Ensure form inputs are visible in all cases */
.woocommerce-account .woocommerce-MyAccount-content p.form-row,
.woocommerce-account .woocommerce-MyAccount-content .form-row {
    margin-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content p.form-row label,
.woocommerce-account .woocommerce-MyAccount-content .form-row label {
    display: block;
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Password strength meter */
.woocommerce-account .woocommerce-password-strength {
    font-size: 0.8125rem;
    padding: 0.5rem 0.75rem;
    margin-top: 0.5rem;
    border-radius: var(--lpwoo-radius);
}

.woocommerce-account .woocommerce-password-strength.strong {
    background: #d4edda;
    color: #155724;
}

.woocommerce-account .woocommerce-password-strength.good {
    background: #d1ecf1;
    color: #0c5460;
}

.woocommerce-account .woocommerce-password-strength.weak,
.woocommerce-account .woocommerce-password-strength.short {
    background: #f8d7da;
    color: #721c24;
}

/* Password hint */
.woocommerce-account .woocommerce-password-hint {
    font-size: 0.8125rem;
    color: var(--lpwoo-text-muted);
    margin-top: 0.375rem;
}

/* Edit Address Form */
.woocommerce-account .woocommerce-address-fields {
    max-width: 600px;
}

.woocommerce-account .woocommerce-address-fields .form-row {
    margin-bottom: 1.25rem;
}

.woocommerce-account .woocommerce-address-fields label {
    display: block;
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-account .woocommerce-address-fields input[type="text"],
.woocommerce-account .woocommerce-address-fields input[type="email"],
.woocommerce-account .woocommerce-address-fields input[type="tel"],
.woocommerce-account .woocommerce-address-fields select,
.woocommerce-account .woocommerce-MyAccount-content select {
    width: 100%;
    padding: 0.875rem 1rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    color: var(--lpwoo-text-dark);
    background: var(--lpwoo-bg-light);
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    box-sizing: border-box;
}

.woocommerce-account .woocommerce-address-fields input:focus,
.woocommerce-account .woocommerce-address-fields select:focus {
    outline: none;
    border-color: var(--lpwoo-primary);
    box-shadow: 0 0 0 3px rgba(78, 57, 49, 0.1);
}

.woocommerce-account .woocommerce-address-fields label .required,
.woocommerce-account .woocommerce-MyAccount-content label .required {
    color: #c00;
}

.woocommerce-account .woocommerce-address-fields label abbr {
    text-decoration: none;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single {
    height: auto;
    padding: 0.625rem 1rem;
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
}

/* Addresses - Intro text */
.woocommerce-account .woocommerce-MyAccount-content > p.myaccount_address {
    font-size: 0.9375rem;
    color: var(--lpwoo-text);
    margin-bottom: 0;
    padding: 0;
    background: transparent;
}

/* No Orders/Downloads Message / Notices */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
    background: var(--lpwoo-bg);
    border: none;
    border-left: 4px solid var(--lpwoo-accent);
    padding: 1.25rem 1.5rem;
    border-radius: 0 var(--lpwoo-radius-lg) var(--lpwoo-radius-lg) 0;
    font-family: var(--lpwoo-font-body);
    color: var(--lpwoo-text);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

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

.woocommerce-account .woocommerce-error {
    background: #fef2f2;
    border-left-color: #dc2626;
    color: #991b1b;
}

/* Notice buttons */
.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-error .button {
    background: var(--lpwoo-primary);
    color: #fff !important;
    padding: 0.75rem 1.5rem;
    border-radius: var(--lpwoo-radius);
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: var(--lpwoo-transition);
    white-space: nowrap;
    border: none;
}

.woocommerce-account .woocommerce-message .button:hover,
.woocommerce-account .woocommerce-info .button:hover,
.woocommerce-account .woocommerce-error .button:hover {
    background: var(--lpwoo-primary-dark);
    color: #fff !important;
}

/* Order Details Page */
.woocommerce-account .woocommerce-order-details {
    margin-bottom: 2rem;
}

.woocommerce-account .woocommerce-order-details .shop_table {
    width: 100%;
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius-lg);
    overflow: hidden;
}

.woocommerce-account .woocommerce-order-details .shop_table th,
.woocommerce-account .woocommerce-order-details .shop_table td {
    padding: 1rem 1.25rem;
    text-align: left;
}

.woocommerce-account .woocommerce-order-details .shop_table thead th {
    background: var(--lpwoo-bg);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-account .woocommerce-order-details .shop_table tfoot th,
.woocommerce-account .woocommerce-order-details .shop_table tfoot td {
    background: var(--lpwoo-bg);
}

/* Customer Details */
.woocommerce-account .woocommerce-customer-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.woocommerce-account .woocommerce-customer-details address {
    background: var(--lpwoo-bg);
    padding: 1.5rem;
    border-radius: var(--lpwoo-radius-lg);
    font-style: normal;
    line-height: 1.7;
}

/* Responsive Tables */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce-orders-table,
    .woocommerce-account .woocommerce-table--order-downloads {
        display: block;
        overflow-x: auto;
    }
    
    .woocommerce-account .woocommerce-orders-table thead {
        display: none;
    }
    
    .woocommerce-account .woocommerce-orders-table tbody tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid var(--lpwoo-border);
        border-radius: var(--lpwoo-radius-lg);
    }
    
    .woocommerce-account .woocommerce-orders-table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.75rem 1rem;
        border-bottom: 1px solid var(--lpwoo-border);
    }
    
    .woocommerce-account .woocommerce-orders-table tbody td::before {
        content: attr(data-title);
        font-weight: 600;
        font-size: 0.75rem;
        text-transform: uppercase;
        color: var(--lpwoo-text-muted);
    }
    
    .woocommerce-account .woocommerce-orders-table tbody tr:last-child td:last-child {
        border-bottom: none;
    }
    
    .woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   My Account - Empty States
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message--info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--lpwoo-bg);
    border-left: 4px solid var(--lpwoo-accent);
    padding: 1.25rem 1.5rem;
    border-radius: 0 var(--lpwoo-radius-lg) var(--lpwoo-radius-lg) 0;
    margin-bottom: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message--info::before {
    display: none !important;
}

/* ==========================================================================
   My Account - Moje Kursy Section
   ========================================================================== */
.lpwoo-myaccount-courses {
    padding: 0;
}

.lpwoo-courses-header {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--lpwoo-border);
}

.lpwoo-courses-header h2 {
    font-family: var(--lpwoo-font-heading);
    font-size: 2.5rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0 0 0.75rem 0;
    line-height: 1.3;
}

.lpwoo-courses-subtitle {
    font-family: var(--lpwoo-font-body);
    font-size: 1rem;
    color: var(--lpwoo-text);
    margin: 0;
    line-height: 1.6;
}

/* ==========================================================================
   Course Cards Grid
   ========================================================================== */
.lpwoo-courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
}

@media (max-width: 768px) {
    .lpwoo-courses-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ==========================================================================
   Course Card
   ========================================================================== */
.lpwoo-course-card {
    background: var(--lpwoo-bg-light);
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius-lg);
    overflow: hidden;
    transition: var(--lpwoo-transition);
    display: flex;
    flex-direction: column;
}

.lpwoo-course-card:hover {
    box-shadow: var(--lpwoo-shadow-hover);
    border-color: var(--lpwoo-border-dark);
    transform: translateY(-4px);
}

.lpwoo-course-card.completed {
    border-color: var(--lpwoo-success);
}

/* Course Thumbnail */
.lpwoo-course-thumbnail {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: linear-gradient(135deg, var(--lpwoo-bg) 0%, #e8ddd8 100%);
}

.lpwoo-course-thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
}

.lpwoo-course-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.lpwoo-course-card:hover .lpwoo-course-thumbnail img {
    transform: scale(1.05);
}

.lpwoo-placeholder-thumbnail {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--lpwoo-bg) 0%, #e8ddd8 100%);
}

.lpwoo-placeholder-thumbnail svg {
    opacity: 0.4;
}

/* Completed Badge */
.lpwoo-completed-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.875rem;
    background: var(--lpwoo-success);
    color: #fff;
    border-radius: 2rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
}

/* Course Card Body */
.lpwoo-course-card .lpwoo-course-body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Course Meta */
.lpwoo-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 0.875rem;
}

.lpwoo-course-level,
.lpwoo-course-lessons {
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lpwoo-accent);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.lpwoo-course-lessons::before {
    content: '';
    width: 4px;
    height: 4px;
    background: var(--lpwoo-border-dark);
    border-radius: 50%;
}

/* Course Title */
.lpwoo-course-card .lpwoo-course-title {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 0.75rem 0;
}

/* Course Excerpt */
.lpwoo-course-card .lpwoo-course-excerpt {
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    color: var(--lpwoo-text-muted);
    line-height: 1.6;
    margin: 0 0 1.25rem 0;
    flex: 1;
}

.lpwoo-course-card .lpwoo-course-title a {
    color: var(--lpwoo-text-dark);
    text-decoration: none;
    transition: color 0.3s ease;
}

.lpwoo-course-card .lpwoo-course-title a:hover {
    color: var(--lpwoo-accent);
}

/* Progress Wrapper */
.lpwoo-course-progress-wrapper {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius);
}

.lpwoo-progress-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.625rem;
}

.lpwoo-progress-label {
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--lpwoo-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.lpwoo-progress-percent {
    font-family: var(--lpwoo-font-body);
    font-size: 1rem;
    font-weight: 700;
    color: var(--lpwoo-text-dark);
}

.lpwoo-progress-bar {
    height: 8px;
    background: var(--lpwoo-border);
    border-radius: 4px;
    overflow: hidden;
}

.lpwoo-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--lpwoo-accent) 0%, var(--lpwoo-primary) 100%);
    border-radius: 4px;
    transition: width 0.6s ease;
    position: relative;
}

.lpwoo-progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.lpwoo-lessons-completed {
    display: block;
    margin-top: 0.625rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.8125rem;
    color: var(--lpwoo-text);
}

/* Course Actions */
.lpwoo-course-actions {
    margin-top: auto;
}

.lpwoo-continue-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    width: 100%;
    padding: 1rem 1.5rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: var(--lpwoo-radius);
    transition: var(--lpwoo-transition);
    text-decoration: none;
    background: var(--lpwoo-primary);
    color: #fff;
    border: none;
}

.lpwoo-continue-btn:hover {
    background: var(--lpwoo-primary-dark);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(47, 34, 30, 0.2);
}

.lpwoo-continue-btn svg {
    flex-shrink: 0;
}

/* ==========================================================================
   No Courses Notice
   ========================================================================== */
.lpwoo-no-courses-notice {
    text-align: center;
    padding: 4rem 2rem;
    background: linear-gradient(135deg, var(--lpwoo-bg) 0%, #fff 100%);
    border-radius: var(--lpwoo-radius-lg);
    border: 2px dashed var(--lpwoo-border);
}

.lpwoo-notice-icon {
    margin-bottom: 1.5rem;
}

.lpwoo-notice-icon svg {
    width: 64px;
    height: 64px;
    opacity: 0.6;
}

.lpwoo-no-courses-notice h3 {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.75rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0 0 1rem 0;
}

.lpwoo-no-courses-notice p {
    font-family: var(--lpwoo-font-body);
    font-size: 1rem;
    color: var(--lpwoo-text);
    margin: 0 0 2rem 0;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}

/* ==========================================================================
   Add to Cart Button Shortcode
   ========================================================================== */
.lpwoo-add-to-cart-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.lpwoo-add-to-cart {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--lpwoo-font-body);
    font-weight: 600;
    transition: var(--lpwoo-transition);
}

.lpwoo-add-to-cart .lpwoo-button-price {
    font-size: 0.875rem;
    opacity: 0.9;
}

.lpwoo-add-to-cart.added {
    background-color: var(--lpwoo-bg) !important;
    border-color: var(--lpwoo-border) !important;
    color: var(--lpwoo-primary-dark) !important;
}

.lpwoo-view-cart-link {
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    color: var(--lpwoo-accent);
    text-decoration: underline;
}

.lpwoo-view-cart-link:hover {
    color: var(--lpwoo-primary);
}

/* ==========================================================================
   Course View (Student Dashboard) - Standalone Page
   ========================================================================== */
.lpwoo-course-view {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--lpwoo-bg);
}

/* Course Header */
.lpwoo-course-header {
    background: var(--lpwoo-bg-light);
    border-bottom: 1px solid var(--lpwoo-border);
    padding: 0.75rem 0;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.lpwoo-course-header > .lpwoo-header-content {
    position: relative;
}

.lpwoo-header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 0 1.5rem;
}

@media (max-width: 768px) {
    .lpwoo-header-content {
        padding: 0 1rem;
        gap: 0.75rem;
    }
}

/* Header Left - Back link + Title */
.lpwoo-header-left {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    min-width: 0;
}

.lpwoo-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--lpwoo-text);
    text-decoration: none;
    padding: 0.5rem 0;
    transition: color 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.lpwoo-back-link:hover {
    color: var(--lpwoo-primary);
}

@media (max-width: 768px) {
    .lpwoo-back-link {
        padding: 0.5rem;
        margin-left: -0.5rem;
    }
    
    .lpwoo-back-link svg {
        width: 22px;
        height: 22px;
    }
}

.lpwoo-header-separator {
    width: 1px;
    height: 24px;
    background: var(--lpwoo-border);
    flex-shrink: 0;
}

/* Header Center - Logo */
.lpwoo-header-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.lpwoo-logo-link {
    display: flex;
    align-items: center;
}

.lpwoo-header-logo {
    height: 36px;
    width: auto;
}

/* Header Right - Progress & Flag */
.lpwoo-header-right {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}

.lpwoo-header-icon {
    display: flex;
    align-items: center;
}

.lpwoo-header-icon img {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    object-fit: contain;
}

@media (max-width: 768px) {
    .lpwoo-header-icon img {
        width: 28px;
        height: 28px;
    }
}

.lpwoo-course-view .lpwoo-course-title {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lpwoo-course-progress-mini {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.lpwoo-course-progress-mini .lpwoo-progress-bar {
    width: 100px;
    height: 6px;
    flex-shrink: 0;
}

.lpwoo-course-progress-mini .lpwoo-progress-text {
    font-family: var(--lpwoo-font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lpwoo-text);
    white-space: nowrap;
}

/* Mobile Progress Bar - below header */
.lpwoo-mobile-progress {
    display: none;
    background: var(--lpwoo-bg-light);
    border-bottom: 1px solid var(--lpwoo-border);
    padding: 0.75rem 1rem;
}

.lpwoo-mobile-progress .lpwoo-progress-wrapper {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    max-width: 100%;
}

.lpwoo-mobile-progress .lpwoo-progress-bar {
    flex: 1;
    height: 6px;
}

.lpwoo-mobile-progress .lpwoo-progress-text {
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lpwoo-text);
    white-space: nowrap;
}

/* Floating Lessons Button (mobile only) */
.lpwoo-floating-btn {
    display: none;
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 999;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.25rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff;
    background: var(--lpwoo-primary);
    border: none;
    border-radius: 2rem;
    box-shadow: 0 4px 20px rgba(47, 34, 30, 0.25);
    cursor: pointer;
    transition: all 0.3s ease;
}

.lpwoo-floating-btn:hover {
    background: var(--lpwoo-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(47, 34, 30, 0.3);
}

.lpwoo-floating-btn:active {
    transform: translateY(0);
}

.lpwoo-floating-btn svg {
    flex-shrink: 0;
}

@media (max-width: 992px) {
    .lpwoo-floating-btn {
        display: flex;
    }
    
    /* Hide when sidebar is expanded */
    .lpwoo-course-view:has(.lpwoo-course-sidebar.expanded) .lpwoo-floating-btn {
        opacity: 0;
        pointer-events: none;
        transform: translateY(20px);
    }
}

/* Desktop/Mobile only helpers */
.lpwoo-desktop-only {
    display: flex;
}

.lpwoo-mobile-only {
    display: none;
}

/* Mobile header adjustments */
@media (max-width: 768px) {
    /* Show mobile progress, hide desktop */
    .lpwoo-mobile-progress {
        display: block;
    }
    
    .lpwoo-desktop-only {
        display: none !important;
    }
    
    .lpwoo-mobile-only {
        display: block !important;
    }
    
    /* Header simplified */
    .lpwoo-header-content {
        padding: 0 1rem;
    }
    
    .lpwoo-header-left {
        flex: 0 0 auto;
    }
    
    .lpwoo-back-link .lpwoo-back-text {
        display: none;
    }
    
    .lpwoo-header-separator {
        display: none;
    }
    
    /* Center shows course title on mobile */
    .lpwoo-header-center {
        display: flex;
        flex: 1;
        justify-content: center;
        min-width: 0;
    }
    
    .lpwoo-header-center .lpwoo-course-title {
        font-family: var(--lpwoo-font-heading);
        font-size: 1rem;
        font-weight: 400;
        color: var(--lpwoo-text-dark);
        margin: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        text-align: center;
    }
}

/* Course Body Layout */
.lpwoo-course-view .lpwoo-course-body {
    display: flex;
    flex: 1;
    min-height: calc(100vh - 70px);
}

@media (max-width: 992px) {
    .lpwoo-course-view .lpwoo-course-body {
        flex-direction: column;
        min-height: auto;
    }
    
    /* Na mobile: treść lekcji PRZED spisem treści */
    .lpwoo-course-view .lpwoo-lesson-content {
        order: 1;
    }
    
    .lpwoo-course-view .lpwoo-course-sidebar {
        order: 2;
    }
}

@media (max-width: 768px) {
    .lpwoo-course-view .lpwoo-course-body {
        min-height: calc(100vh - 110px); /* Adjust for mobile header + progress */
    }
}

/* Sidebar */
.lpwoo-course-view .lpwoo-course-sidebar {
    width: 340px;
    min-width: 340px;
    max-width: 340px;
    background: var(--lpwoo-bg-light);
    border-right: 1px solid var(--lpwoo-border);
    display: flex;
    flex-direction: column;
    height: calc(100vh - 70px);
    position: sticky;
    top: 70px;
    overflow-y: auto;
    flex-shrink: 0;
}

@media (max-width: 992px) {
    /* Sidebar as slide-up modal on mobile */
    .lpwoo-course-view .lpwoo-course-sidebar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 0;
        overflow: hidden;
        z-index: 1000;
        background: var(--lpwoo-bg-light);
        border-radius: 1rem 1rem 0 0;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
        transition: max-height 0.3s ease;
    }
    
    .lpwoo-course-view .lpwoo-course-sidebar.expanded {
        max-height: 75vh;
    }
    
    .lpwoo-course-view .lpwoo-course-sidebar .lpwoo-curriculum {
        display: block;
        max-height: calc(75vh - 60px);
        overflow-y: auto;
    }
    
    .lpwoo-course-view .lpwoo-sidebar-header {
        padding: 1rem 1.25rem;
        background: var(--lpwoo-bg-light);
        border-bottom: 1px solid var(--lpwoo-border);
        margin: 0;
        position: sticky;
        top: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    
    .lpwoo-course-view .lpwoo-sidebar-header h2 {
        font-size: 1rem;
        margin: 0;
    }
    
    /* Overlay behind sidebar */
    .lpwoo-course-view::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.4);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 999;
        pointer-events: none;
    }
    
    .lpwoo-course-view:has(.lpwoo-course-sidebar.expanded)::after {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

.lpwoo-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    border-bottom: 1px solid var(--lpwoo-border);
    background: var(--lpwoo-bg);
}

.lpwoo-sidebar-header h2 {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0;
}

.lpwoo-sidebar-toggle {
    display: none;
    background: none;
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    color: var(--lpwoo-text);
}

/* Close button - hidden on desktop, shown on mobile */
.lpwoo-sidebar-close {
    display: none;
}

@media (max-width: 992px) {
    .lpwoo-sidebar-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        background: var(--lpwoo-bg);
        border: none;
        border-radius: 50%;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .lpwoo-sidebar-close svg {
        width: 20px;
        height: 20px;
        stroke: var(--lpwoo-text);
        flex-shrink: 0;
    }
    
    .lpwoo-sidebar-close:hover {
        background: var(--lpwoo-border);
    }
    
    .lpwoo-sidebar-close:hover svg {
        stroke: var(--lpwoo-text-dark);
    }
}

@media (max-width: 992px) {
    .lpwoo-sidebar-toggle {
        display: block;
    }
}

/* Curriculum */
.lpwoo-curriculum {
    flex: 1;
    overflow-y: auto;
}

.lpwoo-section {
    border-bottom: 1px solid var(--lpwoo-border);
}

.lpwoo-section:last-child {
    border-bottom: none;
}

.lpwoo-section-header {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s ease;
}

.lpwoo-section-header:hover {
    background: var(--lpwoo-bg);
}

.lpwoo-section-title {
    flex: 1;
    font-family: var(--lpwoo-font-body);
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lpwoo-text-dark);
    text-transform: uppercase;
    letter-spacing: 0.75px;
}

.lpwoo-section-meta {
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--lpwoo-text-muted);
    background: var(--lpwoo-bg);
    padding: 0.25rem 0.625rem;
    border-radius: 1rem;
}

.lpwoo-section-chevron {
    color: var(--lpwoo-text-muted);
    transition: transform 0.3s ease;
}

.lpwoo-section.open .lpwoo-section-chevron {
    transform: rotate(180deg);
}

.lpwoo-section-items {
    display: none;
    padding-bottom: 0.75rem;
}

.lpwoo-section.open .lpwoo-section-items {
    display: block;
}

/* Lesson Items */
.lpwoo-lesson-item {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.875rem 1.5rem 0.875rem 2rem;
    text-decoration: none;
    transition: background 0.2s ease;
    position: relative;
}

.lpwoo-lesson-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: transparent;
    transition: background 0.2s ease;
}

.lpwoo-lesson-item:hover {
    background: var(--lpwoo-bg);
}

.lpwoo-lesson-item.current {
    background: var(--lpwoo-bg);
}

.lpwoo-lesson-item.current::before {
    background: var(--lpwoo-accent);
}

.lpwoo-lesson-item.completed .lpwoo-lesson-status {
    color: var(--lpwoo-success);
}

.lpwoo-lesson-status {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

.lpwoo-lesson-number {
    font-family: var(--lpwoo-font-body);
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--lpwoo-text-muted);
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--lpwoo-border);
    border-radius: 50%;
    background: var(--lpwoo-bg-light);
}

.lpwoo-lesson-item .lpwoo-lesson-title {
    flex: 1;
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    color: var(--lpwoo-text);
    line-height: 1.5;
}

.lpwoo-lesson-item.current .lpwoo-lesson-title {
    color: var(--lpwoo-text-dark);
    font-weight: 600;
}

.lpwoo-lesson-duration {
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    color: var(--lpwoo-text-muted);
    white-space: nowrap;
}

/* Lesson Content */
.lpwoo-course-view .lpwoo-lesson-content {
    flex: 1;
    padding: 2.5rem;
    overflow-y: auto;
    min-width: 0;
}

@media (max-width: 992px) {
    .lpwoo-course-view .lpwoo-lesson-content {
        padding: 1.5rem;
        overflow-y: visible;
    }
}

@media (max-width: 576px) {
    .lpwoo-course-view .lpwoo-lesson-content {
        padding: 0.75rem;
    }
}

.lpwoo-lesson {
    max-width: 850px;
    margin: 0 auto;
    background: var(--lpwoo-bg-light);
    border-radius: var(--lpwoo-radius-lg);
    box-shadow: var(--lpwoo-shadow);
    overflow: hidden;
}

@media (max-width: 576px) {
    .lpwoo-lesson {
        border-radius: var(--lpwoo-radius);
        box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    }
}

.lpwoo-lesson-header {
    padding: 2.5rem 2.5rem 1.5rem;
    border-bottom: 1px solid var(--lpwoo-border);
}

.lpwoo-lesson .lpwoo-lesson-title {
    font-family: var(--lpwoo-font-heading);
    font-size: 2.25rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0;
    line-height: 1.3;
}

@media (max-width: 768px) {
    .lpwoo-lesson .lpwoo-lesson-title {
        font-size: 1.625rem;
    }
    
    .lpwoo-lesson-header {
        padding: 1.75rem 1.5rem 1.25rem;
    }
}

.lpwoo-lesson-body {
    padding: 2.5rem;
    font-family: var(--lpwoo-font-body);
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--lpwoo-text);
}

@media (max-width: 768px) {
    .lpwoo-lesson-body {
        padding: 1.5rem;
        font-size: 1rem;
    }
}

.lpwoo-lesson-body h2,
.lpwoo-lesson-body h3,
.lpwoo-lesson-body h4 {
    font-family: var(--lpwoo-font-heading);
    color: var(--lpwoo-text-dark);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.lpwoo-lesson-body h2 {
    font-size: 1.625rem;
}

.lpwoo-lesson-body h3 {
    font-size: 1.375rem;
}

.lpwoo-lesson-body p {
    margin-bottom: 1.25rem;
}

.lpwoo-lesson-body ul,
.lpwoo-lesson-body ol {
    margin-bottom: 1.25rem;
    padding-left: 1.75rem;
}

.lpwoo-lesson-body li {
    margin-bottom: 0.625rem;
}

.lpwoo-lesson-body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--lpwoo-radius);
    margin: 1.5rem 0;
    box-shadow: var(--lpwoo-shadow);
}

.lpwoo-lesson-body blockquote {
    border-left: 4px solid var(--lpwoo-accent);
    padding: 1rem 1.5rem;
    margin: 2rem 0;
    background: var(--lpwoo-bg);
    border-radius: 0 var(--lpwoo-radius) var(--lpwoo-radius) 0;
    color: var(--lpwoo-text-dark);
    font-style: italic;
}

.lpwoo-lesson-body pre,
.lpwoo-lesson-body code {
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius);
    font-family: 'Fira Code', monospace;
}

.lpwoo-lesson-body code {
    padding: 0.2rem 0.5rem;
    font-size: 0.9em;
}

.lpwoo-lesson-body pre {
    padding: 1.25rem;
    overflow-x: auto;
}

.lpwoo-lesson-body pre code {
    padding: 0;
    background: none;
}

/* Video embeds */
.lpwoo-lesson-body iframe,
.lpwoo-lesson-body video {
    max-width: 100%;
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: var(--lpwoo-radius-lg);
    margin: 2rem 0;
    box-shadow: var(--lpwoo-shadow);
}

/* Lesson Footer */
.lpwoo-lesson-footer {
    padding: 1.5rem 2rem;
    border-top: 1px solid var(--lpwoo-border);
    background: var(--lpwoo-bg);
}

@media (max-width: 768px) {
    .lpwoo-lesson-footer {
        padding: 1rem;
    }
}

/* Lesson Navigation Row - Single Line */
.lpwoo-lesson-nav-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.lpwoo-lesson-nav-row .lpwoo-nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    background: var(--lpwoo-bg-light);
    color: var(--lpwoo-text);
    transition: var(--lpwoo-transition);
    cursor: pointer;
    white-space: nowrap;
}

.lpwoo-lesson-nav-row .lpwoo-nav-btn:hover {
    background: var(--lpwoo-bg);
    border-color: var(--lpwoo-primary);
    color: var(--lpwoo-primary);
}

.lpwoo-lesson-nav-row .lpwoo-nav-btn svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

/* Disabled nav buttons */
.lpwoo-lesson-nav-row .lpwoo-nav-disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

/* Complete button in row */
.lpwoo-lesson-nav-row .lpwoo-complete-btn {
    background: var(--lpwoo-primary);
    border-color: var(--lpwoo-primary);
    color: #fff;
    min-width: unset;
}

.lpwoo-lesson-nav-row .lpwoo-complete-btn:hover {
    background: var(--lpwoo-primary-dark);
    border-color: var(--lpwoo-primary-dark);
    color: #fff;
}

.lpwoo-lesson-nav-row .lpwoo-complete-btn.completed {
    background: var(--lpwoo-success);
    border-color: var(--lpwoo-success);
    color: #fff;
}

.lpwoo-lesson-nav-row .lpwoo-complete-btn.completed:hover {
    background: #218838;
    border-color: #218838;
}

.lpwoo-lesson-nav-row .lpwoo-complete-btn.loading {
    opacity: 0.7;
    pointer-events: none;
}

@media (max-width: 576px) {
    .lpwoo-lesson-nav-row {
        gap: 0.5rem;
    }
    
    .lpwoo-lesson-nav-row .lpwoo-nav-btn {
        padding: 0.625rem 0.875rem;
        font-size: 0.8125rem;
    }
    
    .lpwoo-lesson-nav-row .lpwoo-nav-btn svg {
        width: 14px;
        height: 14px;
    }
}

/* No Lesson State */
.lpwoo-no-lesson {
    text-align: center;
    padding: 5rem 2rem;
    background: var(--lpwoo-bg-light);
    border-radius: var(--lpwoo-radius-lg);
    box-shadow: var(--lpwoo-shadow);
}

.lpwoo-no-lesson p {
    font-family: var(--lpwoo-font-body);
    font-size: 1.125rem;
    color: var(--lpwoo-text);
}

/* ==========================================================================
   My Courses Shortcode
   ========================================================================== */
.lpwoo-my-courses {
    display: grid;
    gap: 2rem;
}

.lpwoo-my-courses[data-columns="1"] {
    grid-template-columns: 1fr;
}

.lpwoo-my-courses[data-columns="2"] {
    grid-template-columns: repeat(2, 1fr);
}

.lpwoo-my-courses[data-columns="3"] {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 992px) {
    .lpwoo-my-courses[data-columns="3"] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .lpwoo-my-courses[data-columns="2"],
    .lpwoo-my-courses[data-columns="3"] {
        grid-template-columns: 1fr;
    }
}

/* Login Notice */
.lpwoo-login-notice {
    text-align: center;
    padding: 3rem 2rem;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius-lg);
    font-family: var(--lpwoo-font-body);
    color: var(--lpwoo-text);
}

.lpwoo-login-notice a {
    color: var(--lpwoo-accent);
    font-weight: 600;
}

/* No Courses */
.lpwoo-no-courses {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius-lg);
}

.lpwoo-no-courses p {
    font-family: var(--lpwoo-font-body);
    font-size: 1rem;
    color: var(--lpwoo-text);
    margin-bottom: 1.5rem;
}

/* ==========================================================================
   Responsive Mobile Adjustments
   ========================================================================== */
@media (max-width: 992px) {
    .lpwoo-course-view .lpwoo-sidebar-toggle {
        display: none;
    }
}

/* ==========================================================================
   Animations
   ========================================================================== */
@keyframes lpwoo-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.lpwoo-loading {
    animation: lpwoo-spin 1s linear infinite;
}

/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .lpwoo-course-view .lpwoo-course-sidebar,
    .lpwoo-course-view .lpwoo-course-header,
    .lpwoo-course-view .lpwoo-lesson-footer,
    .lpwoo-course-view .lpwoo-nav-btn {
        display: none !important;
    }
    
    .lpwoo-course-view .lpwoo-lesson-content {
        padding: 0;
    }
    
    .lpwoo-course-view .lpwoo-lesson {
        box-shadow: none;
    }
}

/* ==========================================================================
   Spanish Theme Accent - Flag Colors
   ========================================================================== */
.lpwoo-spanish-accent {
    position: relative;
}

.lpwoo-spanish-accent::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #c60b1e 0%, #c60b1e 25%, #ffc400 25%, #ffc400 75%, #c60b1e 75%, #c60b1e 100%);
}

/* ==========================================================================
   Addresses Page - Hide Shipping, Keep Only Billing
   ========================================================================== */

/* Ukryj adres wysyłki */
.woocommerce-account .woocommerce-Addresses .col-2,
.woocommerce-account .u-columns.woocommerce-Addresses-columns .col-2,
.woocommerce-account .woocommerce-Address--shipping {
    display: none !important;
}

/* Billing zajmuje pełną szerokość */
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .u-columns.woocommerce-Addresses-columns .col-1,
.woocommerce-account .woocommerce-Address--billing {
    width: 100% !important;
    max-width: 600px !important;
    float: none !important;
}

/* Poprawiony box adresu */
.woocommerce-account .woocommerce-Address {
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius-lg);
    padding: 2rem;
    border: 1px solid var(--lpwoo-border);
}

.woocommerce-account .woocommerce-Address header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--lpwoo-border);
}

.woocommerce-account .woocommerce-Address header h3 {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0;
}

/* Ładniejszy przycisk Edytuj */
.woocommerce-account .woocommerce-Address header a.edit {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--lpwoo-primary);
    background: var(--lpwoo-bg-light);
    border: 1px solid var(--lpwoo-primary);
    border-radius: var(--lpwoo-radius);
    text-decoration: none !important;
    transition: var(--lpwoo-transition);
}

.woocommerce-account .woocommerce-Address header a.edit:hover {
    background: var(--lpwoo-primary);
    color: #fff;
}

/* Dane adresowe */
.woocommerce-account .woocommerce-Address address {
    font-style: normal;
    font-family: var(--lpwoo-font-body);
    font-size: 1rem;
    color: var(--lpwoo-text);
    line-height: 2;
}

/* Ukryj tekst "Następujące adresy..." */
.woocommerce-account .woocommerce-MyAccount-content > p.myaccount_address {
    display: none;
}

/* ==========================================================================
   Edit Address Form - Condensed 2-Column Layout
   ========================================================================== */

.woocommerce-account .woocommerce-address-fields {
    max-width: 100%;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 1.5rem;
}

/* Full width fields */
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide {
    grid-column: 1 / -1;
}

/* First/Last fields stay in their column */
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first {
    grid-column: 1;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last {
    grid-column: 2;
}

/* Reset float layout */
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Compact form rows */
.woocommerce-account .woocommerce-address-fields .form-row {
    margin-bottom: 0;
}

.woocommerce-account .woocommerce-address-fields label {
    display: block;
    font-family: var(--lpwoo-font-body);
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    margin-bottom: 0.375rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-account .woocommerce-address-fields input[type="text"],
.woocommerce-account .woocommerce-address-fields input[type="email"],
.woocommerce-account .woocommerce-address-fields input[type="tel"],
.woocommerce-account .woocommerce-address-fields select {
    width: 100%;
    padding: 0.75rem 1rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    color: var(--lpwoo-text-dark);
    background: var(--lpwoo-bg-light);
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-account .woocommerce-address-fields input:focus,
.woocommerce-account .woocommerce-address-fields select:focus {
    outline: none;
    border-color: var(--lpwoo-primary);
    box-shadow: 0 0 0 3px rgba(78, 57, 49, 0.1);
}

/* Select2 styling for country/state selects */
.woocommerce-account .woocommerce-address-fields .select2-container {
    width: 100% !important;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single {
    height: auto;
    padding: 0.625rem 1rem;
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    background: var(--lpwoo-bg-light);
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--lpwoo-text-dark);
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    line-height: 1.5;
    padding-left: 0;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
}

/* Ukryj duplikat pola kraju - WooCommerce pokazuje readonly input + select */
.woocommerce-account .woocommerce-address-fields #billing_country_field > input.input-text:not(.select2-search__field),
.woocommerce-account .woocommerce-address-fields #shipping_country_field > input.input-text:not(.select2-search__field),
.woocommerce-account .woocommerce-address-fields .form-row input.input-text[readonly] {
    display: none !important;
}

/* Gdy jest tylko jeden kraj, WooCommerce pokazuje tekst zamiast selecta - ukryj duplikat */
.woocommerce-account .woocommerce-address-fields #billing_country_field strong,
.woocommerce-account .woocommerce-address-fields #shipping_country_field strong {
    display: none !important;
}

/* Button */
.woocommerce-account .woocommerce-address-fields button[type="submit"] {
    margin-top: 1.5rem;
    padding: 1rem 2.5rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: var(--lpwoo-primary);
    color: #fff;
    border: none;
    border-radius: var(--lpwoo-radius);
    cursor: pointer;
    transition: background 0.3s ease;
}

.woocommerce-account .woocommerce-address-fields button[type="submit"]:hover {
    background: var(--lpwoo-primary-dark);
}

/* Responsive for edit address */
@media (max-width: 576px) {
    .woocommerce-account .woocommerce-address-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    
    .woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
    .woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last {
        grid-column: 1;
    }
}

/* ==========================================================================
   Edit Account Form - Condensed Layout
   ========================================================================== */

.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account form.edit-account {
    max-width: 100%;
}

/* Grid layout for form */
.woocommerce-account .woocommerce-EditAccountForm {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 1.5rem;
}

/* First name & Last name - side by side */
.woocommerce-account .woocommerce-EditAccountForm > p.woocommerce-form-row--first {
    grid-column: 1;
}

.woocommerce-account .woocommerce-EditAccountForm > p.woocommerce-form-row--last {
    grid-column: 2;
}

/* Wide fields span both columns */
.woocommerce-account .woocommerce-EditAccountForm > p.woocommerce-form-row--wide,
.woocommerce-account .woocommerce-EditAccountForm > .clear,
.woocommerce-account .woocommerce-EditAccountForm > fieldset,
.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type {
    grid-column: 1 / -1;
}

/* Clear elements hidden */
.woocommerce-account .woocommerce-EditAccountForm > .clear {
    display: none;
}

/* Compact margins */
.woocommerce-account .woocommerce-EditAccountForm p.woocommerce-form-row {
    margin: 0;
}

/* Compact labels */
.woocommerce-account .woocommerce-EditAccountForm label {
    font-size: 0.6875rem;
    margin-bottom: 0.375rem;
}

/* Compact inputs */
.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-EditAccountForm input[type="password"] {
    padding: 0.75rem 1rem !important;
    min-height: 44px !important;
}

/* Fieldset styling */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius-lg);
    padding: 1.25rem 1.5rem;
    margin: 0.5rem 0 0 0;
    background: var(--lpwoo-bg);
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--lpwoo-text-dark);
    padding: 0 0.5rem;
    background: var(--lpwoo-bg);
}

.woocommerce-account .woocommerce-EditAccountForm fieldset p.woocommerce-form-row {
    margin: 0;
}

/* Display name description smaller */
.woocommerce-account .woocommerce-EditAccountForm #account_display_name_description {
    display: block;
    margin-top: 0.375rem;
}

.woocommerce-account .woocommerce-EditAccountForm em {
    font-size: 0.75rem;
    color: var(--lpwoo-text-muted);
    font-style: normal;
}

/* Submit button */
.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type {
    margin-top: 0.5rem;
}

.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
    padding: 1rem 2.5rem;
    margin-top: 0;
}

/* Responsive for edit account */
@media (max-width: 576px) {
    .woocommerce-account .woocommerce-EditAccountForm {
        grid-template-columns: 1fr;
    }
    
    .woocommerce-account .woocommerce-EditAccountForm > p.woocommerce-form-row--first,
    .woocommerce-account .woocommerce-EditAccountForm > p.woocommerce-form-row--last {
        grid-column: 1;
    }
}

/* ==========================================================================
   My Account Content - Better Padding
   ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-content {
    padding: 2rem;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 1.25rem;
    }
}
/* ==========================================================================
   Quiz Styles
   ========================================================================== */

/* Quiz badge in sidebar */
.lpwoo-quiz-badge {
    display: inline-block;
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: var(--lpwoo-warning);
    color: var(--lpwoo-text-dark);
    padding: 0.125rem 0.5rem;
    border-radius: 0.25rem;
    margin-left: 0.5rem;
    vertical-align: middle;
}

/* Quiz item in sidebar */
.lpwoo-lesson-item.is-quiz .lpwoo-lesson-status svg {
    color: var(--lpwoo-warning);
}

.lpwoo-lesson-item.is-quiz.completed .lpwoo-lesson-status svg {
    color: var(--lpwoo-success);
}

/* Quiz wrapper in lesson body */
.lpwoo-quiz-wrapper {
    padding: 0;
}

/* LearnPress Quiz App Container */
.lpwoo-quiz-wrapper #learn-press-quiz-app {
    font-family: var(--lpwoo-font-body);
}

/* Quiz content area */
.lpwoo-quiz-wrapper .quiz-content {
    padding: 1.5rem;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius);
    margin-bottom: 1.5rem;
}

/* Quiz questions */
.lpwoo-quiz-wrapper .quiz-questions {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.lpwoo-quiz-wrapper .question-wrap {
    background: var(--lpwoo-bg-light);
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius-lg);
    padding: 1.5rem;
    transition: border-color 0.3s ease;
}

.lpwoo-quiz-wrapper .question-wrap:hover {
    border-color: var(--lpwoo-border-dark);
}

.lpwoo-quiz-wrapper .question-wrap.current {
    border-color: var(--lpwoo-accent);
    box-shadow: 0 0 0 3px rgba(141, 102, 89, 0.1);
}

/* Question title */
.lpwoo-quiz-wrapper .question-title {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0 0 1rem 0;
    line-height: 1.5;
}

.lpwoo-quiz-wrapper .question-index {
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--lpwoo-accent);
    margin-right: 0.5rem;
}

/* Question content */
.lpwoo-quiz-wrapper .question-content {
    font-family: var(--lpwoo-font-body);
    font-size: 1rem;
    color: var(--lpwoo-text);
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

/* Answer options */
.lpwoo-quiz-wrapper .answer-options {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lpwoo-quiz-wrapper .answer-option {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    background: var(--lpwoo-bg);
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    cursor: pointer;
    transition: all 0.2s ease;
}

.lpwoo-quiz-wrapper .answer-option:hover {
    background: var(--lpwoo-bg-light);
    border-color: var(--lpwoo-accent);
}

.lpwoo-quiz-wrapper .answer-option.checked {
    background: #f0f7ff;
    border-color: var(--lpwoo-accent);
}

.lpwoo-quiz-wrapper .answer-option.correct {
    background: #e8f5e9;
    border-color: var(--lpwoo-success);
}

.lpwoo-quiz-wrapper .answer-option.incorrect {
    background: #ffebee;
    border-color: #dc3545;
}

.lpwoo-quiz-wrapper .answer-option input[type="radio"],
.lpwoo-quiz-wrapper .answer-option input[type="checkbox"] {
    margin: 0.25rem 0 0 0;
    flex-shrink: 0;
    accent-color: var(--lpwoo-accent);
}

.lpwoo-quiz-wrapper .answer-option label {
    flex: 1;
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    color: var(--lpwoo-text);
    cursor: pointer;
    line-height: 1.5;
}

/* Quiz buttons */
.lpwoo-quiz-wrapper .quiz-buttons,
.lpwoo-quiz-wrapper .question-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--lpwoo-border);
}

.lpwoo-quiz-wrapper .quiz-buttons button,
.lpwoo-quiz-wrapper .question-buttons button,
.lpwoo-quiz-wrapper .lp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: var(--lpwoo-radius);
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid var(--lpwoo-border);
    background: var(--lpwoo-bg-light);
    color: var(--lpwoo-text);
}

.lpwoo-quiz-wrapper .quiz-buttons button:hover,
.lpwoo-quiz-wrapper .question-buttons button:hover,
.lpwoo-quiz-wrapper .lp-button:hover {
    background: var(--lpwoo-bg);
    border-color: var(--lpwoo-primary);
    color: var(--lpwoo-primary);
}

.lpwoo-quiz-wrapper .quiz-buttons button.start-quiz,
.lpwoo-quiz-wrapper .quiz-buttons button.complete-quiz,
.lpwoo-quiz-wrapper .quiz-buttons button[data-action="start"],
.lpwoo-quiz-wrapper .lp-button.start,
.lpwoo-quiz-wrapper .lp-button.lp-btn-primary {
    background: var(--lpwoo-primary);
    border-color: var(--lpwoo-primary);
    color: #fff;
}

.lpwoo-quiz-wrapper .quiz-buttons button.start-quiz:hover,
.lpwoo-quiz-wrapper .quiz-buttons button.complete-quiz:hover,
.lpwoo-quiz-wrapper .lp-button.start:hover,
.lpwoo-quiz-wrapper .lp-button.lp-btn-primary:hover {
    background: var(--lpwoo-primary-dark);
    border-color: var(--lpwoo-primary-dark);
    color: #fff;
}

/* Quiz result */
.lpwoo-quiz-wrapper .quiz-result,
.lpwoo-quiz-wrapper .quiz-results {
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius-lg);
    padding: 2rem;
    text-align: center;
    margin-bottom: 1.5rem;
}

.lpwoo-quiz-wrapper .quiz-result h3,
.lpwoo-quiz-wrapper .quiz-results h3 {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.5rem;
    color: var(--lpwoo-text-dark);
    margin: 0 0 1rem 0;
}

.lpwoo-quiz-wrapper .quiz-result .result-percent,
.lpwoo-quiz-wrapper .quiz-results .result-percent {
    font-family: var(--lpwoo-font-heading);
    font-size: 3rem;
    font-weight: 400;
    color: var(--lpwoo-primary);
    margin-bottom: 0.5rem;
}

.lpwoo-quiz-wrapper .quiz-result .result-grade.passed,
.lpwoo-quiz-wrapper .quiz-results .result-grade.passed {
    color: var(--lpwoo-success);
}

.lpwoo-quiz-wrapper .quiz-result .result-grade.failed,
.lpwoo-quiz-wrapper .quiz-results .result-grade.failed {
    color: #dc3545;
}

/* Quiz explanation/hint */
.lpwoo-quiz-wrapper .question-explanation-content,
.lpwoo-quiz-wrapper .question-hint-content {
    margin-top: 1rem;
    padding: 1rem;
    background: #e8f4fd;
    border-left: 3px solid var(--lpwoo-accent);
    border-radius: 0 var(--lpwoo-radius) var(--lpwoo-radius) 0;
}

.lpwoo-quiz-wrapper .explanation-title,
.lpwoo-quiz-wrapper .hint-title {
    font-family: var(--lpwoo-font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    margin-bottom: 0.5rem;
}

/* Quiz pagination */
.lpwoo-quiz-wrapper .quiz-pagination {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}

.lpwoo-quiz-wrapper .quiz-pagination button {
    min-width: 40px;
    height: 40px;
    padding: 0.5rem;
    font-size: 0.875rem;
}

.lpwoo-quiz-wrapper .quiz-pagination button.current {
    background: var(--lpwoo-primary);
    border-color: var(--lpwoo-primary);
    color: #fff;
}

/* Quiz attempts */
.lpwoo-quiz-wrapper .quiz-attempts {
    margin-top: 2rem;
}

.lpwoo-quiz-wrapper .quiz-attempts h4 {
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--lpwoo-text-muted);
    margin-bottom: 1rem;
}

.lpwoo-quiz-wrapper .quiz-attempts table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
}

.lpwoo-quiz-wrapper .quiz-attempts th,
.lpwoo-quiz-wrapper .quiz-attempts td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid var(--lpwoo-border);
}

.lpwoo-quiz-wrapper .quiz-attempts th {
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    background: var(--lpwoo-bg);
}

/* Mobile quiz styles */
@media (max-width: 768px) {
    .lpwoo-quiz-wrapper .question-wrap {
        padding: 1rem;
    }
    
    .lpwoo-quiz-wrapper .question-title {
        font-size: 1.125rem;
    }
    
    .lpwoo-quiz-wrapper .quiz-buttons,
    .lpwoo-quiz-wrapper .question-buttons {
        flex-direction: column;
    }
    
    .lpwoo-quiz-wrapper .quiz-buttons button,
    .lpwoo-quiz-wrapper .question-buttons button {
        width: 100%;
    }
}

/* ==========================================================================
   Downloadable Materials
   ========================================================================== */

.lpwoo-lesson-materials {
    margin-top: 2rem;
    padding: 1.5rem;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius-lg);
    border: 1px solid var(--lpwoo-border);
}

.lpwoo-materials-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--lpwoo-font-heading);
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0 0 1.25rem 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--lpwoo-border);
}

.lpwoo-materials-title svg {
    color: var(--lpwoo-accent);
    flex-shrink: 0;
}

.lpwoo-materials-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lpwoo-material-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--lpwoo-bg-light);
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    text-decoration: none;
    transition: all 0.2s ease;
}

.lpwoo-material-item:hover {
    border-color: var(--lpwoo-accent);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.lpwoo-material-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius);
    flex-shrink: 0;
}

.lpwoo-material-icon svg {
    width: 24px;
    height: 24px;
}

.lpwoo-material-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.lpwoo-material-name {
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lpwoo-material-meta {
    font-family: var(--lpwoo-font-body);
    font-size: 0.75rem;
    color: var(--lpwoo-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.lpwoo-material-download {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--lpwoo-primary);
    border-radius: 50%;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.lpwoo-material-download svg {
    color: #fff;
}

.lpwoo-material-item:hover .lpwoo-material-download {
    background: var(--lpwoo-primary-dark);
}

/* Mobile materials */
@media (max-width: 576px) {
    .lpwoo-lesson-materials {
        padding: 1rem;
    }
    
    .lpwoo-material-item {
        padding: 0.875rem;
    }
    
    .lpwoo-material-icon {
        width: 40px;
        height: 40px;
    }
    
    .lpwoo-material-icon svg {
        width: 20px;
        height: 20px;
    }
    
    .lpwoo-material-name {
        font-size: 0.875rem;
    }
    
    .lpwoo-material-download {
        width: 36px;
        height: 36px;
    }
}

/* Hide empty quiz-content div */
.lpwoo-quiz-wrapper .quiz-content:empty {
    display: none;
}

/* Also hide if only whitespace */
.lpwoo-quiz-wrapper .quiz-content:not(:has(*)):not(:empty) {
    display: none;
}

/* LearnPress quiz messages */
.lpwoo-quiz-wrapper .lp-quiz-message,
.lpwoo-quiz-wrapper .lp-notice {
    padding: 1rem 1.25rem;
    background: #fff5f5;
    border: 1px solid #feb2b2;
    border-left: 4px solid #f56565;
    border-radius: var(--lpwoo-radius);
    margin-bottom: 1.5rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.9375rem;
    color: #c53030;
}

.lpwoo-quiz-wrapper .lp-quiz-message.success,
.lpwoo-quiz-wrapper .lp-notice.success {
    background: #f0fff4;
    border-color: #9ae6b4;
    border-left-color: #48bb78;
    color: #276749;
}

/* ==========================================================================
   Video Player - Prevent theme button styles from affecting players
   ========================================================================== */

/* Ensure video container styling */
.lpwoo-lesson-body .wp-video,
.lpwoo-lesson-body video,
.lpwoo-lesson-body .mejs-container,
.lpwoo-lesson-body .mejs__container {
    margin: 0 0 1.5rem 0 !important;
    max-width: 100% !important;
}

.lpwoo-lesson-body .wp-video-shortcode {
    max-width: 100% !important;
    width: 100% !important;
}

/* ==========================================================================
   LearnPress Quiz Styles - Clean and Modern Design
   ========================================================================== */

/* Quiz App Container */
#learn-press-quiz-app {
    font-family: var(--lpwoo-font-body);
    color: var(--lpwoo-text-dark);
}

/* Quiz Header Bar */
.lp-quiz-status,
.quiz-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--lpwoo-warning);
    padding: 1rem 1.5rem;
    border-radius: var(--lpwoo-radius-lg);
    margin-bottom: 2rem;
    color: #fff;
    font-weight: 600;
}

.lp-quiz-status .quiz-countdown,
.quiz-status .quiz-countdown {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Question Container */
.question {
    background: var(--lpwoo-bg-light);
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius-lg);
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: var(--lpwoo-shadow);
}

.question-title {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin: 0 0 1.5rem 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.question-index {
    font-weight: 600;
    margin-right: 0.5rem;
    color: var(--lpwoo-primary);
}

.edit-link a {
    font-size: 0.875rem;
    color: var(--lpwoo-accent);
    text-decoration: none;
}

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

/* Answer Options */
.question-answers {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.question-answers .answer-option,
.answer-option {
    display: flex;
    align-items: center;
    background: var(--lpwoo-bg);
    border: 2px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    padding: 1rem 1.25rem;
    cursor: pointer;
    transition: var(--lpwoo-transition);
}

.question-answers .answer-option:hover,
.answer-option:hover {
    border-color: var(--lpwoo-primary-light);
    background: #faf8f7;
}

.question-answers .answer-option.selected,
.answer-option.selected,
.question-answers .answer-option.answered,
.answer-option.answered {
    border-color: var(--lpwoo-primary);
    background: rgba(78, 57, 49, 0.05);
}

.question-answers .answer-option.correct,
.answer-option.correct {
    border-color: var(--lpwoo-success) !important;
    background: rgba(40, 167, 69, 0.1) !important;
}

.question-answers .answer-option.incorrect,
.answer-option.incorrect {
    border-color: #dc3545 !important;
    background: rgba(220, 53, 69, 0.1) !important;
}

/* Radio/Checkbox styling */
.answer-option input[type="radio"],
.answer-option input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 1rem;
    accent-color: var(--lpwoo-primary);
}

.answer-option .option-title,
.answer-option label {
    flex: 1;
    font-size: 1rem;
    color: var(--lpwoo-text-dark);
    cursor: pointer;
}

/* Fill in the Blank */
.question-fill_in_blanks input[type="text"],
.question-fill-in-blank input[type="text"],
.fib-input,
input.fib-input {
    border: 2px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    padding: 0.5rem 1rem;
    font-size: 1rem;
    color: var(--lpwoo-text-dark);
    background: var(--lpwoo-bg-light);
    transition: var(--lpwoo-transition);
    min-width: 150px;
    margin: 0 0.25rem;
}

.question-fill_in_blanks input[type="text"]:focus,
.question-fill-in-blank input[type="text"]:focus,
.fib-input:focus {
    outline: none;
    border-color: var(--lpwoo-primary);
    box-shadow: 0 0 0 3px rgba(78, 57, 49, 0.1);
}

.fib-input::placeholder {
    color: var(--lpwoo-text-muted);
    font-style: italic;
}

/* Check Answer Button */
.question .lp-button,
.question button.check-answer,
.question .button-check-answer,
button.check-answer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background: var(--lpwoo-bg);
    color: var(--lpwoo-text-dark);
    border: 2px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--lpwoo-transition);
    margin-top: 1rem;
}

.question .lp-button:hover,
.question button.check-answer:hover,
button.check-answer:hover {
    background: var(--lpwoo-primary);
    color: #fff;
    border-color: var(--lpwoo-primary);
}

/* Question Response/Feedback */
.question-response {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: var(--lpwoo-radius);
    background: var(--lpwoo-bg);
    font-size: 0.875rem;
}

.question-response .point-note,
.question-response .status-label {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: var(--lpwoo-radius);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
}

.question-response .status-label.correct,
.question-response .correct {
    background: var(--lpwoo-success);
    color: #fff;
}

.question-response .status-label.incorrect,
.question-response .incorrect {
    background: #dc3545;
    color: #fff;
}

/* Explanation Box */
.question-explanation-content,
.question-hint-content {
    margin-top: 1.5rem;
    padding: 1.25rem;
    background: rgba(78, 57, 49, 0.05);
    border-left: 4px solid var(--lpwoo-primary);
    border-radius: 0 var(--lpwoo-radius) var(--lpwoo-radius) 0;
}

.explanation-title,
.hint-title {
    font-weight: 700;
    color: var(--lpwoo-primary);
    margin-bottom: 0.5rem;
}

/* Quiz Buttons (Navigation) */
.quiz-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1.5rem;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius-lg);
    margin-top: 2rem;
}

.quiz-buttons .lp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 1.75rem;
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--lpwoo-radius);
    cursor: pointer;
    transition: var(--lpwoo-transition);
    text-decoration: none;
    border: 2px solid transparent;
}

.quiz-buttons .lp-button.start,
.quiz-buttons .lp-button.submit-quiz {
    background: var(--lpwoo-primary);
    color: #fff;
}

.quiz-buttons .lp-button.start:hover,
.quiz-buttons .lp-button.submit-quiz:hover {
    background: var(--lpwoo-primary-dark);
}

.quiz-buttons .lp-button.review-quiz,
.quiz-buttons .lp-button.back-quiz {
    background: var(--lpwoo-bg-light);
    color: var(--lpwoo-text-dark);
    border-color: var(--lpwoo-border);
}

.quiz-buttons .lp-button.review-quiz:hover,
.quiz-buttons .lp-button.back-quiz:hover {
    border-color: var(--lpwoo-primary);
    color: var(--lpwoo-primary);
}

/* Pagination */
.questions-pagination {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.questions-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.75rem;
    background: var(--lpwoo-bg-light);
    border: 1px solid var(--lpwoo-border);
    border-radius: var(--lpwoo-radius);
    font-size: 0.875rem;
    color: var(--lpwoo-text);
    cursor: pointer;
    transition: var(--lpwoo-transition);
}

.questions-pagination .page-numbers:hover {
    border-color: var(--lpwoo-primary);
    color: var(--lpwoo-primary);
}

.questions-pagination .page-numbers.current {
    background: var(--lpwoo-primary);
    border-color: var(--lpwoo-primary);
    color: #fff;
}

/* Quiz Result */
.quiz-result {
    text-align: center;
    padding: 2rem;
}

.quiz-result .result-heading {
    font-family: var(--lpwoo-font-heading);
    font-size: 1.75rem;
    font-weight: 400;
    color: var(--lpwoo-text-dark);
    margin-bottom: 2rem;
}

.quiz-result .result-grade {
    position: relative;
    display: inline-block;
    margin-bottom: 1.5rem;
}

.quiz-result .result-achieved {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--lpwoo-text-dark);
}

.quiz-result .result-require {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 50%);
    font-size: 1rem;
    color: var(--lpwoo-text-muted);
}

.quiz-result.passed .circle-progress-bar__circle {
    stroke: var(--lpwoo-success);
}

.quiz-result.failed .circle-progress-bar__circle {
    stroke: #dc3545;
}

.quiz-result .result-message {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 2rem;
    border-radius: 50px;
    font-weight: 600;
    margin-bottom: 2rem;
}

.quiz-result.passed .result-message {
    background: var(--lpwoo-success);
    color: #fff;
}

.quiz-result.failed .result-message {
    background: #dc3545;
    color: #fff;
}

/* Result Statistics */
.result-statistic {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    text-align: left;
}

.result-statistic li {
    background: var(--lpwoo-bg);
    padding: 1rem 1.25rem;
    border-radius: var(--lpwoo-radius);
}

.result-statistic li span {
    display: block;
    font-size: 0.75rem;
    color: var(--lpwoo-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.25rem;
}

.result-statistic li p {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
}

/* Quiz Intro/Meta */
.quiz-intro {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.quiz-intro-item {
    display: flex;
    flex-direction: column;
}

.quiz-intro-item__title {
    font-size: 0.75rem;
    color: var(--lpwoo-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.quiz-intro-item__content {
    font-size: 1rem;
    font-weight: 600;
    color: var(--lpwoo-text-dark);
}

/* Quiz Description */
.quiz-content {
    margin-bottom: 2rem;
    line-height: 1.7;
    color: var(--lpwoo-text);
}

/* Loading State */
.lp-button.loading {
    opacity: 0.7;
    pointer-events: none;
}

.lp-button.loading::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 0.5rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin 0.75s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Fix spacing issues */
.question-response > * {
    margin-right: 0.5rem;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .question {
        padding: 1.25rem;
    }
    
    .quiz-buttons {
        flex-direction: column;
    }
    
    .quiz-buttons .lp-button {
        width: 100%;
    }
    
    .result-statistic {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==========================================================================
   Check Answer Button - Improved Style
   ========================================================================== */

/* Check answer button container */
.question .button-check-answer,
.question .check-answer-wrap,
button.check-answer {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    background: var(--lpwoo-primary);
    color: #fff;
    border: none;
    border-radius: var(--lpwoo-radius);
    font-family: var(--lpwoo-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--lpwoo-transition);
    margin-top: 1rem;
}

.question .button-check-answer:hover,
button.check-answer:hover {
    background: var(--lpwoo-primary-dark);
    transform: translateY(-1px);
}

/* Disabled state with tooltip */
.question .button-check-answer:disabled,
.question .button-check-answer.disabled,
button.check-answer:disabled {
    background: var(--lpwoo-border);
    color: var(--lpwoo-text-muted);
    cursor: not-allowed;
    transform: none;
}

.question .button-check-answer:disabled:hover::after,
button.check-answer:disabled:hover::after {
    content: 'Najpierw odpowiedz na pytanie';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.5rem 0.75rem;
    background: var(--lpwoo-text-dark);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    border-radius: var(--lpwoo-radius);
    margin-bottom: 0.5rem;
    z-index: 10;
}

/* Hide the ugly inline message */
.question-response:empty,
.lp-quiz-question-response:empty {
    display: none;
}

/* Style response messages nicely */
.question .question-response,
.lp-quiz-question-response {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding: 0.5rem 1rem;
    background: var(--lpwoo-bg);
    border-radius: var(--lpwoo-radius);
    font-size: 0.8125rem;
    color: var(--lpwoo-text-muted);
}

/* Hide long English message */
.question-response:has(> :only-child:empty),
[class*="question"] *:contains("You Need To Answer"),
[class*="question"] *:contains("Answer The Question") {
    display: none !important;
}

/* ==========================================================================
   Fix Scrolling Issues
   ========================================================================== */

/* Ensure content area is scrollable */
.lpwoo-lesson-content,
.lpwoo-course-body,
.lpwoo-lesson-body {
    overflow: visible !important;
    overflow-y: auto !important;
    max-height: none !important;
    height: auto !important;
}

/* Main content wrapper */
.lpwoo-course-view {
    overflow: visible !important;
}

/* Quiz app container */
#learn-press-quiz-app {
    overflow: visible !important;
    max-height: none !important;
}

/* Ensure body and html allow scrolling */
body.lpwoo-course-page,
html {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Fix quiz wrapper */
.lpwoo-quiz-wrapper,
#content-item-quiz {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
}

/* Question containers */
.question,
.quiz-questions {
    overflow: visible !important;
}

/* ==========================================================================
   Critical Scrolling Fix - Override problematic styles
   ========================================================================== */

/* Main body scrollable */
html, body {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
}

/* Course view should not restrict height */
.lpwoo-course-view {
    min-height: 100vh;
    height: auto !important;
    overflow: visible !important;
}

/* Course body - let it grow naturally */
.lpwoo-course-view .lpwoo-course-body {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
}

/* Lesson content - main scrollable area */
.lpwoo-course-view .lpwoo-lesson-content {
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    flex: 1 1 auto !important;
}

/* Sidebar - sticky but not blocking */
.lpwoo-course-view .lpwoo-course-sidebar {
    height: auto !important;
    max-height: calc(100vh - 70px);
    position: sticky;
    top: 70px;
    overflow-y: auto;
    align-self: flex-start;
}

/* Lesson wrapper */
.lpwoo-lesson {
    overflow: visible !important;
    height: auto !important;
}

/* Quiz content */
.lpwoo-quiz-wrapper,
#learn-press-quiz-app,
#content-item-quiz,
.lpwoo-lesson-body {
    overflow: visible !important;
    height: auto !important;
}

/* ==========================================================================
   Fix Sidebar - Revert problematic overrides
   ========================================================================== */

/* Sidebar proper styling */
.lpwoo-course-view .lpwoo-course-sidebar {
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    height: calc(100vh - 70px) !important;
    max-height: none !important;
    position: sticky !important;
    top: 70px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: var(--lpwoo-bg-light) !important;
    border-right: 1px solid var(--lpwoo-border) !important;
    align-self: stretch !important;
}

/* Content should scroll via body, not itself */
.lpwoo-course-view .lpwoo-lesson-content {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 2.5rem !important;
    overflow: visible !important;
}

/* Body flex layout */
.lpwoo-course-view .lpwoo-course-body {
    display: flex !important;
    flex: 1 !important;
}

@media (max-width: 992px) {
    .lpwoo-course-view .lpwoo-course-sidebar {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        position: relative !important;
        top: auto !important;
    }
}

/* ==========================================================================
   Quiz Result - Compact and Clean Design
   ========================================================================== */

/* Result container - compact */
.quiz-result {
    text-align: center;
    padding: 1.5rem !important;
    max-width: 400px !important;
    margin: 0 auto !important;
}

.quiz-result .result-heading {
    font-family: var(--lpwoo-font-heading) !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    color: var(--lpwoo-text-dark) !important;
    margin-bottom: 1rem !important;
}

/* Grade circle - smaller */
.quiz-result .result-grade {
    position: relative !important;
    display: inline-block !important;
    margin-bottom: 1rem !important;
    width: 120px !important;
    height: 120px !important;
}

.quiz-result .result-grade svg {
    width: 120px !important;
    height: 120px !important;
}

.quiz-result .result-achieved {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -60%) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--lpwoo-text-dark) !important;
}

.quiz-result .result-require {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, 40%) !important;
    font-size: 0.75rem !important;
    color: var(--lpwoo-text-muted) !important;
}

/* Pass/Fail message - smaller */
.quiz-result .result-message {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    margin-bottom: 1.25rem !important;
}

/* Statistics - compact grid */
.quiz-result .result-statistic,
.result-statistic {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
    text-align: left !important;
    font-size: 0.8125rem !important;
}

.quiz-result .result-statistic li,
.result-statistic li,
.result-statistic-field {
    background: var(--lpwoo-bg) !important;
    padding: 0.625rem 0.875rem !important;
    border-radius: var(--lpwoo-radius) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.quiz-result .result-statistic li span,
.result-statistic li span,
.result-statistic-field span {
    font-size: 0.6875rem !important;
    color: var(--lpwoo-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    margin-bottom: 0 !important;
}

.quiz-result .result-statistic li p,
.result-statistic li p,
.result-statistic-field p {
    margin: 0 !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: var(--lpwoo-text-dark) !important;
}

/* Review button - smaller */
.quiz-result + .quiz-buttons,
.quiz-buttons {
    padding: 1rem !important;
    margin-top: 1rem !important;
}

.quiz-buttons .lp-button {
    padding: 0.625rem 1.25rem !important;
    font-size: 0.8125rem !important;
}

/* Mobile - single column stats */
@media (max-width: 480px) {
    .quiz-result .result-statistic,
    .result-statistic {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   Fill in the Blank - Clear Correct/Incorrect Styling
   ========================================================================== */

/* FIB Container */
.lp-fib-content,
.question-fill_in_blanks .question-content,
.question-fill-in-blank .question-content {
    font-size: 1rem;
    line-height: 2;
    color: var(--lpwoo-text-dark);
}

/* Answer wrapper */
.lp-fib-answered,
span.lp-fib-answered {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0 0.25rem;
    vertical-align: middle;
}

/* User's answer - base style */
.lp-fib-answered__answer,
span.lp-fib-answered__answer {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: var(--lpwoo-radius);
    font-weight: 600;
    min-width: 60px;
    text-align: center;
}

/* CORRECT answer - green */
.lp-fib-answered.correct .lp-fib-answered__answer,
.lp-fib-answered__answer.correct,
span.lp-fib-answered.correct .lp-fib-answered__answer {
    background: rgba(40, 167, 69, 0.15) !important;
    color: #28a745 !important;
    border: 2px solid #28a745 !important;
}

/* INCORRECT answer - red with strikethrough */
.lp-fib-answered.fail .lp-fib-answered__answer,
.lp-fib-answered.incorrect .lp-fib-answered__answer,
.lp-fib-answered__answer.fail,
.lp-fib-answered__answer.incorrect,
span.lp-fib-answered.fail .lp-fib-answered__answer {
    background: rgba(220, 53, 69, 0.15) !important;
    color: #dc3545 !important;
    border: 2px solid #dc3545 !important;
    text-decoration: line-through !important;
}

/* Correct answer hint (what it should be) - green label after wrong answer */
.lp-fib-answered__fill,
span.lp-fib-answered__fill,
.lp-fib-answered.fail .lp-fib-answered__fill {
    display: inline-block !important;
    padding: 0.25rem 0.5rem !important;
    background: #28a745 !important;
    color: #fff !important;
    border-radius: var(--lpwoo-radius) !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    margin-left: 0.5rem !important;
}

/* Add arrow before correct answer */
.lp-fib-answered.fail .lp-fib-answered__fill::before,
.lp-fib-answered.incorrect .lp-fib-answered__fill::before {
    content: '→ ';
}

/* Hide placeholder text after answering */
.lp-fib-answered .lp-fib-answered__fill[data-empty="true"],
.lp-fib-answered__fill:empty {
    display: none !important;
}

/* Question response summary */
.question-response {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin-top: 1rem !important;
    padding: 0.75rem 1rem !important;
    background: var(--lpwoo-bg) !important;
    border-radius: var(--lpwoo-radius) !important;
    font-size: 0.875rem !important;
}

.question-response.correct {
    background: rgba(40, 167, 69, 0.1) !important;
    border-left: 4px solid #28a745 !important;
}

.question-response.incorrect {
    background: rgba(220, 53, 69, 0.1) !important;
    border-left: 4px solid #dc3545 !important;
}

/* Points badge */
.question-response .point-note,
.point-note {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.25rem 0.625rem !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
}

/* Poprawne/Niepoprawne labels */
.question-response .status-correct,
.question-response .correct-label {
    color: #28a745 !important;
    font-weight: 600 !important;
}

.question-response .status-incorrect,
.question-response .incorrect-label {
    color: #dc3545 !important;
    font-weight: 600 !important;
}

/* Legend at bottom */
.question .fib-legend {
    display: flex;
    gap: 1.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--lpwoo-border);
    font-size: 0.75rem;
    color: var(--lpwoo-text-muted);
}

.fib-legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.fib-legend-item .sample-correct {
    padding: 0.125rem 0.375rem;
    background: rgba(40, 167, 69, 0.15);
    color: #28a745;
    border: 1px solid #28a745;
    border-radius: 3px;
    font-size: 0.6875rem;
}

.fib-legend-item .sample-incorrect {
    padding: 0.125rem 0.375rem;
    background: rgba(220, 53, 69, 0.15);
    color: #dc3545;
    border: 1px solid #dc3545;
    border-radius: 3px;
    font-size: 0.6875rem;
    text-decoration: line-through;
}

/* ==========================================================================
   Quiz Result Circle - Fixed Design
   ========================================================================== */

/* Result grade container */
.quiz-result .result-grade,
.result-grade {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 140px !important;
    height: 140px !important;
    margin: 0 auto 1.5rem auto !important;
}

/* SVG circle */
.quiz-result .circle-progress-bar,
.circle-progress-bar {
    width: 140px !important;
    height: 140px !important;
    transform: rotate(-90deg) !important;
}

.quiz-result .circle-progress-bar__circle,
.circle-progress-bar__circle {
    stroke-width: 8 !important;
    fill: transparent !important;
    stroke-linecap: round !important;
}

/* Background circle (track) */
.quiz-result .circle-progress-bar circle:first-child {
    stroke: var(--lpwoo-border) !important;
}

/* Result text - centered in circle */
.quiz-result .result-achieved,
.result-achieved {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: var(--lpwoo-text-dark) !important;
    line-height: 1 !important;
    text-align: center !important;
}

/* Passing grade - below percentage */
.quiz-result .result-require,
.result-require {
    position: absolute !important;
    bottom: -30px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-size: 0.75rem !important;
    color: var(--lpwoo-text-muted) !important;
    white-space: nowrap !important;
    background: var(--lpwoo-bg) !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 50px !important;
    border: 1px solid var(--lpwoo-border) !important;
}

.quiz-result .result-require::before {
    content: 'Próg: ' !important;
}

/* Pass/Fail message - below grade */
.quiz-result .result-message,
.result-message {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem 1.5rem !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    margin: 2rem auto 1.5rem auto !important;
}

.quiz-result.passed .result-message {
    background: #28a745 !important;
    color: #fff !important;
}

.quiz-result.failed .result-message {
    background: #dc3545 !important;
    color: #fff !important;
}

/* Circle colors based on result */
.quiz-result.passed .circle-progress-bar__circle {
    stroke: #28a745 !important;
}

.quiz-result.failed .circle-progress-bar__circle {
    stroke: #dc3545 !important;
}

/* Stats grid - 2 columns properly */
.quiz-result .result-statistic,
.result-statistic {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
    max-width: 320px !important;
    margin: 0 auto !important;
}

.result-statistic-field,
.result-statistic li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.5rem 0.75rem !important;
    background: var(--lpwoo-bg) !important;
    border-radius: var(--lpwoo-radius) !important;
    font-size: 0.75rem !important;
}

.result-statistic-field span,
.result-statistic li span {
    color: var(--lpwoo-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    font-size: 0.625rem !important;
}

.result-statistic-field p,
.result-statistic li p {
    margin: 0 !important;
    font-weight: 700 !important;
    color: var(--lpwoo-text-dark) !important;
    font-size: 0.875rem !important;
}

/* Full width for odd last item */
.result-statistic-field:last-child:nth-child(odd),
.result-statistic li:last-child:nth-child(odd) {
    grid-column: span 2 !important;
}

/* ==========================================================================
   Fix Confusing Labels in Fill-in-Blank Questions
   ========================================================================== */

/* Hide confusing "Poprawne Niepoprawne" labels */
.question-response .correct-label,
.question-response .incorrect-label,
.question-response:has(.point-note) > span:not(.point-note),
.lp-fib-answered__fill:empty,
span:contains("Poprawne"),
span:contains("Niepoprawne") {
    display: none !important;
}

/* Only show points badge */
.question-response {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem 1rem !important;
    background: var(--lpwoo-bg) !important;
    border-radius: var(--lpwoo-radius) !important;
    margin-top: 0.75rem !important;
}

/* Points badge styling */
.question-response .point-note,
.point-note {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.375rem 0.75rem !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 0.8125rem !important;
    background: var(--lpwoo-bg) !important;
    border: 2px solid var(--lpwoo-border) !important;
}

/* Green for correct */
.question-response.correct .point-note,
.question.correct .point-note {
    background: rgba(40, 167, 69, 0.15) !important;
    border-color: #28a745 !important;
    color: #28a745 !important;
}

/* Red for incorrect */
.question-response.incorrect .point-note,
.question.incorrect .point-note,
.question-response:not(.correct) .point-note {
    background: rgba(220, 53, 69, 0.15) !important;
    border-color: #dc3545 !important;
    color: #dc3545 !important;
}

/* Fill in blank - WRONG answer styling */
.lp-fib-answered.fail,
.lp-fib-answered.incorrect {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.375rem !important;
}

.lp-fib-answered.fail .lp-fib-answered__answer,
.lp-fib-answered.incorrect .lp-fib-answered__answer {
    background: rgba(220, 53, 69, 0.15) !important;
    color: #dc3545 !important;
    border: 2px solid #dc3545 !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: var(--lpwoo-radius) !important;
    text-decoration: line-through !important;
    font-weight: 600 !important;
}

/* Show correct answer after wrong one */
.lp-fib-answered.fail .lp-fib-answered__fill,
.lp-fib-answered.incorrect .lp-fib-answered__fill {
    display: inline-flex !important;
    align-items: center !important;
    background: #28a745 !important;
    color: #fff !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: var(--lpwoo-radius) !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}

.lp-fib-answered.fail .lp-fib-answered__fill::before {
    content: '→ ' !important;
    opacity: 0.7 !important;
}

/* Fill in blank - CORRECT answer styling */
.lp-fib-answered.correct .lp-fib-answered__answer {
    background: rgba(40, 167, 69, 0.15) !important;
    color: #28a745 !important;
    border: 2px solid #28a745 !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: var(--lpwoo-radius) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Hide the correct answer label when answer is correct (not needed) */
.lp-fib-answered.correct .lp-fib-answered__fill {
    display: none !important;
}

/* Clean up any remaining confusing text via JS will handle translation */

/* ==========================================================================
   Sidebar Sticky Fix
   ========================================================================== */

/* Course body - flex container */
.lpwoo-course-view .lpwoo-course-body {
    display: flex !important;
    align-items: flex-start !important;
}

/* Sidebar - sticky */
.lpwoo-course-view .lpwoo-course-sidebar {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    flex-shrink: 0 !important;
}

/* Content - scrollable */
.lpwoo-course-view .lpwoo-lesson-content {
    flex: 1 !important;
    min-height: 100vh !important;
    overflow: visible !important;
}

/* If there's a header, adjust top */
.lpwoo-course-view .lpwoo-course-header + .lpwoo-course-body .lpwoo-course-sidebar {
    top: 0 !important;
    height: 100vh !important;
}

@media (max-width: 992px) {
    .lpwoo-course-view .lpwoo-course-sidebar {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        max-height: none !important;
    }
}

/* ==========================================================================
   Quiz Result - Complete Fix
   ========================================================================== */

/* Reset all previous styles */
.quiz-result,
.quiz-result * {
    box-sizing: border-box !important;
}

.quiz-result {
    text-align: center !important;
    padding: 2rem 1.5rem !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 1.5rem !important;
}

/* Heading */
.quiz-result .result-heading {
    display: none !important;
}

/* Grade circle wrapper */
.quiz-result .result-grade {
    position: relative !important;
    width: 160px !important;
    height: 160px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* SVG */
.quiz-result .result-grade svg,
.quiz-result .circle-progress-bar {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 160px !important;
    height: 160px !important;
    transform: rotate(-90deg) !important;
}

/* Percentage in center */
.quiz-result .result-achieved {
    position: relative !important;
    z-index: 2 !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--lpwoo-text-dark) !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
}

/* Passing grade - under percentage */
.quiz-result .result-require {
    position: absolute !important;
    bottom: 35px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-size: 0.75rem !important;
    color: var(--lpwoo-text-muted) !important;
    z-index: 2 !important;
    white-space: nowrap !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

.quiz-result .result-require::before {
    content: 'Próg: ' !important;
}

/* Pass/fail message */
.quiz-result .result-message {
    margin: 0 !important;
    padding: 0.625rem 1.5rem !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-size: 0.9375rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Statistics */
.quiz-result .result-statistic {
    width: 100% !important;
    max-width: 400px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.quiz-result .result-statistic li,
.quiz-result .result-statistic-field {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.75rem 1rem !important;
    background: var(--lpwoo-bg) !important;
    border-radius: var(--lpwoo-radius) !important;
    border-bottom: 1px dashed var(--lpwoo-border) !important;
}

.quiz-result .result-statistic li span,
.quiz-result .result-statistic-field span {
    font-size: 0.6875rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--lpwoo-text-muted) !important;
    font-weight: 500 !important;
}

.quiz-result .result-statistic li p,
.quiz-result .result-statistic-field p {
    margin: 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--lpwoo-text-dark) !important;
}

/* Last odd item full width */
.quiz-result .result-statistic li:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
}

/* Quiz buttons below */
.quiz-result ~ .quiz-buttons,
.quiz-buttons {
    margin-top: 1rem !important;
    padding: 1rem !important;
    display: flex !important;
    justify-content: center !important;
    gap: 1rem !important;
    flex-wrap: wrap !important;
}

/* ==========================================================================
   STICKY SIDEBAR - Final Fix
   ========================================================================== */

/* Main wrapper needs proper setup */
.lpwoo-course-view {
    display: flex !important;
    min-height: 100vh !important;
}

/* Sidebar sticky */
.lpwoo-course-sidebar {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    width: 280px !important;
    min-width: 280px !important;
    overflow-y: auto !important;
    background: var(--lpwoo-bg) !important;
    border-right: 1px solid var(--lpwoo-border) !important;
    flex-shrink: 0 !important;
    align-self: flex-start !important;
}

/* Content area */
.lpwoo-lesson-content {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 2rem !important;
}

/* ==========================================================================
   POINTS COLOR FIX - 0 = red, >0 = green
   ========================================================================== */

/* Default - red for 0 points */
.question-response,
.question-response .point-note,
.point-note {
    background: rgba(220, 53, 69, 0.1) !important;
    border-color: #dc3545 !important;
    color: #dc3545 !important;
}

/* Green ONLY when class is correct */
.question.correct .question-response,
.question.correct .point-note,
.question-response.correct,
.question-response.correct .point-note {
    background: rgba(40, 167, 69, 0.1) !important;
    border-color: #28a745 !important;
    color: #28a745 !important;
}

/* Badge with "Poprawnie" should be green */
.question-response .badge-correct,
.question-response span.correct,
span:contains("Poprawnie").correct {
    background: #28a745 !important;
    color: #fff !important;
}

/* Fill-in-blank specific - check for 0 points */
.lp-fib-content ~ .question-response,
.question-fill_in_blanks .question-response {
    background: rgba(220, 53, 69, 0.1) !important;
    color: #dc3545 !important;
}

/* FIB correct */
.question-fill_in_blanks.correct .question-response,
.lp-fib-content ~ .question-response.correct {
    background: rgba(40, 167, 69, 0.1) !important;
    color: #28a745 !important;
}

/* Punkty badge styling */
.question-response .btn-points,
button.btn-points {
    background: #6c757d !important;
    color: #fff !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 4px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    border: none !important;
}

/* Hide "Poprawnie" text when it shows incorrectly */
.question-response > span:not(.point-note):not(.btn-points) {
    display: none !important;
}

/* Only show point-note */
.question-response .point-note {
    display: inline-block !important;
}

/* ==========================================================================
   Points Color - Final Fix Based on Class
   ========================================================================== */

/* Red for incorrect (0 points) */
.question.incorrect .question-response,
.question-response.incorrect {
    background: rgba(220, 53, 69, 0.1) !important;
    border-left: 4px solid #dc3545 !important;
    color: #dc3545 !important;
}

.question.incorrect .point-note,
.question-response.incorrect .point-note {
    background: rgba(220, 53, 69, 0.15) !important;
    border: 2px solid #dc3545 !important;
    color: #dc3545 !important;
}

/* Green for correct (full points) */
.question.correct .question-response,
.question-response.correct {
    background: rgba(40, 167, 69, 0.1) !important;
    border-left: 4px solid #28a745 !important;
    color: #28a745 !important;
}

.question.correct .point-note,
.question-response.correct .point-note {
    background: rgba(40, 167, 69, 0.15) !important;
    border: 2px solid #28a745 !important;
    color: #28a745 !important;
}

/* ==========================================================================
   STICKY SIDEBAR - Complete Fix
   ========================================================================== */

/* Body container - must be flex for sticky to work */
.lpwoo-course-body {
    display: flex !important;
    align-items: stretch !important;
    min-height: calc(100vh - 60px) !important;
}

/* Sidebar - sticky positioning */
.lpwoo-course-body .lpwoo-course-sidebar {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    flex-shrink: 0 !important;
    width: 280px !important;
    min-width: 280px !important;
    background: var(--lpwoo-sidebar-bg, #f5f1ef) !important;
    border-right: 1px solid var(--lpwoo-border) !important;
    z-index: 10 !important;
}

/* Content - takes remaining space */
.lpwoo-course-body .lpwoo-lesson-content {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: visible !important;
}

/* Mobile - sidebar not sticky */
@media (max-width: 992px) {
    .lpwoo-course-body {
        display: block !important;
    }
    
    .lpwoo-course-body .lpwoo-course-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: -300px !important;
        width: 280px !important;
        height: 100vh !important;
        z-index: 1000 !important;
        transition: left 0.3s ease !important;
    }
    
    .lpwoo-course-body .lpwoo-course-sidebar.expanded {
        left: 0 !important;
    }
}

/* ==========================================================================
   Quiz Result - Clean Design (No Progress Circle)
   ========================================================================== */

/* Hide the circle completely */
.quiz-result .result-grade svg,
.quiz-result .circle-progress-bar,
.quiz-result svg.circle-progress-bar {
    display: none !important;
}

/* Result grade container - just text */
.quiz-result .result-grade {
    width: auto !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    padding: 2rem 3rem !important;
    background: var(--lpwoo-bg) !important;
    border-radius: var(--lpwoo-radius-lg, 12px) !important;
    margin-bottom: 1.5rem !important;
}

/* Main percentage - big and bold */
.quiz-result .result-achieved {
    position: relative !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    font-size: 3.5rem !important;
    font-weight: 800 !important;
    color: var(--lpwoo-text-dark) !important;
    line-height: 1 !important;
}

/* Passed - green */
.quiz-result.passed .result-achieved {
    color: #28a745 !important;
}

/* Failed - red */
.quiz-result.failed .result-achieved {
    color: #dc3545 !important;
}

/* Passing grade - styled label */
.quiz-result .result-require {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    font-size: 0.875rem !important;
    color: var(--lpwoo-text-muted) !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.quiz-result .result-require::before {
    content: 'Próg zaliczenia:' !important;
    font-weight: 500 !important;
}

/* Pass/Fail badge */
.quiz-result .result-message {
    margin-top: 0.5rem !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.quiz-result.passed .result-message {
    background: rgba(40, 167, 69, 0.15) !important;
    color: #28a745 !important;
}

.quiz-result.failed .result-message {
    background: rgba(220, 53, 69, 0.15) !important;
    color: #dc3545 !important;
}

/* ==========================================================================
   Question Response - Show Points and Status
   ========================================================================== */

/* Response bar - show it */
.question-response {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.75rem 1rem !important;
    margin-top: 1rem !important;
    border-radius: var(--lpwoo-radius) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
}

/* Correct response - green */
.question.correct .question-response,
.question-response.correct {
    background: rgba(40, 167, 69, 0.1) !important;
    border-left: 4px solid #28a745 !important;
    color: #28a745 !important;
}

/* Incorrect response - red */
.question.incorrect .question-response,
.question-response.incorrect {
    background: rgba(220, 53, 69, 0.1) !important;
    border-left: 4px solid #dc3545 !important;
    color: #dc3545 !important;
}

/* Points display */
.question-response .point-note,
.point-note {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.25rem 0.625rem !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    font-size: 0.8125rem !important;
    background: rgba(0,0,0,0.05) !important;
}

.question.correct .point-note {
    background: #28a745 !important;
    color: #fff !important;
}

.question.incorrect .point-note {
    background: #dc3545 !important;
    color: #fff !important;
}

/* Status text after points */
.question-response::after {
    font-weight: 500 !important;
}

.question.correct .question-response::after {
    content: 'Poprawnie' !important;
    color: #28a745 !important;
}

.question.incorrect .question-response::after {
    content: 'Błędnie' !important;
    color: #dc3545 !important;
}

/* Show all spans in response */
.question-response span {
    display: inline-flex !important;
}

/* Hide only specific confusing duplicates */
.question-response > span:empty {
    display: none !important;
}

/* ==========================================================================
   HIDE CIRCLE COMPLETELY - Force
   ========================================================================== */

/* Kill the circle SVG */
.quiz-result svg,
.quiz-result .circle-progress-bar,
.quiz-result .result-grade svg,
.result-grade svg,
svg.circle-progress-bar,
.circle-progress-bar__circle,
.lp-quiz-result svg,
.quiz-result .result-grade > svg,
.result-grade > svg {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Result grade - clean box without circle */
.quiz-result .result-grade,
.result-grade {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.25rem !important;
    padding: 1.5rem 2rem !important;
    background: transparent !important;
    margin: 0 0 1rem 0 !important;
}

/* Big percentage */
.quiz-result .result-achieved,
.result-achieved {
    position: static !important;
    transform: none !important;
    font-size: 3rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

/* Passing grade text */
.quiz-result .result-require,
.result-require {
    position: static !important;
    transform: none !important;
    font-size: 0.875rem !important;
    color: #888 !important;
    margin-top: 0.25rem !important;
}

.quiz-result .result-require::before {
    content: '' !important;
}

/* ==========================================================================
   KILL THE CIRCLE PSEUDO-ELEMENT
   ========================================================================== */

/* Remove circle pseudo-elements */
.quiz-result .result-grade::before,
.quiz-result .result-grade::after,
.result-grade::before,
.result-grade::after {
    display: none !important;
    content: none !important;
}

/* Result grade container - tight layout */
.quiz-result .result-grade,
.result-grade {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.25rem !important;
    padding: 1rem !important;
    background: none !important;
    border: none !important;
    margin-bottom: 0.5rem !important;
}

/* Percentage - big */
.quiz-result .result-achieved,
.result-achieved {
    font-size: 2.75rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* Red for failed */
.quiz-result.failed .result-achieved {
    color: #dc3545 !important;
}

/* Green for passed */
.quiz-result.passed .result-achieved {
    color: #28a745 !important;
}

/* Passing grade - with label */
.quiz-result .result-require,
.result-require {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    font-size: 0.875rem !important;
    color: #666 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* Add "Próg:" label */
.quiz-result .result-require::before,
.result-require::before {
    content: 'Próg: ' !important;
    display: inline !important;
    font-weight: 500 !important;
}

/* ==========================================================================
   Quiz Result - Tight Spacing
   ========================================================================== */

/* Main result container */
.quiz-result {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 1.5rem !important;
}

/* Grade section - no extra spacing */
.quiz-result .result-grade,
.result-grade,
#quizResultGrade {
    margin: 0 !important;
    padding: 0 !important;
    gap: 0.125rem !important;
}

/* Percentage */
.quiz-result .result-achieved {
    margin: 0 !important;
    padding: 0 !important;
}

/* Próg */
.quiz-result .result-require {
    margin: 0 0 0.5rem 0 !important;
    padding: 0 !important;
}

/* Pass/Fail message - tight */
.quiz-result .result-message,
.result-message {
    margin: 0 !important;
    padding: 0.5rem 1.25rem !important;
}

/* Statistics - tight */
.quiz-result .result-statistic {
    margin-top: 0.5rem !important;
}

/* ==========================================================================
   Quiz & Results - Responsive Design
   ========================================================================== */

/* Mobile First - Base styles */

/* Quiz container */
.lpwoo-quiz-wrapper,
#content-item-quiz {
    padding: 1rem !important;
}

/* Question card */
.question {
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    border-radius: var(--lpwoo-radius) !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}

/* Question title */
.question .question-title,
.question h4 {
    font-size: 1rem !important;
    margin-bottom: 0.75rem !important;
    line-height: 1.4 !important;
}

/* Answer options */
.question .answer-option,
.question .question-answer {
    padding: 0.75rem !important;
    margin-bottom: 0.5rem !important;
    font-size: 0.9375rem !important;
}

/* Fill in blank inputs */
.lp-fib-input,
input[type="text"].lp-fib-input {
    min-width: 80px !important;
    max-width: 150px !important;
    padding: 0.375rem 0.5rem !important;
    font-size: 0.875rem !important;
}

/* Quiz result on mobile */
.quiz-result {
    padding: 1rem !important;
    margin: 0 !important;
}

.quiz-result .result-achieved {
    font-size: 2.25rem !important;
}

.quiz-result .result-require {
    font-size: 0.8125rem !important;
}

.quiz-result .result-message {
    font-size: 0.75rem !important;
    padding: 0.375rem 1rem !important;
}

/* Stats grid - stack on mobile */
.quiz-result .result-statistic {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem !important;
    font-size: 0.8125rem !important;
}

.quiz-result .result-statistic li {
    padding: 0.5rem 0.75rem !important;
}

.quiz-result .result-statistic li span {
    font-size: 0.625rem !important;
}

.quiz-result .result-statistic li p {
    font-size: 0.875rem !important;
}

/* Quiz buttons */
.quiz-buttons,
.lp-quiz-buttons {
    flex-direction: column !important;
    gap: 0.5rem !important;
    padding: 1rem !important;
}

.quiz-buttons button,
.quiz-buttons .button,
.lp-quiz-buttons button {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.875rem !important;
}

/* Previous attempts table */
.quiz-result ~ .previous-attempts,
.lp-quiz-history {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.quiz-result ~ .previous-attempts table,
.lp-quiz-history table {
    min-width: 500px !important;
    font-size: 0.75rem !important;
}

/* Navigation buttons */
.lpwoo-quiz-nav,
.lp-quiz-nav {
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}

/* ==========================================================================
   Tablet (min-width: 576px)
   ========================================================================== */
@media (min-width: 576px) {
    .lpwoo-quiz-wrapper,
    #content-item-quiz {
        padding: 1.5rem !important;
    }
    
    .question {
        padding: 1.25rem !important;
    }
    
    .question .question-title,
    .question h4 {
        font-size: 1.0625rem !important;
    }
    
    .quiz-result .result-achieved {
        font-size: 2.5rem !important;
    }
    
    .quiz-buttons,
    .lp-quiz-buttons {
        flex-direction: row !important;
        justify-content: center !important;
    }
    
    .quiz-buttons button,
    .quiz-buttons .button {
        width: auto !important;
        min-width: 150px !important;
    }
}

/* ==========================================================================
   Desktop (min-width: 768px)
   ========================================================================== */
@media (min-width: 768px) {
    .lpwoo-quiz-wrapper,
    #content-item-quiz {
        padding: 2rem !important;
    }
    
    .question {
        padding: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    
    .question .question-title,
    .question h4 {
        font-size: 1.125rem !important;
    }
    
    .question .answer-option,
    .question .question-answer {
        padding: 1rem !important;
        font-size: 1rem !important;
    }
    
    .lp-fib-input,
    input[type="text"].lp-fib-input {
        min-width: 100px !important;
        max-width: 200px !important;
    }
    
    .quiz-result {
        padding: 1.5rem !important;
    }
    
    .quiz-result .result-achieved {
        font-size: 2.75rem !important;
    }
    
    .quiz-result .result-require {
        font-size: 0.875rem !important;
    }
    
    .quiz-result .result-statistic {
        max-width: 400px !important;
    }
    
    .quiz-result .result-statistic li span {
        font-size: 0.6875rem !important;
    }
    
    .quiz-result .result-statistic li p {
        font-size: 1rem !important;
    }
}

/* ==========================================================================
   Large Desktop (min-width: 992px)
   ========================================================================== */
@media (min-width: 992px) {
    .lpwoo-quiz-wrapper,
    #content-item-quiz {
        max-width: 900px !important;
        margin: 0 auto !important;
    }
    
    .quiz-result .result-achieved {
        font-size: 3rem !important;
    }
}

/* ==========================================================================
   Question Number Navigation - Responsive
   ========================================================================== */
.lp-quiz-question-numbers,
.question-numbers {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.375rem !important;
    padding: 0.75rem !important;
    justify-content: center !important;
}

.lp-quiz-question-numbers .question-number,
.question-numbers .num {
    width: 32px !important;
    height: 32px !important;
    font-size: 0.75rem !important;
    border-radius: 4px !important;
}

@media (min-width: 576px) {
    .lp-quiz-question-numbers .question-number,
    .question-numbers .num {
        width: 36px !important;
        height: 36px !important;
        font-size: 0.8125rem !important;
    }
}

/* ==========================================================================
   Fill in Blank - Responsive
   ========================================================================== */
.lp-fib-content {
    line-height: 2.25 !important;
}

.lp-fib-answered {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.25rem !important;
}

.lp-fib-answered__answer,
.lp-fib-answered__fill {
    font-size: 0.8125rem !important;
    padding: 0.25rem 0.5rem !important;
}

@media (min-width: 576px) {
    .lp-fib-answered__answer,
    .lp-fib-answered__fill {
        font-size: 0.875rem !important;
    }
}

/* ==========================================================================
   iPhone / Small Mobile Fix
   ========================================================================== */

/* Quiz result - full width on small screens */
@media (max-width: 480px) {
    /* Result container */
    .quiz-result {
        padding: 0.75rem !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Percentage smaller */
    .quiz-result .result-achieved {
        font-size: 2rem !important;
    }
    
    .quiz-result .result-require {
        font-size: 0.75rem !important;
    }
    
    .quiz-result .result-message {
        font-size: 0.6875rem !important;
        padding: 0.375rem 0.75rem !important;
    }
    
    /* Statistics - single column on very small */
    .quiz-result .result-statistic {
        grid-template-columns: 1fr !important;
        gap: 0.375rem !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .quiz-result .result-statistic li {
        display: flex !important;
        justify-content: space-between !important;
        padding: 0.5rem 0.75rem !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .quiz-result .result-statistic li span {
        font-size: 0.6875rem !important;
    }
    
    .quiz-result .result-statistic li p {
        font-size: 0.875rem !important;
        margin: 0 !important;
    }
    
    /* Buttons stack */
    .quiz-buttons {
        flex-direction: column !important;
        padding: 0.75rem !important;
        gap: 0.5rem !important;
    }
    
    .quiz-buttons button,
    .quiz-buttons .button,
    .quiz-buttons a {
        width: 100% !important;
        padding: 0.75rem !important;
        font-size: 0.8125rem !important;
        box-sizing: border-box !important;
    }
    
    /* Previous attempts - scroll */
    .lp-quiz-history,
    .previous-attempts {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        margin: 0 -0.75rem !important;
        padding: 0 0.75rem !important;
    }
    
    .lp-quiz-history table,
    .previous-attempts table {
        min-width: 400px !important;
        font-size: 0.6875rem !important;
    }
    
    .lp-quiz-history th,
    .lp-quiz-history td,
    .previous-attempts th,
    .previous-attempts td {
        padding: 0.5rem 0.375rem !important;
        white-space: nowrap !important;
    }
    
    /* Quiz content */
    .lpwoo-quiz-wrapper,
    #content-item-quiz {
        padding: 0.75rem !important;
    }
    
    /* Questions */
    .question {
        padding: 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    .question .question-title,
    .question h4 {
        font-size: 0.9375rem !important;
    }
    
    .question .answer-option {
        padding: 0.625rem !important;
        font-size: 0.875rem !important;
    }
    
    /* Fill in blank */
    .lp-fib-input {
        min-width: 60px !important;
        max-width: 100px !important;
        font-size: 0.8125rem !important;
        padding: 0.25rem 0.375rem !important;
    }
    
    .lp-fib-answered__answer,
    .lp-fib-answered__fill {
        font-size: 0.75rem !important;
        padding: 0.1875rem 0.375rem !important;
    }
}

/* Extra small (iPhone SE, etc) */
@media (max-width: 375px) {
    .quiz-result .result-achieved {
        font-size: 1.75rem !important;
    }
    
    .quiz-result .result-statistic li {
        padding: 0.375rem 0.5rem !important;
    }
    
    .quiz-result .result-statistic li span {
        font-size: 0.625rem !important;
    }
    
    .quiz-result .result-statistic li p {
        font-size: 0.8125rem !important;
    }
}

/* ==========================================================================
   Lesson Content - Responsive Fix
   ========================================================================== */

/* Lesson content container */
.lpwoo-lesson-content,
.lpwoo-lesson-body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* Lesson body text */
.lpwoo-lesson-body p,
.lpwoo-lesson-body li,
.lpwoo-lesson-body span {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
}

/* Video responsive */
.lpwoo-lesson-body video,
.lpwoo-lesson-body iframe,
.lpwoo-lesson-body .wp-video,
.lpwoo-lesson-body .wp-block-video,
.lpwoo-lesson-body .wp-block-embed {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
}

.lpwoo-lesson-body iframe {
    aspect-ratio: 16/9 !important;
}

/* Images responsive */
.lpwoo-lesson-body img {
    max-width: 100% !important;
    height: auto !important;
}

/* Materials section */
.lpwoo-lesson-materials,
.lpwoo-materials {
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 480px) {
    /* Lesson wrapper */
    .lpwoo-lesson {
        padding: 0 !important;
    }
    
    .lpwoo-lesson-header {
        padding: 0.75rem !important;
    }
    
    .lpwoo-lesson-title {
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
    }
    
    .lpwoo-lesson-body {
        padding: 0.75rem !important;
        font-size: 0.9375rem !important;
        line-height: 1.6 !important;
    }
    
    .lpwoo-lesson-body p {
        margin-bottom: 1rem !important;
    }
    
    /* Video player */
    .lpwoo-lesson-body .mejs-container,
    .lpwoo-lesson-body .wp-video {
        margin: 0 -0.75rem !important;
        width: calc(100% + 1.5rem) !important;
        max-width: calc(100% + 1.5rem) !important;
    }
    
    /* Materials */
    .lpwoo-lesson-materials {
        padding: 0.75rem !important;
        margin-top: 1rem !important;
    }
    
    .lpwoo-lesson-materials h3,
    .lpwoo-materials-title {
        font-size: 1rem !important;
    }
    
    .lpwoo-material-item,
    .lpwoo-lesson-materials a {
        padding: 0.625rem !important;
        font-size: 0.875rem !important;
    }
    
    /* Main content area */
    .lpwoo-lesson-content {
        padding: 0 !important;
    }
    
    /* Floating button position */
    .lpwoo-floating-btn {
        bottom: 1rem !important;
        right: 1rem !important;
        padding: 0.625rem 1rem !important;
        font-size: 0.8125rem !important;
    }
}

/* Extra small screens */
@media (max-width: 375px) {
    .lpwoo-lesson-title {
        font-size: 1.125rem !important;
    }
    
    .lpwoo-lesson-body {
        font-size: 0.875rem !important;
        padding: 0.5rem !important;
    }
}

/* ==========================================================================
   Lesson Content - User Requested Spacing
   ========================================================================== */

.lpwoo-lesson-content {
    max-width: 100% !important;
    padding: 10px !important;
}

.lpwoo-lesson-body {
    padding: 5px !important;
}

/* ==========================================================================
   Lesson Content - Updated Spacing
   ========================================================================== */

.lpwoo-lesson-content {
    padding: 10px !important;
}

.lpwoo-lesson-body {
    padding: 10px !important;
}

/* Lesson content padding fix */
.lpwoo-course-view .lpwoo-lesson-content {
    padding: 10px !important;
}

/* ==========================================================================
   Video Width Fix
   ========================================================================== */

.lpwoo-lesson-body video,
.lpwoo-lesson-body .wp-video,
.lpwoo-lesson-body .mejs-container,
.lpwoo-lesson-body .wp-block-video,
.lpwoo-lesson-body iframe,
.lpwoo-course-view video,
.lpwoo-course-view .wp-video,
.lpwoo-course-view .mejs-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.lpwoo-lesson-body .mejs-container {
    padding: 0 !important;
}

.lpwoo-lesson-body .mejs-overlay,
.lpwoo-lesson-body .mejs-poster {
    width: 100% !important;
}

/* Sidebar module titles - smaller */
.lpwoo-course-sidebar .lpwoo-section-title,
.lpwoo-course-sidebar .lpwoo-section-header,
.lpwoo-course-sidebar .lpwoo-section-header span,
.lpwoo-curriculum .lpwoo-section-title {
    font-size: 0.75rem !important;
}

/* ==========================================================================
   Sidebar - Smaller Lesson Names
   ========================================================================== */

/* Lesson names in sidebar */
.lpwoo-course-sidebar .lpwoo-lesson-link,
.lpwoo-course-sidebar .lpwoo-lesson-title,
.lpwoo-curriculum .lpwoo-lesson-link,
.lpwoo-section-items a {
    font-size: 0.8125rem !important;
}

/* ==========================================================================
   Mobile Header - Burger instead of Back Arrow
   ========================================================================== */

@media (max-width: 992px) {
    /* Hide back arrow on mobile */
    .lpwoo-course-header .lpwoo-back-link {
        display: none !important;
    }
    
    /* Show burger menu button */
    .lpwoo-course-header .lpwoo-menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 0 !important;
    }
    
    .lpwoo-course-header .lpwoo-menu-toggle svg {
        width: 24px !important;
        height: 24px !important;
        color: var(--lpwoo-text-dark) !important;
    }
}

/* Desktop - hide burger, show back link */
@media (min-width: 993px) {
    .lpwoo-course-header .lpwoo-menu-toggle {
        display: none !important;
    }
}

/* ==========================================================================
   Sidebar Footer - Back Link
   ========================================================================== */

.lpwoo-sidebar-footer {
    padding: 1rem !important;
    margin-top: auto !important;
    border-top: 1px solid var(--lpwoo-border) !important;
}

.lpwoo-sidebar-back {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.75rem 1rem !important;
    background: var(--lpwoo-bg) !important;
    border-radius: var(--lpwoo-radius) !important;
    color: var(--lpwoo-text-dark) !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: background 0.2s !important;
}

.lpwoo-sidebar-back:hover {
    background: var(--lpwoo-border) !important;
}

.lpwoo-sidebar-back svg {
    flex-shrink: 0 !important;
}

/* Make sidebar flex to push footer to bottom */
.lpwoo-course-sidebar {
    display: flex !important;
    flex-direction: column !important;
}

.lpwoo-curriculum {
    flex: 1 !important;
    overflow-y: auto !important;
}

/* ==========================================================================
   Mobile Header - Burger Menu
   ========================================================================== */

/* Burger button - hidden on desktop by default */
.lpwoo-menu-toggle {
    display: none !important;
}

@media (max-width: 992px) {
    /* Show burger on mobile */
    .lpwoo-menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 0 !important;
        color: var(--lpwoo-text-dark) !important;
    }
    
    /* Hide back link on mobile */
    .lpwoo-back-link {
        display: none !important;
    }
    
    /* Hide separator on mobile */
    .lpwoo-header-separator {
        display: none !important;
    }
    
    /* Hide floating button since we have burger now */
    .lpwoo-floating-btn {
        display: none !important;
    }
}

/* ==========================================================================
   Desktop Fixes - Sidebar White BG & Wider Results
   ========================================================================== */

/* Sidebar white background on desktop */
@media (min-width: 993px) {
    .lpwoo-course-sidebar {
        background: #fff !important;
    }
}

/* Quiz results box - wider on desktop */
@media (min-width: 768px) {
    .quiz-result {
        max-width: 600px !important;
        width: 100% !important;
        margin: 0 auto !important;
        padding: 2rem !important;
    }
    
    .quiz-result .result-statistic {
        max-width: 100% !important;
        width: 100% !important;
    }
}

@media (min-width: 992px) {
    .quiz-result {
        max-width: 700px !important;
        padding: 2.5rem !important;
    }
    
    /* Stats in 2 columns, wider */
    .quiz-result .result-statistic {
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
    }
    
    .quiz-result .result-statistic li {
        padding: 1rem 1.25rem !important;
    }
}

/* Previous attempts table - wider */
@media (min-width: 768px) {
    .lp-quiz-history,
    .quiz-history,
    [class*="previous-attempts"] {
        max-width: 700px !important;
        margin: 1.5rem auto !important;
    }
}

/* ==========================================================================
   FORCE FIXES - Sidebar White & Results Compact
   ========================================================================== */

/* SIDEBAR - WHITE BACKGROUND */
.lpwoo-course-sidebar,
.lpwoo-course-view .lpwoo-course-sidebar,
.lpwoo-course-body .lpwoo-course-sidebar,
aside.lpwoo-course-sidebar {
    background: #fff !important;
    background-color: #fff !important;
}

/* QUIZ RESULTS - COMPACT & FULL WIDTH */
.quiz-result {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 1rem !important;
    box-sizing: border-box !important;
}

.quiz-result .result-grade {
    padding: 0.75rem !important;
    margin-bottom: 0.5rem !important;
    gap: 0.125rem !important;
}

.quiz-result .result-achieved {
    font-size: 2.25rem !important;
    margin: 0 !important;
}

.quiz-result .result-require {
    font-size: 0.8125rem !important;
    margin: 0 !important;
}

.quiz-result .result-message {
    margin: 0.5rem 0 !important;
    padding: 0.375rem 1rem !important;
    font-size: 0.75rem !important;
}

/* Stats - compact */
.quiz-result .result-statistic {
    width: 100% !important;
    max-width: none !important;
    gap: 0.375rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.quiz-result .result-statistic li {
    padding: 0.5rem 0.75rem !important;
    margin: 0 !important;
}

.quiz-result .result-statistic li span {
    font-size: 0.625rem !important;
}

.quiz-result .result-statistic li p {
    font-size: 0.875rem !important;
    margin: 0 !important;
}

/* Quiz buttons - full width */
.quiz-buttons,
.lp-quiz-buttons {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 1rem !important;
    box-sizing: border-box !important;
}

/* Previous attempts - full width */
.lp-quiz-history,
.quiz-history {
    width: 100% !important;
    max-width: none !important;
    margin: 1rem 0 !important;
    padding: 0 1rem !important;
    box-sizing: border-box !important;
}

.lp-quiz-history table {
    width: 100% !important;
}

/* Remove any centering/margins on wrapper */
.lpwoo-quiz-wrapper,
#content-item-quiz {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Lesson content - no extra margins */
.lpwoo-lesson-content article,
.lpwoo-lesson {
    margin: 0 !important;
    max-width: none !important;
}

/* ==========================================================================
   FIX - Only Quiz Result Box Wider, Not Everything
   ========================================================================== */

/* Reset lesson content to normal */
.lpwoo-lesson-content article,
.lpwoo-lesson {
    max-width: 800px !important;
    margin: 0 auto !important;
}

.lpwoo-quiz-wrapper,
#content-item-quiz {
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 1rem !important;
}

/* ONLY the result box - full width inside its container */
.quiz-result {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.5rem !important;
    margin: 0 !important;
    background: var(--lpwoo-bg) !important;
    border-radius: var(--lpwoo-radius) !important;
}

/* Compact spacing inside result */
.quiz-result .result-grade {
    padding: 0.5rem !important;
    margin-bottom: 0.25rem !important;
}

.quiz-result .result-achieved {
    font-size: 2.5rem !important;
}

.quiz-result .result-require {
    font-size: 0.875rem !important;
}

.quiz-result .result-message {
    margin: 0.5rem 0 !important;
}

/* Stats full width inside result box */
.quiz-result .result-statistic {
    width: 100% !important;
    max-width: 100% !important;
    gap: 0.5rem !important;
}

.quiz-result .result-statistic li {
    padding: 0.625rem 1rem !important;
}

/* ==========================================================================
   Quiz Stats - Colored Values
   ========================================================================== */

/* Poprawnie - green */
.quiz-result .result-statistic li:has(span:contains("POPRAWNIE")) p,
.quiz-result .result-statistic li:nth-child(4) p {
    color: #28a745 !important;
    font-weight: 700 !important;
}

/* Błędów - red */
.quiz-result .result-statistic li:has(span:contains("BŁĘDÓW")) p,
.quiz-result .result-statistic li:nth-child(5) p {
    color: #dc3545 !important;
    font-weight: 700 !important;
}

/* ==========================================================================
   Quiz Stats Colors - CSS Only (React-proof)
   ========================================================================== */

/* POPRAWNIE - green (4th item in grid) */
.result-statistic li:nth-child(4) p,
.quiz-result .result-statistic li:nth-child(4) p {
    color: #28a745 !important;
    font-weight: 700 !important;
}

/* BŁĘDÓW - red (5th item in grid) */
.result-statistic li:nth-child(5) p,
.quiz-result .result-statistic li:nth-child(5) p {
    color: #dc3545 !important;
    font-weight: 700 !important;
}

/* Hide POMINIĘTE (6th) and MINUS PKTS (7th) when value is 0 */
/* Can't detect value with CSS, so we use JS but make it persistent */
.result-statistic li.hide-zero,
.quiz-result .result-statistic li.hide-zero {
    display: none !important;
}

/* Alternative: target by content using attribute selectors if data attrs exist */
.result-statistic li[data-value="0"]:nth-child(n+6),
.quiz-result .result-statistic li[data-value="0"]:nth-child(n+6) {
    display: none !important;
}

/* ==========================================================================
   FIX - Scope all quiz styles to course view only
   ========================================================================== */

/* Reset any damage to course cards outside course view */
.woocommerce-MyAccount-content li,
.lpwoo-courses-grid li,
.lpwoo-course-card li {
    display: list-item !important;
    padding: revert !important;
    background: none !important;
}

.lpwoo-course-card,
.woocommerce-MyAccount-content .lpwoo-course-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
}

.lpwoo-course-card .lpwoo-card-body {
    flex: 0 0 auto !important;
    padding: 1rem !important;
}

.lpwoo-course-card .lpwoo-card-footer {
    margin-top: auto !important;
}

/* ==========================================================================
   Fill in Blank - Responsive Fix
   ========================================================================== */

/* FIB content - inline flow */
.lp-fib-content,
.question-fill_in_blanks .question-content,
.question-fill-in-blank .question-content {
    display: block !important;
    line-height: 2.2 !important;
    word-wrap: break-word !important;
}

/* FIB input field */
.lp-fib-input,
input.lp-fib-input,
.question-fill_in_blanks input[type="text"] {
    display: inline-block !important;
    width: auto !important;
    min-width: 80px !important;
    max-width: 100% !important;
    padding: 0.375rem 0.5rem !important;
    margin: 0.125rem !important;
    border: 2px solid var(--lpwoo-border) !important;
    border-radius: var(--lpwoo-radius) !important;
    font-size: inherit !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

/* FIB answered wrapper - inline */
.lp-fib-answered {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.25rem !important;
    margin: 0.125rem !important;
    vertical-align: middle !important;
}

/* User answer */
.lp-fib-answered__answer {
    display: inline-block !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: var(--lpwoo-radius) !important;
    font-weight: 600 !important;
    word-break: break-word !important;
}

/* Correct answer hint */
.lp-fib-answered__fill {
    display: inline-block !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: var(--lpwoo-radius) !important;
    font-weight: 600 !important;
    word-break: break-word !important;
}

/* Mobile specific */
@media (max-width: 480px) {
    .lp-fib-content {
        line-height: 2.5 !important;
        font-size: 0.9375rem !important;
    }
    
    .lp-fib-input,
    input.lp-fib-input {
        min-width: 60px !important;
        padding: 0.25rem 0.375rem !important;
        font-size: 0.875rem !important;
    }
    
    .lp-fib-answered {
        display: inline !important;
    }
    
    .lp-fib-answered__answer,
    .lp-fib-answered__fill {
        font-size: 0.8125rem !important;
        padding: 0.1875rem 0.375rem !important;
    }
}

/* Question wrapper for FIB */
.question-fill_in_blanks,
.question[data-type="fill_in_blanks"] {
    overflow-x: auto !important;
}

/* ==========================================================================
   FIB Input - Remove Double Borders
   ========================================================================== */

/* Remove wrapper border */
.lp-fib-input-wrapper,
.lp-fib-content span[style*="border"],
.question-fill_in_blanks span {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: none !important;
}

/* Only input has border */
.lp-fib-input,
input.lp-fib-input {
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    outline: none !important;
    box-shadow: none !important;
}

.lp-fib-input:focus {
    border-color: var(--lpwoo-primary, #6b4f3a) !important;
}

/* ==========================================================================
   FIB - Kill All Double Borders
   ========================================================================== */

/* Remove border from wrapper div */
div.lp-fib-input,
.lp-fib-input:not(input) {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0.25rem !important;
    display: inline !important;
}

/* Only actual input has border */
input.lp-fib-input,
.lp-fib-input input,
div.lp-fib-input input {
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    padding: 0.375rem 0.5rem !important;
    outline: none !important;
    box-shadow: none !important;
    background: #fff !important;
}

input.lp-fib-input:focus,
.lp-fib-input input:focus {
    border-color: #6b4f3a !important;
}

/* ==========================================================================
   Materials Badge in Sidebar
   ========================================================================== */

.lpwoo-materials-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 0.375rem !important;
    color: #6b4f3a !important;
    opacity: 0.7 !important;
    vertical-align: middle !important;
}

.lpwoo-materials-badge svg {
    width: 14px !important;
    height: 14px !important;
}

.lpwoo-lesson-item:hover .lpwoo-materials-badge {
    opacity: 1 !important;
}

/* ==========================================================================
   FIX - Moje Kursy Cards
   ========================================================================== */

/* Course card - fixed height */
.lpwoo-course-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background: #fff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

.lpwoo-course-card .lpwoo-card-image,
.lpwoo-course-card .lpwoo-card-thumbnail {
    flex-shrink: 0 !important;
    height: 180px !important;
    overflow: hidden !important;
}

.lpwoo-course-card .lpwoo-card-image img,
.lpwoo-course-card .lpwoo-card-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.lpwoo-course-card .lpwoo-card-body {
    flex: 0 0 auto !important;
    padding: 1rem !important;
    height: auto !important;
    min-height: 0 !important;
}

.lpwoo-course-card .lpwoo-card-title {
    font-size: 1.125rem !important;
    margin: 0 0 0.5rem 0 !important;
    line-height: 1.3 !important;
}

.lpwoo-course-card .lpwoo-card-excerpt {
    font-size: 0.875rem !important;
    color: #666 !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

.lpwoo-course-card .lpwoo-card-footer {
    flex-shrink: 0 !important;
    padding: 1rem !important;
    border-top: 1px solid #eee !important;
    margin-top: auto !important;
}

/* Grid */
.lpwoo-courses-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 1.5rem !important;
}

/* Reset list items inside cards */
.lpwoo-course-card li {
    display: list-item !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* ==========================================================================
   FIX - Remove min-height on Moje Kursy page
   ========================================================================== */

/* Only apply min-height when inside course VIEW (with sidebar), not on course LIST */
.woocommerce-MyAccount-content .lpwoo-course-body,
.lpwoo-courses-grid .lpwoo-course-body,
.lpwoo-course-card .lpwoo-course-body,
body:not(.lpwoo-course-page) .lpwoo-course-body {
    min-height: 0 !important;
    height: auto !important;
}

/* Card body specifically */
.lpwoo-card-body {
    min-height: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
}

/* ==========================================================================
   Desktop - Consistent Padding & Materials Box
   ========================================================================== */

@media (min-width: 768px) {
    /* Lesson header and body same padding */
    .lpwoo-lesson-header {
        padding: 1.5rem 2rem !important;
    }
    
    .lpwoo-lesson-body {
        padding: 0 2rem 1.5rem 2rem !important;
    }
    
    /* Materials box with margin from edges */
    .lpwoo-lesson-materials {
        margin: 1.5rem 2rem !important;
        padding: 1.25rem !important;
        background: #f9f7f5 !important;
        border-radius: 8px !important;
    }
    
    /* Lesson footer same padding */
    .lpwoo-lesson-footer {
        padding: 1rem 2rem !important;
    }
}

/* Mobile - smaller padding */
@media (max-width: 767px) {
    .lpwoo-lesson-header {
        padding: 1rem !important;
    }
    
    .lpwoo-lesson-body {
        padding: 0 1rem 1rem 1rem !important;
    }
    
    .lpwoo-lesson-materials {
        margin: 1rem !important;
        padding: 1rem !important;
        background: #f9f7f5 !important;
        border-radius: 8px !important;
    }
    
    .lpwoo-lesson-footer {
        padding: 1rem !important;
    }
}

/* ==========================================================================
   FIX - Materials inside box & lesson body spacing
   ========================================================================== */

/* Materials - stay inside lesson box */
.lpwoo-lesson-materials {
    margin: 1rem 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    .lpwoo-lesson-materials {
        margin: 1.5rem 0 !important;
    }
}

/* Lesson body - remove top padding, content has natural spacing */
.lpwoo-lesson-body {
    padding-top: 0 !important;
}

.lpwoo-lesson-body > p:first-child {
    margin-top: 0 !important;
}

/* Video - margin below text */
.lpwoo-lesson-body .wp-video,
.lpwoo-lesson-body video,
.lpwoo-lesson-body .mejs-container {
    margin-top: 1rem !important;
}

/* ==========================================================================
   User Requested - Desktop Spacing
   ========================================================================== */

@media (min-width: 768px) {
    .lpwoo-lesson-body {
        padding-top: 20px !important;
    }
    
    .lpwoo-lesson-materials {
        margin-left: 20px !important;
        margin-right: 20px !important;
        width: auto !important;
    }
}

/* ==========================================================================
   User Requested - Mobile Spacing
   ========================================================================== */

@media (max-width: 767px) {
    .lpwoo-lesson-body {
        padding-top: 20px !important;
    }
    
    .lpwoo-lesson-materials {
        margin-left: 20px !important;
        margin-right: 20px !important;
        width: auto !important;
    }
}

/* ==========================================================================
   Mobile Spacing - 10px
   ========================================================================== */

@media (max-width: 767px) {
    .lpwoo-lesson-body {
        padding-top: 10px !important;
    }
    
    .lpwoo-lesson-materials {
        margin-left: 10px !important;
        margin-right: 10px !important;
        width: auto !important;
    }
}

/* ==========================================================================
   Quiz Header - Mobile Fix
   ========================================================================== */

@media (max-width: 480px) {
    /* Quiz header bar */
    .lp-quiz-header,
    .quiz-header,
    .lp-quiz-status {
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
        padding: 0.75rem !important;
    }
    
    /* Question count */
    .lp-quiz-question-count,
    .quiz-question-count {
        font-size: 0.8125rem !important;
    }
    
    /* Timer */
    .lp-quiz-timer,
    .quiz-timer {
        font-size: 0.8125rem !important;
    }
    
    /* Finish button */
    .lp-quiz-buttons button,
    .quiz-header button,
    .lp-quiz-status button {
        font-size: 0.75rem !important;
        padding: 0.5rem 0.75rem !important;
        white-space: nowrap !important;
    }
    
    /* Yellow status bar */
    .lp-quiz-progress,
    [class*="quiz-progress"],
    [class*="quiz-status"] {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.5rem !important;
    }
    
    /* Quiz content padding */
    .lpwoo-quiz-wrapper,
    #content-item-quiz,
    .lp-quiz-content {
        padding: 0.5rem !important;
    }
    
    /* Question card */
    .question {
        padding: 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    .question .question-title,
    .question h4 {
        font-size: 0.9375rem !important;
        margin-bottom: 0.5rem !important;
    }
}

/* Extra small */
@media (max-width: 375px) {
    .lp-quiz-header,
    .quiz-header {
        font-size: 0.75rem !important;
    }
    
    .lp-quiz-buttons button {
        font-size: 0.6875rem !important;
        padding: 0.375rem 0.5rem !important;
    }
}

/* ==========================================================================
   Quiz Status Bar - Force Mobile Fix
   ========================================================================== */

@media (max-width: 576px) {
    /* Target the yellow bar specifically */
    .lp-quiz-status,
    .quiz-status,
    .lp-quiz-content > div:first-child,
    .content-item-summary > div:first-child,
    [style*="background"][style*="rgb(255"],
    .lpwoo-quiz-wrapper > div > div:first-child {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.5rem !important;
        padding: 0.75rem !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Items inside status bar */
    .lp-quiz-status > *,
    .quiz-status > * {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }
    
    /* Force all direct children to stack */
    .lp-quiz-content > div:first-child > *,
    #learn-press-quiz-app > div > div:first-child > * {
        display: block !important;
        width: 100% !important;
        margin-bottom: 0.5rem !important;
    }
    
    /* Button full width */
    .lp-quiz-status button,
    .quiz-status button {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* ==========================================================================
   Hide misleading "Pytanie X z Y" when all questions visible
   ========================================================================== */

/* Hide question counter - it's misleading when all questions are shown */
.lp-quiz-status .question-index,
.quiz-question-index,
[class*="question-count"]:not(.total),
.lp-quiz-content .current-question {
    /* display: none !important; */
    /* Uncomment above to hide */
}

/* ==========================================================================
   Hide Question Counter for Multi-Question Quiz (DISABLED - keep numbers visible)
   ========================================================================== */

/* When body has multi-question-quiz class, hide overall question counter but KEEP individual numbers */
body.multi-question-quiz [class*="question-count"],
body.multi-question-quiz [class*="current-question"] {
    display: none !important;
}

/* Keep .question-index visible (the "1.", "2." before each question title) */
body.multi-question-quiz .question-index {
    display: inline !important;
}

/* ==========================================================================
   Questions-index (overall counter) for Multi-Question Quiz
   ========================================================================== */

/* Hide the overall "Pytanie X z Y" counter, keep individual question numbers */
body.multi-question-quiz .questions-index {
    display: none !important;
}

/* ==========================================================================
   Quiz Status Icons in Sidebar
   ========================================================================== */

/* Quiz passed - green */
.lpwoo-lesson-item.quiz-status-passed .lpwoo-lesson-status {
    color: #22c55e !important;
}

.lpwoo-lesson-item.quiz-status-passed .quiz-passed-icon {
    color: #22c55e !important;
}

/* Quiz failed - red */
.lpwoo-lesson-item.quiz-status-failed .lpwoo-lesson-status {
    color: #ef4444 !important;
}

.lpwoo-lesson-item.quiz-status-failed .quiz-failed-icon {
    color: #ef4444 !important;
}

/* Quiz not started - gray */
.lpwoo-lesson-item.quiz-status-not_started .lpwoo-lesson-status {
    color: #9ca3af !important;
}

.lpwoo-lesson-item.quiz-status-not_started .quiz-pending-icon {
    color: #9ca3af !important;
}

/* Override completed state for quizzes - let quiz status determine color */
.lpwoo-lesson-item.is-quiz.completed .lpwoo-lesson-status {
    color: inherit;
}

/* ==========================================================================
   Hide "Ukończ" button for quizzes - quiz completion is automatic
   ========================================================================== */

.lpwoo-quiz-view .lpwoo-complete-btn,
.quiz-result ~ .lpwoo-lesson-navigation .lpwoo-complete-btn,
.lpwoo-lesson-body:has(.quiz-result) ~ .lpwoo-lesson-navigation .lpwoo-complete-btn {
    display: none !important;
}
