/* Aesthetic Design - Custom CSS for O!Therapy Landing Page */

/* Root Variables - Pastel & Muted Aesthetic Palette */
:root {
    color-scheme: light;
    --primary-color: #BD867F;
    --secondary-color: #59655F;
    --accent-color: #F1ECE9;
    --rose-color: #EBD9D7;
    --sage-color: #B7C2A2;
    --dark-color: #575451;
    --transition-speed: 0.4s;
}

/* WordPress fallback for Tailwind CDN custom theme colors. */
.font-body { font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; }
.font-display { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important; }
body { font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

.bg-primary { background-color: var(--primary-color) !important; }
.bg-secondary { background-color: var(--secondary-color) !important; }
.bg-accent { background-color: var(--accent-color) !important; }
.bg-rose { background-color: var(--rose-color) !important; }
.bg-sage { background-color: var(--sage-color) !important; }
.bg-dark { background-color: var(--dark-color) !important; }
.text-primary { color: var(--primary-color) !important; }
.text-secondary { color: var(--secondary-color) !important; }
.text-accent { color: var(--accent-color) !important; }
.text-rose { color: var(--rose-color) !important; }
.text-sage { color: var(--sage-color) !important; }
.border-primary { border-color: var(--primary-color) !important; }
.border-secondary { border-color: var(--secondary-color) !important; }
.border-rose { border-color: var(--rose-color) !important; }
.border-sage { border-color: var(--sage-color) !important; }
.focus\:border-primary:focus { border-color: var(--primary-color) !important; }
.focus\:ring-primary:focus { --tw-ring-color: var(--primary-color) !important; }

.hidden { display: none !important; }
.block { display: block !important; }
.flex { display: flex !important; }
.inline-block { display: inline-block !important; }
.fixed { position: fixed !important; }
.relative { position: relative !important; }
.absolute { position: absolute !important; }
.top-0 { top: 0 !important; }
.z-10 { z-index: 10 !important; }
.z-20 { z-index: 20 !important; }
.z-50 { z-index: 50 !important; }

@media (min-width: 768px) {
    .md\:hidden { display: none !important; }
    .md\:flex { display: flex !important; }
    .md\:block { display: block !important; }
}

.bg-primary\/5 { background-color: rgba(189, 134, 127, 0.05) !important; }
.bg-primary\/10 { background-color: rgba(189, 134, 127, 0.10) !important; }
.bg-primary\/20 { background-color: rgba(189, 134, 127, 0.20) !important; }
.bg-primary\/30 { background-color: rgba(189, 134, 127, 0.30) !important; }
.bg-secondary\/5 { background-color: rgba(89, 101, 95, 0.05) !important; }
.bg-secondary\/10 { background-color: rgba(89, 101, 95, 0.10) !important; }
.bg-secondary\/20 { background-color: rgba(89, 101, 95, 0.20) !important; }
.bg-secondary\/30 { background-color: rgba(89, 101, 95, 0.30) !important; }
.bg-rose\/5 { background-color: rgba(235, 217, 215, 0.05) !important; }
.bg-rose\/10 { background-color: rgba(235, 217, 215, 0.10) !important; }
.bg-rose\/20 { background-color: rgba(235, 217, 215, 0.20) !important; }
.bg-rose\/30 { background-color: rgba(235, 217, 215, 0.30) !important; }
.bg-rose\/40 { background-color: rgba(235, 217, 215, 0.40) !important; }
.bg-sage\/5 { background-color: rgba(183, 194, 162, 0.05) !important; }
.bg-sage\/10 { background-color: rgba(183, 194, 162, 0.10) !important; }
.bg-sage\/20 { background-color: rgba(183, 194, 162, 0.20) !important; }
.bg-sage\/30 { background-color: rgba(183, 194, 162, 0.30) !important; }
.bg-accent\/30 { background-color: rgba(241, 236, 233, 0.30) !important; }
.bg-accent\/40 { background-color: rgba(241, 236, 233, 0.40) !important; }

.border-primary\/20 { border-color: rgba(189, 134, 127, 0.20) !important; }
.border-sage\/30 { border-color: rgba(183, 194, 162, 0.30) !important; }
.border-rose\/30 { border-color: rgba(235, 217, 215, 0.30) !important; }

.from-primary { --tw-gradient-from: var(--primary-color) var(--tw-gradient-from-position); --tw-gradient-to: rgba(189, 134, 127, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-secondary { --tw-gradient-from: var(--secondary-color) var(--tw-gradient-from-position); --tw-gradient-to: rgba(89, 101, 95, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-sage\/10 { --tw-gradient-from: rgba(183, 194, 162, 0.10) var(--tw-gradient-from-position); --tw-gradient-to: rgba(183, 194, 162, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-primary\/5 { --tw-gradient-from: rgba(189, 134, 127, 0.05) var(--tw-gradient-from-position); --tw-gradient-to: rgba(189, 134, 127, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-primary\/10 { --tw-gradient-from: rgba(189, 134, 127, 0.10) var(--tw-gradient-from-position); --tw-gradient-to: rgba(189, 134, 127, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-secondary\/5 { --tw-gradient-from: rgba(89, 101, 95, 0.05) var(--tw-gradient-from-position); --tw-gradient-to: rgba(89, 101, 95, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-secondary\/10 { --tw-gradient-from: rgba(89, 101, 95, 0.10) var(--tw-gradient-from-position); --tw-gradient-to: rgba(89, 101, 95, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose\/5 { --tw-gradient-from: rgba(235, 217, 215, 0.05) var(--tw-gradient-from-position); --tw-gradient-to: rgba(235, 217, 215, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose\/10 { --tw-gradient-from: rgba(235, 217, 215, 0.10) var(--tw-gradient-from-position); --tw-gradient-to: rgba(235, 217, 215, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.via-primary { --tw-gradient-to: rgba(189, 134, 127, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--primary-color) var(--tw-gradient-via-position), var(--tw-gradient-to); }
.via-primary\/10 { --tw-gradient-to: rgba(189, 134, 127, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), rgba(189, 134, 127, 0.10) var(--tw-gradient-via-position), var(--tw-gradient-to); }
.via-accent { --tw-gradient-to: rgba(241, 236, 233, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--accent-color) var(--tw-gradient-via-position), var(--tw-gradient-to); }
.via-white { --tw-gradient-to: rgba(255, 255, 255, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to); }
.to-primary { --tw-gradient-to: var(--primary-color) var(--tw-gradient-to-position); }
.to-secondary { --tw-gradient-to: var(--secondary-color) var(--tw-gradient-to-position); }
.to-secondary\/80 { --tw-gradient-to: rgba(89, 101, 95, 0.80) var(--tw-gradient-to-position); }
.to-sage { --tw-gradient-to: var(--sage-color) var(--tw-gradient-to-position); }
.to-sage\/10 { --tw-gradient-to: rgba(183, 194, 162, 0.10) var(--tw-gradient-to-position); }
.to-sage\/20 { --tw-gradient-to: rgba(183, 194, 162, 0.20) var(--tw-gradient-to-position); }
.to-rose\/10 { --tw-gradient-to: rgba(235, 217, 215, 0.10) var(--tw-gradient-to-position); }
.to-rose\/20 { --tw-gradient-to: rgba(235, 217, 215, 0.20) var(--tw-gradient-to-position); }
.to-accent\/30 { --tw-gradient-to: rgba(241, 236, 233, 0.30) var(--tw-gradient-to-position); }
.to-accent\/40 { --tw-gradient-to: rgba(241, 236, 233, 0.40) var(--tw-gradient-to-position); }

.hover\:bg-primary:hover { background-color: var(--primary-color) !important; }
.hover\:bg-secondary:hover { background-color: var(--secondary-color) !important; }
.hover\:bg-accent:hover { background-color: var(--accent-color) !important; }
.hover\:text-primary:hover { color: var(--primary-color) !important; }
.hover\:text-secondary:hover { color: var(--secondary-color) !important; }
.group:hover .group-hover\:text-primary { color: var(--primary-color) !important; }
.group:hover .group-hover\:text-secondary { color: var(--secondary-color) !important; }
.group:hover .group-hover\:text-sage { color: var(--sage-color) !important; }
.group:hover .group-hover\:text-rose { color: var(--rose-color) !important; }
.group:hover .group-hover\:from-primary\/10 { --tw-gradient-from: rgba(189, 134, 127, 0.10) var(--tw-gradient-from-position); --tw-gradient-to: rgba(189, 134, 127, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.group:hover .group-hover\:from-secondary\/10 { --tw-gradient-from: rgba(89, 101, 95, 0.10) var(--tw-gradient-from-position); --tw-gradient-to: rgba(89, 101, 95, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.group:hover .group-hover\:from-sage\/10 { --tw-gradient-from: rgba(183, 194, 162, 0.10) var(--tw-gradient-from-position); --tw-gradient-to: rgba(183, 194, 162, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.group:hover .group-hover\:from-rose\/10 { --tw-gradient-from: rgba(235, 217, 215, 0.10) var(--tw-gradient-from-position); --tw-gradient-to: rgba(235, 217, 215, 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }

/* Default WordPress/WooCommerce pages. */
.otherapy-page-content .entry-content {
    color: #374151;
}

.otherapy-page-content .entry-content a {
    color: var(--secondary-color);
    font-weight: 600;
}

.otherapy-legal-page {
    color: #374151;
}

.otherapy-legal-hero {
    max-width: 860px;
    margin: 0 auto 2rem;
    text-align: center;
}

.otherapy-legal-hero span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    padding: 0.45rem 1rem;
    border-radius: 9999px;
    background: rgba(183, 194, 162, 0.22);
    color: var(--secondary-color);
    font-size: 0.9rem;
    font-weight: 700;
}

.otherapy-legal-hero h1 {
    margin: 0 0 1rem;
    color: #111827;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    font-size: clamp(2.6rem, 7vw, 5rem);
    font-weight: 800;
    line-height: 1.05;
}

.otherapy-legal-hero p {
    max-width: 720px;
    margin: 0 auto;
    color: #4b5563;
    font-size: clamp(1rem, 2vw, 1.2rem);
    line-height: 1.75;
}

.otherapy-legal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 1040px;
    margin: 0 auto;
}

.otherapy-legal-card,
.otherapy-legal-prose {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 24px;
    box-shadow: 0 12px 36px rgba(189, 134, 127, 0.13);
}

.otherapy-legal-card {
    padding: clamp(1.25rem, 3vw, 2rem);
}

.otherapy-legal-card-wide {
    grid-column: 1 / -1;
}

.otherapy-legal-card h2,
.otherapy-legal-prose h2 {
    color: #111827;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    font-weight: 800;
}

.otherapy-legal-card h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.4rem, 3vw, 2rem);
}

.otherapy-details-list {
    display: grid;
    gap: 1rem;
    margin: 0;
}

.otherapy-details-list div {
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(183, 194, 162, 0.3);
}

.otherapy-details-list div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.otherapy-details-list dt {
    margin-bottom: 0.25rem;
    color: var(--secondary-color);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.otherapy-details-list dd {
    margin: 0;
    color: #374151;
    font-size: 1rem;
    line-height: 1.55;
}

.otherapy-details-list a,
.otherapy-legal-prose a {
    color: var(--secondary-color);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.otherapy-check-list {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.otherapy-check-list li {
    position: relative;
    padding-left: 1.65rem;
    color: #4b5563;
    line-height: 1.65;
}

.otherapy-check-list li::before {
    content: '';
    position: absolute;
    top: 0.7rem;
    left: 0;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 9999px;
    background: var(--sage-color);
}

.otherapy-legal-prose {
    max-width: 960px;
    margin: 0 auto;
    padding: clamp(1.25rem, 4vw, 3rem);
}

.otherapy-legal-prose h2 {
    margin: 2rem 0 0.75rem;
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.2;
}

.otherapy-legal-prose h2:first-child {
    margin-top: 0;
}

.otherapy-legal-prose h3 {
    margin: 1.25rem 0 0.5rem;
    color: #111827;
    font-size: 1.1rem;
    font-weight: 800;
}

.otherapy-legal-prose p,
.otherapy-legal-prose li {
    color: #4b5563;
    font-size: 1rem;
    line-height: 1.78;
}

.otherapy-legal-prose ul {
    margin: 0.75rem 0 1rem 1.25rem;
    padding: 0;
}

.otherapy-compact-footer a {
    color: rgba(255, 255, 255, 0.78);
}

.otherapy-compact-footer a:hover {
    color: #fff;
}

.otherapy-cookie-notice {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 12000;
    display: none;
    pointer-events: none;
}

.otherapy-cookie-notice.is-visible {
    display: block;
}

.otherapy-cookie-notice.is-hidden {
    display: none !important;
}

.otherapy-cookie-notice__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    max-width: 1040px;
    margin: 0 auto;
    padding: 1rem;
    border: 1px solid rgba(183, 194, 162, 0.45);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 48px rgba(31, 41, 55, 0.18);
    color: #374151;
    pointer-events: auto;
}

.otherapy-cookie-notice__content p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.55;
}

.otherapy-cookie-notice__content a {
    color: var(--secondary-color);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.otherapy-cookie-notice__button {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 0.65rem 1.2rem;
    border: 0;
    border-radius: 9999px;
    background: var(--secondary-color);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    line-height: 1;
    transition: background 0.2s ease, transform 0.2s ease;
}

.otherapy-cookie-notice__button:hover {
    background: var(--primary-color);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .otherapy-cookie-notice {
        right: 0.75rem;
        bottom: 0.75rem;
        left: 0.75rem;
    }

    .otherapy-cookie-notice__content {
        align-items: stretch;
        flex-direction: column;
        border-radius: 18px;
    }

    .otherapy-cookie-notice__button {
        width: 100%;
    }
}

.woocommerce .woocommerce-terms-and-conditions-wrapper,
.woocommerce .woocommerce-privacy-policy-text {
    color: #4b5563;
    line-height: 1.65;
}

.woocommerce .woocommerce-terms-and-conditions-checkbox-text a,
.woocommerce .woocommerce-privacy-policy-text a {
    color: var(--secondary-color) !important;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.woocommerce div.product .woocommerce-product-details__short-description ul {
    margin: 0.75rem 0 0 1.25rem;
}

.woocommerce div.product .woocommerce-product-details__short-description li,
.woocommerce div.product .woocommerce-Tabs-panel li {
    margin-bottom: 0.45rem;
}

.otherapy-course-product-fallback-image {
    object-fit: cover;
    object-position: center;
}

@media (max-width: 767px) {
    .otherapy-legal-grid {
        grid-template-columns: 1fr;
    }

    .otherapy-legal-card,
    .otherapy-legal-prose {
        border-radius: 20px;
    }
}

.woocommerce table.shop_table,
.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 24px;
    box-shadow: 0 8px 32px rgba(189, 134, 127, 0.12);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    color: #374151;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .wc-block-cart__submit-button,
.woocommerce .wc-block-components-button {
    background: var(--secondary-color) !important;
    color: #fff !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .wc-block-cart__submit-button:hover,
.woocommerce .wc-block-components-button:hover {
    background: var(--primary-color) !important;
    color: #fff !important;
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-text-input input {
    border: 2px solid #e5e7eb !important;
    border-radius: 16px !important;
    color: #374151 !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 16px;
}

.otherapy-course-owned,
.otherapy-thankyou-course {
    background: rgba(255, 255, 255, 0.86) !important;
    border: 1px solid rgba(183, 194, 162, 0.45) !important;
    color: #374151 !important;
}

.otherapy-course-access-btn {
    color: #fff !important;
    position: relative;
}

.otherapy-course-access-btn span {
    color: #fff !important;
    position: relative;
    z-index: 2;
}

.otherapy-shop-page .woocommerce-products-header__title,
.otherapy-shop-page .product_title {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    color: #111827;
    font-weight: 700;
}

.otherapy-shop-page ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1rem;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 18px;
    padding: 0.8rem !important;
    box-shadow: 0 8px 24px rgba(189, 134, 127, 0.10);
}

.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 180px !important;
    max-height: 180px;
    object-fit: contain;
    object-position: center;
    background: rgba(255, 255, 255, 0.72);
    border-radius: 14px;
    margin-bottom: 0.85rem !important;
}

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0.38rem 0.72rem !important;
    border: 1px solid rgba(189, 134, 127, 0.28) !important;
    border-radius: 9999px !important;
    background: rgba(235, 217, 215, 0.95) !important;
    color: #7d4f49 !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(189, 134, 127, 0.18) !important;
}

.woocommerce ul.products li.product .onsale {
    top: 0.95rem !important;
    right: 0.95rem !important;
    left: auto !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #111827;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    font-size: 1.12rem;
    line-height: 1.2;
    padding: 0 !important;
    margin-bottom: 0.45rem !important;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--secondary-color) !important;
    font-weight: 700;
}

.otherapy-price-omnibus-notice {
    display: block;
    margin-top: 0.45rem;
    color: #6b7280;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.45;
}

.woocommerce div.product .otherapy-price-omnibus-notice {
    max-width: 32rem;
    font-size: 0.92rem;
}

.otherapy-price-omnibus-notice strong {
    color: #374151;
    font-weight: 800;
}

.woocommerce ul.products li.product .button {
    min-height: 40px;
    padding: 0.62rem 1rem !important;
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    color: #4b5563;
}

.otherapy-account-page .woocommerce,
.otherapy-account-panel {
    color: #374151;
}

.otherapy-account-page .woocommerce-MyAccount-navigation ul {
    display: grid;
    gap: 0.75rem;
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}

.otherapy-account-page .woocommerce-MyAccount-navigation {
    display: none;
}

.otherapy-account-page .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
}

.otherapy-account-page .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 0.85rem 1rem;
    border-radius: 9999px;
    background: rgba(241, 236, 233, 0.75);
    color: var(--secondary-color);
    font-weight: 700;
}

.otherapy-account-page .woocommerce-MyAccount-navigation .is-active a,
.otherapy-account-page .woocommerce-MyAccount-navigation a:hover {
    background: var(--secondary-color);
    color: #fff !important;
}

.otherapy-account-page .woocommerce form.login,
.otherapy-account-page .woocommerce form.register {
    padding: 1.5rem;
}

.otherapy-account-page .learn-press-form,
.otherapy-account-page .lp-profile-content,
.otherapy-account-page #learn-press-profile {
    color: #374151;
}

.otherapy-account-input {
    border: 2px solid rgba(183, 194, 162, 0.55);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    color: #374151;
    padding: 0.9rem 1rem;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.otherapy-account-input:focus {
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 4px rgba(89, 101, 95, 0.12);
}

.otherapy-account-alert-success {
    background: rgba(183, 194, 162, 0.28);
    color: #3f4b45;
    border: 1px solid rgba(183, 194, 162, 0.55);
}

.otherapy-account-alert-error {
    background: rgba(235, 217, 215, 0.42);
    color: #7d4f49;
    border: 1px solid rgba(189, 134, 127, 0.4);
}

/* LearnPress course and lesson pages. */
.otherapy-learnpress-page {
    color: #374151;
}

.otherapy-lp-shell {
    max-width: 1180px;
    margin: 0 auto;
}

.otherapy-lp-cover {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.otherapy-lp-cover-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(235, 217, 215, 0.65), rgba(183, 194, 162, 0.45));
}

.otherapy-lp-content,
.otherapy-lp-content .entry-content,
.otherapy-lp-content .course-summary,
.otherapy-lp-content .lp-content-area,
.otherapy-lp-content .learn-press-course-results-progress,
.otherapy-lp-content .course-detail-info,
.otherapy-lp-content .course-curriculum,
.otherapy-lp-content #learn-press-course-curriculum,
.otherapy-lp-content #learn-press-course,
.otherapy-lp-content #learn-press-content-item,
.otherapy-lp-content .learnpress {
    color: #374151;
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.otherapy-lp-content h1,
.otherapy-lp-content h2,
.otherapy-lp-content h3,
.otherapy-lp-content h4,
.otherapy-lp-content .course-title,
.otherapy-lp-content .section-title,
.otherapy-lp-content .course-curriculum .section-header,
.otherapy-lp-content .curriculum-sections .section-title {
    color: #111827;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    letter-spacing: 0;
}

.otherapy-lp-content p,
.otherapy-lp-content li,
.otherapy-lp-content td,
.otherapy-lp-content th,
.otherapy-lp-content label,
.otherapy-lp-content .course-description,
.otherapy-lp-content .course-meta,
.otherapy-lp-content .lp-course-buttons,
.otherapy-lp-content .learn-press-message {
    color: #374151;
}

.otherapy-lp-content a {
    color: var(--secondary-color);
    font-weight: 700;
}

.otherapy-lp-content a:hover {
    color: var(--primary-color);
}

.otherapy-lp-content button,
.otherapy-lp-content .button,
.otherapy-lp-content input[type="button"],
.otherapy-lp-content input[type="submit"],
.otherapy-lp-content .lp-button,
.otherapy-lp-content .learn-press-form-login button,
.otherapy-lp-content .learn-press-form-register button,
.otherapy-learnpress-page #popup-course #popup-footer .course-item-nav a {
    background: var(--secondary-color) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
    padding: 0.85rem 1.35rem !important;
    box-shadow: 0 8px 24px rgba(89, 101, 95, 0.18);
}

.otherapy-lp-content button:hover,
.otherapy-lp-content .button:hover,
.otherapy-lp-content input[type="button"]:hover,
.otherapy-lp-content input[type="submit"]:hover,
.otherapy-lp-content .lp-button:hover,
.otherapy-learnpress-page #popup-course #popup-footer .course-item-nav a:hover {
    background: var(--primary-color) !important;
    color: #fff !important;
}

.otherapy-lp-content input[type="text"],
.otherapy-lp-content input[type="email"],
.otherapy-lp-content input[type="password"],
.otherapy-lp-content textarea,
.otherapy-lp-content select {
    border: 2px solid rgba(183, 194, 162, 0.55) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #374151 !important;
    padding: 0.85rem 1rem !important;
}

.otherapy-lp-content .course-summary,
.otherapy-lp-content .course-summary-sidebar,
.otherapy-lp-content .course-curriculum,
.otherapy-lp-content #learn-press-course-curriculum,
.otherapy-lp-content .curriculum-sections,
.otherapy-lp-content .learn-press-form,
.otherapy-lp-content .learn-press-message,
.otherapy-lp-content .lp-archive-courses .course,
.otherapy-lp-content .course-item,
.otherapy-lp-content .section,
.otherapy-learnpress-page #popup-sidebar,
.otherapy-learnpress-page #popup-content,
.otherapy-learnpress-page #popup-footer {
    background: rgba(255, 255, 255, 0.78) !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
    border-radius: 24px !important;
    box-shadow: 0 8px 32px rgba(189, 134, 127, 0.10);
}

.otherapy-lp-content .course-curriculum,
.otherapy-lp-content #learn-press-course-curriculum,
.otherapy-lp-content .curriculum-sections {
    overflow: hidden;
}

.otherapy-lp-content .curriculum-sections .section,
.otherapy-lp-content .course-curriculum .section,
.otherapy-lp-content #learn-press-course-curriculum .section {
    margin-bottom: 1rem;
    border: 1px solid rgba(183, 194, 162, 0.28) !important;
}

.otherapy-lp-content .section-header,
.otherapy-lp-content .curriculum-sections .section-header {
    background: rgba(241, 236, 233, 0.88) !important;
    border-radius: 20px 20px 0 0;
    padding: 1rem 1.25rem !important;
}

.otherapy-lp-content .course-item,
.otherapy-lp-content .curriculum-sections .course-item,
.otherapy-lp-content .course-curriculum .course-item {
    border-top: 1px solid rgba(183, 194, 162, 0.25) !important;
    padding: 0.95rem 1.25rem !important;
    transition: background 0.2s ease, transform 0.2s ease;
}

.otherapy-lp-content .course-item:hover,
.otherapy-lp-content .curriculum-sections .course-item:hover {
    background: rgba(183, 194, 162, 0.14) !important;
}

.otherapy-lp-content .course-item.current,
.otherapy-lp-content .course-item.status-completed,
.otherapy-lp-content .course-item.has-status.status-completed {
    background: rgba(183, 194, 162, 0.2) !important;
}

.otherapy-lp-content .course-item a,
.otherapy-lp-content .course-item .item-name {
    color: #374151 !important;
    font-weight: 700;
}

.otherapy-lp-content .course-item-meta,
.otherapy-lp-content .item-meta,
.otherapy-lp-content .course-count,
.otherapy-lp-content .course-duration,
.otherapy-lp-content .course-students,
.otherapy-lp-content .course-level {
    color: #59655f !important;
}

.otherapy-lp-content .learn-press-progress,
.otherapy-lp-content .lp-course-progress,
.otherapy-lp-content .progress,
.otherapy-learnpress-page .learn-press-progress {
    background: rgba(183, 194, 162, 0.28) !important;
    border-radius: 9999px !important;
    overflow: hidden;
}

.otherapy-lp-content .learn-press-progress__active,
.otherapy-lp-content .progress-bar,
.otherapy-lp-content .lp-course-progress .lp-passing-conditional,
.otherapy-learnpress-page .learn-press-progress__active {
    background: linear-gradient(90deg, var(--secondary-color), var(--primary-color)) !important;
}

.otherapy-lp-lesson-content {
    max-width: 920px;
    margin: 0 auto;
}

.otherapy-lp-lesson-content iframe,
.otherapy-lp-lesson-content video,
.otherapy-lp-lesson-content .wp-video,
.otherapy-lp-content iframe,
.otherapy-lp-content video {
    max-width: 100%;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(89, 101, 95, 0.12);
}

.otherapy-lp-lesson-content img,
.otherapy-lp-content img {
    border-radius: 18px;
}

.otherapy-learnpress-active,
#popup-course,
.otherapy-learnpress-page #popup-course {
    background: var(--accent-color) !important;
    color: #374151 !important;
}

.otherapy-learnpress-active:not(.course-item-popup) {
    padding-top: 104px;
}

body.course-item-popup .otherapy-shared-nav {
    display: block !important;
}

.otherapy-learnpress-active .otherapy-shared-nav,
.otherapy-learnpress-active .otherapy-shared-nav *,
.course-item-popup .otherapy-shared-nav,
.course-item-popup .otherapy-shared-nav * {
    box-sizing: border-box;
}

.otherapy-learnpress-active .otherapy-shared-nav {
    background: rgba(255, 255, 255, 0.8) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: inherit !important;
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
}

.otherapy-learnpress-active .otherapy-shared-nav > .container {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}

.otherapy-learnpress-active .otherapy-shared-nav .logo-container img {
    height: 3rem !important;
}

@media (min-width: 768px) {
    .otherapy-learnpress-active .otherapy-shared-nav .logo-container img {
        height: 3.5rem !important;
    }
}

.otherapy-learnpress-active .otherapy-shared-nav .hidden.md\:flex {
    align-items: center !important;
    gap: 2rem !important;
}

.otherapy-learnpress-active .otherapy-shared-nav .hidden.md\:flex > * {
    margin-left: 0 !important;
}

.otherapy-learnpress-active .otherapy-shared-nav .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 2.5rem;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #374151 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.otherapy-learnpress-active .otherapy-shared-nav .nav-link:hover {
    color: var(--secondary-color) !important;
    background: transparent !important;
}

.otherapy-learnpress-active .otherapy-shared-nav a.bg-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 3rem !important;
    padding: 0.75rem 2rem !important;
    border: 0 !important;
    border-radius: 9999px !important;
    background: var(--secondary-color) !important;
    color: #fff !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    box-shadow: 0 10px 30px rgba(89, 101, 95, 0.2) !important;
}

.otherapy-learnpress-active .otherapy-shared-nav a.bg-secondary:hover {
    background: var(--primary-color) !important;
    color: #fff !important;
}

.otherapy-learnpress-active .otherapy-shared-nav #mobile-menu-button {
    display: inline-grid !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid rgba(183, 194, 162, 0.35) !important;
    border-radius: 9999px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    color: #374151 !important;
    box-shadow: 0 6px 18px rgba(89, 101, 95, 0.08) !important;
}

.otherapy-learnpress-active .otherapy-shared-nav #mobile-menu-button i {
    color: inherit !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
}

@media (min-width: 768px) {
    .otherapy-learnpress-active .otherapy-shared-nav #mobile-menu-button {
        display: none !important;
    }
}

.otherapy-learnpress-active .otherapy-shared-nav #mobile-menu {
    margin-top: 1rem !important;
    padding: 0.75rem 1rem 1rem !important;
    border-top: 1px solid rgba(183, 194, 162, 0.25) !important;
    border-radius: 0 0 22px 22px;
    background: rgba(255, 255, 255, 0.96) !important;
}

@media (max-width: 767px) {
    .otherapy-learnpress-active .otherapy-shared-nav,
    .otherapy-learnpress-active #navbar {
        z-index: 10100 !important;
    }

    .otherapy-learnpress-active .otherapy-shared-nav #mobile-menu:not(.hidden) {
        position: fixed !important;
        top: 88px !important;
        right: 0.75rem !important;
        left: 0.75rem !important;
        z-index: 10120 !important;
        display: block !important;
        width: auto !important;
        max-height: calc(100vh - 104px) !important;
        overflow-y: auto !important;
        border: 1px solid rgba(183, 194, 162, 0.28) !important;
        border-radius: 0 0 22px 22px !important;
        box-shadow: 0 18px 44px rgba(31, 41, 55, 0.16) !important;
    }

    body.admin-bar.otherapy-learnpress-active .otherapy-shared-nav #mobile-menu:not(.hidden) {
        top: 134px !important;
        max-height: calc(100vh - 150px) !important;
    }
}

.otherapy-learnpress-active .otherapy-shared-nav #mobile-menu a {
    background: transparent !important;
    box-shadow: none !important;
    color: #374151 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 500 !important;
}

.otherapy-learnpress-active .otherapy-shared-nav #mobile-menu a.bg-secondary {
    margin-top: 0.5rem !important;
    background: var(--secondary-color) !important;
    color: #fff !important;
    text-align: center !important;
}

body.admin-bar .otherapy-shared-nav {
    top: 32px;
}

body:not(.otherapy-learnpress-active):not(.course-item-popup) .otherapy-shared-nav > .container {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

body:not(.otherapy-learnpress-active):not(.course-item-popup) .otherapy-shared-nav .logo-container img {
    height: 2.35rem !important;
}

body:not(.otherapy-learnpress-active):not(.course-item-popup) .otherapy-shared-nav .hidden.md\:flex > :not([hidden]) ~ :not([hidden]) {
    margin-left: 1.15rem !important;
}

body:not(.otherapy-learnpress-active):not(.course-item-popup) .otherapy-shared-nav .nav-link {
    font-size: 0.9rem;
}

body:not(.otherapy-learnpress-active):not(.course-item-popup) .otherapy-shared-nav .bg-secondary {
    padding: 0.65rem 1.35rem !important;
    font-size: 0.9rem;
    line-height: 1.2;
}

body:not(.otherapy-learnpress-active):not(.course-item-popup) .otherapy-shared-nav #mobile-menu {
    margin-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
}

#mobile-menu-button {
    display: inline-grid;
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    place-items: center;
    border: 1px solid rgba(183, 194, 162, 0.45);
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.78);
    color: #374151;
    line-height: 1;
}

#mobile-menu-button i {
    display: block;
    font-size: 1.25rem;
    line-height: 1;
}

.otherapy-shared-nav,
#navbar {
    z-index: 9999 !important;
}

#mobile-menu {
    position: relative;
    z-index: 10000;
    width: 100%;
    border-top: 1px solid rgba(183, 194, 162, 0.25);
    background: rgba(255, 255, 255, 0.96);
}

