/* Councils Page Specific Styles */
/* Header Section */
.councils-header {
    background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('COUNCIL_PAGE_COVER.jpg');
    background-size: cover;
    background-position: center;
    height: 60vh; /* Prominent header */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 4rem;
    position: relative;
    width: 100%;
}

.main-council-title {
    font-family: var(--font-heading);
    font-size: 6rem;
    color: var(--text-gold); /* Or white if better contrast needed */
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    margin: 0;
    opacity: 1; /* Reset from prev style */
    text-align: center;
}

/* Page Layout */
.council-category {
    margin-bottom: 8rem;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 2rem;
}

.category-title {
    font-family: var(--font-heading); /* Check which one matches "Beginner Councils" - Cinzel is decorative */
    font-size: 3.5rem;
    color: var(--text-gold);
    text-align: center;
    display: block; /* Ensure it takes full width for centering */
    margin-bottom: 5rem;
    border-bottom: none; /* Removed underline unless specified in design */
    font-weight: 400;
    margin-left: 0;
    /* Optional: Add decorative flourish if needed, but keeping clean for now */
}

/* Council Cards */
.council-card {
    display: flex;
    align-items: center;
    margin-bottom: 8rem;
    gap: 4rem;
    /* Default: Image Left, Text Right */
    flex-direction: row; 
}

/* Default alignment for Image Left (Text Right) */
.council-card .council-info {
    text-align: right; /* Align text to the right side */
}

.council-card .agendas {
    justify-content: flex-end; /* Align flex items if any used */
    align-items: flex-end;
}

/* Reverse Card: Image Right, Text Left */
.council-card.reverse {
    flex-direction: row-reverse;
}

.council-card.reverse .council-info {
    text-align: left;
}

/* Image Styling */
.council-image {
    flex: 1;
    width: 100%;
    max-width: 50%;
    height: 600px; 
    object-fit: cover;
    border-radius: 0; 
    box-shadow: 10px 10px 30px rgba(0,0,0,0.15); 
    filter: contrast(0.95) brightness(1.05); /* Slight adjustment to soften noise */
}

/* Text Content Styling */
.council-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.council-info h3 {
    font-family: var(--font-heading);
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #000; /* Sharp black for contrast or --text-body */
    font-weight: 500;
    line-height: 1.3;
}

.council-desc {
    font-family: var(--font-subheading); /* Playfair for elegant description */
    font-style: italic;
    font-size: 1.1rem;
    margin-bottom: 2rem;
    color: #555;
    line-height: 1.8;
}

.agendas {
    list-style: none;
    padding: 0;
    margin: 0;
}

.agendas li {
    font-family: var(--font-body);
    font-size: 1rem;
    margin-bottom: 0.5rem;
    color: #333;
}

.agendas strong {
    color: var(--text-gold); /* Highlight Agenda Label */
}

/* Responsive */
@media (max-width: 900px) {
    .main-council-title {
        font-size: 3rem;
    }
    
    .category-title {
        font-size: 2.5rem;
    }

    .council-card, .council-card.reverse {
        flex-direction: column;
        text-align: center;
        gap: 2rem;
        margin-bottom: 4rem;
    }

    .council-card .council-info, .council-card.reverse .council-info {
        text-align: center;
    }

    .council-image {
        max-width: 100%;
        height: auto;
        min-height: 250px;
    }
}