* { margin: 0; padding: 0; box-sizing: border-box; }

html, body { height: 100%; }

body {
    background: #0d0d0d;
    color: #d0d0d0;
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.page-wrap {
    flex: 1;
}

a { color: #e8a000; text-decoration: none; }
a:hover { text-decoration: underline; }

.container { max-width: 960px; margin: 0 auto; padding: 0 10px; }

/* 18+ banner */
.banner-18 {
    background: #8b0000;
    color: #fff;
    text-align: center;
    padding: 4px 0;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1px;
}

/* Top bar: lang switcher */
.topbar {
    background: #111;
    border-bottom: 1px solid #222;
    padding: 4px 0;
    text-align: right;
}
.topbar a { color: #888; font-size: 12px; margin-left: 8px; }
.topbar a.active { color: #e8a000; font-weight: bold; }

/* Site header */
.site-header {
    padding: 10px 0 6px;
    border-bottom: 1px solid #222;
}
.site-title { font-size: 22px; font-weight: bold; color: #e8a000; }
.site-title span { color: #888; font-size: 17px; margin-left: 8px; }

/* Navigation */
nav {
    background: #111;
    border-bottom: 1px solid #1e1e1e;
    padding: 6px 0;
    font-size: 15px;
}
nav .container { white-space: normal; line-height: 2; }
nav a { color: #ccc; padding: 0 7px; white-space: nowrap; }
nav a:first-child { padding-left: 0; }
nav a::after { content: ' |'; color: #444; margin-left: 7px; }
nav a:last-child::after { content: ''; }
nav a:hover { color: #e8a000; text-decoration: none; }

/* Main layout */
.main { padding: 12px 0; }

/* Ad list */
.listing {
    border-bottom: 1px solid #1e1e1e;
    padding: 8px 0;
}
.listing.top-ad {
    background: #181200;
    border-left: 2px solid #e8a000;
    padding-left: 8px;
    margin-left: -8px;
}
.post-meta { font-size: 12px; color: #666; margin-bottom: 3px; }
.post-meta .top-badge {
    background: #e8a000;
    color: #000;
    font-size: 10px;
    font-weight: bold;
    padding: 1px 5px;
    border-radius: 2px;
    margin-right: 5px;
}
.post-title a { color: #e8a000; font-size: 15px; font-weight: bold; }
.post-title { color: #e8a000; font-size: 15px; font-weight: bold; }
.post-preview { color: #aaa; font-size: 13px; margin-top: 3px; }

/* Single post */
.post-full { padding: 10px 0; }
.post-full h1 { font-size: 18px; color: #e8a000; margin-bottom: 8px; }
.post-full .post-body { color: #ccc; white-space: pre-wrap; word-break: break-word; }
.post-info-row { margin: 6px 0; font-size: 13px; }
.post-info-row span { color: #888; margin-right: 5px; }

/* Categories grid on index */
.cat-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 12px 0;
}
.cat-grid a {
    background: #151515;
    border: 1px solid #2a2a2a;
    color: #ccc;
    padding: 5px 10px;
    font-size: 13px;
    border-radius: 3px;
}
.cat-grid a:hover { border-color: #e8a000; color: #e8a000; text-decoration: none; }
.cat-grid a .cnt { color: #666; font-size: 11px; margin-left: 4px; }

/* Cities */
.city-row { margin: 10px 0; }
.city-row a { margin-right: 12px; font-size: 13px; }

/* Add button */
.btn-add {
    display: inline-block;
    background: #e8a000;
    color: #000;
    font-weight: bold;
    font-size: 15px;
    padding: 10px 24px;
    border-radius: 3px;
    margin: 10px 0;
}
.btn-add:hover { background: #ffb800; text-decoration: none; }

/* Forms */
.form-wrap { max-width: 600px; }
.form-group { margin-bottom: 12px; }
.form-group label { display: block; margin-bottom: 4px; color: #aaa; font-size: 13px; }
.form-group input[type=text],
.form-group select,
.form-group textarea {
    width: 100%;
    background: #181818;
    border: 1px solid #333;
    color: #ddd;
    padding: 7px 10px;
    font-size: 14px;
    border-radius: 3px;
    outline: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: #e8a000; }
.form-group textarea { min-height: 120px; resize: vertical; }
.form-group select option { background: #181818; }
.form-check { margin: 6px 0; font-size: 13px; color: #aaa; }
.form-check input { margin-right: 6px; }
.btn-submit {
    background: #e8a000;
    color: #000;
    font-weight: bold;
    font-size: 15px;
    padding: 10px 28px;
    border: none;
    border-radius: 3px;
    cursor: pointer;
}
.btn-submit:hover { background: #ffb800; }

/* Errors */
.errors { background: #2a0000; border: 1px solid #700; padding: 10px; margin-bottom: 12px; border-radius: 3px; }
.errors li { color: #f88; margin-left: 16px; font-size: 13px; }

/* Pagination */
.pagination { margin: 16px 0; font-size: 13px; }
.pagination a, .pagination span {
    display: inline-block;
    padding: 4px 9px;
    margin: 0 2px;
    border: 1px solid #2a2a2a;
    border-radius: 2px;
    color: #ccc;
}
.pagination a:hover { border-color: #e8a000; color: #e8a000; text-decoration: none; }
.pagination .current { background: #e8a000; color: #000; border-color: #e8a000; }

/* Section titles */
.section-title {
    font-size: 16px;
    color: #e8a000;
    border-bottom: 1px solid #222;
    padding-bottom: 5px;
    margin: 14px 0 10px;
}

/* Footer */
footer {
    border-top: 1px solid #1e1e1e;
    margin-top: auto;
    padding: 14px 0;
    font-size: 13px;
    color: #555;
    text-align: center;
}
footer a { color: #666; margin: 0 6px; }
footer a:hover { color: #e8a000; }

/* Admin */
.admin-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.admin-table th { background: #1a1a1a; color: #888; padding: 7px 8px; text-align: left; border-bottom: 1px solid #2a2a2a; }
.admin-table td { padding: 6px 8px; border-bottom: 1px solid #1a1a1a; vertical-align: top; }
.admin-table tr:hover td { background: #111; }
.btn-sm {
    display: inline-block;
    padding: 2px 8px;
    font-size: 12px;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    margin: 1px;
}
.btn-del { background: #700; color: #fff; }
.btn-restore { background: #060; color: #fff; }
.btn-top { background: #855000; color: #fff; }
.btn-untop { background: #444; color: #fff; }
.inactive-row td { opacity: 0.4; }

/* Success / info box */
.info-box {
    background: #0a1a0a;
    border: 1px solid #1e4a1e;
    padding: 14px;
    border-radius: 3px;
    margin: 14px 0;
}
.info-box .delete-link {
    word-break: break-all;
    color: #e8a000;
    font-size: 13px;
}

/* Captcha row */
.captcha-row { display: flex; align-items: center; gap: 10px; }
.captcha-row input { width: 80px !important; }