@media (max-width: 767px) {
    .otherapy-shared-nav,
    #navbar {
        top: 0 !important;
        right: 0;
        left: 0;
    }

    body.admin-bar .otherapy-shared-nav,
    body.admin-bar #navbar {
        top: 46px !important;
    }

    #mobile-menu:not(.hidden) {
        display: block !important;
        margin-top: 0.75rem !important;
        padding: 0.75rem 1rem 1rem !important;
        border-radius: 0 0 22px 22px;
        box-shadow: 0 16px 34px rgba(89, 101, 95, 0.14);
    }
}

body.course-item-popup #popup-course {
    top: 88px !important;
    height: calc(100vh - 88px) !important;
}

body.admin-bar.course-item-popup #popup-course {
    top: 120px !important;
    height: calc(100vh - 120px) !important;
}

.otherapy-learnpress-active .site,
.otherapy-learnpress-active #page,
.otherapy-learnpress-active .content-area,
.otherapy-learnpress-active .site-content,
.otherapy-learnpress-active main,
.otherapy-learnpress-active article {
    color: #374151;
}

.otherapy-learnpress-active h1,
.otherapy-learnpress-active h2,
.otherapy-learnpress-active h3,
.otherapy-learnpress-active h4,
.otherapy-learnpress-active .entry-title,
.otherapy-learnpress-active .course-title,
.otherapy-learnpress-active .content-item-title {
    color: #111827;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

.otherapy-learnpress-active .lp-button,
.otherapy-learnpress-active button,
.otherapy-learnpress-active input[type="submit"],
.otherapy-learnpress-active .button {
    background: var(--secondary-color) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
}

.otherapy-learnpress-active .lp-button:hover,
.otherapy-learnpress-active button:hover,
.otherapy-learnpress-active input[type="submit"]:hover,
.otherapy-learnpress-active .button:hover {
    background: var(--primary-color) !important;
    color: #fff !important;
}

.otherapy-learnpress-active .course-curriculum,
.otherapy-learnpress-active #learn-press-course-curriculum,
.otherapy-learnpress-active .curriculum-sections,
.otherapy-learnpress-active .course-summary,
.otherapy-learnpress-active .course-summary-sidebar,
.otherapy-learnpress-active .course-detail-info,
.otherapy-learnpress-active .lp-single-course,
.otherapy-learnpress-active #learn-press-course,
.otherapy-learnpress-active .lp-content-area,
.otherapy-learnpress-active .content-item-wrap,
.otherapy-learnpress-active .content-item-summary,
.otherapy-learnpress-active .learn-press-message,
.otherapy-learnpress-active .learn-press-form {
    background: rgba(255, 255, 255, 0.78) !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
    border-radius: 24px !important;
    box-shadow: 0 8px 32px rgba(189, 134, 127, 0.10);
}

.otherapy-learnpress-active .lp-content-area,
.otherapy-learnpress-active #learn-press-course,
.otherapy-learnpress-active .lp-single-course {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.otherapy-learnpress-active .course-detail-info {
    padding: 2rem !important;
    margin-bottom: 2rem !important;
}

.otherapy-learnpress-active .course-summary,
.otherapy-learnpress-active .course-curriculum,
.otherapy-learnpress-active #learn-press-course-curriculum {
    padding: 1.25rem !important;
    margin-bottom: 1.5rem !important;
}

.otherapy-learnpress-active .course-curriculum .section,
.otherapy-learnpress-active #learn-press-course-curriculum .section,
.otherapy-learnpress-active .curriculum-sections .section {
    overflow: hidden;
    margin-bottom: 1rem !important;
    border: 1px solid rgba(183, 194, 162, 0.28) !important;
    border-radius: 20px !important;
}

.otherapy-learnpress-active .section-header,
.otherapy-learnpress-active .curriculum-sections .section-header {
    background: rgba(241, 236, 233, 0.9) !important;
    color: #111827 !important;
    padding: 1rem 1.25rem !important;
}

.otherapy-learnpress-active .course-item,
.otherapy-learnpress-active .curriculum-sections .course-item {
    border-top: 1px solid rgba(183, 194, 162, 0.25) !important;
    padding: 0.9rem 1.25rem !important;
}

.otherapy-learnpress-active .course-item a,
.otherapy-learnpress-active .course-item .item-name,
.otherapy-learnpress-active .course-item-title {
    color: #374151 !important;
    font-weight: 700 !important;
}

.otherapy-learnpress-active .course-item:hover,
.otherapy-learnpress-active .course-item.current {
    background: rgba(183, 194, 162, 0.16) !important;
}

.otherapy-learnpress-active .course-meta,
.otherapy-learnpress-active .course-meta *,
.otherapy-learnpress-active .course-item-meta,
.otherapy-learnpress-active .item-meta,
.otherapy-learnpress-active .course-results-progress,
.otherapy-learnpress-active .learn-press-course-results-progress {
    color: #59655f !important;
}

/* Structured course overview: keeps LearnPress content, but makes the course page read like the rest of the site. */
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-content-area,
.otherapy-learnpress-active-course:not(.course-item-popup) #learn-press-course,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course {
    width: min(100% - 2rem, 1180px) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-archive-courses {
    width: min(100% - 2rem, 1180px) !important;
    margin: 0 auto !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course *,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course *::before,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course *::after {
    box-sizing: border-box;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-breadcrumb {
    display: none !important;
    flex-wrap: wrap !important;
    gap: 0.35rem !important;
    align-items: center !important;
    width: min(100% - 2rem, 1180px) !important;
    margin: 0 auto 1.1rem !important;
    padding: 0 !important;
    color: #59655f !important;
    font-size: 0.88rem !important;
    list-style: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-breadcrumb li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    color: inherit !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-breadcrumb a {
    color: #59655f !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-breadcrumb a:hover {
    color: var(--secondary-color) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-breadcrumb .breadcrumb-delimiter {
    opacity: 0.55;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-detail-info {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 3vw, 2.75rem) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 28px !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(241, 236, 233, 0.72)) !important;
    box-shadow: 0 18px 54px rgba(89, 101, 95, 0.12) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-detail-info::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(189, 134, 127, 0.16), rgba(183, 194, 162, 0.12));
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-detail-info > * {
    position: relative;
    z-index: 1;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header {
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin: 0 16px 1.25rem !important;
    padding: clamp(1.15rem, 2.4vw, 2rem) !important;
    border: 1px solid rgba(183, 194, 162, 0.22) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.58) !important;
    box-shadow: 0 10px 30px rgba(89, 101, 95, 0.08) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-instructor-category,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course-info-one {
    display: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas {
    display: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 1rem 0 0 !important;
    padding: 1rem !important;
    border: 1px solid rgba(183, 194, 162, 0.24) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.64) !important;
    box-shadow: 0 8px 24px rgba(89, 101, 95, 0.07) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas {
    display: none !important;
    margin-bottom: 1rem !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas ul,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning ul {
    display: grid !important;
    gap: 0.55rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas li,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    min-height: 42px;
    margin: 0 !important;
    padding: 0.6rem 0.75rem !important;
    border-radius: 14px !important;
    background: rgba(241, 236, 233, 0.58) !important;
    color: #374151 !important;
    font-size: 0.92rem !important;
    line-height: 1.35 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas li > *,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning li > * {
    min-width: 0;
    margin: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas label,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning label,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas .label,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning .label {
    color: #59655f !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas span,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning span,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas .value,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning .value {
    color: #111827 !important;
    font-weight: 700 !important;
    text-align: right;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas i,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning i,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas svg,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning svg {
    flex: 0 0 auto;
    color: var(--secondary-color) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header__inner {
    max-width: 100% !important;
    margin: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header__inner > *:first-child {
    margin-top: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header__inner > *:last-child {
    margin-bottom: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header .course-title,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header .entry-title {
    max-width: 820px;
    margin-top: 0 !important;
    margin-bottom: 0.85rem !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header .course-meta {
    margin-top: 0.85rem !important;
    margin-bottom: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header p {
    max-width: 760px;
    margin-bottom: 0.85rem !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-title,
.otherapy-learnpress-active-course:not(.course-item-popup) .entry-title {
    max-width: 820px;
    margin-bottom: 1rem !important;
    color: #111827 !important;
    font-size: clamp(2.25rem, 5vw, 4.4rem) !important;
    line-height: 1.05 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-meta,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-meta__pull-left,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-meta__pull-right {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
    align-items: center !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-meta > *,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-meta .meta-item,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-meta .course-meta__pull-left > *,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-meta .course-meta__pull-right > * {
    margin: 0 !important;
    padding: 0.48rem 0.78rem !important;
    border: 1px solid rgba(183, 194, 162, 0.34) !important;
    border-radius: 9999px !important;
    background: rgba(255, 255, 255, 0.62) !important;
    color: #59655f !important;
    font-size: 0.86rem !important;
    line-height: 1.2 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: start;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course > *,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-summary > * {
    min-width: 0;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-summary {
    margin-top: 1.25rem !important;
    margin-bottom: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course h2,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course h3,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .section-title,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .lp-course-curriculum__title {
    margin: 0 0 1rem !important;
    color: #111827 !important;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    line-height: 1.18 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course p {
    color: #4b5563 !important;
    line-height: 1.75 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course ul,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course ol {
    margin-top: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-content,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-sidebar,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-entry-content,
.otherapy-learnpress-active-course:not(.course-item-popup) .entry-content {
    min-width: 0;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-content,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-entry-content,
.otherapy-learnpress-active-course:not(.course-item-popup) .entry-content {
    display: grid;
    gap: 1.35rem;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-sidebar {
    position: sticky;
    top: 126px;
    padding: 1rem !important;
    border: 1px solid rgba(183, 194, 162, 0.28) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.84) !important;
    box-shadow: 0 18px 48px rgba(89, 101, 95, 0.12) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course-main__right {
    align-self: start !important;
    margin-top: clamp(1.25rem, 2.5vw, 2rem) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course-main__right > * {
    margin-top: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-summary-sidebar > *,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-summary-sidebar .course-sidebar-preview > *,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-summary-sidebar .course-payment > * {
    margin-bottom: 0.9rem !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-summary-sidebar > *:last-child,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-summary-sidebar .course-sidebar-preview > *:last-child,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-summary-sidebar .course-payment > *:last-child {
    margin-bottom: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-sidebar img,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-sidebar .course-thumbnail img,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-thumbnail img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 18px !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-course-buttons,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-price,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-sidebar-preview,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-payment,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-sidebar__inner {
    width: 100% !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-course-buttons button,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-course-buttons .lp-button,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-sidebar .lp-button,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-sidebar button {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
    margin-top: 0.75rem !important;
    font-size: 1rem !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-price,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .price {
    color: #111827 !important;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-size: clamp(1.6rem, 3vw, 2.15rem) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-price .origin-price,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .origin-price {
    color: #8a948e !important;
    font-size: 0.95rem !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-description,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-curriculum,
.otherapy-learnpress-active-course:not(.course-item-popup) #learn-press-course-curriculum,
.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-extra-box,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-course-progress-wrapper {
    padding: clamp(1.15rem, 2vw, 1.6rem) !important;
    border: 1px solid rgba(183, 194, 162, 0.24) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    box-shadow: 0 12px 34px rgba(89, 101, 95, 0.08) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-description,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-curriculum,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course #learn-press-course-curriculum,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .learn-press-course-tabs,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-extra-box,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .lp-course-progress-wrapper {
    margin-bottom: 1.35rem !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-description > *:last-child,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-curriculum > *:last-child,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course #learn-press-course-curriculum > *:last-child,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .learn-press-course-tabs > *:last-child {
    margin-bottom: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-curriculum,
.otherapy-learnpress-active-course:not(.course-item-popup) #learn-press-course-curriculum {
    overflow: hidden !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-curriculum .section,
.otherapy-learnpress-active-course:not(.course-item-popup) #learn-press-course-curriculum .section,
.otherapy-learnpress-active-course:not(.course-item-popup) .curriculum-sections .section {
    margin-bottom: 0.85rem !important;
    border: 1px solid rgba(183, 194, 162, 0.3) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-curriculum-info {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 1rem !important;
    padding: 0.85rem 1rem !important;
    border: 1px solid rgba(183, 194, 162, 0.24) !important;
    border-radius: 16px !important;
    background: rgba(241, 236, 233, 0.55) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-curriculum-info ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.55rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-curriculum-info li,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-toggle-all-sections {
    color: #59655f !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .section-header,
.otherapy-learnpress-active-course:not(.course-item-popup) .curriculum-sections .section-header {
    padding: 1rem 1.1rem !important;
    border-bottom: 1px solid rgba(183, 194, 162, 0.22) !important;
    background: rgba(241, 236, 233, 0.72) !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-item,
.otherapy-learnpress-active-course:not(.course-item-popup) .curriculum-sections .course-item {
    padding: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .course-item a,
.otherapy-learnpress-active-course:not(.course-item-popup) .course-item__link {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    width: 100% !important;
    padding: 0.85rem 1.1rem !important;
    color: #374151 !important;
    text-decoration: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-item-title,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .item-name {
    min-width: 0;
    color: #374151 !important;
    font-weight: 700 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-item-meta,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .item-meta {
    margin-left: auto !important;
    color: #59655f !important;
    font-size: 0.82rem !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .learn-press-message {
    padding: 1rem 1.1rem !important;
    border: 1px solid rgba(183, 194, 162, 0.28) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    color: #374151 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs .course-nav-tabs,
.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs .learn-press-nav-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    border: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs .course-nav,
.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs .learn-press-nav-tab {
    margin: 0 !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs .course-nav a,
.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs .learn-press-nav-tab a {
    display: inline-flex !important;
    min-height: 42px;
    align-items: center;
    padding: 0.65rem 1rem !important;
    border: 1px solid rgba(183, 194, 162, 0.3) !important;
    border-radius: 9999px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: #59655f !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs .active a,
.otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs .course-nav.active a {
    background: var(--secondary-color) !important;
    color: #fff !important;
}

.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-tab-panel,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .learn-press-course-tab-panel,
.otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .course-tab-panels {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #374151 !important;
}

@media (max-width: 900px) {
    .otherapy-learnpress-active-course:not(.course-item-popup) .course-summary {
        grid-template-columns: 1fr;
    }

    .otherapy-learnpress-active-course:not(.course-item-popup) .course-summary-sidebar {
        position: static;
        order: -1;
    }

    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course-main__right {
        margin-top: 1rem !important;
    }
}

@media (max-width: 640px) {
    .otherapy-learnpress-active-course:not(.course-item-popup) {
        padding-top: 92px;
    }

    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-content-area,
    .otherapy-learnpress-active-course:not(.course-item-popup) #learn-press-course,
    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course {
        width: min(100% - 1rem, 1180px) !important;
    }

    .otherapy-learnpress-active-course:not(.course-item-popup) .course-detail-info,
    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header,
    .otherapy-learnpress-active-course:not(.course-item-popup) .course-description,
    .otherapy-learnpress-active-course:not(.course-item-popup) .course-curriculum,
    .otherapy-learnpress-active-course:not(.course-item-popup) #learn-press-course-curriculum,
    .otherapy-learnpress-active-course:not(.course-item-popup) .learn-press-course-tabs {
        border-radius: 20px !important;
    }

    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course__header {
        padding: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas,
    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning {
        padding: 0.75rem !important;
    }

    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas li,
    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning li {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 0.25rem !important;
    }

    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas span,
    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning span,
    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-metas .value,
    .otherapy-learnpress-active-course:not(.course-item-popup) .lp-single-course .info-learning .value {
        text-align: left;
    }
}

/* Hide LearnPress/theme promotional blocks without touching lessons or course data. */
.otherapy-learnpress-active .lp-course-author,
.otherapy-learnpress-active .course-author,
.otherapy-learnpress-active .course-instructor,
.otherapy-learnpress-active .instructor,
.otherapy-learnpress-active .learn-press-course-tabs .course-tab-panel-instructor,
.otherapy-learnpress-active .learn-press-course-tabs .course-tab-panel-reviews,
.otherapy-learnpress-active .course-tab-panel-reviews,
.otherapy-learnpress-active .lp-section-instructor,
.otherapy-learnpress-active .lp-instructor-info,
.otherapy-learnpress-active .lp-instructor-meta,
.otherapy-learnpress-active .course-reviews,
.otherapy-learnpress-active .course-review,
.otherapy-learnpress-active .course-rating,
.otherapy-learnpress-active .info-rating,
.otherapy-learnpress-active .lp-courses-rating-reviews-ajax,
.otherapy-learnpress-active .learnpress-course-review,
.otherapy-learnpress-active .lp-rating-reviews-wrapper,
.otherapy-learnpress-active .course-rate,
.otherapy-learnpress-active .course-review-wrapper,
.otherapy-learnpress-active .review-fields,
.otherapy-learnpress-active .lp-course-comment,
.otherapy-learnpress-active #respond,
.otherapy-learnpress-active #comments,
.otherapy-learnpress-active .course-share,
.otherapy-learnpress-active .social-share,
.otherapy-learnpress-active .social-swapper,
.otherapy-learnpress-active .social-share-toggle,
.otherapy-learnpress-active .content-widget-social-share,
.otherapy-learnpress-active .lp-social-media,
.otherapy-learnpress-active .lp-course-wishlist,
.otherapy-learnpress-active .course-wishlist,
.otherapy-learnpress-active .lp-course-featured-review,
.otherapy-learnpress-active .lp-course-related,
.otherapy-learnpress-active .lp-list-courses-related,
.otherapy-learnpress-active .related-courses,
.otherapy-learnpress-active .related-products,
.otherapy-learnpress-active .learn-press-related-courses,
.otherapy-learnpress-active .lp-archive-courses.related-courses,
.otherapy-learnpress-active .thim-related-course,
.otherapy-learnpress-active .thim-course-related,
.otherapy-learnpress-active .thim-ralated-course,
.otherapy-learnpress-active .lp-advertisement,
.otherapy-learnpress-active .learn-press-advertisement,
.otherapy-learnpress-active .advertisement,
.otherapy-learnpress-active .ad-banner,
.otherapy-learnpress-active .adsbygoogle,
.otherapy-learnpress-active [class*="advert"],
.otherapy-learnpress-active [class*="sponsor"],
.otherapy-learnpress-active [class*="ads-"],
.otherapy-learnpress-active [id*="advert"],
.otherapy-learnpress-active [id*="sponsor"],
.otherapy-learnpress-active [id*="ads-"] {
    display: none !important;
}

.otherapy-learnpress-active img[src*="eduma.thimpress.com"],
.otherapy-learnpress-active img[src*="eduma-mobi-sidebar"],
.otherapy-learnpress-active .lp-single-course-sidebar #media_image-4,
.otherapy-learnpress-active .lp-single-course-sidebar .widget_media_image:has(img[src*="eduma.thimpress.com"]),
.otherapy-learnpress-active .lp-single-course-sidebar .widget_media_image:has(img[src*="eduma-mobi-sidebar"]),
.otherapy-learnpress-active a:has(img[src*="eduma.thimpress.com"]),
.otherapy-learnpress-active div:has(> img[src*="eduma.thimpress.com"]),
.otherapy-learnpress-active aside:has(img[src*="eduma.thimpress.com"]),
.otherapy-learnpress-active section:has(img[src*="eduma.thimpress.com"]) {
    display: none !important;
}

#popup-header,
.otherapy-learnpress-page #popup-header {
    background: rgba(255, 255, 255, 0.88) !important;
    border-bottom: 1px solid rgba(183, 194, 162, 0.3) !important;
    backdrop-filter: blur(14px);
}

#popup-header,
#popup-header a,
#popup-header .course-title,
.otherapy-learnpress-page #popup-header,
.otherapy-learnpress-page #popup-header a,
.otherapy-learnpress-page #popup-header .course-title {
    color: #374151 !important;
}

#popup-sidebar,
#popup-content,
#popup-footer {
    background: rgba(255, 255, 255, 0.78) !important;
    color: #374151 !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
}

#popup-content .content-item-wrap,
#popup-content .content-item-description,
#popup-content .content-item-summary,
#popup-content .learn-press-content-item-container {
    color: #374151 !important;
}

#popup-content h1,
#popup-content h2,
#popup-content h3,
#popup-content .content-item-title {
    color: #111827 !important;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
}

#popup-course .lp-button,
#popup-course button,
#popup-course input[type="submit"],
#popup-footer .course-item-nav a {
    background: var(--secondary-color) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
}

#popup-course .lp-button:hover,
#popup-course button:hover,
#popup-course input[type="submit"]:hover,
#popup-footer .course-item-nav a:hover {
    background: var(--primary-color) !important;
    color: #fff !important;
}

#popup-sidebar a,
#popup-content a {
    color: var(--secondary-color) !important;
}

#popup-sidebar .course-item.current,
#popup-sidebar .course-item:hover {
    background: rgba(183, 194, 162, 0.18) !important;
}

.otherapy-learnpress-page #popup-sidebar .course-curriculum,
.otherapy-learnpress-page #popup-sidebar .section,
.otherapy-learnpress-page #popup-sidebar .course-item {
    box-shadow: none;
    border-radius: 0 !important;
}

/* LearnPress lesson player layout. */
body.course-item-popup {
    overflow: hidden;
    background: var(--accent-color) !important;
}

body.course-item-popup .lp-archive-courses > .learn-press-breadcrumb {
    display: none !important;
}

body.course-item-popup #popup-course {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: var(--accent-color) !important;
    box-shadow: none !important;
    z-index: 20;
}

body.admin-bar.course-item-popup #popup-course {
    top: 32px !important;
    height: calc(100vh - 32px) !important;
}

body.course-item-popup #popup-header {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: 84px !important;
    min-height: 84px !important;
    padding: 0 5rem 0 1.25rem !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 8px 28px rgba(89, 101, 95, 0.10) !important;
    z-index: 5;
}

body.course-item-popup #sidebar-toggle {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    display: grid !important;
    z-index: 8;
    width: 40px !important;
    height: 40px !important;
    min-height: 0 !important;
    place-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(183, 194, 162, 0.55) !important;
    border-radius: 9999px !important;
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 8px 24px rgba(89, 101, 95, 0.12);
    cursor: pointer;
}

body.course-item-popup #sidebar-toggle::before {
    content: "\00d7";
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--secondary-color);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
}

body.course-item-popup #sidebar-toggle:checked::before {
    content: "\2630";
    font-size: 1.1rem;
    line-height: 1;
}

body.course-item-popup #popup-header .popup-header__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.25rem !important;
    height: 100% !important;
    max-width: none !important;
    padding-left: 3.4rem !important;
}

body.course-item-popup #popup-header .course-title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    font-size: clamp(1rem, 2vw, 1.35rem) !important;
    line-height: 1.25 !important;
}

body.course-item-popup #popup-header .course-title a {
    display: block;
    overflow: hidden;
    color: #111827 !important;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-weight: 700 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.course-item-popup #popup-header .items-progress {
    flex: 0 0 260px;
    min-width: 260px;
    color: #59655f !important;
}

body.course-item-popup #popup-header .otherapy-lesson-quick-nav {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.45rem;
    margin-left: auto;
}

body.course-item-popup #popup-header .otherapy-lesson-quick-nav a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.85rem;
    border: 1px solid rgba(183, 194, 162, 0.34);
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.68);
    color: #59655f !important;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

body.course-item-popup #popup-header .otherapy-lesson-quick-nav a:hover {
    border-color: rgba(189, 134, 127, 0.42);
    background: rgba(235, 217, 215, 0.62);
    color: #7d4f49 !important;
}

body.course-item-popup #popup-header .items-progress .number {
    display: block;
    margin-bottom: 0.35rem;
    color: #59655f !important;
    font-size: 0.85rem;
    font-weight: 700;
}

body.course-item-popup #popup-header .learn-press-progress {
    height: 8px !important;
    background: rgba(183, 194, 162, 0.32) !important;
}

body.course-item-popup #popup-header .back-course {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    place-items: center;
    border: 1px solid rgba(189, 134, 127, 0.26) !important;
    border-radius: 9999px !important;
    background: rgba(235, 217, 215, 0.58) !important;
    color: #7d4f49 !important;
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.2s ease;
}

body.course-item-popup #popup-header .back-course i {
    display: none !important;
}

body.course-item-popup #popup-header .back-course::before,
body.course-item-popup #popup-header .back-course::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block !important;
    width: 15px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 9999px;
    background: #7d4f49;
    transform-origin: center;
}

body.course-item-popup #popup-header .back-course::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

body.course-item-popup #popup-header .back-course::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

body.course-item-popup #popup-header .back-course:hover {
    background: rgba(189, 134, 127, 0.22) !important;
    transform: translateY(-1px);
}

body.course-item-popup #popup-sidebar {
    position: absolute !important;
    top: 84px !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 340px !important;
    max-width: 340px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 1rem 0.75rem !important;
    border-right: 1px solid rgba(183, 194, 162, 0.35) !important;
    border-radius: 0 !important;
    background: rgba(249, 247, 244, 0.94) !important;
    box-shadow: none !important;
    z-index: 4;
    scrollbar-color: rgba(189, 134, 127, 0.55) rgba(183, 194, 162, 0.18);
    scrollbar-width: thin;
}

body.course-item-popup #popup-sidebar::before {
    display: none;
}

body.course-item-popup #popup-sidebar .search-course {
    position: relative;
    z-index: 1;
    margin: 0 0 1.15rem !important;
    padding: 0;
    background: transparent;
}

body.course-item-popup #popup-sidebar .search-course input[type="text"] {
    width: 100% !important;
    height: 42px !important;
    padding: 0 3rem 0 1rem !important;
    border: 1px solid rgba(183, 194, 162, 0.45) !important;
    border-radius: 9999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #374151 !important;
    font-size: 0.9rem !important;
    line-height: 42px !important;
    box-shadow: 0 6px 18px rgba(89, 101, 95, 0.06) !important;
}

body.course-item-popup #popup-sidebar .search-course input[type="text"]:focus {
    border-color: rgba(189, 134, 127, 0.72) !important;
    box-shadow: 0 0 0 3px rgba(189, 134, 127, 0.14) !important;
    outline: 0 !important;
}

body.course-item-popup #popup-sidebar .search-course button[name="submit"] {
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    display: grid !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 0 !important;
    place-items: center;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9999px !important;
    background: var(--secondary-color) !important;
    color: #fff !important;
    box-shadow: 0 6px 14px rgba(89, 101, 95, 0.18) !important;
    transform: none !important;
    z-index: 2;
}

body.course-item-popup #popup-sidebar .search-course button[name="submit"] i,
body.course-item-popup #popup-sidebar .search-course button[name="submit"]::before {
    color: #fff !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;
}

body.course-item-popup #popup-sidebar .search-course button[name="submit"] i {
    display: none !important;
}

body.course-item-popup #popup-sidebar .search-course button[name="submit"]::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border: 2px solid #fff;
    border-radius: 9999px;
    box-sizing: border-box;
}

body.course-item-popup #popup-sidebar .search-course button[name="submit"]::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 2px;
    border-radius: 9999px;
    background: #fff;
    transform: translate(6px, 6px) rotate(45deg);
}

body.course-item-popup #popup-sidebar .search-course button[name="submit"]:hover {
    background: var(--primary-color) !important;
}

body.course-item-popup #popup-sidebar .search-course .clear {
    display: none !important;
}

body.course-item-popup #popup-sidebar .otherapy-sidebar-close {
    display: none !important;
}

body.course-item-popup #popup-sidebar .lp-course-curriculum,
body.course-item-popup #popup-sidebar .course-curriculum {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.course-item-popup #popup-sidebar .lp-course-curriculum__title {
    margin: 0 0 0.85rem !important;
    padding: 0 0.2rem;
    color: #111827 !important;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-size: 1.2rem !important;
}

body.course-item-popup #popup-sidebar .course-curriculum-info,
body.course-item-popup #popup-sidebar .course-section__description,
body.course-item-popup #popup-sidebar .section-count-items,
body.course-item-popup #popup-sidebar .course-item__right {
    display: none !important;
}

body.course-item-popup #popup-sidebar .course-section {
    margin: 0 0 0.55rem !important;
    overflow: hidden;
    border: 1px solid rgba(183, 194, 162, 0.35) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.74) !important;
}

