/* Icon styles */
.homepage-icon i,
.faq-icon i,
.not-found-icon i,
.out-of-area-icon i {
    font-size: 3rem;
    margin-bottom: 1rem;
}

/* Card icons */
.info-card .fas {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.info-card .fa-clock {
    color: #4caf50;
}

.info-card .fa-map-marked-alt {
    color: #2196f3;
}

.info-card .fa-heart {
    color: #ff5722;
}

.info-card .fa-check-circle {
    color: #28a745;
}

.success-message h3 {
    color: #155724;
    margin-bottom: 1rem;
}

.success-message p {
    margin-bottom: 1rem;
}

.success-message a {
    color: #155724;
    font-weight: 600;
}

.info-message h4 {
    color: #383d41;
    margin-bottom: 1rem;
}

/* Payment icons */
.fab.fa-venmo {
    color: #3D95CE;
}

.fas.fa-university {
    color: #ffc107;
}

.fas.fa-mail-bulk {
    color: #17a2b8;
}

.fas.fa-globe {
    color: #28a745;
}

/* Hero sections */
.hero-section {
    padding: 4rem 0;
}

.hero-section.homepage {
    background-color: #e8f5e9;
}

.hero-section.faq {
    background-color: #e3f2fd;
}

.hero-section.not-found {
    background-color: #fff3e0;
}

.hero-section.out-of-area {
    background-color: #fff8e1;
}

/* Section titles */
.section-title {
    margin-bottom: 2rem;
}

.section-title.homepage {
    color: #2e7d32;
}

.section-title.faq {
    color: #1565c0;
}

.section-title.not-found {
    color: #f57c00;
}

.section-title.out-of-area {
    color: #ffa000;
}

/* Spacing utilities */
.mt-4 {
    margin-top: 1.5rem;
}

.mb-4 {
    margin-bottom: 1.5rem;
}

.me-2 {
    margin-right: 0.5rem;
}

/* Info card variations */
.info-card .text-success {
    color: #28a745;
}

.info-card .text-primary {
    color: #007bff;
}

.info-card .text-info {
    color: #17a2b8;
}

/* Contact items */
.contact-item {
    margin-bottom: 1rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #eee;
}

.contact-item:last-child {
    border-bottom: none;
}

.contact-label {
    font-weight: 600;
    color: #6c757d;
}

/* Forms */
.form-section {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.validation-message {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Required fields */
.required-note {
    background-color: #fff3cd;
    border: 1px solid #ffeeba;
    padding: 1rem;
    border-radius: 0.25rem;
    margin-bottom: 1.5rem;
}

.required-note.not-found {
    background-color: #fff3e0;
    border-color: #ffe0b2;
}