﻿/* ============================================================================
   GENERAL LAYOUT AND BASE STYLING
============================================================================ */
/*html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #fdfdf8;*/ /* Cream background */
/*color: #333;*/ /* Default text color */
/*font-family: 'Segoe UI', sans-serif;
}*/

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    background: url('/images/IWI_Radio_Background.png') no-repeat top left fixed;
    background-size: cover; /* or contain if you want full image always visible */
}

    body::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(255, 255, 255, 0.85); /* adjust opacity */
        z-index: -1;
    }

/* ============================================================================
   TOP BAR WITH LOGOS AND HEADING
============================================================================ */

/* Top heading above logo row */
.top-heading {
    font-weight: 700;
    font-size: 1.7rem;
    color: #333;
    margin: 10px 0 5px;
}

/* Top logo row with minimal gap */
.top-row {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
    padding-top: 0;
    column-gap: 30px; /* ⬅️ Pull logos closer together */
}

/* Side logos (left and right) */
.logo-side {
    flex: 0 0 140px; /* ⬅️ Limit width so they stay close to center */
    display: flex;
    align-items: center;
    justify-content: center;
}

    .logo-side img {
        height: 220px;
        width: auto;
        max-height: 100%;
        object-fit: contain;
    }

/* Center logo (now cropped, scale via width) */
.logo-center {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: none;
}

    .logo-center img {
        width: 100%;
        max-width: 800px;
        height: auto;
        display: block;
        margin: 0 auto;
    }

/* Content spacing below */
.flex-grow-1 {
    margin-top: 0 !important;
    padding-top: 10px;
}

.container > *:not(:last-child) {
    margin-bottom: 0.5rem;
}

/* ✅ Mobile responsive tweaks */
@media (max-width: 768px) {
    .top-row {
        flex-wrap: wrap;
        gap: 20px;
        height: auto;
    }

    .logo-side {
        flex: 0 0 auto;
    }

        .logo-side img {
            height: 120px;
        }

    .logo-center img {
        max-width: 300px;
    }
}


/* ============================================================================
   HEADINGS & TEXT STYLES
============================================================================ */
h1, h2, h3, h4 {
    font-weight: bold;
}

h1 {
    color: #993733; /* Red */
}

h2 {
    color: #84754e; /* Gold */
}

label {
    font-weight: bold;
}

/* Make login inputs gold background with white text */
.login-box .form-control {
    background-color: #84754e;
    color: white;
    border: none;
}

    .login-box .form-control::placeholder {
        color: #fdfdf8;
        opacity: 0.8;
    }

    .login-box .form-control:focus {
        background-color: #84754e;
        color: white;
        box-shadow: 0 0 0 0.2rem rgba(132, 117, 78, 0.5);
    }

/* ============================================================================
   MAIN PAGE CONTENT SECTION (used in most pages)
============================================================================ */
.main-content {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
    padding: 40px;
    flex-wrap: wrap;
}

/* ============================================================================
   BOXES (used on login, admin, vote, results, etc.)
============================================================================ */
.login-box,
.statement-box,
.admin-container,
.vote-container,
.results-container {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 10px;
    padding: 30px;
    width: 100%;
    max-width: 1100px;
    color: #333;
}

/* Login/Statement Specific */
.login-box,
.statement-box {
    max-width: 500px;
}

    .statement-box h4 {
        color: #993733;
    }

/* Heading before content (e.g., login welcome message) */
.heading-section {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 0 20px;
}

    .heading-section h1 {
        font-size: 2.5rem;
        font-weight: bold;
        color: #993733;
    }

    .heading-section p {
        font-size: 1.1rem;
    }

/* ============================================================================
   FORM ELEMENTS & BUTTONS
============================================================================ */
.form-check-label {
    color: #333;
}

.btn-primary {
    background-color: #993733;
    border-color: #993733;
}

    .btn-primary:hover {
        background-color: #7a2a24;
        border-color: #7a2a24;
    }
/* ============================================================================
   ACCORDIONS & FORM STYLING (Used on Admin, Vote, Results)
============================================================================ */
.accordion-button {
    background-color: #84754e !important; /* Gold */
    color: white !important;
    font-weight: bold;
    border: none !important;
}

    .accordion-button:not(.collapsed) {
        background-color: #84754e !important; /* Keep gold when expanded */
        color: white !important;
        box-shadow: none !important;
    }

    .accordion-button:focus {
        box-shadow: none !important;
        border: none !important;
    }

    .accordion-button:hover {
        background-color: #6f633f !important; /* Slightly darker gold on hover */
        color: white !important;
    }

.accordion-item {
    border: none;
    border-bottom: 1px solid #ccc;
}

.accordion-body {
    background-color: #84754e !important;
    color: white !important;
}

/* Tables */
.vote-table th,
.vote-table td,
.result-table th,
.result-table td {
    text-align: center;
    vertical-align: middle;
}


/* ============================================================================
   MultiLine Textarea
============================================================================ */

.multiline-text {
    white-space: pre-line;
    line-height: 1.6;
    margin-bottom: 1rem;
}


/* ============================================================================
   FOOTER
============================================================================ */
.footer {
    background-color: #f3f3e9;
    padding: 20px;
    text-align: center;
    width: 100%;
}

.sponsor-heading {
    color: #993733;
    font-weight: bold;
    margin-bottom: 15px;
}

.sponsor-logos {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}

    .sponsor-logos img {
        max-height: 80px;
        max-width: 150px;
        margin: 10px;
        object-fit: contain;
        transition: transform 0.3s ease-in-out;
    }

        .sponsor-logos img:hover {
            transform: scale(1.1);
        }
