/*
 * frontend.css — Frontend (user-facing) page styles for tertulia.
 *
 * Extends main.css. Loaded by apps/frontend/templates/frontend/base.html.
 */

/* --------------------------------------------------------------------------
   Navbar
   -------------------------------------------------------------------------- */

.navbar-brand-logo {
    height: 32px;
    width:  auto;
    margin-right: 0.5rem;
}

.navbar .nav-link.active {
    font-weight: 600;
}

/* --------------------------------------------------------------------------
   Hero section (home page)
   -------------------------------------------------------------------------- */

.hero-section {
    padding:    5rem 0;
    background: linear-gradient(135deg, var(--color-primary) 0%, #0056b3 100%);
    color:      #fff;
}

.hero-section h1 {
    font-size:   clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.2;
}

.hero-section .lead {
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    opacity:   0.9;
}

/* --------------------------------------------------------------------------
   Feature cards (home page)
   -------------------------------------------------------------------------- */

.feature-card {
    border:        1px solid var(--color-border);
    border-radius: var(--border-radius-lg);
    padding:       2rem;
    text-align:    center;
    transition:    box-shadow var(--transition-speed);
}

.feature-card:hover {
    box-shadow: var(--shadow);
}

.feature-card .feature-icon {
    font-size:     2.5rem;
    margin-bottom: 1rem;
    color:         var(--color-primary);
}

/* --------------------------------------------------------------------------
   Dashboard stat cards
   -------------------------------------------------------------------------- */

.stat-card {
    border-radius: var(--border-radius-lg);
    padding:       1.5rem;
    background:    var(--color-surface);
    border:        1px solid var(--color-border);
}

.stat-card .stat-value {
    font-size:   2rem;
    font-weight: 700;
    color:       var(--color-primary);
    line-height: 1;
}

.stat-card .stat-label {
    font-size: 0.875rem;
    color:     var(--color-muted);
    margin-top: 0.25rem;
}

/* --------------------------------------------------------------------------
   Search results
   -------------------------------------------------------------------------- */

.search-result-item {
    border-bottom: 1px solid var(--color-border);
    padding:       1rem 0;
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-result-item .result-badge {
    font-size: 0.7rem;
}

/* --------------------------------------------------------------------------
   Contact form
   -------------------------------------------------------------------------- */

.contact-form-card {
    max-width:     640px;
    margin:        0 auto;
    border-radius: var(--border-radius-lg);
    box-shadow:    var(--shadow-sm);
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

footer.site-footer {
    background:   var(--color-surface);
    border-top:   1px solid var(--color-border);
    padding:      2rem 0;
    font-size:    0.875rem;
    color:        var(--color-muted);
    margin-top:   auto;
}

footer.site-footer a {
    color: var(--color-muted);
    text-decoration: none;
}

footer.site-footer a:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Profile / account pages
   -------------------------------------------------------------------------- */

.profile-avatar {
    width:         80px;
    height:        80px;
    object-fit:    cover;
    border-radius: 50%;
    border:        3px solid var(--color-border);
}

.session-card {
    border-radius: var(--border-radius);
    border:        1px solid var(--color-border);
    padding:       1rem;
}

.session-card.current-session {
    border-color: var(--color-success);
    background:   rgba(25, 135, 84, 0.05);
}
