/* ── Clarksville Weather Widget ───────────────────────────────────────────── */

/* ── Variables ──────────────────────────────────────────────────────────── */
.cw-wrap {
    --bg:            #0b0f1a;
    --bg-card:       rgba(255,255,255,0.042);
    --bg-card-h:     rgba(255,255,255,0.068);
    --bg-stat:       rgba(255,255,255,0.055);
    --bg-stat-h:     rgba(255,255,255,0.09);
    --border:        rgba(255,255,255,0.07);
    --border-h:      rgba(255,255,255,0.16);
    --text:          #e8eaf4;
    --text-muted:    rgba(232,234,244,0.45);
    --text-dim:      rgba(232,234,244,0.28);
    --accent:        #4f8ef7;
    --accent-dim:    rgba(79,142,247,0.18);
    --accent-glow:   rgba(79,142,247,0.35);
    --moon-lit:      #fff8c2;
    --moon-dark:     #000000;
    --good:          #43a047;
    --hdr:           #8fb8ff;
    --hdr-icon:      #6abf69;
    --hdr-bar-a:     #223766;   /* logo dark blue */
    --hdr-bar-b:     #2d6a34;   /* logo dark green */
    --temp-hot:      #ff7043;
    --temp-warm:     #ffb74d;
    --temp-cool:     #4fc3f7;
    --temp-cold:     #7986cb;
    --precip:        #4f8ef7;
    --precip-heavy:  #ab47bc;
    --alert-extreme: #d32f2f;
    --alert-severe:  #e64a19;
    --alert-mod:     #f9a825;
    --alert-minor:   #1976d2;
    --alert-info:    rgba(255,255,255,0.08);
    --text-shadow:   0 1px 2px rgba(0,0,0,0.9);
    --label:         rgba(232,234,244,0.66);
    --radius:        14px;
    --radius-sm:     8px;
    --shadow:        0 5px 24px rgba(0,0,0,0.58);
    --shadow-sm:     0 2px 9px rgba(0,0,0,0.45);
    --transition:    0.2s ease;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}

.cw-wrap[data-theme="light"] {
    --bg:            #ffffff;
    --jump-btn-bg:   #f0f4f8;
    --bg-card:       #ffffff;
    --bg-card-h:     #f8fafc;
    --bg-stat:       #f1f5f9;
    --bg-stat-h:     #e8edf4;
    --border:        rgba(0,0,0,0.07);
    --border-h:      rgba(0,0,0,0.15);
    --text:          #1a202c;
    --text-muted:    rgba(26,32,44,0.5);
    --text-dim:      rgba(26,32,44,0.3);
    --accent:        #2563eb;
    --accent-dim:    rgba(37,99,235,0.1);
    --accent-glow:   rgba(37,99,235,0.3);
    --moon-lit:      #fff8c2;
    --moon-dark:     #000000;
    --good:          #2e7d32;
    --hdr:           #1e3a8a;
    --hdr-icon:      #2e7d32;
    --hdr-bar-a:     #223766;   /* logo dark blue */
    --hdr-bar-b:     #2d6a34;   /* logo dark green */
    --temp-hot:      #e53e3e;
    --temp-warm:     #dd6b20;
    --temp-cool:     #2b6cb0;
    --temp-cold:     #553c9a;
    --precip:        #2563eb;
    --precip-heavy:  #7c3aed;
    --text-shadow:   0 1px 2px rgba(0,0,0,0.38);
    --label:         rgba(26,32,44,0.74);
    --shadow:        0 6px 22px rgba(15,23,42,0.22);
    --shadow-sm:     0 2px 8px rgba(15,23,42,0.18);
}

/* ── Wrap ───────────────────────────────────────────────────────────────── */
.cw-wrap {
    background: var(--bg);
    color: var(--text);
    padding: 10px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}

.cw-wrap *, .cw-wrap *::before, .cw-wrap *::after {
    box-sizing: inherit;
}

/* ── Top bar ─────────────────────────────────────────────────────────────── */
.cw-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
    gap: 8px;
    flex-wrap: nowrap;
}

.cw-topbar-left {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 500;
}

.cw-topbar-left .fa-location-dot {
    color: var(--accent);
    font-size: 0.88rem;
}

.cw-topbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cw-updated {
    color: var(--text-dim);
    font-size: 0.82rem;
}

.cw-obs-time {
    color: var(--text-muted);
}

.cw-theme-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    background: var(--bg-stat);
    border: 1px solid var(--border);
    color: var(--text-muted);
    border-radius: 20px;
    padding: 4px 12px;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background var(--transition), border-color var(--transition), color var(--transition);
    white-space: nowrap;
}

.cw-theme-btn:hover {
    background: var(--bg-stat-h);
    border-color: var(--border-h);
    color: var(--text);
}

/* ── Section jump buttons (inline in the top bar, radar-style) ─────────────── */
.cw-jump-bar {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
    margin-left: 6px;
    overflow-x: auto;            /* never wrap — scroll horizontally if tight */
    scrollbar-width: none;
}
.cw-jump-bar::-webkit-scrollbar { display: none; }
.cw-jump-btn { flex: 0 0 auto; }

.cw-jump-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--jump-btn-bg, var(--bg-card));
    border: 1px solid var(--border);
    color: var(--text-muted);
    padding: 5px 9px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: inherit;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: background var(--transition), border-color var(--transition), color var(--transition);
    -webkit-tap-highlight-color: transparent;
}
.cw-jump-btn i { color: var(--accent); font-size: 0.82rem; }
.cw-jump-btn:hover {
    background: var(--bg-stat-h);
    border-color: var(--border-h);
    color: var(--text);
}
.cw-jump-btn.cw-active {
    background: var(--hdr-bar-b);
    border-color: var(--hdr-bar-b);
    color: #fff;
}
.cw-jump-btn.cw-active i { color: rgba(255,255,255,0.92); }

/* ── Cards ───────────────────────────────────────────────────────────────── */
.cw-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: var(--shadow);
    overflow: hidden;
    transition: border-color var(--transition);
    position: relative;
}

.cw-card:hover {
    border-color: var(--border-h);
}

/* ── Skeleton ─────────────────────────────────────────────────────────────── */
@keyframes cw-shimmer {
    0%   { background-position: -600px 0; }
    100% { background-position:  600px 0; }
}

.cw-skeleton-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.04) 50%,
        rgba(255,255,255,0) 100%);
    background-size: 600px 100%;
    animation: cw-shimmer 1.6s infinite;
    pointer-events: none;
    transition: opacity 0.4s;
    border-radius: var(--radius);
}

.cw-hero.loaded .cw-skeleton-overlay { opacity: 0; }

.cw-skeleton-row {
    height: 120px;
    background: linear-gradient(90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.04) 50%,
        rgba(255,255,255,0) 100%);
    background-size: 600px 100%;
    animation: cw-shimmer 1.6s infinite;
    border-radius: var(--radius-sm);
    margin: 4px;
}

/* ── Hero card ───────────────────────────────────────────────────────────── */
.cw-hero {
    background: linear-gradient(135deg,
        rgba(79,142,247,0.06) 0%,
        rgba(255,255,255,0.03) 60%,
        rgba(171,71,188,0.04) 100%),
        var(--bg-card);
}

.cw-hero-body { position: relative; }

/* "Weather Radar" link bar at the bottom of the conditions card */
.cw-radar-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px;
    background: var(--bg-stat);
    border-top: 1px solid var(--border-h);
    color: var(--accent);
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    transition: background var(--transition), color var(--transition);
}
.cw-radar-link:hover { background: var(--bg-stat-h); color: var(--text); }
.cw-radar-link i { font-size: 1.05rem; }

.cw-hero-inner {
    display: flex;
    align-items: stretch;
    gap: 0;
    padding: 0;
    flex-wrap: wrap;
}

/* Left: big temp + condition */
.cw-hero-primary {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 18px 22px;
    border-right: 1px solid var(--border);
    min-width: 220px;
    flex-shrink: 0;
    gap: 3px;
    text-align: center;
}

.cw-cond-icon {
    display: block;
    width: 100%;
    text-align: center;
    line-height: 0;
    margin-bottom: 8px;
}
.cw-cond-icon .cw-wx-svg {
    width: 78%;
    height: auto;
    max-width: 145px;
}

