/*
Theme Name: Deutschna
Theme URI: https://deutschna.de
Author: Nayrouz for Digital Solutions
Description: Custom WordPress theme for Deutschna German Learning Academy.
Version: 2.0.0
Text Domain: deutschna
*/

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');

:root{
    --navy:#0b1f3a;
    --navy-2:#102b4e;
    --navy-3:#173c67;
    --yellow:#f8c928;
    --yellow-soft:#fff5c6;
    --red:#e8504f;
    --blue:#3977da;
    --teal:#159a93;
    --cream:#fffaf0;
    --paper:#f7f8fb;
    --white:#ffffff;
    --text:#192437;
    --muted:#667085;
    --border:#e7eaf0;
    --shadow:0 18px 55px rgba(11,31,58,.09);
    --radius:24px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:"Cairo",Arial,sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.75;
    direction:rtl;
    overflow-x:hidden;
}

a{
    color:inherit;
    text-decoration:none;
}

img{
    max-width:100%;
    height:auto;
    display:block;
}

.dn-container{
    width:min(1180px, calc(100% - 40px));
    margin-inline:auto;
}


/* HEADER */

.dn-header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(11,31,58,.96);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.admin-bar .dn-header{
    top:32px;
}

.dn-header-inner{
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.dn-logo{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#fff;
}

.dn-logo-main{
    font-size:27px;
    font-weight:900;
    letter-spacing:-1px;
}

.dn-logo-main span{
    color:var(--yellow);
}

.dn-logo small{
    border-right:1px solid rgba(255,255,255,.3);
    padding-right:10px;
    font-size:12px;
    opacity:.82;
}

.dn-nav{
    display:flex;
    align-items:center;
    gap:23px;
}

.dn-nav a{
    color:rgba(255,255,255,.88);
    font-size:14px;
    font-weight:700;
    transition:.2s ease;
}

.dn-nav a:hover{
    color:var(--yellow);
}

.dn-nav .dn-nav-cta{
    background:var(--yellow);
    color:var(--navy);
    padding:9px 16px;
    border-radius:11px;
}

.dn-nav .dn-nav-cta:hover{
    background:#fff;
    color:var(--navy);
}

.dn-menu-toggle{
    display:none;
    width:42px;
    height:42px;
    padding:8px;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.07);
    border-radius:11px;
    cursor:pointer;
}

.dn-menu-toggle span{
    display:block;
    height:2px;
    background:#fff;
    margin:5px 0;
    border-radius:5px;
}


/* HERO */

.dn-hero{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 18%, rgba(248,201,40,.16), transparent 26%),
        radial-gradient(circle at 80% 88%, rgba(82,142,227,.15), transparent 32%),
        linear-gradient(135deg,#07172d,#0c2444 53%,#12345a);
    color:#fff;
    padding:86px 0 92px;
}

.dn-hero:after{
    content:"";
    position:absolute;
    width:390px;
    height:390px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:50%;
    left:-170px;
    top:-170px;
}

.dn-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:70px;
}

.dn-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:7px 13px;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.07);
    border-radius:30px;
    font-weight:700;
    font-size:13px;
    margin-bottom:22px;
}

.dn-german-dot{
    width:9px;
    height:9px;
    background:var(--yellow);
    border-radius:50%;
    box-shadow:-11px 0 0 #e94b47, -22px 0 0 #171717;
    margin-left:22px;
}

.dn-hero h1{
    margin:0;
    max-width:720px;
    font-size:clamp(42px,5.5vw,72px);
    line-height:1.22;
    letter-spacing:-2px;
    font-weight:900;
}

.dn-hero h1 span{
    display:block;
    color:var(--yellow);
}

.dn-hero-text{
    margin:24px 0 0;
    max-width:650px;
    color:rgba(255,255,255,.78);
    font-size:18px;
}

.dn-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:32px;
}

.dn-btn{
    min-height:49px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 23px;
    border-radius:13px;
    font-weight:800;
    transition:.2s ease;
}

.dn-btn:hover{
    transform:translateY(-2px);
}

.dn-btn-primary{
    background:var(--yellow);
    color:var(--navy);
}

.dn-btn-secondary{
    color:#fff;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.06);
}

.dn-hero-features{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    margin-top:25px;
    color:rgba(255,255,255,.7);
    font-size:13px;
}

.dn-learning-panel{
    position:relative;
    background:rgba(255,255,255,.97);
    color:var(--text);
    padding:28px;
    border-radius:30px;
    box-shadow:0 35px 90px rgba(0,0,0,.25);
    transform:rotate(-1deg);
}

.dn-learning-panel:before{
    content:"";
    position:absolute;
    inset:-11px 18px 18px -11px;
    border:1px solid rgba(248,201,40,.35);
    border-radius:30px;
    z-index:-1;
}

.dn-panel-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

.dn-panel-top small{
    display:block;
    color:var(--muted);
}

.dn-panel-top strong{
    font-size:21px;
}

.dn-flag-mini{
    width:44px;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 5px 15px rgba(0,0,0,.1);
}

.dn-flag-mini i{
    display:block;
    height:8px;
}

