 :root{--green:#236b43;--green-dark:#174b30;--green-light:#eaf3ed;--gold:#c4a35a;--text:#24342a}
*{box-sizing:border-box}body{color:var(--text);background:#fff;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.church-navbar{background:var(--green-dark);box-shadow:0 3px 14px #0002}.church-logo{width:46px;height:46px;object-fit:contain;border-radius:6px;background:#fff;padding:2px}.navbar-brand{font-weight:700;font-size:.98rem;white-space:normal}.nav-link{font-weight:500}.nav-link.active{color:#fff!important;border-bottom:2px solid var(--gold)}.language-switch{display:flex;gap:.35rem;padding:.35rem 0}
.hero-section{background:linear-gradient(125deg,#edf5ef,#fff 58%,#e1eee5);border-bottom:1px solid #dce9df}.hero-section h1{color:var(--green-dark);line-height:1.12}.hero-section .lead{max-width:620px;color:#536359}.eyebrow{color:var(--green);text-transform:uppercase;font-size:.78rem;font-weight:800;letter-spacing:.12em}
.btn-church{color:#fff;background:var(--green);border-color:var(--green)}.btn-church:hover{color:#fff;background:var(--green-dark);border-color:var(--green-dark)}
.welcome-card{text-align:center;padding:3rem 2rem;border:1px solid #dbe8de;border-radius:1.4rem;background:#ffffffdb;box-shadow:0 15px 40px #174b3014}.welcome-card h2{color:var(--green-dark);font-weight:700}.welcome-icon{width:86px;height:86px;display:grid;place-items:center;margin:0 auto 1.25rem;border-radius:50%;background:var(--green-light);color:var(--green);font-size:2.7rem}
.info-card{padding:1.6rem;border:1px solid #e1e9e3;border-radius:1rem;background:#fff;box-shadow:0 8px 24px #18412a0d}.info-card>i{color:var(--green);font-size:1.8rem;display:inline-block;margin-bottom:.8rem}.info-card h3{font-size:1.15rem;font-weight:700;color:var(--green-dark)}.info-card p{color:#5e6b62}.info-card a,.breadcrumb-path a{color:var(--green);text-decoration:none;font-weight:600}
.page-section{padding-top:3.5rem;padding-bottom:2rem;min-height:55vh}.section-heading{max-width:800px;margin-bottom:2rem}.section-heading h1{color:var(--green-dark);font-weight:750;margin-top:.65rem}.section-heading p{color:#627066;font-size:1.08rem}
.service-panel,.donate-panel{display:flex;gap:1.25rem;align-items:center;padding:2rem;border-radius:1rem;background:var(--green-light)}.service-panel>i,.donate-panel>i{font-size:2.4rem;color:var(--green)}.service-panel h2{font-size:1.35rem;color:var(--green-dark)}.empty-state{border:1px dashed #b7cbbb;border-radius:1rem;padding:3rem 1.5rem;text-align:center;color:#68776d;background:#fbfdfb}.empty-state i{font-size:2.5rem;color:var(--green)}.donate-panel{display:block;max-width:700px}.donate-panel>i{display:block;margin-bottom:1rem}
.site-footer{background:#f0f5f1;border-top:1px solid #dce7df;color:#536359}.site-footer strong{color:var(--green-dark)}.footer-link{color:var(--green);text-decoration:none;font-weight:600}
.video-stage{overflow:hidden;border-radius:1rem;background:#101713;box-shadow:0 12px 30px #0002}.church-video{display:block;width:100%;max-height:70vh;background:#000}.video-placeholder{min-height:350px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#d6e3d9;text-align:center;padding:2rem}.video-placeholder i{font-size:4rem;color:#7fb28e}.video-placeholder p{margin-top:1rem}.video-caption{padding:.8rem 1rem;color:#e8f1ea;background:#1b2b21;overflow-wrap:anywhere}
.playlist-panel{border:1px solid #dce7df;border-radius:1rem;overflow:hidden;box-shadow:0 8px 24px #18412a0f}.playlist-header{padding:1rem 1.1rem;color:#fff;background:var(--green);font-weight:700}.breadcrumb-path{padding:.75rem 1rem;background:#f4f8f5;border-bottom:1px solid #e2ebe4;font-size:.9rem;overflow-wrap:anywhere}.playlist-list{max-height:540px;overflow-y:auto}.playlist-list .list-group-item{padding:.8rem 1rem;border-color:#edf1ee;overflow-wrap:anywhere}.folder-link{color:var(--green-dark);font-weight:650}.folder-link>i:first-child{color:#9a7a2e}.folder-chevron{float:right;color:#819087}.video-link{display:flex;align-items:flex-start;color:#4a5b50;font-size:.93rem}.video-link span{overflow-wrap:anywhere}.video-link>i{color:var(--green);margin-top:.15rem}.video-link.active{background:var(--green-light);color:var(--green-dark);border-color:#cfe0d3}.playlist-empty{padding:2rem 1rem;text-align:center;color:#718077}.playlist-empty i{display:block;font-size:2rem;margin-bottom:.6rem}
@media(max-width:991.98px){.navbar-brand{max-width:80%}.nav-link.active{border-bottom:0}.language-switch{padding-left:.5rem}}

/* ==========================================
   CONSISTORY - Tarjetas en forma de pirámide
   ========================================== */

.consistory-page {
    padding-bottom: 4rem;
}

.consistory-level {
    margin-top: 3rem;
}

.consistory-level__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.consistory-level__heading h2 {
    margin: 0;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 700;
    color: var(--primary-color, #285d37);
}

.consistory-level__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e7f0e8;
    color: #285d37;
    font-size: 0.85rem;
    font-weight: 800;
}

.consistory-grid {
    display: grid;
    gap: 1.25rem;
    margin-inline: auto;
}

.consistory-grid--leadership {
    grid-template-columns: repeat(2, minmax(0, 250px));
    justify-content: center;
}

.consistory-grid--elders {
    grid-template-columns: repeat(3, minmax(0, 230px));
    justify-content: center;
}

.consistory-grid--deacons {
    grid-template-columns: repeat(5, minmax(0, 190px));
    justify-content: center;
}

.consistory-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e0e8e1;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 6px 22px rgb(25 60 35 / 7%);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.consistory-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgb(25 60 35 / 13%);
}

.consistory-card__portrait {
    overflow: hidden;
    aspect-ratio: 4 / 4.3;
    background: #edf4ee;
}

.consistory-card__portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.consistory-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 1rem;
}

.consistory-card__role {
    align-self: flex-start;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: #e7f0e8;
    color: #285d37;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.4;
}

.consistory-card__name {
    margin: 0;
    color: #24392a;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.consistory-card__contact {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0;
    color: #526257;
    font-size: 0.85rem;
    line-height: 1.5;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.consistory-card__contact i {
    margin-top: 0.15rem;
    flex-shrink: 0;
    color: #39764a;
}

a.consistory-card__contact:hover {
    color: #285d37;
    text-decoration: underline;
}

.consistory-card__contact.is-pending {
    color: #879188;
}

@media (max-width: 991.98px) {
    .consistory-grid--deacons {
        grid-template-columns: repeat(3, minmax(0, 190px));
    }
}

@media (max-width: 767.98px) {
    .consistory-grid--elders {
        grid-template-columns: repeat(2, minmax(0, 230px));
    }

    .consistory-grid--deacons {
        grid-template-columns: repeat(2, minmax(0, 190px));
    }

    .consistory-level {
        margin-top: 2.5rem;
    }
}

@media (max-width: 479.98px) {
    .consistory-grid--leadership,
    .consistory-grid--elders,
    .consistory-grid--deacons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .consistory-card__body {
        padding: 0.75rem;
    }

    .consistory-card__name {
        font-size: 0.95rem;
    }

    .consistory-card__contact {
        font-size: 0.78rem;
    }

    .consistory-card__role {
        font-size: 0.67rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .consistory-card {
        transition: none;
    }

    .consistory-card:hover {
        transform: none;
    }
}

