/* ==========================================================
   ENGLISH JUMPSTART - GLOBAL THEME
========================================================== */

:root{
    --bg:#ffffff;
    --card:#ffffff;

    --text:#222222;
    --text2:#666666;

    --border:#dddddd;

    --primary:#e53935;

    --shadow:
        0 4px 12px rgba(0,0,0,.08);

    --shadow-hover:
        0 8px 22px rgba(0,0,0,.12);
}


/* ==========================================================
   DARK MODE
========================================================== */

[data-theme="dark"]{

    --bg:#111827;
    --card:#1f2937;

    --text:#f3f4f6;
    --text2:#cbd5e1;

    --border:#374151;

    --primary:#60a5fa;

    --shadow:
        0 8px 20px rgba(0,0,0,.5);

    --shadow-hover:
        0 12px 28px rgba(0,0,0,.6);
}


/* ==========================================================
   GLOBAL
========================================================== */

html{
    background:var(--bg);

    transition:
        background .3s ease;
}

body{
    margin:0;

    background:var(--bg);

    color:var(--text);

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    transition:
        background .3s ease,
        color .3s ease;
}



/* ==========================================================
   English Jumpstart - Style Card
========================================================== */

.header{
    text-align:center;
    padding:20px;
}

.container{
    padding:20px;
}

.video-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:18px;
}

.video-card{

background:var(--card);

color:var(--text);

border:1px solid var(--border);

border-radius:12px;

overflow:hidden;

box-shadow:var(--shadow);

transition:.25s;

}

.video-card:hover{
    transform:translateY(-4px);
}

.video-card img{
    width:100%;
    display:block;
}

.video-card h3{

font-size:15px;

padding:14px;

margin:0;

color:var(--text);

}

/* =====================================================
   PAGINATION
===================================================== */

.pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:35px 0 50px;
}

.pagination a,
.pagination span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:42px;
    padding:0 14px;
    border-radius:22px;
    border:1px solid var(--border);
    background:var(--card);
    color:var(--text);
    text-decoration:none;
    box-sizing:border-box;
    transition:.2s;
}

.pagination a:hover{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}

.pagination .active{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
    font-weight:700;
}

.pagination .disabled{
    opacity:.4;
    cursor:not-allowed;
}

@media(max-width:600px){

    .pagination{
        gap:5px;
    }

    .pagination a,
    .pagination span{
        min-width:36px;
        height:36px;
        padding:0 10px;
        font-size:14px;
    }

}

.load-more a{
    padding:12px 24px;
    border-radius:30px;
    text-decoration:none;
}

.btn-channel{
    padding:12px 22px;
    border-radius:25px;
    text-decoration:none;
    display:inline-block;
    margin:5px;
}

.footer-part{
    text-align:center;
    margin-top:20px;
}

.subscribe-box{
    text-align:center;
    margin-top:20px;
}

.sub-btn{

background:#ff0000;

color:white;

}

.sub-count{
    margin-top:10px;
    font-size:18px;
}

#videoPlayer{
    border-radius:16px;
}

@media(max-width:768px){

    #videoPlayer{
        height:250px;
    }

}


.hero{

text-align:center;

padding:0px 40px;

}

.hero h1{

font-size:42px;

margin-bottom:15px;

color:var(--text);

}

.hero p{

font-size:20px;

max-width:850px;

margin:auto;

color:var(--text2);

}

/* ==========================================================
   English Jumpstart - SEO Content
========================================================== */

.seo-section {
    max-width: 1100px;
    margin: 60px auto;
    padding: 40px 20px;
    color: var(--text);
}

.seo-section h2 {
    font-size: 32px;
    margin-bottom: 18px;
    text-align: center;
}

.seo-section > p {
    max-width: 850px;
    margin: 0 auto 35px;
    text-align: center;
    line-height: 1.8;
    color: var(--text2);
}

.seo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.seo-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--shadow);
}

.seo-card h4 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 18px;
    color: var(--text);
}

.seo-card p {
    margin: 0;
    line-height: 1.7;
    color: var(--text2);
}