/* Subtle text-shadow on major value text for depth (theme-adjusted via --text-shadow) */
.cw-temp-val, .cw-cond-label, .cw-stat-val, .cw-hour-temp,
.cw-day-high, .cw-day-low, .cw-rec-val, .cw-hydro-num,
.cw-c-temp-val, .cw-c-day-temp, .cw-moon-phase, .cw-drought-status,
.cw-sky-val, .cw-best-window, .cw-day-temp, .cw-hour-temp {
    text-shadow: var(--text-shadow);
}

/* In-box white-on-blue sub-headers still need a dark shadow for legibility */
.cw-alm-card-title, .cw-disc-sub-hdr {
    text-shadow: 0 1px 2px rgba(0,0,0,0.45);
}

/* Colored SVG weather icons scale with their container's font-size */
.cw-wx-svg {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.14em;
    overflow: visible;
}

/* Condition icon colors by type */
.cw-wrap .cw-cond-icon.cw-icon-sun   { color: #ffca28; filter: drop-shadow(0 0 14px rgba(255,202,40,0.5)); }
.cw-wrap .cw-cond-icon.cw-icon-moon  { color: #b0bec5; filter: drop-shadow(0 0 10px rgba(176,190,197,0.4)); }
.cw-wrap .cw-cond-icon.cw-icon-cloud { color: #90a4ae; filter: drop-shadow(0 0 8px rgba(144,164,174,0.3)); }
.cw-wrap .cw-cond-icon.cw-icon-rain  { color: #4fc3f7; filter: drop-shadow(0 0 10px rgba(79,195,247,0.4)); }
.cw-wrap .cw-cond-icon.cw-icon-storm { color: #ce93d8; filter: drop-shadow(0 0 14px rgba(206,147,216,0.5)); }
.cw-wrap .cw-cond-icon.cw-icon-snow  { color: #e3f2fd; filter: drop-shadow(0 0 12px rgba(227,242,253,0.5)); }
.cw-wrap .cw-cond-icon.cw-icon-fog   { color: #b0bec5; }
.cw-wrap .cw-cond-icon.cw-icon-wind  { color: #80cbc4; }

.cw-temp {
    display: flex;
    align-items: flex-start;
    line-height: 1;
}

.cw-temp-val {
    font-size: 4.8rem;
    font-weight: 700;
    letter-spacing: -3px;
    color: var(--text);
    line-height: 1;
}

.cw-temp-unit {
    font-size: 1.6rem;
    font-weight: 400;
    color: var(--text-muted);
    margin-top: 8px;
    margin-left: 2px;
}

.cw-cond-label {
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--text);
    margin-top: 4px;
}

.cw-feels {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-top: 2px;
}

/* Right: stat grid */
.cw-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    flex: 1;
    padding: 14px;
}

.cw-stat {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "ic lbl" "ic val";
    align-items: center;
    column-gap: 11px;
    row-gap: 0;
    padding: 10px 14px;
    background: var(--bg-stat);
    border: 1px solid var(--border-h);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-sm);
    cursor: default;
}

.cw-stat i {
    grid-area: ic;
    align-self: center;
    font-size: 1.5rem;
    color: var(--accent);
    opacity: 0.85;
}

.cw-stat-label {
    grid-area: lbl;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--label);
    line-height: 1.15;
}

.cw-stat-val {
    grid-area: val;
    font-size: 1.08rem;
    font-weight: 600;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1.15;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}
.cw-stat { min-width: 0; }
.cw-stat[data-stat-cell] .cw-stat-val { white-space: normal; }

/* Full-width cells: Chance of Rain (top) and UV Index (bottom) */
.cw-stat-uv     { grid-column: 1 / -1; }
.cw-stat-chance { grid-column: 1 / -1; }
.cw-stat-uv i     { color: #ffb74d; }
.cw-stat-chance i { color: #1976d2; }
.cw-stat-uv .cw-stat-val,
.cw-stat-chance .cw-stat-val { white-space: normal; }

/* Chance of Rain + UV Index both render inline — icon + label + value on one line */
.cw-stat-chance,
.cw-stat-uv {
    grid-template-columns: auto auto 1fr;
    grid-template-areas: "ic lbl val";
}
.cw-stat-chance .cw-stat-label,
.cw-stat-uv .cw-stat-label { grid-area: lbl; align-self: center; }
.cw-stat-chance .cw-stat-val,
.cw-stat-uv .cw-stat-val   { grid-area: val; margin-left: 6px; align-self: center; }
.cw-uv-now b, .cw-uv-peak b { font-weight: 800; font-size: 1.1em; text-shadow: var(--text-shadow); }
.cw-uv-sep { color: var(--text-dim); margin: 0 4px; }
.cw-uv-peak { color: var(--label); font-weight: 500; }

/* AQI dot */
.cw-aqi-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

/* Pressure trend arrow */
.cw-trend {
    font-size: 0.95rem;
    margin-left: 2px;
}
.cw-trend-up     { color: #e0584b; }   /* pressure rising */
.cw-trend-down   { color: #4fa3e0; }   /* pressure falling */
.cw-trend-steady { color: var(--text-muted); }

/* ── Alerts ──────────────────────────────────────────────────────────────── */
.cw-alerts:empty { display: none; }

/* Header above a stack of alerts (only shows when ≥ 2 in the same window).
   Now an <h3> with a red "Weather Alerts" chip + count text on the same line. */
.cw-alerts-hdr {
    display: flex; align-items: center; gap: 10px;
    margin: 24px 0;
    font-size: 1.05rem; font-weight: 700;
    color: var(--text);
    line-height: 1.25;
}
.cw-alerts-hdr-chip {
    background: #d32f2f;
    color: #ffffff;
    padding: 2px 10px 1px;
    border-radius: 3px;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-shadow: 0 1px 1.5px rgba(0,0,0,0.35);
}
.cw-alerts-hdr-count { font-weight: 600; color: var(--text); }

.cw-alert {
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 1px solid;
    box-shadow: var(--shadow-sm);
}

.cw-alert[data-severity="Extreme"]  { border-color: var(--alert-extreme); }
.cw-alert[data-severity="Severe"]   { border-color: var(--alert-severe); }
.cw-alert[data-severity="Moderate"] { border-color: var(--alert-mod); }
.cw-alert[data-severity="Minor"]    { border-color: var(--alert-minor); }
.cw-alert[data-severity="Unknown"]  { border-color: var(--border-h); }

/* Individual alert header — h3 with red "Weather Alert" chip + event name */
.cw-alert-hdr {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin: 0;
    cursor: pointer;
    user-select: none;
    font-size: 1rem;
    line-height: 1.25;
    background: var(--bg-card);
    color: var(--text);
}
.cw-alert-label {
    background: #d32f2f;
    color: #ffffff;
    padding: 2px 10px 1px;
    border-radius: 3px;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-shadow: 0 1px 1.5px rgba(0,0,0,0.35);
    flex-shrink: 0;
}
/* Severity-colored chip variants override the default red */
.cw-alert[data-severity="Extreme"]  .cw-alert-label { background: #d32f2f; }
.cw-alert[data-severity="Severe"]   .cw-alert-label { background: #e64a19; }
.cw-alert[data-severity="Moderate"] .cw-alert-label { background: #f9a825; color: #1a1a1a; text-shadow: 0 1px 1px rgba(255,255,255,0.4); }
.cw-alert[data-severity="Minor"]    .cw-alert-label { background: #1976d2; }
.cw-alert[data-severity="Unknown"]  .cw-alert-label { background: #5d6770; }

.cw-alert .cw-alert-event,
.cw-alert .cw-alert-expires,
.cw-alert .cw-alert-chevron { color: var(--text); font-weight: 600; }

/* (cw-alert-badge removed — replaced by the .cw-alert-label red chip) */

/* AQI value pieces — keep dot, number, category together on the value line.
   .cw-stat-val is flex with gap:6px, so these become three explicit items. */
.cw-aqi-num { font-weight: 700; }
.cw-aqi-cat { font-weight: 500; color: var(--text); }

.cw-alert-event {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text);
    flex: 1;
}

.cw-alert-expires {
    font-size: 0.82rem;
    color: var(--text-muted);
    white-space: nowrap;
}

.cw-alert-chevron {
    font-size: 0.82rem;
    color: var(--text-muted);
    transition: transform 0.25s ease;
    flex-shrink: 0;
}

.cw-alert.open .cw-alert-chevron { transform: rotate(180deg); }

.cw-alert-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.cw-alert.open .cw-alert-body { max-height: 50vh; overflow-y: auto; }

.cw-alert-desc {
    padding: 12px 16px 16px;
    font-size: 0.82rem;
    line-height: 1.3;
    color: var(--text-muted);
    border-top: 1px solid var(--border);
}

/* Reflowed NWS text (alerts, discussion, brief widget) */
.cw-alert-desc p,
.cw-disc-text p,
.cw-disc-key-body p,
.cw-wgt-brief-body-text p {
    margin: 0 0 0.7em;
    overflow-wrap: anywhere;
}
.cw-alert-desc p:last-child,
.cw-disc-text p:last-child,
.cw-disc-key-body p:last-child,
.cw-wgt-brief-body-text p:last-child { margin-bottom: 0; }
.cw-nws-bullet {
    margin: 0 0 0.7em;
    padding-left: 0.85em;
    position: relative;
}
.cw-nws-bullet::before {
    content: '';
    position: absolute;
    left: 0; top: 0.55em;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.6;
}
.cw-nws-bullet-head { font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.cw-nws-subs {
    margin: 0.35em 0 0;
    padding-left: 1.1em;
    list-style: disc outside;
}
.cw-nws-subs li {
    margin: 0 0 0.3em;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.cw-nws-subs li:last-child { margin-bottom: 0; }
.cw-nws-sub {
    margin: 0 0 0.5em 1em;
    padding-left: 0.5em;
    border-left: 2px solid var(--border);
    overflow-wrap: anywhere;
}
/* NWS labeled sections (What / Where / When / Impacts / Additional Details):
   blue sub-header per the dashboard visual language, single-line spacing. */
.cw-alert-desc .cw-nws-section { margin: 1.5em 0 0; }   /* paragraph break before each subheader */
/* Additional-details sub-items as plain, blank-line-separated lines (no markers) */
.cw-alert-desc .cw-nws-subs { list-style: none; padding-left: 0; margin: 0.4em 0 0; }
.cw-alert-desc .cw-nws-subs li { margin: 0 0 0.5em; line-height: 1.3; }
.cw-alert-desc .cw-nws-subs li:last-child { margin-bottom: 0; }
.cw-nws-subhdr {
    display: block;
    margin: 0 0 0.9em;
    padding: 3px 10px;
    font-size: 0.74rem;
    font-weight: 600;
    color: #ffffff;
    background: var(--hdr-bar-a);
    border-radius: 3px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.45);
}
.cw-nws-body { overflow-wrap: anywhere; }

/* ── Collapsible sections ─────────────────────────────────────────────────── */
/* Section header — front-page block-title look: a green box on the left
   holding the title text, a 2px green line continuing to the right edge,
   chevron sitting above that line. */
.cw-section-hdr {
    display: flex;
    align-items: flex-end;
    padding: 12px 0 0;          /* no left/right padding so the title chip sits flush with the card edge */
    margin: 0;
    cursor: pointer;
    user-select: none;
    background: transparent;
    border-bottom: 2px solid var(--hdr-bar-b);
    transition: background var(--transition);
}
.cw-section-hdr:hover { background: var(--bg-stat); }
.cw-hdr-static { cursor: pointer; }
.cw-hdr-static:hover { background: var(--bg-stat); }

.cw-section-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--hdr-bar-b);
    color: #ffffff;
    padding: 7px 14px;
    margin-bottom: -2px;                /* box bottom sits ON the line */
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
.cw-section-title i {
    color: rgba(255,255,255,0.95);
    font-size: 1rem;
}

.cw-chevron {
    color: var(--text-muted);
    font-size: 1rem;
    margin-left: auto;
    margin-bottom: 6px;                 /* chevron sits ABOVE the line */
    transition: transform 0.3s ease, color var(--transition);
}
.cw-section-hdr:hover .cw-chevron { color: var(--text); }

.cw-section.collapsed .cw-chevron      { transform: rotate(180deg); }

/* Section wrap now holds header OUTSIDE the card and the card itself */
.cw-section {
    display: flex;
    flex-direction: column;
    gap: 16px;                          /* +10px breathing room between header and box */
}
.cw-section.collapsed .cw-card {
    border: none;
    box-shadow: none;
    background: transparent;
}

/* Small "Updated 7:00 AM CDT" line, immediately under the top bar */
.cw-updated-line {
    font-size: 0.78rem;
    color: var(--text-dim);
    padding: 0 4px;
    margin-top: -4px;
}
.cw-updated-line .cw-obs-time { color: var(--text-muted); }

/* Sidebar widget headers: black box with white text instead of the green */
.cw-widget .cw-section-hdr   { border-bottom-color: #1a1a1a; }
.cw-widget .cw-section-title { background: #1a1a1a; }
.cw-widget .cw-section-title i { color: rgba(255,255,255,0.95); }

.cw-section-body {
    overflow: hidden;
    transition: max-height 0.4s ease;
    max-height: 2000px;
}

.cw-section.collapsed .cw-section-body { max-height: 0; }

/* ── Hourly grid (wraps to multiple rows, like the 7-day but a bit smaller) ── */
.cw-hourly-strip {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
    gap: 12px;
    padding: 16px;
}

.cw-hour {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 0 10px 12px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--bg-stat);
    border: 1px solid var(--border-h);
    box-shadow: var(--shadow-sm);
    transition: background var(--transition), border-color var(--transition), box-shadow var(--transition);
    cursor: default;
}


.cw-hour-time {
    align-self: stretch;
    margin: 0 -10px 6px;
    padding: 7px 4px;
    background: var(--hdr-bar-a);   /* blue header bar */
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,0.45);
}

.cw-hour.cw-now .cw-hour-time {
    background: var(--hdr-bar-b);   /* now highlighted green */
    color: #ffffff;
}

.cw-hour.cw-now {
    background: rgba(45,106,52,0.14);
    border-color: rgba(45,106,52,0.45);
}

.cw-hour-icon {
    display: block;
    width: 100%;
    text-align: center;
    line-height: 0;
    margin: 2px 0;
}
.cw-hour-icon .cw-wx-svg {
    width: 64%;
    height: auto;
    max-width: 82px;
}

.cw-hour-temp {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text);
}

.cw-hour-precip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 100%;
}

.cw-hour-precip-pct {
    font-size: 0.9rem;
    color: var(--text-dim);
}

.cw-hour-precip-pct.cw-precip-notable {
    color: var(--precip);
    font-weight: 600;
}

.cw-precip-bar {
    width: 100%;
    height: 5px;
    background: var(--border);
    border-radius: 3px;
    overflow: hidden;
}

.cw-precip-bar-fill {
    height: 100%;
    border-radius: 2px;
    background: var(--precip);
    transition: width 0.6s ease;
}

/* High precip gets purple tint */
.cw-hour[data-precip-high="1"] .cw-precip-bar-fill { background: var(--precip-heavy); }

/* ── Daily grid ───────────────────────────────────────────────────────────── */
.cw-daily-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 8px;
    padding: 16px;
}

.cw-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 0 10px 14px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--bg-stat);
    border: 1px solid var(--border-h);
    box-shadow: var(--shadow-sm);
    transition: background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
    cursor: default;
    text-align: center;
}


.cw-day-name {
    align-self: stretch;
    margin: 0 -10px 6px;
    padding: 7px 4px;
    background: var(--hdr-bar-a);   /* blue header bar */
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0,0,0,0.45);
}

.cw-day.cw-today {
    background: rgba(45,106,52,0.14);   /* subtle green tint marks today */
    border-color: rgba(45,106,52,0.45);
}

.cw-day.cw-today .cw-day-name {
    background: var(--hdr-bar-b);   /* today highlighted green */
    color: #ffffff;
}

.cw-day-icon {
    display: block;
    width: 100%;
    text-align: center;
    line-height: 0;
    margin: 2px 0 0;
}
.cw-day-icon .cw-wx-svg {
    width: 76%;
    height: auto;
    max-width: 102px;
}

.cw-day-temp {
    display: flex;
    align-items: center;
    gap: 3px;
    font-weight: 600;
}

.cw-day-sep { color: var(--text-dim); font-weight: 500; }

.cw-day-high {
    font-size: 1.0rem;
    color: var(--text);
}

.cw-day-low {
    font-size: 0.85rem;
    color: var(--text-muted);
}

.cw-day-range-bar {
    width: 80%;
    height: 4px;
    border-radius: 2px;
    background: var(--border);
    overflow: hidden;
}

.cw-day-range-fill {
    height: 100%;
    border-radius: 2px;
    background: linear-gradient(to right, var(--temp-cool), var(--temp-hot));
}

.cw-day-cond {
    font-size: 0.82rem;
    color: var(--text-muted);
    line-height: 1.3;
    max-width: 110px;
}

.cw-day-precip {
    font-size: 0.82rem;
    color: var(--precip);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;   /* sit on a consistent bottom line; space above flexes */
    padding-top: 4px;
}

.cw-day-precip i { font-size: 0.82rem; }

/* Night periods get a dimmer style */
.cw-day.cw-night {
    opacity: 0.82;
}

/* ══ ALMANAC & OUTDOORS ═══════════════════════════════════════════════════ */
.cw-almanac-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 14px;
}

.cw-alm-card {
    background: var(--bg-stat);
    border: 1px solid var(--border-h);
    border-radius: var(--radius-sm);
    padding: 0 16px 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-shadow: var(--shadow-sm);
    transition: border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);
}

.cw-alm-wide { grid-column: 1 / -1; }

/* In-box sub-header: solid blue bar (sits a tier below the green section header) */
.cw-alm-card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 -16px 4px;
    padding: 9px 16px;
    background: var(--hdr-bar-a);
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #ffffff;
}
.cw-alm-card-title i { color: rgba(255,255,255,0.92); opacity: 1; }

/* Sun & Moon */
.cw-sky-row { display: flex; gap: 6px; justify-content: space-between; }
.cw-sky-item {
    display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 1;
}
.cw-sky-item i { font-size: 0.85rem; color: var(--text-muted); }
.cw-sun-up   { color: var(--temp-warm) !important; }
.cw-sun-down { color: var(--temp-cool) !important; }
.cw-sky-label { font-size: 0.88rem; font-weight: 500; text-transform: none; letter-spacing: 0.01em; color: var(--label); }
.cw-sky-val { font-size: 0.92rem; font-weight: 600; color: var(--text); }

.cw-moon-row {
    display: flex; align-items: center; gap: 16px;
    padding-top: 14px; margin-top: 4px; border-top: 1px solid var(--border);
}
.cw-moon-svg { width: 56px; height: 56px; flex-shrink: 0; filter: drop-shadow(0 0 7px rgba(246,241,216,0.28)); }
.cw-moon-info { display: flex; flex-direction: column; gap: 2px; }
.cw-moon-label { font-size: 0.88rem; font-weight: 500; text-transform: none; letter-spacing: 0.01em; color: #3b82f6; }
.cw-wrap[data-theme="dark"] .cw-moon-label { color: #a9ccff; }
.cw-moon-phase { font-size: 1.18rem; font-weight: 700; color: var(--text); line-height: 1.15; }
.cw-moon-sub { font-size: 0.96rem; color: var(--label); }
.cw-moon-next { font-size: 0.9rem; color: var(--label); margin-top: 4px; }

/* Records */
.cw-rec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cw-rec { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 8px 4px; background: var(--bg-card); border-radius: 6px; box-shadow: var(--shadow-sm); }
.cw-rec-label { font-size: 0.88rem; font-weight: 500; text-transform: none; letter-spacing: 0.01em; color: var(--label); }
.cw-rec-val { font-size: 1.3rem; font-weight: 700; color: var(--text); }
.cw-rec-val.cw-hot { color: var(--temp-hot); }
.cw-rec-val.cw-cold { color: var(--temp-cold); }
.cw-rec-year { font-size: 0.82rem; color: var(--text-dim); }
.cw-rec-trend { font-size: 0.95rem; color: var(--label); display: flex; align-items: center; gap: 6px; }
.cw-rec-trend i { color: var(--temp-warm); font-size: 1.05rem; }
.cw-rec-source { font-size: 0.72rem; color: var(--text-dim); margin-top: 6px; text-align: right; font-style: italic; }

/* Frost & growing season */
.cw-frost-row, .cw-hunt-row { display: flex; gap: 10px; justify-content: space-between; }
.cw-frost-item { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; }
/* Frost + hunting field labels in the lighter sub-sub-header blue */
.cw-frost-item .cw-sky-label { color: #3b82f6; }
.cw-wrap[data-theme="dark"] .cw-frost-item .cw-sky-label { color: #a9ccff; }
.cw-grow-bar-wrap { display: flex; flex-direction: column; gap: 4px; }
.cw-grow-bar { height: 6px; border-radius: 3px; background: var(--border); overflow: hidden; }
.cw-grow-fill { height: 100%; width: 100%; background: linear-gradient(to right, #8bc34a, #43a047, #ff9800); border-radius: 3px; }
.cw-grow-days { font-size: 0.85rem; color: var(--label); font-weight: 500; }

/* Planting */
.cw-zone-badge {
    margin-left: auto; font-size: 0.82rem; font-weight: 600; padding: 2px 8px;
    border-radius: 10px; background: rgba(255,255,255,0.22); color: #fff;
    text-transform: none; letter-spacing: 0;
}
.cw-plant-status { font-size: 0.82rem; color: var(--text); font-weight: 500; }
.cw-plant-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.cw-plant-col {
    background: var(--bg-card);
    border: 1px solid var(--border-h);
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}
.cw-plant-col-hdr {
    background: #3b8ed1;   /* sky blue — a tier lighter than the card's dark-blue title */
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    margin-bottom: 8px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
.cw-plant-col-hdr i { color: rgba(255,255,255,0.95); }
.cw-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.cw-plant-col .cw-chips { padding: 0 10px 10px; }
.cw-chip {
    font-size: 0.82rem; padding: 2px 8px; border-radius: 11px;
    background: var(--bg-card); border: 1px solid var(--border); color: var(--text);
    white-space: nowrap;
}
.cw-chip-sow        { border-color: rgba(67,160,71,0.4); }
.cw-chip-transplant { border-color: rgba(79,142,247,0.4); }
.cw-chip-harvest    { border-color: rgba(255,152,0,0.4); }
.cw-plant-notes {
    font-size: 0.88rem; color: var(--text); line-height: 1.55;
    padding: 9px 11px; background: var(--bg-card); border-radius: 6px;
    display: flex; gap: 7px; align-items: flex-start;
}
.cw-plant-notes i { color: var(--accent); margin-top: 2px; flex-shrink: 0; }

/* Fishing & solunar */
.cw-outlook-badge {
    margin-left: auto; font-size: 0.82rem; font-weight: 700; padding: 2px 9px;
    border-radius: 10px; text-transform: uppercase; letter-spacing: 0.03em;
    background: var(--border); color: var(--text);
}
.cw-outlook-excellent, .cw-outlook-best { background: rgba(46,125,50,0.28); color: #2e7d32; }
.cw-outlook-good { background: rgba(67,160,71,0.22); color: #66bb6a; }
.cw-outlook-fair, .cw-outlook-slow { background: rgba(255,179,77,0.2); color: var(--temp-warm); }
.cw-outlook-poor { background: rgba(183,28,28,0.22); color: #d32f2f; }
.cw-fish-meta { display: flex; flex-wrap: wrap; gap: 12px; }
.cw-fish-stat { font-size: 0.82rem; color: var(--text-muted); display: flex; align-items: center; gap: 5px; }
.cw-fish-stat i { color: var(--accent); opacity: 0.8; }
.cw-best-times { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
@media (max-width: 720px) {
    .cw-best-times { grid-template-columns: repeat(2, 1fr); }
}
.cw-best-time {
    display: flex; flex-direction: column; gap: 1px; padding: 8px 12px;
    border-radius: 6px; background: var(--bg-card); border-left: 3px solid var(--border-h);
    box-shadow: var(--shadow-sm);
}
.cw-fish-loc { font-size: 0.82rem; color: var(--text-muted); display: flex; align-items: center; gap: 5px; margin-top: -2px; }
.cw-fish-loc i { color: var(--accent); font-size: 0.82rem; }
.cw-best-major { border-left-color: var(--accent); }
.cw-best-minor { border-left-color: var(--text-dim); }
.cw-best-dawn  { border-left-color: #ffb74d; }
.cw-best-dusk  { border-left-color: #ab47bc; }
/* Quality-based rating colors on the left bar — overrides the major/minor color above */
.cw-best-r-best { border-left-color: #2e7d32; }
.cw-best-r-good { border-left-color: #66bb6a; }
.cw-best-r-fair { border-left-color: #fb8c00; }
.cw-best-r-poor { border-left-color: #b71c1c; }
.cw-best-r-best .cw-best-type { color: #2e7d32; }
.cw-best-r-good .cw-best-type { color: #66bb6a; }
.cw-best-r-fair .cw-best-type { color: #fb8c00; }
.cw-best-r-poor .cw-best-type { color: #b71c1c; }
.cw-best-type { font-size: 0.88rem; text-transform: none; letter-spacing: 0.01em; color: var(--text-muted); font-weight: 600; }
.cw-best-window { font-size: 0.85rem; font-weight: 600; color: var(--text); }
.cw-best-label { font-size: 0.82rem; color: var(--text-dim); }
.cw-fish-tip {
    font-size: 0.82rem; color: var(--temp-warm); line-height: 1.5;
    padding: 8px 10px; background: rgba(255,152,0,0.08); border-radius: 6px;
    display: flex; gap: 7px; align-items: flex-start;
}
.cw-fish-tip i { margin-top: 2px; flex-shrink: 0; }

/* Multi-day fishing outlook strip (4 cells filling the row evenly) */
.cw-fish-3day {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    margin-top: 2px;
}
.cw-fish-3day-cell {
    display: flex; flex-direction: column; gap: 3px;
    padding: 8px 6px; border-radius: 6px;
    background: var(--bg-stat); border: 1px solid var(--border);
    text-align: center; min-width: 0;
}
.cw-fish-3day-today { background: rgba(45,106,52,0.14); border-color: rgba(45,106,52,0.45); }
.cw-fish-3day-date { font-size: 0.85rem; color: var(--text-muted); font-weight: 800; text-transform: none; letter-spacing: 0.01em; line-height: 1.15; }
.cw-fish-3day-date-sub { display: block; font-size: 0.72rem; color: var(--text-dim); font-weight: 600; margin-top: 1px; }
.cw-fish-3day-rate { font-size: 0.88rem; font-weight: 700; padding: 2px 8px; border-radius: 999px; display: inline-block; margin: 4px auto 2px; }
.cw-fish-3day-when-lbl { font-size: 0.62rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; line-height: 1.1; }
.cw-fish-3day-when { font-size: 0.78rem; color: var(--text); font-weight: 600; line-height: 1.2; }
.cw-fish-3day-when-time { color: var(--text-dim); font-weight: 500; white-space: nowrap; }
/* Date range chip in the green header bar — separated from the title by a
 * thin vertical rule. Text is white-on-green so it reads against the bar. */
.cw-alm-card-range {
    margin-left: 8px; padding-left: 10px;
    border-left: 1px solid rgba(255,255,255,0.35);
    font-size: 0.78rem; color: rgba(255,255,255,0.88); font-weight: 500;
    text-transform: none; letter-spacing: 0;
}

/* Subsection headers inside the Fishing card (Fishing Forecast / Best Fishing) */
.cw-fish-section-hdr {
    display: flex; align-items: center; gap: 8px;
    margin-top: 6px;
    padding-bottom: 4px; border-bottom: 1px solid var(--border);
    font-size: 0.78rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.05em; color: var(--text-muted);
}
.cw-fish-section-hdr i { color: var(--accent); }
.cw-fish-section-hdr-sub {
    font-weight: 400; text-transform: none; letter-spacing: 0;
    color: var(--text-dim); margin-left: auto;
}

@media (max-width: 720px) {
    .cw-fish-3day { grid-template-columns: repeat(2, 1fr); }
}

/* Lake & dam pool levels (Cheatham · Kentucky · Barkley) */
.cw-fish-sub {
    margin-top: 4px; padding-top: 10px;
    border-top: 1px solid var(--border);
    display: flex; flex-direction: column; gap: 8px;
}
.cw-fish-sub-hdr {
    font-size: 0.78rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.05em; color: var(--text-muted);
    display: flex; align-items: center; gap: 6px;
}
.cw-fish-sub-hdr i { color: var(--accent); }
.cw-fish-lakes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.cw-fish-lake {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 8px 6px; border-radius: 6px;
    background: var(--bg-stat); border: 1px solid var(--border);
}
.cw-fish-lake-name { font-size: 0.9rem; color: var(--text-muted); font-weight: 800; text-transform: none; letter-spacing: 0.01em; }
.cw-fish-lake-val  { font-size: 1.05rem; color: var(--text); font-weight: 700; text-shadow: var(--text-shadow); display: inline-flex; align-items: center; gap: 4px; }
.cw-fish-lake-flow { font-size: 0.88rem; color: var(--text); font-weight: 600; line-height: 1; }
.cw-fish-lake-sub  { font-size: 0.7rem; color: var(--text-dim); }
.cw-fish-lake-trend { font-size: 0.85rem; font-weight: 700; line-height: 1; }
.cw-tr-up     { color: #d32f2f; }
.cw-tr-down   { color: #1976d2; }
.cw-tr-stable { color: var(--text-dim); }

/* Hunting */
.cw-hunt-note { font-size: 0.82rem; color: var(--label); line-height: 1.5; }

/* ══ ATHLETICS OUTLOOK ════════════════════════════════════════════════════ */
.cw-ath-wrap { padding: 16px 18px; display: flex; flex-direction: column; gap: 14px; }
.cw-ath-verdict {
    display: flex; flex-direction: column; gap: 2px;
    padding: 14px 16px; border-radius: var(--radius-sm);
    border: 1px solid var(--border-h); box-shadow: var(--shadow-sm);
}
.cw-ath-verdict-label { font-size: 1.35rem; font-weight: 800; letter-spacing: 0.02em; line-height: 1.1; text-shadow: var(--text-shadow); }
.cw-ath-verdict-sub   { font-size: 0.9rem; color: var(--text); opacity: 0.9; }
.cw-ath-good  { background: rgba(67,160,71,0.18);  border-color: rgba(67,160,71,0.55); }
.cw-ath-good  .cw-ath-verdict-label  { color: #66bb6a; }
.cw-ath-fair  { background: rgba(255,179,77,0.18); border-color: rgba(255,179,77,0.55); }
.cw-ath-fair  .cw-ath-verdict-label  { color: var(--temp-warm); }
.cw-ath-wet   { background: rgba(79,142,247,0.18); border-color: rgba(79,142,247,0.55); }
.cw-ath-wet   .cw-ath-verdict-label  { color: var(--accent); }
.cw-ath-bad   { background: rgba(211,47,47,0.22);  border-color: rgba(211,47,47,0.55); }
.cw-ath-bad   .cw-ath-verdict-label  { color: #ef5350; }

.cw-ath-bars { display: grid; grid-template-columns: repeat(8, 1fr); gap: 8px; align-items: end; }
.cw-ath-col  { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.cw-ath-pct  { font-size: 0.82rem; font-weight: 700; color: var(--text-dim); }
.cw-ath-pct-on { color: var(--precip); }
.cw-ath-bar  { width: 18px; height: 70px; background: var(--bg-stat); border: 1px solid var(--border-h); border-radius: 4px; display: flex; align-items: flex-end; overflow: hidden; box-shadow: var(--shadow-sm); }
.cw-ath-bar-fill { width: 100%; transition: height 0.4s ease; }
.cw-ath-low  { background: linear-gradient(to top, #4fc3f7, #4f8ef7); }
.cw-ath-mid  { background: linear-gradient(to top, #4f8ef7, #7c3aed); }
.cw-ath-high { background: linear-gradient(to top, #7c3aed, #ab47bc); }
.cw-ath-hr   { font-size: 0.82rem; color: var(--label); font-weight: 600; }
.cw-ath-cap  { font-size: 0.82rem; color: var(--text-dim); text-align: center; }

/* ══ DROUGHT & MOISTURE ═══════════════════════════════════════════════════ */
.cw-drought-wrap { padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; }
.cw-drought-status { font-size: 1.4rem; font-weight: 700; }
.cw-drought-detail { font-size: 0.9rem; color: var(--text); line-height: 1.55; white-space: pre-line; }
.cw-drought-scale { display: flex; flex-direction: column; gap: 5px; }
.cw-drought-bar { position: relative; display: flex; height: 14px; border-radius: 7px; overflow: hidden; }
.cw-drought-seg { flex: 1; }
.cw-drought-marker {
    position: absolute; top: -4px; width: 4px; height: 22px; border-radius: 2px;
    background: var(--text); box-shadow: 0 0 0 2px var(--bg-card), 0 2px 6px rgba(0,0,0,0.4);
    transform: translateX(-50%); transition: left 0.6s ease;
}
.cw-drought-labels { display: flex; justify-content: space-between; font-size: 0.82rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.02em; }
.cw-drought-labels span { flex: 1; text-align: center; }
.cw-drought-precip { font-size: 0.82rem; color: var(--text); }
.cw-drought-date { font-size: 0.82rem; color: var(--text-dim); }

/* ══ RIVER & HYDROLOGY ════════════════════════════════════════════════════ */
.cw-hydro-wrap { padding: 16px 20px; display: flex; flex-direction: column; gap: 14px; }
.cw-hydro-hdr { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.cw-hydro-name { font-size: 0.9rem; font-weight: 600; color: var(--text); }
.cw-flood-badge { font-size: 0.82rem; font-weight: 700; padding: 3px 10px; border-radius: 10px; text-transform: uppercase; letter-spacing: 0.03em; }
.cw-flood-no-flooding { background: rgba(67,160,71,0.2); color: #66bb6a; }
.cw-flood-action { background: rgba(255,235,59,0.18); color: var(--temp-warm); }
.cw-flood-minor { background: rgba(255,152,0,0.2); color: #ffa726; }
.cw-flood-moderate { background: rgba(230,74,25,0.2); color: #ff7043; }
.cw-flood-major { background: rgba(211,47,47,0.22); color: #ef5350; }
.cw-hydro-stats { display: flex; gap: 24px; flex-wrap: wrap; }
.cw-hydro-stat { display: flex; flex-direction: column; gap: 1px; }
.cw-hydro-num { font-size: 1.7rem; font-weight: 700; color: var(--text); line-height: 1; }
.cw-hydro-unit { font-size: 0.82rem; font-weight: 400; color: var(--text-muted); margin-left: 3px; }
.cw-hydro-lbl { font-size: 0.82rem; color: var(--text-muted); display: flex; align-items: center; gap: 4px; }
.cw-hydro-lbl i { font-size: 0.82rem; }
.cw-spark-wrap { display: flex; flex-direction: column; gap: 3px; }
.cw-spark { width: 100%; height: 44px; }
.cw-spark-cap { font-size: 0.82rem; color: var(--text-dim); }
.cw-flood-scale { padding-top: 6px; }
.cw-flood-bar { position: relative; height: 6px; border-radius: 3px; background: linear-gradient(to right, #43a047, #ffeb3b 45%, #ff7043 75%, #d32f2f); margin: 22px 0 8px; }
.cw-flood-mark { position: absolute; top: -3px; width: 2px; height: 12px; background: var(--text-muted); transform: translateX(-50%); }
.cw-flood-mark::after {
    content: attr(data-lbl); position: absolute; top: -16px; left: 50%; transform: translateX(-50%);
    font-size: 0.82rem; color: var(--text-dim); white-space: nowrap;
}
.cw-flood-current {
    position: absolute; top: -10px; transform: translateX(-50%); color: var(--accent);
    font-size: 0.95rem; filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
}

/* River reference-level chips (Summer/Winter Pool, Action, Flood thresholds) */
.cw-lvl-chips { display: flex; flex-direction: column; gap: 8px; }
.cw-lvl-chips-hdr {
    font-size: 0.78rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.05em; color: var(--text-muted);
}
.cw-lvl-chips-sub { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--text-dim); }
.cw-lvl-chips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: 6px;
}
.cw-lvl-chip {
    display: flex; flex-direction: column; gap: 2px;
    padding: 8px 10px; border-radius: var(--radius-sm);
    background: var(--bg-stat); border: 1px solid var(--border-h);
    box-shadow: var(--shadow-sm);
    border-left-width: 3px;
}
.cw-lvl-summer { border-left-color: #43a047; }
.cw-lvl-winter { border-left-color: #1976d2; }
.cw-lvl-action { border-left-color: #fdd835; }
.cw-lvl-minor  { border-left-color: #ff7043; }
.cw-lvl-mod    { border-left-color: #e8772e; }
.cw-lvl-major  { border-left-color: #d32f2f; }
.cw-lvl-label  { font-size: 0.78rem; font-weight: 700; color: var(--text); }
.cw-lvl-nums   { display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; }
.cw-lvl-stage  { font-size: 1.05rem; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; }
.cw-lvl-elev   { font-size: 0.78rem; font-weight: 600; color: var(--text-dim); font-variant-numeric: tabular-nums; }
.cw-lvl-sep    { color: var(--text-dim); }

/* Compact (widget) variant */
.cw-wgt-river-body .cw-lvl-chips-grid { grid-template-columns: 1fr 1fr; gap: 4px; }
.cw-wgt-river-body .cw-lvl-chip { padding: 6px 8px; }
.cw-wgt-river-body .cw-lvl-label { font-size: 0.72rem; }
.cw-wgt-river-body .cw-lvl-stage { font-size: 0.92rem; }
.cw-wgt-river-body .cw-lvl-elev  { font-size: 0.7rem; }

/* ══ FORECAST DISCUSSION ══════════════════════════════════════════════════ */
.cw-disc-wrap { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; }
.cw-disc-issued { font-size: 0.82rem; color: var(--text-muted); display: flex; align-items: center; gap: 6px; }
.cw-disc-issued i { color: var(--accent); }
.cw-disc-key { background: var(--accent-dim); border-radius: var(--radius-sm); padding: 12px 14px; }
.cw-disc-key-hdr { font-size: 0.85rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.04em; color: var(--accent); display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.cw-disc-key-body { font-size: 0.92rem; line-height: 1.65; color: var(--text); }
.cw-disc-subs { display: flex; flex-direction: column; gap: 6px; }
.cw-disc-sub { border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.cw-disc-sub-hdr {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px; cursor: pointer; user-select: none;
    font-size: 0.85rem; font-weight: 500; color: #ffffff; background: var(--hdr-bar-a);
    text-transform: uppercase; letter-spacing: 0.03em;
    transition: filter var(--transition);
}
.cw-disc-sub-hdr:hover { filter: brightness(1.12); }
.cw-disc-chev { font-size: 0.82rem; color: rgba(255,255,255,0.85); transition: transform 0.25s ease; }
.cw-disc-sub.open .cw-disc-chev { transform: rotate(180deg); }
.cw-disc-sub-body { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.cw-disc-sub.open .cw-disc-sub-body { max-height: 1200px; }
.cw-disc-text { padding: 12px 14px; font-size: 0.9rem; line-height: 1.65; color: var(--text-muted); border-top: 1px solid var(--border); }

/* ══ COMPACT (SIDEBAR) ════════════════════════════════════════════════════ */
.cw-compact {
    width: 100%;
    max-width: 360px;
    padding: 14px;
    gap: 8px;
}

.cw-c-alerts:empty { display: none; }
.cw-c-alert {
    display: flex; align-items: center; gap: 7px;
    font-size: 0.72rem; font-weight: 600; padding: 7px 11px;
    border-radius: var(--radius-sm); border: 1px solid var(--border-h);
    color: var(--text);
}
.cw-c-alert i { flex-shrink: 0; }
.cw-c-alert-txt { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cw-c-alert-more { font-size: 0.62rem; opacity: 0.75; }
.cw-c-alert[data-severity="Extreme"]  { background: rgba(211,47,47,0.20);  border-color: var(--alert-extreme); color: #ef5350; }
.cw-c-alert[data-severity="Severe"]   { background: rgba(230,74,25,0.18);  border-color: var(--alert-severe);  color: #ff7043; }
.cw-c-alert[data-severity="Moderate"] { background: rgba(249,168,37,0.16); border-color: var(--alert-mod);     color: var(--temp-warm); }
.cw-c-alert[data-severity="Minor"]    { background: rgba(25,118,210,0.16); border-color: var(--alert-minor);   color: #42a5f5; }

.cw-c-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.cw-c-city { font-size: 0.96rem; font-weight: 700; color: var(--text); display: flex; align-items: center; gap: 5px; }
.cw-c-city i { color: var(--accent); font-size: 0.8rem; }
.cw-c-cond { font-size: 0.78rem; color: var(--text-muted); margin-top: 2px; }
.cw-c-theme { padding: 4px 7px; border-radius: 8px; }
.cw-c-theme .cw-theme-label[hidden] { display: none; }

.cw-c-main { display: flex; align-items: center; gap: 12px; padding: 4px 2px 2px; }
.cw-c-icon { font-size: 2.5rem; flex-shrink: 0; width: 46px; text-align: center; }
.cw-c-temp { display: flex; align-items: flex-start; line-height: 1; }
.cw-c-temp-val { font-size: 2.9rem; font-weight: 700; letter-spacing: -2px; color: var(--text); }
.cw-c-deg { font-size: 1.3rem; color: var(--text-muted); margin-top: 4px; }
.cw-c-hilo { margin-left: auto; display: flex; flex-direction: column; gap: 4px; font-size: 0.9rem; font-weight: 600; }
.cw-c-hi { color: var(--temp-warm); }
.cw-c-lo { color: var(--temp-cool); }
.cw-c-hilo i { font-size: 0.66rem; margin-right: 3px; }

.cw-c-stats {
    display: flex; flex-wrap: wrap; gap: 7px 16px;
    padding: 9px 2px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.cw-c-stat { display: flex; align-items: center; gap: 5px; font-size: 0.8rem; color: var(--text); }
.cw-c-stat i { color: var(--accent); opacity: 0.8; font-size: 0.8rem; }
.cw-c-stat b { font-weight: 600; }
.cw-c-aqi-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }

.cw-c-week { display: flex; justify-content: space-between; gap: 2px; padding: 8px 0 2px; }
.cw-c-day { display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 1; min-width: 0; }
.cw-c-day-name { font-size: 0.64rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; color: var(--text-muted); }
.cw-c-day.cw-c-today .cw-c-day-name { color: var(--accent); }
.cw-c-day-icon { font-size: 1.45rem; margin: 1px 0; }
.cw-c-day-temp { font-size: 0.82rem; font-weight: 700; color: var(--text); }

.cw-c-more {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    font-size: 0.74rem; font-weight: 600; color: var(--accent);
    text-decoration: none; padding: 6px 0 2px;
}
.cw-c-more:hover { text-decoration: underline; }
.cw-c-more i { font-size: 0.7rem; }

/* ══ SIDEBAR / STANDALONE WIDGETS ═════════════════════════════════════════ */
.cw-widget { padding: 0; background: transparent; gap: 16px; }
.cw-widget .cw-section-hdr { padding-top: 4px; }
.cw-widget-alerts { padding: 0; background: transparent; }

.cw-wgt {
    background: var(--bg);
    box-shadow: var(--shadow);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.cw-wgt-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.cw-wgt-empty { padding: 8px; color: var(--text-muted); font-size: 0.85rem; text-align: center; }

.cw-wgt-link {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 9px; border-top: 1px solid var(--border);
    color: var(--accent); font-weight: 700; font-size: 0.85rem; text-decoration: none;
    transition: background var(--transition), color var(--transition);
}
.cw-wgt-link:hover { background: var(--bg-stat-h); color: var(--text); }
.cw-wgt-link i { font-size: 0.78rem; }

/* Current conditions widget — icon (left) + condition/temp (right) as a centered
   horizontal hero; "Feels like" centered below; then a 4-day high-temp strip,
   optional precip-chance line, then the 2-column humidity grid. */
.cw-wgt-cur-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-h);
}
.cw-wgt-cur-hero {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.cw-wgt-cur-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    margin: -8px 0;          /* shrink visual whitespace baked into the SVG viewBox */
}
.cw-wgt-cur-icon .cw-wx-svg {
    width: auto;
    height: 96px;
    max-width: 120px;
    max-height: 120px;
}
.cw-wgt-cur-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 0;
}
.cw-wgt-cur-cond { font-size: 1.02rem; font-weight: 600; color: var(--text); line-height: 1.2; }
.cw-wgt-cur-temp { font-size: 2.8rem; font-weight: 700; line-height: 1; text-shadow: var(--text-shadow); }
.cw-wgt-cur-feels { font-size: 0.85rem; color: var(--label); line-height: 1.2; text-align: center; }

/* Precip badge (chance of rain / chance of snow). Cloud-with-rain icon clearly
   distinct from the single fa-droplet used by the Humidity stat. */
.cw-precip-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.cw-precip-badge i { color: #1976d2; font-size: 0.95em; }
.cw-precip-label { color: var(--text); font-weight: 600; margin-right: 2px; }

.cw-wgt-cur-next {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 4px 0 2px;
}
.cw-wgt-cur-next-cell {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 6px 4px; border-radius: 6px;
    background: var(--bg-stat); border: 1px solid var(--border-h);
}
.cw-wgt-cur-next-dow  { font-size: 0.82rem; font-weight: 600; text-transform: none; letter-spacing: 0.01em; color: var(--text-muted); }
.cw-wgt-cur-next-row  { display: inline-flex; align-items: center; gap: 5px; }
.cw-wgt-cur-next-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; line-height: 0; flex-shrink: 0; }
.cw-wgt-cur-next-icon svg { width: 100%; height: 100%; display: block; }
.cw-wgt-cur-next-temp { font-size: 1.05rem; font-weight: 700; line-height: 1; text-shadow: var(--text-shadow); }

.cw-wgt-cur-precip {
    display: flex; align-items: center; gap: 8px;
    padding: 7px 10px;
    background: rgba(33,150,243,0.08);
    border: 1px solid rgba(33,150,243,0.25);
    border-radius: 6px;
    font-size: 0.9rem;
    color: var(--text);
}
.cw-wgt-cur-precip i { color: #1976d2; font-size: 0.95rem; }

.cw-wgt-cur-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 10px;
}
/* Each cell must allow its content to wrap so it can't push the grid to 1 column */
.cw-wgt-cur-cell { min-width: 0; }
.cw-wgt-cur-val  { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.cw-wgt-cur-cell {
    display: flex; align-items: center; gap: 6px;
    padding: 7px 9px;
    background: var(--bg-stat);
    border: 1px solid var(--border-h);
    border-radius: 6px;
    box-shadow: var(--shadow-sm);
    font-size: 0.85rem;
    line-height: 1.2;
    color: var(--text);
}
.cw-wgt-cur-cell.cw-wgt-cur-cell-wide { grid-column: 1 / -1; }

/* Stacked widget cell — icon + label on row 1, value on row 2 (full width).
   Used for AQI (and any other value too long for single-line right-aligned). */
.cw-wgt-cur-cell.cw-wgt-cur-stack-cell {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "ic lbl" "val val";
    row-gap: 3px;
    align-items: center;
}
.cw-wgt-cur-stack-cell > i              { grid-area: ic; }
.cw-wgt-cur-stack-cell > .cw-wgt-cur-lbl { grid-area: lbl; }
.cw-wgt-cur-stack-cell > .cw-wgt-cur-val {
    grid-area: val;
    margin-left: 0;
    text-align: left;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}
.cw-wgt-cur-uv i { color: #ffb74d; }
.cw-wgt-cur-chance i { color: #1976d2; }
.cw-wgt-cur-cell i { color: var(--accent); opacity: 0.85; font-size: 0.9rem; flex-shrink: 0; }
.cw-wgt-cur-lbl { color: var(--label); font-weight: 600; font-size: 0.78rem; }
.cw-wgt-cur-val { font-weight: 700; margin-left: auto; text-align: right; display: flex; align-items: center; gap: 4px; }

/* Strip extra padding when reused-larger blocks render inside a widget body */
.cw-wgt-body > .cw-drought-wrap,
.cw-wgt-body > .cw-disc-wrap,
.cw-wgt-body > .cw-hydro-wrap,
.cw-wgt-body > .cw-ath-wrap { padding: 0; }

/* Widget CTA — "View Full Forecast" button rendered at the bottom of a
 * sidebar widget when its `link` shortcode/widget attribute is set.
 * `!important` on color overrides theme `a` color rules in tagDiv. */
.cw-wrap .cw-wgt-cta,
.cw-wrap a.cw-wgt-cta {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin-top: 4px; padding: 10px 14px;
    border-radius: var(--radius-sm); text-decoration: none;
    background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 80%, black));
    color: #ffffff !important; font-weight: 700; font-size: 0.92rem;
    letter-spacing: 0.02em; text-shadow: 0 1px 1px rgba(0,0,0,0.25);
    border: 1px solid color-mix(in srgb, var(--accent) 60%, black);
    box-shadow: var(--shadow-sm);
    transition: filter var(--transition), transform var(--transition);
}
.cw-wrap a.cw-wgt-cta:hover,
.cw-wrap a.cw-wgt-cta:focus,
.cw-wrap a.cw-wgt-cta:visited,
.cw-wrap a.cw-wgt-cta:active { color: #ffffff !important; text-decoration: none; }
.cw-wrap a.cw-wgt-cta:hover { filter: brightness(1.08); transform: translateY(-1px); }
.cw-wrap .cw-wgt-cta i,
.cw-wrap .cw-wgt-cta span { color: #ffffff !important; }
.cw-wgt-cta-arrow { font-size: 0.85em; opacity: 0.85; transition: transform var(--transition); }
.cw-wgt-cta:hover .cw-wgt-cta-arrow { transform: translateX(3px); }

/* Hourly mini (next 6) */
.cw-wgt-hourly { display: flex; flex-direction: column; gap: 4px; }
.cw-wgt-h-row {
    display: grid; grid-template-columns: 56px 32px 1fr auto;
    align-items: center; gap: 8px;
    padding: 6px 8px; border-radius: 6px; background: var(--bg-stat);
    border: 1px solid var(--border-h); box-shadow: var(--shadow-sm);
}
.cw-wgt-h-now { background: rgba(45,106,52,0.14); border-color: rgba(45,106,52,0.45); }
.cw-wgt-h-time { font-size: 0.85rem; font-weight: 700; color: var(--text-muted); }
.cw-wgt-h-now .cw-wgt-h-time { color: var(--text); }
.cw-wgt-h-icon { line-height: 0; font-size: 1.6rem; text-align: center; }
.cw-wgt-h-tempwrap { display: flex; flex-direction: column; gap: 1px; align-items: flex-start; min-width: 0; }
.cw-wgt-h-temp { font-size: 1rem; font-weight: 700; text-shadow: var(--text-shadow); line-height: 1; }
.cw-wgt-h-when { font-size: 0.7rem; color: var(--text-dim); font-weight: 500; text-transform: none; letter-spacing: 0.01em; line-height: 1; }
.cw-wgt-h-precip { font-size: 0.82rem; color: var(--text-dim); display: inline-flex; align-items: center; gap: 4px; }
.cw-wgt-h-precip i { font-size: 0.85rem; color: #1976d2; opacity: 0.85; }
.cw-wgt-h-precip-on { color: var(--precip); font-weight: 700; }
.cw-wgt-h-precip-on i { opacity: 1; color: #1976d2; }

/* Athletics mini overrides for sidebar width */
.cw-wgt-ath-bars { grid-template-columns: repeat(6, 1fr); gap: 6px; }
.cw-wgt-ath-wrap .cw-ath-bar { width: 16px; height: 56px; }
.cw-wgt-ath-wrap .cw-ath-verdict { padding: 11px 13px; }
.cw-wgt-ath-wrap .cw-ath-verdict-label { font-size: 1.15rem; }

/* Forecast brief (key messages) */
.cw-wgt-brief { display: flex; flex-direction: column; gap: 6px; }
.cw-wgt-brief-issued { font-size: 0.82rem; color: var(--text-muted); }
.cw-wgt-brief-body-text { font-size: 0.92rem; line-height: 1.55; color: var(--text); }

/* Dashboard radar section: let the embedded radar fill the body */
.cw-radar-embed { padding: 0; }
.cw-radar-embed .cvr-wrap { border-radius: 0; box-shadow: none; }

/* The radar's popout uses position:fixed. .cw-card has backdrop-filter which
   creates a containing block for fixed descendants and traps the popout inside
   the card. Strip backdrop-filter + overflow clip on the radar section card so
   the popout can actually go fullscreen. */
.cw-section[data-section="radar"] .cw-card,
.cw-card[data-section="radar"] {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    overflow: visible;
}
.cw-section[data-section="radar"]:not(.collapsed) .cw-section-body,
.cw-card[data-section="radar"]:not(.collapsed) .cw-section-body { overflow: visible; }
/* Hard-collapse the radar body when the section is closed — without this the
   embedded .cvr-wrap (height:520px inline) keeps showing because the popout
   override above sets overflow:visible. */
.cw-section[data-section="radar"].collapsed .cw-section-body,
.cw-card[data-section="radar"].collapsed .cw-section-body {
    overflow: hidden;
    max-height: 0 !important;
}

/* ── Attribution ─────────────────────────────────────────────────────────── */
.cw-attr {
    text-align: center;
    font-size: 0.82rem;
    color: var(--text-dim);
    padding: 4px 0 2px;
}

.cw-attr a {
    color: var(--text-muted);
    text-decoration: none;
}

.cw-attr a:hover { text-decoration: underline; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .cw-hero-primary {
        padding: 20px 24px;
        min-width: 0;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border);
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 12px 24px;
    }

    .cw-cond-icon { width: auto; margin-bottom: 0; }
    .cw-cond-icon .cw-wx-svg { width: 3rem; max-width: none; }

    .cw-temp-val { font-size: 3.6rem; }
    .cw-temp-unit { font-size: 1.3rem; }

    .cw-stats-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .cw-stat { padding: 12px 14px; }

    .cw-daily-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }

    .cw-almanac-grid { grid-template-columns: 1fr; }
    .cw-hydro-stats { gap: 16px; }
}

@media (max-width: 420px) {
    .cw-stats-grid { grid-template-columns: 1fr 1fr; }
    .cw-wrap { padding: 10px; }
    .cw-topbar { flex-direction: column; align-items: flex-start; gap: 6px; }
    .cw-hydro-num { font-size: 1.4rem; }
}

/* ══ MAIN WEATHER PAGE SIDEBAR — TIGHTEN WIDGET SPACING ══════════════════
 * Scoped to body.cw-weather-page (the body class is added by the weather
 * plugin only on pages that contain the [clarksville_weather] shortcode).
 * Collapses the tagDiv theme's ~30-40px between-widget gap to ~18px so
 * "end of content → next header" lands in the 15-20px range. */
body.cw-weather-page .td-ss-main-sidebar > aside.widget,
body.cw-weather-page .td-ss-main-sidebar > div > aside.widget,
body.cw-weather-page .td-pb-row .td-ss-main-sidebar aside.widget {
    margin-bottom: 18px !important;
}
body.cw-weather-page .td-ss-main-sidebar > aside.widget:last-child {
    margin-bottom: 0 !important;
}
/* Acurax Social-Icons widget — its inner row leaves image-baseline
 * whitespace below the icons; collapse so the aside's 18px alone governs. */
body.cw-weather-page aside.acx-smw-social-icon-desc #acurax_si_widget_simple,
body.cw-weather-page aside.acx-smw-social-icon-desc .acx_smw_float_fix {
    line-height: 0; padding: 0; margin: 0;
}
body.cw-weather-page aside.acx-smw-social-icon-desc #acurax_si_widget_simple img {
    vertical-align: top;
}