.dn-flag-mini i:nth-child(1){background:#171717}
.dn-flag-mini i:nth-child(2){background:#d63b3b}
.dn-flag-mini i:nth-child(3){background:#f4c628}

.dn-progress-item{
    margin:17px 0;
}

.dn-progress-row{
    display:flex;
    justify-content:space-between;
    font-size:13px;
    margin-bottom:7px;
}

.dn-progress-row strong{
    color:var(--navy);
}

.dn-progress-row span{
    color:var(--muted);
}

.dn-progress-bar{
    height:8px;
    background:#eef0f4;
    border-radius:20px;
    overflow:hidden;
}

.dn-progress-bar b{
    display:block;
    height:100%;
    background:linear-gradient(90deg,var(--yellow),#e3ad08);
    border-radius:20px;
}

.dn-word-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:25px;
    padding:15px 18px;
    background:var(--navy);
    border-radius:16px;
    color:#fff;
}

.dn-word-card small{
    display:block;
    color:rgba(255,255,255,.55);
}

.dn-word-card strong{
    font-size:19px;
}

.dn-word-card > span{
    color:var(--yellow);
    font-weight:700;
}


/* SECTIONS */

.dn-section{
    padding:88px 0;
}

.dn-levels{
    background:#fff;
}

.dn-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:50px;
    margin-bottom:38px;
}

.dn-section-head > p{
    max-width:430px;
    margin:0;
    color:var(--muted);
}

.dn-section-label{
    display:block;
    margin-bottom:7px;
    color:#b08700;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.8px;
}

.dn-section-head h2,
.dn-school-copy h2,
.dn-teacher-copy h2,
.dn-placement h2{
    margin:0;
    font-size:clamp(30px,4vw,45px);
    line-height:1.35;
    color:var(--navy);
    letter-spacing:-1px;
}

.dn-centered-head{
    justify-content:center;
    text-align:center;
}


/* LEVELS */

.dn-level-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.dn-level-card{
    position:relative;
    min-height:310px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    padding:25px;
    border:1px solid var(--border);
    border-radius:22px;
    background:#fff;
    transition:.25s ease;
}

.dn-level-card:after{
    content:"";
    width:100px;
    height:100px;
    position:absolute;
    left:-26px;
    bottom:-31px;
    border-radius:50%;
    background:var(--level);
    opacity:.1;
}

.dn-level-card:hover{
    transform:translateY(-7px);
    box-shadow:var(--shadow);
    border-color:transparent;
}

.level-a1{--level:#e5b700}
.level-a2{--level:#e0524d}
.level-b1{--level:#3977da}
.level-b2{--level:#129188}

.dn-level-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.dn-level-top > span{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    color:#fff;
    background:var(--level);
    border-radius:17px;
    font-size:23px;
    font-weight:900;
}

.dn-level-top small{
    color:var(--muted);
    font-size:9px;
    letter-spacing:1px;
}

.dn-level-card h3{
    margin:27px 0 9px;
    font-size:21px;
    color:var(--navy);
}

.dn-level-card p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

.dn-level-card b{
    margin-top:auto;
    color:var(--level);
    font-size:13px;
}


/* SKILLS */

.dn-skills{
    background:var(--paper);
}

.dn-skills-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:17px;
}

.dn-skill-card{
    position:relative;
    padding:26px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:21px;
    transition:.25s ease;
}

.dn-skill-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow);
}

.dn-skill-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:var(--yellow-soft);
    color:var(--navy);
    font-weight:900;
    font-size:19px;
}

.dn-skill-card h3{
    margin:17px 0 0;
    font-size:20px;
    color:var(--navy);
}

.dn-skill-card strong{
    display:block;
    margin-top:-2px;
    color:#ad8700;
    font-size:13px;
}

.dn-skill-card p{
    margin:9px 0 0;
    color:var(--muted);
    font-size:13px;
}


/* SCHOOL */

.dn-school-section{
    background:#fff;
    padding:92px 0;
}

.dn-school-wrap{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:60px;
    padding:56px;
    border-radius:32px;
    background:
        radial-gradient(circle at 0 100%,rgba(248,201,40,.18),transparent 30%),
        linear-gradient(135deg,var(--navy),#133a66);
}

.dn-school-copy{
    color:#fff;
}

.light-label{
    color:var(--yellow);
}

.dn-school-copy h2{
    color:#fff;
}

.dn-school-copy p{
    color:rgba(255,255,255,.7);
}

.dn-text-link{
    display:inline-block;
    margin-top:17px;
    color:var(--yellow);
    font-weight:800;
}

.dn-school-columns{
    display:grid;
    gap:15px;
}

.dn-school-card{
    display:flex;
    align-items:center;
    gap:20px;
    padding:22px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.08);
    border-radius:20px;
    color:#fff;
    transition:.2s ease;
}

.dn-school-card:hover{
    background:rgba(255,255,255,.13);
    transform:translateX(-5px);
}

.dn-school-card > span{
    display:grid;
    place-items:center;
    min-width:55px;
    height:55px;
    background:var(--yellow);
    color:var(--navy);
    border-radius:15px;
    font-weight:900;
}

.dn-school-card small{
    color:var(--yellow);
    font-size:10px;
}

.dn-school-card h3{
    margin:2px 0;
    font-size:20px;
}

.dn-school-card p{
    margin:0;
    color:rgba(255,255,255,.65);
    font-size:13px;
}


/* HERR OMAR */

.dn-teacher{
    background:var(--cream);
}

.dn-teacher-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    align-items:center;
    gap:80px;
}

.dn-teacher-visual{
    position:relative;
    min-height:420px;
    display:grid;
    place-items:center;
}

.dn-herr-avatar{
    width:280px;
    height:330px;
    display:grid;
    place-items:center;
    border-radius:150px 150px 35px 35px;
    background:
        radial-gradient(circle at 50% 22%,#fff 0 14%,transparent 15%),
        linear-gradient(155deg,#143a66,#091b34);
    box-shadow:var(--shadow);
}

.dn-herr-avatar span{
    display:grid;
    place-items:center;
    width:110px;
    height:110px;
    border-radius:50%;
    background:var(--yellow);
    color:var(--navy);
    font-size:58px;
    font-weight:900;
}

.dn-floating-note{
    position:absolute;
    padding:13px 18px;
    border-radius:15px;
    background:#fff;
    box-shadow:var(--shadow);
}

.dn-floating-note b,
.dn-floating-note small{
    display:block;
}

.dn-floating-note small{
    color:var(--muted);
}

.note-one{
    top:70px;
    right:0;
}

.note-two{
    bottom:60px;
    left:0;
}

.dn-teacher-copy h2 span{
    color:#b58e06;
}

.dn-teacher-copy > p{
    max-width:610px;
    color:var(--muted);
    font-size:16px;
}

.dn-check-list{
    display:grid;
    gap:7px;
    margin:22px 0 27px;
    font-weight:700;
    color:var(--navy);
}

.dn-btn-dark{
    background:var(--navy);
    color:#fff;
}


/* POSTS */

.dn-latest{
    background:#fff;
}

.dn-latest-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.dn-post-card{
    overflow:hidden;
    border:1px solid var(--border);
    background:#fff;
    border-radius:22px;
    transition:.25s ease;
}

.dn-post-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow);
}

.dn-post-image{
    display:block;
    height:210px;
    overflow:hidden;
    background:#eef1f6;
}

.dn-post-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.dn-post-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    background:
        linear-gradient(135deg,var(--navy),var(--navy-3));
    color:var(--yellow);
    font-size:55px;
    font-weight:900;
}

