/* Pine Ridge Pathfinders — Custom Styles */

@import url('https://fonts.googleapis.com/css2?family=Cabin:wght@400;500;600;700&display=swap');

:root {
    --prp-primary: #4a6741;
    --prp-warm: #c45d3e;
    --prp-light: #faf6f0;
    --prp-dark: #2c3527;
    --prp-accent: #e8a838;
    --prp-sky: #74a9cf;
}

body {
    font-family: 'Cabin', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #333;
}

/* Accent bar above navbar */
.accent-bar {
    height: 4px;
    background: linear-gradient(90deg, var(--prp-warm), var(--prp-accent), var(--prp-warm));
}

/* Navbar — dark style */
.navbar {
    background: var(--prp-dark) !important;
}

.navbar-brand strong {
    color: #fff;
    font-size: 1.2rem;
}

.navbar-brand i {
    color: var(--prp-accent) !important;
}

.navbar .nav-link {
    color: rgba(255,255,255,0.85) !important;
}

.navbar .nav-link:hover {
    color: var(--prp-accent) !important;
}

.navbar .btn-outline-primary {
    color: var(--prp-accent);
    border-color: var(--prp-accent);
}

.navbar .btn-outline-primary:hover {
    background: var(--prp-accent);
    color: var(--prp-dark);
}

.navbar-toggler {
    border-color: rgba(255,255,255,0.3);
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Hero Section */
.hero {
    background: linear-gradient(135deg, var(--prp-primary) 0%, var(--prp-dark) 100%);
    color: white;
    padding: 80px 0;
}

.hero h1 {
    font-weight: 600;
    font-size: 2.8rem;
}

.hero .lead {
    font-size: 1.2rem;
    opacity: 0.9;
}

/* Cards */
.card {
    border: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.2s;
}

.card:hover {
    transform: translateY(-2px);
}

/* Announcement cards */
.announcement-card {
    border-left: 4px solid var(--prp-warm);
}

/* Buttons */
.btn-primary {
    background-color: var(--prp-primary);
    border-color: var(--prp-primary);
}

.btn-primary:hover {
    background-color: #3b5535;
    border-color: #3b5535;
}

.btn-warm {
    background-color: var(--prp-warm);
    border-color: var(--prp-warm);
    color: white;
}

.btn-warm:hover {
    background-color: #a84d32;
    border-color: #a84d32;
    color: white;
}

.btn-accent {
    background-color: var(--prp-accent);
    border-color: var(--prp-accent);
    color: var(--prp-dark);
    font-weight: 600;
}

.btn-accent:hover {
    background-color: #d49730;
    border-color: #d49730;
    color: var(--prp-dark);
}

/* Activity list cards */
.activity-card {
    border-left: 4px solid var(--prp-primary);
    border-radius: 0 8px 8px 0;
}

.activity-card:nth-child(even) {
    background: var(--prp-light);
}

/* Program cards with left border */
.program-accent-card {
    border-left: 4px solid var(--prp-accent);
}

/* Stats row */
.stat-inline {
    text-align: center;
    padding: 25px 15px;
}

.stat-inline .number {
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--prp-warm);
    line-height: 1;
}

.stat-inline .label {
    color: #666;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 5px;
}

/* Dark banner CTA */
.dark-banner {
    background: var(--prp-dark);
    color: white;
    padding: 50px 0;
}

/* Rustic band */
.rustic-band {
    background: var(--prp-light);
    border-top: 3px solid var(--prp-accent);
    padding: 35px 0;
}

/* Portal sidebar */
.portal-sidebar {
    background: #f8f9fa;
    min-height: calc(100vh - 200px);
    padding: 20px;
    border-right: 1px solid #dee2e6;
}

.portal-sidebar .nav-link {
    color: #555;
    padding: 10px 15px;
    border-radius: 5px;
    margin-bottom: 2px;
}

.portal-sidebar .nav-link:hover,
.portal-sidebar .nav-link.active {
    background: var(--prp-primary);
    color: white;
}

.portal-sidebar .nav-link i {
    width: 20px;
    text-align: center;
    margin-right: 8px;
}

/* Schedule table */
.schedule-table .morning { border-left: 3px solid #ffc107; }
.schedule-table .afternoon { border-left: 3px solid #17a2b8; }
.schedule-table .evening { border-left: 3px solid #6f42c1; }
.schedule-table .weekend { border-left: 3px solid #28a745; }

/* Admin panel */
.admin-stat-card {
    border-top: 3px solid var(--prp-primary);
}

.admin-stat-card .stat-number {
    font-size: 2.5rem;
    font-weight: 300;
    color: var(--prp-primary);
}

/* Footer */
footer {
    font-size: 0.9rem;
}

/* Login page */
.login-wrapper {
    max-width: 420px;
    margin: 60px auto;
}

/* Info boxes */
.info-box {
    background: var(--prp-light);
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 20px;
}

/* Mission stats */
.mission-stat {
    text-align: center;
    padding: 20px;
}

.mission-stat .number {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--prp-primary);
}

.mission-stat .label {
    color: #666;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Responsive */
@media (max-width: 768px) {
    .hero { padding: 40px 0; }
    .hero h1 { font-size: 2rem; }
    .stat-inline .number { font-size: 2rem; }
}
