/* ═══════════════════════════════════════════════════════════ BASE ═══════════════════════════════════════════════════════════ */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --bg: #08090d; --bg1: #0f1117; --bg2: #161b25; --glass: rgba(255,255,255,0.035); --glass-b: rgba(255,255,255,0.07); --text: #e8edf5; --muted: #5a6a7a; --muted2: #9aa8b8; --orange: #ff8c32; --blue: #50b4ff; --green: #34d399; --r: 14px; --nav-h: 56px; } html { scroll-behavior: smooth; } body { font-family: "Inter", system-ui, sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; display: flex; flex-direction: column; -webkit-font-smoothing: antialiased; } a { color: var(--blue); text-decoration: none; } a:hover { text-decoration: underline; } main { flex: 1; } /* ═══════════════════════════════════════════════════════════ NAV ═══════════════════════════════════════════════════════════ */ .nav { position: sticky; top: 0; z-index: 100; height: var(--nav-h); display: flex; align-items: center; gap: 1rem; padding: 0 1.5rem; background: rgba(8,9,13,0.85); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,0.06); } .nav-logo { font-weight: 900; font-size: 1.1rem; color: var(--text); letter-spacing: -0.5px; flex-shrink: 0; text-decoration: none; } .nav-logo span { color: var(--orange); } .nav-search { flex: 1; max-width: 420px; margin-left: auto; } .nav-search-wrap { position: relative; display: flex; align-items: center; } .nav-search-icon { position: absolute; left: 10px; width: 16px; height: 16px; color: var(--muted); pointer-events: none; } .nav-search input { width: 100%; padding: 0.45rem 0.9rem 0.45rem 2.2rem; background: var(--bg2); border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; color: var(--text); font: inherit; font-size: 0.9rem; outline: none; transition: border-color 0.2s; } .nav-search input:focus { border-color: var(--orange); } /* ═══════════════════════════════════════════════════════════ AUTOCOMPLETE ═══════════════════════════════════════════════════════════ */ .ac-list { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--bg2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; list-style: none; box-shadow: 0 12px 40px rgba(0,0,0,0.6); z-index: 999; overflow: hidden; } .ac-list[hidden] { display: none; } .ac-list li { padding: 0.6rem 1rem; font-size: 0.875rem; cursor: pointer; color: var(--muted2); border-bottom: 1px solid rgba(255,255,255,0.05); transition: background 0.12s, color 0.12s; } .ac-list li:last-child { border-bottom: none; } .ac-list li:hover { background: var(--glass); color: var(--text); } /* ═══════════════════════════════════════════════════════════ FOOTER ═══════════════════════════════════════════════════════════ */ .footer { text-align: center; padding: 2rem 1rem; font-size: 0.78rem; color: var(--muted); border-top: 1px solid rgba(255,255,255,0.05); } /* ═══════════════════════════════════════════════════════════ HOME PAGE ═══════════════════════════════════════════════════════════ */ .home-wrap { min-height: calc(100vh - var(--nav-h)); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; padding: 4rem 1.5rem; } /* Giant muted "WETTER" behind everything */ .home-bg-text { position: absolute; font-size: clamp(7rem, 22vw, 20rem); font-weight: 900; color: rgba(255,255,255,0.018); letter-spacing: -0.05em; top: 50%; left: 50%; transform: translate(-50%, -50%); white-space: nowrap; user-select: none; pointer-events: none; } .home-center { position: relative; z-index: 1; max-width: 620px; width: 100%; } .home-eyebrow { font-size: 0.72rem; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--orange); margin-bottom: 1rem; } .home-title { font-size: clamp(2.2rem, 6vw, 4rem); font-weight: 900; line-height: 1.05; letter-spacing: -0.03em; margin-bottom: 2.5rem; } .home-form { display: flex; flex-direction: column; gap: 0.8rem; } .home-input-wrap { position: relative; } .home-search-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; color: var(--muted); pointer-events: none; } .home-input-wrap input { width: 100%; padding: 1rem 1.2rem 1rem 3rem; font: inherit; font-size: 1.05rem; background: var(--bg2); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--r); color: var(--text); outline: none; transition: border-color 0.2s, box-shadow 0.2s; } .home-input-wrap input:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,140,50,0.15); } .home-btn { align-self: flex-start; display: flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.8rem; background: var(--orange); color: #000; font: inherit; font-weight: 700; font-size: 1rem; border: none; border-radius: var(--r); cursor: pointer; transition: background 0.15s, transform 0.1s; } .home-btn svg { width: 16px; height: 16px; } .home-btn:hover { background: #ffaa5e; } .home-btn:active { transform: scale(0.97); } .home-error { margin-top: 1rem; padding: 0.75rem 1rem; background: rgba(255,80,80,0.1); border: 1px solid rgba(255,80,80,0.3); border-radius: var(--r); font-size: 0.9rem; color: #ff6b6b; } .home-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2rem; align-items: center; } .chip { padding: 0.3rem 0.85rem; background: var(--glass); border: 1px solid var(--glass-b); border-radius: 99px; font-size: 0.82rem; color: var(--muted2); transition: all 0.15s; white-space: nowrap; } .chip:hover { background: rgba(255,140,50,0.1); border-color: rgba(255,140,50,0.3); color: var(--orange); text-decoration: none; } /* Decorative weather art */ .home-deco { position: absolute; right: -4rem; top: 50%; transform: translateY(-50%); width: clamp(200px, 35vw, 480px); height: clamp(200px, 35vw, 480px); pointer-events: none; user-select: none; } .deco-sun { position: absolute; width: 55%; height: 55%; top: 5%; right: 10%; border-radius: 50%; background: radial-gradient(circle, rgba(255,180,50,0.35) 0%, rgba(255,120,30,0.1) 55%, transparent 75%); animation: pulse-sun 6s ease-in-out infinite; } @keyframes pulse-sun { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.08); opacity: 0.8; } } .deco-cloud { position: absolute; background: rgba(255,255,255,0.04); border-radius: 99px; } .deco-cloud::before, .deco-cloud::after { content: ""; position: absolute; background: inherit; border-radius: 50%; } .c1 { width: 48%; height: 18%; bottom: 28%; left: 10%; animation: drift 14s ease-in-out infinite; } .c1::before { width: 55%; height: 200%; top: -80%; left: 20%; } .c1::after { width: 35%; height: 160%; top: -60%; left: 55%; } .c2 { width: 36%; height: 14%; bottom: 18%; left: 35%; opacity: 0.6; animation: drift 18s 3s ease-in-out infinite reverse; } .c2::before { width: 50%; height: 200%; top: -70%; left: 15%; } .c2::after { width: 30%; height: 160%; top: -55%; left: 55%; } @keyframes drift { 0%,100% { transform: translateX(0); } 50% { transform: translateX(10px); } } .deco-rain { position: absolute; bottom: 10%; left: 15%; width: 70%; height: 30%; display: flex; gap: 0.4rem; align-items: flex-start; } .deco-rain span { flex: 1; height: 60%; min-height: 20px; background: linear-gradient(to bottom, rgba(80,180,255,0.3), transparent); border-radius: 99px; animation: rain 2.2s ease-in-out infinite; } .deco-rain span:nth-child(2n) { animation-delay: 0.4s; height: 40%; } .deco-rain span:nth-child(3n) { animation-delay: 0.8s; height: 70%; } .deco-rain span:nth-child(4n) { animation-delay: 1.2s; height: 50%; } .deco-rain span:nth-child(5n) { animation-delay: 0.2s; height: 35%; } @keyframes rain { 0%,100% { opacity: 0.6; transform: scaleY(1); } 50% { opacity: 0.2; transform: scaleY(0.6); } } /* ═══════════════════════════════════════════════════════════ WEATHER PAGE – HERO ═══════════════════════════════════════════════════════════ */ .hero { position: relative; overflow: hidden; padding: 3rem 2rem 1.5rem; } /* Weather-condition gradients */ .w-clear { background: linear-gradient(135deg, #1a0f05 0%, #2d1a08 50%, #0f0d12 100%); } .w-partcloud{ background: linear-gradient(135deg, #0d1520 0%, #1a2535 60%, #0a0d14 100%); } .w-cloudy { background: linear-gradient(135deg, #0e1218 0%, #1c262e 60%, #0a0c10 100%); } .w-rain { background: linear-gradient(135deg, #050d18 0%, #0d2035 60%, #080c12 100%); } .w-snow { background: linear-gradient(135deg, #0d1520 0%, #162035 60%, #0a0d12 100%); } .w-night { background: linear-gradient(135deg, #060810 0%, #0d1028 60%, #050608 100%); } .hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 70% at 80% 20%, rgba(255,255,255,0.03) 0%, transparent 70%); pointer-events: none; } .hero-inner { max-width: 1000px; margin: 0 auto; } .hero-meta { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--muted2); margin-bottom: 1.5rem; font-weight: 500; } .hero-meta svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--orange); } .hero-meta-sub { color: var(--muted); font-weight: 400; } .hero-meta-time { margin-left: auto; font-variant-numeric: tabular-nums; color: var(--orange); font-weight: 600; letter-spacing: 0.04em; } .hero-main { display: flex; align-items: flex-start; gap: 2rem; margin-bottom: 2rem; flex-wrap: wrap; } .hero-temp { font-size: clamp(4.5rem, 12vw, 8rem); font-weight: 900; line-height: 0.9; letter-spacing: -0.04em; color: var(--text); } .hero-desc { display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 0.6rem; } .hero-icon-big { font-size: 3rem; line-height: 1; margin-bottom: 0.4rem; } .hero-stats-mini { display: flex; flex-direction: column; gap: 0.2rem; } .hero-stats-mini span { font-size: 0.85rem; color: var(--muted2); } .hero-metrics { display: flex; gap: 0; flex-wrap: wrap; border: 1px solid rgba(255,255,255,0.08); border-radius: var(--r); overflow: hidden; } .hero-metric { flex: 1; min-width: 100px; padding: 0.9rem 1.2rem; display: flex; flex-direction: column; gap: 0.2rem; border-right: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.025); } .hero-metric:last-child { border-right: none; } .hm-val { font-size: 1.05rem; font-weight: 600; } .hm-label { font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.8px; } .hero-station { max-width: 1000px; margin: 1.5rem auto 0; font-size: 0.75rem; color: var(--muted); border-top: 1px solid rgba(255,255,255,0.06); padding-top: 1rem; } /* ═══════════════════════════════════════════════════════════ SECTIONS ═══════════════════════════════════════════════════════════ */ .section { max-width: 1000px; margin: 0 auto; padding: 2.5rem 2rem 0; } .section-title { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.4px; color: var(--muted); margin-bottom: 1.2rem; } .data-note { max-width: 1000px; margin: 2.5rem auto 0; padding: 1.5rem 2rem; font-size: 0.75rem; color: var(--muted); } .insights { padding-top: 1.5rem; } .insight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; } .insight-card { background: var(--glass); border: 1px solid var(--glass-b); border-radius: 12px; padding: 0.9rem 1rem; display: flex; flex-direction: column; gap: 0.35rem; } .insight-label { font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; } .insight-value { font-size: 0.9rem; color: var(--text); font-weight: 600; } /* ═══════════════════════════════════════════════════════════ HOURLY STRIP ═══════════════════════════════════════════════════════════ */ .hourly-strip-wrap { overflow-x: auto; padding-bottom: 0.75rem; /* hide scrollbar but keep functionality */ scrollbar-width: thin; scrollbar-color: rgba(255,255,255,0.1) transparent; } .hourly-strip-wrap::-webkit-scrollbar { height: 4px; } .hourly-strip-wrap::-webkit-scrollbar-track { background: transparent; } .hourly-strip-wrap::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 2px; } .hourly-strip { display: flex; gap: 0.5rem; min-width: max-content; padding: 0.25rem 0; } .hcard { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; padding: 0.8rem 0.9rem; background: var(--glass); border: 1px solid var(--glass-b); border-radius: 12px; min-width: 72px; transition: background 0.12s; } .hcard:hover { background: rgba(255,255,255,0.065); } .hcard--now { background: rgba(255,140,50,0.12); border-color: rgba(255,140,50,0.3); } .hcard-time { font-size: 0.85rem; font-weight: 600; color: var(--text); } .hcard-date { font-size: 0.68rem; color: var(--muted); margin-top: -0.15rem; } .hcard-icon { font-size: 1.4rem; line-height: 1; margin: 0.2rem 0; } .hcard-icon img { display: block; } /* Weather icon images */ .wx-icon { display: block; flex-shrink: 0; } .wx-icon--hero { width: 56px; height: 56px; } .wx-icon--card { width: 36px; height: 36px; } .wx-icon--row { width: 28px; height: 28px; } /* Coloured accent box behind each weather icon */ .wx-icon-wrap { display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; padding: 7px; flex-shrink: 0; /* default fallback */ background: linear-gradient(135deg, #1e2a38 0%, #2a3a4e 100%); } /* Day icons */ .wx-icon-wrap[data-icon="sonne"] { background: linear-gradient(135deg, #e07010 0%, #f5c020 100%); } .wx-icon-wrap[data-icon="wolkig(2)"] { background: linear-gradient(135deg, #3a82b0 0%, #d08030 100%); } .wx-icon-wrap[data-icon="wolke"] { background: linear-gradient(135deg, #3e5a74 0%, #5a7896 100%); } .wx-icon-wrap[data-icon="wolkig"] { background: linear-gradient(135deg, #303e4c 0%, #485a6c 100%); } .wx-icon-wrap[data-icon="wolkig(1)"] { background: linear-gradient(135deg, #1a6090 0%, #4090c0 100%); } .wx-icon-wrap[data-icon="regen"] { background: linear-gradient(135deg, #0e3050 0%, #1a5080 100%); } .wx-icon-wrap[data-icon="schnee"] { background: linear-gradient(135deg, #3070a8 0%, #70b8e0 100%); } .wx-icon-wrap[data-icon="blitz"] { background: linear-gradient(135deg, #1e1040 0%, #5030a0 100%); } .wx-icon-wrap[data-icon="sturm"] { background: linear-gradient(135deg, #120e30 0%, #2a1870 60%, #0a0820 100%); } .wx-icon-wrap[data-icon="sturmundhagel"] { background: linear-gradient(135deg, #0a0e28 0%, #1e1858 60%, #304870 100%); } .wx-icon-wrap[data-icon="hagel"] { background: linear-gradient(135deg, #284060 0%, #507090 100%); } .wx-icon-wrap[data-icon="schneebedeckt"]{ background: linear-gradient(135deg, #2a3a50 0%, #80a8c8 100%); } .wx-icon-wrap[data-icon="schneebedecktsonne"] { background: linear-gradient(135deg, #4080a8 0%, #a8d0e8 60%, #e0c060 100%); } .wx-icon-wrap[data-icon="wolkig_nebel_sonne"] { background: linear-gradient(135deg, #706858 0%, #a09880 100%); } .wx-icon-wrap[data-icon="nebel"] { background: linear-gradient(135deg, #7a8a96 0%, #b0c0cc 100%); } .wx-icon-wrap[data-icon="nebel_wolkig"] { background: linear-gradient(135deg, #505a64 0%, #8898a8 100%); } /* Night icons */ .wx-icon-wrap[data-icon="nacht"] { background: linear-gradient(135deg, #080c20 0%, #141c40 100%); } .wx-icon-wrap[data-icon="nacht(1)"] { background: linear-gradient(135deg, #0c1228 0%, #1e2848 100%); } .wx-icon-wrap[data-icon="nacht(2)"] { background: linear-gradient(135deg, #081020 0%, #102040 100%); } .wx-icon-wrap[data-icon="nacht(3)"] { background: linear-gradient(135deg, #0c1830 0%, #1e3858 100%); } .hcard-temp { font-size: 1rem; font-weight: 700; } .hcard-precip { font-size: 0.7rem; color: var(--blue); font-weight: 500; } .hcard-precip--none { color: var(--muted); font-weight: 400; } .hcard-precip--prob { color: #7dd3fc; font-weight: 500; } .hcard-wind { font-size: 0.72rem; color: var(--muted2); } .hcard-wind small { font-size: 0.62rem; color: var(--muted); } .hcard-confidence { font-size: 0.62rem; font-weight: 700; padding: 0.1rem 0.4rem; border-radius: 99px; } .hcard-confidence--hoch { color: #34d399; background: rgba(52,211,153,0.14); } .hcard-confidence--mittel { color: #fbbf24; background: rgba(251,191,36,0.14); } .hcard-confidence--niedrig { color: #f87171; background: rgba(248,113,113,0.14); } .hcard-activity { font-size: 0.62rem; color: #c7d2fe; background: rgba(129,140,248,0.15); border-radius: 99px; padding: 0.1rem 0.4rem; } /* ═══════════════════════════════════════════════════════════ CHART ═══════════════════════════════════════════════════════════ */ .chart-head { display: flex; align-items: baseline; gap: 0.75rem; margin-bottom: 1.2rem; } .chart-range { font-size: 0.7rem; font-weight: 600; background: rgba(255,140,50,0.12); color: var(--orange); border-radius: 99px; padding: 0.15rem 0.6rem; letter-spacing: 0.3px; } .chart-head .section-title { margin-bottom: 0; } .chart-box { height: 300px; background: var(--glass); border: 1px solid var(--glass-b); border-radius: var(--r); padding: 1.25rem 1rem 0.75rem; } /* ═══════════════════════════════════════════════════════════ DAILY LIST ═══════════════════════════════════════════════════════════ */ .daily-list { display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,0.07); border-radius: var(--r); overflow: hidden; } .drow { display: grid; grid-template-columns: 80px 1fr 160px; align-items: center; padding: 0.9rem 1.2rem; border-bottom: 1px solid rgba(255,255,255,0.05); gap: 1rem; background: var(--glass); transition: background 0.12s; } .drow:last-child { border-bottom: none; } .drow:hover { background: rgba(255,255,255,0.05); } .drow-left { display: flex; align-items: center; gap: 0.6rem; } .drow-icon { font-size: 1.4rem; flex-shrink: 0; } .drow-dow { font-size: 0.875rem; font-weight: 600; color: var(--text); } .drow-bar-wrap { position: relative; } .drow-bar-track { height: 6px; background: rgba(255,255,255,0.08); border-radius: 99px; position: relative; overflow: hidden; } .drow-bar { position: absolute; top: 0; height: 100%; background: linear-gradient(90deg, var(--blue), var(--orange)); border-radius: 99px; min-width: 12px; } .drow-right { display: flex; align-items: center; gap: 0.5rem; justify-content: flex-end; font-size: 0.875rem; font-weight: 600; } .drow-min { color: var(--blue); } .drow-max { color: var(--orange); } .drow-precip { font-size: 0.72rem; color: var(--muted2); font-weight: 400; margin-left: 0.4rem; } /* ═══════════════════════════════════════════════════════════ RESPONSIVE ═══════════════════════════════════════════════════════════ */ @media (max-width: 640px) { .hero { padding: 2rem 1.25rem 1.25rem; } .section { padding: 2rem 1.25rem 0; } .drow { grid-template-columns: 64px 1fr 120px; padding: 0.75rem 0.9rem; gap: 0.6rem; } .daily-header { grid-template-columns: 64px 1fr 120px; padding: 0.45rem 0.9rem; gap: 0.6rem; } .hero-metrics { border-radius: 10px; } .hero-metric { padding: 0.7rem 0.9rem; min-width: 80px; } .hm-val { font-size: 0.95rem; } .home-deco { display: none; } .home-title { font-size: 2.2rem; } .chart-box { height: 220px; } .insight-grid { grid-template-columns: 1fr; } } @media (max-width: 400px) { .drow-right { flex-wrap: wrap; justify-content: flex-end; } .drow-precip { display: none; } } /* ═══════════════════════════════════════════════════════════ WARNINGS ═══════════════════════════════════════════════════════════ */ .warnings { max-width: 1000px; margin: 0 auto; padding: 1rem 2rem 0; display: flex; flex-direction: column; gap: 0.5rem; } .warn-item { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.75rem 1rem; border-radius: var(--r); font-size: 0.85rem; border-left: 3px solid; } .warn-lvl-1 { background: rgba(255,200,50,0.08); border-color: #ffc832; color: #ffc832; } .warn-lvl-2 { background: rgba(255,120,30,0.1); border-color: #ff781e; color: #ff9a5c; } .warn-lvl-3, .warn-lvl-4 { background: rgba(255,60,60,0.1); border-color: #ff4040; color: #ff7070; } .warn-icon { font-size: 1.1rem; flex-shrink: 0; line-height: 1.3; } .warn-item strong { color: inherit; } .warn-item div { display: flex; flex-direction: column; gap: 0.2rem; } .warn-time { color: #888; font-size: 0.7rem; margin: 0; margin-bottom: 0.25rem; font-weight: 500; } .warn-desc { color: var(--muted2); font-size: 0.78rem; margin: 0; } .warn-more summary { cursor: pointer; color: var(--muted2); font-size: 0.72rem; width: fit-content; } .warn-more p { margin: 0.35rem 0 0; color: var(--muted2); font-size: 0.76rem; line-height: 1.35; } /* ═══════════════════════════════════════════════════════════ UV INDEX + RECENT LABELS ═══════════════════════════════════════════════════════════ */ .hcard-uv { font-size: 0.65rem; color: #a78bfa; font-weight: 600; background: rgba(167,139,250,0.12); border-radius: 99px; padding: 0.1rem 0.45rem; } .hcard-uv--low { color: #34d399; background: rgba(52,211,153,0.14); } .hcard-uv--moderate { color: #facc15; background: rgba(250,204,21,0.14); } .hcard-uv--high { color: #fb923c; background: rgba(251,146,60,0.14); } .hcard-uv--very-high, .hcard-uv--extreme { color: #f87171; background: rgba(248,113,113,0.14); } .drow-uv { font-size: 0.68rem; color: #a78bfa; font-weight: 600; background: rgba(167,139,250,0.12); border-radius: 99px; padding: 0.1rem 0.45rem; margin-left: 0.4rem; } /* Hourly legend */ .hourly-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-bottom: 0.75rem; } .hl-label { font-size: 0.67rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.8px; font-weight: 600; margin-right: 0.2rem; } .hl-sep { color: var(--muted); font-size: 0.75rem; } .hl-badge { padding: 0.1rem 0.45rem; border-radius: 99px; font-size: 0.65rem; font-weight: 600; } .hl-conf--hoch { color: #34d399; background: rgba(52,211,153,0.14); } .hl-conf--mittel { color: #fbbf24; background: rgba(251,191,36,0.14); } .hl-conf--niedrig { color: #f87171; background: rgba(248,113,113,0.14); } .hl-act { color: #c7d2fe; background: rgba(129,140,248,0.15); } .hl-uv { color: #a78bfa; background: rgba(167,139,250,0.12); } /* Daily list header */ .daily-header { display: grid; grid-template-columns: 80px 1fr 160px; padding: 0.45rem 1.2rem; gap: 1rem; font-size: 0.67rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.8px; color: var(--muted); border: 1px solid rgba(255,255,255,0.07); border-bottom: none; border-radius: var(--r) var(--r) 0 0; background: rgba(255,255,255,0.02); } .daily-header + .daily-list { border-radius: 0 0 var(--r) var(--r); } .recent-label { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); font-weight: 600; margin-top: 0.5rem; } .home-chips--recent .chip--recent { background: rgba(80,180,255,0.06); border-color: rgba(80,180,255,0.2); color: var(--blue); } .home-chips--recent .chip--recent:hover { background: rgba(80,180,255,0.14); border-color: rgba(80,180,255,0.4); text-decoration: none; } /* ═══════════════════════════════════════════════════════════ STANDORT BUTTON ═══════════════════════════════════════════════════════════ */ .btn-location { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1rem; padding: 0.5rem 1rem; background: transparent; border: 1px solid rgba(255,255,255,0.12); border-radius: 99px; font: inherit; font-size: 0.82rem; color: var(--muted2); cursor: pointer; transition: all 0.15s; } .btn-location svg { width: 14px; height: 14px; color: var(--blue); } .btn-location:hover { background: rgba(80,180,255,0.07); border-color: rgba(80,180,255,0.3); color: var(--blue); } .btn-location:disabled { opacity: 0.5; cursor: not-allowed; }