/* Air Quality — Main Zone (full screen).
 * Layout: top header, middle two boxes (gauge | pollutant bars),
 * bottom one wide box (24h sparkline).
 */

.aq-main {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--aq-color, #00E400) 35%, #ffffff) 0%, #ffffff 100%);
}

.aq-main-card {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto;
    color: #202124;
    padding: 2cqmin;
    width: 80%;
    height: 80%;
    box-sizing: border-box;
    gap: 3cqmin;
    background: transparent;
    border: none;
    box-shadow: none;
}

/* ── Top: header ─────────────────────────────────────────── */
.aq-main-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.8cqmin;
    padding-bottom: 2cqmin;
}
.aq-main-city {
    font-size: 4cqmin !important;
    font-weight: 500 !important;
    font-family: 'Roboto', sans-serif;
    color: #5F6368;
    line-height: 1 !important;
}
.aq-main-category {
    --shadow: color-mix(in srgb, var(--aq-color, #00E400), #000 60%);
    font-size: 5cqmin !important;
    font-weight: 700 !important;
    font-family: 'Montserrat', sans-serif;
    color: var(--aq-color, #00E400);
    line-height: 1.1 !important;
    text-shadow:
        -0.1cqmin 0 var(--shadow),
        0 0.1cqmin var(--shadow),
        0.1cqmin 0 var(--shadow),
        0 -0.1cqmin var(--shadow),
        -0.8cqmin 0.8cqmin var(--shadow),
        -0.7cqmin 0.7cqmin var(--shadow),
        -0.6cqmin 0.6cqmin var(--shadow),
        -0.5cqmin 0.5cqmin var(--shadow),
        -0.4cqmin 0.4cqmin var(--shadow),
        -0.3cqmin 0.3cqmin var(--shadow),
        -0.2cqmin 0.2cqmin var(--shadow),
        -0.1cqmin 0.1cqmin var(--shadow);
}
.aq-main-advice {
    font-size: 3.5cqmin !important;
    font-weight: 400 !important;
    font-family: 'Roboto', sans-serif;
    color: #202124;
    line-height: 1.4 !important;
    max-width: 90%;
}

/* ── Middle: two side-by-side boxes (gauge + bars) ───────── */
.aq-main-middle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3cqmin;
    min-height: 0;
}

/* ── Bottom: single wide box (sparkline) ─────────────────── */
.aq-main-bottom {
    display: block;
}

/* ── Shared box styling ──────────────────────────────────── */
.aq-main-box {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.5cqmin;
    padding: 2.5cqmin;
    background-color: color-mix(in srgb, var(--aq-color, #00E400), #000 80%);
    color: #e5dede;
    border: 0.3cqmin solid var(--aq-color, #00E400);
    border-radius: 1.2cqmin;
    box-shadow: 0.4cqmin 0.4cqmin 0.1cqmin #000000;
    min-width: 0;
    min-height: 0;
}
.aq-main-chart-title {
    font-size: 2.2cqmin !important;
    font-weight: 600 !important;
    font-family: 'Roboto', sans-serif;
    color: #B8B8B8;
    text-align: start;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    text-transform: uppercase;
}

/* ── Gauge box ───────────────────────────────────────────── */
.aq-main-gauge-wrap {
    position: relative;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    align-self: stretch;
    margin: 0 auto;
}
.aq-main-gauge {
    width: 100%;
    height: 100%;
}
.aq-main-gauge svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
}
.aq-main-gauge-value {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
}
.aq-main-aqi {
    font-size: 9cqmin !important;
    font-weight: 700 !important;
    font-family: 'Montserrat', sans-serif;
    color: var(--aq-color, #00E400);
    line-height: 1 !important;
    -webkit-text-stroke: 0.25cqmin #000000;
    text-shadow: 0 0 1.5cqmin color-mix(in srgb, var(--aq-color, #00E400), transparent 50%);
}
.aq-main-aqi-label {
    font-size: 1.6cqmin !important;
    font-weight: 600 !important;
    font-family: 'Roboto', sans-serif;
    color: #B8B8B8;
    letter-spacing: 0.15em !important;
    margin-top: 0.4cqmin;
}

/* ── Bars box ────────────────────────────────────────────── */
.aq-main-bars {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
}
.aq-main-bars svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

/* ── Sparkline box ───────────────────────────────────────── */
.aq-main-sparkline {
    width: 100%;
    height: 12cqmin;
}
.aq-main-sparkline svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
}
