/* =========================
   RESET & THEME
========================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --blue: #0a2a43;
    --red: #7a0c0c;
    --gold: #c9a24d;
    --light: #f4f2ef;
    --dark: #1e1e1e;
}

/* =========================
   GLOBAL ADMIN BODY
========================= */
body {
    background-color: var(--light);
    color: var(--dark);
    font-family: "Source Sans 3", sans-serif;
    line-height: 1.6;
}


/* =========================
   ADMIN HEADER
========================= */
.header {
    background: linear-gradient(to bottom, var(--blue), #061c2e);
    border-bottom: 4px solid var(--gold);
}

.header-inner {
    max-width: 1100px;
    margin: auto;
    padding: 1px 2px;
    display: flex;
    align-items: center;
    gap: 200px;
}

.logo {
    height: 180px;
    

}

.title-group h1 {
    font-family: "Playfair Display", serif;
    color: white;
    font-size: 26px;
    letter-spacing: 0.8px;
}

.subtitle {
    color: #ddd;
    font-size: 14px;
}

/* =========================
   ADMIN NAV (Dashboard)
========================= */
.admin-nav {
    margin-left: auto;
    display: flex;
    gap: 22px;
}

.admin-nav a {
    color: #eee;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}

.admin-nav a:hover {
    color: var(--gold);
}

/* =========================
   LOGIN PAGE
========================= */
.login-section {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background: linear-gradient(135deg, #071a2b, var(--blue));
}

.login-container {
    background: white;
    padding: 45px 40px;
    width: 380px;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 15px 35px rgba(0,0,0,0.18);
    text-align: center;
}

.login-logo {
    height: 65px;
    margin-bottom: 15px;
}

.login-container h2 {
    font-family: "Playfair Display", serif;
    color: var(--blue);
    font-size: 24px;
}

.login-subtitle {
    font-size: 14px;
    color: #666;
    margin-bottom: 30px;
    letter-spacing: 0.8px;
}

.error-msg {
    color: var(--red);
    font-size: 14px;
    margin-bottom: 18px;
}

.login-form {
    text-align: left;
}

.login-form label {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 4px;
    display: block;
}

.login-form input {
    width: 100%;
    padding: 11px;
    margin-bottom: 16px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

.login-form input:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 2px rgba(201,162,77,0.15);
}

.login-form button {
    width: 100%;
    padding: 12px;
    background-color: var(--red);
    border: none;
    color: white;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
}

.login-form button:hover {
    background-color: #5f0808;
}

.footer-note {
    margin-top: 25px;
    text-align: center;
}

.footer-note a {
    text-decoration: none;
    color: var(--blue);
    font-weight: 600;
}

.footer-note a:hover {
    color: var(--red);
}


/* =========================
   ADMIN DASHBOARD
========================= */
.admin-section {
    max-width: 1050px;
    margin: 50px auto;
    padding: 0 20px;
}

.dashboard-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 45px;
}

/* ADD SERMON */
.add-video-form {
    background: #fff;
    padding: 30px;
    border-radius: 10px;
    border: 2px solid var(--gold);
}

.add-video-form h2 {
    font-family: "Playfair Display", serif;
    color: var(--blue);
    margin-bottom: 18px;
}

.add-video-form input {
    width: 100%;
    padding: 11px;
    margin-bottom: 14px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.add-video-form button {
    background-color: var(--red);
    color: white;
    border: none;
    padding: 11px 22px;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
}

.add-video-form button:hover {
    background-color: #a00b0b;
}

#formMessage {
    margin-top: 10px;
    font-size: 14px;
    color: green;
}

/* EXISTING SERMON GRID */
.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 28px;
}

/* =========================
   ADMIN VIDEO CARD BUTTONS
========================= */
.video-card div {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
}

.video-card button {
    background-color: var(--red);
    color: white;
    border: none;
    padding: 7px 14px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 14px;
}

.video-card button:hover {
    background-color: #a00b0b;
    transform: translateY(-2px);
}

/* Preview button - gold style */
.video-card a button {
    background-color: var(--gold);
    color: var(--blue);
    font-weight: 600;
    border-radius: 6px;
    padding: 7px 14px;
    transition: all 0.3s ease;
}

.video-card a button:hover {
    background-color: #bfa24d;
    transform: translateY(-2px);
}


/* =========================
   CHANGE PASSWORD
========================= */
.change-password-section {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
}

.change-password-container {
    background: white;
    padding: 35px;
    border-radius: 10px;
    width: 400px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    text-align: center;
}

.change-password-container h2 {
    font-family: "Playfair Display", serif;
    color: var(--red);
    margin-bottom: 22px;
}

.change-password-container input {
    width: 100%;
    padding: 10px;
    margin-bottom: 14px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.change-password-container button {
    width: 100%;
    padding: 12px;
    background-color: var(--red);
    color: white;
    font-weight: 600;
    border-radius: 5px;
    border: none;
    cursor: pointer;
}

.change-password-container button:hover {
    background-color: #a00b0b;
}

.success-msg {
    color: green;
    margin-bottom: 10px;
}

/* =========================
   DASHBOARD ACTION BAR
========================= */
.dashboard-actions {
    max-width: 1050px;
    margin: 25px auto 40px;
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: flex-start;
}

/* Base button style */
.action-btn {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.6px;
    color: white;
    background: linear-gradient(to bottom, var(--blue), #061c2e);
    border: 1px solid rgba(255,255,255,0.15);
    transition: all 0.25s ease;
}

/* Hover effect */
.action-btn:hover {
    background: linear-gradient(to bottom, #0c3a5e, var(--blue));
    transform: translateY(-1px);
}

/* Active page */
.action-btn.active {
    background: var(--gold);
    color: var(--dark);
    border-color: var(--gold);
}

/* Outline variant */
.action-btn.outline {
    background: transparent;
    color: var(--blue);
    border: 1px solid var(--blue);
}

.action-btn.outline:hover {
    background: var(--blue);
    color: white;
}

/* Danger (logout) */
.action-btn.danger {
    background: transparent;
    color: var(--red);
    border: 1px solid var(--red);
}

.action-btn.danger:hover {
    background: var(--red);
    color: white;
}

/* =========================
   CHANGE PASSWORD PAGE
========================= */
.change-password-section {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 90vh;
    background: radial-gradient(circle at top left, #102f4a, var(--blue));
    padding: 20px;
    font-family: "Source Sans 3", sans-serif;
}

/* Container */
.change-password-container {
    background: linear-gradient(145deg, #fdfcfb, #f0f0f0);
    border-radius: 15px;
    border: 3px solid var(--gold);
    max-width: 450px;
    width: 100%;
    padding: 40px 35px;
    box-shadow: 0 15px 30px rgba(0,0,0,0.25), inset 0 0 15px rgba(255,255,255,0.3);
    text-align: center;
    position: relative;
}

/* Header */
.cp-header h2 {
    font-family: "Playfair Display", serif;
    color: var(--blue);
    font-size: 28px;
    margin-bottom: 8px;
}

.cp-header .cp-subtitle {
    font-size: 14px;
    color: #444;
    margin-bottom: 25px;
    font-style: italic;
}

/* Inputs - embossed/inset style */
.change-password-form input {
    width: 100%;
    padding: 12px 14px;
    margin-bottom: 18px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 14px;
    background: #fdfdfd;
    box-shadow: inset 2px 2px 5px rgba(0,0,0,0.08),
                inset -2px -2px 5px rgba(255,255,255,0.9);
    transition: 0.3s;
}

.change-password-form input:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: inset 2px 2px 6px rgba(0,0,0,0.1),
                inset -2px -2px 6px rgba(255,255,255,0.9),
                0 0 6px rgba(201,162,77,0.3);
}

/* Buttons - raised classic style */
.change-password-form button {
    width: 100%;
    padding: 12px;
    background-color: var(--red);
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.25),
                -2px -2px 8px rgba(255,255,255,0.35);
    transition: 0.3s, transform 0.2s;
}

.change-password-form button:hover {
    background-color: #a00b0b;
    transform: translateY(-1px);
    box-shadow: 1px 1px 6px rgba(0,0,0,0.3),
                -1px -1px 6px rgba(255,255,255,0.4);
}

/* Messages */
.error-msg, .success-msg {
    font-size: 14px;
    margin-bottom: 12px;
    font-weight: 600;
}

.error-msg { color: var(--red); }
.success-msg { color: green; }

/* Back link */
.back-link {
    margin-top: 20px;
}

.back-link a {
    text-decoration: none;
    color: var(--blue);
    font-weight: 600;
    font-size: 14px;
}

.back-link a:hover {
    color: var(--gold);
    text-decoration: underline;
}

.video-date {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
}

.video-card input[readonly] {
    background-color: #f5f5f5;
    cursor: not-allowed;
    border-color: #ddd;
}

.card-actions {
    margin-top: 10px;
}

.edit-btn,
.save-btn,
.cancel-btn,
.danger-btn {
    padding: 6px 14px;
    border-radius: 4px;
    border: none;
    font-weight: 600;
    cursor: pointer;
    margin: 3px;
}

.edit-btn {
    background-color: var(--blue);
    color: white;
}

.save-btn {
    background-color: var(--gold);
    color: #000;
}

.cancel-btn {
    background-color: #ccc;
}

.danger-btn {
    background-color: var(--red);
    color: white;
}

.video-card input[readonly] {
    background-color: #f5f5f5;
    cursor: not-allowed;
}

/* LOCKED INPUTS */
.video-card input.locked {
    background-color: #f3f3f3;
    border: 1px solid #ddd;
    color: #555;
    pointer-events: none;   /* 🔒 disables mouse & keyboard */
    user-select: none;
    cursor: not-allowed;
}

/* UNLOCKED INPUTS */
.video-card input:not(.locked) {
    background-color: #fff;
    pointer-events: auto;
}

.search-container {
    text-align: center;
    margin-bottom: 20px;
}

#searchInput {
    width: 60%;
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 14px;
    transition: border 0.3s, box-shadow 0.3s;
}

#searchInput:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(201, 162, 77, 0.2);
}
/* =========================
   SEARCH BAR
========================= */
.search-container {
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    gap: 5px;
}

#searchInput {
    flex: 1;
    padding: 12px 15px;
    border-radius: 8px;
    border: 1px solid var(--blue);
    font-size: 14px;
    outline: none;
    transition: box-shadow 0.3s, border 0.3s;
}

#searchInput:focus {
    border-color: var(--gold);
    box-shadow: 0 0 5px rgba(201, 162, 77, 0.5);
}