body.course-item-popup #popup-sidebar .course-sections {
    counter-reset: otherapy-course-section;
}

body.course-item-popup #popup-sidebar .course-section {
    counter-increment: otherapy-course-section;
}

body.course-item-popup #popup-sidebar .course-section-header {
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    min-height: 48px;
    padding: 0.62rem 0.72rem !important;
    background: rgba(241, 236, 233, 0.94) !important;
    cursor: pointer;
    overflow: hidden;
}

body.course-item-popup #popup-sidebar .course-section-header::before {
    content: counter(otherapy-course-section);
    display: grid;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    place-items: center;
    border: 1px solid rgba(189, 134, 127, 0.34);
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.78);
    color: #7d4f49;
    font-size: 0.78rem;
    font-weight: 800;
}

body.course-item-popup #popup-sidebar .section-toggle {
    display: grid;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    order: 3;
    margin-left: auto;
    place-items: center;
    color: var(--secondary-color);
    font-size: 0.8rem;
}

body.course-item-popup #popup-sidebar .section-toggle i {
    grid-area: 1 / 1;
    line-height: 1;
}

body.course-item-popup #popup-sidebar .course-section-info {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

body.course-item-popup #popup-sidebar .course-section__title,
body.course-item-popup #popup-sidebar .course-item-title {
    color: #374151 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
}

