/* ============================================================
   DARK SCARLET — Complete Publigo template override
   Covers: header, footer, lessons, course panel, checkout,
   course offer pages, no-access, profile, all Publigo pages
   ============================================================ */

/* === GLOBAL PUBLIGO OVERRIDES === */
body.dark-theme #page {
    background-color: var(--dark-bg) !important;
    min-height: 100vh;
}

body.dark-theme #content {
    background-color: var(--dark-bg) !important;
    color: var(--text-primary) !important;
    padding: 20px 0 60px !important;
}

body.dark-theme .contenter {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}

body.dark-theme #content h1,
body.dark-theme #content h2,
body.dark-theme #content h3,
body.dark-theme #content h4 {
    color: var(--text-primary) !important;
    font-family: var(--font-heading);
}

body.dark-theme #content p,
body.dark-theme #content li,
body.dark-theme #content span {
    color: var(--text-secondary);
}

body.dark-theme #content a {
    color: var(--accent-secondary);
    transition: color 0.2s ease;
}

body.dark-theme #content a:hover {
    color: var(--accent-light);
}

/* === PUBLIGO HEADER — HIDDEN (replaced by dm-nav) === */
body.dark-theme #header {
    display: none !important;
}

/* === BLOCKSY HEADER — HIDDEN (replaced by dm-nav) === */
body.dark-theme header[data-id],
body.dark-theme .ct-header,
body.dark-theme .site-header {
    display: none !important;
}

/* Compensate for fixed dm-nav height */
body.dark-theme #page,
body.dark-theme .site {
    padding-top: 72px !important;
}

body.dark-theme #header .contenter {
    background: transparent !important;
}

body.dark-theme #header .publigo-main-menu-wrapper {
    background: transparent !important;
}

body.dark-theme #logo-cell img {
    max-height: 42px;
    filter: brightness(1.1);
}

body.dark-theme .menu_glowne a,
body.dark-theme #menu a,
body.dark-theme .menu_glowne ul li a {
    color: var(--text-primary) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    transition: color 0.2s ease;
    text-decoration: none !important;
}

body.dark-theme .menu_glowne a:hover,
body.dark-theme #menu a:hover {
    color: var(--accent-secondary) !important;
}

body.dark-theme .menu_glowne ul li.current-menu-item > a,
body.dark-theme .menu_glowne ul li.current_page_item > a {
    color: var(--accent) !important;
}

body.dark-theme .menu_glowne ul ul,
body.dark-theme .menu_glowne ul li ul,
body.dark-theme .menu_glowne .sub-menu,
body.dark-theme #menu ul ul,
body.dark-theme #menu .sub-menu,
body.dark-theme .menu_glowne ul li:hover > ul,
body.dark-theme .menu_glowne ul li.sfHover > ul {
    background: #1D2029 !important;
    background-color: #1D2029 !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
    padding: 8px 0 !important;
}

body.dark-theme .menu_glowne ul ul li,
body.dark-theme .menu_glowne .sub-menu li,
body.dark-theme #menu ul ul li {
    background: transparent !important;
    border: none !important;
}

body.dark-theme .menu_glowne ul ul li a,
body.dark-theme .menu_glowne .sub-menu li a,
body.dark-theme #menu ul ul li a {
    color: #ffffff !important;
    background: transparent !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    transition: all 0.2s ease;
}

body.dark-theme .menu_glowne ul ul li a:hover,
body.dark-theme .menu_glowne .sub-menu li a:hover,
body.dark-theme #menu ul ul li a:hover {
    background: rgba(6, 182, 212, 0.15) !important;
    color: #22D3EE !important;
}

body.dark-theme #menu_mobile i {
    color: var(--text-primary) !important;
    font-size: 22px;
}

body.dark-theme .koszyk a {
    color: var(--text-primary) !important;
}

body.dark-theme .koszyk .dymek {
    background: var(--accent) !important;
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.dark-theme .navbar-search a {
    color: var(--text-primary) !important;
}

/* === PUBLIGO FOOTER — HIDDEN (replaced by dm-footer) === */
body.dark-theme #stopka {
    display: none !important;
}

/* === BLOCKSY FOOTER — HIDDEN (replaced by dm-footer) === */
body.dark-theme footer[data-id],
body.dark-theme .ct-footer,
body.dark-theme footer.site-footer {
    display: none !important;
}

/* === LESSON PAGE === */
body.dark-theme .lekcja_top {
    background: var(--dark-bg3) !important;
    border-bottom: 1px solid var(--dark-border-subtle) !important;
    padding: 12px 0 !important;
}

body.dark-theme .lekcja_top a {
    color: var(--text-primary) !important;
    font-size: 14px;
}

body.dark-theme .lekcja_top a:hover {
    color: var(--accent-secondary) !important;
}

body.dark-theme .lekcje_tytul h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    margin-bottom: 8px !important;
}

body.dark-theme .lekcje_paginacja {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    align-items: center;
}

body.dark-theme .lekcja_nast_pop {
    background: var(--dark-bg3) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 10px !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none !important;
}

body.dark-theme .lekcja_nast_pop:hover {
    border-color: var(--accent) !important;
    background: rgba(6, 182, 212, 0.08) !important;
    box-shadow: 0 0 15px rgba(6, 182, 212, 0.15) !important;
}

body.dark-theme .lekcja_nast_pop a {
    color: var(--text-primary) !important;
    text-decoration: none !important;
}

body.dark-theme .breadcrumbs,
body.dark-theme .breadcrumb,
body.dark-theme .edd_breadcrumbs {
    color: var(--text-muted) !important;
    font-size: 13px;
}

body.dark-theme .breadcrumbs a,
body.dark-theme .breadcrumb a {
    color: var(--text-muted) !important;
}

body.dark-theme .breadcrumbs a:hover {
    color: var(--accent-secondary) !important;
}

/* Lesson content area */
body.dark-theme .content_lekcji {
    max-width: 860px;
    margin: 0 auto;
    padding: 32px 24px !important;
}

body.dark-theme .content_lekcji p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--text-secondary) !important;
    margin-bottom: 16px;
}

body.dark-theme .content_lekcji img {
    border-radius: 12px;
    margin: 16px 0;
}

/* Video player */
body.dark-theme .content_lekcji iframe,
body.dark-theme .content_lekcji video,
body.dark-theme .content_lekcji .wp-video {
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4) !important;
    max-width: 100%;
}

/* Files for download */
body.dark-theme .pliki_do_pobrania {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 32px 0 !important;
}

body.dark-theme .pliki_do_pobrania h3 {
    color: var(--text-primary) !important;
    margin-bottom: 16px !important;
}

body.dark-theme .pliki_do_pobrania ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

body.dark-theme .pliki_do_pobrania li {
    padding: 10px 0;
    border-bottom: 1px solid var(--dark-border-subtle);
}

body.dark-theme .pliki_do_pobrania li:last-child {
    border-bottom: none;
}

body.dark-theme .pliki_do_pobrania a {
    color: var(--accent-secondary) !important;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

body.dark-theme .pliki_do_pobrania a:hover {
    color: var(--accent-light) !important;
}

/* Course navigation section */
body.dark-theme #course-navigation-section {
    background: var(--dark-bg2) !important;
    border: 1px solid var(--dark-border-subtle) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 40px 0 !important;
}

body.dark-theme #course-navigation-section a {
    color: var(--text-primary) !important;
    padding: 8px 12px;
    border-radius: 8px;
    display: block;
    transition: all 0.2s ease;
}

body.dark-theme #course-navigation-section a:hover {
    background: var(--dark-bg3) !important;
    color: var(--accent-secondary) !important;
}

body.dark-theme #course-navigation-section .active a,
body.dark-theme #course-navigation-section .current a {
    background: rgba(6, 182, 212, 0.1) !important;
    color: var(--accent) !important;
    font-weight: 600;
}

/* Lesson completion */
body.dark-theme .oznacz_jako_ukonczona,
body.dark-theme .lesson-complete-btn,
body.dark-theme .mark-as-done {
    background: var(--dark-bg3) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 10px !important;
    padding: 12px 24px !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

body.dark-theme .oznacz_jako_ukonczona:hover {
    border-color: var(--accent-secondary) !important;
    color: var(--accent-secondary) !important;
}

/* === COURSE PANEL (HOME.PHP) === */
body.dark-theme #panel_kursu_slider {
    background: linear-gradient(180deg, var(--dark-bg4), var(--dark-bg)) !important;
    min-height: 200px;
    height: 200px !important;
}

body.dark-theme #panel_kursu_slider h1 {
    color: var(--text-primary) !important;
    font-weight: 700;
}

body.dark-theme .panel_kursu_opis {
    color: var(--text-secondary) !important;
}

/* Module/lesson list */
body.dark-theme .lista_modulow,
body.dark-theme .lista_lekcji {
    background: transparent !important;
}

body.dark-theme .modul_item,
body.dark-theme .modul_naglowek {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border-subtle) !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
    padding: 16px 20px !important;
    transition: all 0.2s ease;
}

body.dark-theme .modul_item:hover {
    border-color: var(--dark-border) !important;
}

body.dark-theme .modul_tytul {
    color: var(--text-primary) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
}

body.dark-theme .lekcja_item {
    background: var(--dark-card) !important;
    border: 1px solid var(--dark-border-subtle) !important;
    border-radius: 8px !important;
    margin: 4px 0 !important;
    padding: 12px 16px !important;
    transition: all 0.2s ease;
}

body.dark-theme .lekcja_item:hover {
    border-color: var(--accent) !important;
    background: var(--dark-card-hover) !important;
}

body.dark-theme .lekcja_item a {
    color: var(--text-primary) !important;
    text-decoration: none !important;
}

body.dark-theme .lekcja_item a:hover {
    color: var(--accent-secondary) !important;
}

body.dark-theme .lekcja_item .check,
body.dark-theme .lekcja_item .done-icon {
    color: var(--accent-secondary) !important;
}

