/* Bela Module Council — Frontend styles */

/* ─── Body filter ─── */
.bela-council-body-filter { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.bela-council-body-filter__item { padding:6px 16px; border-radius:20px; font-size:13px; font-weight:500; color:var(--bela-text-secondary); background:var(--bela-bg-alt); text-decoration:none; transition:all .15s; }
.bela-council-body-filter__item:hover, .bela-council-body-filter__item--active { background:var(--bela-primary); color:#fff; text-decoration:none; }

/* ─── Members grid ─── */
.bela-council-members-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin-bottom:32px; }

.bela-council-member-card { background:var(--bela-surface); border:1px solid var(--bela-border); border-radius:12px; overflow:hidden; text-align:center; transition:box-shadow .15s; }
.bela-council-member-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); }
.bela-council-member-card--inactive { opacity:.6; }
.bela-council-member-card__photo-link { display:block; }
.bela-council-member-card__photo-link img { width:100%; height:200px; object-fit:cover; }
.bela-council-member-card__photo-placeholder { width:100%; height:200px; display:flex; align-items:center; justify-content:center; font-size:48px; background:var(--bela-bg-alt); }
.bela-council-member-card__body { padding:14px 16px; }
.bela-council-member-card__name { font-size:16px; font-weight:600; margin-bottom:4px; }
.bela-council-member-card__name a { color:var(--bela-text); text-decoration:none; }
.bela-council-member-card__name a:hover { color:var(--bela-primary); text-decoration:underline; }
.bela-council-member-card__role { font-size:13px; color:var(--bela-secondary); font-weight:600; margin-bottom:2px; }
.bela-council-member-card__party { font-size:12px; color:var(--bela-text-muted); }

/* ─── Single member ─── */
.bela-council-member-single__header { display:flex; gap:24px; align-items:flex-start; margin-bottom:24px; }
.bela-council-member-single__photo { flex-shrink:0; }
.bela-council-member-single__photo img { width:180px; height:220px; object-fit:cover; border-radius:12px; }
.bela-council-member-single__info h1 { font-size:clamp(24px,4vw,34px); margin-bottom:8px; }
.bela-council-member-single__role { font-size:18px; color:var(--bela-secondary); font-weight:600; }
.bela-council-member-single__party { font-size:14px; color:var(--bela-text-muted); margin-top:4px; }
.bela-council-member-single__bio { font-size:16px; line-height:1.7; margin-top:24px; }

/* ─── Contact ─── */
.bela-council-contact { margin:20px 0; padding:16px; background:var(--bela-bg-alt); border-radius:8px; }
.bela-council-contact h3 { font-size:15px; margin-bottom:10px; }
.bela-council-contact p { margin:4px 0; font-size:14px; }
.bela-council-contact a { color:var(--bela-secondary); }

/* ─── Meetings list ─── */
.bela-council-meetings-list { display:flex; flex-direction:column; gap:10px; margin-bottom:32px; }
.bela-council-meeting-card { display:flex; align-items:center; gap:16px; padding:14px 20px; background:var(--bela-surface); border:1px solid var(--bela-border); border-radius:10px; transition:box-shadow .15s; }
.bela-council-meeting-card:hover { box-shadow:0 4px 12px rgba(0,0,0,.06); }

.bela-council-meeting-card__date-block { text-align:center; min-width:56px; flex-shrink:0; }
.bela-council-meeting-card__day { display:block; font-size:24px; font-weight:800; color:var(--bela-primary); font-family:var(--bela-font-heading); }
.bela-council-meeting-card__month { display:block; font-size:11px; color:var(--bela-text-muted); }
.bela-council-meeting-card__body { flex:1; min-width:0; }
.bela-council-meeting-card__title { font-size:16px; font-weight:600; margin-bottom:4px; }
.bela-council-meeting-card__title a { color:var(--bela-text); text-decoration:none; }
.bela-council-meeting-card__title a:hover { color:var(--bela-primary); text-decoration:underline; }
.bela-council-meeting-card__meta { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:var(--bela-text-muted); }
.bela-council-meeting-card__num { font-family:var(--bela-font-mono); }
.bela-council-meeting-card__icons { display:flex; gap:6px; font-size:18px; flex-shrink:0; }

