/* ...existing code... */
@media (max-width: 900px) {
	body {
		padding: 0 20px;
		box-sizing: border-box;
	}

	.logo {
		font-size: 32px;
		margin: 40px auto 0 auto;
		height: 80px;
		position: relative;
		left: 0;
	}

	.logo img {
		width: 80px;
		height: 80px;
	}

	.forecast-text {
		margin-left: 0;
		display: block;
		font-size: 24px;
	}

	.header-search {
		width: 100%;
		max-width: 520px;
		margin: 0 auto;
		padding: 0 10px;
		box-sizing: border-box;
	}

	#city-form {
		width: 100%;
		max-width: 520px;
		margin: 10px auto 24px;
		padding: 0;
		box-sizing: border-box;
	}

	#city-form input[type="text"] {
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	.weather-info {
		width: 100%;
		margin: 0 auto;
		padding: 28px;
		box-sizing: border-box;
	}

	.lottie-container {
		right: 20px;
	}

	.grid {
		margin: 20px 0;
		padding: 0 10px 20px;
	}
}

@media (max-width: 480px) {
	body {
		padding: 0 20px;
		box-sizing: border-box;
		overflow-x: hidden;
	}

 .current-meta {
	 justify-content: center;
 }

	.weather-info {
		margin: 0;
		padding: 20px;
		min-height: auto;
		flex-direction: column;
		text-align: center;
		align-items: center;
	}

	.weather-info h2 {
		font-size: 28px;
		text-align: center;
	}

	.weather-info h2 span {
		font-size: 28px;
		display: inline-block;
		text-align: center;
		width: 100%;
	}

	.weather-info p,
	.weather-info span,
	.current-details li {
		font-size: 15px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 4px 0;
		padding: 0;
		line-height: 1.2;
		text-align: left;
		gap: 18px;
	}

	.lottie-container {
		position: static;
		transform: none;
		margin: 10px auto;
	}

	dotlottie-player {
		width: 100px !important;
		height: 100px !important;
		margin: 0 auto;
	}

	#city-form button {
		display: none;
	}

	.header-search {
		padding: 0;
	}

	#city-form {
		width: 100%;
		margin: 20px auto 20px;
		padding: 0;
	}

	#city-form input[type="text"] {
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	.grid {
		display: flex;
		justify-content: flex-start;
		margin: 20px 0;
		padding: 0 20px 15px;
		width: 100%;
		gap: 12px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		background: none !important;
		border: none !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		mask-image: none !important;
		-webkit-mask-image: none !important;
	}
	.grid::-webkit-scrollbar-track {
		margin: 0;
	}
	.grid-item {
		min-width: 100px;
		scroll-snap-align: start;
		flex-shrink: 0;
		background: var(--glass-bg);
		border: 1px solid var(--glass-border);
		backdrop-filter: blur(10px);
		border-radius: 15px;
	}

	.grid-item h3 {
		font-size: 14px;
	}

	.grid-item p,
	.grid-item p span {
		font-size: 14px;
	}
}

