/* CORWX Holiday & Event Forecasts hub (corwx-holiday-hub.php). Same 1200px content column as the other pages;
   cards use each holiday's link-preview picture. Copyright (c) 2026 Connect Central Oregon. License pending. */
.cx-hub { max-width: 1200px; width: calc(100% - 48px); margin: 0 auto; padding: 8px 0 40px; color: #F2ECE2; font-family: Montserrat, system-ui, -apple-system, sans-serif; }
.cx-hub * { box-sizing: border-box; }
.cx-hub-sec + .cx-hub-sec { margin-top: 34px; }
.cx-hub-h { font-family: Oswald, sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; font-size: 1.35rem; margin: 0 0 14px; color: #ff9a4d; }
.cx-hub-sec.is-soon .cx-hub-h { color: #D4A15A; }
.cx-hub-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.cx-hub-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; background: #13243f; border: 1px solid #2a3f63; border-radius: 16px; overflow: hidden; transition: border-color .15s, transform .15s; }
.cx-hub-card:hover { border-color: #E8752A; transform: translateY(-2px); }
.cx-hub-card:focus-visible { outline: 2px solid #E8752A; outline-offset: 3px; }
.cx-hub-sec.is-now .cx-hub-card { border-color: #E8752A; box-shadow: 0 0 0 1px rgba(232,117,42,.35); }
.cx-hub-pic { display: block; aspect-ratio: 1200 / 630; background: #0B1D34; }
.cx-hub-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cx-hub-body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; flex: 1; }
.cx-hub-draft { align-self: flex-start; font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #0B1D34; background: #D4A15A; border-radius: 999px; padding: 2px 8px; }
.cx-hub-title { font-family: Oswald, sans-serif; font-weight: 600; font-size: 1.45rem; letter-spacing: .5px; line-height: 1.15; }
.cx-hub-when { color: #D4A15A; font-weight: 600; font-size: .92rem; }
.cx-hub-blurb { color: #a3b1c8; font-size: .9rem; }
.cx-hub-es, .cx-hub-en { display: block; }
.cx-hub-en { font-size: .82em; opacity: .85; }
.cx-hub-go { margin-top: auto; padding-top: 6px; font-family: Oswald, sans-serif; text-transform: uppercase; letter-spacing: 1px; font-size: .85rem; color: #ff9a4d; }
.cx-hub-empty { color: #a3b1c8; font-style: italic; }
@media (min-width: 700px) { .cx-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1050px) { .cx-hub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
