.news-archive,.news-reader { color:#333; }
.news-intro { max-width:1120px; color:#555; line-height:1.8; margin-bottom:25px; }
.news-tools { display:grid; grid-template-columns:minmax(0,1fr) 245px; gap:26px; padding:20px; border:1px solid #dedede; border-radius:10px; background:#f7f7f7; }
.news-tools label { display:block; margin-bottom:8px; font-size:.9rem; font-weight:600; }
.news-search-controls,.news-year-controls { display:flex; gap:8px; }
.news-mobile-month { display:none; }
.news-search-controls input,.news-year-controls select { min-width:0; flex:1; }
.news-search small { display:block; margin-top:8px; color:#666; line-height:1.5; }
.news-archive .form-control { min-height:42px; background:#fff; border-color:#ccc; transition:border-color .16s,box-shadow .16s; }
.news-archive .form-control:hover { border-color:#777; }
.news-archive .form-control:focus { border-color:#555; box-shadow:0 0 0 3px #35353518; }
.news-primary,.news-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:42px; font-size:.88rem; white-space:nowrap; border-radius:6px; }
.news-primary { color:#fff; background:#353535; border:1px solid #353535; }
.news-primary:hover { color:#fff; background:#171717; border-color:#171717; }
.news-secondary { color:#444; background:#fff; border:1px solid #ccc; }
.news-secondary:hover { color:#222; background:#f0f0f0; border-color:#777; }
.news-archive a:focus-visible,.news-archive button:focus-visible,.news-reader a:focus-visible,.news-reader button:focus-visible { outline:2px solid #444; outline-offset:4px; box-shadow:none; }
.news-months { margin:18px 0 0; padding-bottom:20px; border-bottom:1px solid #e1e1e1; }
.news-months ul { display:flex; flex-wrap:wrap; gap:7px; list-style:none; padding:0; margin:0; }
.news-months a,.news-months .news-month-disabled { display:block; padding:9px 13px; border:1px solid #d6d6d6; border-radius:24px; font-size:.82rem; color:#444; text-decoration:none; line-height:inherit; transition:border-color .15s,background .15s; }
.news-months a:hover { border-color:#666; background:#f4f4f4; color:#222; }
.news-months a[aria-current] { color:#fff; background:#353535; border-color:#353535; font-weight:600; }
.news-months .news-month-disabled { background:#f4f4f4; border-color:#e1e1e1; color:#888; cursor:not-allowed; }
.news-months .news-month-disabled[aria-current] { border-style:dashed; border-color:#999; }
.news-month-unavailable { position:relative; }
.news-month-tooltip { position:absolute; z-index:20; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); width:240px; padding:10px 12px; border-radius:7px; background:#353535; color:#fff; font-size:.78rem; line-height:1.5; text-align:center; box-shadow:0 3px 12px #0002; visibility:hidden; }
.news-month-tooltip::after { content:''; position:absolute; top:100%; left:50%; margin-left:-6px; border:6px solid transparent; border-top-color:#353535; }
.news-month-tooltip::before { content:''; position:absolute; top:100%; left:0; right:0; height:10px; }
.news-month-unavailable:hover .news-month-tooltip,.news-month-unavailable:focus-within .news-month-tooltip { visibility:visible; }
.news-month-unavailable.is-tooltip-dismissed .news-month-tooltip { visibility:hidden; }
.news-mobile-month small { display:block; margin-top:7px; font-size:.76rem; color:#666; line-height:1.5; }
.news-results-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:20px 0; }
.news-results { font-size:.9rem; color:#555; }
.news-results>span { display:block; margin-top:4px; font-size:.82rem; color:#6b6b6b; }
.news-search-context { margin:7px 0 0; overflow-wrap:anywhere; }
.news-results-actions,.news-size-form,.news-size-form label { display:flex; align-items:center; gap:10px; margin:0; font-size:.85rem; }
.news-size-form select { width:76px; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.news-card { display:flex; flex-direction:column; min-width:0; border:1px solid #ddd; border-radius:12px; overflow:hidden; background:white; box-shadow:0 2px 5px #00000005; transition:border-color .18s,box-shadow .18s,transform .18s; }
.news-card:hover,.news-card:focus-within { border-color:#737373; box-shadow:0 7px 20px #0000000d; transform:translateY(-2px); }
.news-card-media { aspect-ratio:16/9; overflow:hidden; position:relative; isolation:isolate; background:#f1f1f1; border-bottom:1px solid #e5e5e5; }
.news-card-media img { display:block; width:100%; height:100%; object-fit:contain; }
.news-card-media .news-card-backdrop { position:absolute; inset:0; z-index:0; object-fit:cover; filter:blur(20px); transform:scale(1.08); pointer-events:none; }
.news-card-media .news-card-photo { position:absolute; inset:0; z-index:1; }
.news-card-media.is-fallback .news-card-backdrop { display:none; }
.news-media-placeholder { height:100%; min-height:180px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#777; background:linear-gradient(135deg,#f6f6f6,#e9e9e9); font-size:.9rem; }
.news-media-placeholder[hidden] { display:none; }
.news-media-placeholder svg { width:50px; height:50px; }
.news-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:23px; }
.news-card time { display:block; color:#666; font-size:.84rem; margin-bottom:12px; }
.news-card h2 { margin:0 0 14px; color:#292929; font-size:1.14rem; font-weight:600; line-height:1.5; overflow-wrap:anywhere; text-align:justify; text-align-last:left; }
.news-excerpt { color:#646464; font-size:.91rem; line-height:1.7; margin-bottom:23px; overflow-wrap:anywhere; text-align:justify; text-align-last:left; }
.news-read { display:inline-flex; align-items:center; gap:13px; margin-top:auto; padding:8px 12px; border-radius:24px; background:#f1f1f1; border:1px solid #e2e2e2; font-size:.84rem; font-weight:600; color:#333; text-decoration:none!important; transition:background .16s,color .16s,border-color .16s; }
.news-read-arrow { display:inline-flex; justify-content:center; align-items:center; width:24px; height:24px; border-radius:50%; background:#353535; color:#fff; font-size:17px; transition:transform .18s; }
.news-read:hover { color:#fff; background:#353535; border-color:#353535; }
.news-read:hover .news-read-arrow { transform:translateX(3px); background:#fff; color:#333; }
.news-archive .cipes-mark,.news-reader .cipes-mark { background:#ffec80; color:#262626; border-radius:2px; padding:0 .08em; }
.news-empty { text-align:center; background:#fafafa; border:1px solid #dedede; border-radius:12px; padding:60px 24px; }
.news-empty h2 { font-size:1.25rem; margin-bottom:12px; }
.news-empty p { color:#666; }
.news-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px; margin:27px 0 5px; }
.news-pagination>p { color:#666; font-size:.85rem; margin:0; }
.news-pagination ul { margin:0; gap:5px; flex-wrap:wrap; }
.news-pagination .page-link { display:flex; align-items:center; justify-content:center; min-width:40px; min-height:40px; margin:0; border-radius:6px!important; border-color:#dedede; color:#555; font-size:.86rem; }
.news-pagination .page-link:hover { color:#222; border-color:#888; background:#f3f3f3; }
.news-pagination .active .page-link { color:#fff; background:#353535; border-color:#353535; }
.news-pagination .disabled .page-link { color:#777; background:#fafafa; }
.news-reader { padding-bottom:40px; }
.news-reader-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; width:100%; max-width:1000px; margin:24px auto; }
.news-reader-back { color:#555; text-decoration:none; font-size:.9rem; }
.news-reader-back:hover { color:#111; text-decoration:underline; }
.news-article { max-width:1000px; width:100%; margin:0 auto; }
.news-article-header { width:100%; margin:8px 0 25px; text-align:left; }
.news-article-kicker { font-size:.8rem; color:#666; letter-spacing:.08em; text-transform:uppercase; margin-bottom:12px; }
.news-article h1 { font-size:2rem; color:#292929; font-weight:600; line-height:1.4; margin-bottom:18px; overflow-wrap:anywhere; }
.news-article time { color:#666; font-size:.9rem; }
.news-article-media { position:relative; isolation:isolate; margin:0 0 28px; background:#f4f4f4; border:1px solid #e3e3e3; border-radius:10px; overflow:hidden; }
.news-article-media img { width:100%; max-height:620px; object-fit:contain; display:block; }
.news-article-media .news-article-backdrop { position:absolute; inset:0; z-index:0; width:100%; height:100%; max-height:none; object-fit:cover; filter:blur(24px); transform:scale(1.08); pointer-events:none; }
.news-article-media .news-article-photo { position:relative; z-index:1; }
.news-article-body { width:100%; margin:0; font-size:1.05rem; line-height:1.9; color:#444; white-space:pre-wrap; overflow-wrap:anywhere; text-align:justify; text-align-last:left; }
.news-article-bottom { width:100%; margin:32px 0 0; padding-top:22px; border-top:1px solid #ddd; }
@media(max-width:991.98px) { .news-tools { grid-template-columns:minmax(0,1fr); gap:18px; } .news-year-form { max-width:330px; } .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media(max-width:575.98px) { .news-tools { padding:16px; } .news-search-controls { flex-wrap:wrap; } .news-search-controls input { flex-basis:100%; } .news-search-controls .btn { flex:1; } .news-date-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .news-tools .news-year-form { min-width:0; } .news-mobile-month { display:block; min-width:0; } .news-months { display:none; } .news-grid { grid-template-columns:minmax(0,1fr); } .news-card-body { padding:20px; } .news-card h2 { font-size:1.08rem; } .news-results-actions { flex-wrap:wrap; width:100%; justify-content:space-between; } .news-pagination { justify-content:center; } .news-pagination ul { justify-content:center; gap:3px; } .news-page-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); } .news-article h1 { font-size:1.5rem; } .news-article-body { font-size:1rem; line-height:1.8; } .news-reader-nav { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .news-card,.news-read,.news-read-arrow,.news-months a,.news-archive .form-control { transition:none; } .news-card:hover,.news-card:focus-within,.news-read:hover .news-read-arrow { transform:none; } }
