.lw-weather-widget,
.lw-weather-widget * {
	box-sizing: border-box;
}

.lw-weather-widget {
	--lw-bg: #3780ff;
	container-type: inline-size;
	container-name: lw-weather;
	font-family: "Segoe UI", Arial, sans-serif;
	background: var(--lw-bg);
	color: #ffffff;
	border-radius: 0;
	overflow: hidden;
	width: 100%;
	line-height: 1.3;
}

.lw-weather-widget img {
	border: 0;
	box-shadow: none;
	background: none;
	max-width: none;
}

.lw-weather-widget .lw-wrapper {
	width: 100%;
	padding: clamp(24px, 8cqw, 80px) clamp(20px, 8cqw, 80px);
}

.lw-weather-widget .lw-main-card {
	width: 100%;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: clamp(16px, 4cqw, 40px);
	padding: clamp(24px, 5cqw, 60px) clamp(24px, 6cqw, 80px);
}

.lw-weather-widget .lw-left-info,
.lw-weather-widget .lw-right-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.lw-weather-widget .lw-right-info {
	align-items: flex-end;
	text-align: right;
}

.lw-weather-widget .lw-city-name {
	font-size: clamp(22px, 3.4cqw, 40px);
	font-weight: 600;
	letter-spacing: 2px;
	margin-bottom: 20px;
}

.lw-weather-widget .lw-day-date {
	font-size: clamp(14px, 1.8cqw, 22px);
	margin-bottom: 10px;
}

.lw-weather-widget .lw-condition {
	font-size: clamp(16px, 2.2cqw, 26px);
	margin-bottom: 20px;
}

.lw-weather-widget .lw-meta {
	font-size: clamp(13px, 1.6cqw, 20px);
	opacity: 0.9;
}

.lw-weather-widget .lw-temp-row {
	display: flex;
	align-items: center;
	gap: clamp(8px, 1.6cqw, 20px);
	margin-bottom: 20px;
}

.lw-weather-widget .lw-temp-value {
	font-size: clamp(52px, 10cqw, 120px);
	font-weight: 600;
	line-height: 0.95;
}

.lw-weather-widget .lw-temp-icon img {
	width: clamp(56px, 8cqw, 120px);
	height: auto;
	display: block;
}

.lw-weather-widget .lw-range {
	font-size: clamp(16px, 2cqw, 24px);
}

.lw-weather-widget .lw-forecast-strip {
	margin-top: clamp(20px, 3cqw, 40px);
	display: flex;
	justify-content: space-between;
	gap: clamp(10px, 1.6cqw, 20px);
}

.lw-weather-widget .lw-day-card {
	flex: 1;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	text-align: center;
	padding: clamp(12px, 2cqw, 20px) 8px;
}

.lw-weather-widget .lw-day-name {
	font-size: clamp(14px, 1.8cqw, 22px);
	margin-bottom: 10px;
	letter-spacing: 1px;
}

.lw-weather-widget .lw-day-icon img {
	width: clamp(40px, 5cqw, 60px);
	height: auto;
	margin: 0 auto 10px;
	display: block;
}

.lw-weather-widget .lw-day-temp {
	font-size: clamp(14px, 1.8cqw, 22px);
}

.lw-weather-widget .lw-error {
	padding: 20px;
	text-align: center;
	opacity: 0.9;
}

@container lw-weather (max-width: 520px) {
	.lw-weather-widget .lw-main-card {
		flex-direction: column;
		align-items: flex-start;
	}

	.lw-weather-widget .lw-right-info {
		align-items: flex-start;
		text-align: left;
	}

	.lw-weather-widget .lw-forecast-strip {
		flex-wrap: wrap;
	}

	.lw-weather-widget .lw-day-card {
		flex: 1 1 calc(33.33% - 10px);
		min-width: 88px;
	}
}

@container lw-weather (max-width: 340px) {
	.lw-weather-widget .lw-day-card {
		flex: 1 1 calc(50% - 10px);
	}
}

