/**
 * WS40 — Host-theme armour (shared by every frontend template).
 *
 * Third-party themes style bare semantic tags aggressively, and those rules
 * leak into any plugin markup that uses them. Measured on live installs:
 *
 *   · a magazine theme forced `height:38px` on every <button>, so the Consolle
 *     value cards — which need about 62px — spilled outside their own box;
 *   · another theme forced `white-space:nowrap` + `text-overflow:ellipsis` on
 *     <dt> and attached a decorative 16x2px `::before` bar to every label, so
 *     the labels were truncated and prefixed by a stray dash.
 *
 * Both were the same class of defect, and every WS40 template is exposed to it:
 * the frontend shortcodes emit 27 <button>, plus headings, <p>, <small> and
 * tables, and until now only ws40-consolle.css carried any protection.
 *
 * WHAT THIS FILE DOES — and only this: it NEUTRALISES what a host theme can
 * impose. It never sets WS40 design. Each template stylesheet loads after this
 * one and overrides every non-`!important` declaration below, so appearance is
 * unchanged; only theme interference is removed.
 *
 * SCOPE: `[class*="ws40"]` matches WS40 containers only, so nothing outside the
 * plugin's own markup is ever touched.
 *
 * `!important` is deliberate and required — do not "clean it up". On the real
 * sites the theme rules won on specificity against plain class selectors, which
 * is why a gentle declaration was not enough. It is limited to the five
 * properties that actually broke the layout.
 *
 * <dd> is intentionally excluded from the white-space reset: value elements
 * (e.g. .ws40con-full__val) keep `nowrap` by design so a number is never split
 * from its unit.
 *
 * @package   WS40
 * @author    Pasqualino De Marco <info@weatherstation40.live>
 * @copyright 2024-2026 Pasqualino De Marco — Licensed under GPL-2.0-or-later
 * @license   GPL-2.0-or-later
 */
 [class*="ws40"] button,[class*="ws40"] dl,[class*="ws40"] dt,[class*="ws40"] dd,[class*="ws40"] h1,[class*="ws40"] h2,[class*="ws40"] h3,[class*="ws40"] h4,[class*="ws40"] h5,[class*="ws40"] h6,[class*="ws40"] p,[class*="ws40"] small,[class*="ws40"] table,[class*="ws40"] tr,[class*="ws40"] td,[class*="ws40"] th,[class*="ws40"] ul,[class*="ws40"] ol,[class*="ws40"] li{height:auto!important;min-height:0!important;max-height:none!important;text-overflow:clip!important;font-family:inherit;font-style:inherit;text-transform:none;letter-spacing:normal;text-decoration:none;text-shadow:none;float:none;list-style:none}[class*="ws40"] button,[class*="ws40"] dl,[class*="ws40"] dt,[class*="ws40"] h1,[class*="ws40"] h2,[class*="ws40"] h3,[class*="ws40"] h4,[class*="ws40"] h5,[class*="ws40"] h6,[class*="ws40"] p,[class*="ws40"] small,[class*="ws40"] li{white-space:normal!important}[class*="ws40"] button::before,[class*="ws40"] button::after,[class*="ws40"] dl::before,[class*="ws40"] dl::after,[class*="ws40"] dt::before,[class*="ws40"] dt::after,[class*="ws40"] dd::before,[class*="ws40"] dd::after,[class*="ws40"] h1::before,[class*="ws40"] h1::after,[class*="ws40"] h2::before,[class*="ws40"] h2::after,[class*="ws40"] h3::before,[class*="ws40"] h3::after,[class*="ws40"] h4::before,[class*="ws40"] h4::after,[class*="ws40"] h5::before,[class*="ws40"] h5::after,[class*="ws40"] h6::before,[class*="ws40"] h6::after,[class*="ws40"] p::before,[class*="ws40"] p::after,[class*="ws40"] small::before,[class*="ws40"] small::after,[class*="ws40"] li::before,[class*="ws40"] li::after{content:none!important}.ws40-forecast{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;max-width:100%;margin:0 auto}.ws40-forecast__title{font-size:1.1em;font-weight:600;color:#1d2327;margin:0 0 14px}.ws40-forecast__grid{display:flex;flex-direction:row;overflow-x:auto;overflow-y:visible;gap:12px;padding-bottom:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;justify-content:flex-start;scrollbar-width:thin;scrollbar-color:var(--ws40con-blue,#1D9E75) #e0e0e0}.ws40-forecast__grid::-webkit-scrollbar{height:6px}.ws40-forecast__grid::-webkit-scrollbar-track{background:#e0e0e0;border-radius:3px}.ws40-forecast__grid::-webkit-scrollbar-thumb{background:var(--ws40con-blue,#1D9E75);border-radius:3px}.ws40-forecast__grid::-webkit-scrollbar-button{display:none}.ws40-forecast__card{flex:0 0 168px;min-width:168px;max-width:168px;scroll-snap-align:start}.ws40-forecast__card{background:#fff;border:1px solid #dcdcde;border-top:3px solid #1D9E75;border-radius:8px;padding:14px 12px 12px;text-align:center;transition:box-shadow 0.15s ease}.ws40-forecast__card:hover{box-shadow:0 2px 8px rgb(0 0 0 / .08)}.ws40-forecast__day{font-size:13px;font-weight:700;color:#1d2327;text-transform:uppercase;letter-spacing:.04em}.ws40-forecast__date{font-size:11px;color:#8c8f94;margin-bottom:8px}.ws40-forecast__icon{margin-bottom:4px;line-height:1}.ws40-forecast__icon-img{width:56px;height:56px;display:inline-block}.ws40-forecast__icon-svg{width:64px;height:64px}.ws40-forecast__icon-emoji{font-size:40px;display:inline-block;line-height:1.1}.ws40-forecast__desc{font-size:11px;color:#646970;margin-bottom:10px;min-height:16px;line-height:1.3}.ws40-forecast__temps{display:flex;align-items:center;justify-content:center;gap:3px;margin-bottom:8px;white-space:nowrap;overflow:visible}.ws40-forecast__max{font-size:15px;font-weight:700;color:#c0392b}.ws40-forecast__sep{font-size:11px;color:#c3c4c7}.ws40-forecast__min{font-size:15px;font-weight:700;color:#2271b1}.ws40-forecast__extras{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.ws40-forecast__extra{font-size:11px;color:#50575e;display:flex;align-items:center;justify-content:center;gap:4px}.ws40-forecast__extra-icon{font-size:12px}.ws40-forecast__moon{border-top:1px solid #f0f0f1;padding-top:8px;margin-top:4px}.ws40-forecast__moon-emoji{font-size:18px;display:block;line-height:1.2}.ws40-forecast__moon-name{font-size:10px;color:#8c8f94;display:block;margin-top:2px}.ws40-forecast__loading .ws40-forecast__skeleton{background:#f6f7f7;border:1px solid #dcdcde;border-top:3px solid #dcdcde;border-radius:8px;min-height:200px;animation:ws40fc-pulse 1.4s ease-in-out infinite}@keyframes ws40fc-pulse{0%,100%{opacity:1}50%{opacity:.5}}.ws40-forecast__error{color:#b32d2e;font-size:13px;background:#fef2f2;border:1px solid #f7bdbd;border-radius:6px;padding:10px 14px;margin:0}@media (max-width:480px){.ws40-forecast__icon-img{width:44px;height:44px}.ws40-forecast__icon-emoji{font-size:32px}.ws40-forecast__max,.ws40-forecast__min{font-size:14px}}