.content-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.gallery-photo { width: 100%; height: 240px; object-fit: cover; }
.detail-photo { width: 100%; max-height: 480px; object-fit: contain; background: #f5f6fa; }
.table td, .table th { vertical-align: middle; }
body { min-height: 100vh; }
textarea { min-height: 140px; }
.brand-name { max-width: 230px; white-space: normal; }
.association-registration { display: inline-block; padding: 9px 15px; border-radius: 6px; background: #fff8d9; color: #101b49; font-size: .9rem; }
.about-directory { padding: 32px; background: #f5f6fa; border-radius: 16px; }
.about-intro h1 { font-size: clamp(1.5rem, 3vw, 2.2rem); color: #101b49; }
.association-card .exco-name { margin-bottom: 12px; }
.association-card.exco-leader > p:last-child { color: #e0e4f3; }
.association-affiliates { margin-top: 28px; padding-top: 24px; border-top: 1px solid #dce0eb; }
.association-affiliates h3 { font-size: 1.3rem; margin-bottom: 22px; }
.association-state-list { list-style: none; padding: 0; margin: 0; }
.association-state-list .exco-name { font-weight: 700; font-size: .95rem; }
@media (max-width: 575.98px) { .about-directory { padding: 18px; } }
.language-bar { background: #0a1235; padding: 6px 0; }
.language-switcher { display: inline-flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.language-option { display: inline-block; padding: 5px 10px; border-radius: 5px; color: #263458; font-size: .75rem; line-height: 1.5; text-decoration: none; white-space: nowrap; }
.language-option:hover, .language-option:focus-visible { background: #e8ebf3; color: #101b49; }
.language-option.is-current { background: #101b49; color: white; font-weight: 700; }
.language-bar .language-option { color: #e4e8f4; }
.language-bar .language-option:hover, .language-bar .language-option:focus-visible { background: #252568; color: white; }
.language-bar .language-option.is-current { background: #ffd51b; color: #101b49; }
.exco-section { background: #f5f6fa; }
.exco-heading { margin-bottom: 32px; }
.exco-heading h1 { color: var(--taam-navy); margin-top: 10px; }
.exco-leaders, .exco-grid, .exco-auditors { display: grid; gap: 20px; }
.exco-leaders { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 24px; }
.exco-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.exco-auditors { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; padding-top: 24px; border-top: 1px solid #dce0eb; }
.exco-card { padding: 26px 24px; background: #fff; border: 1px solid #e3e6ef; border-top: 3px solid var(--taam-red); border-radius: 12px; box-shadow: 0 5px 20px rgba(16, 27, 73, .04); }
.exco-position { color: #b8122b; font-size: .78rem; font-weight: 700; line-height: 1.5; margin: 0 0 14px; }
.exco-name { color: var(--taam-navy); font-size: 1.08rem; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.exco-leader { padding: 32px; background: var(--taam-navy); border-color: var(--taam-navy); border-top-color: var(--taam-yellow); }
.exco-leader .exco-position { color: var(--taam-yellow); }
.exco-leader .exco-name { color: #fff; font-size: 1.5rem; }
.exco-auditor { border-top-color: #8892ac; background: #fafbfe; }
.exco-auditor .exco-position { color: #535e79; }
@media (max-width: 991.98px) { .exco-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .exco-leaders, .exco-grid, .exco-auditors { grid-template-columns: minmax(0, 1fr); gap: 14px; } .exco-card, .exco-leader { padding: 24px; } .exco-leader .exco-name { font-size: 1.3rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }

.upcoming-event-card { flex-direction: column; align-items: flex-start; }
.upcoming-event-logo { display: block; width: 180px; max-width: 100%; height: auto; align-self: center; object-fit: contain; }
.upcoming-event-card .event-date { flex: none; min-width: 100px; padding: 12px; }

.taam-icon { display: inline-block; flex-shrink: 0; line-height: inherit; }
h1 > .taam-icon, h2 > .taam-icon, h3 > .taam-icon { margin-inline-end: .3em; font-size: .8em; }
.nav-link .taam-icon, .btn .taam-icon { margin-inline-end: .3em; }
.quick-link .taam-icon { font-size: inherit; }
.facebook-icon .taam-icon { line-height: 1; }

.association-state-card { display: flex; align-items: center; gap: 12px; }
.state-flag { display: block; width: 48px; height: 24px; flex: 0 0 48px; object-fit: contain; box-shadow: 0 0 0 1px rgba(16,27,73,.15); }
