/*
Theme Name: Pismenkarna Clean
Author: Jakub
Description: Standalone clean theme for Pismenkarna.
Version: 1.0.8
*/

/* =========================================================================
   TutorLMS Integration Overrides
   These styles ensure TutorLMS matches the Pismenkarana Clean UI.
   ========================================================================= */

/* Container & Typography Fixes */
.tutor-wrap {
    font-family: inherit !important;
    color: hsl(var(--foreground)) !important;
}

.pk-chalkboard-callout__grid {
    display: grid;
    gap: 2.75rem;
    align-items: center;
}

.pk-chalkboard-callout__image-frame {
    height: 27rem;
}

.pk-chalkboard-callout__body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pk-chalkboard-callout__actions {
    margin-top: 2.25rem;
}

@media (min-width: 768px) {
    .pk-chalkboard-callout__grid {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
        gap: 4rem;
    }
}

@media (min-width: 768px) {
    .pk-chalkboard-callout__image-frame {
        height: 32rem;
    }
}

@media (min-width: 1200px) {
    .pk-chalkboard-callout__image-frame {
        height: 38rem;
    }
}

.tutor-container {
    max-width: 100% !important;
    padding: 0 24px !important;
}

.pk-account-popover {
    position: relative;
}

.pk-account-popover__trigger {
    min-width: 0;
    color: hsl(var(--primary));
    background: hsl(var(--primary) / 0.1);
    border: 1px solid hsl(var(--primary) / 0.18);
    box-shadow: none;
}

.pk-account-popover__trigger:hover,
.pk-account-popover__trigger[aria-expanded="true"] {
    background: hsl(var(--primary) / 0.16);
    border-color: hsl(var(--primary) / 0.28);
}

.pk-account-popover__trigger[aria-expanded="true"] svg:last-child {
    transform: rotate(180deg);
}

.pk-account-popover__trigger svg:last-child {
    transition: transform 0.2s ease;
}

.pk-account-popover__trigger-avatar,
.pk-account-popover__profile-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.22);
    flex-shrink: 0;
}

.pk-account-popover__trigger-avatar {
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid hsl(var(--primary) / 0.18);
    background: rgba(255, 255, 255, 0.7);
}

.pk-account-popover__profile-avatar {
    width: 3rem;
    height: 3rem;
    border: 1px solid hsl(var(--border));
}

.pk-account-popover__trigger-avatar img,
.pk-account-popover__profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pk-account-popover__panel {
    position: absolute;
    top: calc(100% + 0.9rem);
    right: 0;
    width: min(21rem, 90vw);
    padding: 0.8rem;
    border-radius: 1.1rem;
    border: 1px solid hsl(var(--primary) / 0.12);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(16px);
    z-index: 80;
}

.pk-account-popover__profile {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.8rem;
    border-radius: 0.95rem;
    color: hsl(var(--foreground));
    background:
        linear-gradient(135deg, hsl(var(--primary) / 0.08), transparent 62%),
        hsl(var(--card) / 0.88);
    border: 1px solid hsl(var(--primary) / 0.12);
}

.pk-account-popover__profile-meta {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.pk-account-popover__profile-meta strong,
.pk-account-popover__profile-meta small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pk-account-popover__profile-meta strong {
    font-size: 0.95rem;
    line-height: 1.2;
}

.pk-account-popover__profile-meta small {
    margin-top: 0.2rem;
    color: hsl(var(--foreground) / 0.6);
    font-size: 0.8rem;
}

.pk-account-popover__profile-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2rem;
    padding: 0 0.8rem;
    border-radius: 9999px;
    background: hsl(var(--primary) / 0.12);
    color: hsl(var(--primary)) !important;
    text-decoration: none !important;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.pk-account-popover__profile-link:hover,
.pk-account-popover__profile-link:focus-visible {
    background: hsl(var(--primary) / 0.18);
    outline: none;
}

.pk-account-popover__menu {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.75rem;
}

.pk-account-popover__item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem;
    border-radius: 0.8rem;
    color: hsl(var(--foreground)) !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.pk-account-popover__item:hover,
.pk-account-popover__item:focus-visible {
    background: hsl(var(--primary) / 0.08);
    color: hsl(var(--primary)) !important;
    outline: none;
}

.pk-account-popover__item--logout:hover,
.pk-account-popover__item--logout:focus-visible {
    background: rgba(190, 24, 93, 0.08);
    color: #be185d !important;
}

.pk-account-popover__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    background: hsl(var(--primary) / 0.08);
    color: currentColor;
    flex-shrink: 0;
}

/* Headings & Display Fonts */
.tutor-wrap h1,
.tutor-wrap h2,
.tutor-wrap h3,
.tutor-wrap h4,
.tutor-wrap h5,
.tutor-wrap h6,
.tutor-dashboard-header-username,
.tutor-dashboard-header-display-name,
.tutor-course-title {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    color: hsl(var(--foreground)) !important;
    letter-spacing: -0.025em;
}

/* Typographic Inherits - safer for icons */
.tutor-wrap {
    font-family: var(--font-body);
}

.tutor-wrap p,
.tutor-wrap li {
    font-family: var(--font-body) !important;
}

/* Links */
.tutor-wrap a:not(.tutor-btn):not(.tutor-button):not(.tutor-dashboard-menu-item-link):not(.tutor-nav-link) {
    color: hsl(var(--primary)) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1px !important;
    transition: all 0.2s !important;
}

.tutor-wrap a:not(.tutor-btn):not(.tutor-button):not(.tutor-dashboard-menu-item-link):not(.tutor-nav-link):hover {
    text-decoration-thickness: 2px !important;
    opacity: 0.8 !important;
}

/* Nav Link Tabs (Zapsané, Dokončené, Informace, Recenze...) */
.tutor-wrap a.tutor-nav-link {
    text-decoration: none !important;
    color: hsl(var(--foreground) / 0.6) !important;
    font-weight: 500 !important;
    transition: color 0.3s ease, border-color 0.3s ease !important;
    border-bottom: 2px solid transparent !important;
    padding-bottom: 0.5rem !important;
}

.tutor-wrap a.tutor-nav-link:hover,
.tutor-wrap a.tutor-nav-link.is-active {
    color: hsl(var(--primary)) !important;
    border-bottom: 2px solid hsl(var(--primary)) !important;
}

/* Input Fields */
.tutor-form-group input[type="text"],
.tutor-form-group input[type="password"],
.tutor-form-group input[type="email"],
.tutor-form-group textarea,
.tutor-wrap input[type="text"],
.tutor-wrap input[type="password"],
.tutor-wrap input[type="email"] {
    background: transparent;
    border: 2px solid hsl(var(--border));
    color: hsl(var(--foreground));
    border-radius: 8px;
    padding: 0.875rem;
    font-family: var(--font-body);
    transition: border-color 0.2s;
}

.tutor-form-group input[type="text"]:focus,
.tutor-form-group input[type="password"]:focus,
.tutor-form-group input[type="email"]:focus,
.tutor-form-group textarea:focus,
.tutor-wrap input[type="text"]:focus,
.tutor-wrap input[type="password"]:focus,
.tutor-wrap input[type="email"]:focus {
    border-color: hsl(var(--accent)) !important;
    outline: none !important;
}

/* Badges */
.tutor-badge-primary {
    background-color: hsl(var(--primary)) !important;
    color: hsl(var(--primary-foreground)) !important;
}

/* Cards (Course Lists) */
.tutor-course-card {
    border-radius: 0.5rem;
    border: 1px solid hsl(var(--border)) !important;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1) !important;
    background: transparent !important;
    transition: transform 0.3s ease, border-color 0.3s ease !important;
}

.tutor-course-card:hover {
    transform: translateY(-2px) !important;
    border-color: hsl(var(--primary) / 0.5) !important;
}

/* =========================================================================
   Clean Single Course Page Styling
   ========================================================================= */

/* Hero Section of Course (Now using Custom Override) */
.tutor-full-width-course-top {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

.custom-course-hero {
    margin-bottom: 2rem !important;
}

/* Course Sidebar (Purchase Box / Info) */
.tutor-single-course-sidebar {
    position: sticky !important;
    top: 100px !important;
}

/* Course Details Tab Area */
.tutor-course-details-tab {
    background: transparent !important;
    border: none !important;
}

.tutor-course-details-tab .tutor-tab-item {
    background: transparent !important;
    border: none !important;
    padding: 1.5rem 0 !important;
    margin-top: 1rem !important;
}

/* Overriding default ugly list styles inside course info */
.tutor-course-benefits-content ul li {
    background: transparent !important;
    border-bottom: 1px solid hsl(var(--border) / 0.3) !important;
    padding-bottom: 0.8rem !important;
    margin-bottom: 0.8rem !important;
}

.tutor-course-benefits-content ul li:last-child {
    border-bottom: none !important;
}

/* Curriculum Items (Course Content) */
.tutor-course-topic {
    background: transparent !important;
    border: 1px solid hsl(var(--border) / 0.2) !important;
    border-radius: 0.5rem;
    margin-bottom: 1rem !important;
    overflow: hidden !important;
}

.tutor-course-topic.is-active .tutor-segment-title {
    background: hsl(var(--card) / 0.5) !important;
}

.tutor-course-topic .tutor-segment-title {
    background: hsl(var(--card) / 0.5) !important;
    border-bottom: 1px solid hsl(var(--border) / 0.5) !important;
    padding: 1.5rem 2rem !important;
    transition: background 0.3s ease !important;
}

.tutor-course-topic .tutor-course-lessons {
    padding: 1rem 2rem !important;
}

.tutor-course-lesson {
    border-bottom: 1px dashed hsl(var(--border) / 0.5) !important;
    padding: 1.25rem 0 !important;
}

.tutor-course-lesson:last-child {
    border-bottom: none !important;
}

/* Instructor section inside course */
.tutor-single-course-segment.tutor-course-instructors-wrap {
    background: transparent !important;
    border: none !important;
}

.tutor-instructor-list .tutor-instructor-item {
    background: hsl(var(--card)) !important;
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 1rem;
    padding: 1.5rem !important;
}
/* =========================================================================
   Checkout Page Refining (Safer Grid Version)
   ========================================================================= */

/* Main wrapper spacing — page-minimal.php handles top offset via #pk-funnel-main */
.tutor-checkout-page {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 0 4rem !important;
}

@media (max-width: 768px) {
    .tutor-checkout-page {
        padding: 0 0 2rem !important;
    }
}

/* --------------------------------------
   Left Side: Order Details Card
   -------------------------------------- */
.tutor-checkout-details {
    background: hsl(var(--card)) !important;
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 1rem;
    padding: 2rem !important;
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.1) !important;
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    .tutor-checkout-details {
        padding: 1.5rem !important;
    }
}

