/* =========================================================
 * Competenza Academy – Meine Academy
 * ========================================================= */

body.ca-masteriyo-page .ca-site-main {
    width: 100%;
    max-width: none;
    padding:
        clamp(58px, 6vw, 92px)
        var(--ca-content-gutter)
        clamp(76px, 8vw, 120px);
}

body.ca-masteriyo-page .ca-page-shell,
body.ca-masteriyo-page .ca-content-container {
    width: min(100%, var(--ca-content-width));
    max-width: var(--ca-content-width);
    margin-inline: auto;
}

#masteriyo-account-page,
.masteriyo-account-page,
.mto-account-wrapper {
    width: min(100%, var(--ca-content-width)) !important;
    max-width: var(--ca-content-width) !important;
    margin-inline: auto !important;
}

.mto-account-wrapper {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: clamp(42px, 5vw, 72px) !important;
}

/*
 * Sidebar
 */
.mto-account-sidebar {
    position: sticky;
    top: 110px;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    min-height: 0 !important;
    padding: 24px !important;
    border: 1px solid var(--ca-border) !important;
    border-radius: 0 !important;
    background: var(--ca-surface) !important;
    box-shadow: none !important;
}

.account-sidebar-menu-item {
    min-height: 52px;
    border-radius: 0 !important;
}

/*
 * Hauptbereich darf sich wirklich ausdehnen.
 */
.mto-account-wrapper > :not(.mto-account-sidebar) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/*
 * Statistikboxen
 */
.mto-dashboard-courses-stats {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
    gap: 18px !important;
}