body.course-item-popup #popup-sidebar .course-section__title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-weight: 800;
}

body.course-item-popup #popup-sidebar .course-item {
    padding: 0 !important;
    border-top: 1px solid rgba(183, 194, 162, 0.25) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.course-item-popup #popup-sidebar .course-item__link {
    display: flex !important;
    min-height: 48px;
    align-items: center !important;
    gap: 0.6rem;
    padding: 0.68rem 0.72rem !important;
    color: #374151 !important;
    text-decoration: none !important;
    transition: background 0.18s ease, color 0.18s ease;
    overflow: hidden;
}

body.course-item-popup #popup-sidebar .course-item__content,
body.course-item-popup #popup-sidebar .course-item__left {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

body.course-item-popup #popup-sidebar .course-item-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
}

body.course-item-popup #popup-sidebar .course-item__status {
    flex: 0 0 auto;
    margin-left: auto;
}

body.course-item-popup #popup-sidebar .course-item__info {
    display: grid;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    place-items: center;
    border-radius: 9999px;
    background: rgba(183, 194, 162, 0.18);
    color: var(--secondary-color);
}

body.course-item-popup #popup-sidebar .course-item__info .course-item-ico {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--secondary-color) !important;
    font-size: 0.78rem !important;
    line-height: 1 !important;
}

