.meteo-search-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}.meteo-search-wrap{position:relative;flex:1;min-width:200px;}.meteo-search-input{width:100%;padding:10px 16px;border:1.5px solid var(--border);border-radius:10px;font-size:1rem;background:var(--surface);color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;}.meteo-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);}.meteo-suggestions{position:absolute;z-index:200;left:0;right:0;top:calc(100%+4px);background:var(--bg,#fff);border:1.5px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.13);overflow:hidden;}.meteo-suggestion-item{padding:10px 16px;cursor:pointer;font-size:.92rem;color:var(--text);transition:background .12s;}.meteo-suggestion-item:hover{background:var(--surface);}.meteo-current-card{background:linear-gradient(135deg,#1a73e8 0%,#0d47a1 100%);border-radius:16px;padding:26px 28px;color:#fff;margin-bottom:18px;}.meteo-current-card.warm{background:linear-gradient(135deg,#f97316 0%,#c2410c 100%);}.meteo-current-card.hot{background:linear-gradient(135deg,#dc2626 0%,#7f1d1d 100%);}.meteo-current-card.cold{background:linear-gradient(135deg,#7c3aed 0%,#3730a3 100%);}.meteo-current-card.cloudy{background:linear-gradient(135deg,#64748b 0%,#334155 100%);}.meteo-current-card.rainy{background:linear-gradient(135deg,#0891b2 0%,#164e63 100%);}.meteo-city-name{font-size:1.6rem;font-weight:800;margin:0 0 2px;line-height:1.2;}.meteo-country{font-size:.88rem;opacity:.85;margin-bottom:14px;}.meteo-temp-row{display:flex;align-items:center;gap:14px;margin-bottom:8px;}.meteo-temp{font-size:4.2rem;font-weight:800;line-height:1;letter-spacing:-.02em;}.meteo-icon{font-size:3.2rem;line-height:1;}.meteo-description{font-size:1.1rem;font-weight:600;opacity:.95;margin-bottom:2px;}.meteo-feelslike{font-size:.88rem;opacity:.8;}.meteo-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:24px;}.meteo-detail-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 10px;text-align:center;transition:transform .15s;}.meteo-detail-card:hover{transform:translateY(-2px);}.meteo-detail-icon{font-size:1.5rem;margin-bottom:4px;}.meteo-detail-label{font-size:.73rem;color:var(--text-muted,#888);margin-bottom:2px;text-transform:uppercase;letter-spacing:.04em;}.meteo-detail-value{font-size:1.05rem;font-weight:700;color:var(--text);}.meteo-forecast-title{font-size:1rem;font-weight:700;margin-bottom:12px;color:var(--text);}.meteo-forecast-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;}.meteo-day-card{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:12px 6px;text-align:center;transition:transform .15s,border-color .15s;}.meteo-day-card:hover{transform:translateY(-3px);}.meteo-day-card.today{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));}.meteo-day-name{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#888);margin-bottom:4px;}.meteo-day-icon{font-size:1.5rem;margin:4px 0;}.meteo-day-max{font-size:.95rem;font-weight:700;color:var(--text);}.meteo-day-min{font-size:.8rem;color:var(--text-muted,#888);}.meteo-day-precip{font-size:.7rem;color:#60a5fa;margin-top:3px;}.meteo-loading,.meteo-empty{text-align:center;padding:44px 20px;color:var(--text-muted,#888);}.meteo-empty-icon{font-size:3.2rem;margin-bottom:12px;}.meteo-error{padding:14px 18px;border-radius:10px;background:#fee2e2;color:#991b1b;margin-bottom:16px;border:1px solid #fca5a5;}[data-theme="dark"] .meteo-error{background:#450a0a;color:#fca5a5;border-color:#7f1d1d;}@media (max-width:600px){.meteo-forecast-grid{grid-template-columns:repeat(4,1fr);}.meteo-temp{font-size:3rem;}.meteo-icon{font-size:2.5rem;}.meteo-current-card{padding:18px;}}@media (max-width:400px){.meteo-forecast-grid{grid-template-columns:repeat(3,1fr);}}