.mto-dashboard-courses-stats > * {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 126px !important;
    padding: 22px !important;
    border: 1px solid var(--ca-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.mto-dashboard-courses-stats > *:nth-child(1) {
    border-top: 4px solid var(--ca-academy) !important;
}

.mto-dashboard-courses-stats > *:nth-child(2) {
    border-top: 4px solid var(--ca-concept) !important;
}

.mto-dashboard-courses-stats > *:nth-child(3) {
    border-top: 4px solid var(--ca-analytic) !important;
}

/*
 * Kein Abschneiden von Texten.
 */
.mto-dashboard-courses-stats *,
.mto-dashboard-courses-progress *,
.mto-continue-course * {
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

/*
 * Kursfortschritt / Weiterlernen
 */
.mto-dashboard-courses-progress {
    width: 100% !important;
    margin-top: 38px !important;
}

.mto-continue-course {
    display: grid !important;
    width: 100% !important;
    grid-template-columns:
        minmax(220px, 300px)
        minmax(180px, 1fr)
        minmax(220px, 300px) !important;
    align-items: center !important;
    gap: 28px !important;
    padding: 0 !important;
}

.mto-continue-course img {
    width: 100% !important;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

@media (max-width: 1024px) {
    .mto-account-wrapper {
        grid-template-columns: 240px minmax(0, 1fr) !important;
        gap: 32px !important;
    }

    .mto-account-sidebar {
        width: 240px !important;
        min-width: 240px !important;
        max-width: 240px !important;
    }

    .mto-dashboard-courses-stats {
        grid-template-columns: repeat(2, minmax(180px, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.ca-masteriyo-page .ca-site-main {
        padding:
            40px
            18px
            70px;
    }

    .mto-account-wrapper {
        display: block !important;
    }

    .mto-account-sidebar {
        position: static;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-bottom: 32px !important;
    }

    .mto-dashboard-courses-stats {
        grid-template-columns: 1fr !important;
    }

    .mto-continue-course {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
 * Meine Academy – Layoutkorrektur V2
 * ========================================================= */

/*
 * Elterncontainer der React-App dürfen die Breite nicht
 * mehr auf WordPress-Contentmaße reduzieren.
 */
body:has(.mto-account-wrapper) .ca-site-main,
body:has(.mto-account-wrapper) .ca-page,
body:has(.mto-account-wrapper) .ca-entry-content,
body:has(.mto-account-wrapper) .ca-page-shell,
body:has(.mto-account-wrapper) .ca-content-container,
body:has(.mto-account-wrapper) article,
body:has(.mto-account-wrapper) article > div {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

body:has(.mto-account-wrapper) .ca-site-main {
    padding:
        clamp(54px, 6vw, 88px)
        clamp(22px, 4vw, 54px)
        clamp(80px, 8vw, 120px) !important;
}

body:has(.mto-account-wrapper) .ca-page-title,
body:has(.mto-account-wrapper) > h1 {
    width: min(100%, 1320px);
    margin-inline: auto;
}

/*
 * Zentraler Account-Rahmen.
 */
.mto-account-wrapper {
    display: grid !important;
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: clamp(42px, 5vw, 72px) !important;
}

/*
 * Alle Hauptinhaltscontainer rechts neben der Sidebar.
 */
.mto-account-wrapper > * {
    min-width: 0 !important;
}

.mto-account-wrapper > :not(.mto-account-sidebar) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
}

.mto-account-wrapper main,
.mto-account-wrapper [role="main"],
.mto-account-wrapper [class*="content"],
.mto-account-wrapper [class*="dashboard"] {
    min-width: 0 !important;
    max-width: none !important;
}

/*
 * Sidebar – klarer und ruhiger.
 */
.mto-account-sidebar {
    position: sticky !important;
    top: 104px;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    padding: 22px !important;
    border: 1px solid #dfe3e6 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.account-sidebar-menu-item {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 0 !important;
}

/*
 * Statistikbereich.
 */
.mto-dashboard-courses-stats {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-template-columns:
        repeat(3, minmax(200px, 1fr)) !important;
    gap: 18px !important;
}

.mto-dashboard-courses-stats > * {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/*
 * Meine-Schulungen-Ansicht.
 */
.mto-account-wrapper [class*="course-grid"],
.mto-account-wrapper [class*="courses-grid"],
.mto-account-wrapper [class*="course-list"],
.mto-account-wrapper [class*="courses-list"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.mto-account-wrapper [class*="course-card"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/*
 * Masteriyo setzt zum Teil Inline-Gridbreiten.
 */
.mto-account-wrapper
:is(
    [style*="grid-template-columns"],
    [style*="width"]
) {
    max-width: 100%;
}

/*
 * Keine abgeschnittenen Inhalte.
 */
.mto-account-wrapper h1,
.mto-account-wrapper h2,
.mto-account-wrapper h3,
.mto-account-wrapper p,
.mto-account-wrapper span,
.mto-account-wrapper button,
.mto-account-wrapper a {
    max-width: 100%;
}

.mto-account-wrapper
:is(h1, h2, h3, p, span) {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

/*
 * Filterzeile.
 */
.mto-account-wrapper select,
.mto-account-wrapper input,
.mto-account-wrapper button {
    min-height: 46px;
}

/*
 * Kurskarten in der Schulungsübersicht mindestens sinnvoll breit.
 */
.mto-account-wrapper
.mto-dashboard-courses-progress,
.mto-account-wrapper
.mto-continue-course {
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 1050px) {
    .mto-account-wrapper {
        grid-template-columns: 240px minmax(0, 1fr) !important;
        gap: 32px !important;
    }

    .mto-account-sidebar {
        width: 240px !important;
        min-width: 240px !important;
        max-width: 240px !important;
    }

    .mto-dashboard-courses-stats {
        grid-template-columns:
            repeat(2, minmax(190px, 1fr)) !important;
    }
}

@media (max-width: 780px) {
    body:has(.mto-account-wrapper) .ca-site-main {
        padding: 38px 18px 70px !important;
    }

    .mto-account-wrapper {
        display: block !important;
    }

    .mto-account-sidebar {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-bottom: 30px !important;
    }

    .mto-dashboard-courses-stats {
        grid-template-columns: 1fr !important;
    }
}