.cta-box {
    max-width: 800px;
    margin: 45px auto 0;
    padding: 30px;
    text-align: center;
    border-radius: 20px;
    background: var(--card);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

.cta-box h3 {
    margin-top: 0;
    font-size: 26px;
}

.cta-box p {
    color: var(--text2);
    line-height: 1.7;
}

.cta-box a {
    display: inline-block;
    margin-top: 10px;
    padding: 12px 22px;
    border-radius: 25px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 900px) {

    .seo-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 600px) {

    .seo-section {
        padding: 30px 15px;
    }

    .seo-section h2 {
        font-size: 26px;
    }

    .seo-grid {
        grid-template-columns: 1fr;
    }

}



    /* =========================================================
   VIDEO DROPDOWN - FIXED
========================================================= */

.nav-dropdown{
    position:relative;
    z-index:5000;
}


/* Video button */

.nav-dropdown-btn{
    position:relative;

    border:0;
    background:transparent;

    font:inherit;
    color:inherit;

    cursor:pointer;

    padding:10px 13px;

    display:flex;
    align-items:center;
    gap:6px;

    border-radius:8px;

    white-space:nowrap;

    transition:
        background .18s ease,
        color .18s ease;
}

.nav-dropdown-btn:hover{
    background:#f1f5f9;
}

.nav-dropdown-btn.active{
    color:#16a34a;
    font-weight:700;
}


/* Arrow */

.dropdown-arrow{
    font-size:10px;

    transition:
        transform .2s ease;
}

.nav-dropdown:hover
.dropdown-arrow{
    transform:rotate(180deg);
}


/* =========================================================
   DROPDOWN
========================================================= */

.nav-dropdown-menu{

    position:absolute;

    top:calc(100% + 2px);

    left:50%;

    transform:
        translateX(-50%)
        translateY(8px);

    width:250px;

    padding:8px;

    margin-top:0;

    background:#fff;

    border:1px solid #e2e8f0;

    border-radius:14px;

    box-shadow:
        0 18px 45px rgba(15,23,42,.18);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    z-index:99999;

    transition:
        opacity .15s ease,
        transform .15s ease,
        visibility .15s ease;
}


/*
   IMPORTANT:
   Invisible bridge between Video and dropdown.
   Prevents the menu from disappearing while
   moving the mouse downward.
*/

.nav-dropdown-menu::before{

    content:"";

    position:absolute;

    left:0;
    right:0;

    top:-12px;

    height:12px;

}


/* Desktop */

@media(min-width:769px){

    .nav-dropdown:hover
    .nav-dropdown-menu{

        opacity:1;

        visibility:visible;

        pointer-events:auto;

        transform:
            translateX(-50%)
            translateY(0);

    }

}


/* =========================================================
   DROPDOWN ITEMS
========================================================= */

.nav-dropdown-menu a{

    position:relative;

    display:flex;

    align-items:center;

    gap:11px;

    width:100%;

    padding:11px;

    border-radius:10px;

    text-decoration:none;

    color:#172033;

    background:transparent;

    z-index:1;

    transition:
        background .15s ease,
        color .15s ease;
}


.nav-dropdown-menu a:hover{

    background:#ecfdf5;

    color:#15803d;

}


.nav-dropdown-menu a.active{

    background:#ecfdf5;

    color:#15803d;

}


/* Icon */

.dropdown-icon{

    width:36px;
    height:36px;

    flex:none;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:9px;

    background:#f1f5f9;

    font-size:17px;
}


.nav-dropdown-menu a:hover
.dropdown-icon{

    background:#d1fae5;

}


/* Text */

.dropdown-text{

    display:flex;

    flex-direction:column;

    min-width:0;

}


.dropdown-text strong{

    font-size:14px;

    line-height:1.25;

}


.dropdown-text small{

    margin-top:2px;

    font-size:11px;

    color:#64748b;

    line-height:1.3;

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:768px){

    .nav-dropdown{

        width:100%;

        z-index:auto;

    }


    .nav-dropdown-btn{

        width:100%;

        justify-content:space-between;

        padding:12px 13px;

    }


    .nav-dropdown-menu{

        position:static;

        width:100%;

        margin:4px 0 0;

        padding:4px;

        transform:none;

        opacity:1;

        visibility:visible;

        pointer-events:auto;

        display:none;

        box-shadow:none;

        border:0;

        border-radius:10px;

        background:#f8fafc;

    }


    .nav-dropdown-menu.show{

        display:block;

    }


    .nav-dropdown-menu::before{

        display:none;

    }


    .nav-dropdown.open
    .dropdown-arrow{

        transform:rotate(180deg);

    }

}

/* =========================================================
   NAVIGATION DROPDOWN STACKING FIX
========================================================= */

.nav-container{
    position:relative;
    z-index:5000;
    overflow:visible !important;
}

.nav-links{
    position:relative;
    z-index:5000;
    overflow:visible !important;
}

.nav-dropdown{
    position:relative;
    z-index:9999;
}

.nav-dropdown-menu{
    z-index:99999 !important;
}


/* ==========================================================
   ENGLISH JUMPSTART - PHONETIC CHART
========================================================== */

.phonetic-page{
    width:100%;
}


/* ==========================================================
   PAGE
========================================================== */

.phonetic-page .page{
    width:100%;
    max-width:1250px;
    margin:0 auto;
    padding:32px 20px 60px;
}


/* ==========================================================
   HEADER
========================================================== */

.phonetic-page .header{
    text-align:center;
    margin-bottom:22px;
}

.phonetic-page .header .logo{
    width:64px;
    height:64px;

    margin:0 auto 14px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #16a34a,
        #22c55e
    );

    color:#fff;

    font-size:30px;

    box-shadow:
        0 8px 22px rgba(22,163,74,.25);
}