body.course-item-popup #popup-sidebar .course-item__status .course-item-ico {
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 9999px;
    background: rgba(183, 194, 162, 0.22);
    color: var(--secondary-color);
    font-size: 0.72rem !important;
    line-height: 1 !important;
}

body.course-item-popup #popup-sidebar .course-item__status .course-item-ico.completed,
body.course-item-popup #popup-sidebar .course-item__status .course-item-ico.passed {
    background: rgba(183, 194, 162, 0.85);
    color: #fff;
}

body.course-item-popup #popup-sidebar .course-item__status .course-item-ico.in-progress {
    background: rgba(189, 134, 127, 0.22);
    color: #7d4f49;
}

body.course-item-popup #popup-sidebar .course-item.current .course-item__link,
body.course-item-popup #popup-sidebar .course-item__link:hover {
    background: rgba(183, 194, 162, 0.20) !important;
}

body.course-item-popup #popup-sidebar .course-item.current .course-item__link {
    box-shadow: inset 3px 0 0 var(--secondary-color);
}

body.course-item-popup #popup-sidebar .course-item.current .course-item-title {
    color: #111827 !important;
    font-weight: 800;
}

body.course-item-popup #popup-content {
    position: absolute !important;
    top: 84px !important;
    right: 0 !important;
    bottom: 84px !important;
    left: 340px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 2.25rem !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, rgba(241, 236, 233, 0.95), rgba(255, 255, 255, 0.72)) !important;
    box-shadow: none !important;
}

body.course-item-popup #learn-press-content-item,
body.course-item-popup #popup-content .content-item-scrollable {
    min-height: 100%;
}

body.course-item-popup #popup-content .content-item-wrap,
body.course-item-popup #popup-content .content-item-summary {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.course-item-popup #popup-content .content-item-summary {
    padding: clamp(1.5rem, 3vw, 2.6rem) !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    border-radius: 28px !important;
    background: rgba(255, 255, 255, 0.84) !important;
    box-shadow: 0 8px 32px rgba(189, 134, 127, 0.10) !important;
}

body.course-item-popup #popup-content .lesson-title {
    margin: 0 0 1.5rem !important;
    color: #111827 !important;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-size: clamp(1.85rem, 3.2vw, 3.1rem) !important;
    line-height: 1.08 !important;
}

body.course-item-popup #popup-content .lesson-description {
    color: #374151 !important;
    font-size: 1.05rem;
    line-height: 1.75;
}

body.course-item-popup #popup-content .lesson-description p {
    margin: 0 0 0.85rem !important;
}

body.course-item-popup #popup-content .lesson-description > div:has(iframe),
body.course-item-popup #popup-content .lesson-description p:has(iframe),
body.course-item-popup #popup-content .lesson-description figure:has(iframe) {
    position: relative;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 0 1.75rem !important;
    overflow: hidden;
    border-radius: 24px;
    background: #111827;
    box-shadow: 0 12px 34px rgba(89, 101, 95, 0.18);
}

body.course-item-popup #popup-content iframe,
body.course-item-popup #popup-content video {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
    border-radius: 24px !important;
}

body.course-item-popup #learn-press-item-comments,
body.course-item-popup #popup-content .learn-press-comments {
    display: none !important;
}

body.course-item-popup #popup-content .learn-press-message {
    margin: 1.25rem 0 0 !important;
    padding: 1rem 1.15rem !important;
    border: 1px solid rgba(183, 194, 162, 0.48) !important;
    border-radius: 18px !important;
    background: rgba(183, 194, 162, 0.22) !important;
    color: #3f4b45 !important;
    box-shadow: none !important;
}

body.course-item-popup #popup-content .lp-button.completed,
body.course-item-popup #popup-content .lp-btn-complete-item {
    margin-top: 1rem !important;
    opacity: 1 !important;
}

body.course-item-popup #popup-footer {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 340px !important;
    min-height: 84px !important;
    padding: 0.9rem 2rem !important;
    border-top: 1px solid rgba(183, 194, 162, 0.35) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.90) !important;
    box-shadow: 0 -8px 28px rgba(89, 101, 95, 0.08) !important;
}

body.course-item-popup #popup-footer .course-item-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100%;
    min-width: 0;
}

body.course-item-popup #popup-footer .course-item-nav::before {
    content: "Nast\0119pna lekcja";
    flex: 0 0 auto;
    color: var(--secondary-color);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.course-item-popup #popup-footer .course-item-nav .next,
body.course-item-popup #popup-footer .course-item-nav .prev {
    display: flex !important;
    max-width: min(100%, 620px);
    align-items: center !important;
    gap: 0.85rem !important;
    min-width: 0;
}

body.course-item-popup #popup-footer .course-item-nav__name {
    max-width: 340px;
    overflow: hidden;
    color: #59655f !important;
    font-size: 0.9rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.course-item-popup #popup-footer .course-item-nav a {
    display: inline-flex !important;
    min-width: 136px;
    max-width: 260px;
    min-height: 46px;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.55rem;
    overflow: hidden;
    padding: 0.72rem 1.35rem !important;
    border-radius: 9999px !important;
    line-height: 1.2 !important;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.course-item-popup #popup-footer .course-item-nav a::after {
    content: "→";
    margin-left: 0.5rem;
}

body.course-item-popup.lp-sidebar-toggle__close #popup-content,
body.course-item-popup.lp-sidebar-toggle__close #popup-footer {
    left: 0 !important;
}

body.course-item-popup #popup-footer .course-item-nav a::after {
    content: "\2192";
}

body.course-item-popup #popup-footer .course-item-nav .prev a::before {
    content: "\2190";
    flex: 0 0 auto;
}

body.course-item-popup #popup-footer .course-item-nav .prev a::after {
    content: none !important;
    display: none !important;
}

body.course-item-popup #popup-footer .course-item-nav .next a::after {
    content: "\2192";
    flex: 0 0 auto;
    margin-left: 0;
}

body.course-item-popup.lp-sidebar-toggle__close #popup-sidebar {
    transform: translateX(-100%) !important;
}

body.course-item-popup #popup-course {
    top: 88px !important;
    height: calc(100vh - 88px) !important;
}

body.admin-bar.course-item-popup #popup-course {
    top: 120px !important;
    height: calc(100vh - 120px) !important;
}

@media (max-width: 900px) {
    body.course-item-popup {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        touch-action: pan-y;
        padding-top: 88px;
    }

    body.admin-bar.course-item-popup {
        padding-top: 134px;
    }

    body.course-item-popup #popup-course {
        position: relative !important;
        margin-top: 0 !important;
        height: auto !important;
        min-height: 100vh !important;
        overflow: visible !important;
    }

    body.admin-bar.course-item-popup #popup-course {
        top: 0 !important;
        height: auto !important;
    }

    body.course-item-popup #popup-header,
    body.course-item-popup #popup-sidebar,
    body.course-item-popup #popup-content,
    body.course-item-popup #popup-footer {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.course-item-popup #popup-header {
        height: auto !important;
        min-height: 72px !important;
        padding: 0.85rem 3.75rem !important;
    }

    body.course-item-popup #popup-header .popup-header__inner {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap;
        align-items: center !important;
        gap: 0.65rem !important;
        height: auto !important;
        padding-left: 3.1rem !important;
        padding-right: 0 !important;
    }

    body.course-item-popup #popup-header .course-title {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        text-align: left;
        font-size: 1rem !important;
    }

    body.course-item-popup #popup-header .course-title a {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.course-item-popup #popup-header .items-progress {
        width: auto;
        min-width: 0;
        flex: 0 1 38%;
        max-width: 38%;
    }

    body.course-item-popup #popup-header .otherapy-lesson-quick-nav {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-left: 0;
    }

    body.course-item-popup #popup-header .otherapy-lesson-quick-nav a {
        min-height: 32px;
        padding: 0.42rem 0.72rem;
        font-size: 0.78rem;
    }

    body.course-item-popup #sidebar-toggle {
        top: 16px !important;
        left: 12px !important;
        width: 42px !important;
        height: 42px !important;
    }

    body.course-item-popup #sidebar-toggle::before {
        line-height: 1 !important;
        transform: translateY(-1px);
    }

    body.course-item-popup #popup-sidebar {
        display: block !important;
        max-height: 42vh;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(183, 194, 162, 0.35) !important;
    }

    body.course-item-popup.lp-sidebar-toggle__close #popup-sidebar {
        display: none !important;
        transform: none !important;
    }

    body.course-item-popup #popup-content {
        padding: 1rem !important;
    }

    body.course-item-popup #popup-content .content-item-summary {
        padding: 1.25rem !important;
        border-radius: 22px !important;
    }

    body.course-item-popup #popup-footer {
        display: block !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        clear: both;
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        margin: 0 !important;
        padding: 1rem !important;
        border-top: 1px solid rgba(183, 194, 162, 0.35) !important;
    }

    body.course-item-popup #popup-footer .course-item-nav {
        display: flex !important;
        width: 100%;
        flex-direction: row !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        gap: 0.65rem;
    }

    body.course-item-popup #popup-footer .course-item-nav::before {
        display: none !important;
        content: none !important;
    }

    body.course-item-popup #popup-footer .course-item-nav .next,
    body.course-item-popup #popup-footer .course-item-nav .prev {
        display: flex !important;
        width: calc(50% - 0.325rem);
        max-width: calc(50% - 0.325rem);
        flex: 1 1 0;
        flex-direction: column;
        align-items: stretch !important;
        min-width: 0;
    }

    body.course-item-popup #popup-footer .course-item-nav .next:only-child,
    body.course-item-popup #popup-footer .course-item-nav .prev:only-child,
    body.course-item-popup #popup-footer .course-item-nav:not(:has(.prev)) .next,
    body.course-item-popup #popup-footer .course-item-nav:not(:has(.next)) .prev {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    body.course-item-popup #popup-footer .course-item-nav a {
        width: 100%;
        max-width: 100%;
        min-width: 0 !important;
        min-height: 48px !important;
        padding: 0.72rem 0.72rem !important;
        justify-content: center !important;
        gap: 0.45rem !important;
        font-size: 0.82rem !important;
        line-height: 1.2 !important;
        white-space: normal;
    }

    body.course-item-popup #popup-footer .course-item-nav__name {
        max-width: 100%;
        text-align: center;
        font-size: 0.78rem !important;
        line-height: 1.25 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media (max-width: 420px) {
    body.course-item-popup #popup-header .items-progress {
        display: none !important;
    }

    body.course-item-popup #popup-header .course-title {
        max-width: 100%;
    }
}