/* Progress bar */
body.dark-theme .postep_bar,
body.dark-theme .progress-bar-wrap,
body.dark-theme .progress {
    background: var(--dark-bg3) !important;
    border-radius: 20px !important;
    height: 8px !important;
    overflow: hidden;
    margin: 16px 0 !important;
}

body.dark-theme .postep_bar > div,
body.dark-theme .progress-bar,
body.dark-theme .progress-bar-fill {
    background: var(--gradient-cta) !important;
    border-radius: 20px !important;
    height: 100% !important;
}

body.dark-theme .postep_tekst,
body.dark-theme .progress-text {
    color: var(--text-muted) !important;
    font-size: 13px;
}

/* === COURSE OFFER PAGE (page-course) === */
body.dark-theme .strona_kursu #strona_kursu_slider,
body.dark-theme #strona_kursu_slider {
    background: linear-gradient(180deg, var(--dark-bg4), var(--dark-bg)) !important;
}

body.dark-theme .strona_kursu h1 {
    color: var(--text-primary) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
}

body.dark-theme .krotki_slider {
    color: var(--text-secondary) !important;
}

/* Price styling */
body.dark-theme .edd_price,
body.dark-theme .cena,
body.dark-theme .edd-download-price,
body.dark-theme .edd_price_option_name {
    color: var(--accent-secondary) !important;
    font-weight: 700 !important;
}

body.dark-theme .edd_price del,
body.dark-theme .cena del,
body.dark-theme .edd_price s {
    color: var(--text-muted) !important;
}

/* Buy button */
body.dark-theme .edd-add-to-cart,
body.dark-theme .edd-submit,
body.dark-theme .kup_teraz,
body.dark-theme .dodaj_do_koszyka,
body.dark-theme .edd_purchase_submit_wrapper button,
body.dark-theme .edd_purchase_submit_wrapper a.edd-add-to-cart {
    background: var(--gradient-cta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 16px 36px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    box-shadow: 0 4px 20px rgba(6, 182, 212, 0.3) !important;
    transition: all 0.3s ease !important;
    cursor: pointer;
    text-decoration: none !important;
    display: inline-block;
}

body.dark-theme .edd-add-to-cart:hover,
body.dark-theme .edd-submit:hover,
body.dark-theme .kup_teraz:hover,
body.dark-theme .dodaj_do_koszyka:hover {
    background: var(--gradient-cta-hover) !important;
    box-shadow: 0 8px 32px rgba(205, 153, 255, 0.3) !important;
    transform: translateY(-2px) !important;
}

/* === COMMENTS === */
body.dark-theme #comments,
body.dark-theme .comments-area {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--dark-border-subtle);
}

body.dark-theme .comment-body {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border-subtle) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 12px !important;
}

body.dark-theme .comment-author {
    color: var(--accent-secondary) !important;
    font-weight: 600;
}

body.dark-theme .comment-content p {
    color: var(--text-secondary) !important;
}

body.dark-theme .comment-metadata a {
    color: var(--text-muted) !important;
    font-size: 12px;
}

body.dark-theme #respond {
    background: var(--dark-bg2) !important;
    border-radius: 12px;
    padding: 24px;
    margin-top: 24px;
}

/* === NO ACCESS PAGE === */
body.dark-theme .brak_dostepu,
body.dark-theme .no-access {
    background: var(--dark-bg2) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 16px !important;
    padding: 48px !important;
    text-align: center;
    max-width: 600px;
    margin: 40px auto !important;
}

body.dark-theme .brak_dostepu h2 {
    color: var(--text-primary) !important;
    margin-bottom: 16px !important;
}

body.dark-theme .brak_dostepu p {
    color: var(--text-secondary) !important;
}

/* === CHECKOUT / CART === */
body.dark-theme #edd_checkout_form_wrap {
    background: transparent !important;
}

body.dark-theme #edd_checkout_cart {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 12px !important;
    overflow: hidden;
    margin-bottom: 24px;
}

body.dark-theme #edd_checkout_cart th {
    background: var(--dark-bg4) !important;
    color: var(--text-primary) !important;
    font-weight: 600;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--dark-border) !important;
}

body.dark-theme #edd_checkout_cart td {
    padding: 14px 16px !important;
    color: var(--text-secondary) !important;
    border-bottom: 1px solid var(--dark-border-subtle) !important;
}

body.dark-theme #edd_checkout_cart .edd_cart_item_name {
    color: var(--text-primary) !important;
    font-weight: 500;
}

body.dark-theme #edd_checkout_cart .edd_cart_amount,
body.dark-theme #edd_checkout_cart .edd_cart_total .edd_cart_amount {
    color: var(--accent-secondary) !important;
    font-weight: 700;
}

body.dark-theme .edd_cart_remove_item_btn {
    color: var(--text-muted) !important;
}

body.dark-theme .edd_cart_remove_item_btn:hover {
    color: #ff4444 !important;
}

body.dark-theme #edd_checkout_form_wrap fieldset {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 20px !important;
}

body.dark-theme #edd_checkout_form_wrap legend {
    color: var(--text-primary) !important;
    font-weight: 600;
    font-size: 18px;
}

body.dark-theme #edd_purchase_submit #edd-purchase-button {
    background: var(--gradient-cta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 18px 48px !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    box-shadow: 0 6px 30px rgba(6, 182, 212, 0.3) !important;
    transition: all 0.3s ease !important;
    width: 100%;
    max-width: 400px;
    display: block;
    margin: 20px auto 0;
}

body.dark-theme #edd_purchase_submit #edd-purchase-button:hover {
    background: var(--gradient-cta-hover) !important;
    box-shadow: 0 8px 40px rgba(205, 153, 255, 0.3) !important;
    transform: translateY(-2px) !important;
}

/* Discount code */
body.dark-theme #edd-discount-code-wrap {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 12px !important;
    padding: 16px !important;
}

/* Payment method */
body.dark-theme #edd_payment_mode_select {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

body.dark-theme .edd-gateway-option label {
    color: var(--text-primary) !important;
}

body.dark-theme .edd-gateway-option input[type="radio"] {
    accent-color: var(--accent);
}

/* Terms */
body.dark-theme #edd_terms_agreement {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 8px !important;
    padding: 16px !important;
    color: var(--text-secondary) !important;
    max-height: 200px;
    overflow-y: auto;
}

/* Error/Success messages */
body.dark-theme .edd_errors,
body.dark-theme .edd-alert-error {
    background: rgba(255, 68, 68, 0.1) !important;
    border: 1px solid rgba(255, 68, 68, 0.3) !important;
    border-radius: 8px !important;
    color: #ff6666 !important;
}

body.dark-theme .edd_success {
    background: rgba(205, 153, 255, 0.1) !important;
    border: 1px solid rgba(205, 153, 255, 0.3) !important;
    border-radius: 8px !important;
    color: var(--accent-secondary) !important;
}

/* === PURCHASE HISTORY / ACCOUNT === */
body.dark-theme .edd_download_history,
body.dark-theme .edd_purchase_history {
    border-radius: 12px !important;
    overflow: hidden;
}

body.dark-theme .edd_download_history th,
body.dark-theme .edd_purchase_history th {
    background: var(--dark-bg3) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .edd_download_history td,
body.dark-theme .edd_purchase_history td {
    color: var(--text-secondary) !important;
    border-color: var(--dark-border-subtle) !important;
}

/* Profile editor */
body.dark-theme #edd_profile_editor_form {
    background: var(--dark-bg2) !important;
    border-radius: 12px;
    padding: 32px;
}

body.dark-theme #edd_profile_editor_form legend {
    color: var(--text-primary) !important;
}

/* === PUBLIGO SPLIT CART === */
body.dark-theme .split-cart-container,
body.dark-theme .publigo-cart,
body.dark-theme .publigo-checkout {
    background: var(--dark-bg) !important;
}

body.dark-theme .split-cart-item {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 12px !important;
}

body.dark-theme .bezpieczne_platnosci,
body.dark-theme .secure-payments-info {
    color: var(--text-muted) !important;
    font-size: 13px;
    text-align: center;
    margin-top: 16px;
}

/* === COOKIE BAR === */
body.dark-theme .publigo-cookie-bar,
body.dark-theme .cookie_bar {
    background: var(--dark-bg3) !important;
    border-top: 1px solid var(--dark-border) !important;
    color: var(--text-secondary) !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.4);
}

body.dark-theme .publigo-cookie-bar a {
    color: var(--accent-secondary) !important;
}

body.dark-theme .publigo-cookie-bar button,
body.dark-theme .cookie_bar button {
    background: var(--gradient-cta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 20px !important;
    font-weight: 600;
}

/* === ADMIN BAR (when logged in) === */
body.dark-theme .tryb_administracyjny,
body.dark-theme .admin-mode-bar {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 8px !important;
    color: var(--text-secondary) !important;
}

/* === MOBILE RESPONSIVE === */
@media (max-width: 768px) {
    body.dark-theme #header {
        padding: 8px 0 !important;
    }

    body.dark-theme .menu_glowne {
        background: var(--dark-bg3) !important;
        border: 1px solid var(--dark-border) !important;
        border-radius: 12px !important;
    }

    body.dark-theme .lekcje_tytul {
        flex-direction: column;
    }

    body.dark-theme .lekcje_paginacja {
        justify-content: flex-start;
        margin-top: 12px;
    }

    body.dark-theme .content_lekcji {
        padding: 20px 16px !important;
    }

    body.dark-theme #content {
        padding: 20px 0 40px !important;
    }
}

/* === PRODUCT PAGE SIDEBAR === */
body.dark-theme .strona_kursu_sidebar {
    background: rgba(33, 36, 45, 0.85) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--dark-border, rgba(6, 182, 212, 0.12)) !important;
    border-radius: 16px !important;
    padding: 32px !important;
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
    max-width: 100% !important;
}