.phonetic-page .header h1{
    margin:0;

    font-size:clamp(28px,4vw,40px);

    line-height:1.15;

    font-weight:800;

    color:var(--text);
}

.phonetic-page .header p{
    max-width:650px;

    margin:12px auto 0;

    color:var(--text2);

    font-size:16px;

    line-height:1.6;
}


/* ==========================================================
   YOUTUBE SUBSCRIBE
========================================================== */

.phonetic-page .youtube-subscribe{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:9px;

    margin:20px auto 8px;

    padding:12px 20px;

    background:#dc2626;

    color:#fff;

    text-decoration:none;

    border-radius:30px;

    font-size:15px;

    font-weight:700;

    box-shadow:
        0 6px 16px rgba(220,38,38,.20);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.phonetic-page .youtube-subscribe:hover{
    background:#b91c1c;

    transform:translateY(-2px);

    box-shadow:
        0 9px 22px rgba(220,38,38,.28);
}

.phonetic-page .youtube-subscribe:active{
    transform:scale(.97);
}

.phonetic-page .youtube-icon{
    font-size:18px;
}


/* ==========================================================
   INSTRUCTION
========================================================== */

.phonetic-page .instruction{
    display:flex;

    align-items:center;
    justify-content:center;

    gap:8px;

    margin:18px auto 35px;

    max-width:700px;

    padding:12px 16px;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:14px;

    color:var(--text2);

    font-size:14px;

    box-shadow:var(--shadow);
}

.phonetic-page .instruction-icon{
    font-size:18px;
}


/* ==========================================================
   SECTION
========================================================== */

.phonetic-page .section{
    margin-bottom:40px;
}

.phonetic-page .section-header{
    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:16px;
}

.phonetic-page .section-icon{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    font-size:21px;
}

.phonetic-page .section.vowels .section-icon{
    background:#ecfdf5;
}

.phonetic-page .section.diphthongs .section-icon{
    background:#eff6ff;
}

.phonetic-page .section.consonants .section-icon{
    background:#f5f3ff;
}

.phonetic-page .section-header h2{
    margin:0;

    font-size:23px;

    font-weight:800;

    color:var(--text);
}

.phonetic-page .section-count{
    margin-left:auto;

    padding:5px 10px;

    border-radius:20px;

    background:#eef2f7;

    color:var(--text2);

    font-size:12px;

    font-weight:600;
}


/* ==========================================================
   SOUND GRID
========================================================== */

.phonetic-page .sound-grid{
    display:grid;

    grid-template-columns:
        repeat(auto-fill,minmax(145px,1fr));

    gap:14px;
}


/* ==========================================================
   SOUND CARD
========================================================== */

.phonetic-page .sound-card{
    position:relative;

    min-height:165px;

    padding:18px 14px 16px;

    background:var(--card);

    border:2px solid var(--border);

    border-radius:18px;

    text-align:center;

    cursor:pointer;

    user-select:none;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.phonetic-page .sound-card:hover{
    transform:translateY(-3px);

    box-shadow:var(--shadow-hover);

    border-color:#cbd5e1;
}

.phonetic-page .sound-card:active{
    transform:scale(.97);
}


/* ==========================================================
   IPA
========================================================== */

.phonetic-page .sound-ipa{
    font-size:34px;

    line-height:1.2;

    font-weight:800;

    color:#15803d;

    margin-bottom:9px;
}


/* ==========================================================
   WORD
========================================================== */

.phonetic-page .sound-word{
    font-size:18px;

    font-weight:750;

    line-height:1.25;

    color:var(--text);
}

.phonetic-page .sound-word-ipa{
    margin-top:5px;

    font-size:13px;

    color:var(--text2);
}


/* ==========================================================
   SPEAKER
========================================================== */

.phonetic-page .sound-speaker{
    width:38px;
    height:38px;

    margin:13px auto 0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#f1f5f9;

    font-size:17px;

    transition:.18s ease;
}

.phonetic-page .sound-card:hover .sound-speaker{
    background:#ecfdf5;
}

.phonetic-page .sound-card.playing{
    border-color:#16a34a;

    background:#ecfdf5;

    box-shadow:
        0 8px 25px rgba(22,163,74,.16);
}

.phonetic-page .sound-card.playing .sound-speaker{
    background:#16a34a;

    color:#fff;

    transform:scale(1.08);
}


/* ==========================================================
   DIPHTHONGS
========================================================== */

.phonetic-page .section.diphthongs .sound-ipa{
    color:#2563eb;
}

.phonetic-page .section.diphthongs .sound-card.playing{
    border-color:#2563eb;

    background:#eff6ff;
}

.phonetic-page .section.diphthongs
.sound-card.playing .sound-speaker{
    background:#2563eb;
}


/* ==========================================================
   CONSONANTS
========================================================== */

.phonetic-page .section.consonants .sound-ipa{
    color:#7c3aed;
}

.phonetic-page .section.consonants .sound-card.playing{
    border-color:#7c3aed;

    background:#f5f3ff;
}

.phonetic-page .section.consonants
.sound-card.playing .sound-speaker{
    background:#7c3aed;
}


/* ==========================================================
   BOTTOM SUBSCRIBE
========================================================== */

.phonetic-page .bottom-subscribe{
    text-align:center;

    margin-top:45px;

    padding:30px 20px;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:20px;

    box-shadow:var(--shadow);
}

.phonetic-page .bottom-subscribe-title{
    margin-bottom:6px;

    font-size:20px;

    font-weight:800;

    color:var(--text);
}

.phonetic-page .bottom-subscribe-text{
    margin-bottom:12px;

    color:var(--text2);

    font-size:14px;
}


/* ==========================================================
   FOOTER
========================================================== */

.phonetic-page .footer{
    text-align:center;

    margin-top:25px;

    color:var(--text2);

    font-size:13px;
}


/* ==========================================================
   PHONETIC - TABLET
========================================================== */

@media(max-width:900px){

    .phonetic-page .page{
        padding:28px 18px 50px;
    }

    .phonetic-page .sound-grid{
        grid-template-columns:
            repeat(4,1fr);

        gap:12px;
    }

    .phonetic-page .sound-card{
        min-height:155px;
    }

}


/* ==========================================================
   PHONETIC - MOBILE
========================================================== */

@media(max-width:600px){

    .phonetic-page .page{
        padding:20px 12px 40px;
    }

    .phonetic-page .header{
        margin-bottom:18px;
    }

    .phonetic-page .header .logo{
        width:56px;
        height:56px;

        font-size:27px;

        margin-bottom:12px;
    }

    .phonetic-page .header h1{
        font-size:28px;
    }

    .phonetic-page .header p{
        font-size:14px;

        line-height:1.5;
    }

    .phonetic-page .youtube-subscribe{
        margin-top:16px;

        padding:11px 18px;

        font-size:14px;
    }

    .phonetic-page .instruction{
        margin:14px 0 25px;

        font-size:13px;

        padding:11px 12px;
    }

    .phonetic-page .section{
        margin-bottom:32px;
    }

    .phonetic-page .section-header{
        margin-bottom:12px;
    }

    .phonetic-page .section-icon{
        width:38px;
        height:38px;
    }

    .phonetic-page .section-header h2{
        font-size:20px;
    }

    .phonetic-page .section-count{
        font-size:11px;
    }

    .phonetic-page .sound-grid{
        grid-template-columns:
            repeat(2,1fr);

        gap:9px;
    }

    .phonetic-page .sound-card{
        min-height:145px;

        padding:15px 8px 13px;

        border-radius:15px;
    }

    .phonetic-page .sound-ipa{
        font-size:30px;

        margin-bottom:7px;
    }

    .phonetic-page .sound-word{
        font-size:16px;
    }

    .phonetic-page .sound-word-ipa{
        font-size:12px;
    }

    .phonetic-page .sound-speaker{
        width:35px;
        height:35px;

        margin-top:10px;
    }

    .phonetic-page .bottom-subscribe{
        margin-top:35px;

        padding:24px 15px;

        border-radius:17px;
    }

    .phonetic-page .bottom-subscribe-title{
        font-size:18px;
    }

}


/* ==========================================================
   PHONETIC - VERY SMALL PHONES
========================================================== */

@media(max-width:360px){

    .phonetic-page .page{
        padding-left:9px;
        padding-right:9px;
    }

    .phonetic-page .sound-grid{
        gap:7px;
    }

    .phonetic-page .sound-card{
        min-height:140px;
    }

    .phonetic-page .sound-ipa{
        font-size:27px;
    }

    .phonetic-page .sound-word{
        font-size:15px;
    }

}