@media (max-width: 900px) {
    body.course-item-popup #popup-course {
        display: flex !important;
        flex-direction: column !important;
        isolation: isolate;
        z-index: 10020 !important;
    }

    body.course-item-popup #popup-header {
        order: 1;
        display: block !important;
        flex: 0 0 auto !important;
    }

    body.course-item-popup #popup-header .popup-header__inner {
        display: flex !important;
        width: 100% !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
    }

    body.course-item-popup #popup-header .course-title {
        display: block !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    body.course-item-popup #popup-sidebar {
        order: 2;
        flex: 0 0 auto !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar {
        position: fixed !important;
        top: 128px !important;
        right: 0.95rem !important;
        bottom: 0.85rem !important;
        left: 0.95rem !important;
        z-index: 10050 !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        padding: 1rem !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
        border: 1px solid rgba(183, 194, 162, 0.38) !important;
        border-radius: 20px !important;
        background: rgba(249, 247, 244, 0.98) !important;
        box-shadow: 0 22px 60px rgba(31, 41, 55, 0.24) !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    html.otherapy-lesson-menu-open {
        overflow: hidden !important;
        overscroll-behavior: none;
    }

    body.course-item-popup.otherapy-lesson-menu-open {
        position: fixed !important;
        top: var(--otherapy-lesson-scroll-offset, 0) !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        overflow: hidden !important;
        overscroll-behavior: none;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar,
    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar * {
        box-sizing: border-box !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .otherapy-sidebar-close {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        display: grid !important;
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
        min-height: 0 !important;
        place-items: center;
        padding: 0 !important;
        border: 1px solid rgba(183, 194, 162, 0.5) !important;
        border-radius: 9999px !important;
        background: #fff !important;
        color: var(--secondary-color) !important;
        font-size: 1.55rem !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        box-shadow: 0 8px 18px rgba(31, 41, 55, 0.12) !important;
        cursor: pointer;
        z-index: 2;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .otherapy-sidebar-close:hover,
    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .otherapy-sidebar-close:focus-visible {
        border-color: rgba(189, 134, 127, 0.5) !important;
        background: rgba(235, 217, 215, 0.72) !important;
        color: #7d4f49 !important;
        outline: 0;
    }

    body.admin-bar.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar {
        top: 174px !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .search-course {
        position: relative !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 0.65rem !important;
        min-height: 44px !important;
        margin: 0 0 0.15rem !important;
        padding: 0 0 0.1rem !important;
        border-bottom: 1px solid rgba(183, 194, 162, 0.22) !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .search-course button[name="submit"] {
        top: 5px !important;
        transform: none !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .search-course input[type="text"] {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        height: 44px !important;
        line-height: 44px !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .course-item__link {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 54px;
        padding: 0.82rem 0.78rem !important;
        font-size: 0.95rem !important;
        line-height: 1.35 !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .course-item__link > *,
    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .course-section-header > * {
        min-width: 0 !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .course-curriculum,
    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .curriculum-sections {
        position: relative !important;
        top: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        overflow: hidden !important;
        transform: none !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .lp-course-curriculum,
    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .course-sections {
        position: relative !important;
        top: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        transform: none !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .lp-course-curriculum > .course-curriculum {
        position: relative !important;
        top: 0 !important;
        transform: none !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .lp-course-curriculum__title,
    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar #lp-course-curriculum__title {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        line-height: 0 !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .course-section:first-child {
        margin-top: 0 !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .course-curriculum-info {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar ul.course-sections {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .lp-course-curriculum > .course-curriculum {
        margin: 0 !important;
        padding: 0 !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar .section-header {
        padding: 0.9rem 0.78rem !important;
    }

    body.course-item-popup #popup-content {
        order: 3;
        flex: 1 1 auto !important;
    }

    body.course-item-popup #popup-footer {
        order: 4;
        display: block !important;
        flex: 0 0 auto !important;
        align-self: stretch !important;
        transform: none !important;
    }
}

@media (max-width: 768px) {
    .otherapy-lp-content,
    .otherapy-lp-lesson-content {
        padding: 1.25rem !important;
    }

    .otherapy-lp-content .course-summary,
    .otherapy-lp-content .course-summary-sidebar {
        padding: 1rem !important;
    }

    .otherapy-lp-content button,
    .otherapy-lp-content .button,
    .otherapy-lp-content .lp-button {
        width: 100%;
        text-align: center;
    }
}

/* Lesson-first player: keep the current video in view instead of repeating site navigation. */
body.course-item-popup .otherapy-shared-nav {
    display: none !important;
}

body.course-item-popup #popup-course,
body.admin-bar.course-item-popup #popup-course {
    top: 0 !important;
    height: 100dvh !important;
}

body.admin-bar.course-item-popup #popup-course {
    top: 32px !important;
    height: calc(100dvh - 32px) !important;
}

body.course-item-popup #popup-header {
    height: 64px !important;
    min-height: 64px !important;
    padding-right: 4.25rem !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(183, 194, 162, 0.35) !important;
}

body.course-item-popup #sidebar-toggle,
body.course-item-popup #popup-header .back-course {
    top: 12px !important;
}

body.course-item-popup #popup-header .popup-header__inner {
    padding-left: 3rem !important;
}

body.course-item-popup #popup-header .course-title {
    font-size: 1.1rem !important;
}

body.course-item-popup #popup-header .items-progress {
    flex-basis: 190px;
    min-width: 190px;
}

body.course-item-popup #popup-sidebar {
    top: 64px !important;
    width: 272px !important;
    max-width: 272px !important;
    padding: 0.85rem 0.65rem !important;
}

body.course-item-popup #popup-content {
    top: 64px !important;
    bottom: 64px !important;
    left: 272px !important;
    padding: clamp(0.75rem, 1.5vw, 1.5rem) !important;
    background: #f7f4f1 !important;
}

body.course-item-popup #popup-content .content-item-wrap,
body.course-item-popup #popup-content .content-item-summary {
    width: 100% !important;
    max-width: 1440px !important;
}

body.course-item-popup #popup-content .content-item-summary {
    padding: clamp(1rem, 2vw, 2rem) !important;
    border-radius: 18px !important;
    background: #fff !important;
}

body.course-item-popup #popup-content .lesson-title {
    margin-bottom: 0.8rem !important;
    font-size: clamp(1.65rem, 2.5vw, 2.55rem) !important;
    line-height: 1.18 !important;
}

body.course-item-popup #popup-content .otherapy-lesson-media {
    display: grid;
    gap: 1rem;
    width: 100%;
    margin: 0 0 1.25rem;
}

body.course-item-popup #popup-content .otherapy-lesson-media > * {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

body.course-item-popup #popup-content .otherapy-lesson-media > :has(iframe):not(:has(figcaption)) {
    aspect-ratio: 16 / 9;
    height: auto !important;
    overflow: hidden;
    border-radius: 14px;
    background: #111827;
}

body.course-item-popup #popup-content .otherapy-lesson-media iframe,
body.course-item-popup #popup-content .otherapy-lesson-media video {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    border: 0 !important;
    border-radius: 14px !important;
}

body.course-item-popup #popup-content .lesson-description > div:has(iframe),
body.course-item-popup #popup-content .lesson-description p:has(iframe),
body.course-item-popup #popup-content .lesson-description figure:has(iframe),
body.course-item-popup #popup-content .lesson-description > div:has(video),
body.course-item-popup #popup-content .lesson-description p:has(video),
body.course-item-popup #popup-content .lesson-description figure:has(video) {
    aspect-ratio: 16 / 9;
    height: auto !important;
    margin-bottom: 1.2rem !important;
    border-radius: 14px;
}

body.course-item-popup #popup-content .lesson-description iframe,
body.course-item-popup #popup-content .lesson-description video {
    aspect-ratio: 16 / 9;
    height: auto !important;
    border-radius: 14px !important;
}

body.course-item-popup #popup-footer {
    left: 272px !important;
    min-height: 64px !important;
    padding: 0.5rem 1.5rem !important;
}

body.course-item-popup.lp-sidebar-toggle__close #popup-content,
body.course-item-popup.lp-sidebar-toggle__close #popup-footer {
    left: 0 !important;
}

@media (max-width: 900px) {
    body.course-item-popup,
    body.admin-bar.course-item-popup {
        padding-top: 0 !important;
        overflow: auto !important;
    }

    body.course-item-popup #popup-course,
    body.admin-bar.course-item-popup #popup-course {
        position: relative !important;
        top: 0 !important;
        height: auto !important;
        min-height: 100dvh !important;
    }

    body.course-item-popup #popup-header {
        padding: 0.65rem 3.5rem !important;
    }

    body.course-item-popup #popup-header .popup-header__inner {
        padding-left: 0.4rem !important;
        flex-wrap: wrap !important;
    }

    body.course-item-popup #popup-header .items-progress {
        display: none !important;
    }

    body.course-item-popup #popup-header .otherapy-lesson-quick-nav {
        display: none !important;
    }

    body.course-item-popup #popup-sidebar {
        width: 100% !important;
        max-width: none !important;
    }

    body.course-item-popup #popup-content {
        padding: 0.75rem !important;
    }

    body.course-item-popup #popup-content .content-item-summary {
        padding: 1rem !important;
        border-radius: 16px !important;
    }

    body.course-item-popup #popup-content .lesson-title {
        margin-bottom: 0.75rem !important;
        font-size: clamp(1.55rem, 6vw, 2rem) !important;
    }

    body.course-item-popup #popup-content .otherapy-lesson-media {
        margin-bottom: 1rem;
    }

    body.course-item-popup #popup-footer {
        padding: 0.75rem !important;
    }

    body.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar {
        top: 72px !important;
    }

    body.admin-bar.course-item-popup:not(.lp-sidebar-toggle__close) #popup-sidebar {
        top: 118px !important;
    }
}

@media (max-width: 600px) {
    body.course-item-popup #popup-header .course-title a {
        font-size: 0.95rem !important;
    }

    body.course-item-popup #popup-content .lesson-description > div:has(iframe),
    body.course-item-popup #popup-content .lesson-description p:has(iframe),
    body.course-item-popup #popup-content .lesson-description figure:has(iframe),
    body.course-item-popup #popup-content .lesson-description > div:has(video),
    body.course-item-popup #popup-content .lesson-description p:has(video),
    body.course-item-popup #popup-content .lesson-description figure:has(video) {
        margin-right: -1rem !important;
        margin-left: -1rem !important;
        width: calc(100% + 2rem);
        max-width: none;
        border-radius: 0;
    }

    body.course-item-popup #popup-content .lesson-description iframe,
    body.course-item-popup #popup-content .lesson-description video {
        border-radius: 0 !important;
    }

    body.course-item-popup #popup-content .otherapy-lesson-media {
        width: calc(100% + 2rem);
        margin-left: -1rem;
    }

    body.course-item-popup #popup-content .otherapy-lesson-media > :has(iframe),
    body.course-item-popup #popup-content .otherapy-lesson-media iframe,
    body.course-item-popup #popup-content .otherapy-lesson-media video {
        border-radius: 0 !important;
    }
}

/* Lesson navigation follows the recording in the scrollable lesson content. */
body.course-item-popup.otherapy-lesson-nav-inline #popup-content {
    bottom: 0 !important;
}

body.course-item-popup.otherapy-lesson-nav-inline #popup-footer.otherapy-lesson-footer {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 1.1rem 0 1.5rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.course-item-popup.otherapy-lesson-nav-inline #popup-footer .course-item-nav {
    justify-content: space-between !important;
    gap: 0.75rem;
}

body.course-item-popup.otherapy-lesson-nav-inline #popup-footer .course-item-nav::before {
    display: none !important;
    content: none !important;
}

body.course-item-popup.otherapy-lesson-nav-inline #popup-footer .course-item-nav__name {
    display: none !important;
}

@media (max-width: 900px) {
    body.course-item-popup.otherapy-lesson-nav-inline #popup-content {
        bottom: auto !important;
    }
}

/* A quiet lesson header: one menu action, course context, progress, and exit. */
html:has(body.course-item-popup) {
    margin-top: 0 !important;
}

body.course-item-popup #wpadminbar,
body.course-item-popup #popup-header .otherapy-lesson-quick-nav {
    display: none !important;
}

body.admin-bar.course-item-popup #popup-course {
    top: 0 !important;
    height: 100dvh !important;
}

body.course-item-popup #popup-header {
    padding-right: 6.5rem !important;
}

body.course-item-popup #sidebar-toggle {
    left: 14px !important;
    width: 92px !important;
    min-width: 92px !important;
    border-radius: 9999px !important;
}

body.course-item-popup #sidebar-toggle::before {
    content: "\00d7\00a0 Lekcje";
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 700;
}

body.course-item-popup #sidebar-toggle:checked::before {
    content: "\2630\00a0 Lekcje";
    font-size: 0.82rem !important;
}

body.course-item-popup #popup-header .popup-header__inner {
    padding-left: 6.25rem !important;
}

body.course-item-popup #popup-header .back-course {
    display: inline-flex !important;
    width: auto !important;
    min-width: 76px !important;
    height: 40px !important;
    padding: 0 0.95rem !important;
    border-radius: 9999px !important;
    font-size: 0 !important;
}

body.course-item-popup #popup-header .back-course::before {
    content: "Wyjd\017a";
    position: static;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    background: transparent;
    color: #7d4f49;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
    transform: none;
}

