/* =====================================================================
   mobil.css – úpravy pro telefony (20. 10. 2026)
   Linkuje se v header.php jako POSLEDNÍ styl, style.css zůstává netknutý.
   Všechno je uvnitř @media, takže na počítači se nic nemění.
   Stránky s vlastním <style> v těle (nas-tym, statistiky…) se načítají
   až po tomhle souboru, proto mají pravidla pro ně předponu "html body".
   ===================================================================== */

@media (max-width: 999.98px) {
    /* ---- Horní lišta ---------------------------------------------- */
    /* Logo je <a> uvnitř nav, takže chytalo pravidlo "nav a" (šířka 100 %,
       odsazení, gradient při najetí) – lišta pak měla 95 px a logo bylo
       uprostřed místo vlevo. */
    nav#navbar {
        padding: 8px 10px 8px 14px;
        border-radius: 22px;
    }
    nav#navbar .logo {
        width: auto;
        padding: 0;
        justify-content: flex-start;
        overflow: visible;
    }
    nav#navbar .logo::before { display: none; }
    nav#navbar .logo:hover { transform: none; }
    nav#navbar .logo img { height: 38px; }
    nav#navbar .logo-text { font-size: 1.4rem; }

    /* Hamburger – větší plocha pro prst */
    .nav-toggle {
        padding: 12px 10px;
        margin: -4px 0;
        border-radius: 14px;
    }
    .nav-toggle.active { background: rgba(255, 255, 255, 0.06); }

    /* Rozbalené menu – dva sloupce, aby se vešlo bez scrollování */
    .nav-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        top: 76px;
        padding: 12px;
        max-width: 440px;
        width: calc(100% - 24px);
        border-radius: 22px;
    }
    .nav-links > div > a,
    .nav-links .nav-drop-toggle {
        width: 100%;
        justify-content: flex-start;
        padding: 13px 14px !important;
        font-size: 0.95rem !important;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.04);
        color: var(--text);
        min-height: 48px;
    }
    .nav-links > div > a i,
    .nav-links .nav-drop-toggle i {
        width: 18px;
        text-align: center;
        color: var(--primary-light);
    }
    .nav-links > div > a.active i,
    .nav-links > div > a.shop-link i { color: #fff; }
    .nav-links > div > a:hover,
    .nav-links .nav-drop-toggle:hover { transform: none; }
    /* Šipka u Dynmapy, ať je vidět, že se rozbaluje */
    .nav-links .nav-drop-toggle::after {
        content: '\25BE';
        margin-left: auto;
        font-size: 0.8rem;
        opacity: 0.6;
        transition: transform 0.2s;
    }
    .nav-dropdown.open .nav-drop-toggle::after { transform: rotate(180deg); }
    .nav-dropdown.open { grid-column: 1 / -1; }
    .nav-drop-menu a { justify-content: flex-start !important; }

    /* SHOP přes celou šířku dole */
    .nav-links > div > a.shop-link {
        grid-column: 1 / -1;
        justify-content: center;
        animation: none;
    }

    /* Ztmavení stránky pod otevřeným menu */
    body.menu-open::after {
        background: rgba(0, 0, 0, 0.55);
        opacity: 1;
        z-index: 999;
        pointer-events: auto;
    }
}

