/* DTU Access — scoped styles. Every selector is prefixed to avoid Divi collisions. */

.dtu-dashboard,
.dtu-wrap,
.dtu-shell {
    --dtu-blue: #00a8fc;
    --dtu-blue-dark: #008fd6;
    --dtu-ink: #16212c;
    --dtu-muted: #6b7f96;
    --dtu-line: #e6ebf2;
    --dtu-bg: #070f1a;
    --dtu-surface: #0e1a28;
    --dtu-radius: 22px;
    --dtu-shadow: 0 24px 50px -22px rgba(0, 0, 0, .75);

    background:
        radial-gradient(1100px 520px at 78% -12%, rgba(0, 168, 252, .12), transparent 60%),
        var(--dtu-bg);
    color: #eaf1f8;
    border-radius: 24px;
    padding: 32px;
    margin: 0 auto 40px;
    max-width: 1180px;
    font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    box-sizing: border-box;
}

.dtu-dashboard *,
.dtu-wrap *,
.dtu-shell * { box-sizing: border-box; }

.dtu-dashboard h1,
.dtu-dashboard h2,
.dtu-dashboard h3,
.dtu-wrap h1,
.dtu-wrap h2,
.dtu-wrap h3,
.dtu-shell h1,
.dtu-shell h2,
.dtu-shell h3 {
    font-family: "Plus Jakarta Sans", "DM Sans", system-ui, sans-serif;
    font-weight: 700;
    letter-spacing: -.02em;
    margin: 0;
    color: #eaf1f8;
}

/* ---------------- Banner ---------------- */

.dtu-banner {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 40px 40px 36px;
    margin-bottom: 30px;
    background:
        radial-gradient(720px 340px at 84% 8%, rgba(0, 168, 252, .38), transparent 62%),
        linear-gradient(135deg, #081c2e 0%, #0b2c46 55%, #071523 100%);
    box-shadow: 0 44px 90px -44px rgba(0, 168, 252, .35);
}

.dtu-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .30;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E");
}

.dtu-eyebrow {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #7fd0ff;
}

.dtu-banner h1 { font-size: clamp(28px, 4vw, 42px); line-height: 1.1; color: #fff; }
.dtu-banner p { margin: 10px 0 0; color: #a9c4da; max-width: 52ch; }

.dtu-account {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    color: #dbeaf7 !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}

.dtu-account:hover { background: rgba(255, 255, 255, .14); }

.dtu-stats { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 26px; }
.dtu-stat strong { display: block; font-family: "Plus Jakarta Sans", sans-serif; font-size: 22px; color: #fff; }
.dtu-stat span { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #7fd0ff; }

/* ---------------- Cards ---------------- */

.dtu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 22px;
}

.dtu-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: var(--dtu-radius);
    box-shadow: var(--dtu-shadow);
    overflow: hidden;
    transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s cubic-bezier(.2, .8, .2, 1);
}

.dtu-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 30px 60px -26px rgba(0, 0, 0, .82);
}

.dtu-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(135deg, #0a2b47, #00a8fc);
}

.dtu-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dtu-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .25));
    pointer-events: none;
}

.dtu-initials {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 40px;
    font-weight: 800;
    color: rgba(255, 255, 255, .92);
}

.dtu-badge {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #0b1b2b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dtu-body {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 20px 20px 22px;
    background: #fff;
    color: var(--dtu-ink);
}