body.dark-theme .strona_kursu_sidebar_tytul {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 13px !important;
    font-weight: 700;
    color: var(--text-muted, #6b6b80) !important;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06)) !important;
}

body.dark-theme .strona_kursu_sidebar_box {
    background: transparent !important;
    margin: 20px 0;
}

body.dark-theme .strona_kursu_sidebar .strona_kursu_sidebar_box p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-secondary, #a0a0b8) !important;
    margin-bottom: 8px;
}

body.dark-theme .strona_kursu_sidebar .strona_kursu_sidebar_box p span {
    color: var(--text-primary, #f0f0f5) !important;
    font-weight: 600;
}

body.dark-theme .box_glowna_kategorie_wrapper {
    margin-bottom: 16px;
}

body.dark-theme .box_glowna_kategorie_wrapper a {
    color: var(--text-secondary) !important;
    font-size: 13px;
}

body.dark-theme .glowna_box_cena {
    background: transparent !important;
    border-radius: 0;
    margin: 20px 0 8px !important;
    padding: 20px 0 !important;
    text-align: center;
    border-top: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
    border-bottom: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
}

body.dark-theme .glowna_box_cena_cena {
    font-size: 52px !important;
    font-weight: 800 !important;
    color: var(--accent-secondary, #22D3EE) !important;
    font-family: var(--font-heading);
    line-height: 1.1;
    letter-spacing: -0.02em;
    display: inline-block;
}

body.dark-theme .glowna_box_cena_waluta {
    font-size: 16px !important;
    color: var(--text-muted, #6b6b80) !important;
    font-weight: 500;
    display: inline-block;
    margin-left: 6px;
    vertical-align: top;
    padding-top: 12px;
}

body.dark-theme .glowna_box_cena_od {
    font-size: 12px !important;
    color: var(--text-muted, #6b6b80) !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 4px;
}

/* Ukryj no-JS fallback button — JS jest aktywny */
body.dark-theme .edd-add-to-cart.edd-no-js {
    display: none !important;
}

/* Uporządkuj layout przycisków w boksie zamówienia */
body.dark-theme .box_glowna_add_to_cart {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    text-align: center;
    margin-top: 16px;
    padding: 0;
}

/* Przycisk ZAMÓW — gradient CTA */
body.dark-theme .box_glowna_add_to_cart a.edd-add-to-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    background: var(--gradient-cta, linear-gradient(-60deg, #06B6D4, #22D3EE)) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 16px 32px !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(6, 182, 212, 0.3);
    text-decoration: none !important;
}

body.dark-theme .box_glowna_add_to_cart a.edd-add-to-cart span {
    color: #fff !important;
}

body.dark-theme .box_glowna_add_to_cart a.edd-add-to-cart:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(6, 182, 212, 0.4);
    filter: brightness(1.1);
}

/* Ikona koszyka w przycisku */
body.dark-theme .box_glowna_add_to_cart a.edd-add-to-cart img {
    filter: brightness(10);
    vertical-align: middle;
    margin-right: 8px;
}

/* PRZEJDŹ DO KOSZYKA — główny CTA (widoczny po dodaniu) */
body.dark-theme a.edd_go_to_checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    margin-top: 0;
    padding: 16px 24px;
    background: var(--gradient-cta, linear-gradient(-60deg, #06B6D4, #22D3EE)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(6, 182, 212, 0.3);
}

body.dark-theme a.edd_go_to_checkout:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(6, 182, 212, 0.4);
    filter: brightness(1.1);
    color: #fff !important;
}

/* Alert: Dodano do koszyka */
body.dark-theme .edd-cart-added-alert {
    color: var(--accent-secondary, #22D3EE) !important;
    display: block;
    text-align: center;
    margin-top: 8px;
    font-size: 14px;
    font-weight: 500;
}

body.dark-theme .edd-cart-ajax-alert {
    text-align: center;
}

/* Content area on product pages */
body.dark-theme .contenter_tresci {
    padding: 0 !important;
}

body.dark-theme .contenter_tresci .wp-block-embed__wrapper,
body.dark-theme .contenter_tresci .wpidea-embed-wrapper {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
}

body.dark-theme .contenter_tresci iframe {
    border-radius: 12px !important;
}

/* Course slider / banner area */
body.dark-theme .krotki_slider {
    position: relative;
    padding: 30px 0 20px !important;
    overflow: hidden;
}

body.dark-theme .krotki_slider::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(14, 12, 21, 0.7), rgba(14, 12, 21, 0.95)) !important;
    z-index: 0;
}

body.dark-theme .krotki_slider > * {
    position: relative;
    z-index: 1;
}

/* Cookie bar (hyphenated version from actual HTML) */
body.dark-theme .cookie-bar {
    background: var(--dark-bg3) !important;
    border-top: 1px solid var(--dark-border) !important;
    color: var(--text-secondary) !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.4);
}

body.dark-theme .cookie-bar a {
    color: var(--accent-secondary) !important;
}

body.dark-theme .cookie-bar-container {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
}

body.dark-theme .cookie-bar .button,
body.dark-theme .cookie-bar-container .button {
    background: var(--gradient-cta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
}

/* EDD Go to Checkout button */
body.dark-theme .edd_go_to_checkout a,
body.dark-theme a.edd_go_to_checkout {
    background: var(--dark-bg3) !important;
    color: var(--accent-secondary) !important;
    border: 1px solid var(--accent-secondary) !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    font-size: 14px;
    display: inline-block;
    margin-top: 8px;
    transition: all 0.3s ease;
}

body.dark-theme .edd_go_to_checkout a:hover,
body.dark-theme a.edd_go_to_checkout:hover {
    background: rgba(205, 153, 255, 0.08) !important;
}

/* EDD cart alert */
body.dark-theme .edd-cart-added-alert,
body.dark-theme .edd-cart-ajax-alert {
    color: var(--accent-secondary) !important;
    font-size: 13px;
    font-weight: 500;
}

/* EDD loading spinner */
body.dark-theme .edd-loading .icon-hourglass {
    color: var(--text-muted) !important;
}

/* Wp-block-columns on product pages (Gutenberg content inside Publigo) */
body.dark-theme #content .wp-block-columns {
    gap: 32px;
}

body.dark-theme #content .wp-block-group.alignfull {
    background: transparent !important;
}

body.dark-theme #content .wp-block-group__inner-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}

body.dark-theme #content .wp-block-image img {
    border-radius: 12px;
}

/* === CHECKOUT SIDEBAR === */
body.dark-theme .content_koszyk {
    padding: 0 !important;
}

body.dark-theme .koszyk_right {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 16px !important;
    padding: 24px !important;
}

body.dark-theme .tytul_ikona {
    color: var(--text-primary) !important;
    font-weight: 600;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.dark-theme .tytul_ikona i,
body.dark-theme .tytul_ikona svg {
    color: var(--accent-secondary) !important;
}

body.dark-theme .platnosci {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

body.dark-theme .platnosci img {
    filter: brightness(0.9) contrast(1.1);
    border-radius: 4px;
    max-height: 28px;
}

body.dark-theme .secure_payments {
    padding: 16px 0;
    border-bottom: 1px solid var(--dark-border-subtle);
}

/* === LANDING PAGE OVERRIDES === */
/* Landing pages use Gutenberg blocks inside Publigo template */
body.dark-theme #content .wp-block-group.alignfull {
    background: transparent !important;
}

body.dark-theme #content .wp-block-cover {
    border-radius: 12px;
    overflow: hidden;
}

body.dark-theme #content .wp-block-cover__inner-container {
    color: var(--text-primary) !important;
}

body.dark-theme #content .wp-block-cover__inner-container h1,
body.dark-theme #content .wp-block-cover__inner-container h2,
body.dark-theme #content .wp-block-cover__inner-container h3 {
    color: #fff !important;
}

/* Countdown timer (plugin) */
body.dark-theme .simple-countdown-timer,
body.dark-theme .countdown-timer,
body.dark-theme [class*="countdown"] {
    color: var(--text-primary) !important;
}

body.dark-theme .simple-countdown-timer .countdown-section {
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
}

body.dark-theme .simple-countdown-timer .countdown-amount {
    color: var(--accent-secondary) !important;
    font-weight: 700;
    font-size: 28px;
}

body.dark-theme .simple-countdown-timer .countdown-period {
    color: var(--text-muted) !important;
    font-size: 12px;
}

/* Compare images (nelio) */
body.dark-theme .nelio-compare-images-wrapper {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--dark-border) !important;
}

/* Stackable blocks */
body.dark-theme [class*="stk-"] {
    color: var(--text-secondary);
}

body.dark-theme .stk-block-heading h1,
body.dark-theme .stk-block-heading h2,
body.dark-theme .stk-block-heading h3,
body.dark-theme .stk-block-heading h4 {
    color: var(--text-primary) !important;
}

body.dark-theme .stk-block-text p {
    color: var(--text-secondary) !important;
}

