/* =====================================================
   KOSMEDI Sprachtrainer Mobile CSS
   Version 3
   ===================================================== */

*{
    box-sizing:border-box;
}

html{
    font-size:16px;
}

body{
    margin:0;
    padding:0;
    background:#111;
    color:#f5f5f5;
    font-family:Arial,Helvetica,sans-serif;
}

.wrap,
.box{
    width:100%;
    max-width:1100px;
    margin:0 auto;
    padding:12px;
}

/* ==========================
   Karten
   ========================== */

.card,
.line{
    background:#1f1f1f;
    color:#fff;
    border-radius:16px;
    padding:18px;
    margin:12px 0;
    box-shadow:0 2px 8px rgba(0,0,0,.35);
    border:1px solid #2f2f2f;
}

/* ==========================
   Überschriften
   ========================== */

h1{
    font-size:2rem;
    margin:12px 0;
}

h2{
    font-size:1.5rem;
    margin:10px 0;
}

/* ==========================
   Sprachtrainer Inhalte
   ========================== */

.hu,
.word{
    font-size:2rem;
    font-weight:bold;
    line-height:1.2;
}

.de{
    font-size:1.3rem;
    margin-top:8px;
}

.small,
.pron{
    color:#bdbdbd;
    font-size:1rem;
    margin-top:6px;
}

/* ==========================
   Themenlabel
   ========================== */

.badge{
    display:inline-block;
    background:#1565c0;
    color:white;
    padding:6px 10px;
    border-radius:8px;
    font-size:.9rem;
    margin-bottom:10px;
}

/* ==========================
   Buttons
   ========================== */

.btn,
button,
.audio-btn{
    display:block;
    width:100%;
    border:none;
    border-radius:12px;
    background:#1976d2;
    color:white;
    text-align:center;
    text-decoration:none;
    padding:14px;
    margin:12px 0;
    font-size:1.2rem;
    cursor:pointer;
}

.btn.green{
    background:#2e7d32;
}

.btn.orange{
    background:#ef6c00;
}

.btn.gray{
    background:#455a64;
}

.audio-btn{
    background:#1565c0;
    font-weight:bold;
}

/* ==========================
   Audio verstecken
   ========================== */

audio{
    display:none;
}

/* ==========================
   Info Boxen
   ========================== */

.info{
    background:#222;
    color:#eee;
    padding:12px;
    border-radius:12px;
}

.correct{
    background:#1b5e20;
    color:white;
}

.wrong{
    background:#7f1d1d;
    color:white;
}

.solution{
    background:#222;
    color:white;
}

/* ==========================
   Menü
   ========================== */

.appbar{
    position:sticky;
    top:0;
    z-index:999;
    display:flex;
    gap:8px;
    padding:8px;
    background:#061018;
}

.menu-btn,
.back-btn{
    flex:1;
    padding:12px;
    border-radius:12px;
    border:none;
    background:#0d47a1;
    color:white;
    text-decoration:none;
    text-align:center;
    font-size:1.1rem;
}

.mobile-menu{
    display:none;
    background:#111;
    padding:8px;
}

.mobile-menu.show{
    display:block;
}

.mobile-menu a{
    display:block;
    background:#1f1f1f;
    color:white;
    text-decoration:none;
    padding:14px;
    margin:8px 0;
    border-radius:12px;
    font-size:1.1rem;
}

/* =====================================================
   SMARTPHONE OPTIMIERUNG
   ===================================================== */

@media (max-width:700px){

    body{
        font-size:22px;
    }

    .wrap,
    .box{
        padding:10px;
        max-width:none;
    }

    .card,
    .line{
        padding:22px;
        margin:14px 0;
    }

    h1{
        font-size:3rem;
        line-height:1.1;
    }

    h2{
        font-size:2rem;
    }

    /* Ungarisches Wort */
    .hu,
    .word{
        font-size:3.5rem;
        line-height:1.1;
        margin-bottom:12px;
    }

    /* Deutsche Übersetzung */
    .de{
        font-size:2.3rem;
        line-height:1.2;
        margin-top:10px;
        margin-bottom:10px;
    }

    /* Aussprache */
    .small,
    .pron{
        font-size:1.5rem;
        line-height:1.3;
    }

    .badge{
        font-size:1.2rem;
        padding:8px 12px;
    }

    .audio-btn{
        font-size:2rem;
        padding:22px;
    }

    .menu-btn,
    .back-btn{
        font-size:1.4rem;
        padding:18px;
    }

    .mobile-menu a{
        font-size:1.6rem;
        padding:18px;
    }

    p{
        font-size:1.4rem;
    }
}

.progress-number{
    font-size:4rem;
    font-weight:bold;
    text-align:center;
}

.progress-bar{
    width:100%;
    height:28px;
    background:#333;
    border-radius:20px;
    overflow:hidden;
    margin:14px 0;
}

.progress-fill{
    height:100%;
    background:#2e7d32;
    border-radius:20px;
}

/* =====================================================
   DESKTOP MENÜ
   ===================================================== */

.desktop-nav{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:10px;
    background:#061018;
}

.desktop-nav a{
    background:#0d47a1;
    color:white;
    text-decoration:none;
    padding:10px 14px;
    border-radius:10px;
    font-size:18px;
}

/* =====================================================
   RESPONSIVE
   ===================================================== */

@media (max-width:900px){

    .desktop-nav{
        display:none;
    }
}

@media (min-width:901px){

    .mobile-nav,
    .mobile-menu{
        display:none !important;
    }
}
