.wtre-live, .wtre-live * { box-sizing: border-box; }
.wtre-live {
  --wtre-purple: #310082;
  --wtre-purple-2: #21005d;
  --wtre-yellow: #ffd51c;
  --wtre-soft: #f6f3fb;
  --wtre-ink: #17211b;
  --wtre-muted: #627068;
  --wtre-white: #fff;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--wtre-ink);
  background: linear-gradient(145deg, #21005d 0%, #3b078d 48%, #17003e 100%);
  padding: clamp(16px, 3vw, 36px);
  border-radius: 22px;
  overflow: hidden;
  position: relative;
}
.wtre-live::before { content:""; position:absolute; inset:0; opacity:.12; pointer-events:none; background-image: radial-gradient(circle at 10% 20%, #fff 0 1px, transparent 2px), radial-gradient(circle at 80% 30%, #fff 0 1px, transparent 2px); background-size: 70px 70px, 95px 95px; }
.wtre-live__shell { position:relative; width:min(1180px, 100%); margin:auto; }
.wtre-live__hero { color:#fff; padding: 4px 2px clamp(22px,4vw,38px); }
.wtre-live__brand { display:flex; align-items:center; gap:18px; }
.wtre-live__brand h1 { color:#fff; font-size:clamp(2rem,5vw,4.25rem); line-height:.95; margin:2px 0 7px; letter-spacing:-.045em; }
.wtre-live__eyebrow, .wtre-card__kicker { margin:0; font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.wtre-live__eyebrow { color:var(--wtre-yellow); }
.wtre-live__frequency { margin:0; font-size:clamp(1rem,2vw,1.3rem); font-weight:750; color:#fff1a8; }
.wtre-live__tagline { max-width:720px; margin:18px 0 0; color:rgba(255,255,255,.78); font-size:clamp(.95rem,2vw,1.08rem); }
.wtre-live__logo-text { width:clamp(88px,14vw,138px); aspect-ratio:1; flex:0 0 auto; display:grid; place-content:center; border-radius:50%; background:#f7f1dc; color:var(--wtre-purple-2); border:5px solid rgba(255,213,28,.95); text-align:center; box-shadow:0 12px 34px rgba(0,0,0,.28); }
.wtre-live__call { display:block; font:900 clamp(1.45rem,4vw,2.55rem)/.9 Georgia,serif; letter-spacing:-.06em; }
.wtre-live__tree { font-size:clamp(.42rem,1vw,.65rem); font-weight:900; letter-spacing:.09em; margin-top:6px; }
.wtre-live__logo { width:clamp(120px,19vw,190px); max-height:170px; object-fit:contain; flex:0 0 auto; background:#fff; border-radius:18px; padding:8px; box-shadow:0 12px 34px rgba(0,0,0,.25); }
.wtre-live__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr); gap:20px; align-items:start; }
.wtre-card { background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.45); border-radius:20px; padding:clamp(18px,3vw,28px); box-shadow:0 18px 52px rgba(0,0,0,.2); }
.wtre-card__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:18px; }
.wtre-card__heading h2 { margin:3px 0 0; font-size:clamp(1.28rem,3vw,1.8rem); letter-spacing:-.025em; }
.wtre-card__kicker { color:#6a756e; }
.wtre-live-dot { display:inline-flex; align-items:center; gap:7px; color:var(--wtre-purple); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.wtre-live-dot span { width:9px; height:9px; border-radius:50%; background:#e53535; box-shadow:0 0 0 5px rgba(229,53,53,.13); animation:wtrePulse 1.8s infinite; }
@keyframes wtrePulse { 50% { box-shadow:0 0 0 9px rgba(229,53,53,0); } }
.wtre-player-frame { min-height:325px; background:#111; border-radius:15px; overflow:hidden; border:1px solid rgba(0,0,0,.12); }
.wtre-player-frame iframe { display:block; width:100%; height:325px; border:0; background:#111; }
.wtre-player-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:16px; color:var(--wtre-muted); font-size:.88rem; }
.wtre-button { display:inline-flex; align-items:center; justify-content:center; min-height:45px; padding:10px 18px; border-radius:999px; text-decoration:none !important; font-weight:800; }
.wtre-button--primary { background:var(--wtre-purple); color:white !important; }
.wtre-button--primary:hover { background:var(--wtre-purple-2); }
.wtre-weather-refresh { width:40px; height:40px; border-radius:50%; border:1px solid #dce4df; background:#f5f7f5; cursor:pointer; font-size:1.25rem; color:var(--wtre-purple); }
.wtre-weather-refresh.is-spinning { animation:wtreSpin .8s linear infinite; }
@keyframes wtreSpin { to { transform:rotate(360deg); } }
.wtre-weather-loading { min-height:260px; display:flex; align-items:center; justify-content:center; gap:12px; color:var(--wtre-muted); }
.wtre-spinner { width:22px; height:22px; border:3px solid #dce5df; border-top-color:var(--wtre-purple); border-radius:50%; animation:wtreSpin .8s linear infinite; }
.wtre-weather-error { padding:26px; border-radius:14px; background:#fff3f0; color:#8d2d21; }
.wtre-current { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px 16px; align-items:center; }
.wtre-current__icon { font-size:clamp(2.6rem,7vw,4.1rem); filter:drop-shadow(0 6px 8px rgba(0,0,0,.12)); }
.wtre-current__temp { font-size:clamp(3rem,8vw,5rem); font-weight:850; line-height:.85; letter-spacing:-.07em; }
.wtre-current__temp sup { font-size:.28em; vertical-align:top; letter-spacing:0; margin-left:4px; }
.wtre-current__condition { margin-top:9px; font-size:1rem; font-weight:700; color:#3f4e46; }
.wtre-current__details { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:8px 0 0; }
.wtre-current__details div { padding:10px; background:#f2f5f3; border-radius:11px; }
.wtre-current__details dt { font-size:.67rem; color:#6c786f; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.wtre-current__details dd { margin:4px 0 0; font-size:.92rem; font-weight:800; }
.wtre-alerts { margin-top:16px; display:grid; gap:8px; }
.wtre-alert { padding:11px 13px; background:#fff1d8; border-left:4px solid #d99100; border-radius:8px; }
.wtre-alert strong { display:block; font-size:.9rem; }
.wtre-alert span { display:block; margin-top:3px; font-size:.78rem; color:#6b5840; }
.wtre-alert--extreme, .wtre-alert--severe { background:#ffe5e2; border-color:#c93229; }
.wtre-forecast { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:18px; }
.wtre-forecast-item { padding:11px 9px; border:1px solid #e1e7e3; border-radius:11px; background:#fff; min-width:0; }
.wtre-forecast-item__name { font-size:.72rem; font-weight:850; color:#516058; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wtre-forecast-item__temp { margin:5px 0 3px; font-size:1.25rem; font-weight:900; }
.wtre-forecast-item__condition { font-size:.68rem; line-height:1.25; color:#6b776f; min-height:2.5em; }
.wtre-forecast-item__rain { margin-top:6px; font-size:.68rem; font-weight:800; color:#315f8a; }
.wtre-weather-updated { margin:14px 0 0; color:#7a857e; font-size:.72rem; text-align:right; }
.wtre-live__links { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:20px; }
.wtre-live__links a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:58px; padding:13px 16px; color:#fff !important; text-decoration:none !important; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.09); border-radius:13px; font-weight:780; backdrop-filter:blur(10px); }
.wtre-live__links a:hover { background:rgba(255,255,255,.16); }
.wtre-live__links span { color:var(--wtre-yellow); font-size:1.3rem; }
.wtre-live__footer { display:flex; justify-content:space-between; gap:15px; padding:23px 4px 2px; color:rgba(255,255,255,.7); font-size:.8rem; }
.wtre-live__footer strong { color:#fff; }
@media (max-width: 820px) {
  .wtre-live { border-radius:15px; padding:16px; }
  .wtre-live__grid { grid-template-columns:1fr; }
  .wtre-player-frame, .wtre-player-frame iframe { min-height:290px; height:290px; }
  .wtre-live__links { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 520px) {
  .wtre-live__brand { gap:12px; align-items:center; }
  .wtre-live__logo-text { width:82px; border-width:4px; }
  .wtre-live__tagline { font-size:.9rem; }
  .wtre-card { padding:17px; border-radius:16px; }
  .wtre-player-frame, .wtre-player-frame iframe { min-height:260px; height:260px; }
  .wtre-player-actions { align-items:stretch; flex-direction:column; }
  .wtre-button { width:100%; }
  .wtre-current__details { grid-template-columns:1fr 1fr; }
  .wtre-current__details div:last-child { grid-column:1/-1; }
  .wtre-forecast { grid-template-columns:repeat(2,1fr); }
  .wtre-live__links { grid-template-columns:1fr 1fr; }
  .wtre-live__footer { flex-direction:column; gap:3px; }
}
@media (prefers-reduced-motion: reduce) { .wtre-live-dot span, .wtre-spinner, .wtre-weather-refresh { animation:none !important; } }

.wtre-player-card { border-top:5px solid var(--wtre-yellow); }
.wtre-weather-card { border-top:5px solid var(--wtre-purple); }
.wtre-button--primary { box-shadow:0 7px 18px rgba(49,0,130,.22); }
@media (max-width:520px){ .wtre-live__logo{width:105px;max-height:105px;padding:5px;border-radius:13px}.wtre-live__brand h1{font-size:1.75rem}.wtre-live__frequency{font-size:.92rem} }

/* Ensure WordPress themes cannot override plugin visibility states. */
.wtre-live [hidden],
.wtre-live .wtre-is-hidden {
  display: none !important;
}

/* WTRE Weather Center shortcode: [wtre_weather] */
.wtre-weather-page{--wtre-purple:#32115f;--wtre-purple-dark:#21083f;--wtre-yellow:#f2cd18;--wtre-ink:#211b2b;--wtre-muted:#6d6575;--wtre-border:#e4dee9;font-family:Arial,Helvetica,sans-serif;color:var(--wtre-ink);margin:24px 0}
.wtre-weather-page *{box-sizing:border-box}
.wtre-weather-page__shell{max-width:1180px;margin:0 auto;background:#f4f1f6;border-radius:18px;overflow:hidden;border:1px solid #ded7e4}
.wtre-weather-page__header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 28px;background:linear-gradient(135deg,var(--wtre-purple-dark),var(--wtre-purple));color:#fff;border-bottom:5px solid var(--wtre-yellow)}
.wtre-weather-page__brand{display:flex;align-items:center;gap:18px}.wtre-weather-page__logo{width:130px;height:130px;object-fit:contain;background:#fff;border-radius:18px;padding:8px;box-shadow:0 12px 34px rgba(0,0,0,.25);flex:0 0 auto}.wtre-weather-page__eyebrow{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--wtre-yellow)}
.wtre-weather-page__header h1{margin:0;font-size:clamp(28px,4vw,44px);line-height:1;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.25)}.wtre-weather-page__header p{margin:7px 0 0;color:#e7dff0}.wtre-weather-page__source{text-align:right;font-weight:700;line-height:1.35}.wtre-weather-page__source span{font-weight:400;color:#e7dff0;font-size:13px}
.wtre-weather-page__loading{margin:28px}.wtre-weather-page__content{padding:24px}.wtre-weather-page__alerts{margin-bottom:18px}.wtre-weather-page__alerts .wtre-alert{border-radius:10px;padding:12px 14px;margin-bottom:8px}
.wtre-weather-page__lead-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.4fr);gap:20px}.wtre-weather-panel{background:#fff;border:1px solid var(--wtre-border);border-radius:14px;padding:20px}.wtre-weather-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.wtre-weather-panel__heading h2{margin:2px 0 0;font-size:23px}
.wtre-weather-page__current-main{display:flex;align-items:center;gap:18px;padding:10px 0 18px}.wtre-weather-page__big-icon{font-size:58px;line-height:1}.wtre-weather-page__big-temp{font-weight:800;font-size:68px;line-height:.9;color:var(--wtre-purple)}.wtre-weather-page__big-temp sup{font-size:22px;vertical-align:top}.wtre-weather-page__condition{font-size:20px;font-weight:700;margin-top:8px}
.wtre-weather-page__metrics{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--wtre-border);border-left:1px solid var(--wtre-border)}.wtre-weather-page__metrics div{padding:12px;border-right:1px solid var(--wtre-border);border-bottom:1px solid var(--wtre-border)}.wtre-weather-page__metrics dt{font-size:12px;color:var(--wtre-muted);text-transform:uppercase;letter-spacing:.06em}.wtre-weather-page__metrics dd{margin:4px 0 0;font-weight:800;font-size:18px}.wtre-weather-page__observation{font-size:12px;color:var(--wtre-muted);margin:14px 0 0;line-height:1.5}
.wtre-weather-page__radar-status{font-size:12px;color:var(--wtre-muted);white-space:nowrap}.wtre-weather-page__radar-link{display:block;position:relative;border-radius:10px;overflow:hidden;background:#15121a;border:1px solid #d8d1df}.wtre-weather-page__radar-link img{display:block;width:100%;height:auto;min-height:280px;object-fit:cover}.wtre-weather-page__radar-link span{position:absolute;right:10px;bottom:10px;background:rgba(33,8,63,.88);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}
.wtre-weather-page__forecast-panel{margin-top:20px}.wtre-weather-page__forecast{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.wtre-weather-page__forecast .wtre-forecast-item{min-width:0;background:#f7f4f8;border:1px solid var(--wtre-border);border-radius:10px;padding:13px;text-align:center}.wtre-weather-page__forecast .wtre-forecast-item__name{font-weight:800;font-size:13px}.wtre-weather-page__forecast .wtre-forecast-item__temp{font-size:28px;font-weight:800;color:var(--wtre-purple);margin:7px 0}.wtre-weather-page__forecast .wtre-forecast-item__condition{font-size:12px;line-height:1.35}.wtre-weather-page__forecast .wtre-forecast-item__rain{font-size:12px;margin-top:7px;color:#3c6588}.wtre-weather-page__footer-note{margin-top:18px;color:var(--wtre-muted);font-size:12px;line-height:1.5;text-align:center}
@media(max-width:850px){.wtre-weather-page__lead-grid{grid-template-columns:1fr}.wtre-weather-page__forecast{grid-template-columns:repeat(3,1fr)}.wtre-weather-page__source{display:none}}
@media(max-width:560px){.wtre-weather-page{margin:12px 0}.wtre-weather-page__shell{border-radius:12px}.wtre-weather-page__header{padding:18px;align-items:flex-start}.wtre-weather-page__logo{width:92px;height:92px;padding:6px;border-radius:13px}.wtre-weather-page__brand{gap:12px}.wtre-weather-page__header h1{font-size:27px}.wtre-weather-page__content{padding:12px}.wtre-weather-panel{padding:15px}.wtre-weather-page__big-temp{font-size:58px}.wtre-weather-page__big-icon{font-size:48px}.wtre-weather-page__radar-link img{min-height:190px}.wtre-weather-page__forecast{grid-template-columns:repeat(2,1fr)}.wtre-weather-page__radar-status{display:none}}


.wtre-radar-error {
  display: grid;
  min-height: 260px;
  place-items: center;
  padding: 2rem;
  text-align: center;
  font-weight: 700;
  color: #5b247a;
  background: #f4eef8;
  border-radius: 12px;
}


/* v1.3.2 weather-page refinements */
.wtre-weather-page [hidden],.wtre-weather-page .wtre-is-hidden{display:none!important}
.wtre-weather-page__loading{margin:0;padding:10px 24px;background:#fff8d8;border-bottom:1px solid #eadf9d;font-size:13px}
.wtre-weather-page__lead-grid{grid-template-columns:minmax(260px,.68fr) minmax(480px,1.55fr)}
.wtre-weather-page__radar-link{position:relative;min-height:330px}
.wtre-weather-page__radar-link img{min-height:330px}
.wtre-radar-open{position:absolute;right:12px;top:12px;border:0;border-radius:999px;padding:8px 12px;background:rgba(33,8,63,.9);color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.wtre-radar-open:hover,.wtre-radar-open:focus-visible{background:#21083f}
.wtre-radar-error{position:absolute;inset:0;min-height:0;border-radius:0;background:#f4eef8;z-index:2}
.wtre-radar-error[hidden]{display:none!important}
@media(max-width:850px){.wtre-weather-page__lead-grid{grid-template-columns:1fr}.wtre-weather-page__radar-link,.wtre-weather-page__radar-link img{min-height:260px}}
@media(max-width:560px){.wtre-weather-page__radar-link,.wtre-weather-page__radar-link img{min-height:200px}.wtre-radar-open{top:8px;right:8px}}


/* v1.4.0 matching headers and credits */
.wtre-credit-footer{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;text-align:center}
.wtre-credit-footer span+span::before{content:"|";margin-right:14px;opacity:.45}
.wtre-live__footer.wtre-credit-footer{justify-content:center;padding-top:23px}
.wtre-weather-page__credit{margin:18px -24px -24px;padding:16px 24px;background:#fff;border-top:1px solid var(--wtre-border);color:var(--wtre-muted);font-size:12px}
@media(max-width:560px){.wtre-credit-footer{gap:5px;flex-direction:column}.wtre-credit-footer span+span::before{content:none}.wtre-weather-page__credit{margin:16px -12px -12px;padding:14px 12px}}