body.dark-theme .stk-button-container a,
body.dark-theme .stk-block-button a {
    background: var(--gradient-cta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px var(--accent-glow) !important;
}

body.dark-theme .stk-button-container a:hover,
body.dark-theme .stk-block-button a:hover {
    box-shadow: 0 8px 32px rgba(6, 182, 212, 0.35) !important;
    transform: translateY(-2px);
}

/* GenerateBlocks overrides */
body.dark-theme .gb-container {
    color: var(--text-secondary);
}

body.dark-theme .gb-headline h1,
body.dark-theme .gb-headline h2,
body.dark-theme .gb-headline h3,
body.dark-theme .gb-headline h4 {
    color: var(--text-primary) !important;
}

body.dark-theme .gb-button a {
    background: var(--gradient-cta) !important;
    color: #fff !important;
}

/* The Plus Addons */
body.dark-theme [class*="tp-"] {
    color: var(--text-secondary);
}

/* Accordion / FAQ sections */
body.dark-theme .wp-block-details summary,
body.dark-theme details summary {
    color: var(--text-primary) !important;
    background: var(--dark-bg3) !important;
    border: 1px solid var(--dark-border-subtle) !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.2s ease;
}

body.dark-theme .wp-block-details summary:hover,
body.dark-theme details summary:hover {
    border-color: var(--dark-border) !important;
}

body.dark-theme .wp-block-details[open] summary,
body.dark-theme details[open] summary {
    border-color: var(--accent) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

body.dark-theme .wp-block-details > *:not(summary),
body.dark-theme details > *:not(summary) {
    background: var(--dark-bg2) !important;
    padding: 16px 20px;
    border: 1px solid var(--dark-border-subtle);
    border-top: none;
    border-radius: 0 0 10px 10px;
}

/* WP Block List styling */
body.dark-theme .wp-block-list li {
    color: var(--text-secondary) !important;
}

body.dark-theme .wp-block-list li::marker {
    color: var(--accent);
}

/* WP Block separator */
body.dark-theme .wp-block-separator {
    border-color: var(--dark-border-subtle) !important;
    opacity: 1;
}

/* WP Block Quote */
body.dark-theme .wp-block-quote {
    border-left: 4px solid var(--accent) !important;
    background: var(--dark-bg3) !important;
    padding: 24px !important;
    border-radius: 0 12px 12px 0 !important;
}

body.dark-theme .wp-block-quote cite {
    color: var(--text-muted) !important;
}

/* === TRANSACTION CONFIRMATION/ERROR PAGES === */
body.dark-theme .edd-alert,
body.dark-theme .edd_confirmation {
    background: var(--dark-bg2) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 12px !important;
    padding: 32px !important;
    text-align: center;
}

body.dark-theme .edd-alert-success {
    border-color: rgba(205, 153, 255, 0.3) !important;
}

body.dark-theme .edd-alert-error {
    border-color: rgba(255, 68, 68, 0.3) !important;
}

/* === ACCOUNT PAGE (moje-konto) === */
body.dark-theme .edd-profile-editor {
    background: var(--dark-bg2) !important;
    border-radius: 12px;
    padding: 32px;
}

body.dark-theme .edd_profile_editor_table td {
    padding: 8px 0;
}

body.dark-theme .edd_profile_editor_table label {
    color: var(--text-primary) !important;
    font-weight: 500;
}

/* Materials page */
body.dark-theme .materialy_darmowe_lista,
body.dark-theme .materialy_darmowe {
    background: transparent !important;
}

body.dark-theme .material_item {
    background: #1D2029 !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 12px !important;
    transition: all 0.3s ease;
}

body.dark-theme .material_item:hover {
    border-color: rgba(255,255,255,0.1) !important;
    transform: translateY(-2px);
}

body.dark-theme .material_item h3 {
    color: #ffffff !important;
}

body.dark-theme .material_item a {
    color: #22D3EE !important;
}

/* Ultimate Post Grid (Materiały darmowe page) */
body.dark-theme .ultp-post-grid-block,
body.dark-theme .ultp-block-wrapper {
    background: transparent !important;
}

body.dark-theme .ultp-block-item {
    background: transparent !important;
    border: none !important;
    border-bottom: none !important;
}

body.dark-theme .ultp-block-content-wrap {
    background: #16181E !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 12px !important;
    overflow: hidden;
    transition: all 0.3s ease;
}

body.dark-theme .ultp-block-content-wrap:hover {
    border-color: rgba(6, 182, 212, 0.25) !important;
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.3);
}

body.dark-theme .ultp-block-image {
    border-radius: 0 !important;
    overflow: hidden;
}

body.dark-theme .ultp-block-image img,
body.dark-theme .ultp-block-item .ultp-block-image img,
body.dark-theme [class*="ultp-block-"] .ultp-block-item .ultp-block-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block;
    transition: transform 0.5s ease;
}

body.dark-theme .ultp-block-content-wrap:hover .ultp-block-image img {
    transform: scale(1.05);
}

body.dark-theme .ultp-block-content {
    padding: 16px 20px 20px !important;
    background: #16181E !important;
}

body.dark-theme .ultp-block-title,
body.dark-theme .ultp-block-title a,
body.dark-theme .ultp-block-content-wrap .ultp-block-title,
body.dark-theme .ultp-block-content-wrap .ultp-block-title a {
    color: #ffffff !important;
    font-family: 'Sora', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    transition: color 0.2s ease;
    text-shadow: none !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.dark-theme .ultp-block-title a:hover {
    color: #22D3EE !important;
    -webkit-text-fill-color: #22D3EE !important;
}

/* Ensure all text in free materials cards is readable */
body.dark-theme .ultp-block-content-wrap * {
    color: #BCC3D7 !important;
}
body.dark-theme .ultp-block-content-wrap .ultp-block-title,
body.dark-theme .ultp-block-content-wrap .ultp-block-title a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.dark-theme .ultp-category-grid {
    margin-bottom: 8px !important;
}

body.dark-theme .ultp-category-in a,
body.dark-theme .ultp-category-grid a {
    background: rgba(6, 182, 212, 0.15) !important;
    color: #22D3EE !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 3px 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

body.dark-theme .ultp-block-items-wrap {
    border: none !important;
}

body.dark-theme .ultp-block-item .ultp-block-content-wrap {
    border-bottom: none !important;
}

/* Remove dashed lines between items */
body.dark-theme .ultp-block-item,
body.dark-theme .ultp-block-content-wrap,
body.dark-theme .ultp-block-items-wrap .ultp-block-item {
    border-bottom: none !important;
    border-top: none !important;
}

/* Breadcrumbs */
body.dark-theme .breadcrumbs {
    color: #565e78 !important;
    font-family: 'Sora', sans-serif !important;
    font-size: 13px !important;
    padding: 16px 0 !important;
}

body.dark-theme .breadcrumbs a {
    color: #BCC3D7 !important;
    text-decoration: none !important;
}

body.dark-theme .breadcrumbs a:hover {
    color: #22D3EE !important;
}

body.dark-theme .breadcrumbs .fas {
    color: #565e78 !important;
    font-size: 10px !important;
    margin: 0 6px !important;
}

/* Page title on Publigo pages */
body.dark-theme .contenter_tresci h1,
body.dark-theme .contenter_tresci .page-title {
    color: #ffffff !important;
    font-family: 'Sora', sans-serif !important;
    font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
    font-weight: 700 !important;
}

/* Pagination */
body.dark-theme .pagination-block-html {
    text-align: center;
    padding: 20px 0;
}

body.dark-theme .pagination-block-html a,
body.dark-theme .pagination-block-html span {
    color: #BCC3D7 !important;
    background: #1D2029 !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    margin: 0 4px !important;
    font-size: 14px !important;
    transition: all 0.2s ease;
}

body.dark-theme .pagination-block-html a:hover,
body.dark-theme .pagination-block-html .current {
    background: #06B6D4 !important;
    color: #ffffff !important;
    border-color: #06B6D4 !important;
}
/* ==========================================================================
   Product Page Redesign Override
   Appended to dark-scarlet.css
   Scoped to: body.dark-theme.single-download
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. HERO BANNER
   -------------------------------------------------------------------------- */

body.dark-theme.single-download #panel_kursu_slider.krotki_slider {
    min-height: 200px;
    height: 200px;
    margin-bottom: 0;
    position: relative;
    background-size: cover;
    background-position: center center;
}

body.dark-theme.single-download #panel_kursu_slider.krotki_slider::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(14, 12, 21, 0.55) 0%,
        rgba(14, 12, 21, 0.82) 100%
    );
    z-index: 1;
}

body.dark-theme.single-download #panel_kursu_slider.krotki_slider > .contenter {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

body.dark-theme.single-download #panel_kursu_slider.krotki_slider > .contenter > div,
body.dark-theme.single-download .krotki_slider > div > div {
    position: relative;
    transform: none;
    top: auto;
    max-width: 800px;
    text-align: center;
    margin: 0 auto;
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    color: var(--text-primary, #f0f0f5);
    letter-spacing: -0.02em;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
}


/* --------------------------------------------------------------------------
   2. CONTENT AREA - Typography & Spacing
   -------------------------------------------------------------------------- */

body.dark-theme.single-download #content.content.wpi-template {
    background-color: var(--dark-bg, #0E0C15);
    padding-top: 0;
    padding-bottom: 60px;
}

/* Breadcrumbs */
body.dark-theme.single-download .breadcrumbs {
    margin-top: 24px;
    margin-bottom: 32px;
    padding: 12px 0;
    border-bottom: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
}

body.dark-theme.single-download .breadcrumbs ul li,
body.dark-theme.single-download .breadcrumbs ul li a {
    color: var(--text-muted, #6b6b80);
    font-size: 13px;
    transition: color 0.2s ease;
}

body.dark-theme.single-download .breadcrumbs ul li a:hover {
    color: var(--accent-secondary, #22D3EE);
}

/* Content wrapper - remove excessive right padding */
body.dark-theme.single-download .contenter_tresci {
    padding-right: 0 !important;
}

/* Course title */
body.dark-theme.single-download .contenter_tresci h2 {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.25;
    color: var(--text-primary, #f0f0f5);
    margin-bottom: 28px;
    letter-spacing: -0.01em;
}

/* Banner image in content */
body.dark-theme.single-download .contenter_tresci .wp-block-image {
    margin: 32px 0;
    border-radius: 12px;
    overflow: hidden;
}

body.dark-theme.single-download .contenter_tresci .wp-block-image img {
    border-radius: 12px;
    margin: 0;
    width: 100%;
    height: auto;
}

/* Paragraph typography */
body.dark-theme.single-download .contenter_tresci p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--text-secondary, #a0a0b8);
    margin-bottom: 20px;
}

/* Description lists with cyan checkmarks */
body.dark-theme.single-download .contenter_tresci ul {
    list-style: none;
    padding-left: 0;
    margin: 24px 0;
}

body.dark-theme.single-download .contenter_tresci ul > li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 14px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-secondary, #a0a0b8);
}

body.dark-theme.single-download .contenter_tresci ul > li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent-secondary, #22D3EE);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.7;
}

/* Headings inside content */
body.dark-theme.single-download .contenter_tresci h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary, #f0f0f5);
    margin-top: 40px;
    margin-bottom: 16px;
    line-height: 1.35;
}

