/* Shared CMS-driven homepage blocks (services + campus photos) */

.cms-section .cms-service-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cms-section .cms-service-card .card-img-top {
    max-height: 200px;
    object-fit: cover;
}

.cms-section .cms-service-icon {
    color: var(--primary);
}

/* Centered header templates (classic) */
.cms-section .section-title h2 {
    position: relative;
    padding-bottom: 15px;
}

.cms-section .section-title.text-center h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background-color: var(--primary);
}

.cms-section .section-title:not(.text-center) h2::after {
    display: none;
}

.cms-section .cms-service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--primary) 12%, transparent);
}

/* Vibrant — dark UI */
.site-vibrant .cms-section.cms-services {
    background: rgba(255, 255, 255, 0.04) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: #f3e8ff;
}

.site-vibrant .cms-section .cms-service-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #f3e8ff;
}

.site-vibrant .cms-section .text-secondary {
    color: #c4b5fd !important;
}

/* Website 3 — matches w3-news-panel sections */
.site-w3 .home-services-w3 {
    background: var(--w3-paper, #faf9f7);
}

.site-w3 .cms-section .cms-service-card .border-top {
    border-color: #e7e5e4 !important;
}

.site-w3 .cms-section .btn {
    border-radius: 0;
}

/* Website 1 — community school cards */
.site-w1 .cms-section .cms-service-card .card-body {
    border-top: 1px solid rgba(22, 101, 52, 0.15);
}

/* Modern — soft cards */
.site-modern .cms-section .cms-service-card {
    border-radius: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.06);
}