@media (max-width: 768px) {
    html { font-size: 15px; }

    /* ---- Rozvržení ---------------------------------------------- */
    .container {
        padding: 86px 14px 32px;
        min-height: 0;
    }
    .section { margin-bottom: 56px; }
    .section-header { margin-bottom: 24px; }
    .section-header h1 {
        font-size: 1.85rem;
        line-height: 1.2;
        margin-bottom: 6px;
    }
    .section-header p { font-size: 1rem; }

    /* ---- Úvodní stránka ---------------------------------------- */
    .hero { padding: 16px 0 36px; }
    .hero-badge { margin-bottom: 18px; }
    .hero h1 { margin-bottom: 14px; }
    .hero > p {
        font-size: 1.05rem;
        line-height: 1.6;
        margin-bottom: 24px;
    }

    /* 4 karty "O našem serveru" 2×2 místo 4 obrazovek pod sebou */
    .about-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-bottom: 20px;
    }
    .about-card {
        padding: 18px 12px;
        border-radius: 18px;
    }
    .about-card i {
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
        margin-bottom: 10px;
        border-radius: 14px;
    }
    .about-card h3 { font-size: 1rem; margin-bottom: 6px; }
    .about-card p { font-size: 0.85rem; line-height: 1.5; }

    /* Galerie dva sloupce */
    .page-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .page-gallery img {
        height: 120px;
        border-radius: 14px;
    }

    /* Discord – text vidět i bez najetí myší */
    .discord-card { border-radius: 20px; }
    .discord-overlay {
        opacity: 1;
        padding: 16px;
        background: linear-gradient(to top, rgba(88, 101, 242, 0.92) 0%, rgba(88, 101, 242, 0.25) 45%, transparent 70%);
    }
    .discord-overlay h3 { font-size: 1.15rem; margin: 0; color: #fff; }
    .discord-overlay p { display: none; }

    /* ---- Pravidla ------------------------------------------------ */
    .special-rule {
        padding: 20px 18px;
        margin-bottom: 24px;
        border-radius: 20px;
    }
    .special-rule-header { gap: 12px; margin-bottom: 12px; }
    .special-rule h2 { font-size: 1.15rem; line-height: 1.3; }
    .rules-grid { gap: 12px; }
    /* Číslo vedle nadpisu místo nad ním */
    .rule-card {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        column-gap: 12px;
        padding: 16px 18px;
        border-radius: 20px;
    }
    .rule-number {
        width: 38px;
        height: 38px;
        font-size: 1rem;
        margin: 0;
        border-radius: 12px;
    }
    .rule-card h3 { margin: 0; font-size: 1.05rem; }
    .rule-card ul { grid-column: 1 / -1; margin-top: 8px; }
    .rule-card li { padding: 5px 0 5px 18px; }
    .rule-card li::before { top: 13px; }

    /* ---- Vyhledávání (tresty, statistiky, wiki) - v jednom řádku -- */
    .search-box {
        flex-direction: row !important;
        align-items: center;
        gap: 6px;
        padding: 6px !important;
        margin-bottom: 24px !important;
        border-radius: 18px;
    }
    .search-box > i { display: none; }
    .search-box input {
        min-width: 0;
        padding: 12px 10px 12px 14px;
        font-size: 16px; /* pod 16 px iPhone při psaní zoomuje stránku */
    }
    .search-box .btn-primary,
    .search-box button {
        width: auto !important;
        flex-shrink: 0;
        padding: 12px 16px !important;
        border-radius: 14px;
    }
    .nick-input,
    .wiki-search input { font-size: 16px; }

    /* ---- Tresty -------------------------------------------------- */
    .stats-grid { gap: 10px; margin-bottom: 24px; }
    .stat-card { padding: 14px 8px; border-radius: 18px; }
    .stat-card i {
        width: 38px;
        height: 38px;
        font-size: 1rem;
        margin-bottom: 8px;
        border-radius: 12px;
    }
    .stat-number { font-size: 1.6rem; }
    .stat-label { font-size: 0.72rem; }

    /* Všechny 4 záložky vedle sebe, nic schovaného za okrajem */
    .tabs {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 4px;
        padding: 4px;
        overflow: visible;
        border-radius: 18px;
        margin-bottom: 20px;
    }
    .tab-btn {
        flex-direction: column;
        gap: 4px;
        padding: 10px 2px;
        font-size: 0.8rem;
        border-radius: 14px;
        justify-content: center;
    }
    .punishment-item { padding: 16px; border-radius: 18px; }
    .empty-state { padding: 40px 20px; }

    /* ---- Hlasování ------------------------------------------------ */
    .vote-sites { gap: 10px; margin-top: 20px; }
    .vote-site { padding: 18px 16px; border-radius: 18px; }

    /* ---- Obecné karty --------------------------------------------- */
    .glass-card { padding: 22px 16px; border-radius: 20px; }

    /* ---- Patička -------------------------------------------------- */
    footer {
        margin-top: 48px;
        padding: 32px 16px 28px;
        text-align: center;
    }
    .footer-top,
    .footer-brand,
    .footer-bottom {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }
    .footer-top { margin-bottom: 20px; }
    .footer-logo { font-size: 1.6rem; }
    .footer-disclaimer { font-size: 0.82rem; }
    .footer-legal-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px 18px;
    }
    .footer-link { padding: 6px 0; }
    .footer-copy { font-size: 0.8rem; }

    /* ---- Lightbox ------------------------------------------------- */
    .lightbox-close {
        position: fixed;
        top: 16px;
        right: 16px;
        background: rgba(255, 255, 255, 0.12);
    }
    .lightbox-content { max-width: 96%; }

    /* ---- Statistiky: kategorie se zalamují, ne schovávají za okraj -- */
    html body .staty-chipy {
        flex-wrap: wrap;
        overflow: visible;
        gap: 6px;
    }
    html body .staty-chip {
        padding: 8px 12px;
        font-size: 0.82rem;
    }

    /* ---- Wiki: menší okraje kolem článku ------------------------- */
    html body .wiki-wrap { padding-top: 86px; }
    html body .wiki-main { padding: 20px 16px; }

    /* ---- Tým (vlastní styl stránky má přednost, proto html body) --- */
    html body .team-hero { padding: 8px 0 32px; }
    html body .team-section-premium { margin-bottom: 40px; }
    html body .team-grid-premium { gap: 12px; padding: 0; }
    html body .member-card-inner {
        flex-direction: row;
        text-align: left;
        gap: 14px;
        padding: 14px 16px;
    }
    html body .member-skin-container {
        width: 72px;
        height: 110px;
        margin-bottom: 0;
    }
    html body .skin-3d,
    html body .member-card.featured .skin-3d { height: 104px; }
    html body .member-name { font-size: 1.15rem; margin-bottom: 6px; }
    html body .member-rank-badge { margin-bottom: 6px; }
    html body .member-desc { margin-bottom: 8px; }
    html body .member-social,
    html body .member-skills { justify-content: flex-start; }
    html body .empty-content { padding: 28px 18px; }
    html body .join-team-card { padding: 26px 18px; }
}

@media (max-width: 380px) {
    nav#navbar .logo-text { font-size: 1.25rem; }
    .about-card p { font-size: 0.8rem; }
    .tab-btn { font-size: 0.74rem; }
    .search-box .btn-primary,
    .search-box button { padding: 12px !important; }
}

/* Na dotykových displejích nenechávat "přilepené" efekty po klepnutí
   (karty poskočené nahoru, zvětšené obrázky). */
@media (hover: none) {
    .about-card:hover,
    .glass-card:hover,
    .rule-card:hover,
    .stat-card:hover,
    .vote-site:hover,
    .punishment-item:hover,
    .page-gallery img:hover,
    .discord-card:hover,
    .discord-card:hover img,
    .ip-box:hover,
    .feature-tag:hover,
    .right-card:hover { transform: none; }
}