.dn-post-content{
    padding:22px;
}

.dn-post-content small{
    color:var(--muted);
    font-size:11px;
}

.dn-post-content h3{
    margin:7px 0;
    font-size:19px;
    line-height:1.55;
}

.dn-post-content p{
    color:var(--muted);
    font-size:13px;
}

.dn-post-more{
    color:#a37e00;
    font-weight:800;
    font-size:13px;
}

.dn-empty-lessons{
    grid-column:1/-1;
    padding:52px;
    text-align:center;
    border:1px dashed #d7dbe3;
    border-radius:24px;
    background:var(--paper);
}

.dn-empty-lessons > span{
    font-size:42px;
}

.dn-empty-lessons h3{
    margin:10px 0 4px;
    font-size:23px;
}

.dn-empty-lessons p{
    margin:0;
    color:var(--muted);
}


/* PLACEMENT */

.dn-placement{
    padding:0 0 90px;
    background:#fff;
}

.dn-placement-box{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    padding:44px 50px;
    color:#fff;
    background:linear-gradient(135deg,#0c203c,#173e6b);
    border-radius:27px;
}

.dn-placement h2{
    color:#fff;
}

.dn-placement p{
    margin:8px 0 0;
    color:rgba(255,255,255,.65);
}

.dn-btn-yellow{
    flex-shrink:0;
    background:var(--yellow);
    color:var(--navy);
}


/* FOOTER */

.dn-footer{
    background:#07172d;
    color:#fff;
    padding:64px 0 23px;
}

.dn-footer-grid{
    display:grid;
    grid-template-columns:1.7fr repeat(3,1fr);
    gap:55px;
}

.footer-logo{
    margin-bottom:14px;
}

.dn-footer-brand p{
    max-width:390px;
    color:rgba(255,255,255,.55);
    font-size:13px;
}

.dn-footer h4{
    margin:0 0 14px;
    color:var(--yellow);
    font-size:14px;
}

.dn-footer-grid > div:not(:first-child) a{
    display:block;
    margin:8px 0;
    color:rgba(255,255,255,.63);
    font-size:13px;
}

.dn-footer-grid a:hover{
    color:var(--yellow);
}

.dn-footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:30px;
    margin-top:48px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.09);
    color:rgba(255,255,255,.48);
    font-size:12px;
}

.dn-footer-bottom a{
    color:var(--yellow);
    font-weight:700;
}


/* WORDPRESS CONTENT */

.entry-content,
.single .site-main,
.archive .site-main{
    width:min(900px,calc(100% - 40px));
    margin:50px auto;
}


/* MOBILE */

@media (max-width:980px){

    .dn-hero-grid,
    .dn-school-wrap,
    .dn-teacher-grid{
        grid-template-columns:1fr;
    }

    .dn-hero-grid{
        gap:50px;
    }

    .dn-learning-panel{
        max-width:600px;
        width:100%;
        margin:auto;
    }

    .dn-level-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .dn-footer-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .dn-menu-toggle{
        display:block;
    }

    .dn-nav{
        display:none;
        position:absolute;
        top:66px;
        right:20px;
        left:20px;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:11px;
        background:#0d294a;
        border:1px solid rgba(255,255,255,.1);
        box-shadow:0 25px 50px rgba(0,0,0,.22);
        border-radius:18px;
    }

    .dn-nav.is-open{
        display:flex;
    }

    .dn-nav a{
        padding:11px 13px;
        border-radius:9px;
    }

    .dn-nav .dn-nav-cta{
        margin-top:4px;
        text-align:center;
    }

}

@media (max-width:760px){

    .admin-bar .dn-header{
        top:46px;
    }

    .dn-container{
        width:min(100% - 28px,1180px);
    }

    .dn-header-inner{
        min-height:68px;
    }

    .dn-logo-main{
        font-size:23px;
    }

    .dn-logo small{
        display:none;
    }

    .dn-hero{
        padding:58px 0 65px;
    }

    .dn-hero h1{
        font-size:43px;
    }

    .dn-hero-text{
        font-size:15px;
    }

    .dn-hero-actions .dn-btn{
        width:100%;
    }

    .dn-hero-features{
        display:grid;
        gap:5px;
    }

    .dn-learning-panel{
        padding:22px;
        transform:none;
    }

    .dn-section{
        padding:65px 0;
    }

    .dn-section-head{
        align-items:flex-start;
        flex-direction:column;
        gap:14px;
    }

    .dn-level-grid,
    .dn-skills-grid,
    .dn-latest-grid{
        grid-template-columns:1fr;
    }

    .dn-level-card{
        min-height:275px;
    }

    .dn-school-section{
        padding:64px 0;
    }

    .dn-school-wrap{
        padding:28px 20px;
        gap:30px;
    }

    .dn-school-card{
        align-items:flex-start;
    }

    .dn-teacher-grid{
        gap:25px;
    }

    .dn-teacher-visual{
        min-height:350px;
    }

    .dn-herr-avatar{
        width:220px;
        height:280px;
    }

    .dn-floating-note{
        font-size:11px;
    }

    .dn-placement-box{
        flex-direction:column;
        align-items:flex-start;
        padding:30px 24px;
    }

    .dn-placement-box .dn-btn{
        width:100%;
    }

    .dn-footer-grid{
        grid-template-columns:1fr 1fr;
        gap:32px 20px;
    }

    .dn-footer-brand{
        grid-column:1/-1;
    }

    .dn-footer-bottom{
        flex-direction:column;
        gap:8px;
    }

}

@media (max-width:480px){

    .dn-hero h1{
        font-size:36px;
    }

    .dn-footer-grid{
        grid-template-columns:1fr;
    }

    .dn-footer-brand{
        grid-column:auto;
    }

}


