/* ============================================
   SHOOT Project - Shared Theme
   Shared variables and components used across
   admin, dashboard, and public-facing pages.
   ============================================ */

:root {
    --dark-navy: #0a192f;
    --navy: #112240;
    --light-blue: #58a6ff;
    --slate: #a8b2d1;
    --light-slate: #ccd6f6;
    --white: #e6f1ff;
    --danger-red: #ff8b8b;
    --gold: #D4AF37;
}

/* --- Login & Auth Containers --- */
.login-page {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}
.auth-container, .login-container {
    background-color: var(--navy);
    padding: 2rem 3rem;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-width: 400px;
}
.auth-container h1, .login-container h1 {
    text-align: center;
    color: var(--white);
    margin-bottom: 1.5rem;
}
.auth-form button, .login-container button {
    width: 100%;
    padding: 12px;
    background-color: var(--light-blue);
    border: none;
    border-radius: 4px;
    color: var(--dark-navy);
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.auth-form button:hover, .login-container button:hover {
    background-color: var(--white);
}
.auth-switch { text-align: center; margin-top: 1.5rem; }

/* --- Messages --- */
.error-messages, .error-message {
    background-color: rgba(255,0,0,0.1);
    border: 1px solid #c00;
    color: #ff8b8b;
    padding: 1rem;
    border-radius: 4px;
    margin-bottom: 1rem;
}
.success-message {
    background-color: rgba(88, 255, 166, 0.1);
    border: 1px solid var(--light-blue);
    color: var(--light-slate);
    padding: 1rem;
    border-radius: 4px;
    margin-bottom: 1rem;
    text-align: center;
}

/* --- Shared Buttons --- */
.btn-primary, .btn-secondary, .btn-danger {
    padding: 10px 15px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    display: inline-block;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}
.btn-primary { background-color: var(--light-blue); color: var(--dark-navy); }
.btn-secondary { background-color: #2a3f62; color: var(--light-slate); }
.btn-danger { background-color: var(--danger-red); color: var(--white); }

/* --- Shared Form Styling --- */
.form-group { margin-bottom: 1.5rem; }
.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--light-slate);
    font-weight: bold;
}
.form-group input, .form-group textarea, .form-group select {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    background-color: var(--dark-navy);
    border: 1px solid #2a3f62;
    border-radius: 4px;
    color: var(--white);
    font-family: inherit;
    font-size: 1rem;
}

/* Spoiler blocks */
.spoiler-block[data-spoiler="true"] .spoiler-content {
    filter: blur(8px);
    user-select: none;
    transition: filter 0.3s ease;
}
.spoiler-block[data-spoiler="true"]:hover {
    border-color: #D4AF37;
}
.spoiler-block[data-spoiler="revealed"] .spoiler-content {
    filter: none;
    user-select: auto;
}
.spoiler-block[data-spoiler="revealed"] .spoiler-label {
    display: none;
}