.tutor-checkout-details-inner {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.tutor-checkout-details-inner > h5 {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 1rem !important;
    color: hsl(var(--foreground)) !important;
}

/* Course Item in Checkout */
.tutor-checkout-course-item {
    padding-bottom: 1rem !important;
    margin-bottom: 1rem !important;
}

.tutor-checkout-course-item img {
    border-radius: 0.5rem;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

.tutor-checkout-course-title a {
    font-family: var(--font-display) !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    color: hsl(var(--foreground)) !important;
    text-decoration: none !important;
}
.tutor-checkout-course-title a:hover {
    color: hsl(var(--primary));
}

.tutor-checkout-page .tutor-checkout-course-thumb-title {
    display: block;
}

.tutor-checkout-course-content .tutor-text-right {
    text-align: right !important;
}
.tutor-checkout-course-content .tutor-fw-bold {
    font-size: 1.125rem !important;
    color: hsl(var(--foreground)) !important;
}
.tutor-checkout-discount-price {
    font-size: 0.875rem !important;
    color: hsl(var(--muted-foreground)) !important;
    text-decoration: line-through !important;
    margin-top: 0.25rem !important;
}

/* Order Summary Lines */
.tutor-checkout-summary-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.5rem 0 !important;
    color: hsl(var(--foreground)) !important;
}

.tutor-checkout-summary-item .tutor-fw-medium {
    color: hsl(var(--muted-foreground)) !important;
}

.tutor-checkout-summary-item.tutor-have-a-coupon {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

.tutor-checkout-summary-item.tutor-d-none {
    display: none !important;
}

/* Grand Total */
.tutor-checkout-grand-total {
    font-family: var(--font-display) !important;
    font-size: 1.5rem !important;
    color: hsl(var(--primary)) !important;
    font-weight: 700 !important;
}
.tutor-checkout-details-inner .tutor-pt-12,
.tutor-checkout-details-inner > .tutor-pt-12 {
    padding-top: 1.5rem;
    margin-top: 1.5rem;
    border: none;
}
.tutor-checkout-details-inner > .tutor-pt-12 .tutor-checkout-summary-item {
    border: none;
}

/* Coupon Button & Form */
#tutor-toggle-coupon-button {
    background: transparent;
    box-shadow: none;
    color: hsl(var(--primary));
    padding: 0;
    height: auto;
    font-size: 0.875rem;
    display: inline-block;
    text-decoration: none;
    font-weight: 600;
    border: none;
}
#tutor-toggle-coupon-button:hover,
#tutor-toggle-coupon-button:focus,
#tutor-toggle-coupon-button:active {
    transform: none;
    color: hsl(var(--primary));
    background: transparent;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    border: none;
    box-shadow: none;
    outline: none;
}

.tutor-apply-coupon-form {
    gap: 0.5rem !important;
    margin-top: 0.5rem !important;
}
.tutor-apply-coupon-form:not(.tutor-d-none) {
    display: flex !important;
}
.tutor-apply-coupon-form input {
    border-radius: 0.5rem;
}
.tutor-apply-coupon-form button {
    border-radius: 0.5rem;
    height: auto !important;
    padding: 0.5rem 1rem !important;
}


/* --------------------------------------
   Right Side: Billing & Payment
   -------------------------------------- */

.tutor-checkout-billing {
    background: transparent !important;
    border: none !important;
    border-radius: 8px;
    padding: 0 !important;
    box-shadow: none !important;
    margin-bottom: 2rem !important;
}
   
/* Already have an account box */
.tutor-checkout-billing .tutor-mb-32.tutor-border {
    background: hsl(var(--card)) !important;
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 0.75rem;
    padding: 1.25rem 1.5rem !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}
.tutor-checkout-billing .tutor-mb-32.tutor-border p {
    color: hsl(var(--muted-foreground)) !important;
    font-size: 0.95rem !important;
}
.tutor-checkout-billing .tutor-mb-32.tutor-border button {
    height: auto !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: 8px;
}

.tutor-checkout-billing-inner > h5 {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    margin: 0 0 1rem !important;
    color: hsl(var(--foreground)) !important;
}

/* Billing form — intentionally unstyled, Tutor handles it natively */

/* Payment Methods Block */
.tutor-payment-method-wrapper {
    margin-top: 2.5rem !important;
}
.tutor-payment-method-wrapper > h5 {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    margin-bottom: 1.25rem !important;
    color: hsl(var(--foreground)) !important;
}

.tutor-checkout-payment-options {
    background: hsl(var(--card)) !important;
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 0.75rem;
    overflow: hidden !important;
}

.tutor-payment-method-item {
    padding: 1rem 1.5rem !important;
    border-bottom: 1px solid hsl(var(--border)) !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.tutor-payment-method-item:last-child {
    border-bottom: none !important;
}
.tutor-payment-method-item:hover {
    background: hsl(var(--muted)) !important;
}

.tutor-payment-method-item input[type="radio"] {
    position: relative !important;
    appearance: none !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    border: 2px solid hsl(var(--muted-foreground)) !important;
    border-radius: 50%;
    margin: 0 !important;
    outline: none !important;
    cursor: pointer !important;
    display: inline-block !important;
}

.tutor-payment-method-item input[type="radio"]:checked {
    border-color: hsl(var(--primary)) !important;
}
.tutor-payment-method-item input[type="radio"]:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 0.6rem !important;
    height: 0.6rem !important;
    border-radius: 50%;
    background: hsl(var(--primary)) !important;
}

.tutor-payment-method-item .tutor-payment-method-title {
    font-weight: 500 !important;
    color: hsl(var(--foreground)) !important;
}
.tutor-payment-method-item .tutor-payment-method-logo img {
    max-height: 24px !important;
}

/* Pay / Submit Button */
.tutor-checkout-place-order-btn-wrapper {
    margin-top: 2rem !important;
}
.tutor-checkout-place-order-btn-wrapper button {
    width: 100% !important;
    font-size: 1.125rem !important;
    padding: 1rem !important;
    height: auto !important;
    border-radius: 0.5rem;
}

/* =========================================================================
   WordPress Admin Bar Fix
   ========================================================================= */
body.admin-bar header,
body.admin-bar .static-mobile-menu {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar header,
    body.admin-bar .static-mobile-menu {
        top: 46px !important;
    }
    html #wpadminbar {
        position: fixed !important;
    }
}

/* =========================================================================
   Course Experience Shell
   ========================================================================= */
/* Allowed native scrolling on course and lesson pages */

html.pk-course-experience .tutor-course-single-content-wrapper,
html.pk-course-experience .tutor-course-single-sidebar-wrapper,
html.pk-course-experience #tutor-single-entry-content {
    overscroll-behavior-y: contain;
}

/* Legal Pages Styling */
.legal-section ul li::marker {
    color: var(--wp--preset--color--primary, #6a953a) !important;
}

/* =========================================================================
   Lesson Detail Experience
   ========================================================================= */

body.single-lesson {
    background: #f6f1e6 !important;
    --pk-sidebar-divider: hsl(var(--border) / 0.58);
    --pk-sidebar-divider-soft: hsl(var(--border) / 0.48);
    /* Warm sidebar palette — derived from accent hue */
    --pk-sidebar-title-bg: hsl(38 45% 91%);
    --pk-sidebar-hover-bg: hsl(38 44% 88%);
    --pk-sidebar-active-item-bg: hsl(38 42% 84%);
    --pk-sidebar-active-topic-bg: hsl(38 44% 87%);
}

body.single-lesson .tutor-course-single-content-wrapper {
    display: flex;
    min-height: 100vh;
    background: transparent;
}

body.single-lesson .tutor-course-single-sidebar-wrapper {
    width: 22rem;
    flex: 0 0 22rem;
    background: var(--pk-sidebar-title-bg) !important;
    border-right: 1px solid var(--pk-sidebar-divider) !important;
    overflow-y: auto;
    border-radius: 8px;
    box-shadow: none !important;
    /* Slim scrollbar */
    scrollbar-width: thin;
    scrollbar-color: hsl(var(--border)) transparent;
}

body.single-lesson .tutor-course-single-sidebar-wrapper::-webkit-scrollbar {
    width: 4px;
}

body.single-lesson .tutor-course-single-sidebar-wrapper::-webkit-scrollbar-track {
    background: transparent;
}

body.single-lesson .tutor-course-single-sidebar-wrapper::-webkit-scrollbar-thumb {
    background: hsl(var(--border));
    border-radius: 99px;
}

body.single-lesson #tutor-single-entry-content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: #fff !important;
}

body.single-lesson #tutor-single-entry-content .tutor-course-topic-single-header.pk-simple-topbar {
    position: sticky;
    top: 0;
    z-index: 200;
    min-height: 4.75rem;
    padding: 0.95rem 1.5rem !important;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--amber-warm))) !important;
    color: hsl(var(--primary-foreground)) !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

body.admin-bar.single-lesson #tutor-single-entry-content .tutor-course-topic-single-header.pk-simple-topbar {
    top: 32px;
}

body.single-lesson .pk-simple-topbar-inner {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

body.single-lesson .pk-simple-topbar-left,
body.single-lesson .pk-simple-topbar-right {
    display: flex;
    align-items: center;
    flex: 1 1 0;
    gap: 0.75rem;
    min-width: 0;
}

body.single-lesson .pk-simple-topbar-left {
    justify-content: flex-start;
}

body.single-lesson .pk-simple-topbar-right {
    justify-content: flex-end;
}

body.single-lesson .pk-simple-topbar .pk-simple-sidebar-reopen {
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 0 !important;
    border-radius: 8px;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    color: hsl(var(--primary-foreground)) !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    cursor: pointer;
}

body.single-lesson .pk-simple-topbar .pk-simple-sidebar-reopen .tutor-icon-left {
    display: block;
    transform: rotate(180deg);
}

body.single-lesson .pk-simple-topbar .pk-simple-sidebar-reopen[hidden] {
    display: none !important;
}

body.single-lesson .pk-simple-topbar .pk-simple-sidebar-reopen:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 0 !important;
    color: hsl(var(--primary-foreground)) !important;
}

