
/* Homepage editorial sections, aligned with the association navigation. */
.association-home { padding-bottom: 28px; color: #34465a; }
.home-main-grid { display: grid; grid-template-columns: 1.08fr 1.08fr .9fr; gap: 24px; margin-bottom: 26px; }
.home-secondary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.association-home .home-panel { min-width: 0; }
.association-home .home-section-heading { display: flex; justify-content: space-between; align-items: center; min-height: 40px; border-bottom: 1px solid #d6dce3; margin-bottom: 15px; }
.association-home .home-section-heading h2 { margin: 0; color: #1a4373; font-size: 19px; font-weight: 600; line-height: 38px; }
.association-home .home-section-heading > a { font-size: 12px; color: #8291a1; }
.association-home a:hover { color: #2467a7; }
.home-feature-image { position: relative; display: block; overflow: hidden; height: 150px; }
.home-feature-image img { width: 100%; height: 100%; object-fit: cover; object-position: right center; display: block; }
.home-feature-image span { position: absolute; bottom: 0; left: 0; right: 0; padding: 8px 12px; color: white; background: rgba(26,67,115,.85); font-size: 14px; }
.association-home .home-overview h3 { font-size: 17px; font-weight: 500; color: #1a4373; margin: 14px 0 8px; }
.association-home .home-overview p { font-size: 14px; line-height: 1.9; color: #788595; margin: 0; }
.home-overview-links, .home-category-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.home-overview-links a, .home-category-links a { font-size: 13px; color: #476587; background: #f0f5fa; padding: 5px 12px; }
.association-home .home-lead { display: block; font-size: 18px; font-weight: 500; color: #1a4373; line-height: 1.6; margin: 2px 0 9px; }
.home-lead-description { font-size: 13px; line-height: 1.9; color: #8290a0; padding-bottom: 12px; margin: 0 0 8px; border-bottom: 1px dashed #dfe6ec; }
.association-home .home-news-list { padding: 0; margin: 0; list-style: none; }
.association-home .home-news-list li { display: flex; gap: 8px; align-items: center; min-width: 0; min-height: 39px; border-bottom: 1px dashed #e8edf2; font-size: 14px; }
.association-home .home-news-list li::before { content: ''; flex: 0 0 3px; width: 3px; height: 3px; background: #6a8aaf; }
.association-home .home-news-list li a { color: #40556c; min-width: 0; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.association-home .home-news-list li a:hover { color: #1a63a2; }
.association-home .home-news-list li > span { font-size: 11px; color: #95a2af; white-space: nowrap; }
.home-contact-entry { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; background: #eef4fa; padding: 12px 14px; color: #1a4373; }
.home-contact-entry strong { font-size: 18px; font-weight: 500; }
.home-section-summary { font-size: 13px; line-height: 1.8; color: #8290a0; margin: 0 0 8px; min-height: 47px; }
.home-category-links { margin: 0 0 10px; }
.association-site-footer .footer-partner-links { display: flex; flex-wrap: wrap; gap: 4px 22px; padding-top: 8px; padding-bottom: 8px; font-size: 13px; line-height: 1.6; }
.association-site-footer .footer-partner-links a { color: rgba(224,233,240,.78); }
.association-site-footer .footer-partner-links a:hover { color: #fff; }
@media (max-width: 1000px) {
    .home-main-grid { grid-template-columns: 1fr 1fr; }
    .home-notices { grid-column: 1 / -1; }
    .home-secondary-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    .home-main-grid, .home-secondary-grid { grid-template-columns: 1fr; gap: 24px; }
    .home-notices { grid-column: auto; }
    .home-feature-image { height: 180px; }
    .home-section-summary { min-height: 0; }
}
/* Local picture carousel within the first homepage column. */
.home-news-carousel { position: relative; height: 222px; overflow: hidden; background: #edf3f8; }
.home-carousel-slides, .home-carousel-slide { width: 100%; height: 100%; }
.home-carousel-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .45s ease; }
.home-carousel-slide.is-active { opacity: 1; visibility: visible; }
.home-carousel-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 86% center; }
.home-carousel-slide:nth-child(2) img { object-position: center; }
.home-carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; line-height: 1; z-index: 2; width: 28px; height: 38px; padding: 0; border: 0; background: rgba(15,40,65,.4); color: #fff; font-size: 28px; cursor: pointer; opacity: 0; transition: opacity .2s; }
.home-news-carousel:hover .home-carousel-arrow, .home-news-carousel:focus-within .home-carousel-arrow { opacity: 1; }
.home-carousel-prev { left: 0; }
.home-carousel-next { right: 0; }
.home-carousel-dots { position: absolute; right: 12px; bottom: 19px; z-index: 3; display: flex; align-items: center; gap: 6px; }
.home-carousel-dots button { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.45); cursor: pointer; }
.home-carousel-dots button.is-active { background: #fff; }
@media (prefers-reduced-motion: reduce) { .home-carousel-slide { transition: none; } }
@media (max-width: 760px) { .home-news-carousel { height: 240px; } .home-carousel-arrow { opacity: 1; } }

.home-carousel-story { min-height: 146px; }
.home-carousel-title { color: #1a4373; }
.home-carousel-detail { display: inline-block; margin-top: 10px; color: #55799f; font-size: 13px; }
.home-carousel-dots { bottom: 12px; padding: 5px 7px; background: rgba(20,52,88,.32); border-radius: 12px; }

/* Two-line excerpts and minimal left-aligned pagination. */
.association-home .home-carousel-summary,
.association-home .home-lead-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-bottom: 0;
    border-bottom: 0;
}
.home-carousel-story { min-height: 0; }
.home-carousel-dots { left: 12px; right: auto; bottom: 6px; padding: 0; background: transparent; border-radius: 0; }

.home-carousel-slide:nth-child(3) img { object-position: center; }
.home-carousel-dots { left: auto; right: 10px; bottom: 10px; background: transparent; padding: 0; }


.home-carousel-arrow { font-family: Arial, sans-serif; font-weight: 300; font-size: 23px; }

/* Gray section rule with a blue accent directly under the title. */
.association-home .home-section-heading h2 { position: relative; }
.association-home .home-section-heading h2::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #2e6098;
}
.association-home .home-more-icon { display: inline-block; margin-left: 3px; font-size: 12px; font-weight: 400; vertical-align: baseline; }
.association-home .home-news-date { flex: 0 0 auto; margin-left: auto; color: #95a2af; font-size: 12px; font-weight: 400; white-space: nowrap; font-variant-numeric: tabular-nums; }


/* Association shortcuts between the two editorial rows. */
.home-shortcuts { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 20px; padding: 20px 16px; margin: 0 0 26px; background: #f8fafc; border: 1px solid #edf1f5; }
.association-home .home-shortcuts > a { display: flex; flex-direction: column; align-items: center; gap: 10px; color: #4d637a; font-size: 14px; line-height: 1.5; text-align: center; }
.home-shortcut-icon { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; background: #edf1f5; color: #8c949d; transition: color .2s, background .2s; }
.home-shortcut-icon i { font-size: 32px; line-height: 1; }
.home-shortcuts > a:hover .home-shortcut-icon, .home-shortcuts > a:focus-visible .home-shortcut-icon { background: #e2ecf6; color: #1a4373; }
@media (max-width: 760px) {
    .home-shortcuts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px 10px; padding: 18px 10px; }
    .home-shortcut-icon { width: 52px; height: 52px; }
}

/* CSS-only single-line titles; dates keep their own reserved space. */
.association-home .home-news-list li { gap: 10px; }
.association-home .home-news-list li a {
    display: block;
    flex: 1 1 0%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.association-home .home-news-date { flex: 0 0 68px; text-align: right; }
.association-home .home-lead,
.association-home .home-carousel-title {
    display: block;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Quiet breadcrumb and typography for the standalone page. */
.association-page-breadcrumb { background: #fafbfd; border-bottom-color: #edf1f5; }
.association-page-breadcrumb .crumb .f14 { color: #929da9; font-size: 13px; }
.association-page-breadcrumb .crumb a,
.association-page-breadcrumb .crumb a:last-child { color: #8896a5; }
.association-page-breadcrumb .crumb a:hover { color: #1a4373; }
.association-page-breadcrumb .icon-home { color: #97a4b2; font-size: 12px; }
.association-page-breadcrumb .page-crumb-separator { margin: 0 7px; color: #b2bcc7; font-size: 11px; }
.association-page-content .content { color: #40556c; font-size: 14px; line-height: 1.9; }