body.dark-theme.single-download .contenter_tresci h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary, #f0f0f5);
    margin-top: 32px;
    margin-bottom: 12px;
    line-height: 1.4;
}

/* Strong / bold text */
body.dark-theme.single-download .contenter_tresci strong,
body.dark-theme.single-download .contenter_tresci b {
    color: var(--text-primary, #f0f0f5);
    font-weight: 600;
}

/* Links */
body.dark-theme.single-download .contenter_tresci a:not(.edd-add-to-cart):not(.edd_go_to_checkout) {
    color: var(--accent-secondary, #22D3EE);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

body.dark-theme.single-download .contenter_tresci a:not(.edd-add-to-cart):not(.edd_go_to_checkout):hover {
    border-bottom-color: var(--accent-secondary, #22D3EE);
}


/* --------------------------------------------------------------------------
   3. YOUTUBE VIDEO EMBED
   -------------------------------------------------------------------------- */

body.dark-theme.single-download .wp-block-embed-youtube {
    margin: 40px 0;
}

body.dark-theme.single-download .wp-block-embed-youtube .wp-block-embed__wrapper {
    border-radius: 16px;
    overflow: hidden;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.4),
        0 0 0 1px var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
    position: relative;
    padding-top: 56.25%;
    height: 0;
}

body.dark-theme.single-download .wp-block-embed-youtube .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 16px;
}


/* --------------------------------------------------------------------------
   4. TESTIMONIALS CAROUSEL - Complete Redesign
   -------------------------------------------------------------------------- */

/* Carousel block wrapper */
body.dark-theme.single-download .qubely-block-testimonialcarousel,
body.dark-theme.single-download [class*="qubely-block-d67ba9"] {
    margin: 48px 0;
}

/* Individual testimonial card */
body.dark-theme.single-download .qubely-testimonial-carousel-layout-1 .qubely-tesitmonial-item,
body.dark-theme.single-download .qubely-testimonial-carousel-layout-2 .qubely-tesitmonial-item,
body.dark-theme.single-download .qubely-testimonial-carousel-layout-3 .qubely-testimonial-carousel-content-wrapper {
    background: var(--dark-card, #21242D) !important;
    border: 1px solid var(--dark-border, rgba(6, 182, 212, 0.12)) !important;
    border-radius: 16px !important;
    padding: 32px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

body.dark-theme.single-download .qubely-tesitmonial-item:hover .qubely-testimonial-carousel-content-wrapper,
body.dark-theme.single-download .qubely-testimonial-carousel-layout-1 .qubely-tesitmonial-item:hover,
body.dark-theme.single-download .qubely-testimonial-carousel-layout-2 .qubely-tesitmonial-item:hover {
    border-color: rgba(6, 182, 212, 0.25) !important;
    box-shadow: 0 8px 32px rgba(6, 182, 212, 0.08);
}

/* Testimonial text */
body.dark-theme.single-download .qubely-testimonial-content {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: var(--text-secondary, #a0a0b8) !important;
    font-style: italic;
    margin-top: 20px !important;
}

/* Avatar */
body.dark-theme.single-download .qubely-testimonial-avatar {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    overflow: hidden;
    border: 2px solid var(--dark-border, rgba(6, 182, 212, 0.12));
    flex-shrink: 0;
}

body.dark-theme.single-download .qubely-testimonial-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* Author name */
body.dark-theme.single-download .qubely-testimonial-author-name {
    color: var(--accent-secondary, #22D3EE) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
}

/* Author designation */
body.dark-theme.single-download .qubely-testimonial-author-designation {
    color: var(--text-muted, #6b6b80) !important;
    font-size: 13px !important;
}

/* Star ratings */
body.dark-theme.single-download .qubely-testimonial-ratings {
    color: #f5a623 !important;
    font-size: 15px !important;
}

body.dark-theme.single-download .qubely-testimonial-ratings::before {
    color: #f5a623 !important;
}

/* Quote icon */
body.dark-theme.single-download .qubely-quote-icon {
    color: var(--dark-border, rgba(6, 182, 212, 0.12)) !important;
    opacity: 0.5;
}

/* Navigation arrows */
body.dark-theme.single-download .qubely-carousel-nav-control .nav-control {
    background: var(--dark-bg3, #21242D) !important;
    border: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06)) !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    transition: all 0.3s ease !important;
}

body.dark-theme.single-download .qubely-carousel-nav-control .nav-control .fas {
    color: var(--text-secondary, #a0a0b8) !important;
    font-size: 14px !important;
    width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
}

body.dark-theme.single-download .qubely-carousel-nav-control .nav-control:hover {
    background: var(--accent, #06B6D4) !important;
    border-color: var(--accent, #06B6D4) !important;
}

body.dark-theme.single-download .qubely-carousel-nav-control .nav-control:hover .fas {
    color: #fff !important;
}

/* Carousel dots */
body.dark-theme.single-download .qubely-carousel-dots ul li {
    background: var(--dark-bg3, #21242D) !important;
    border: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
}

body.dark-theme.single-download .qubely-carousel-dots ul li.active span.dot-indicator {
    background: var(--accent, #06B6D4) !important;
}


/* --------------------------------------------------------------------------
   5. SIDEBAR - Sticky, Glassmorphic, Redesigned
   -------------------------------------------------------------------------- */

body.dark-theme.single-download .strona_kursu_sidebar {
    position: sticky !important;
    top: 100px;
    z-index: 90;
    max-width: 100% !important;
    float: none;
    background: rgba(33, 36, 45, 0.85) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--dark-border, rgba(6, 182, 212, 0.12)) !important;
    border-radius: 16px !important;
    padding: 32px !important;
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
    transition: box-shadow 0.3s ease;
}

body.dark-theme.single-download .strona_kursu_sidebar:hover {
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(6, 182, 212, 0.08) inset !important;
}

/* "Zamowienie" title */
body.dark-theme.single-download .strona_kursu_sidebar_tytul {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 13px !important;
    font-weight: 700;
    color: var(--text-muted, #6b6b80) !important;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
}

/* Sidebar description box */
body.dark-theme.single-download .strona_kursu_sidebar .strona_kursu_sidebar_box {
    margin: 20px 0;
}

body.dark-theme.single-download .strona_kursu_sidebar .strona_kursu_sidebar_box p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-secondary, #a0a0b8) !important;
    margin-bottom: 8px;
}

body.dark-theme.single-download .strona_kursu_sidebar .strona_kursu_sidebar_box p span {
    color: var(--text-primary, #f0f0f5) !important;
    font-weight: 600;
}

/* Price section */
body.dark-theme.single-download .strona_kursu_sidebar .glowna_box_cena {
    background: transparent !important;
    border-radius: 0;
    margin-top: 20px;
    margin-bottom: 8px;
    padding: 20px 0 !important;
    text-align: center;
    border-top: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
    border-bottom: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
}

/* Price number - HUGE and cyan */
body.dark-theme.single-download .strona_kursu_sidebar .glowna_box_cena_cena {
    font-size: 52px !important;
    font-weight: 800 !important;
    color: var(--accent-secondary, #22D3EE) !important;
    line-height: 1.1;
    letter-spacing: -0.02em;
    display: inline-block;
}

/* Currency label */
body.dark-theme.single-download .strona_kursu_sidebar .glowna_box_cena_waluta {
    font-size: 16px !important;
    color: var(--text-muted, #6b6b80) !important;
    font-weight: 500;
    display: inline-block;
    margin-left: 6px;
    vertical-align: top;
    padding-top: 12px;
}

/* "Od" price label */
body.dark-theme.single-download .strona_kursu_sidebar .glowna_box_cena_od {
    font-size: 12px !important;
    color: var(--text-muted, #6b6b80) !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 4px;
}

/* Promo price */
body.dark-theme.single-download .strona_kursu_sidebar .glowna_box_cena_promocyjna {
    background: transparent;
    margin-top: 0;
}

/* Add to cart wrapper */
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart {
    margin-top: 16px;
    padding: 0;
}

/* Buy button - gradient CTA */
body.dark-theme.single-download .strona_kursu_sidebar .edd-add-to-cart,
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart a.edd-add-to-cart {
    display: block;
    width: 100%;
    max-width: 100%;
    text-align: center;
    background: var(--gradient-cta, linear-gradient(-60deg, #06B6D4, #22D3EE)) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 16px 32px !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(6, 182, 212, 0.3);
    position: relative;
    overflow: hidden;
}

body.dark-theme.single-download .strona_kursu_sidebar .edd-add-to-cart:hover,
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart a.edd-add-to-cart:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(6, 182, 212, 0.4);
    filter: brightness(1.1);
}

body.dark-theme.single-download .strona_kursu_sidebar .edd-add-to-cart:active,
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart a.edd-add-to-cart:active {
    transform: translateY(0);
    box-shadow: 0 2px 12px rgba(6, 182, 212, 0.25);
}

/* Cart icon inside button */
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart a img {
    filter: brightness(10);
    vertical-align: middle;
    margin-right: 8px;
}

/* Checkout link - primary CTA style (shown after adding to cart) */
body.dark-theme.single-download .strona_kursu_sidebar .edd_go_to_checkout {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 12px;
    padding: 16px 24px;
    background: var(--gradient-cta, linear-gradient(-60deg, #06B6D4, #22D3EE)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(6, 182, 212, 0.3);
}

body.dark-theme.single-download .strona_kursu_sidebar .edd_go_to_checkout:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(6, 182, 212, 0.4);
    filter: brightness(1.1);
    color: #fff !important;
}

/* Sidebar categories */
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_kategorie p {
    color: var(--text-muted, #6b6b80);
    font-size: 12px;
}

/* Cart added alert in sidebar */
body.dark-theme.single-download .strona_kursu_sidebar .edd-cart-added-alert {
    color: var(--accent-secondary, #22D3EE) !important;
    display: block;
    text-align: center;
    margin-top: 12px;
    font-size: 14px;
    font-weight: 500;
}

body.dark-theme.single-download .strona_kursu_sidebar .edd-cart-ajax-alert {
    text-align: center;
    margin-top: 8px;
}

/* Ensure button text is always white and readable */
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart a.edd-add-to-cart,
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart a.edd-add-to-cart span {
    color: #fff !important;
}

/* Variant select dropdown */
body.dark-theme.single-download .strona_kursu_sidebar select[name="edd_options[price_id]"] {
    background: var(--dark-bg2, #16181E);
    color: var(--text-primary, #f0f0f5);
    border: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
    border-radius: 8px;
    padding: 10px 14px;
    width: 100%;
    font-size: 14px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

body.dark-theme.single-download .strona_kursu_sidebar select[name="edd_options[price_id]"]:focus {
    border-color: var(--accent, #06B6D4);
    outline: none;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15);
}

body.dark-theme.single-download .strona_kursu_sidebar select[name="edd_options[price_id]"] option:disabled {
    background: var(--dark-bg, #0E0C15);
    color: var(--text-muted, #6b6b80);
}

/* Sidebar variant box */
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_wariant {
    padding: 0;
    margin-bottom: 12px;
}


/* --------------------------------------------------------------------------
   6. LAYOUT IMPROVEMENTS
   -------------------------------------------------------------------------- */

/* Two-column layout */
body.dark-theme.single-download .wp-block-columns {
    flex-wrap: wrap !important;
    gap: 48px;
}

/* Ensure proper stacking on smaller viewports */
body.dark-theme.single-download .wp-block-columns > .wp-block-column {
    min-width: 0;
}

/* Left column - 66% */
body.dark-theme.single-download .wp-block-columns > .wp-block-column:first-child {
    flex-basis: 63% !important;
    flex-grow: 0;
    min-width: 0;
}

/* Right column - 33% */
body.dark-theme.single-download .wp-block-columns > .wp-block-column:last-child {
    flex-basis: 33% !important;
    flex-grow: 0;
    min-width: 280px;
}

/* Full-width sections that break out of container */
body.dark-theme.single-download #content.wpi-template > .alignfull {
    max-width: 100vw;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding: 0;
}


/* --------------------------------------------------------------------------
   7. HIDDEN ELEMENTS
   -------------------------------------------------------------------------- */

body.dark-theme.single-download .box_glowna_kategorie_wrapper:empty {
    display: none;
}

body.dark-theme.single-download .view-mode {
    display: none;
}

body.dark-theme.single-download .qubely-block-cbdd82.editorskit-no-desktop.editorskit-no-tablet.editorskit-no-mobile {
    display: none !important;
}


/* --------------------------------------------------------------------------
   8. EDD / PURCHASE FORM OVERRIDES
   -------------------------------------------------------------------------- */

body.dark-theme.single-download .edd_purchase_submit_wrapper {
    margin: 0;
    padding: 0;
}

body.dark-theme.single-download .edd-loading-ajax.edd-loading {
    display: none;
}

/* Loading spinner for add-to-cart */
body.dark-theme.single-download .edd-add-to-cart .edd-loading {
    border-color: rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
}


/* --------------------------------------------------------------------------
   9. RESPONSIVE - TABLET (max-width: 1130px)
   -------------------------------------------------------------------------- */

@media (max-width: 1130px) {

    body.dark-theme.single-download .strona_kursu_sidebar {
        position: relative !important;
        top: auto;
        max-width: 100% !important;
        margin-bottom: 40px;
    }

    body.dark-theme.single-download .wp-block-columns > .wp-block-column:first-child {
        flex-basis: 60% !important;
    }

    body.dark-theme.single-download .wp-block-columns > .wp-block-column:last-child {
        flex-basis: 36% !important;
    }

    body.dark-theme.single-download .wp-block-columns {
        gap: 32px;
    }
}


/* --------------------------------------------------------------------------
   10. RESPONSIVE - MOBILE (max-width: 768px)
   -------------------------------------------------------------------------- */

@media (max-width: 768px) {

    body.dark-theme.single-download #panel_kursu_slider.krotki_slider {
        min-height: 260px;
        height: 260px;
    }

    body.dark-theme.single-download .krotki_slider > div > div {
        font-size: 28px;
        line-height: 1.2;
        max-width: calc(100% - 40px);
    }

    body.dark-theme.single-download .wp-block-columns {
        flex-direction: column !important;
        gap: 24px;
    }

    body.dark-theme.single-download .wp-block-columns > .wp-block-column:first-child,
    body.dark-theme.single-download .wp-block-columns > .wp-block-column:last-child {
        flex-basis: 100% !important;
        min-width: 0;
    }

    body.dark-theme.single-download .strona_kursu_sidebar {
        position: relative !important;
        top: auto;
        max-width: 100% !important;
        margin-bottom: 40px;
    }

    body.dark-theme.single-download .contenter_tresci h2 {
        font-size: 24px;
    }

    body.dark-theme.single-download .strona_kursu_sidebar .glowna_box_cena_cena {
        font-size: 42px !important;
    }

    body.dark-theme.single-download .wp-block-embed-youtube .wp-block-embed__wrapper {
        border-radius: 10px;
    }

    body.dark-theme.single-download .qubely-testimonial-carousel-layout-1 .qubely-tesitmonial-item,
    body.dark-theme.single-download .qubely-testimonial-carousel-layout-2 .qubely-tesitmonial-item,
    body.dark-theme.single-download .qubely-testimonial-carousel-layout-3 .qubely-testimonial-carousel-content-wrapper {
        padding: 24px !important;
    }
}


/* --------------------------------------------------------------------------
   11. RESPONSIVE - SMALL MOBILE (max-width: 480px)
   -------------------------------------------------------------------------- */

@media (max-width: 480px) {

    body.dark-theme.single-download #panel_kursu_slider.krotki_slider {
        min-height: 220px;
        height: 220px;
    }

    body.dark-theme.single-download .krotki_slider > div > div {
        font-size: 22px;
        line-height: 1.25;
    }

    body.dark-theme.single-download .contenter_tresci h2 {
        font-size: 20px;
    }

    body.dark-theme.single-download .contenter_tresci p {
        font-size: 15px;
    }

    body.dark-theme.single-download .strona_kursu_sidebar {
        padding: 24px !important;
        border-radius: 12px !important;
    }

    body.dark-theme.single-download .strona_kursu_sidebar .glowna_box_cena_cena {
        font-size: 36px !important;
    }

    body.dark-theme.single-download .strona_kursu_sidebar .edd-add-to-cart,
    body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart a {
        font-size: 14px !important;
        padding: 14px 24px !important;
    }

    body.dark-theme.single-download .strona_kursu_sidebar .edd_go_to_checkout {
        font-size: 14px;
        padding: 14px 20px;
    }

    body.dark-theme.single-download .breadcrumbs {
        margin-top: 16px;
        margin-bottom: 24px;
    }
}


/* --------------------------------------------------------------------------
   12. MICRO-INTERACTIONS & POLISH
   -------------------------------------------------------------------------- */

/* Smooth transitions for interactive elements */
body.dark-theme.single-download .strona_kursu_sidebar a,
body.dark-theme.single-download .qubely-carousel-nav-control .nav-control,
body.dark-theme.single-download .contenter_tresci a {
    transition: all 0.25s ease;
}

/* Focus states for accessibility */
body.dark-theme.single-download .strona_kursu_sidebar .edd-add-to-cart:focus,
body.dark-theme.single-download .strona_kursu_sidebar .box_glowna_add_to_cart a.edd-add-to-cart:focus {
    outline: 2px solid var(--accent-secondary, #22D3EE);
    outline-offset: 3px;
}

body.dark-theme.single-download .strona_kursu_sidebar .edd_go_to_checkout:focus {
    outline: 2px solid var(--accent-secondary, #22D3EE);
    outline-offset: 3px;
}

/* Scrollbar styling for testimonials overflow */
body.dark-theme.single-download .qubely-carousel-wrapper::-webkit-scrollbar {
    height: 4px;
}

body.dark-theme.single-download .qubely-carousel-wrapper::-webkit-scrollbar-track {
    background: var(--dark-bg2, #16181E);
    border-radius: 2px;
}

body.dark-theme.single-download .qubely-carousel-wrapper::-webkit-scrollbar-thumb {
    background: var(--dark-border, rgba(6, 182, 212, 0.12));
    border-radius: 2px;
}

/* Selection styling */
body.dark-theme.single-download .contenter_tresci ::selection {
    background: rgba(6, 182, 212, 0.3);
    color: #fff;
}

/* Image hover effect in content */
body.dark-theme.single-download .contenter_tresci .wp-block-image img {
    transition: transform 0.4s ease;
}

body.dark-theme.single-download .contenter_tresci .wp-block-image:hover img {
    transform: scale(1.01);
}

/* Separator / HR styling */
body.dark-theme.single-download .contenter_tresci hr,
body.dark-theme.single-download .wp-block-separator {
    border: none;
    border-top: 1px solid var(--dark-border-subtle, rgba(255, 255, 255, 0.06));
    margin: 40px 0;
}

/* ==========================================================================
   Moje konto / Moje kursy — Tabbed View (Publigo)
   ========================================================================== */

/* Tabbed view wrapper */
body.dark-theme .tabbed-view,
body.dark-theme .user-account-tabbed-view {
    background: transparent !important;
    color: #BCC3D7;
}

/* Sidebar tabs (left column) */
body.dark-theme .tabbed-view__tabs {
    background: transparent !important;
}

body.dark-theme .tabbed-view__tab {
    background: var(--dark-card, #16181E) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
    padding: 16px 20px !important;
    color: #BCC3D7 !important;
    transition: all 0.2s ease;
    cursor: pointer;
}

body.dark-theme .tabbed-view__tab:hover {
    border-color: rgba(6, 182, 212, 0.3) !important;
    background: #1a1c24 !important;
}

body.dark-theme .tabbed-view__tab--active,
body.dark-theme .tabbed-view__tab.active {
    background: rgba(6, 182, 212, 0.1) !important;
    border-color: rgba(6, 182, 212, 0.4) !important;
}

body.dark-theme .tabbed-view__tab-title,
body.dark-theme .tabbed-view__tab a {
    color: #fff !important;
    font-weight: 600 !important;
    font-family: 'Sora', sans-serif !important;
}

body.dark-theme .tabbed-view__tab--active .tabbed-view__tab-title,
body.dark-theme .tabbed-view__tab.active a {
    color: #22D3EE !important;
}

body.dark-theme .tabbed-view__tab-description,
body.dark-theme .tabbed-view__tab p {
    color: #565e78 !important;
    font-size: 13px !important;
}

/* Tab content area */
body.dark-theme .tabbed-view__tab-contents,
body.dark-theme .tabbed-view__tab-content {
    background: transparent !important;
    color: #BCC3D7 !important;
}

body.dark-theme .tabbed-view__tab-content h2,
body.dark-theme .tabbed-view__tab-content h3,
body.dark-theme .tabbed-view__tab-content h4 {
    color: #fff !important;
    font-family: 'Sora', sans-serif !important;
}

/* Tables inside account panel */
body.dark-theme .tabbed-view__tab-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 10px !important;
    overflow: hidden;
}

body.dark-theme .tabbed-view__tab-content table thead,
body.dark-theme .tabbed-view__tab-content table thead tr {
    background: #16181E !important;
}

body.dark-theme .tabbed-view__tab-content table th {
    background: #16181E !important;
    color: #BCC3D7 !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-right: none !important;
    border-left: none !important;
}

body.dark-theme .tabbed-view__tab-content table td {
    background: #0E0C15 !important;
    color: #BCC3D7 !important;
    font-family: 'Sora', sans-serif !important;
    font-size: 14px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    border-right: none !important;
    border-left: none !important;
}

body.dark-theme .tabbed-view__tab-content table tr:last-child td {
    border-bottom: none !important;
}

body.dark-theme .tabbed-view__tab-content table tr:hover td {
    background: #13111C !important;
}

body.dark-theme .tabbed-view__tab-content table a {
    color: #22D3EE !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.2s ease;
}

body.dark-theme .tabbed-view__tab-content table a:hover {
    color: #06B6D4 !important;
}

/* Form fields inside account panel */
body.dark-theme .tabbed-view__tab-content input[type="text"],
body.dark-theme .tabbed-view__tab-content input[type="email"],
body.dark-theme .tabbed-view__tab-content input[type="password"],
body.dark-theme .tabbed-view__tab-content input[type="tel"],
body.dark-theme .tabbed-view__tab-content input[type="number"],
body.dark-theme .tabbed-view__tab-content textarea,
body.dark-theme .tabbed-view__tab-content select {
    background: #16181E !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-family: 'Sora', sans-serif !important;
}

body.dark-theme .tabbed-view__tab-content input:focus,
body.dark-theme .tabbed-view__tab-content textarea:focus,
body.dark-theme .tabbed-view__tab-content select:focus {
    border-color: rgba(6, 182, 212, 0.5) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.1) !important;
}

body.dark-theme .tabbed-view__tab-content label {
    color: #BCC3D7 !important;
    font-family: 'Sora', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Buttons inside account panel */
body.dark-theme .tabbed-view__tab-content button,
body.dark-theme .tabbed-view__tab-content input[type="submit"],
body.dark-theme .tabbed-view__tab-content .button {
    background: linear-gradient(135deg, #06B6D4, #22D3EE) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

body.dark-theme .tabbed-view__tab-content button:hover,
body.dark-theme .tabbed-view__tab-content input[type="submit"]:hover,
body.dark-theme .tabbed-view__tab-content .button:hover {
    filter: brightness(115%);
    box-shadow: 0 4px 20px rgba(6, 182, 212, 0.3);
}

/* Horizontal rules / dividers in account */
body.dark-theme .tabbed-view__tab-content hr {
    border: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* Admin mode toggle at bottom */
body.dark-theme .bpmj-eddcm-admin-mode,
body.dark-theme [class*="admin-mode"] {
    color: #565e78 !important;
}

/* General page-level overrides for Moje konto */
body.dark-theme .content.wpi-template table {
    background: transparent !important;
}

body.dark-theme .content.wpi-template table th {
    background: #16181E !important;
    color: #BCC3D7 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.dark-theme .content.wpi-template table td {
    background: #0E0C15 !important;
    color: #BCC3D7 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

body.dark-theme .content.wpi-template table a {
    color: #22D3EE !important;
}

/* ============================================================
   MOJE KONTO — Tab menu buttons (sidebar navigation)
   ============================================================ */
body.dark-theme .tabbed-view__tabs-menu__tab-link,
body.dark-theme .tabbed-view__tabs-menu__tab-link--active,
body.dark-theme button.tabbed-view__tabs-menu__tab-link {
    background: #16181E !important;
    color: #BCC3D7 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    font-family: 'Sora', sans-serif !important;
    transition: all 0.2s ease;
}

body.dark-theme .tabbed-view__tabs-menu__tab-link:hover {
    background: #1E2029 !important;
    border-color: rgba(6, 182, 212, 0.3) !important;
    color: #fff !important;
}

body.dark-theme .tabbed-view__tabs-menu__tab-link--active,
body.dark-theme .tabbed-view__tabs-menu__tab.active .tabbed-view__tabs-menu__tab-link,
body.dark-theme .tabbed-view__tabs-menu__tab-link[aria-selected="true"] {
    background: #1E2029 !important;
    border-color: #06B6D4 !important;
    color: #fff !important;
}

body.dark-theme .tabbed-view__tabs-menu__tab-link i,
body.dark-theme .tabbed-view__tabs-menu__tab-link svg {
    color: #06B6D4 !important;
    fill: #06B6D4 !important;
}

/* Tab link description text */
body.dark-theme .tabbed-view__tabs-menu__tab-link small,
body.dark-theme .tabbed-view__tabs-menu__tab-link .description {
    color: #565e78 !important;
}

/* ============================================================
   MOJE KONTO — Info messages (bpmj_edd_info_message)
   ============================================================ */
body.dark-theme .bpmj_edd_info_message,
body.dark-theme div.bpmj_edd_info_message {
    background: #16181E !important;
    color: #BCC3D7 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    font-family: 'Sora', sans-serif !important;
}

body.dark-theme .bpmj_edd_info_message a {
    color: #22D3EE !important;
}

body.dark-theme .bpmj_edd_info_message strong {
    color: #fff !important;
}

/* ============================================================
   MOJE KONTO — WPI Popup (modals/dialogs)
   ============================================================ */
body.dark-theme .wpi-popup,
body.dark-theme .wpi-popup--ajax {
    background: rgba(0, 0, 0, 0.7) !important;
}

body.dark-theme .wpi-popup__content {
    background: #16181E !important;
    color: #BCC3D7 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
}

body.dark-theme .wpi-popup__content h2,
body.dark-theme .wpi-popup__content h3,
body.dark-theme .wpi-popup__content h4 {
    color: #fff !important;
    font-family: 'Sora', sans-serif !important;
}

body.dark-theme .wpi-popup__footer {
    background: #13111C !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    color: #BCC3D7 !important;
}

body.dark-theme .wpi-popup__close {
    color: #BCC3D7 !important;
}

body.dark-theme .wpi-popup__close:hover {
    color: #fff !important;
}

/* ============================================================
   MOJE KONTO — Toggle slider (checkbox switch)
   ============================================================ */
body.dark-theme .slider,
body.dark-theme span.slider,
body.dark-theme span.slider.disabled {
    background: #2A2D38 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .slider::before,
body.dark-theme span.slider::before {
    background: #565e78 !important;
}

body.dark-theme input:checked + .slider,
body.dark-theme input:checked + span.slider {
    background: #06B6D4 !important;
}

body.dark-theme input:checked + .slider::before,
body.dark-theme input:checked + span.slider::before {
    background: #fff !important;
}

/* ============================================================
   MOJE KONTO — Error / validation messages
   ============================================================ */
body.dark-theme p.error,
body.dark-theme .add-opinion-wrapper p.error {
    background: rgba(220, 38, 38, 0.15) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(220, 38, 38, 0.3) !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
}

/* ============================================================
   MOJE KONTO — Chrome autofill dark override
   ============================================================ */
body.dark-theme input:-webkit-autofill,
body.dark-theme input:-webkit-autofill:hover,
body.dark-theme input:-webkit-autofill:focus,
body.dark-theme input:-webkit-autofill:active,
body.dark-theme textarea:-webkit-autofill,
body.dark-theme select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #16181E inset !important;
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* ============================================================
   MOJE KONTO — All remaining form elements
   ============================================================ */
body.dark-theme .tabbed-view input[type="text"],
body.dark-theme .tabbed-view input[type="email"],
body.dark-theme .tabbed-view input[type="password"],
body.dark-theme .tabbed-view input[type="tel"],
body.dark-theme .tabbed-view input[type="number"],
body.dark-theme .tabbed-view input[type="url"],
body.dark-theme .tabbed-view textarea,
body.dark-theme .tabbed-view select {
    background: #16181E !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-family: 'Sora', sans-serif !important;
}

body.dark-theme .tabbed-view input:focus,
body.dark-theme .tabbed-view textarea:focus,
body.dark-theme .tabbed-view select:focus {
    border-color: rgba(6, 182, 212, 0.5) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.1) !important;
}

/* ============================================================
   COURSE PANEL — etap_kursu (section cards: Część teoretyczna etc.)
   ============================================================ */
body.dark-theme .etap_kursu,
body.dark-theme div.etap_kursu {
    background: #16181E !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    color: #BCC3D7 !important;
    padding: 20px !important;
    transition: all 0.2s ease;
}

body.dark-theme .etap_kursu:hover {
    border-color: rgba(6, 182, 212, 0.3) !important;
}

body.dark-theme .etap_kursu h3,
body.dark-theme .etap_kursu h4,
body.dark-theme .etap_kursu .module-title {
    color: #fff !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
}

body.dark-theme .etap_kursu .module-title--other {
    color: #22D3EE !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-top: 16px !important;
}

body.dark-theme .etap_kursu .module,
body.dark-theme .etap_kursu .module--other,
body.dark-theme .etap_kursu ul {
    color: #BCC3D7 !important;
    list-style: none !important;
    padding-left: 0 !important;
}

body.dark-theme .etap_kursu .module li,
body.dark-theme .etap_kursu ul li {
    color: #8A90A5 !important;
    font-family: 'Sora', sans-serif !important;
    font-size: 13px !important;
    padding: 6px 0 !important;
    padding-left: 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    position: relative !important;
}

body.dark-theme .etap_kursu .module li:last-child,
body.dark-theme .etap_kursu ul li:last-child {
    border-bottom: none !important;
}

/* Lesson link inside list item */
body.dark-theme .etap_kursu .module li a {
    color: #BCC3D7 !important;
    text-decoration: none !important;
    display: block !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    transition: all 0.2s ease;
}

body.dark-theme .etap_kursu .module li a:hover {
    color: #fff !important;
    background: rgba(6, 182, 212, 0.1) !important;
}

/* Override Publigo white hover/active on lesson list items */
body.dark-theme .etap_kursu ul li:hover,
body.dark-theme .etap_kursu ul li.active,
body.dark-theme .etap_kursu .module li:hover,
body.dark-theme .etap_kursu .module li.active {
    background: rgba(6, 182, 212, 0.08) !important;
    border-radius: 6px !important;
}

body.dark-theme .etap_kursu ul li:hover a,
body.dark-theme .etap_kursu ul li.active a,
body.dark-theme .etap_kursu .module li:hover a,
body.dark-theme .etap_kursu .module li.active a {
    color: #fff !important;
}

/* ============================================================
   COURSE PANEL — etap_kursu_kreska (progress/decoration lines)
   ============================================================ */
body.dark-theme .etap_kursu_kreska,
body.dark-theme div.etap_kursu_kreska {
    background: rgba(6, 182, 212, 0.3) !important;
    left: 18px !important;
}

body.dark-theme .etap_kursu_kreska.fa::before {
    color: #06B6D4 !important;
    left: 5px !important;
}

/* ============================================================
   COURSE PANEL — modul_lekcja (lesson thumbnail cards)
   ============================================================ */
body.dark-theme .modul_lekcja,
body.dark-theme div.modul_lekcja {
    background: #16181E !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    overflow: hidden;
    transition: all 0.3s ease;
}

body.dark-theme .modul_lekcja:hover {
    border-color: rgba(6, 182, 212, 0.3) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

body.dark-theme .modul_lekcja_link {
    color: #22D3EE !important;
    text-decoration: none !important;
}

body.dark-theme .modul_lekcja_tytul {
    color: #fff !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 12px 16px !important;
    line-height: 1.4 !important;
}

body.dark-theme .modul_lekcja img {
    width: 100% !important;
    display: block;
    border-radius: 0 !important;
}

/* ============================================================
   COURSE PANEL — etapy_kursu container and course-navigation
   ============================================================ */
body.dark-theme .etapy_kursu {
    background: transparent !important;
}

body.dark-theme .course-navigation-section,
body.dark-theme .course-navigation-section--mode-default {
    background: transparent !important;
    color: #BCC3D7 !important;
}

body.dark-theme .course-navigation-section h2,
body.dark-theme .course-navigation-section h3 {
    color: #fff !important;
    font-family: 'Sora', sans-serif !important;
}

/* ============================================================
   COURSE PANEL — postep_contenter (progress bar container)
   ============================================================ */
body.dark-theme .postep_contenter,
body.dark-theme .lekcja_top_postep .postep_contenter {
    background: #2A2D38 !important;
    border-radius: 20px !important;
}

body.dark-theme .postep_pasek,
body.dark-theme .postep_contenter .postep_pasek {
    background: linear-gradient(135deg, #06B6D4, #22D3EE) !important;
    border-radius: 20px !important;
}

body.dark-theme .postep_tekst {
    color: #fff !important;
    font-family: 'Sora', sans-serif !important;
}

/* ============================================================
   COURSE PANEL — General content area
   ============================================================ */
body.dark-theme .panel_kursu_moduly {
    background: transparent !important;
}

body.dark-theme .panel_kursu_moduly h2,
body.dark-theme .panel_kursu_moduly h3 {
    color: #fff !important;
    font-family: 'Sora', sans-serif !important;
}

body.dark-theme .panel_kursu_moduly p {
    color: #BCC3D7 !important;
}

/* ============================================================
   COURSE PANEL — WPI button (resume button etc.)
   ============================================================ */
body.dark-theme .wpi-button,
body.dark-theme button.wpi-button,
body.dark-theme .resume-after-login-button {
    background: linear-gradient(135deg, #06B6D4, #22D3EE) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

body.dark-theme .wpi-button:hover,
body.dark-theme button.wpi-button:hover {
    filter: brightness(115%);
    box-shadow: 0 4px 20px rgba(6, 182, 212, 0.3);
}

/* ============================================================
   LESSON PAGE — Komentarze/Notatki tabs
   ============================================================ */
body.dark-theme .tab ul li,
body.dark-theme .tab ul li.active {
    background: #16181E !important;
    color: #BCC3D7 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: none !important;
    border-radius: 8px 8px 0 0 !important;
    font-family: 'Sora', sans-serif !important;
}

body.dark-theme .tab ul li.active {
    background: #1E2029 !important;
    border-bottom: 2px solid #06B6D4 !important;
    color: #fff !important;
}

body.dark-theme .tab ul li:hover {
    background: #1E2029 !important;
    color: #fff !important;
}

body.dark-theme .tab ul li a {
    color: inherit !important;
    text-decoration: none !important;
}

body.dark-theme .tab {
    border: none !important;
    background: transparent !important;
}

/* Tab content area */
body.dark-theme .tab-content,
body.dark-theme .tab > div {
    background: transparent !important;
    border: none !important;
}

/* ============================================================
   LESSON PAGE — Notatki (notes)
   ============================================================ */
body.dark-theme .note-content,
body.dark-theme .note-preview .note-content {
    background: #16181E !important;
    color: #BCC3D7 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
}

body.dark-theme .note-preview {
    background: transparent !important;
}

body.dark-theme .delete-note-button,
body.dark-theme button.delete-note-button {
    background: #2A2D38 !important;
    color: #BCC3D7 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 6px !important;
}

body.dark-theme .delete-note-button:hover {
    background: rgba(220, 38, 38, 0.2) !important;
    border-color: rgba(220, 38, 38, 0.4) !important;
    color: #fca5a5 !important;
}

body.dark-theme .buttons-row {
    background: transparent !important;
}

/* Note textarea */
body.dark-theme .note-textarea,
body.dark-theme textarea.note-textarea {
    background: #16181E !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    font-family: 'Sora', sans-serif !important;
}

/* ============================================================
   LESSON PAGE — Checkbox "ukończony materiał"
   ============================================================ */
body.dark-theme .ukonczony_material input[type="checkbox"],
body.dark-theme input.fa[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #2A2D38 !important;
    border: 2px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 4px !important;
    width: 20px !important;
    height: 20px !important;
    cursor: pointer;
    position: relative;
}

body.dark-theme .ukonczony_material input[type="checkbox"]:checked {
    background: #06B6D4 !important;
    border-color: #06B6D4 !important;
}

body.dark-theme .ukonczony_material input[type="checkbox"]:checked::after {
    content: '✓' !important;
    color: #fff !important;
    font-size: 14px !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

body.dark-theme .ukonczony_material {
    color: #BCC3D7 !important;
}

/* ============================================================
   LESSON PAGE — Comment avatars (gravatar default styling)
   ============================================================ */
body.dark-theme .zdjecie img.avatar,
body.dark-theme img.avatar {
    background: #2A2D38 !important;
    border: 2px solid rgba(6, 182, 212, 0.3) !important;
    border-radius: 50% !important;
    filter: brightness(0.7) saturate(0.5) hue-rotate(220deg) !important;
}

/* ============================================================
   LESSON PAGE — Comment section general
   ============================================================ */
body.dark-theme .komentarz,
body.dark-theme .komentarze_lista > div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    background: transparent !important;
}

body.dark-theme .komentarz_autor,
body.dark-theme .komentarz .autor {
    color: #22D3EE !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
}

body.dark-theme .komentarz_data,
body.dark-theme .komentarz .data {
    color: #565e78 !important;
}

body.dark-theme .komentarz_tresc,
body.dark-theme .komentarz p {
    color: #BCC3D7 !important;
}

/* Comment form */
body.dark-theme .komentarze textarea,
body.dark-theme .komentarze_formularz textarea,
body.dark-theme #komentarz_tresc {
    background: #16181E !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    font-family: 'Sora', sans-serif !important;
}

body.dark-theme .komentarze_formularz button,
body.dark-theme .komentarze_formularz input[type="submit"] {
    background: linear-gradient(135deg, #06B6D4, #22D3EE) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
}

/* ============================================================
   LESSON PAGE — lekcja_dolna_czesc (bottom section wrapper)
   ============================================================ */
body.dark-theme .lekcja_dolna_czesc {
    background: transparent !important;
    border: none !important;
}