body.single-lesson .pk-simple-course-title {
    font-family: var(--font-display);
    font-size: clamp(1.28rem, 1.9vw, 1.8rem);
    font-weight: 700;
    line-height: 1.05;
    color: hsl(var(--primary-foreground));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: min(40rem, 52vw);
}

body.single-lesson #tutor-single-entry-content .tutor-course-topic-single-header .pk-simple-icon-btn,
body.single-lesson #tutor-single-entry-content .tutor-course-topic-single-header .tutor-iconic-btn {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    background: transparent !important;
    color: hsl(var(--primary-foreground)) !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.single-lesson #tutor-single-entry-content .tutor-course-topic-single-header .pk-simple-icon-btn:hover,
body.single-lesson #tutor-single-entry-content .tutor-course-topic-single-header .tutor-iconic-btn:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: hsl(var(--primary-foreground)) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
}

body.single-lesson .pk-simple-progress {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.3rem;
    line-height: 1.2;
    min-width: 12rem;
}

body.single-lesson .pk-simple-progress-label {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
}

body.single-lesson .pk-simple-progress-value {
    font-size: 0.88rem;
    font-weight: 600;
    color: hsl(var(--primary-foreground));
}

body.single-lesson .pk-simple-progress-track {
    width: 100%;
    height: 0.36rem;
    background: rgba(255, 255, 255, 0.24);
    overflow: hidden;
}

body.single-lesson .pk-simple-progress-fill {
    display: block;
    height: 100%;
    background: rgba(255, 255, 255, 0.94);
}

body.single-lesson .pk-simple-topbar-right .tutor-topbar-mark-btn,
body.single-lesson .pk-simple-topbar-right .tutor-btn {
    height: 2.5rem !important;
    padding: 0 0.95rem !important;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    background: transparent !important;
    color: hsl(var(--primary-foreground)) !important;
    box-shadow: none !important;
}

body.single-lesson .pk-simple-topbar-right .tutor-topbar-complete-btn,
body.single-lesson .pk-simple-topbar-right .tutor-topbar-complete-btn form {
    display: flex;
    align-items: center;
    margin: 0 !important;
}

body.single-lesson .pk-simple-topbar-mobile {
    margin-left: auto;
}

body.single-lesson .pk-simple-topbar-right .tutor-topbar-mark-btn:hover,
body.single-lesson .pk-simple-topbar-right .tutor-btn:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    transform: none !important;
}

body.single-lesson .pk-simple-player-body {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
}

body.single-lesson .pk-simple-video-shell {
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid hsl(var(--border) / 0.92);
    background: #111;
}

body.single-lesson .tutor-course-spotlight-wrapper.pk-simple-tabs-wrap {
    margin: 1.25rem 1.75rem 2rem;
    padding: 0;
    border: 1px solid hsl(var(--border) / 0.92);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    box-shadow: none !important;
}