body.course-item-popup #popup-header .back-course::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 600px) {
    body.course-item-popup #popup-header {
        padding-right: 3.6rem !important;
        padding-left: 3.6rem !important;
    }

    body.course-item-popup #sidebar-toggle {
        left: 10px !important;
        width: 42px !important;
        min-width: 42px !important;
    }

    body.course-item-popup #sidebar-toggle::before {
        content: "\00d7";
        font-size: 1.35rem !important;
    }

    body.course-item-popup #sidebar-toggle:checked::before {
        content: "\2630";
        font-size: 1rem !important;
    }

    body.course-item-popup #popup-header .popup-header__inner {
        padding-left: 0 !important;
    }

    body.course-item-popup #popup-header .back-course {
        right: 10px !important;
        width: 42px !important;
        min-width: 42px !important;
        padding: 0 !important;
    }

    body.course-item-popup #popup-header .back-course::before,
    body.course-item-popup #popup-header .back-course::after {
        content: "" !important;
        position: absolute;
        top: 50%;
        left: 50%;
        display: block !important;
        width: 14px !important;
        height: 2px !important;
        border-radius: 9999px;
        background: #7d4f49;
    }

    body.course-item-popup #popup-header .back-course::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    body.course-item-popup #popup-header .back-course::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
}

/* Smooth Scroll */
html {
    scroll-behavior: smooth;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: var(--accent-color);
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--primary-color), var(--secondary-color));
    border-radius: 10px;
    border: 2px solid var(--accent-color);
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--secondary-color), var(--sage-color));
}

/* Glassmorphism Navigation */
.glass-nav {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

#navbar .hidden.md\:flex {
    align-items: center;
    gap: clamp(0.85rem, 1.35vw, 2rem);
}

#navbar .hidden.md\:flex > :not([hidden]) ~ :not([hidden]) {
    margin-left: 0 !important;
}

#navbar .nav-link {
    white-space: nowrap;
}

@media (min-width: 768px) and (max-width: 1260px) {
    #navbar .nav-link {
        font-size: 0.92rem;
    }

    #navbar a.bg-secondary {
        padding-left: 1.35rem !important;
        padding-right: 1.35rem !important;
    }
}

/* Logo Styling */
.logo-container {
    transition: all 0.3s ease;
}

.logo-container img {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    filter: drop-shadow(0 2px 8px rgba(189, 134, 127, 0.2));
}

.logo-container:hover img {
    transform: scale(1.05);
    filter: drop-shadow(0 4px 12px rgba(189, 134, 127, 0.3));
}

/* Footer Logo */
.footer-logo {
    filter: brightness(0) invert(1) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
    transition: all 0.3s ease;
}

.footer-logo:hover {
    transform: scale(1.05);
    filter: brightness(0) invert(1) drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

/* Glass Card Effect */
.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 8px 32px 0 rgba(189, 134, 127, 0.15);
}

/* Glass Button */
.glass-btn {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 2px solid rgba(154, 140, 152, 0.3);
    color: var(--secondary-color);
    font-weight: 600;
}

.glass-btn:hover {
    background: rgba(255, 255, 255, 0.8);
    border-color: var(--secondary-color);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(89, 101, 95, 0.2);
}

/* Aesthetic Button */
.aesthetic-btn {
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(89, 101, 95, 0.3);
}

.aesthetic-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.aesthetic-btn:hover::before {
    width: 400px;
    height: 400px;
}

.aesthetic-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(89, 101, 95, 0.4);
}

/* Soft Shadow */
.shadow-soft {
    box-shadow: 0 4px 20px rgba(189, 134, 127, 0.2);
}

.shadow-aesthetic {
    box-shadow: 0 10px 40px rgba(189, 134, 127, 0.25),
                0 5px 15px rgba(89, 101, 95, 0.15);
}

/* Pricing Card */
.pricing-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(241, 236, 233, 0.6));
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 8px 32px rgba(189, 134, 127, 0.2);
}

.otherapy-dynamic-price__current .woocommerce-Price-amount,
.otherapy-dynamic-price__current .woocommerce-Price-currencySymbol {
    color: var(--secondary-color);
    font: inherit;
}

.otherapy-dynamic-price__regular .woocommerce-Price-amount,
.otherapy-dynamic-price__regular .woocommerce-Price-currencySymbol {
    color: inherit;
    font: inherit;
}

.otherapy-dynamic-price__badge .woocommerce-Price-amount,
.otherapy-dynamic-price__badge .woocommerce-Price-currencySymbol {
    color: inherit;
    font: inherit;
}

.otherapy-lowest-price-30 {
    line-height: 1.55;
}

.otherapy-lowest-price-30 strong {
    color: #374151;
    font-weight: 800;
}

.otherapy-lowest-price-30 .woocommerce-Price-amount,
.otherapy-lowest-price-30 .woocommerce-Price-currencySymbol {
    color: inherit;
    font: inherit;
}

/* Navigation Link Hover Effect */
.nav-link {
    position: relative;
    transition: all var(--transition-speed) ease;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-color), var(--sage-color));
    transition: width var(--transition-speed) ease;
}

.nav-link:hover::after {
    width: 100%;
}

/* Floating Animation */
@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

.floating {
    animation: float 6s ease-in-out infinite;
}

/* Gradient Text Animation */
@keyframes gradient-shift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

.bg-gradient-to-r {
    background-size: 200% 200%;
    animation: gradient-shift 3s ease infinite;
}

/* Smooth Fade In Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeInUp 0.8s ease-out;
}

/* Card Hover Effect */
.glass-card {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-card:hover {
    box-shadow: 0 12px 48px rgba(189, 134, 127, 0.25);
}

body.page-template-page-course .glass-card {
    opacity: 1 !important;
}

body.page-template-page-course .glass-card:not(:hover),
body.page-template-page-course .fade-in {
    animation: none !important;
    transform: none !important;
}

body.page-template-page-course .glass-card {
    transition: box-shadow 0.25s ease, background-color 0.25s ease, border-color 0.25s ease !important;
}

/* Icon Circle Animations */
.group:hover .group-hover\:scale-110 {
    transform: scale(1.1) rotate(5deg);
}

/* Testimonial Card Enhancement */
#opinie .glass-card {
    transition: all 0.4s ease;
    will-change: transform;
}

#opinie .glass-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 50px rgba(189, 134, 127, 0.3);
}

/* Ensure sliders are visible */
#opinie {
    opacity: 1 !important;
    visibility: visible !important;
}

#testimonials-slider,
#beforeafter-slider {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Don't interfere with Splide's internal styling */
#testimonials-slider .glass-card,
#beforeafter-slider .glass-card {
    transform: none !important;
}

/* Basic Splide visibility */
.splide {
    position: relative;
    visibility: visible !important;
    opacity: 1 !important;
}

.splide__track {
    overflow: hidden;
    position: relative;
}

.splide__list {
    display: flex;
    margin: 0;
    padding: 0;
}

.splide__slide {
    flex-shrink: 0;
    list-style-type: none;
    position: relative;
}

/* Splide arrows styling */
.splide__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    background: rgba(189, 134, 127, 0.9) !important;
    border: none;
    opacity: 1 !important;
    width: 3em;
    height: 3em;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.splide__arrow--prev {
    left: 1em;
}

.splide__arrow--next {
    right: 1em;
}

.splide__arrow:hover {
    background: rgba(189, 134, 127, 1) !important;
}

.splide__arrow:disabled {
    opacity: 0.3 !important;
}

.splide__arrow svg {
    fill: white !important;
    width: 1.2em;
    height: 1.2em;
}

.splide__arrow i {
    color: white;
    font-size: 1.2em;
}

/* Splide pagination */
.splide__pagination {
    position: absolute;
    bottom: 0.5em;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
    list-style-type: none;
    z-index: 1;
}

.splide__pagination__page {
    background: rgba(189, 134, 127, 0.3) !important;
    border: none;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    margin: 3px;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s;
}

.splide__pagination__page.is-active {
    background: rgba(189, 134, 127, 1) !important;
    transform: scale(1.3);
}

/* Force slider sections to be visible */
section:has(#beforeafter-slider),
section:has(#testimonials-slider) {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Don't apply aggressive styles to all children - let Splide handle it */
#beforeafter-slider,
#testimonials-slider {
    display: block !important;
}

/* Only ensure images in sliders load properly */
#beforeafter-slider img,
#testimonials-slider img {
    max-width: 100%;
    height: auto;
}

/* Product Card Image Effect */
.overflow-hidden img {
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    filter: saturate(0.9);
}

.group:hover .overflow-hidden img {
    transform: scale(1.15) rotate(2deg);
    filter: saturate(1.1);
}

/* Decorative Blur Backgrounds */
.blur-3xl {
    filter: blur(100px);
    opacity: 0.6;
}

/* Backdrop Effects */
.backdrop-blur-sm {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Star Rating Animation */
.fa-star {
    display: inline-block;
    transition: all 0.3s ease;
}

.fa-star:hover {
    transform: scale(1.3) rotate(15deg);
    filter: brightness(1.2);
}

/* Smooth Button Transitions */
a, button {
    transition: all var(--transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
}

/* Footer Link Hover */
footer a {
    position: relative;
    transition: all 0.3s ease;
}

footer a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.3s ease;
}

footer a:hover::after {
    width: 100%;
}

/* Social Icons */
footer .fab {
    transition: all 0.3s ease;
}

footer a:hover .fab {
    transform: translateY(-3px) scale(1.1);
}

/* Footer Social Button - Light Mode */
.footer-social-btn {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.footer-social-btn:hover {
    box-shadow: 0 4px 16px rgba(189, 134, 127, 0.4);
}

/* Footer Text Improvements - Light Mode */
footer h4 {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

footer .text-gray-300,
footer .text-gray-200 {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Mobile Menu Animation */
#mobile-menu {
    animation: slideDown 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Badge Styles */
span[class*="rounded-full"] {
    transition: all 0.3s ease;
}

span[class*="rounded-full"]:hover {
    transform: scale(1.05);
}

/* Image Loading Effect */
img {
    max-width: 100%;
    height: auto;
    display: block;
    transition: opacity 0.3s ease;
}

img:not([src]) {
    opacity: 0;
}

/* Focus States for Accessibility */
a:focus-visible,
button:focus-visible {
    outline: 3px solid var(--sage-color);
    outline-offset: 3px;
    border-radius: 4px;
}

/* Selection Colors */
::selection {
    background-color: var(--primary-color);
    color: white;
}

::-moz-selection {
    background-color: var(--primary-color);
    color: white;
}

/* Aesthetic Spacing */
.container {
    max-width: 1280px;
}

/* Typography Enhancements */
h1, h2, h3, h4, h5, h6 {
    letter-spacing: -0.02em;
}

.hero-title {
    line-height: 1.14 !important;
    overflow: visible;
    padding-bottom: 0.08em;
}

.hero-gradient-line {
    line-height: 1.16 !important;
    padding-bottom: 0.12em;
    margin-bottom: -0.08em;
}

p {
    line-height: 1.7;
}

/* Smooth Scroll Padding for Fixed Nav */
section {
    scroll-margin-top: 100px;
}

/* Shimmer Effect for Loading */
@keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }
    100% {
        background-position: 1000px 0;
    }
}

.shimmer {
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.5) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    background-size: 1000px 100%;
    animation: shimmer 2s infinite;
}

/* Elevated Card State */
.elevated {
    transform: translateY(-5px);
    box-shadow: 0 15px 50px rgba(89, 101, 95, 0.3);
}

/* Soft Border Radius */
.rounded-3xl {
    border-radius: 24px;
}

/* Print Styles */
@media print {
    .glass-nav,
    #mobile-menu-button,
    footer {
        display: none;
    }

    section {
        page-break-inside: avoid;
    }

    .glass-card {
        background: white;
        border: 1px solid #ccc;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    .glass-card,
    .glass-nav {
        background: white !important;
        border: 2px solid black;
        backdrop-filter: none;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}


/* Responsive Adjustments */
@media (max-width: 768px) {
    .blur-3xl {
        display: none; /* Hide decorative blurs on mobile for performance */
    }

    h1 {
        font-size: 2.5rem;
    }

    .glass-card {
        padding: 1.5rem;
    }

    .logo-container img {
        height: 2.5rem; /* Smaller logo on mobile */
    }
}

/* Tablet Adjustments */
@media (min-width: 768px) and (max-width: 1024px) {
    .container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* Large Screen Optimizations */
@media (min-width: 1536px) {
    .container {
        max-width: 1400px;
    }

    h1 {
        font-size: 5rem;
    }
}

/* ==========================================
   TABLE OF CONTENTS MODAL
   ========================================== */

/* TOC Trigger Button */
.toc-trigger-card {
    position: relative;
    animation: pulseGlow 2s ease-in-out infinite;
}

@keyframes pulseGlow {
    0%, 100% {
        box-shadow: 0 4px 20px rgba(189, 134, 127, 0.2);
    }
    50% {
        box-shadow: 0 8px 30px rgba(189, 134, 127, 0.4), 0 0 0 4px rgba(189, 134, 127, 0.1);
    }
}

.toc-trigger-card:hover {
    animation: none;
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(189, 134, 127, 0.5) !important;
}

.toc-trigger-card::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 1rem;
    background: linear-gradient(45deg, #BD867F, #EBD9D7, #BD867F);
    background-size: 300% 300%;
    animation: gradientRotate 3s ease infinite;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.toc-trigger-card:hover::before {
    opacity: 0.3;
}

@keyframes gradientRotate {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

.toc-trigger-card .fa-book-open {
    animation: bookFlip 3s ease-in-out infinite;
}

@keyframes bookFlip {
    0%, 100% {
        transform: rotateY(0deg);
    }
    50% {
        transform: rotateY(180deg);
    }
}

.toc-trigger-card:hover .fa-book-open {
    animation: none;
}

/* TOC Badge */
.toc-trigger-card .animate-bounce {
    animation: gentleBounce 2s ease-in-out infinite;
}

@keyframes gentleBounce {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-5px) scale(1.05);
    }
}

.toc-trigger-card:hover .animate-bounce {
    animation: spinAndGrow 0.6s ease-out forwards;
}

@keyframes spinAndGrow {
    0% {
        transform: rotate(0deg) scale(1);
    }
    50% {
        transform: rotate(180deg) scale(1.2);
    }
    100% {
        transform: rotate(360deg) scale(1.1);
    }
}

/* Modal Backdrop */
#toc-modal {
    display: none !important;
    animation: fadeIn 0.3s ease-out;
    transition: opacity 0.3s ease;
    background-color: rgba(0, 0, 0, 0.7) !important;
}

#toc-modal.is-open {
    display: flex !important;
}

#toc-modal.hidden {
    display: none !important;
    opacity: 0;
    pointer-events: none;
}

/* Modal Container */
#toc-modal > div {
    animation: slideUpIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(30px) !important;
    border: 2px solid rgba(189, 134, 127, 0.3);
}