/* ─── Meeting meta ─── */
.bela-council-meta { display:grid; grid-template-columns:auto 1fr; gap:6px 16px; font-size:14px; margin:16px 0 24px; padding:16px; background:var(--bela-bg-alt); border-radius:8px; }
.bela-council-meta dt { font-weight:600; color:var(--bela-primary); }
.bela-council-meta dd { margin:0; }

/* ─── Video embed ─── */
.bela-council-video { margin:24px 0; }
.bela-council-video h3 { font-size:16px; margin-bottom:12px; }
.bela-council-video__embed { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:12px; }
.bela-council-video__embed iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }

/* ─── Minutes download ─── */
.bela-council-minutes { margin:16px 0; }
.bela-council-minutes__link { display:inline-flex; align-items:center; gap:8px; padding:12px 20px; background:var(--bela-bg-alt); border-radius:8px; font-size:14px; font-weight:600; color:var(--bela-primary); text-decoration:none; transition:background .15s; }
.bela-council-minutes__link:hover { background:var(--bela-border); text-decoration:none; }

/* ─── Resolutions table ─── */
.bela-council-resolutions { margin:24px 0; }
.bela-council-resolutions h3 { font-size:18px; margin-bottom:14px; }
.bela-council-resolutions__table { width:100%; border-collapse:collapse; font-size:14px; }
.bela-council-resolutions__table th { text-align:left; padding:10px 12px; background:var(--bela-primary); color:#fff; font-size:12px; font-weight:600; }
.bela-council-resolutions__table td { padding:10px 12px; border-bottom:1px solid var(--bela-border); }
.bela-council-resolutions__table tr:hover td { background:var(--bela-bg-alt); }
.bela-council-resolutions__num { font-family:var(--bela-font-mono); font-size:12px; white-space:nowrap; }
.bela-council-resolutions__vote { text-align:center; font-weight:600; font-family:var(--bela-font-mono); }
.bela-council-resolutions__approved { color:var(--bela-secondary); font-weight:700; }
.bela-council-resolutions__rejected { color:var(--bela-danger); font-weight:700; }

/* ─── Attachments ─── */
.bela-council-attachments { margin:24px 0; }
.bela-council-attachments ul { list-style:none; padding:0; }
.bela-council-attachments li { margin-bottom:4px; }
.bela-council-attachments a { display:inline-flex; gap:6px; padding:6px 12px; background:var(--bela-bg-alt); border-radius:6px; font-size:13px; color:var(--bela-text); text-decoration:none; transition:background .15s; }
.bela-council-attachments a:hover { background:var(--bela-border); }

/* ─── Meetings link ─── */
.bela-council-meetings-link { margin-top:24px; text-align:center; }
.bela-council-meetings-link a { color:var(--bela-secondary); font-weight:600; }

/* ─── Meeting single content ─── */
.bela-council-meeting-single__content { font-size:16px; line-height:1.7; margin:24px 0; }
.bela-council-meeting-single__content p { margin-bottom:12px; }

/* ─── Responsive ─── */
@media(max-width:768px) {
    .bela-council-members-grid { grid-template-columns:repeat(2,1fr); }
    .bela-council-member-single__header { flex-direction:column; }
    .bela-council-meeting-card { flex-direction:column; align-items:flex-start; gap:8px; }
    .bela-council-resolutions__table { font-size:12px; }
    .bela-council-resolutions__table th, .bela-council-resolutions__table td { padding:6px 8px; }
}
@media(max-width:480px) {
    .bela-council-members-grid { grid-template-columns:1fr; }
}
