/* Alpine pass page: "Heute am Pass" (weather, calendar state, webcams). PASS-DESIGN.md 4.3. */

.pp-today__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.pp-card { min-width: 0; padding: 20px; background: #fff; border: 1px solid var(--ap-line); border-radius: 6px; }
.pp-card__h3 { margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ap-muted); }
.pp-card__p { margin: 0 0 12px; font-size: 14px; line-height: 1.6; color: var(--ap-text); }
.pp-card__src { margin: 12px 0 0; font-size: 11.5px; line-height: 1.5; color: var(--ap-muted); }

/* Weather: the body reserves its height before the script fills it (no layout shift). */
.pp-wx__body { min-height: 168px; }
.pp-wx__wait { margin: 0; font-size: 14px; color: var(--ap-muted); }
.pp-wx__now { display: flex; align-items: baseline; gap: 14px; }
.pp-wx__now b { font-size: 44px; font-weight: 800; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pp-wx__now span { font-size: 14px; font-weight: 500; line-height: 1.45; color: var(--ap-text); }
.pp-wx__days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.pp-wx__d { min-width: 0; padding: 10px; background: var(--ap-paper); border-radius: 4px; }
.pp-wx__d b { display: block; font-size: 13px; font-weight: 700; }
.pp-wx__d span { display: block; margin: 4px 0 2px; font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; }
.pp-wx__d small { display: block; font-size: 12px; line-height: 1.35; color: var(--ap-text); }
.pp-wx__d em { display: block; margin-top: 2px; font-size: 12px; font-style: normal; font-weight: 700; color: var(--ap-ink); }

.pp-cal__state { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; font-size: 20px; font-weight: 800; }
.pp-cal__state i { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; background: var(--ap-closed); border: 2px solid #b9b0a2; }
.pp-cal__state--weather i { background: var(--ap-weather); border-color: #b9a77f; }
.pp-cal__state--open i { background: var(--ap-open); border-color: var(--ap-open); }

.pp-links { margin: 0; padding: 0; list-style: none; }
.pp-links li { border-top: 1px solid rgba(17, 18, 20, .08); }
.pp-links a {
    display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; padding: 10px 0;
    font-size: 14px; font-weight: 600;
}
.pp-links a::after { content: "\2197"; flex: 0 0 auto; color: var(--ap-muted); }
.ap-page .pp-links a:hover { text-decoration: underline; text-decoration-color: var(--ap-or); text-underline-offset: 3px; }

@media (min-width: 600px) {
    .pp-today__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pp-wx { grid-column: 1 / -1; }
}

@media (min-width: 900px) {
    .pp-today__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); gap: 18px; }
    .pp-wx { grid-column: auto; }
    .pp-card { padding: 22px; }
}