.dtu-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.dtu-row h3 { font-size: 18px; line-height: 1.3; color: #0b2a45; }
.dtu-row h3 a { color: #0b2a45; text-decoration: none; }
.dtu-row h3 a:hover { color: #0079b8; }

.dtu-pct { flex: none; font-size: 13px; font-weight: 700; color: #0079b8; }
.dtu-desc { margin: 0; font-size: 13.5px; line-height: 1.45; color: #4a5b6d; }
.dtu-meta { margin: 0; font-size: 13px; color: var(--dtu-muted); }

.dtu-bar { height: 7px; border-radius: 999px; background: #e9f1f8; overflow: hidden; }
.dtu-bar span { display: block; height: 100%; border-radius: 999px; background: var(--dtu-blue); }

.dtu-dark .dtu-bar { background: rgba(255, 255, 255, .08); }

.dtu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: flex-start;
    padding: 11px 18px;
    border-radius: 11px;
    background: var(--dtu-blue);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    border: 0;
    cursor: pointer;
}

.dtu-btn:hover { background: var(--dtu-blue-dark); }

.dtu-btn-ghost {
    background: #f4f8fb;
    border: 1px solid #e2eaf2;
    color: var(--dtu-ink) !important;
}

.dtu-btn-ghost:hover { background: #e9f1f8; }

/* Locked */

.dtu-card.is-locked {
    background: #eef2f6;
    box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .6);
}

.dtu-card.is-locked:hover { transform: none; }

.dtu-card.is-locked .dtu-thumb img { filter: grayscale(1) brightness(.45); }
.dtu-card.is-locked .dtu-initials { opacity: .18; }
.dtu-card.is-locked .dtu-body { background: #eef2f6; }
.dtu-card.is-locked .dtu-row h3 { color: #93a3b4; }
.dtu-card.is-locked .dtu-desc,
.dtu-card.is-locked .dtu-meta { color: #93a3b4; }
.dtu-card.is-locked .dtu-bar { background: #dfe7ee; }
.dtu-card.is-locked .dtu-btn-ghost {
    background: transparent;
    border-color: #d5dfe8;
    color: #8a9aab !important;
}

.dtu-lock-overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(4, 9, 15, .58);
}

.dtu-lock-overlay svg { width: 34px; height: 34px; color: rgba(255, 255, 255, .82); }

/* ---------------- Course page ---------------- */

.dtu-hero { margin-bottom: 26px; }
.dtu-hero h1 { font-size: clamp(26px, 3.6vw, 40px); color: #fff; }
.dtu-lead { margin: 12px 0 0; color: #a9c4da; max-width: 70ch; }
.dtu-muted { color: #8ba0b6; }

.dtu-panel {
    background: var(--dtu-surface);
    border-radius: var(--dtu-radius);
    padding: 26px;
    box-shadow: var(--dtu-shadow);
}

.dtu-panel h2 { font-size: 21px; margin-bottom: 16px; }

.dtu-sec { margin-bottom: 24px; }
.dtu-sec-title {
    margin: 0 0 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #8ba0b6;
}

.dtu-list { list-style: none; margin: 0; padding: 0; }

.dtu-lesson {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 14px;
    color: #c6d5e4;
}

.dtu-lesson:hover { background: rgba(255, 255, 255, .05); }
.dtu-lesson.is-current { background: rgba(0, 168, 252, .14); color: #8fd8ff; font-weight: 600; }

.dtu-num { flex: none; width: 28px; font-size: 11px; font-weight: 700; color: #5f7c96; }

.dtu-lesson a { color: inherit; text-decoration: none; flex: 1; }
.dtu-lesson a:hover { color: #8fd8ff; }

.dtu-check { color: #34d399; font-weight: 700; }
.dtu-lock { opacity: .55; }

.dtu-notice {
    margin: 0 0 18px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 183, 77, .12);
    border: 1px solid rgba(255, 183, 77, .25);
    color: #ffcf8a;
    font-weight: 500;
}

/* ---------------- Lesson page ---------------- */

.dtu-shell {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    max-width: 1240px;
    padding: 26px;
}

.dtu-side {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 120px);
    overflow: auto;
    background: #fff;
    border-radius: var(--dtu-radius);
    padding: 18px;
    box-shadow: var(--dtu-shadow);
    color: var(--dtu-ink);
}

.dtu-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    color: #0079b8 !important;
    text-decoration: none !important;
}

.dtu-side h2 { font-size: 15px; color: #0b2a45; margin-bottom: 4px; }
.dtu-side .dtu-meta { font-size: 12px; color: var(--dtu-muted); margin-bottom: 12px; }

.dtu-side .dtu-sec-title { color: #7c8ea3; }

.dtu-side .dtu-lesson { color: #3b4c5e; }
.dtu-side .dtu-lesson:hover { background: #f2f7fc; }
.dtu-side .dtu-lesson.is-current { background: #e8f6ff; color: #0079b8; }
.dtu-side .dtu-num { color: #9db0c4; }
.dtu-side .dtu-lesson a { color: inherit; }

.dtu-main { min-width: 0; }
.dtu-main h1 { font-size: clamp(24px, 3vw, 34px); color: #fff; margin-bottom: 16px; }

.dtu-video {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(135deg, #071523, #0d2c45);
    display: grid;
    place-items: center;
    box-shadow: var(--dtu-shadow);
}

.dtu-video iframe,
.dtu-video video {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.dtu-play {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    display: grid;
    place-items: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
}

.dtu-play::after {
    content: "";
    margin-left: 5px;
    border-style: solid;
    border-width: 12px 0 12px 20px;
    border-color: transparent transparent transparent #0a2b47;
}

.dtu-text {
    margin-top: 22px;
    background: #fff;
    border-radius: var(--dtu-radius);
    padding: 26px 28px;
    color: var(--dtu-ink);
    box-shadow: var(--dtu-shadow);
}

.dtu-text h2 { color: #0b2a45; font-size: 19px; margin-bottom: 10px; }
.dtu-text p, .dtu-text li { color: #3b4c5e; }
.dtu-text ul { padding-left: 20px; }

.dtu-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.dtu-pager { display: flex; gap: 10px; }

.dtu-done {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(52, 211, 153, .12);
    color: #34d399;
    font-weight: 600;
    font-size: 14px;
}

.dtu-shell .dtu-btn-ghost {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .12);
    color: #dbeaf7 !important;
}

/* ---------------- Responsive ---------------- */

@media (max-width: 980px) {
    .dtu-shell { grid-template-columns: 1fr; padding: 18px; }
    .dtu-side { position: static; max-height: none; order: 2; }
    .dtu-main { order: 1; }
}

@media (max-width: 640px) {
    .dtu-dashboard, .dtu-wrap, .dtu-shell { padding: 18px; border-radius: 18px; }
    .dtu-banner { padding: 28px 22px; }
    .dtu-grid { grid-template-columns: 1fr; }
    .dtu-account { position: static; margin-bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .dtu-card { transition: none; }
    .dtu-card:hover { transform: none; }
}

/* Video at the top of the white lesson panel */
.dtu-text > figure:first-child,
.dtu-text > .wp-block-embed:first-child {
    margin: -26px -28px 22px;
    border-radius: 22px 22px 0 0;
    overflow: hidden;
    background: #000;
}

.dtu-text iframe,
.dtu-text video {
    display: block;
    width: 100%;
    border: 0;
}

.dtu-text > figure:first-child iframe {
    aspect-ratio: 16 / 9;
    height: auto;
}

/* ---------------- Full-bleed system page shell ---------------- */

body.dtu-page,
body.dtu-page #page-container,
body.dtu-page #main-content {
    background: #070f1a !important;
}

body.dtu-page #main-content .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

body.dtu-page #main-content .container::before { display: none !important; }

body.dtu-page #left-area {
    width: 100% !important;
    float: none !important;
    padding-bottom: 0 !important;
}

body.dtu-page #sidebar { display: none !important; }

body.dtu-page .dtu-dashboard,
body.dtu-page .dtu-wrap,
body.dtu-page .dtu-shell {
    margin-top: 28px;
    margin-bottom: 56px;
}

/* Dashboard system page */
.dtu-page-shell {
    background: #070f1a;
    padding: 28px 0 70px;
    min-height: 60vh;
}

.dtu-page-shell .dtu-dashboard { margin: 0 auto; }

/* ---------------- Own shell: top bar + footer ---------------- */

body.dtu-app { background: #070f1a; }

.dtu-topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 32px;
    background: rgba(7, 15, 26, .85);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}

body.admin-bar .dtu-topbar { top: 32px; }

.dtu-brand {
    display: inline-flex;
    align-items: center;
    color: #eaf1f8;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 800;
    font-size: 18px;
    text-decoration: none;
}

.dtu-brand img { display: block; height: 38px !important; width: auto !important; max-width: none !important; }

.dtu-nav { display: flex; align-items: center; gap: 8px; }

.dtu-nav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 10px;
    color: #c6d5e4;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    flex: 0 0 auto;
}

.dtu-nav a:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.dtu-nav a.is-active { background: rgba(0, 168, 252, .14); color: #00a8fc; }

.dtu-nav .dtu-icon {
    width: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .12);
    background: #0e1a28;
    color: #eaf1f8;
}

.dtu-app-main { min-height: 70vh; }

.dtu-footer {
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding: 24px 32px;
    color: #8ba0b6;
    font-size: 13px;
}

.dtu-footer-inner {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.dtu-footer nav { display: flex; gap: 18px; }
.dtu-footer a { color: #8ba0b6; text-decoration: none; }
.dtu-footer a:hover { color: #fff; }

@media (max-width: 640px) {
    .dtu-topbar { padding: 12px 16px; }
    .dtu-brand img { height: 30px; }
    .dtu-nav a:not(.dtu-icon) { padding: 8px 10px; font-size: 13px; }
    .dtu-footer { padding: 20px 16px; }
}

/* ---------------- Collapsible sections ---------------- */

.dtu-sec {
    margin-bottom: 8px;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, .03);
}

.dtu-sec-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    padding: 12px 14px;
    background: #132132;
    color: #eaf1f8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
}

.dtu-sec-title::-webkit-details-marker { display: none; }

.dtu-sec-title::after {
    content: "\25BE";
    font-size: 12px;
    opacity: .7;
    transition: transform .2s ease;
}

.dtu-sec[open] > .dtu-sec-title::after { transform: rotate(180deg); }

.dtu-sec-count {
    margin-left: auto;
    margin-right: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #8ba0b6;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
}

.dtu-sec .dtu-list { padding: 6px; margin: 0; }

/* White sidebar version */
.dtu-side .dtu-sec { background: #f2f7fc; }
.dtu-side .dtu-sec-title { background: #0b1b2b; color: #ffffff; }
.dtu-side .dtu-sec-count { background: rgba(255, 255, 255, .14); color: #c6d5e4; }

@media (max-width: 980px) {
    .dtu-sec-title { padding: 14px 16px; font-size: 13px; }
}

/* ---------------- Card alignment + section bars ---------------- */

.dtu-card { height: 100%; }
.dtu-body { flex: 1; }

.dtu-foot {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 6px;
}

.dtu-foot .dtu-btn { margin-top: 2px; }

.dtu-sec-title {
    background: linear-gradient(180deg, #16283c, #101d2b);
    border: 1px solid rgba(255, 255, 255, .06);
}

.dtu-sec-name {
    flex: 1;
    min-width: 0;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dtu-sec-count { margin-left: 0; margin-right: 6px; }

/* Course name in the lesson sidebar */
.dtu-side h2 {
    font-size: 21px;
    line-height: 1.25;
    margin: 2px 0 6px;
}

@media (max-width: 640px) {
    .dtu-side h2 { font-size: 18px; }
}

/* Video block: no white gap, no WP aspect-ratio padding */
.dtu-video { aspect-ratio: auto; padding: 0; }

.dtu-video figure.wp-block-embed,
.dtu-video figure { margin: 0 !important; width: 100%; }

.dtu-video .wp-block-embed__wrapper { position: relative; padding: 0 !important; }
.dtu-video .wp-block-embed__wrapper::before { display: none !important; }

.dtu-video iframe {
    position: static !important;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
    display: block;
}

/* ---------------- Hero: ring + name ---------------- */

.dtu-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.dtu-banner-text { min-width: 0; }

.dtu-ring {
    position: relative;
    flex: none;
    width: 136px;
    height: 136px;
}

.dtu-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.dtu-ring circle { fill: none; stroke-width: 10; }
.dtu-ring-bg { stroke: rgba(255, 255, 255, .12); }

.dtu-ring-fg {
    stroke: #00a8fc;
    stroke-linecap: round;
}

.dtu-ring-label {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    text-align: center;
}

.dtu-ring-label strong {
    display: block;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 26px;
    line-height: 1;
    color: #fff;
}

.dtu-ring-label span {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #7fd0ff;
}

@media (max-width: 700px) {
    .dtu-banner { flex-direction: column; align-items: flex-start; }
    .dtu-ring { width: 110px; height: 110px; }
    .dtu-ring-label strong { font-size: 22px; }
}

/* ---------------- WooCommerce My Account ---------------- */

.dtu-account-page {
    max-width: 1120px;
    margin: 0 auto;
    padding: 34px 24px 80px;
    color: #eaf1f8;
    font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.dtu-account-page h1,
.dtu-account-page h2,
.dtu-account-page h3 {
    color: #ffffff;
    font-family: "Plus Jakarta Sans", "DM Sans", sans-serif;
    letter-spacing: -.02em;
}

/* Two columns only when the account nav exists (logged in). */
/* Divi's WooCommerce CSS floats the nav right and squeezes the content left, so every
   layout value below is forced. Remove the !important only when Divi is gone. */
/* WooCommerce ships a clearfix pseudo-element (content:' '; display:table).
   Inside a grid that pseudo becomes a real cell and shifts every child one place:
   nav lands in the wide column, content in the 250px column. Kill it. */
.dtu-account-page .woocommerce::before,
.dtu-account-page .woocommerce::after {
    content: none !important;
    display: none !important;
}

.logged-in .dtu-account-page .woocommerce {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

/* WooCommerce prints an empty notices div first. In a grid that empty div
   becomes the first cell and pushes the nav into the wide column. */
.dtu-account-page .woocommerce-notices-wrapper:empty { display: none !important; }

.dtu-account-page .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }

.dtu-account-page .woocommerce-MyAccount-navigation {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.dtu-account-page .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.dtu-account-page .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dtu-account-page .woocommerce-MyAccount-navigation li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dtu-account-page .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 10px 14px;
    border-radius: 10px;
    color: #c6d5e4;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

.dtu-account-page .woocommerce-MyAccount-navigation li a:hover {
    background: rgba(255, 255, 255, .06);
    color: #fff;
}

.dtu-account-page .woocommerce-MyAccount-navigation li.is-active a {
    background: rgba(0, 168, 252, .14);
    color: #00a8fc;
}

.dtu-account-page .woocommerce-MyAccount-content {
    background: #ffffff;
    border-radius: 18px;
    padding: 26px 28px;
    color: #16212c;
}

.dtu-account-page .woocommerce-MyAccount-content h2,
.dtu-account-page .woocommerce-MyAccount-content h3 { color: #0b2a45; }

.dtu-account-page .woocommerce-MyAccount-content p,
.dtu-account-page .woocommerce-MyAccount-content li,
.dtu-account-page .woocommerce-MyAccount-content td,
.dtu-account-page .woocommerce-MyAccount-content th { color: #3b4c5e; }

.dtu-account-page .woocommerce-MyAccount-content a { color: #0079b8; }

.dtu-account-page .woocommerce-MyAccount-content .button,
.dtu-account-page .woocommerce-MyAccount-content button,
.dtu-account-page .woocommerce-MyAccount-content input[type="submit"] {
    background: #00a8fc;
    color: #fff !important;
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    font-weight: 600;
}

.dtu-account-page .woocommerce-MyAccount-content .button:hover,
.dtu-account-page .woocommerce-MyAccount-content input[type="submit"]:hover {
    background: #008fd6;
}

/* Guest view: login / register card */
.dtu-account-page,
.dtu-account-page * { box-sizing: border-box; }

.dtu-account-page .woocommerce > form.woocommerce-form-login,
.dtu-account-page .woocommerce > form.woocommerce-form-register,
.dtu-account-page .woocommerce > form.woocommerce-ResetPassword {
    background: #fff;
    border: 0;
    border-radius: 18px;
    padding: 26px 28px;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
}

.dtu-account-page .woocommerce > h2 {
    max-width: 560px;
    margin: 0 auto 16px;
    font-size: 26px;
    line-height: 1.2;
}

.dtu-account-page .woocommerce-form-login label,
.dtu-account-page .woocommerce-form-register label,
.dtu-account-page .woocommerce-ResetPassword label {
    color: #0b2a45;
    font-size: 14px;
    font-weight: 600;
}

.dtu-account-page .woocommerce-form-login a,
.dtu-account-page .woocommerce-form-register a,
.dtu-account-page .woocommerce-ResetPassword a { color: #0079b8; }

/* Form fields — values forced because Divi's page CSS loads after ours. */
.dtu-account-page .woocommerce input.input-text,
.dtu-account-page .woocommerce input[type="text"],
.dtu-account-page .woocommerce input[type="email"],
.dtu-account-page .woocommerce input[type="password"],
.dtu-account-page .woocommerce input[type="tel"],
.dtu-account-page .woocommerce input[type="number"],
.dtu-account-page .woocommerce input[type="search"],
.dtu-account-page .woocommerce select,
.dtu-account-page .woocommerce textarea {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    background: #fff !important;
    border: 1px solid #d3e0ea !important;
    border-radius: 10px !important;
    padding: 11px 13px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #16212c !important;
    box-shadow: none !important;
}

.dtu-account-page .woocommerce input.input-text:focus,
.dtu-account-page .woocommerce input[type="text"]:focus,
.dtu-account-page .woocommerce input[type="email"]:focus,
.dtu-account-page .woocommerce input[type="password"]:focus,
.dtu-account-page .woocommerce input[type="tel"]:focus,
.dtu-account-page .woocommerce select:focus,
.dtu-account-page .woocommerce textarea:focus {
    border-color: #00a8fc !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 168, 252, .18) !important;
}

.dtu-account-page .form-row { margin: 0 0 14px; }
.dtu-account-page .form-row label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.dtu-account-page fieldset { border: 0; padding: 0; margin: 0 0 14px; }
.dtu-account-page .required { color: #e02424; text-decoration: none; }

.dtu-account-page .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
}

.dtu-account-page .woocommerce-form-login .button,
.dtu-account-page .woocommerce-form-register .button {
    width: 100%;
    margin-top: 4px;
}

.dtu-account-page .lost_password { margin: 14px 0 0; font-size: 14px; }

/* Notices + tables */
.dtu-account-page .woocommerce-message,
.dtu-account-page .woocommerce-info,
.dtu-account-page .woocommerce-error {
    border-radius: 12px;
    border-top: 0;
    padding: 14px 18px;
    background: #eef7ff;
    color: #123;
    list-style: none;
    margin: 0 0 18px;
}

.dtu-account-page .woocommerce-error { background: #fdecec; }
.dtu-account-page .woocommerce-MyAccount-content table { width: 100%; border-collapse: collapse; }
.dtu-account-page .woocommerce-MyAccount-content th,
.dtu-account-page .woocommerce-MyAccount-content td {
    padding: 10px 12px;
    border-bottom: 1px solid #e6eef5;
    text-align: left;
}

@media (max-width: 900px) {
    .logged-in .dtu-account-page .woocommerce { grid-template-columns: 1fr !important; }
}