#searchBtn {
    padding: 12px 16px;
    background-color: var(--red);
    border: none;
    color: white;
    font-weight: 600;
    font-size: 16px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
}

#searchBtn:hover {
    background-color: #a00b0b;
    transform: translateY(-1px);
}

/* =========================
   SEARCH BAR - CLASSIC & INTRICATE
========================= */
.search-container {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 500px;
    margin: 30px auto 40px auto;
    gap: 5px;
    position: relative;
}

#searchInput {
    flex: 1;
    padding: 14px 18px;
    border-radius: 30px;
    border: 2px solid var(--blue);
    font-size: 15px;
    font-weight: 500;
    outline: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

#searchInput:focus {
    border-color: var(--gold);
    box-shadow: 0 0 12px rgba(201, 162, 77, 0.35);
}

#searchBtn {
    padding: 12px 18px;
    background-color: var(--red);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

#searchBtn:hover {
    background-color: #a00b0b;
    transform: translateY(-2px) scale(1.05);
}

.search-icon {
    font-size: 18px;
    color: #fff;
}

/* Optional: subtle placeholder styling */
#searchInput::placeholder {
    color: #999;
    font-style: italic;
}

.publish-date {
    font-size: 13px;
    color: #666;
    margin: 6px 0;
    font-style: italic;
}