body.single-lesson .tutor-course-spotlight-nav {
    gap: 1.25rem;
    padding: 0 1.5rem;
    margin: 0;
    border-bottom: 1px solid hsl(var(--border) / 0.82);
    overflow-x: auto;
    scrollbar-width: thin;
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-item {
    flex: 0 0 auto;
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    position: relative;
    padding: 1rem 0.1rem 0.9rem !important;
    border-bottom: 0 !important;
    color: hsl(var(--foreground) / 0.58) !important;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color 0.2s ease;
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link:hover,
body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link.is-active {
    color: hsl(var(--foreground)) !important;
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link.is-active {
    font-weight: 700 !important;
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: transparent;
    transition: background-color 0.2s ease;
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link:hover::after {
    background: hsl(var(--primary) / 0.3);
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link.is-active::after {
    background: hsl(var(--primary));
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link [class*="tutor-icon-"],
body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link svg {
    flex-shrink: 0;
    margin-right: 0 !important;
    color: currentColor !important;
    opacity: 0.82;
}

body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link.is-active [class*="tutor-icon-"],
body.single-lesson .tutor-course-spotlight-nav .tutor-nav-link.is-active svg {
    opacity: 1;
}

body.single-lesson .tutor-course-spotlight-tab {
    padding: 1.5rem;
}

body.single-lesson .tutor-course-spotlight-tab .tutor-lesson-wrapper h2,
body.single-lesson .tutor-course-spotlight-tab .tutor-lesson-wrapper h3,
body.single-lesson .tutor-course-spotlight-tab .tutor-lesson-wrapper h4 {
    line-height: 1.12;
    margin: 0 0 0.85rem;
}

body.single-lesson .tutor-course-spotlight-tab .tutor-lesson-wrapper h2 {
    font-size: clamp(1.7rem, 2.2vw, 2.2rem) !important;
}

body.single-lesson .tutor-course-spotlight-tab .tutor-lesson-wrapper h3 {
    font-size: clamp(1.45rem, 1.85vw, 1.8rem) !important;
}

body.single-lesson .tutor-course-spotlight-tab .tutor-lesson-wrapper h4 {
    font-size: clamp(1.2rem, 1.45vw, 1.4rem) !important;
}

body.single-lesson .tutor-course-single-sidebar-title {
    position: sticky;
    top: 0;
    z-index: 5;
    padding: 1.3rem 1.5rem 1rem;
    background: var(--pk-sidebar-title-bg) !important;
    border-bottom: 1px solid var(--pk-sidebar-divider);
    border-radius: 8px;
}

body.single-lesson .pk-sidebar-title-actions {
    gap: 0;
    margin-left: auto;
}

body.single-lesson .pk-sidebar-toggle {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 8px;
    background: transparent !important;
    color: hsl(var(--muted-foreground)) !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

body.single-lesson .pk-sidebar-toggle:hover {
    background: rgba(20, 26, 15, 0.04) !important;
    color: hsl(var(--foreground)) !important;
}

body.single-lesson .tutor-course-single-sidebar-title .tutor-fs-6 {
    font-family: var(--font-body) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: hsl(var(--muted-foreground)) !important;
}

body.single-lesson .tutor-course-topic {
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--pk-sidebar-divider) !important;
    border-radius: 8px;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.single-lesson .tutor-course-topic:first-of-type {
    border-top: 0 !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header {
    padding: 1rem 1.5rem 0.85rem !important;
    cursor: pointer;
    background: transparent !important;
    border-radius: 8px;
    box-shadow: none !important;
    border-bottom: 0 !important;
    color: hsl(var(--foreground)) !important;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header:after {
    color: hsl(var(--muted-foreground)) !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header.is-active:after {
    color: hsl(var(--foreground)) !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header.is-active,
body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header:hover,
body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header:focus {
    background: transparent !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header .tutor-row,
body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header .tutor-col,
body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header .tutor-col-auto,
body.single-lesson .tutor-course-topic-title-info,
body.single-lesson .tutor-accordion-item-body {
    background: transparent !important;
    border-radius: 8px;
    box-shadow: none !important;
}

body.single-lesson .tutor-course-topic-title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 700;
    color: hsl(var(--foreground));
    line-height: 1.35;
}

body.single-lesson .tutor-course-topic-title,
body.single-lesson .tutor-course-topic-title * {
    background: transparent !important;
}

body.single-lesson .tutor-course-topic-summary {
    min-width: 3rem;
    padding: 0;
    border-radius: 8px;
    background: transparent;
    color: hsl(var(--muted-foreground));
    font-family: var(--font-body) !important;
    font-size: 0.92rem;
    font-weight: 500;
    text-align: center;
}

body.single-lesson .tutor-accordion-item-body {
    padding: 0 0 0.5rem !important;
    background: transparent !important;
}

body.single-lesson .tutor-course-topic-item {
    margin: 0;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item > a {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 0.82rem 1.5rem 0.82rem 1.6rem !important;
    border-radius: 8px;
    border-left: 2px solid transparent;
    border-top: 1px solid transparent;
    text-decoration: none !important;
    color: hsl(var(--foreground)) !important;
    background: transparent !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item > a:hover {
    background: var(--pk-sidebar-hover-bg) !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item.is-active > a {
    background: var(--pk-sidebar-active-item-bg) !important;
    border-left-color: hsl(var(--primary)) !important;
    font-weight: 600;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item.is-active > a .tutor-course-topic-item-title {
    color: hsl(var(--primary)) !important;
    font-weight: 600 !important;
}

body.single-lesson .tutor-course-topic.is-active {
    background: var(--pk-sidebar-active-topic-bg) !important;
    box-shadow: inset 3px 0 0 hsl(var(--primary));
}

body.single-lesson .tutor-course-topic.is-active .tutor-accordion-item-header {
    background: var(--pk-sidebar-active-topic-bg) !important;
}

body.single-lesson .tutor-course-topic.is-active .tutor-course-topic-title,
body.single-lesson .tutor-course-topic.is-active .tutor-course-topic-summary,
body.single-lesson .tutor-course-topic.is-active .tutor-accordion-item-header:after {
    color: hsl(var(--foreground)) !important;
}

body.single-lesson .tutor-course-topic.is-active .tutor-accordion-item-body {
    background: var(--pk-sidebar-active-topic-bg) !important;
}

body.single-lesson .tutor-course-topic.is-active .tutor-course-topic-item > a {
    background: var(--pk-sidebar-hover-bg) !important;
    border-top-color: var(--pk-sidebar-divider-soft) !important;
}

body.single-lesson .tutor-course-topic.is-active .tutor-course-topic-item.is-active > a {
    background: var(--pk-sidebar-active-item-bg) !important;
}

body.single-lesson .tutor-course-topic-item-title {
    font-family: var(--font-body) !important;
    font-weight: 500 !important;
    color: hsl(var(--foreground) / 0.88) !important;
    line-height: 1.45;
    font-size: 0.98rem !important;
}

body.single-lesson .tutor-course-topic-item-duration {
    white-space: nowrap;
    color: hsl(var(--muted-foreground)) !important;
    font-family: var(--font-body) !important;
    font-size: 0.84rem !important;
    font-weight: 500 !important;
    margin-right: 0.75rem !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item-icon {
    color: hsl(var(--muted-foreground)) !important;
    font-size: 1rem !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item.is-active .tutor-course-topic-item-icon {
    color: hsl(var(--primary)) !important;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item.is-active .tutor-course-topic-item-title {
    color: hsl(var(--primary)) !important;
    font-weight: 600 !important;
}

body.single-lesson .tutor-form-check-input.tutor-form-check-circle {
    width: 1.35rem !important;
    height: 1.35rem !important;
    border: 2px solid hsl(var(--primary) / 0.38) !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.single-lesson .pk-simple-footer {
    margin-top: auto;
    padding: 0 !important;
    display: block !important;
    background: #fff !important;
    border-top: 1px solid hsl(var(--border) / 0.92) !important;
}

body.single-lesson .pk-simple-footer-inner {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

body.single-lesson .pk-simple-nav-btn {
    min-width: 0;
    width: 100%;
    height: 4.75rem !important;
    padding: 0 2rem !important;
    gap: 0.85rem;
    border-radius: 8px;
    text-decoration: none !important;
    box-shadow: none !important;
    justify-content: space-between !important;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    border: 0 !important;
    transform: none !important;
}

body.single-lesson .pk-simple-nav-btn.is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-outline {
    background: #f7f2e8 !important;
    color: hsl(var(--primary)) !important;
    border-right: 1px solid hsl(var(--border) / 0.92) !important;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-outline:hover {
    background: #f2eadb !important;
    color: hsl(var(--primary)) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-primary {
    background: hsl(var(--primary)) !important;
    color: hsl(var(--primary-foreground)) !important;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-primary:hover {
    background: hsl(var(--primary) / 0.92) !important;
    color: hsl(var(--primary-foreground)) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.single-lesson .pk-simple-nav-btn .tutor-icon-previous,
body.single-lesson .pk-simple-nav-btn .tutor-icon-next {
    font-size: 1.25rem;
}

body.single-lesson .pk-simple-nav-btn span:last-child {
    flex: 1 1 auto;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-outline span:last-child {
    text-align: left;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-primary {
    justify-content: flex-end !important;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-primary span:first-child {
    flex: 1 1 auto;
    text-align: right;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-primary span:last-child {
    flex: 0 0 auto;
    text-align: right;
}

body.single-lesson .pk-simple-nav-btn.tutor-btn-primary span:first-child {
    text-align: right;
}

body.single-lesson .pk-simple-topbar-right .tutor-topbar-complete-btn,
body.single-lesson .pk-simple-mobile-actions .tutor-topbar-complete-btn {
    margin: 0 !important;
}

body.single-lesson .pk-simple-topbar-right .tutor-topbar-complete-btn form,
body.single-lesson .pk-simple-mobile-actions .tutor-topbar-complete-btn form {
    margin: 0;
}

body.single-lesson .pk-simple-mobile-status {
    display: none;
}

body.single-lesson .pk-simple-footer .pk-simple-mobile-status {
    border-top: 0 !important;
    border-bottom: 1px solid hsl(var(--border) / 0.82);
}

body.single-lesson .tutor-spotlight-mobile-progress-complete {
    display: none !important;
}

@media (max-width: 1199px) {
    body.single-lesson .tutor-course-single-sidebar-wrapper {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 40;
        max-width: min(22rem, calc(100vw - 2.5rem));
        transform: translateX(-100%);
        transition: transform 0.28s ease;
    }

    body.single-lesson .tutor-course-single-content-wrapper.tutor-course-single-sidebar-open .tutor-course-single-sidebar-wrapper {
        transform: translateX(0);
    }

    body.single-lesson .tutor-course-single-content-wrapper.tutor-course-single-sidebar-open::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 30;
        background: rgba(20, 26, 15, 0.2);
    }

    body.single-lesson .pk-simple-course-title {
        max-width: min(18rem, 52vw);
    }
}

@media (min-width: 1200px) {
    body.single-lesson .tutor-course-single-content-wrapper.tutor-course-single-sidebar-hidden .tutor-course-single-sidebar-wrapper {
        display: none !important;
    }

    body.single-lesson .tutor-course-single-content-wrapper.tutor-course-single-sidebar-hidden #tutor-single-entry-content {
        width: 100%;
        flex-basis: 100%;
    }

}

@media (max-width: 991px) {
    body.single-lesson .pk-simple-footer .pk-simple-mobile-status {
        display: block;
        padding: 0.9rem 1rem 1rem;
        background: #f7f2e8 !important;
        color: hsl(var(--foreground));
        border-top: 0 !important;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-progress {
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
        margin-bottom: 0.85rem;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-progress-meta {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        align-items: baseline;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-progress-label {
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: hsl(var(--muted-foreground));
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-progress-value {
        font-size: 0.88rem;
        font-weight: 600;
        color: hsl(var(--foreground));
    }

    body.single-lesson .pk-simple-footer .pk-simple-progress-track-mobile {
        width: 100%;
        background: hsl(var(--primary) / 0.12);
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions,
    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions form {
        display: block;
        margin: 0;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions .tutor-btn,
    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions .tutor-topbar-mark-btn {
        width: 100%;
        height: 2.75rem !important;
        justify-content: center;
        border-radius: 8px;
        border: 1px solid hsl(var(--primary) / 0.3) !important;
        background: hsl(var(--primary) / 0.06) !important;
        color: hsl(var(--primary)) !important;
        box-shadow: none !important;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions .tutor-btn:hover,
    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions .tutor-topbar-mark-btn:hover {
        background: hsl(var(--primary) / 0.1) !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    body.admin-bar.single-lesson #tutor-single-entry-content .tutor-course-topic-single-header.pk-simple-topbar {
        top: 46px;
    }

    body.single-lesson #tutor-single-entry-content .tutor-course-topic-single-header.pk-simple-topbar {
        padding: 0.85rem 1rem !important;
    }

    body.single-lesson .pk-simple-topbar-inner {
        gap: 0.75rem;
    }

    body.single-lesson .pk-simple-course-title {
        max-width: none;
        font-size: 1.1rem;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-status {
        display: block;
        padding: 0.9rem 1rem 1rem;
        background: #f7f2e8 !important;
        color: hsl(var(--foreground));
        border-top: 0 !important;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-progress {
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
        margin-bottom: 0.85rem;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-progress-meta {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        align-items: baseline;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-progress-label {
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: hsl(var(--muted-foreground));
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-progress-value {
        font-size: 0.88rem;
        font-weight: 600;
        color: hsl(var(--foreground));
    }

    body.single-lesson .pk-simple-footer .pk-simple-progress-track-mobile {
        width: 100%;
        background: hsl(var(--primary) / 0.12);
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions,
    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions form {
        display: block;
        margin: 0;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions .tutor-btn,
    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions .tutor-topbar-mark-btn {
        width: 100%;
        height: 2.75rem !important;
        justify-content: center;
        border-radius: 8px;
        border: 1px solid hsl(var(--primary) / 0.3) !important;
        background: hsl(var(--primary) / 0.06) !important;
        color: hsl(var(--primary)) !important;
        box-shadow: none !important;
    }

    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions .tutor-btn:hover,
    body.single-lesson .pk-simple-footer .pk-simple-mobile-actions .tutor-topbar-mark-btn:hover {
        background: hsl(var(--primary) / 0.1) !important;
        transform: none !important;
    }

    body.single-lesson .pk-simple-player-body {
        padding: 0;
    }

    body.single-lesson .tutor-course-spotlight-wrapper.pk-simple-tabs-wrap {
        margin: 1rem 0.75rem 1.25rem;
        padding: 0;
    }

    body.single-lesson .tutor-course-spotlight-nav {
        gap: 1rem;
        padding: 0 1rem;
    }

    body.single-lesson .tutor-course-spotlight-tab {
        padding: 1rem;
    }

    body.single-lesson .pk-simple-footer {
        padding: 0 !important;
    }

    body.single-lesson .pk-simple-footer-inner {
        grid-template-columns: 1fr 1fr;
    }

    body.single-lesson .pk-simple-nav-btn {
        width: 100%;
        min-width: 0;
        height: 4rem !important;
        padding: 0 1rem !important;
        font-size: 0.92rem !important;
    }

    body.single-lesson .tutor-course-topic {
        margin: 0.75rem 0.75rem 0 !important;
    }
}

/* =========================================================================
   Minimal Funnel Pages (Login, Checkout, Success, Failed)
   ========================================================================= */

/* Shared minimal header */
.pk-minimal-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    height: 4rem;
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    background: hsl(var(--background));
    border-bottom: 1px solid hsl(var(--border));
}

.pk-minimal-logo {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.pk-minimal-logo-img {
    height: 32px;
    width: auto;
    filter: brightness(0) invert(var(--logo-invert, 0));
}

/* =========================================================================
   Auth / Login Page
   ========================================================================= */

body.pk-minimal-page {
    margin: 0;
    padding: 0;
    /* No overflow:hidden here — that would break scroll on checkout/registration.
       The login split-screen is contained by .login-template-wrapper { height:100vh } */
    background: hsl(var(--background));
}

.login-template-wrapper {
    display: flex;
    height: 100vh;
    padding-top: 4rem; /* clear fixed header */
}

.login-split {
    flex: 1;
    overflow: hidden;
}

/* Left image panel — hidden on mobile */
.login-split.image-side {
    display: none;
    background-size: cover;
    background-position: center;
    position: relative;
    flex: 1.2;
}

@media (min-width: 1024px) {
    .login-split.image-side {
        display: block;
    }
}

.image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.2) 60%, transparent 100%);
    display: flex;
    align-items: flex-end;
    padding: 2.5rem;
}

.login-image-tagline {
    color: #fff;
    font-family: var(--font-display, 'Unna', serif);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    max-width: 20rem;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* Right form panel */
.login-split.form-side {
    display: flex;
    align-items: center;
    justify-content: center;
    background: hsl(var(--background));
    padding: 2rem 1.5rem;
    overflow-y: auto;
}

.form-container {
    width: 100%;
    max-width: 420px;
}

.form-container h3 {
    font-family: var(--font-display, 'Unna', serif);
    font-size: 1.75rem;
    font-weight: 700;
    color: hsl(var(--foreground));
    margin: 0 0 0.25rem;
    line-height: 1.2;
}

/* Tabs */
.auth-tabs {
    display: flex;
    border-bottom: 1px solid hsl(var(--border));
    margin-bottom: 1.75rem;
}

.auth-tab {
    flex: 1;
    padding: 0.75rem 1rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    color: hsl(var(--muted-foreground));
    transition: color 0.2s, border-color 0.2s, background 0.15s;
    text-align: center;
}

.auth-tab:hover:not(.active) {
    color: hsl(var(--foreground));
    background: hsl(var(--muted) / 0.5);
}

.auth-tab.active {
    color: hsl(var(--foreground));
    border-bottom-color: hsl(var(--primary));
}

/* Panes */
.auth-pane {
    display: none;
}

.auth-pane.active {
    display: block;
}

.auth-subtitle {
    color: hsl(var(--muted-foreground));
    font-size: 0.9rem;
    margin: 0 0 1.5rem;
    line-height: 1.5;
}

/* Back link */
.back-to-home {
    display: inline-block;
    margin-top: 1.5rem;
    color: hsl(var(--muted-foreground));
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.2s;
}

.back-to-home:hover {
    color: hsl(var(--foreground));
}

/* Tutor shortcode form overrides inside login template */
.login-template-wrapper .tutor-form-group {
    margin-bottom: 1rem;
}

.login-template-wrapper .tutor-form-control,
.login-template-wrapper input[type="text"],
.login-template-wrapper input[type="email"],
.login-template-wrapper input[type="password"] {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid hsl(var(--border));
    border-radius: 0.5rem;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: 0.95rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.login-template-wrapper .tutor-form-control:focus,
.login-template-wrapper input[type="text"]:focus,
.login-template-wrapper input[type="email"]:focus,
.login-template-wrapper input[type="password"]:focus {
    outline: none;
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 3px hsl(var(--primary) / 0.15);
}

.login-template-wrapper label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: hsl(var(--foreground));
    margin-bottom: 0.375rem;
}

.login-template-wrapper .tutor-btn-primary,
.login-template-wrapper button[type="submit"],
.login-template-wrapper input[type="submit"] {
    display: block;
    width: 100%;
    padding: 0.75rem 1.5rem;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--amber-warm, var(--primary))));
    color: hsl(var(--primary-foreground));
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: opacity 0.2s, box-shadow 0.2s;
    margin-top: 1.25rem;
    text-align: center;
}

.login-template-wrapper .tutor-btn-primary:hover,
.login-template-wrapper button[type="submit"]:hover,
.login-template-wrapper input[type="submit"]:hover {
    opacity: 0.9;
    box-shadow: 0 4px 16px hsl(var(--primary) / 0.35);
}

.login-template-wrapper .tutor-form-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}

.login-template-wrapper a {
    color: hsl(var(--primary));
    text-decoration: none;
}

.login-template-wrapper a:hover {
    text-decoration: underline;
}

/* Password strength indicator */
.login-template-wrapper .tutor-password-strength-meter {
    height: 4px;
    border-radius: 2px;
    margin-top: 0.4rem;
    background: hsl(var(--muted));
    overflow: hidden;
}

/* =========================================================================
   Tutor Protected Content Login
   ========================================================================= */

body.single-lesson .tutor-page-wrap.lesson,
body.single-lesson .tutor-page-wrap.type-lesson {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    background: hsl(var(--background));
}

.tutor-login-page-wrapper {
    display: flex;
    justify-content: center;
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-wrap,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-wrap,
.tutor-login-page-wrapper .tutor-login-wrap {
    width: 100%;
    max-width: 420px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper,
.tutor-login-page-wrapper .tutor-login-form-wrapper {
    background: hsl(var(--background));
    border: 1px solid hsl(var(--border));
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 20px 60px hsl(0 0% 0% / 0.08);
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper > .tutor-fs-5,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper > .tutor-fs-5,
.tutor-login-page-wrapper .tutor-login-form-wrapper > .tutor-fs-5 {
    font-family: var(--font-display, 'Unna', serif);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
    color: hsl(var(--foreground));
    margin: 0 0 1.5rem !important;
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-form-control,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-input,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper input[type="text"],
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper input[type="email"],
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper input[type="password"],
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-form-control,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-input,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper input[type="text"],
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper input[type="email"],
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper input[type="password"],
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-form-control,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-input,
.tutor-login-page-wrapper .tutor-login-form-wrapper input[type="text"],
.tutor-login-page-wrapper .tutor-login-form-wrapper input[type="email"],
.tutor-login-page-wrapper .tutor-login-form-wrapper input[type="password"] {
    width: 100%;
    padding: 0.75rem 1rem;
    background: hsl(var(--background));
    border: 1px solid hsl(var(--border));
    border-radius: 0.5rem;
    color: hsl(var(--foreground));
    font-size: 0.95rem;
    box-shadow: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-form-control:focus,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-input:focus,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper input[type="text"]:focus,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper input[type="email"]:focus,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper input[type="password"]:focus,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-form-control:focus,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-input:focus,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper input[type="text"]:focus,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper input[type="email"]:focus,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper input[type="password"]:focus,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-form-control:focus,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-input:focus,
.tutor-login-page-wrapper .tutor-login-form-wrapper input[type="text"]:focus,
.tutor-login-page-wrapper .tutor-login-form-wrapper input[type="email"]:focus,
.tutor-login-page-wrapper .tutor-login-form-wrapper input[type="password"]:focus {
    outline: none;
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 3px hsl(var(--primary) / 0.15);
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-form-control::placeholder,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-input::placeholder,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-form-control::placeholder,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-input::placeholder,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-form-control::placeholder,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-input::placeholder {
    color: hsl(var(--muted-foreground));
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-primary.tutor-btn-block,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-primary.tutor-btn-block,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-btn.tutor-btn-primary.tutor-btn-block {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.875rem 1.5rem;
    margin-top: 1.25rem;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--amber-warm, var(--primary))));
    color: hsl(var(--primary-foreground));
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: none;
    transition: opacity 0.2s, box-shadow 0.2s;
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-primary.tutor-btn-block:hover,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-primary.tutor-btn-block:hover,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-btn.tutor-btn-primary.tutor-btn-block:hover {
    opacity: 0.9;
    box-shadow: 0 4px 16px hsl(var(--primary) / 0.35);
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-ghost,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-link,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-btn.tutor-small,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-ghost,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-link,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-btn.tutor-small,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-btn.tutor-btn-ghost,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-btn.tutor-btn-link,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-btn.tutor-small {
    color: hsl(var(--primary));
    background: transparent;
    border: none;
    padding: 0;
    text-decoration: none;
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-ghost:hover,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-link:hover,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-btn.tutor-small:hover,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-ghost:hover,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-btn.tutor-btn-link:hover,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-btn.tutor-small:hover,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-btn.tutor-btn-ghost:hover,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-btn.tutor-btn-link:hover,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-btn.tutor-small:hover {
    text-decoration: underline;
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper label,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-color-muted,
body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-color-secondary,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper label,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-color-muted,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-color-secondary,
.tutor-login-page-wrapper .tutor-login-form-wrapper label,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-color-muted,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-color-secondary {
    color: hsl(var(--muted-foreground)) !important;
}

body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper .tutor-text-center,
body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper .tutor-text-center,
.tutor-login-page-wrapper .tutor-login-form-wrapper .tutor-text-center {
    margin-top: 1.5rem !important;
}

@media (max-width: 767px) {
    body.single-lesson .tutor-page-wrap.lesson,
    body.single-lesson .tutor-page-wrap.type-lesson {
        padding: 1.25rem 0;
        align-items: flex-start;
    }

    body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper,
    body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper,
    .tutor-login-page-wrapper .tutor-login-form-wrapper {
        padding: 1.5rem;
        border-radius: 0.875rem;
    }

    body.single-lesson .tutor-page-wrap.lesson .tutor-login-form-wrapper > .tutor-fs-5,
    body.single-lesson .tutor-page-wrap.type-lesson .tutor-login-form-wrapper > .tutor-fs-5,
    .tutor-login-page-wrapper .tutor-login-form-wrapper > .tutor-fs-5 {
        font-size: 1.5rem;
    }
}

/* =========================================================================
   Funnel Status Pages (Success, Failed)
   ========================================================================= */

.pk-status-page {
    min-height: calc(100vh - 4rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
    background: hsl(var(--background));
}

.pk-status-card {
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: 1.5rem;
    padding: 3rem 2.5rem;
    max-width: 480px;
    width: 100%;
    text-align: center;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08);
}

.pk-status-icon {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.75rem;
}

.pk-status-icon--success {
    background: hsl(142 71% 45% / 0.12);
    color: hsl(142 71% 45%);
}

.pk-status-icon--failed {
    background: hsl(var(--destructive) / 0.12);
    color: hsl(var(--destructive));
}

.pk-status-card h2 {
    font-family: var(--font-display, 'Unna', serif);
    font-size: 1.75rem;
    font-weight: 700;
    color: hsl(var(--foreground));
    margin: 0 0 0.75rem;
}

.pk-status-card p {
    color: hsl(var(--muted-foreground));
    font-size: 1rem;
    line-height: 1.6;
    margin: 0 0 2rem;
}

.pk-status-order-info {
    background: hsl(var(--muted) / 0.5);
    border-radius: 0.75rem;
    padding: 1rem 1.25rem;
    margin-bottom: 2rem;
    font-size: 0.9rem;
    color: hsl(var(--muted-foreground));
    text-align: left;
}

.pk-status-order-info strong {
    color: hsl(var(--foreground));
}

.pk-status-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pk-status-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--amber-warm, var(--primary))));
    color: hsl(var(--primary-foreground));
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s, box-shadow 0.2s;
}

.pk-status-btn-primary:hover {
    opacity: 0.9;
    box-shadow: 0 4px 16px hsl(var(--primary) / 0.35);
    color: hsl(var(--primary-foreground));
    text-decoration: none;
}

.pk-status-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    background: transparent;
    color: hsl(var(--muted-foreground));
    border: 1px solid hsl(var(--border));
    border-radius: 0.5rem;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}

.pk-status-btn-secondary:hover {
    border-color: hsl(var(--foreground) / 0.4);
    color: hsl(var(--foreground));
    text-decoration: none;
}

@media (max-width: 480px) {
    .pk-status-card {
        padding: 2rem 1.25rem;
    }
}

/* Global fix for Tutor modals visibility */
body div.tutor-modal {
    display: none;
}

body div.tutor-modal.tutor-is-active {
    display: flex;
}

/* ============================================================
   Tutor Login Modal — design system overrides
   ============================================================ */

body .tutor-modal.tutor-login-modal {
    display: none;
}

body .tutor-modal.tutor-login-modal.tutor-is-active {
    display: flex;
}

body .tutor-modal.tutor-login-modal .tutor-modal-overlay {
    background: hsl(var(--foreground) / 0.5);
    backdrop-filter: blur(4px);
}

body .tutor-modal.tutor-login-modal .tutor-modal-window {
    border-radius: 1rem;
    max-width: 440px;
    width: calc(100% - 2rem);
    background: transparent;
    border: none;
    box-shadow: none;
}

body .tutor-modal.tutor-login-modal .tutor-modal-content.tutor-modal-content-white {
    background: hsl(var(--background));
    border-radius: 1rem;
    padding: 0;
    box-shadow: none;
    border: none;
}

body .tutor-modal.tutor-login-modal .tutor-modal-body {
    padding: 2.5rem 2.5rem 2rem;
}

body .tutor-modal.tutor-login-modal .tutor-modal-close-o {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: hsl(var(--muted-foreground));
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    line-height: 1;
    transition: color 0.15s;
}

body .tutor-modal.tutor-login-modal .tutor-modal-close-o:hover {
    color: hsl(var(--foreground));
}

body #tutor-login-modal-title {
    font-family: var(--font-display, 'Unna', serif);
    font-size: 1.5rem;
    font-weight: 700;
    color: hsl(var(--foreground));
    margin-bottom: 1.5rem;
}

body .tutor-modal.tutor-login-modal .tutor-form-control,
body .tutor-modal.tutor-login-modal input[type="text"],
body .tutor-modal.tutor-login-modal input[type="email"],
body .tutor-modal.tutor-login-modal input[type="password"] {
    background: hsl(var(--background));
    border: 1px solid hsl(var(--border));
    border-radius: 0.5rem;
    color: hsl(var(--foreground));
    font-size: 0.95rem;
    padding: 0.75rem 1rem;
    width: 100%;
    box-shadow: none;
    transition: border-color 0.15s;
    outline: none;
}

body .tutor-modal.tutor-login-modal .tutor-form-control:focus,
body .tutor-modal.tutor-login-modal input[type="text"]:focus,
body .tutor-modal.tutor-login-modal input[type="email"]:focus,
body .tutor-modal.tutor-login-modal input[type="password"]:focus {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 3px hsl(var(--primary) / 0.15);
}

body .tutor-modal.tutor-login-modal .tutor-form-control::placeholder {
    color: hsl(var(--muted-foreground));
}

body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-primary.tutor-btn-block {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.875rem 1.5rem;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--amber-warm, var(--primary))));
    color: hsl(var(--primary-foreground));
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: opacity 0.2s, box-shadow 0.2s;
    box-shadow: none;
}

body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-primary.tutor-btn-block:hover {
    opacity: 0.9;
    box-shadow: 0 4px 16px hsl(var(--primary) / 0.35);
}

body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-ghost {
    color: hsl(var(--primary));
    background: transparent;
    border: none;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0;
    text-decoration: none;
}

body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-ghost:hover {
    text-decoration: underline;
}

body .tutor-modal.tutor-login-modal label,
body .tutor-modal.tutor-login-modal .tutor-color-muted {
    color: hsl(var(--muted-foreground));
    font-size: 0.875rem;
}

body .tutor-modal.tutor-login-modal .tutor-form-check-input {
    border-color: hsl(var(--border));
    background-color: hsl(var(--background));
    accent-color: hsl(var(--primary));
}

body .tutor-modal.tutor-login-modal .tutor-color-secondary {
    color: hsl(var(--muted-foreground));
}

body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link,
body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link:hover,
body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link:focus,
body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link:active,
body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link:focus-visible {
    color: hsl(var(--primary));
    background: transparent;
    border: none;
    box-shadow: none;
    outline: none;
    padding: 0;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link:hover {
    opacity: 0.75;
}

body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link::after,
body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link:hover::after,
body .tutor-modal.tutor-login-modal .tutor-btn.tutor-btn-link:focus::after {
    display: none;
}

body .tutor-modal.tutor-login-modal .tutor-py-48 {
    padding-top: 0;
    padding-bottom: 0;
}

@media (max-width: 480px) {
    body .tutor-modal.tutor-login-modal .tutor-modal-body {
        padding: 2rem 1.5rem 1.5rem;
    }
}

/* ============================================================
   Lesson Content Typography & Reading Experience
   ============================================================ */

/* Override Tutor's default secondary color inside lesson */
body.single-lesson .tutor-lesson-wrapper {
    font-family: var(--font-body) !important;
    max-width: 72ch;
}

body.single-lesson:not([data-tutor-theme="dark"]) .tutor-lesson-wrapper {
    color: hsl(var(--foreground)) !important;
}

body.single-lesson .tutor-lesson-wrapper p {
    font-size: 1.0625rem;
    line-height: 1.75;
    margin: 0 0 1.2rem;
}

body.single-lesson:not([data-tutor-theme="dark"]) .tutor-lesson-wrapper p {
    color: hsl(var(--foreground) / 0.9);
}

body.single-lesson .tutor-lesson-wrapper p:last-child {
    margin-bottom: 0;
}

body.single-lesson .tutor-lesson-wrapper ul,
body.single-lesson .tutor-lesson-wrapper ol {
    padding-left: 1.5rem;
    margin: 0.25rem 0 1.2rem;
}

body.single-lesson .tutor-lesson-wrapper li {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: hsl(var(--foreground) / 0.9);
    margin-bottom: 0.35rem;
}

body.single-lesson .tutor-lesson-wrapper ul li::marker {
    color: hsl(var(--primary));
}

body.single-lesson .tutor-lesson-wrapper a {
    color: hsl(var(--primary));
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: opacity 0.15s;
}

body.single-lesson .tutor-lesson-wrapper a:hover {
    opacity: 0.78;
}

body.single-lesson .tutor-lesson-wrapper strong {
    font-weight: 700;
    color: hsl(var(--foreground));
}

body.single-lesson .tutor-lesson-wrapper em {
    font-style: italic;
    color: hsl(var(--foreground) / 0.85);
}

body.single-lesson .tutor-lesson-wrapper blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    border-left: 3px solid hsl(var(--primary));
    background: hsl(var(--primary) / 0.04);
    color: hsl(var(--foreground) / 0.8);
    font-style: italic;
    border-radius: 0 0.35rem 0.35rem 0;
}

body.single-lesson .tutor-lesson-wrapper blockquote p {
    margin: 0;
}

body.single-lesson .tutor-lesson-wrapper code {
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
    background: hsl(var(--muted));
    color: hsl(var(--foreground));
    padding: 0.15em 0.4em;
    border-radius: 0.25rem;
}

body.single-lesson .tutor-lesson-wrapper pre {
    background: hsl(var(--foreground) / 0.04);
    border: 1px solid hsl(var(--border));
    border-radius: 0.5rem;
    padding: 1.25rem;
    overflow-x: auto;
    margin: 1.25rem 0;
}

body.single-lesson .tutor-lesson-wrapper pre code {
    background: transparent;
    padding: 0;
    font-size: 0.9rem;
}

body.single-lesson .tutor-lesson-wrapper img {
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
    margin: 0.75rem 0;
}

body.single-lesson .tutor-lesson-wrapper hr {
    border: none;
    border-top: 1px solid hsl(var(--border));
    margin: 2rem 0;
}

/* ============================================================
   Lesson Q&A Section
   ============================================================ */

body.single-lesson .tutor-qna-spotlight-sidebar {
    padding: 0;
}

body.single-lesson .tutor-qna-spotlight-sidebar .tutor-empty-state-wrapper {
    padding: 2.5rem 1.5rem;
    text-align: center;
}

body.single-lesson .tutor-qna-spotlight-sidebar .tutor-empty-state-wrapper .tutor-fs-6 {
    font-family: var(--font-body) !important;
    color: hsl(var(--foreground)) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
}

body.single-lesson .tutor-qna-spotlight-sidebar .tutor-empty-state-wrapper .tutor-fs-7 {
    font-family: var(--font-body) !important;
    color: hsl(var(--muted-foreground)) !important;
    font-size: 0.9rem !important;
}

body.single-lesson .tutor-qna-spotlight-sidebar .tutor-btn-primary,
body.single-lesson #tutor-course-spotlight-qna .tutor-btn-primary {
    background: hsl(var(--primary)) !important;
    color: hsl(var(--primary-foreground)) !important;
    border: none !important;
    border-radius: 8px;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    letter-spacing: 0.02em !important;
}

body.single-lesson .tutor-qna-spotlight-sidebar .tutor-btn-primary:hover,
body.single-lesson #tutor-course-spotlight-qna .tutor-btn-primary:hover {
    opacity: 0.9 !important;
    box-shadow: 0 4px 12px hsl(var(--primary) / 0.3) !important;
    transform: none !important;
}

body.single-lesson #tutor-course-spotlight-qna .tutor-form-control,
body.single-lesson .tutor-qna-spotlight-sidebar .tutor-form-control {
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 0.5rem;
    background: hsl(var(--background)) !important;
    color: hsl(var(--foreground)) !important;
    font-family: var(--font-body) !important;
    box-shadow: none !important;
    transition: border-color 0.15s !important;
}

body.single-lesson #tutor-course-spotlight-qna .tutor-form-control:focus,
body.single-lesson .tutor-qna-spotlight-sidebar .tutor-form-control:focus {
    border-color: hsl(var(--primary)) !important;
    box-shadow: 0 0 0 3px hsl(var(--primary) / 0.15) !important;
    outline: none !important;
}

/* ============================================================
   Lesson Comments Section
   ============================================================ */

body.single-lesson #tutor-course-spotlight-comments .tutor-course-spotlight-comments {
    max-width: 72ch;
}

body.single-lesson #tutor-course-spotlight-comments .comment-form textarea,
body.single-lesson #tutor-course-spotlight-comments input[type="text"],
body.single-lesson #tutor-course-spotlight-comments input[type="email"] {
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 0.5rem;
    background: hsl(var(--background)) !important;
    color: hsl(var(--foreground)) !important;
    font-family: var(--font-body) !important;
    padding: 0.75rem 1rem !important;
    transition: border-color 0.15s !important;
    box-shadow: none !important;
    outline: none !important;
}

body.single-lesson #tutor-course-spotlight-comments input[type="submit"],
body.single-lesson #tutor-course-spotlight-comments .submit {
    background: hsl(var(--primary)) !important;
    color: hsl(var(--primary-foreground)) !important;
    border: none !important;
    border-radius: 8px;
    padding: 0.75rem 1.75rem !important;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: opacity 0.2s !important;
}

body.single-lesson #tutor-course-spotlight-comments input[type="submit"]:hover {
    opacity: 0.88 !important;
}

/* ============================================================
   Lesson — Tutor global overrides within lesson shell
   ============================================================ */

/* Progress bar track/fill */
body.single-lesson .tutor-progress-bar {
    background: hsl(var(--border)) !important;
    border-radius: 99px;
    overflow: hidden;
}

body.single-lesson .tutor-progress-value {
    background: hsl(var(--primary)) !important;
    height: 100% !important;
}

/* Mark-complete button inside the footer on mobile */
body.single-lesson .pk-simple-mobile-actions .tutor-topbar-mark-btn,
body.single-lesson .pk-simple-mobile-actions .tutor-btn {
    background: hsl(var(--primary)) !important;
    color: hsl(var(--primary-foreground)) !important;
    border: none !important;
    border-radius: 8px;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    height: 3rem !important;
    padding: 0 1.25rem !important;
    box-shadow: none !important;
    transform: none !important;
}

body.single-lesson .pk-simple-mobile-actions .tutor-topbar-mark-btn:hover,
body.single-lesson .pk-simple-mobile-actions .tutor-btn:hover {
    opacity: 0.88 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Spotlight mobile progress bar */
body.single-lesson .pk-simple-mobile-progress-label {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: hsl(var(--muted-foreground));
}

body.single-lesson .pk-simple-mobile-progress-value {
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    color: hsl(var(--foreground));
}

/* Sidebar checkbox for completion */
body.single-lesson .tutor-form-check-input.tutor-form-check-circle {
    accent-color: hsl(var(--primary));
    border-color: hsl(var(--border)) !important;
}

/* Required-enroll notice */
body.single-lesson .tutor-course-spotlight-wrapper .tutor-alert {
    border-radius: 0.5rem;
    border: none !important;
}

@media (max-width: 991px) {
    body.single-lesson .tutor-lesson-wrapper {
        max-width: 100%;
    }
}

/* ============================================================
   Funnel Page Shell (page-minimal.php)
   ============================================================ */

#pk-funnel-main {
    padding-top: 4rem;
    min-height: calc(100vh - 4rem);
    background: hsl(var(--background));
}

/* ============================================================
   Checkout page — pk-checkout-wrap
   ============================================================ */

.pk-checkout-wrap {
    padding: 1.5rem 0 4rem;
}

.pk-checkout-wrap .tutor-checkout-page {
    background: transparent !important;
    /* Override the old margin-top rule scoped inside pk-checkout-wrap */
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Section headings inside billing panel */
.pk-checkout-section-title {
    font-family: var(--font-display, 'Unna', serif);
    font-size: 1.2rem;
    font-weight: 700;
    color: hsl(var(--foreground));
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    background: none;
}

/* Second section title (payment method) needs top separator */
.pk-checkout-section-title + .pk-checkout-section-title,
.tutor-payment-method-wrapper .pk-checkout-section-title {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid hsl(var(--border));
}

/* "Already have an account?" notice */
.pk-checkout-login-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid hsl(var(--border));
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
    background: hsl(var(--muted) / 0.3);
}

.pk-checkout-login-notice p {
    margin: 0;
    font-size: 0.9rem;
    color: hsl(var(--muted-foreground));
}

.pk-checkout-login-btn {
    padding: 0.5rem 1rem;
    background: transparent;
    border: 1px solid hsl(var(--border));
    border-radius: 0.4rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: hsl(var(--foreground));
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    white-space: nowrap;
}

.pk-checkout-login-btn:hover {
    border-color: hsl(var(--primary));
    color: hsl(var(--primary));
    background: hsl(var(--primary) / 0.04);
}

/* Pay now button */
.pk-checkout-submit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    width: 100%;
    padding: 1rem 1.5rem;
    margin-top: 1.25rem;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--amber-warm, var(--primary))));
    color: hsl(var(--primary-foreground));
    border: none;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: opacity 0.2s, box-shadow 0.2s;
}

.pk-checkout-submit-btn:hover {
    opacity: 0.9;
    box-shadow: 0 6px 20px hsl(var(--primary) / 0.35);
}

.pk-checkout-submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Security note under button */
.pk-checkout-security-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-align: center;
    font-size: 0.8rem;
    color: hsl(var(--muted-foreground));
    margin-top: 0.75rem;
    margin-bottom: 0;
}

/* Billing form field stacking */
.pk-checkout-billing-fields .pk-checkout-field {
    border-radius: 0 !important;
}

.pk-checkout-billing-fields .pk-checkout-field--top-left {
    border-top-left-radius: 0.75rem !important;
}

.pk-checkout-billing-fields .pk-checkout-field--top-right {
    border-top-right-radius: 0.75rem !important;
}

.pk-checkout-billing-fields .pk-checkout-field--bottom {
    border-bottom-left-radius: 0.75rem !important;
    border-bottom-right-radius: 0.75rem !important;
}

.pk-checkout-billing-fields .pk-checkout-field--no-bottom {
    border-bottom-width: 0 !important;
}

.pk-checkout-billing-fields .pk-checkout-field--no-top {
    border-top-width: 0 !important;
}

.pk-checkout-billing-fields .pk-checkout-field--no-right {
    border-right-width: 0 !important;
}

.pk-checkout-billing-fields .pk-checkout-field--with-bottom-border {
    border-bottom-width: 1px !important;
}

.pk-checkout-billing-fields .pk-checkout-field--with-top-border {
    border-top-width: 1px !important;
}

/* ============================================================
   Registration Page — pk-reg-*
   ============================================================ */

.pk-reg-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 2.5rem 1.25rem 4rem;
    min-height: calc(100vh - 4rem);
    background: hsl(var(--background));
}

.pk-reg-card {
    width: 100%;
    max-width: 640px;
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: 1rem;
    padding: 2.5rem 2.5rem 2rem;
    box-shadow: 0 4px 32px hsl(var(--foreground) / 0.06);
}

.pk-reg-title {
    font-family: var(--font-display, 'Unna', serif);
    font-size: 1.75rem;
    font-weight: 700;
    color: hsl(var(--foreground));
    margin: 0 0 0.35rem;
}

.pk-reg-subtitle {
    font-size: 0.95rem;
    color: hsl(var(--muted-foreground));
    margin: 0 0 2rem;
}

.pk-reg-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pk-reg-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.pk-reg-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pk-reg-field label {
    font-size: 0.85rem;
    font-weight: 600;
    color: hsl(var(--foreground));
}

.pk-reg-field input[type="text"],
.pk-reg-field input[type="email"],
.pk-reg-field input[type="password"] {
    background: hsl(var(--background)) !important;
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 0.5rem;
    color: hsl(var(--foreground)) !important;
    font-size: 0.95rem !important;
    padding: 0.75rem 1rem !important;
    box-shadow: none !important;
    transition: border-color 0.15s !important;
    width: 100% !important;
    outline: none !important;
}

.pk-reg-field input:focus {
    border-color: hsl(var(--primary)) !important;
    box-shadow: 0 0 0 3px hsl(var(--primary) / 0.12) !important;
}

.pk-reg-field input::placeholder {
    color: hsl(var(--muted-foreground)) !important;
}

.pk-reg-terms {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 1rem 0 1.5rem;
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}

.pk-reg-terms a {
    color: hsl(var(--primary));
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pk-reg-btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    width: 100%;
    padding: 1rem 1.5rem;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--amber-warm, var(--primary))));
    color: hsl(var(--primary-foreground));
    border: none;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.2s, box-shadow 0.2s;
}

.pk-reg-btn-primary:hover {
    opacity: 0.9;
    box-shadow: 0 6px 20px hsl(var(--primary) / 0.35);
    color: hsl(var(--primary-foreground));
    text-decoration: none;
}

.pk-reg-errors {
    margin-bottom: 1.5rem;
}

.pk-reg-errors ul {
    margin: 0;
    padding-left: 1.25rem;
}

.pk-reg-login-hint {
    text-align: center;
    font-size: 0.9rem;
    color: hsl(var(--muted-foreground));
    margin: 1.5rem 0 0;
}

.pk-reg-login-hint a {
    color: hsl(var(--primary));
    font-weight: 600;
    text-decoration: none;
}

.pk-reg-login-hint a:hover {
    text-decoration: underline;
}

/* Password strength indicator in reg form */
.pk-reg-field .tutor-password-strength-checker {
    width: 100%;
}

.pk-reg-field .tutor-password-field {
    position: relative;
}

.pk-reg-field .show-hide-btn {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: hsl(var(--muted-foreground));
}

@media (max-width: 600px) {
    .pk-reg-row {
        grid-template-columns: 1fr;
    }

    .pk-reg-card {
        padding: 2rem 1.25rem 1.5rem;
    }
}

/* ============================================================
   Checkout — Billing card treatment
   ============================================================ */

.tutor-checkout-billing-inner {
    background: hsl(var(--card)) !important;
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 1rem;
    padding: 2rem !important;
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.08) !important;
}

@media (max-width: 768px) {
    .tutor-checkout-billing-inner {
        padding: 1.5rem !important;
    }
}

/* Grand total separator */
.tutor-checkout-details-inner .tutor-pt-12 {
    padding-top: 1rem;
    margin-top: 0.5rem;
    border: none;
}

/* Stripe/payment item radio cleanup */
.tutor-checkout-payment-item {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.875rem 1rem !important;
    border-bottom: 1px solid hsl(var(--border)) !important;
    cursor: pointer !important;
    transition: background 0.15s !important;
}

.tutor-checkout-payment-item:last-child {
    border-bottom: none !important;
}

.tutor-checkout-payment-item:hover {
    background: hsl(var(--muted)) !important;
}

.tutor-checkout-payment-options .tutor-checkout-payment-item.active {
    background: hsl(var(--primary) / 0.08) !important;
    border-color: hsl(var(--primary) / 0.35) !important;
    box-shadow: none !important;
}

.tutor-checkout-payment-options .tutor-checkout-payment-item.active .tutor-payment-item-content,
.tutor-checkout-payment-options .tutor-checkout-payment-item.active .tutor-payment-item-content * {
    color: hsl(var(--primary)) !important;
}

.tutor-checkout-payment-item .tutor-form-check-input {
    flex-shrink: 0;
    accent-color: hsl(var(--primary));
}

.tutor-checkout-payment-item .tutor-payment-item-content {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: hsl(var(--foreground)) !important;
}

.tutor-checkout-payment-item img {
    max-height: 22px !important;
    width: auto !important;
}

/* Terms checkbox area */
.tutor-checkout-billing-inner .tutor-form-check {
    align-items: flex-start !important;
    gap: 0.5rem !important;
}

.tutor-checkout-billing-inner .tutor-form-check label {
    font-size: 0.875rem !important;
    color: hsl(var(--muted-foreground)) !important;
    line-height: 1.5 !important;
}

.tutor-checkout-billing-inner .tutor-form-check a.tutor-color-primary {
    color: hsl(var(--primary)) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* ============================================================
   Sidebar — topic summary progress badge
   ============================================================ */

body.single-lesson .tutor-course-topic-summary {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em;
    color: hsl(var(--muted-foreground)) !important;
    background: hsl(var(--border) / 0.5) !important;
    border-radius: 99px;
    padding: 0.15rem 0.5rem !important;
    min-width: auto !important;
}

body.single-lesson .tutor-course-topic.is-active .tutor-course-topic-summary {
    background: hsl(var(--primary) / 0.15) !important;
    color: hsl(var(--primary)) !important;
}

/* Sidebar lesson item — tighter flex layout */
body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item > a .tutor-d-flex.tutor-mr-32 {
    margin-right: 0 !important;
    flex: 1 1 auto;
    min-width: 0;
}

body.single-lesson .tutor-course-single-sidebar-wrapper .tutor-course-topic-item > a .tutor-d-flex.tutor-ml-auto {
    flex-shrink: 0;
    margin-left: 0.5rem !important;
}

/* Lesson item icon size consistency */
body.single-lesson .tutor-course-topic-item-icon[class*="tutor-icon"] {
    font-size: 0.9rem !important;
    flex-shrink: 0;
    margin-top: 0.18rem !important;
}

/* ============================================================
   Tutor brand colour overrides — pismenkarna zelená #5B9635
   Tutor plugin redefinuje --tutor-text-brand atď. v tutor-core.min.css
   (default modrá #3e64de). Naša theme CSS sa nahráva pred tutor core,
   takže obyčajný :root override stratí kaskádu. Riešenie: vyššia
   specifickosť cez html:root — žiadne !important.
   ============================================================ */

html:root {
    /* Brand text + ikony (active tab text, dashboard sidebar text) */
    --tutor-text-brand: #5B9635;
    --tutor-text-brand-hover: #4A7D2B;
    --tutor-text-brand-secondary: #b9d6a3;
    --tutor-icon-brand: #5B9635;
    --tutor-icon-brand-hover: #4A7D2B;
    --tutor-icon-brand-secondary: #d8eccb;

    /* Brand pozadia (active tab bg, sidebar bg) */
    --tutor-tab-l3-active: #e8f2df;
    --tutor-tab-l3-active-hover: #f1f7ea;
    --tutor-tab-sidebar-l2-active: #e8f2df;

    /* Primary action (buttons, progress bar fill, plyr control) */
    --tutor-actions-brand-primary: #5B9635;
}

/* Dashboard sidebar active item */
.tutor-dashboard-sidebar-nav ul li a.active {
    background-color: var(--tutor-tab-sidebar-l2-active);
    color: var(--tutor-text-brand);
}

/* Skryť "Zobrazit více" na detaile kurzu */
body.single-courses .tutor-btn-show-more {
    display: none !important;
}

/* Skryť Tutor learning-area "Více" trigger v bočnom paneli kurzu */
.tutor-learning-sidebar-pages .tutor-learning-pages > div[x-show="collapsed"] {
    display: none !important;
}

/* Sticky learning header musí byť nad YouTube/Plyr iframe na všetkých
   breakpointoch — plugin defaultne dáva z-index:10, čo nestačí kvôli
   GPU stacking kontextu iframu. */
.tutor-learning-header {
    z-index: 9998;
}

/* Mobile: zaistiť, že otvorený sidebar prekryje YouTube/Plyr iframe.
   Plugin nastavuje z-index:10 na .tutor-learning-sidebar v @media (max-width:992px). */
@media (max-width: 992px) {
    .tutor-learning-sidebar {
        z-index: 9999;
    }

    /* Po otvorení sidebaru schovať video kontajner z dokumentového flow,
       aby YouTube iframe nezostal nad menu. */
    .tutor-learning-sidebar.is-open ~ .tutor-learning-area-content .tutor-lesson-video-wrapper,
    .tutor-learning-sidebar.is-open ~ .tutor-learning-area-content .ytcp-plyr-element {
        visibility: hidden;
    }
}

/* Fix for all buttons to have 8px border-radius without !important */
.btn-glow, 
.tutor-btn, 
.tutor-button, 
.pk-simple-topbar-right .tutor-btn,
.tutor-open-login-modal,
.static-mobile-menu__cta,
button[type="submit"],
button[type="button"],
.tutor-checkout-place-order-btn-wrapper button {
    border-radius: 8px;
}


/* Global Rounded Buttons */
button, .tutor-btn, .tutor-button, .btn-glow, input[type="text"], input[type="email"], input[type="password"], textarea {
    border-radius: 8px;
}


/* Specific selectors to win without important */
body .btn-glow, body .tutor-btn, body .tutor-button, body .tutor-open-login-modal, body input, body textarea, body button {
    border-radius: 8px;
}

/* Slightly larger branded logo in Tutor dashboard sidebar */
.tutor-dashboard-sidebar-logo img {
    max-width: 138px;
}

/* Ensure lesson learning area always scrolls naturally */
body.single-lesson,
body.single-lesson html,
body.single-lesson .tutor-learning-area,
body.single-lesson .tutor-learning-area-body,
body.single-lesson .tutor-learning-area-content {
    overflow-y: auto !important;
    height: auto !important;
    min-height: 100vh !important;
}

/* Dark mode adaptation for single lesson and learning area */
[data-tutor-theme="dark"] body.single-lesson,
body.single-lesson[data-tutor-theme="dark"],
html[data-tutor-theme="dark"] body.single-lesson {
    background-color: var(--tutor-surface-base) !important;
    color: var(--tutor-text-primary) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-learning-sidebar,
[data-tutor-theme="dark"] body.single-lesson .tutor-learning-sidebar-curriculum,
[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-topic,
[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-header,
[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-body,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic,
[data-tutor-theme="dark"] body.single-lesson .tutor-accordion-item-header,
[data-tutor-theme="dark"] body.single-lesson .tutor-accordion-item-body {
    background-color: var(--tutor-surface-l1) !important;
    color: var(--tutor-text-primary) !important;
    border-color: var(--tutor-border-idle) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-topic.active .tutor-learning-nav-header,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic.is-active,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic.is-active .tutor-accordion-item-header {
    background-color: var(--tutor-surface-l2) !important;
    color: var(--tutor-text-primary) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-item,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic-item > a {
    color: var(--tutor-text-secondary) !important;
    background-color: transparent !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-item:hover,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic-item > a:hover {
    background-color: var(--tutor-surface-l1-hover) !important;
    color: var(--tutor-text-primary) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-item.active,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic-item.is-active > a {
    background-color: var(--tutor-surface-brand-tertiary) !important;
    color: var(--tutor-text-brand) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-header-title,
[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-item > div > div:first-child,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic-title,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic-item-title {
    color: var(--tutor-text-primary) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-learning-nav-item.active > div > div:first-child,
[data-tutor-theme="dark"] body.single-lesson .tutor-course-topic-item.is-active .tutor-course-topic-item-title {
    color: var(--tutor-text-brand) !important;
}

/* Dark mode tab buttons and typography overrides */
[data-tutor-theme="dark"] body.single-lesson .tutor-tabs-nav,
[data-tutor-theme="dark"] .tutor-tabs-nav {
    background-color: var(--tutor-surface-l1, #1a2217) !important;
    border-color: var(--tutor-border-idle, rgba(255, 255, 255, 0.1)) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-tabs-tab,
[data-tutor-theme="dark"] .tutor-tabs-tab,
[data-tutor-theme="dark"] button.tutor-tabs-tab {
    color: var(--tutor-text-secondary, #cbd5e1) !important;
    background-color: transparent !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-tabs-tab:hover:not(.tutor-tabs-tab-active),
[data-tutor-theme="dark"] .tutor-tabs-tab:hover:not(.tutor-tabs-tab-active),
[data-tutor-theme="dark"] button.tutor-tabs-tab:hover:not(.tutor-tabs-tab-active) {
    color: var(--tutor-text-primary, #ffffff) !important;
    background-color: var(--tutor-surface-l1-hover, rgba(255, 255, 255, 0.1)) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-tabs-tab.tutor-tabs-tab-active,
[data-tutor-theme="dark"] .tutor-tabs-tab.tutor-tabs-tab-active,
[data-tutor-theme="dark"] button.tutor-tabs-tab-active {
    color: var(--tutor-text-brand, #95cf62) !important;
    background-color: var(--tutor-surface-brand-tertiary, rgba(91, 150, 53, 0.25)) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-tabs-tab.tutor-tabs-tab-active svg,
[data-tutor-theme="dark"] .tutor-tabs-tab.tutor-tabs-tab-active svg,
[data-tutor-theme="dark"] button.tutor-tabs-tab-active svg {
    color: var(--tutor-text-brand, #95cf62) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper p,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper li,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper div {
    color: var(--tutor-text-primary, #f1f5f9) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper h1,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper h2,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper h3,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper h4,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper h5,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper h6,
[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper strong {
    color: var(--tutor-text-primary, #ffffff) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper em {
    color: var(--tutor-text-secondary, #94a3b8) !important;
}

[data-tutor-theme="dark"] body.single-lesson .tutor-lesson-wrapper a {
    color: var(--tutor-text-brand, #95cf62) !important;
}

/* =========================================================================
   Legal & Standard Content Pages (Exact Header Offset & Spacing)
   ========================================================================= */
.pk-legal-main {
    padding-top: 5rem !important; /* 80px desktop - offsets the 80px fixed header */
}
@media (max-width: 1023px) {
    .pk-legal-main {
        padding-top: 4rem !important; /* 64px mobile - offsets the 64px fixed header */
    }
}

.pk-legal-hero {
    background-color: hsl(var(--primary) / 0.05);
    border-bottom: 1px solid hsl(var(--border) / 0.6);
    padding-top: 3rem !important;
    padding-bottom: 2.5rem !important;
    margin-bottom: 2.5rem !important;
}
@media (max-width: 1023px) {
    .pk-legal-hero {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
        margin-bottom: 2rem !important;
    }
}
