/* ============================================================
   Mehr als Spielen – phpBB Child Theme (prosilver-based)
   Version 1.0.0 – February 2026
   
   Strategy: Import ALL prosilver base CSS, then override.
   ============================================================ */

/* --- Import prosilver base styles --- */
@import url('../../prosilver/theme/normalize.css');
@import url('../../prosilver/theme/base.css');
@import url('../../prosilver/theme/utilities.css');
@import url('../../prosilver/theme/common.css');
@import url('../../prosilver/theme/links.css');
@import url('../../prosilver/theme/content.css');
@import url('../../prosilver/theme/buttons.css');
@import url('../../prosilver/theme/cp.css');
@import url('../../prosilver/theme/forms.css');
@import url('../../prosilver/theme/icons.css');
@import url('../../prosilver/theme/colours.css');
@import url('../../prosilver/theme/responsive.css');

/* --- Local Fonts --- */
@font-face {
    font-family: 'Nunito';
    src: url('./fonts/nunito-400.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nunito';
    src: url('./fonts/nunito-600.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nunito';
    src: url('./fonts/nunito-700.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('./fonts/roboto-400.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('./fonts/roboto-500.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* ============================================================
   OVERRIDES – Colors, Typography, Layout Modernization
   ============================================================ */

/* --- Base Typography --- */
html, body {
    font-family: 'Roboto', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #3a3f47;
    background-color: #f0f2f5;
    font-size: 14px;
    line-height: 1.55;
}

h1, h2, h3,
.headerbar h1,
dl.faq dt,
.stat-block strong {
    font-family: 'Nunito', 'Segoe UI', sans-serif;
}

h2 { color: #2C3E50; font-weight: 600; }
h3 { color: #2C3E50; border-bottom-color: #dde1e6; }

/* --- Links --- */
a { color: #1a6daa; }
a:hover { color: #C0392B; }

.postlink { border-bottom-color: #1a6daa; color: #1a6daa; }
.postlink:visited { color: #5a7a99; border-bottom-color: #5a7a99; }
.postlink:hover { background-color: #fdf2f0; color: #C0392B; }

.forumbg .header a, .forabg .header a, th a { color: #FFFFFF; }
.forumbg .header a:hover, .forabg .header a:hover, th a:hover { color: #fbc9c3; }

/* --- Header Bar --- */
.headerbar {
    background-color: #2C3E50;
    background-image: linear-gradient(to bottom, #34495e 0%, #2C3E50 100%);
    padding: 10px 15px;
    margin-bottom: 8px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(44,62,80,0.15);
}
.headerbar, .forumbg {
    background-color: #2C3E50;
    background-image: linear-gradient(to bottom, #34495e 0%, #2C3E50 100%);
}
.headerbar h1 {
    color: #ffffff;
    font-weight: 700;
    font-size: 1.3em;
}

/* Site logo */
.site_logo {
    background-image: url('./images/site_logo.jpg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 280px;
    height: 45px;
}

/* --- Navigation Bar --- */
.navbar {
    background-color: #ecf0f3;
    border-radius: 6px;
    padding: 4px 12px;
    border: 1px solid #d5dbe1;
}

/* --- Forum List --- */
.forabg {
    background-color: #34495e;
    background-image: linear-gradient(to bottom, #3d566e 0%, #34495e 100%);
    border-radius: 6px;
    margin-bottom: 6px;
}

/* Topic/forum list rows */
ul.topiclist li { border-bottom-color: #e8ecef; }
ul.topiclist dd { border-left-color: #e8ecef; }
li.row { border-bottom: 1px solid #e8ecef; border-top: none; }
li.row .list-inner { padding: 8px 6px; }

/* --- Panels & Cards --- */
.panel {
    background-color: #ffffff;
    border-radius: 6px;
    border: 1px solid #dde1e6;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.inner { padding: 8px 12px; }

/* Posts */
.post { background-color: #ffffff; border-bottom: 1px solid #e8ecef; }
.post .postbody { padding: 10px 14px; }
.post:hover { background-color: #fafbfc; }
.postprofile { border-left-color: #e8ecef; }

/* --- Buttons --- */
.button, .button2, input[type=submit] {
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    border-radius: 5px;
    padding: 6px 16px;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

input.button1, input[type=submit].button1, a.button1 {
    background-color: #2C3E50;
    background-image: none;
    color: #ffffff !important;
    border: 1px solid #243342;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(44,62,80,0.2);
    text-shadow: none;
}
input.button1:hover, a.button1:hover {
    background-color: #34495e;
    box-shadow: 0 2px 6px rgba(44,62,80,0.3);
}

input.button2, a.button2 {
    background-color: #ecf0f3;
    background-image: none;
    color: #3a3f47 !important;
    border: 1px solid #c5ccd4;
    border-radius: 5px;
    text-shadow: none;
}
input.button2:hover, a.button2:hover {
    background-color: #dde3e9;
    border-color: #b0b8c2;
}

/* --- Pagination --- */
.pagination a, .pagination strong { border-radius: 4px; }
.pagination a:hover { background-color: #2C3E50; color: #ffffff; }

/* --- Forms --- */
input.inputbox, textarea.inputbox, select {
    border: 1px solid #c5ccd4;
    border-radius: 4px;
    padding: 7px 10px;
    font-family: 'Roboto', sans-serif;
    transition: border-color 0.15s ease;
}
input.inputbox:focus, textarea.inputbox:focus {
    border-color: #2C3E50;
    outline: none;
    box-shadow: 0 0 0 2px rgba(44,62,80,0.12);
}

/* --- Alerts --- */
.successbox { background-color: #eaf7ef; border-color: #27ae60; color: #1a6b3c; border-radius: 6px; }
.errorbox { background-color: #fdf2f0; border-color: #C0392B; color: #922b21; border-radius: 6px; }

/* --- Dropdowns --- */
.dropdown .dropdown-contents {
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    border: 1px solid #dde1e6;
}

/* --- Subtle Depth (warm, not flat!) --- */
.forumbg, .forabg { box-shadow: 0 1px 4px rgba(0,0,0,0.08); border-radius: 6px; }
ul.topiclist li.header { text-shadow: 0 1px 1px rgba(0,0,0,0.15); }

/* Mini-profile */
.postprofile dt a, .postprofile dt {
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    color: #2C3E50;
}
.online { background-color: #27ae60; }

/* Footer */
.copyright { font-size: 0.85em; color: #8a929d; padding: 12px 0; }

/* Back to top / arrows */
.top i { color: #8a929d; }
.top:hover i { color: #C0392B; }
.arrow-left:hover, .arrow-right:hover { color: #C0392B; }

/* ==========================================================
   RESPONSIVE / MOBILE IMPROVEMENTS
   ========================================================== */

/* Better touch targets on all mobile */
@media (max-width: 768px) {
    ul.linklist li a,
    .pagination a,
    .pagination strong,
    .breadcrumbs a {
        padding: 8px 10px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    .headerbar {
        padding: 8px 10px;
        text-align: center;
    }
    .site_logo {
        width: 200px;
        height: 32px;
        margin: 0 auto 6px auto;
    }

    .panel, .post, #qr_postform {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .inner { padding: 6px 8px; }
    .post .postbody { padding: 8px 10px; }

    .action-bar .button, .action-bar .button1, .action-bar .button2 {
        padding: 10px 14px;
        font-size: 0.95em;
    }

    html, body { font-size: 15px; line-height: 1.6; }

    /* Hide stats columns on mobile */
    ul.topiclist dd.posts,
    ul.topiclist dd.views { display: none; }
    ul.topiclist dd.lastpost { font-size: 0.85em; }
    ul.topiclist.forums dd.dterm { width: auto; }

    .navbar { padding: 4px 6px; }
    ul.linklist { flex-wrap: wrap; }

    .breadcrumbs {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        padding: 8px 6px;
    }

    /* Post profile above post on mobile */
    .postprofile {
        border-left: none;
        border-bottom: 1px solid #e8ecef;
        width: 100%;
        float: none;
        padding: 6px 10px;
    }
    .postprofile dt { display: inline; }
    .postprofile dd { display: inline; margin-left: 8px; }
    .postprofile .avatar-container {
        display: inline-block;
        vertical-align: middle;
        margin-right: 8px;
    }
}

@media (max-width: 480px) {
    .site_logo { width: 160px; height: 26px; }
    html, body { font-size: 14px; }
    .headerbar h1 { font-size: 1.1em; }

    .action-bar > div {
        width: 100%;
        text-align: center;
        margin-bottom: 4px;
    }
    .action-bar .search-box .inputbox {
        width: 100%;
        max-width: none;
    }

    .post .post-buttons { padding: 4px 0; }
    .post .post-buttons a { padding: 6px 8px; font-size: 0.85em; }
}

@media (min-width: 481px) and (max-width: 768px) {
    .site_logo { width: 240px; height: 38px; }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .inner { padding: 8px 14px; }
    .headerbar { padding: 10px 14px; }
}

@media print {
    .headerbar {
        background: #2C3E50 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
