/* Add-on styles for the single-scroll homepage, top photo slider and flash ticker */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.flash-news { display:flex; align-items:center; gap:16px; overflow:hidden; }
.ticker-window { min-width:0; flex:1; overflow:hidden; }
.ticker-track { display:flex; width:max-content; align-items:center; gap:48px; white-space:nowrap; animation: flashTicker 24s linear infinite; }
.ticker-track span { flex:0 0 auto; }
.flash-news:hover .ticker-track, .flash-news:focus-within .ticker-track { animation-play-state:paused; }
@keyframes flashTicker { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.top-photo-slider { padding:30px max(20px, calc((100vw - 1180px)/2)); background:#f5f8ff; overflow:hidden; }
.top-photo-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:0 0 18px; }
.top-photo-heading h2 { margin:6px 0 0; color:#071a4d; font-size:clamp(1.45rem,3vw,2.15rem); }
.slider-kicker { color:#b28a22; font-size:.75rem; font-weight:800; letter-spacing:.12em; }
.top-photo-controls { display:flex; gap:8px; flex-shrink:0; }
.top-photo-controls button { width:42px; height:42px; border:0; border-radius:50%; background:#071a4d; color:white; font-size:1.25rem; cursor:pointer; }
.top-photo-controls button:hover { background:#d4af37; color:#071a4d; }
.top-photo-viewport { overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:none; cursor:grab; }
.top-photo-viewport::-webkit-scrollbar { display:none; }
.top-photo-track { display:flex; gap:16px; width:max-content; padding:2px 2px 8px; }
.top-photo-card { position:relative; flex:0 0 clamp(245px, 31vw, 360px); height:clamp(175px, 23vw, 250px); overflow:hidden; border-radius:16px; background:#dce5f5; scroll-snap-align:start; box-shadow:0 8px 24px #071a4d18; }
.top-photo-card img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.top-photo-card:hover img { transform:scale(1.05); }
.top-photo-card:after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(3,15,45,.82)); pointer-events:none; }
.top-photo-card span { position:absolute; z-index:1; left:18px; bottom:16px; color:#fff; font-weight:800; font-size:1rem; }
.top-photo-footer { display:flex; justify-content:space-between; gap:12px; margin-top:8px; color:#53617d; font-size:.82rem; }
@media (max-width:640px) {
 .flash-news { gap:8px; }
 .flash-label { flex:0 0 auto; }
 .ticker-admin { display:none; }
 .top-photo-slider { padding:24px 16px; }
 .top-photo-card { flex-basis:82vw; height:205px; }
 .top-photo-footer { font-size:.75rem; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .ticker-track { animation:none; }
 .top-photo-card img { transition:none; }
}
