/**
 * Public Area Styles - Bootstrap 5.3 Customization
 * Sistema Iscrizioni Online - Ideafism
 */

/* ============================================
   CUSTOM PROPERTIES (Bootstrap override)
   ============================================ */
:root {
    --bs-primary: #1A5276;
    --bs-primary-rgb: 26, 82, 118;
    --bs-secondary: #2980B9;
    --bs-secondary-rgb: 41, 128, 185;
    --bs-success: #27AE60;
    --bs-success-rgb: 39, 174, 96;
    --bs-warning: #F39C12;
    --bs-warning-rgb: 243, 156, 18;
    --bs-danger: #E74C3C;
    --bs-danger-rgb: 231, 76, 60;
    --bs-body-color: #2C3E50;
    --bs-body-bg: #F8F9FA;
    --bs-border-color: #E1E8ED;
    --bs-link-color: #2980B9;
    --bs-link-hover-color: #1A5276;

    /* Custom vars */
    --ideafism-primary: #1A5276;
    --ideafism-primary-dark: #154360;
    --ideafism-secondary: #2980B9;
    --ideafism-text-muted: #7F8C8D;
}

/* ============================================
   BODY & GLOBAL
   ============================================ */
body {
    min-height: 100vh;
}

/* ============================================
   LANDING PAGE
   ============================================ */
.landing-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--ideafism-primary) 0%, var(--ideafism-secondary) 100%);
}

.landing-logo {
    max-width: 160px;
    height: auto;
}

@media (min-width: 768px) {
    .landing-logo {
        max-width: 180px;
    }
}

.landing-copyright {
    color: rgba(255, 255, 255, 0.7);
}

/* ============================================
   SCHOOL PAGE
   ============================================ */
.school-page {
    min-height: 100vh;
    background: var(--bs-body-bg);
}

.page-container {
    max-width: 600px;
    margin: 0 auto;
    padding: 16px;
}

@media (min-width: 768px) {
    .page-container {
        padding: 32px 16px;
    }
}

.page-header {
    margin-bottom: 24px;
}

.page-footer {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--bs-border-color);
    text-align: center;
    font-size: 0.875rem;
    color: var(--ideafism-text-muted);
}

.page-footer p {
    margin-bottom: 4px;
}

/* ============================================
   SCHOOL INFO CARD
   ============================================ */
.school-info-card {
    background: linear-gradient(135deg, var(--ideafism-primary) 0%, var(--ideafism-secondary) 100%);
    color: #fff;
    padding: 24px;
    border-radius: 12px;
    margin-bottom: 24px;
}

.school-info-card h1 {
    font-size: 1.25rem;
    margin-bottom: 8px;
    font-weight: 600;
}

.school-info-card .school-activity {
    opacity: 0.9;
    margin-bottom: 16px;
}

.school-info-card .school-period {
    display: inline-block;
    background: rgba(255, 255, 255, 0.2);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.8125rem;
}

/* ============================================
   STATUS ICONS
   ============================================ */
.status-icon {
    font-size: 3rem;
    margin-bottom: 16px;
}

.status-icon.status-closed {
    color: var(--bs-danger);
}

.status-icon.status-success {
    color: var(--bs-success);
}

/* ============================================
   SCHOOL CONTACTS
   ============================================ */
.school-contacts {
    background: var(--bs-body-bg);
    padding: 16px;
    border-radius: 8px;
    margin-top: 20px;
}

.school-contacts p {
    margin-bottom: 6px;
}

/* ============================================
   INFO BOX
   ============================================ */
.info-box {
    background: #EBF5FB;
    border: 1px solid #AED6F1;
    border-radius: 8px;
    padding: 20px;
    margin-top: 24px;
}

.info-box h3 {
    font-size: 1rem;
    color: var(--ideafism-primary);
    margin-bottom: 12px;
}

.info-box ol {
    margin-bottom: 12px;
    padding-left: 20px;
}

.info-box li {
    margin-bottom: 6px;
}

/* ============================================
   FORM CUSTOMIZATION
   ============================================ */
.form-control:focus {
    border-color: var(--ideafism-secondary);
    box-shadow: 0 0 0 0.25rem rgba(41, 128, 185, 0.15);
}

.form-control.is-invalid:focus {
    box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.15);
}

/* Large touch-friendly inputs */
.form-control-lg {
    padding: 14px 16px;
    font-size: 1rem;
}

/* ============================================
   BUTTON CUSTOMIZATION
   ============================================ */
.btn-primary {
    --bs-btn-bg: var(--ideafism-primary);
    --bs-btn-border-color: var(--ideafism-primary);
    --bs-btn-hover-bg: var(--ideafism-primary-dark);
    --bs-btn-hover-border-color: var(--ideafism-primary-dark);
    --bs-btn-active-bg: var(--ideafism-primary-dark);
    --bs-btn-active-border-color: var(--ideafism-primary-dark);
}

.btn-lg {
    padding: 14px 24px;
}

/* ============================================
   BACK LINK
   ============================================ */
.back-link {
    color: var(--ideafism-text-muted);
    font-size: 0.875rem;
}

.back-link:hover {
    color: var(--ideafism-secondary);
}

/* ============================================
   UTILITIES
   ============================================ */
.text-ideafism-muted {
    color: var(--ideafism-text-muted) !important;
}
