/* Meteozentrale Luftqualitaet - European AQI */
:root{
    --mls-aq-good:#4fded8;
    --mls-aq-fair:#58c7aa;
    --mls-aq-moderate:#f3ed3d;
    --mls-aq-poor:#ff5058;
    --mls-aq-very-poor:#a5003d;
    --mls-aq-extreme:#81228a;
}
.mls-airquality-widget{margin-top:22px}
.mls-airquality-widget *{box-sizing:border-box}
.mls-airquality-headline{display:flex;align-items:center;gap:10px;margin:0;color:#f8fafc;font-weight:950;letter-spacing:-.025em}
.mls-airquality-wrap{display:grid;grid-template-columns:minmax(230px,.82fr) minmax(0,1.18fr);gap:14px;align-items:stretch}
.mls-aq-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:16px;background:var(--aq-color,rgba(19,35,58,.95));color:var(--aq-text,#f8fafc);box-shadow:0 14px 34px rgba(0,0,0,.22);min-height:118px}
.mls-aq-card:after{content:"";position:absolute;right:-46px;top:-46px;width:150px;height:150px;border-radius:999px;background:rgba(255,255,255,.18);pointer-events:none}
.mls-aq-main{min-height:170px;display:flex;flex-direction:column;justify-content:space-between}
.mls-aq-kicker{position:relative;z-index:1;font-size:.75rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;opacity:.82}
.mls-aq-title{position:relative;z-index:1;font-size:1.05rem;font-weight:950;line-height:1.15;margin:5px 0 0}
.mls-aq-value{position:relative;z-index:1;font-size:clamp(2.3rem,5vw,4.2rem);line-height:.9;font-weight:1000;letter-spacing:-.07em;margin:16px 0 8px}
.mls-aq-label{position:relative;z-index:1;display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.36);background:rgba(255,255,255,.18);border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.mls-aq-text{position:relative;z-index:1;margin:10px 0 0;color:inherit!important;opacity:.92;font-weight:700;line-height:1.45;font-size:.92rem}
.mls-aq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mls-aq-mini{min-height:154px;border-radius:18px;padding:14px;display:flex;flex-direction:column;justify-content:flex-start}
.mls-aq-mini .mls-aq-value{font-size:2rem;margin:8px 0 6px;letter-spacing:-.04em}
.mls-aq-mini .mls-aq-label{font-size:.68rem;padding:5px 8px}
.mls-aq-help{position:relative;z-index:1;margin:9px 0 0;color:inherit!important;opacity:.86;font-size:.74rem;line-height:1.32;font-weight:800;max-width:92%}
.mls-aq-mini[data-aq-pollutant="european_aqi"] .mls-aq-help{max-width:96%}
.mls-aq-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;color:#cbd5e1;font-size:.83rem;font-weight:800}
.mls-aq-pill{display:inline-flex;gap:7px;align-items:center;border:1px solid rgba(148,163,184,.24);background:rgba(255,255,255,.055);border-radius:999px;padding:7px 10px;color:#cbd5e1}
.mls-aq-note{margin:12px 0 0;color:#a8b4c7!important;font-size:.86rem;line-height:1.55}
.mls-aq-error{border:1px dashed rgba(248,113,113,.55);background:rgba(127,29,29,.22);color:#fecaca;border-radius:16px;padding:13px;font-weight:800}
.mls-aq-loading .mls-aq-value{font-size:1.3rem;letter-spacing:0}
.mls-aq-legend{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}
.mls-aq-legend span{display:block;border-radius:12px;padding:10px 8px;font-size:.74rem;font-weight:950;text-align:center;border:1px solid rgba(255,255,255,.12)}
.mls-aq-legend .good{background:var(--mls-aq-good);color:#06111f}.mls-aq-legend .fair{background:var(--mls-aq-fair);color:#06111f}.mls-aq-legend .moderate{background:var(--mls-aq-moderate);color:#06111f}.mls-aq-legend .poor{background:var(--mls-aq-poor);color:#fff}.mls-aq-legend .very-poor{background:var(--mls-aq-very-poor);color:#fff}.mls-aq-legend .extreme{background:var(--mls-aq-extreme);color:#fff}
.mls-aq-thresholds{width:100%;border-collapse:separate;border-spacing:0;margin-top:14px;overflow:hidden;border-radius:16px;border:1px solid rgba(148,163,184,.22)}
.mls-aq-thresholds th,.mls-aq-thresholds td{padding:10px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;font-size:.88rem;color:#e2e8f0}.mls-aq-thresholds tr:last-child td{border-bottom:0}.mls-aq-thresholds th{background:rgba(255,255,255,.06);font-weight:950;color:#f8fafc}.mls-aq-thresholds td:nth-child(n+3){font-weight:900}
@media(max-width:980px){.mls-airquality-wrap{grid-template-columns:1fr}.mls-aq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mls-aq-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.mls-aq-grid,.mls-aq-legend{grid-template-columns:1fr}.mls-aq-card{border-radius:16px}.mls-aq-mini{min-height:132px}.mls-aq-help{max-width:100%;font-size:.78rem}.mls-aq-thresholds{display:block;overflow-x:auto;white-space:nowrap}}