/* Enhanced text contrast in modal */
#toc-modal h3,
#toc-modal h4,
#toc-modal h5 {
    color: #2d3748 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

#toc-modal p,
#toc-modal li,
#toc-modal span {
    color: #4a5568 !important;
}

#toc-modal .text-gray-600 {
    color: #4a5568 !important;
}

#toc-modal .text-gray-700 {
    color: #2d3748 !important;
}

#toc-modal .text-gray-900 {
    color: #1a202c !important;
}

/* Shimmer Effect on Modal */
#toc-modal > div::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(189, 134, 127, 0.2) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    animation: shimmerSlide 3s ease-in-out 0.5s;
    pointer-events: none;
}

@keyframes shimmerSlide {
    0% {
        left: -100%;
    }
    100% {
        left: 200%;
    }
}

/* Custom scrollbar for modal */
#toc-modal > div::-webkit-scrollbar {
    width: 8px;
}

#toc-modal > div::-webkit-scrollbar-track {
    background: rgba(241, 236, 233, 0.3);
    border-radius: 10px;
}

#toc-modal > div::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--primary-color), var(--sage-color));
    border-radius: 10px;
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideUpIn {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* TOC Chapter Cards */
#toc-modal .group {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

#toc-modal .group:hover {
    transform: translateX(8px);
    box-shadow: 0 8px 24px rgba(189, 134, 127, 0.15);
}

/* TOC List Items */
#toc-modal ul li {
    transition: all 0.3s ease;
}

#toc-modal ul li:hover {
    transform: translateX(5px);
}

#toc-modal ul li i {
    transition: all 0.3s ease;
}

#toc-modal ul li:hover i {
    transform: translateX(3px) scale(1.2);
}

/* Chapter Number Badges */
#toc-modal .rounded-full {
    transition: all 0.3s ease;
}

#toc-modal .group:hover .rounded-full:not(button) {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Icon Circles */
#toc-modal .absolute.rounded-full {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#toc-modal .group:hover .absolute.rounded-full {
    animation: pulse-icon 1s ease-in-out infinite;
}

@keyframes pulse-icon {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.15);
    }
}

/* Close Button */
#toc-modal button {
    transition: all 0.3s ease;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

#toc-modal button:hover {
    background: rgba(189, 134, 127, 0.1);
    transform: rotate(90deg) scale(1.1);
}

/* Benefits Bar Animation */
#toc-modal .grid > div {
    animation: scaleIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) backwards;
    position: relative;
    overflow: hidden;
}

#toc-modal .grid > div::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

#toc-modal .grid > div:hover::before {
    opacity: 1;
    animation: rotate 3s linear infinite;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

#toc-modal .grid > div:nth-child(1) {
    animation-delay: 0.1s;
}

#toc-modal .grid > div:nth-child(2) {
    animation-delay: 0.2s;
}

#toc-modal .grid > div:nth-child(3) {
    animation-delay: 0.3s;
}

#toc-modal .grid > div:hover {
    transform: scale(1.05) translateY(-2px);
}

#toc-modal .grid > div .font-bold {
    transition: all 0.3s ease;
}

#toc-modal .grid > div:hover .font-bold {
    transform: scale(1.1);
    text-shadow: 0 2px 8px currentColor;
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Chapter Cards Stagger Animation */
#toc-modal .space-y-5 > div {
    animation: slideInLeft 0.6s cubic-bezier(0.4, 0, 0.2, 1) backwards;
}

#toc-modal .space-y-5 > div:nth-child(1) {
    animation-delay: 0.15s;
}

#toc-modal .space-y-5 > div:nth-child(2) {
    animation-delay: 0.25s;
}

#toc-modal .space-y-5 > div:nth-child(3) {
    animation-delay: 0.35s;
}

#toc-modal .space-y-5 > div:nth-child(4) {
    animation-delay: 0.45s;
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Bonus Section Glow Effect */
#toc-modal .border-amber-200 {
    position: relative;
    animation: fadeIn 0.6s ease 0.6s backwards;
}

#toc-modal .border-amber-200::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 1rem;
    background: linear-gradient(45deg, #fbbf24, #f59e0b, #fbbf24);
    background-size: 300% 300%;
    animation: gradientShift 3s ease infinite;
    z-index: -1;
    opacity: 0.5;
}

@keyframes gradientShift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

/* Crown Icon Bounce */
#toc-modal .fa-crown {
    animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

/* Enhanced Button Hover */
#toc-modal .aesthetic-btn {
    position: relative;
    overflow: hidden;
}

#toc-modal .aesthetic-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

#toc-modal .aesthetic-btn:hover::after {
    width: 300px;
    height: 300px;
}

/* Sparkle effect on button hover */
#toc-modal .aesthetic-btn:hover {
    animation: sparkleGlow 1.5s ease-in-out infinite;
}

@keyframes sparkleGlow {
    0%, 100% {
        box-shadow: 0 0 20px rgba(189, 134, 127, 0.4),
                    0 0 40px rgba(189, 134, 127, 0.2);
    }
    50% {
        box-shadow: 0 0 30px rgba(189, 134, 127, 0.6),
                    0 0 60px rgba(189, 134, 127, 0.3),
                    0 0 80px rgba(189, 134, 127, 0.1);
    }
}

/* Chapter card spotlight effect */
#toc-modal .group::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.3) 50%,
        transparent 100%
    );
    transition: left 0.6s ease;
    pointer-events: none;
}

#toc-modal .group:hover::after {
    left: 100%;
}

/* Strong Text Highlight */
#toc-modal strong {
    position: relative;
    display: inline-block;
}

#toc-modal li:hover strong {
    text-shadow: 0 0 10px currentColor;
}

/* Value Proposition Animation */
#toc-modal .border-primary\/20 {
    animation: fadeIn 0.6s ease 0.4s backwards;
}

#toc-modal .border-primary\/20 .fa-check-circle {
    animation: popIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) backwards;
}

#toc-modal .border-primary\/20 .fa-check-circle:nth-child(1) {
    animation-delay: 0.5s;
}

#toc-modal .border-primary\/20 > div > div:nth-child(2) .fa-check-circle {
    animation-delay: 0.6s;
}

#toc-modal .border-primary\/20 > div > div:nth-child(3) .fa-check-circle {
    animation-delay: 0.7s;
}

@keyframes popIn {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    50% {
        transform: scale(1.2);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Responsive Modal */
@media (max-width: 768px) {
    #toc-modal > div {
        margin: 1rem;
        padding: 2rem;
        max-height: 85vh;
    }

    #toc-modal h3 {
        font-size: 1.75rem;
    }

    #toc-modal h4 {
        font-size: 1.125rem;
    }

    #toc-modal ul li {
        font-size: 0.875rem;
    }

    #toc-modal .group:hover {
        transform: translateX(4px);
    }

    #toc-modal .absolute.rounded-full {
        width: 40px;
        height: 40px;
    }

    /* Stack value proposition vertically on mobile */
    #toc-modal .border-primary\/20 > div {
        flex-direction: column;
        gap: 0.75rem;
    }

    #toc-modal .border-primary\/20 span {
        font-size: 0.75rem;
    }

    .toc-trigger-card {
        flex-direction: column;
        text-align: center;
    }

    .toc-trigger-card .absolute {
        top: -0.5rem;
        right: 50%;
        transform: translateX(50%);
    }
}

/* Simplified front page */
.otherapy-home-wrap {
    width: min(100% - 3rem, 1180px);
    margin-inline: auto;
}

.otherapy-home-nav {
    position: fixed;
    inset: 0 0 auto;
}

.otherapy-home-nav-inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.otherapy-home-logo img {
    display: block;
    width: auto;
    height: 52px;
    object-fit: contain;
}

.otherapy-home-nav-links {
    display: flex;
    align-items: center;
    gap: clamp(1.2rem, 2.5vw, 2.7rem);
}

.otherapy-home-nav-links > a:not(.otherapy-home-button) {
    color: #343d38;
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
}

.otherapy-home-nav-links > a:not(.otherapy-home-button):hover,
.otherapy-home-nav-links > a:not(.otherapy-home-button):focus-visible {
    color: var(--primary-color);
}

.otherapy-home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    width: fit-content;
    min-height: 58px;
    padding: 0.85rem 1.65rem;
    border-radius: 999px;
    background: var(--secondary-color);
    color: #fff !important;
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.otherapy-home-button:hover,
.otherapy-home-button:focus-visible {
    background: #3f4d45;
    transform: translateY(-2px);
}

.otherapy-home-button-small {
    min-height: 46px;
    padding: 0.65rem 1.4rem;
}

.otherapy-home-menu-button {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid #d7d5ce;
    border-radius: 50%;
    color: var(--secondary-color);
}

.otherapy-home-hero {
    padding: 144px 0 72px;
    background: #f6f2ee;
}

.otherapy-home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: center;
    gap: clamp(3rem, 6vw, 6rem);
}

.otherapy-home-hero-copy {
    padding-block: 2rem;
}

.otherapy-home-eyebrow {
    margin-bottom: 1.4rem;
    color: var(--primary-color);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.5;
    text-transform: uppercase;
}

.otherapy-home h1,
.otherapy-home h2 {
    color: #303832;
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
    letter-spacing: -0.045em;
}

.otherapy-home h1 {
    max-width: 740px;
    margin: 0 0 1.8rem;
    font-size: clamp(3.2rem, 5.5vw, 5.9rem);
    line-height: 1.1;
}

.otherapy-home h1 em {
    display: block;
    color: var(--primary-color);
    font-weight: 400;
}

.otherapy-home-lead {
    max-width: 34rem;
    margin-bottom: 2.3rem;
    color: #5a625c;
    font-size: clamp(1.05rem, 1.6vw, 1.25rem);
    line-height: 1.8;
}

.otherapy-home-lead-highlight {
    padding-inline: 0.08em;
    background: linear-gradient(transparent 68%, rgba(235, 217, 215, 0.95) 68%);
    color: #3e4943;
    font-weight: 700;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.otherapy-home-hero-image img {
    display: block;
    width: 100%;
    height: clamp(450px, 48vw, 640px);
    border-radius: 48% 48% 8px 8px;
    object-fit: cover;
    object-position: center;
}

.otherapy-home-section {
    padding-block: clamp(5rem, 9vw, 8rem);
}

.otherapy-home h2 {
    margin: 0 0 1.5rem;
    font-size: clamp(2.5rem, 4vw, 4.25rem);
    line-height: 1.17;
}

.otherapy-home-section p:not(.otherapy-home-eyebrow),
.otherapy-home-course p:not(.otherapy-home-eyebrow) {
    color: #59625b;
    font-size: 1.09rem;
    line-height: 1.85;
}

.otherapy-home-method {
    background: #fff;
}

.otherapy-home-method-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(3rem, 8vw, 8rem);
}

.otherapy-home-method-copy {
    max-width: 35rem;
}

.otherapy-home-method-copy ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}

.otherapy-home-method-copy li {
    padding: 0.75rem 1.1rem;
    border: 1px solid #d8ded4;
    border-radius: 100px;
    color: #3f5148;
    font-size: 0.87rem;
    font-weight: 600;
}

.otherapy-home-about {
    background: #eee9e3;
}

.otherapy-home-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(3rem, 9vw, 9rem);
}

.otherapy-home-about-image img {
    display: block;
    width: 100%;
    height: clamp(380px, 40vw, 530px);
    border-radius: 8px 45% 8px 8px;
    object-fit: cover;
}

.otherapy-home-about-grid > div:last-child {
    max-width: 34rem;
}

.otherapy-home-course {
    padding-block: clamp(4.5rem, 8vw, 7rem);
    background: #59655f;
}

.otherapy-home-course-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}

.otherapy-home-course h2,
.otherapy-home-course p:not(.otherapy-home-eyebrow) {
    color: #fff;
}

.otherapy-home-course h2 {
    max-width: 44rem;
}

.otherapy-home-course .otherapy-home-eyebrow {
    color: #e9c5bf;
}

.otherapy-home-button-light {
    flex: none;
    background: #fff;
    color: var(--secondary-color) !important;
}

.otherapy-home-button-light:hover,
.otherapy-home-button-light:focus-visible {
    background: #f0e7df;
}

.otherapy-home-footer {
    padding: 3.5rem 0 1.7rem;
    background: #343d38;
    color: #ecf0e9;
}

.otherapy-home-footer-main,
.otherapy-home-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.otherapy-home-footer-main {
    padding-bottom: 3rem;
}

.otherapy-home-footer-main p {
    margin: 0;
}

.otherapy-home-footer-brand {
    margin-bottom: 0.65rem !important;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.85rem;
}

.otherapy-home-footer-links,
.otherapy-home-footer-bottom > div {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.7rem;
}

.otherapy-home-footer a {
    color: #ecf0e9;
    text-decoration: none;
}

.otherapy-home-footer-bottom {
    padding-top: 1.5rem;
    border-top: 1px solid #657168;
    font-size: 0.8rem;
}

@media (max-width: 767px) {
    .otherapy-home-wrap {
        width: min(100% - 2rem, 1180px);
    }

    .otherapy-home-nav-inner {
        min-height: 68px;
    }

    .otherapy-home-logo img {
        height: 44px;
    }

    .otherapy-home-nav-links {
        display: none;
    }

    .otherapy-home-menu-button {
        display: inline-flex;
    }

    .otherapy-home-mobile-menu:not(.hidden) {
        display: grid !important;
        gap: 0.2rem;
        padding: 0.7rem 1rem 1.2rem !important;
    }

    .otherapy-home-mobile-menu a {
        padding: 0.65rem 0.4rem;
        color: #343d38;
        font-weight: 600;
        text-decoration: none;
    }

    .otherapy-home-hero {
        padding: 104px 0 4rem;
    }

    .otherapy-home-hero-grid,
    .otherapy-home-method-grid,
    .otherapy-home-about-grid {
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }

    .otherapy-home-hero-copy {
        padding: 0;
    }

    .otherapy-home-hero-image img {
        height: min(110vw, 520px);
    }

    .otherapy-home-about-image img {
        height: min(100vw, 470px);
    }

    .otherapy-home-course-inner,
    .otherapy-home-footer-main,
    .otherapy-home-footer-bottom {
        flex-direction: column;
    }

    .otherapy-home-course-inner {
        align-items: flex-start;
        gap: 1.5rem;
    }
}