html.lw-weather-full-page,
body.lw-weather-full-page {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #3780ff !important;
	min-height: 100%;
	height: 100%;
}

body.lw-weather-full-page #wpadminbar {
	display: none !important;
}

body.lw-weather-full-page.admin-bar {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.lw-weather-full-page header,
body.lw-weather-full-page footer,
body.lw-weather-full-page .wp-site-blocks > header,
body.lw-weather-full-page .wp-site-blocks > footer,
body.lw-weather-full-page .entry-title,
body.lw-weather-full-page .wp-block-post-title,
body.lw-weather-full-page .site-header,
body.lw-weather-full-page .site-footer {
	display: none !important;
}

body.lw-weather-full-page .lw-weather-widget.lw-full-page {
	position: fixed;
	inset: 0;
	z-index: 2147483646;
	width: 100vw;
	height: 100vh;
	max-width: none;
	border-radius: 0;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	container-type: size;
	container-name: lw-weather-full;
}

.lw-weather-widget.lw-full-page .lw-wrapper {
	width: min(1536px, 100%);
	height: min(1024px, 100%);
	padding: clamp(36px, 17.6cqh, 180px) clamp(24px, 7.8cqw, 120px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}

.lw-weather-widget.lw-full-page .lw-main-card {
	height: 60%;
	min-height: 220px;
	padding: clamp(28px, 5.86cqh, 60px) clamp(24px, 5.2cqw, 80px);
	align-items: stretch;
}

.lw-weather-widget.lw-full-page .lw-city-name {
	font-size: clamp(22px, 2.6cqw, 40px);
	text-transform: none;
	margin-bottom: 20px;
}

.lw-weather-widget.lw-full-page .lw-day-date {
	font-size: clamp(14px, 1.43cqw, 22px);
	margin-bottom: 10px;
}

.lw-weather-widget.lw-full-page .lw-condition {
	font-size: clamp(16px, 1.7cqw, 26px);
	margin-bottom: 20px;
}

.lw-weather-widget.lw-full-page .lw-meta {
	font-size: clamp(13px, 1.3cqw, 20px);
}

.lw-weather-widget.lw-full-page .lw-temp-row {
	margin-bottom: 20px;
	gap: 20px;
}

.lw-weather-widget.lw-full-page .lw-temp-value {
	font-size: clamp(56px, 7.8cqw, 120px);
}

.lw-weather-widget.lw-full-page .lw-temp-icon img {
	width: clamp(56px, 7.8cqw, 120px);
}

.lw-weather-widget.lw-full-page .lw-range {
	font-size: clamp(16px, 1.56cqw, 24px);
}

.lw-weather-widget.lw-full-page .lw-forecast-strip {
	margin-top: clamp(16px, 3.9cqh, 40px);
	display: flex;
	justify-content: space-between;
	gap: clamp(10px, 1.3cqw, 20px);
}

.lw-weather-widget.lw-full-page .lw-day-card {
	flex: 1;
	min-width: 0;
	padding: clamp(12px, 1.95cqh, 20px) 0;
}

.lw-weather-widget.lw-full-page .lw-day-name,
.lw-weather-widget.lw-full-page .lw-day-temp {
	font-size: clamp(14px, 1.43cqw, 22px);
}

.lw-weather-widget.lw-full-page .lw-day-icon img {
	width: clamp(40px, 3.9cqw, 60px);
}

@container lw-weather-full (max-width: 720px) {
	.lw-weather-widget.lw-full-page .lw-main-card {
		flex-direction: column;
		align-items: flex-start;
		height: auto;
	}

	.lw-weather-widget.lw-full-page .lw-right-info {
		align-items: flex-start;
		text-align: left;
	}

	.lw-weather-widget.lw-full-page .lw-forecast-strip {
		flex-wrap: wrap;
	}

	.lw-weather-widget.lw-full-page .lw-day-card {
		flex: 1 1 calc(33.333% - 12px);
	}
}