/* V2.1 - ACADEMY / COURSES / ACCOUNT */

.dn-account-btn{
    border:1px solid rgba(255,255,255,.22);
    padding:9px 15px !important;
    border-radius:11px;
    color:#fff !important;
}

.dn-account-btn:hover{
    background:#fff;
    color:var(--navy) !important;
}

.dn-courses{
    background:linear-gradient(180deg,#f8fafc,#ffffff);
}

.dn-course-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.dn-course-card{
    position:relative;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    box-shadow:0 14px 40px rgba(11,31,58,.06);
    transition:.25s ease;
}

.dn-course-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 60px rgba(11,31,58,.12);
}

.dn-course-card.featured{
    border:2px solid var(--yellow);
}

.dn-course-badge{
    height:105px;
    display:flex;
    align-items:flex-end;
    padding:20px 24px;
    background:linear-gradient(135deg,#0c2240,#174878);
    color:var(--yellow);
    font-size:34px;
    font-weight:900;
}

.school-badge{
    font-size:23px;
}

.dn-course-ribbon{
    position:absolute;
    top:18px;
    left:-38px;
    width:160px;
    transform:rotate(-38deg);
    text-align:center;
    padding:5px 0;
    background:var(--yellow);
    color:var(--navy);
    font-size:10px;
    font-weight:900;
    z-index:3;
}

.dn-course-body{
    padding:25px;
}

.dn-course-body > small{
    color:#b08700;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
}

.dn-course-body h3{
    margin:6px 0 10px;
    font-size:21px;
    color:var(--navy);
}

.dn-course-body > p{
    margin:0;
    color:var(--muted);
    font-size:13px;
}

.dn-course-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:20px 0;
}

.dn-course-meta span{
    padding:5px 9px;
    background:#f2f4f7;
    border-radius:8px;
    color:#475467;
    font-size:10px;
    font-weight:700;
}

.dn-course-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding-top:18px;
    border-top:1px solid var(--border);
}

.dn-course-price small{
    display:block;
    color:var(--muted);
    font-size:10px;
}

.dn-course-price strong{
    display:block;
    color:var(--navy);
    font-size:18px;
}

.dn-learning-flow{
    margin-top:55px;
    padding:34px;
    border:1px solid var(--border);
    border-radius:25px;
    background:#fff;
}

.dn-flow-head{
    text-align:center;
    margin-bottom:28px;
}

.dn-flow-head h3{
    margin:0;
    font-size:28px;
    color:var(--navy);
}

.dn-flow-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}

.dn-flow-item{
    text-align:center;
    padding:20px 14px;
    border-radius:18px;
    background:var(--paper);
}

.dn-flow-item > span{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin:0 auto 10px;
    border-radius:13px;
    background:var(--yellow);
    color:var(--navy);
    font-weight:900;
}

.dn-flow-item strong{
    display:block;
    color:var(--navy);
}

.dn-flow-item p{
    margin:6px 0 0;
    color:var(--muted);
    font-size:11px;
}

@media (max-width:980px){
    .dn-course-grid{
        grid-template-columns:1fr 1fr;
    }

    .dn-flow-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:760px){
    .dn-course-grid,
    .dn-flow-grid{
        grid-template-columns:1fr;
    }

    .dn-course-footer{
        align-items:flex-start;
        flex-direction:column;
    }

    .dn-course-footer .dn-btn{
        width:100%;
    }
}


/* ==================================================
   Deutschna Internal Pages
   ================================================== */

.dn-inner-page {
    background: #f6f8fc;
    min-height: 65vh;
    padding: 48px 0 70px;
    direction: rtl;
}

.dn-inner-container,
.dn-single-wrap {
    max-width: 1050px;
}

.dn-content-card {
    background: #fff;
    border-radius: 24px;
    padding: clamp(24px, 4vw, 50px);
    box-shadow: 0 14px 45px rgba(6, 34, 73, .08);
}

.dn-page-heading {
    margin-bottom: 30px;
}

.dn-page-heading h1,
.dn-archive-hero h1 {
    font-size: clamp(30px, 5vw, 48px);
    line-height: 1.25;
    color: #062249;
    margin: 8px 0 0;
}

.dn-eyebrow {
    color: #e2ae00;
    font-weight: 800;
    font-size: 14px;
    letter-spacing: .5px;
}

.dn-entry-content {
    color: #26374a;
    font-size: 18px;
    line-height: 2;
}

.dn-entry-content h2,
.dn-entry-content h3,
.dn-entry-content h4 {
    color: #062249;
    margin-top: 32px;
}

.dn-entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}

.dn-archive-hero {
    padding: 10px 0 38px;
}

.dn-archive-description {
    max-width: 800px;
    margin-top: 12px;
    color: #536579;
    line-height: 1.9;
}

.dn-post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.dn-post-card {
    background: #fff;
    border: 1px solid #e8edf4;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(6, 34, 73, .06);
}

