html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    background: #060810;
    color: #d0d4de;
    font-family: Tahoma, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

/* ── MAIN CONTENT AREA ── */
#main {
    margin-top: 64px;
    min-height: 600px;
    overflow-y: auto;
}

.container {
    max-width: 1080px;
    margin: 0 auto;
    padding: 28px 24px;
}

/* ── CAROUSEL ── */
.carousel {
    position: relative;
    width: 100%;
    height: 520px;
    overflow: hidden;
    background: #060810;
}

.carousel-slides {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 1;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

.carousel-slide.active {
    opacity: 1;
    z-index: 2;
}

.carousel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(top, rgba(6,8,16,0.3) 0%, rgba(6,8,16,0.0) 40%, rgba(6,8,16,0.85) 100%);
    background: linear-gradient(to bottom, rgba(6,8,16,0.3) 0%, rgba(6,8,16,0.0) 40%, rgba(6,8,16,0.85) 100%);
    z-index: 3;
    pointer-events: none;
}

.carousel-controls {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 0;
    z-index: 10;
}

.carousel-btn {
    position: absolute;
    top: -22px;
    width: 44px;
    height: 44px;
    background: rgba(6, 8, 16, 0.7);
    border: 1px solid rgba(180, 30, 40, 0.5);
    color: #c0c8d4;
    text-align: center;
    line-height: 44px;
    cursor: pointer;
    font-size: 16px;
    -webkit-transition: background 0.2s, border-color 0.2s, color 0.2s;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.carousel-btn.prev { left: 16px; }
.carousel-btn.next { right: 16px; }

.carousel-btn:hover {
    background: rgba(160, 20, 30, 0.8);
    border-color: #c0182a;
    color: #ffffff;
}

.carousel-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: rgba(255,255,255,0.06);
    z-index: 10;
}

.carousel-progress-bar {
    width: 0%;
    height: 100%;
    background: #c0182a;
    box-shadow: 0 0 8px rgba(192, 24, 42, 0.8);
}

/* ── PAGE HEADER (section titles) ── */
.page-header {
    background: #0a0c14;
    background: -webkit-linear-gradient(bottom, #060810, #0e1020);
    background: linear-gradient(to top, #060810, #0e1020);
    border-bottom: 1px solid #1a1e2e;
    padding: 28px 0 22px;
}

.page-header-inner {
    display: table;
}

.page-header-icon {
    display: table-cell;
    vertical-align: middle;
    width: 64px;
    height: 64px;
    text-align: center;
    line-height: 64px;
    font-size: 26px;
    color: #c0182a;
    background: rgba(192, 24, 42, 0.08);
    border: 1px solid rgba(192, 24, 42, 0.25);
    margin-right: 20px;
}

.page-header-icon + div {
    display: table-cell;
    vertical-align: middle;
    padding-left: 20px;
}

.page-title {
    font-size: 22px;
    color: #e8eaf0;
    text-transform: uppercase;
    letter-spacing: 4px;
    margin: 0 0 4px 0;
    text-shadow: 0 0 30px rgba(192, 24, 42, 0.4);
    font-weight: normal;
}

.page-subtitle {
    color: #4a5268;
    font-size: 12px;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* ── GUIDES LAYOUT (sidebar + content) ── */
.guides-layout {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.guides-sidebar {
    display: table-cell;
    width: 190px;
    vertical-align: top;
}

.guides-content {
    display: table-cell;
    vertical-align: top;
    padding-left: 28px;
}