.dn-post-image {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.dn-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dn-post-card-body {
    padding: 24px;
}

.dn-post-card h2 {
    font-size: 21px;
    line-height: 1.6;
    margin: 6px 0 13px;
}

.dn-post-card h2 a {
    color: #062249;
    text-decoration: none;
}

.dn-post-meta {
    font-size: 13px;
    color: #8190a0;
}

.dn-post-excerpt,
.dn-post-card p {
    color: #617184;
    line-height: 1.8;
}

.dn-read-more {
    display: inline-flex;
    margin-top: 13px;
    color: #062249;
    font-weight: 800;
    text-decoration: none;
}

.dn-empty-state {
    background: #fff;
    border-radius: 22px;
    padding: 55px 30px;
    text-align: center;
    box-shadow: 0 12px 40px rgba(6,34,73,.07);
}

.dn-empty-state h2,
.dn-empty-state h1 {
    color: #062249;
}

.dn-pagination {
    margin-top: 35px;
}

/* Tutor LMS */
body .tutor-container,
body .tutor-wrap .tutor-container {
    max-width: 1180px;
    padding-left: 20px;
    padding-right: 20px;
}

body .tutor-wrap {
    background: #f6f8fc;
    padding-top: 35px;
    padding-bottom: 60px;
    min-height: 60vh;
}

body .tutor-card {
    border-radius: 18px;
    overflow: hidden;
    border-color: #e7ebf2;
    box-shadow: 0 10px 30px rgba(6,34,73,.07);
}

body .tutor-btn {
    border-radius: 10px;
    font-family: 'Cairo', sans-serif;
}

/* WooCommerce */
body.woocommerce .site-main,
body.woocommerce-page .site-main,
body.woocommerce .woocommerce,
body.woocommerce-page .woocommerce {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

body.woocommerce,
body.woocommerce-page {
    background: #f6f8fc;
}

body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button {
    border-radius: 10px;
    font-family: 'Cairo', sans-serif;
}

/* Never allow plugin content to collapse into a tiny column */
body .tutor-course-filter,
body .tutor-course-list,
body .woocommerce {
    width: 100%;
}

@media (max-width: 900px) {
    .dn-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dn-inner-page {
        padding-top: 25px;
    }

    .dn-post-grid {
        grid-template-columns: 1fr;
    }

    .dn-content-card {
        border-radius: 16px;
        padding: 22px 18px;
    }
}


/* ==================================================
   Deutschna My Account
   ================================================== */

body.woocommerce-account {
    background: #f5f7fb;
}

body.woocommerce-account .dn-inner-page {
    padding-top: 35px;
}

body.woocommerce-account .dn-content-card {
    max-width: 1180px;
    margin: 0 auto;
}

body.woocommerce-account .dn-page-heading {
    margin-bottom: 22px;
}

body.woocommerce-account .dn-page-heading h1 {
    font-size: 34px;
}

body.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation {
    width: 100%;
    float: none;
    background: #062249;
    border-radius: 20px;
    overflow: hidden;
    padding: 12px;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation li {
    margin: 4px 0;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation a {
    display: block;
    padding: 13px 15px;
    border-radius: 11px;
    color: rgba(255,255,255,.82);
    text-decoration: none;
    font-weight: 700;
    transition: .2s ease;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account
.woocommerce-MyAccount-navigation a:hover {
    background: #f3c500;
    color: #062249;
}

body.woocommerce-account
.woocommerce-MyAccount-content {
    width: 100%;
    float: none;
    min-width: 0;
}


/* Welcome panel */

.dn-account-welcome {
    background: linear-gradient(135deg,#062249,#0b3975);
    border-radius: 22px;
    padding: 28px 30px;
    color: #fff;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    margin-bottom: 25px;
}

.dn-account-kicker {
    color: #f3c500;
    font-size: 13px;
    font-weight: 800;
}

.dn-account-welcome h2 {
    color: #fff;
    margin: 6px 0 9px;
    font-size: 28px;
}

.dn-account-welcome p {
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.9;
}

.dn-account-badge {
    flex: 0 0 75px;
    width: 75px;
    height: 75px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: #f3c500;
    color: #062249;

    font-size: 26px;
    font-weight: 900;
}


/* Account cards */

.dn-account-actions {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

.dn-account-action {
    display: flex;
    flex-direction: column;

    min-height: 175px;

    padding: 23px;

    background: #fff;
    border: 1px solid #e7ecf3;
    border-radius: 18px;

    color: #062249;
    text-decoration: none;

    box-shadow: 0 8px 28px rgba(6,34,73,.06);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.dn-account-action:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 35px rgba(6,34,73,.11);
}

.dn-account-action-primary {
    border-top: 4px solid #f3c500;
}

.dn-account-icon {
    font-size: 25px;
    margin-bottom: 16px;
}

.dn-account-action strong {
    font-size: 18px;
    margin-bottom: 6px;
}

.dn-account-action small {
    color: #718096;
    line-height: 1.7;
}


/* Bottom help block */

.dn-account-help {
    margin-top: 24px;

    background: #eef3fa;
    border-radius: 17px;

    padding: 22px 25px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.dn-account-help strong {
    color: #062249;
    font-size: 17px;
}

.dn-account-help p {
    margin: 5px 0 0;
    color: #64748b;
}

.dn-account-help > a {
    flex-shrink: 0;

    display: inline-flex;

    background: #062249;
    color: #fff;

    padding: 11px 18px;

    border-radius: 10px;
    text-decoration: none;
    font-weight: 800;
}


/* Woo account forms */

body.woocommerce-account
.woocommerce-MyAccount-content input {
    border-radius: 9px;
    border: 1px solid #d8e0ea;
    padding: 11px;
}

body.woocommerce-account
.woocommerce-MyAccount-content button.button {
    background: #062249;
    color: #fff;
}


/* Mobile */

@media (max-width: 850px) {

    body.woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account
    .woocommerce-MyAccount-navigation ul {
        display: flex;
        gap: 5px;
        overflow-x: auto;
    }

    body.woocommerce-account
    .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
    }

    .dn-account-actions {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 600px) {

    .dn-account-welcome {
        padding: 22px;
    }

    .dn-account-badge {
        display: none;
    }

    .dn-account-help {
        align-items: stretch;
        flex-direction: column;
    }

    .dn-account-help > a {
        justify-content: center;
    }

}


/* ==========================================================
   Deutschna Tutor LMS Dashboard Fix
   ========================================================== */

body.tutor-screen-frontend-dashboard {
    background: #f5f7fb;
}

/* Main Tutor dashboard area */
body.tutor-screen-frontend-dashboard .tutor-wrap {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 45px 20px 65px;
    background: #f5f7fb;
    direction: rtl;
}

body.tutor-screen-frontend-dashboard .tutor-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0;
}

/* Dashboard wrapper */
body.tutor-screen-frontend-dashboard .tutor-dashboard {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    display: block;
}

/* Profile header */
body.tutor-screen-frontend-dashboard
.tutor-dashboard-header {
    background: #fff;
    border-radius: 22px;
    padding: 25px 28px;
    margin-bottom: 24px;
    box-shadow: 0 10px 35px rgba(6,34,73,.07);
}

/* Main dashboard content */
body.tutor-screen-frontend-dashboard
.tutor-dashboard-content {
    width: 100%;
    max-width: none;
    margin: 0;
}

/* Dashboard layout */
body.tutor-screen-frontend-dashboard
.tutor-dashboard-content-inner {
    width: 100%;
}

/* Tutor cards */
body.tutor-screen-frontend-dashboard
.tutor-card,
body.tutor-screen-frontend-dashboard
.tutor-dashboard-content > div {
    border-radius: 18px;
}

/* Navigation */
body.tutor-screen-frontend-dashboard
.tutor-dashboard-left-menu {
    background: #062249;
    border-radius: 18px;
    padding: 10px;
}

body.tutor-screen-frontend-dashboard
.tutor-dashboard-left-menu ul {
    padding: 0;
    margin: 0;
}

body.tutor-screen-frontend-dashboard
.tutor-dashboard-left-menu li a {
    border-radius: 10px;
    color: rgba(255,255,255,.85);
}

body.tutor-screen-frontend-dashboard
.tutor-dashboard-left-menu li.active a,
body.tutor-screen-frontend-dashboard
.tutor-dashboard-left-menu li a:hover {
    background: #f3c500;
    color: #062249;
}


/* Tutor dashboard columns */

body.tutor-screen-frontend-dashboard
.tutor-row {
    direction: rtl;
}

body.tutor-screen-frontend-dashboard
[class*="tutor-col"] {
    float: none;
}


/* Course cards */

body.tutor-screen-frontend-dashboard
.tutor-course-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(6,34,73,.07);
}


/* Buttons */

body.tutor-screen-frontend-dashboard
.tutor-btn {
    font-family: 'Cairo', sans-serif;
    border-radius: 10px;
}


/* Prevent Tutor from forcing narrow content */

body.tutor-screen-frontend-dashboard
.tutor-dashboard-content,
body.tutor-screen-frontend-dashboard
.tutor-dashboard-content-inner,
body.tutor-screen-frontend-dashboard
.tutor-dashboard {
    min-width: 0;
}


/* Arabic typography */

body.tutor-screen-frontend-dashboard,
body.tutor-screen-frontend-dashboard button,
body.tutor-screen-frontend-dashboard input,
body.tutor-screen-frontend-dashboard select,
body.tutor-screen-frontend-dashboard textarea {
    font-family: 'Cairo', sans-serif;
}


/* Mobile */

@media (max-width: 900px) {

    body.tutor-screen-frontend-dashboard .tutor-wrap {
        padding: 25px 14px 45px;
    }

    body.tutor-screen-frontend-dashboard
    .tutor-dashboard-left-menu {
        margin-bottom: 20px;
    }

}


/* ==================================================
   Deutschna Student Courses
   ================================================== */

.dn-student-page {
    background: #f5f7fb;
    min-height: 70vh;
    padding: 45px 0 70px;
    direction: rtl;
}

.dn-student-hero {
    background: linear-gradient(135deg,#062249,#0d3c7b);
    color: #fff;
    border-radius: 24px;
    padding: 30px 34px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    margin-bottom: 30px;
}

.dn-student-hero h1 {
    color: #fff;
    margin: 6px 0 10px;
    font-size: 34px;
}

.dn-student-hero p {
    color: rgba(255,255,255,.78);
    margin: 0;
    line-height: 1.9;
}

.dn-back-account {
    background: #f3c500;
    color: #062249;
    padding: 11px 18px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
}

.dn-my-courses-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
}

.dn-my-course-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #e7ecf3;
    box-shadow: 0 10px 35px rgba(6,34,73,.07);
}

.dn-my-course-image {
    display: block;
    aspect-ratio: 16/9;
    background: #062249;
}

.dn-my-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dn-course-placeholder {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background:
        linear-gradient(135deg,#062249,#0d3c7b);

    color: #fff;
}

.dn-course-placeholder span {
    color: #f3c500;
    font-size: 54px;
    font-weight: 900;
}

.dn-course-placeholder small {
    margin-top: 4px;
    opacity: .8;
}

.dn-my-course-body {
    padding: 23px;
}

.dn-course-label {
    color: #d2a900;
    font-size: 12px;
    font-weight: 800;
}

.dn-my-course-body h2 {
    margin: 7px 0 19px;
    font-size: 21px;
    line-height: 1.6;
}

.dn-my-course-body h2 a {
    color: #062249;
    text-decoration: none;
}

.dn-course-progress {
    margin-bottom: 18px;
}

.dn-course-progress-head {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #667788;
    margin-bottom: 7px;
}

.dn-course-progress-bar {
    height: 8px;
    background: #edf1f6;
    border-radius: 20px;
    overflow: hidden;
}

.dn-course-progress-bar span {
    display: block;
    height: 100%;
    background: #f3c500;
    border-radius: inherit;
}

.dn-continue-course {
    display: flex;
    justify-content: center;

    background: #062249;
    color: #fff;

    text-decoration: none;
    font-weight: 800;

    padding: 11px 15px;
    border-radius: 10px;
}

.dn-no-courses {
    background: #fff;
    border-radius: 22px;
    padding: 55px 30px;
    text-align: center;
    box-shadow: 0 12px 40px rgba(6,34,73,.07);
}

.dn-no-courses-icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #062249;
    color: #f3c500;

    border-radius: 18px;
    font-size: 24px;
    font-weight: 900;
}

.dn-no-courses h2 {
    color: #062249;
}

.dn-no-courses p {
    color: #6b7b8d;
}

.dn-no-courses a {
    display: inline-flex;
    margin-top: 10px;

    background: #f3c500;
    color: #062249;

    padding: 11px 18px;
    border-radius: 10px;

    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 900px) {

    .dn-my-courses-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 620px) {

    .dn-student-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .dn-my-courses-grid {
        grid-template-columns: 1fr;
    }

}


/* ==================================================
   Deutschna Clean My Account
   ================================================== */

body.woocommerce-account .dn-content-card {
    max-width: 1080px;
}

body.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 190px minmax(0,1fr);
    gap: 24px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #062249;
    border-radius: 18px;
    padding: 10px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: block;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    padding: 12px 14px;
    font-size: 14px;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 0;
}

.dn-account-clean {
    width: 100%;
}

.dn-account-clean-hero {
    background: linear-gradient(135deg,#062249,#0b3975);
    color: #fff;
    border-radius: 20px;
    padding: 24px 26px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 22px;
}

.dn-account-clean-hero span {
    color: #f3c500;
    font-size: 12px;
    font-weight: 800;
}

.dn-account-clean-hero h2 {
    color: #fff;
    margin: 5px 0 7px;
    font-size: 25px;
}

.dn-account-clean-hero p {
    margin: 0;
    color: rgba(255,255,255,.8);
    line-height: 1.8;
}

.dn-account-clean-badge {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border-radius: 16px;
    background: #f3c500;
    color: #062249;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 22px;
}

.dn-account-clean-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
}

.dn-account-clean-card {
    background: #fff;
    border: 1px solid #e7ecf3;
    border-radius: 16px;
    padding: 20px;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(6,34,73,.05);
    transition: .2s ease;
}

.dn-account-clean-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(6,34,73,.09);
}

.dn-card-icon {
    font-size: 23px;
    margin-bottom: 12px;
}

.dn-account-clean-card strong {
    color: #062249;
    font-size: 17px;
    margin-bottom: 5px;
}

.dn-account-clean-card small {
    color: #738196;
    line-height: 1.7;
}

@media (max-width: 850px) {

    body.woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        overflow-x: auto;
        gap: 6px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
    }

    .dn-account-clean-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {

    .dn-account-clean-hero {
        align-items: flex-start;
    }

    .dn-account-clean-badge {
        display: none;
    }
}


/* ==================================================
   FINAL My Account Dashboard Layout
   ================================================== */

/* Dashboard only */
body.woocommerce-account:not(.woocommerce-orders)
.woocommerce-MyAccount-content:has(.dn-account-clean) {
    width: 100%;
}

/* Hide WC left navigation ONLY on account dashboard */
body.woocommerce-account
.woocommerce:has(.dn-account-clean)
.woocommerce-MyAccount-navigation {
    display: none;
}

/* Force dashboard content full width */
body.woocommerce-account
.woocommerce:has(.dn-account-clean) {
    display: block;
    width: 100%;
}

body.woocommerce-account
.woocommerce:has(.dn-account-clean)
.woocommerce-MyAccount-content {
    width: 100%;
    max-width: 100%;
    float: none;
    margin: 0;
}

/* Main dashboard wrapper */
body.woocommerce-account .dn-account-clean {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

/* Hero */
body.woocommerce-account .dn-account-clean-hero {
    width: 100%;
    box-sizing: border-box;
}

/* Cards grid */
body.woocommerce-account .dn-account-clean-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    align-items: stretch;
}

/* Individual cards */
body.woocommerce-account .dn-account-clean-card {
    width: 100%;
    min-width: 0;
    min-height: 170px;
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;

    padding: 24px;

    border-radius: 18px;
    background: #fff;
    border: 1px solid #e7ecf3;

    box-shadow: 0 8px 28px rgba(6,34,73,.06);
}

/* Make first card slightly emphasized */
body.woocommerce-account
.dn-account-clean-card:first-child {
    border-top: 4px solid #f3c500;
}

/* Icon */
body.woocommerce-account .dn-card-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;
    background: #f3c500;
    color: #062249;

    font-size: 20px;
    margin-bottom: 17px;
}

/* Text */
body.woocommerce-account .dn-account-clean-card strong {
    display: block;
    font-size: 18px;
    line-height: 1.5;
    color: #062249;
    margin-bottom: 7px;
}

body.woocommerce-account .dn-account-clean-card small {
    display: block;
    font-size: 14px;
    color: #718096;
    line-height: 1.8;
}

/* Remove any inherited Woo spacing */
body.woocommerce-account
.woocommerce-MyAccount-content > *:first-child {
    margin-top: 0;
}

body.woocommerce-account
.woocommerce-MyAccount-content > *:last-child {
    margin-bottom: 0;
}


/* Tablet */
@media (max-width: 900px) {

    body.woocommerce-account .dn-account-clean-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */
@media (max-width: 650px) {

    body.woocommerce-account .dn-account-clean {
        max-width: 100%;
    }

    body.woocommerce-account .dn-account-clean-grid {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account .dn-account-clean-card {
        min-height: 140px;
    }

}


/* ==================================================
   Deutschna Courses
   ================================================== */

.dn-courses-page {
    background: #f5f7fb;
    min-height: 70vh;
    direction: rtl;
}

.dn-courses-hero {
    background: linear-gradient(135deg,#062249,#0b3975);
    padding: 55px 0;
    color: #fff;
}

.dn-courses-kicker {
    color: #f3c500;
    font-weight: 800;
    font-size: 14px;
}

.dn-courses-hero h1 {
    color: #fff;
    font-size: clamp(34px,5vw,52px);
    margin: 8px 0 12px;
}

.dn-courses-hero p {
    max-width: 700px;
    color: rgba(255,255,255,.8);
    font-size: 18px;
    line-height: 1.9;
    margin: 0;
}

.dn-courses-section {
    padding: 50px 0 75px;
}

.dn-courses-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 26px;
}

.dn-course-card {
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid #e6ebf2;
    box-shadow: 0 12px 38px rgba(6,34,73,.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.dn-course-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 48px rgba(6,34,73,.13);
}

.dn-course-cover {
    display: block;
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #062249;
}

.dn-course-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.dn-course-card:hover .dn-course-cover img {
    transform: scale(1.03);
}

.dn-course-cover-placeholder {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: linear-gradient(135deg,#062249,#0d4085);
}

.dn-course-cover-placeholder span {
    font-size: 60px;
    color: #f3c500;
    font-weight: 900;
}

.dn-course-level {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #f3c500;
    color: #062249;
    font-weight: 900;
    padding: 6px 12px;
    border-radius: 9px;
}

.dn-course-card-body {
    padding: 25px;
}

.dn-course-brand {
    color: #d2a900;
    font-size: 12px;
    font-weight: 800;
}

.dn-course-card h2 {
    font-size: 23px;
    line-height: 1.55;
    margin: 7px 0 10px;
}

.dn-course-card h2 a {
    color: #062249;
    text-decoration: none;
}

.dn-course-desc {
    color: #68798c;
    line-height: 1.85;
    margin-bottom: 18px;
}

.dn-course-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 18px;
    border-bottom: 1px solid #edf0f4;
}

.dn-course-features span {
    background: #f5f7fb;
    color: #526477;
    padding: 6px 9px;
    border-radius: 8px;
    font-size: 12px;
}

.dn-course-instructor {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 18px 0;
}

.dn-teacher-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #062249;
    color: #f3c500;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.dn-course-instructor small {
    display: block;
    color: #8793a1;
    font-size: 11px;
}

.dn-course-instructor strong {
    color: #062249;
}

.dn-course-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.dn-course-price {
    color: #062249;
    font-size: 21px;
    font-weight: 900;
}

.dn-course-price del {
    font-size: 13px;
    color: #9aa5b1;
}

.dn-course-price ins {
    text-decoration: none;
}

.dn-course-button {
    background: #f3c500;
    color: #062249;
    padding: 10px 16px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .dn-courses-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .dn-courses-grid {
        grid-template-columns: 1fr;
    }

    .dn-course-bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .dn-course-button {
        text-align: center;
    }
}


/* =========================================================
   Deutschna Lesson Content
   ========================================================= */

.dn-lesson-content {
    direction: rtl;
    color: #25364a;
    font-size: 17px;
    line-height: 1.95;
    max-width: 940px;
}

.dn-lesson-content h1,
.dn-lesson-content h2,
.dn-lesson-content h3 {
    color: #062249;
}

.dn-lesson-content h2 {
    margin-top: 36px;
    margin-bottom: 14px;
    font-size: 26px;
}

.dn-lesson-intro {
    background: linear-gradient(135deg,#062249,#0d4085);
    padding: 32px;
    border-radius: 20px;
    color: #fff;
    margin-bottom: 28px;
}

.dn-lesson-intro h1 {
    color: #fff;
    margin: 7px 0 10px;
    font-size: 34px;
}

.dn-lesson-intro p {
    color: rgba(255,255,255,.86);
    margin: 0;
}

.dn-lesson-label {
    display: inline-block;
    background: #f3c500;
    color: #062249;
    padding: 5px 12px;
    border-radius: 8px;
    font-weight: 900;
    font-size: 13px;
}

.dn-lesson-goals,
.dn-lesson-summary {
    background: #f5f8fc;
    border: 1px solid #e4ebf4;
    border-radius: 16px;
    padding: 20px 24px;
    margin: 24px 0;
}

.dn-lesson-goals h2,
.dn-lesson-summary h2 {
    margin-top: 0;
}

.dn-word-box {
    direction: ltr;
    text-align: center;
    background: #fff8d8;
    border: 1px solid #f1db69;
    color: #062249;
    border-radius: 14px;
    padding: 17px;
    margin: 18px 0;
    font-size: 22px;
    font-weight: 800;
}

.dn-example-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 15px;
    margin: 20px 0;
}

.dn-example-card {
    background: #fff;
    border: 1px solid #e3e9f1;
    border-radius: 14px;
    padding: 18px;
}

.dn-example-card h3 {
    margin-top: 0;
}

.dn-tip {
    background: #edf7ff;
    border-right: 4px solid #1976d2;
    border-radius: 10px;
    padding: 16px 18px;
    margin: 22px 0;
}

.dn-dialogue {
    direction: ltr;
    text-align: left;
    background: #f6f7f9;
    border-radius: 14px;
    padding: 18px 22px;
    margin: 18px 0;
}

.dn-dialogue p {
    margin: 5px 0;
}

.dn-sentence-box {
    direction: ltr;
    text-align: left;
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
    padding: 18px 22px;
}

.dn-lesson-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: #fff;
}

.dn-lesson-table th {
    background: #062249;
    color: #fff;
}

.dn-lesson-table th,
.dn-lesson-table td {
    padding: 12px 14px;
    border: 1px solid #e1e6ed;
}

.dn-lesson-table td:first-child {
    font-weight: 700;
}

.dn-exercise {
    background: #fff;
    border: 2px solid #eceff3;
    border-radius: 16px;
    padding: 22px;
    margin: 20px 0;
}

.dn-exercise details {
    margin-top: 15px;
    background: #f5f8fc;
    border-radius: 10px;
    padding: 12px 15px;
}

.dn-exercise summary {
    cursor: pointer;
    color: #062249;
    font-weight: 800;
}

@media(max-width:700px) {

    .dn-example-grid {
        grid-template-columns: 1fr;
    }

    .dn-lesson-intro {
        padding: 23px 19px;
    }

    .dn-lesson-intro h1 {
        font-size: 27px;
    }

    .dn-lesson-content {
        font-size: 16px;
    }

    .dn-lesson-table {
        font-size: 14px;
    }

}


/* Deutschna pronunciation */

.dn-speak {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-inline-start: 8px;
    border: 0;
    border-radius: 50%;
    background: #f3c500;
    color: #062249;
    cursor: pointer;
    font-size: 16px;
    vertical-align: middle;
    transition: transform .2s ease, box-shadow .2s ease;
}

.dn-speak:hover {
    transform: scale(1.08);
    box-shadow: 0 5px 14px rgba(6,34,73,.18);
}



/* ==================================================
   Deutschna Audio V3
   ================================================== */

.dn-speak {
    appearance: none;
    border: 0;
    outline: 0;
    background: #f3c500;
    color: #062249;

    width: 34px;
    height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    margin-inline-start: 8px;

    cursor: pointer;

    font-size: 15px;
    line-height: 1;

    vertical-align: middle;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.dn-speak:hover {
    transform: translateY(-1px) scale(1.06);
    box-shadow: 0 5px 15px rgba(6,34,73,.17);
}

.dn-speak:active {
    transform: scale(.94);
}

.dn-word-box .dn-speak {
    margin-left: 10px;
}

.dn-dialogue .dn-speak,
.dn-sentence-box .dn-speak {
    width: 30px;
    height: 30px;
    font-size: 13px;
}

