.calendar-season-extra-legend-header {
	padding-top: 10px;
	border-top: 1px solid #dae1ea;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.07px;
	text-transform: uppercase;
	color: #64748b;
}

.calendar-season-extra-legend ul {
	font-size: 13px;
	line-height: 1.4;
}

.calendar-season-extra-legend li {
	margin-top: 5px;
	padding-left: 20px;
	position: relative;
}

.calendar-season-extra-legend svg {
	position: absolute;
	left: 0;
	top: 3px;
	width: 14px;
	height: 14px;
}

.calendar-smiley-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 4px;
	width: 100%;
	max-width: 1000px;
}

.calendar-smiley-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	background: #f5f9fd;
	border-radius: 4px;
	border-bottom-left-radius: 2px;
	padding: 5px 0;
	overflow: hidden;
}

.calendar-smiley-month {
	font-size: 11px;
	font-weight: bold;
	color: #64748b;
	text-transform: capitalize;
	margin-bottom: 5px;
	letter-spacing: 0.3px;
}

.calendar-smiley-bar {
	position: absolute;
	width: 2px;
	left: 0;
	bottom: 0;
	z-index: -1;
	border-top-right-radius: 6px;
	border-top-left-radius: 6px;
}

.calendar-smiley-score {
	font-size: 11px;
	color: #94a3b8;
	padding: 0 2px;
	margin-top: 5px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	max-width: 100%;
}

.calendar-smiley-icon {
	display: block;
	width: 24px;
	height: 24px;
}

.calendar-season-header {
	font-size: 13px;
	font-weight: bold;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.07px;
}

.calendar-season-wrapper {
	display: flex;
	flex-direction: column-reverse;
	width: 100%;
	margin-top: 1rem;
}

.calendar-season-legend {
	display: flex;
	flex-wrap: wrap;
	margin-top: 10px;
	background: #f5f9fd;
	padding: 10px;
	border-radius: 0.7rem;
	gap: 5px 10px;
}

.calendar-season-legend-item {
	display: flex;
	cursor: help;
	flex: 0 0 calc(50% - 5px);
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: #64748b;
	position: relative;
	z-index: 1;
}

.calendar-season-legend-item svg {
	width: 16px;
	height: 16px;
}

.calendar-season-legend.faceless svg {
	width: 12px;
	height: 12px;
}

.calendar-season-chart-container {
	width: 100%;
}

.calendar-season-bar {
	transition: filter 0.2s;
}

.calendar-season-bar:hover {
	filter: brightness(110%);
}

.calendar-season-labels-container {
	position: relative;
	width: 100%;
	min-height: 20px;
}

.calendar-season-month-label {
	position: absolute;
	padding-top: 3px;
	letter-spacing: 0.3px;
	transform: translateX(-50%);
	font-size: 11px;
	font-weight: bold;
	color: #64748b;
	text-transform: capitalize;
}

.calendar-season-base-line {
	stroke: #cbd5e1;
	stroke-width: 2;
}

.calendar-season-c-best {
	fill: #10b981;
}

.calendar-season-c-alt {
	fill: #34d399;
}

.calendar-season-c-ok {
	fill: #facc15;
}

.calendar-season-c-bad {
	fill: #f97316;
}

.climate-summary-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 3px;
}

.climate-summary-table thead tr {
	background-color: #fff;
	box-shadow: 0 12px 12px rgba(0, 0, 0, 0.03);
}

.climate-summary-table tbody tr {
	background-color: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.climate-summary-table th {
	text-align: left;
	font-size: 13px;
	font-weight: bold;
	text-transform: uppercase;
	color: #64748b;
	border: none;
	vertical-align: middle;
	line-height: 1.3;
	padding-bottom: 10px;
	letter-spacing: 0.07px;
}

.climate-summary-table td {
	padding: 8px 0 8px 0;
	vertical-align: middle;
	border: none;
}

.climate-summary-table th:not(:last-child),
.climate-summary-table td:not(:last-child) {
	padding-right: 9px;
}

.climate-summary-table-month {
	font-weight: bold;
	font-size: 13px;
}

.climate-summary-table-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 30px;
	font-size: 12px;
	white-space: nowrap;
	min-width: 46px;
	justify-content: center;
}

.climate-prec-bottom-note,
.climate-summary-bottom-note {
	font-size: 13px;
	line-height: 1.42;
	font-style: italic;
	color: #64748b;
}

.climate-prec-bottom-note {
	margin-top: 10px;
}

.climate-summary-bottom-note {
	margin-top: 5px;
}

.climate-summary-wrapper {
	overflow-x: auto;
	padding-bottom: 5px;
}

.climate-summary-switch-wrapper {
	margin-bottom: 1.5rem;
}

.climate-summary-wrapper,
.climate-summary-switch-wrapper,
.climate-switch-button,
.climate-switch-button-checkbox + .climate-switch-button-label,
.climate-switch-button-checkbox + .climate-switch-button-label .climate-switch-button-label-span {
	position: relative;
}

.climate-switch-button {
	background: #e2eaf3;
	color: #64748b;
	border-radius: 30px;
	overflow: hidden;
	width: 160px;
	text-align: center;
	font-size: 11px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.07px;
	padding: 3px 83px 3px 3px;
}

.climate-switch-button:before {
	content: attr(data-before);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	pointer-events: none;
}

.climate-switch-button-checkbox {
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 2;
}

.climate-switch-button-checkbox:checked + .climate-switch-button-label:before {
	transform: translateX(80px);
	transition: transform 0.2s;
}

.climate-switch-button-checkbox + .climate-switch-button-label {
	padding: 3px 0;
	display: block;
	user-select: none;
	pointer-events: none;
}

.climate-switch-button-checkbox + .climate-switch-button-label:before {
	content: "";
	background: #fff;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 30px;
	transform: translateX(0);
	transition: transform 0.2s;
}

.place-months-list {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}

.forecast-sticky-menu.climate-menu {
	padding: 1rem;
	border-radius: 0.7rem;
	background: linear-gradient(#e5f2ff, #fff);
}

.forecast-sticky-menu.climate-menu h2 {
	margin: 0;
	line-height: 1.4;
}

.forecast-sticky-menu.climate-menu p {
	font-size: 14px;
	margin: 0.6rem 0 1.1rem 0;
	line-height: 1.42;
	color: #64748b;
}

.forecast-sticky-menu.climate-menu a {
	font-size:13px;
	font-weight: 400;
	text-transform: none;
	color: #fff;
	text-align: center;
	background: var(--blue-text-color);
	padding: 6px;
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background 0.25s;
	border: 0;
	letter-spacing: 0;
}

.forecast-sticky-menu.climate-menu a:hover {
	background: #225dab;
}

.best-worst-month {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	column-gap: 3%;
}

.best-worst-month > div {
	position: relative;
	overflow: hidden;
	flex: 0 0 48.5%;
	max-width: 48.5%;
	border-radius: 0.4rem;
	padding: 1.2rem 0.5rem 1.2rem 100px;
	min-height: 95px;
	line-height: 1.4;
}

.best-worst-month > div:first-child {
	background: linear-gradient(90deg, #fff3ec, rgba(255, 255, 255, 0.65));
}

.best-worst-month > div:last-child {
	background: linear-gradient(90deg, #eef8ff, rgba(255, 255, 255, 0.65));
}

.best-worst-month > div:before {
	content: attr(data-status);
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	writing-mode: vertical-lr;
	bottom: 0;
	text-align: center;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: bold;
	color: #fff;
	padding: 0 5px;
	letter-spacing: 0.6px;
}

.best-worst-month > div:first-child:before {
	background: linear-gradient(180deg, color-mix(in srgb, #f15a24 82%, #fff), #f15a24);
}

.best-worst-month > div:last-child:before {
	background: linear-gradient(180deg, color-mix(in srgb, #1677c9 82%, #fff), #1677c9);
}

.best-worst-month > div:after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	border-radius: 0.4rem;
	pointer-events: none;
}

.best-worst-month > div:first-child:after {
	border: 1px solid #ffd8c7;
}

.best-worst-month > div:last-child:after {
	border: 1px solid #cde9ff;
}

.best-worst-month > div > strong {
	font-size: 16px;
	display: block;
	margin-top: -5px;
	margin-bottom: 5px;
}

.best-worst-month ul {
	font-size: 15px;
	list-style: outside;
	padding-left: 1rem;
}

.best-worst-month ul li:first-child {
	margin: 0 0 2px 0;
}

.best-worst-month > div:first-child li::marker {
	color: #f37548;
}

.best-worst-month > div:last-child li::marker {
	color: #3c8cd2;
}

.best-worst-month .thermometer {
	left: 40px;
	width: 48px;
	height: auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.5;
}

.best-worst-month > div:last-child .thermometer {
	transform: translateY(-50%) scaleY(-1);
}

.best-worst-month .bg-icon {
	position: absolute;
	top: 5px;
	right: 5px;
	height: 48px;
	width: 48px;
	opacity: 0.07;
	animation: bg-rotate 25s linear infinite;
}

.rsidebar.pink {
	--rsidebar-bg: #fff7f5;
	--rsidebar-hover: #fff7f4;
	--rsidebar-dot: #eecdbf;
	--rsidebar-circle: #ffeae2;
	--rsidebar-border: rgba(232, 193, 177, 0.5);
	--rsidebar-border2: rgb(232, 193, 177);
	--rsidebar-icon: #ff6c32;
	--rsidebar-icon-bg: #ffeeea;
}

.rsidebar.blue {
	--rsidebar-bg: #eef6ff;
	--rsidebar-hover: #edf6ff;
	--rsidebar-dot: #bad2ee;
	--rsidebar-circle: #ddecff;
	--rsidebar-border: rgba(170, 199, 232, 0.55);
	--rsidebar-border2: #aac7e8;
	--rsidebar-icon: #8aa1ba;
	--rsidebar-icon-bg: #dcebff;
}

.rsidebar {
	position: relative;
	z-index: 1;
	overflow: hidden;
	border-radius: 0.7rem;
	background: var(--rsidebar-bg);
	padding: 1.5rem 1rem;
}

.rsidebar:before {
	content: "";
	position: absolute;
	left: 50%;
	top: -30px;
	width: 45px;
	height: 42px;
	background: var(--rsidebar-dot);
	color: transparent;
	border-radius: 50%;
	transform: translateX(-50%);
	z-index: 0;
}

.rsidebar:after {
	content: "";
	position: absolute;
	background: var(--rsidebar-circle);
	border-radius: 600px;
	display: block;
	width: 120%;
	height: 300%;
	left: -10%;
	top: -230%;
	z-index: -1;
}

.rsidebar-header {
	font-size: 18px;
	font-weight: bold;
	margin: 1rem 0 1.5rem 0;
	text-align: center;
	line-height: 1.45;
}

.rsidebar-header-sm {
	text-transform: uppercase;
	margin: 0 0 10px 0;
	letter-spacing: 0.07px;
	color: #64748b;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.45;
}

.rsidebar-desc {
	font-size: 14px;
	margin: -0.5rem 0 1.5rem 0;
	text-align: center;
	line-height: 1.35;
}

.rsidebar ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.rsidebar.column2 ul {
	grid-template-columns: repeat(2, 1fr);
}

.rsidebar li {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rsidebar li a {
	position: relative;
	display: block;
	height: 34px;
	line-height: 34px;
	font-size: 14px;
	background: #fff;
	padding: 0 6px 0 38px;
	border-radius: 600px;
	overflow: hidden;
	text-overflow: ellipsis;
	border: 1px solid var(--rsidebar-border);
}

.rsidebar.image li a {
	padding: 0 6px 0 34px;
}

.rsidebar a span {
	font-weight: bold;
}

.rsidebar:not(.image) li a:before {
	content: "";
	position: absolute;
	left: 7px;
	top: 50%;
	width: 18px;
	height: 18px;
	transform: translateY(-50%);
	-webkit-mask: var(--rsidebar-pic) center / contain no-repeat;
	mask: var(--rsidebar-pic) center / contain no-repeat;
	background-color: var(--rsidebar-icon);
	z-index: 1;
}

.rsidebar.image li a:before {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	background: var(--rsidebar-pic) center / contain no-repeat;
	z-index: 1;
}

.rsidebar:not(.image) li a:after {
	content: "";
	position: absolute;
	left: 3px;
	top: 50%;
	width: 26px;
	height: 26px;
	transform: translateY(-50%);
	background: var(--rsidebar-icon-bg);
	z-index: 0;
	border-radius: 40px;
}

.rsidebar:not(.image) li a:hover:before {
	background-color: var(--secondary-text-color);
}

.rsidebar li a:hover {
	border-color: var(--rsidebar-border2);
}

.chart-table {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 240px;
	gap: 25px;
	align-items: stretch;
}

.chart-table-left,
.chart-table-right {
	position: relative;
	overflow: hidden;
	border-radius: 0.7rem;
	border: 1px solid #dfe8f1;
}

.chart-table-left {
	padding: 1rem 1rem 0 1rem;
	align-content: center;
}

.chart-table table {
	margin: 0 auto;
	width: 100%;
	line-height: 1.3;
	font-size: 14px;
}

.chart-table .bold {
	font-weight: bold;
}

.chart-table .orange {
	color: #ff4800;
}

.chart-table .blue {
	color: #2d75d2;
}

.chart-table table th {
	text-align: center;
	padding: 15px 3px;
	vertical-align: middle;
	background: #edf2f7;
}

.chart-table table th:first-child {
	text-align: left;
	padding-left: 10px;
}

.chart-table table td {
	white-space: nowrap;
	padding: 6px 8px;
	vertical-align: middle;
}

.chart-table table td:first-child {
	padding-left: 10px;
}

.chart-table table td:last-child {
	padding-right: 10px;
}

.chart-table td:nth-child(n+2) {
	text-align: right;
}

.chart-table table tr td {
	border-top: 1px solid #ecf2f7;

}

.chart-cta {
	margin-top: 25px;
	padding: 1rem 1.2rem;
	border-radius: 0.7rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 14px;
	gap: 7px;
	line-height: 1.35;
	background: radial-gradient(circle at 0 0, #edf4fb 120px, transparent 121px ), #fafcff;
	border: 1px solid #edf4fb;
}
.chart-cta img {
	margin-right: 8px;
	width: 30px;
	height: 30px;
	border-radius:50%;
	background-color:#fff;
	padding:5px;
}
.chart-cta i {
	font-style: normal;
	color: #64748b;
}

.temp-spectrum table {
	width: 100%;
	position: relative;
}

.temp-spectrum table {
	border-collapse: separate;
	border-spacing: 3px 0;
	width: calc(100% + 6px);
	margin-left: -3px;
}

.temp-spectrum td {
	border-radius: 0.7rem;
}

.temp-spectrum td {
	text-align: center;
	font-size: 14px;
	width: calc(100%/12);
	padding: 1.8rem 0;
}

.temp-spectrum tr:last-child td {
	text-transform: capitalize;
	font-size: 11px;
	font-weight: bold;
	padding: 0.3rem 0 0 0;
	color: #64748b;
}

@keyframes bg-rotate {
	from {
		rotate: 0deg;
	}

	to {
		rotate: 360deg;
	}
}

.sea-extremes {
	position: relative;
	--sea-warm: #f15a24;
	--sea-warm-soft: #fff3ec;
	--sea-warm-border: #ffd8c7;
	--sea-cool: #1677c9;
	--sea-cool-soft: #eef8ff;
	--sea-cool-border: #cde9ff;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
}

.sea-extremes-card.is-warmest {
	--accent: var(--sea-warm);
	--accent-soft: var(--sea-warm-soft);
	--accent-border: var(--sea-warm-border);
	--wave-1: #fceee4;
	--wave-2: #f7dfcf;
	--wave-3: #efccb7;
	order: 2;
}

.sea-extremes-card.is-coldest {
	--accent: var(--sea-cool);
	--accent-soft: var(--sea-cool-soft);
	--accent-border: var(--sea-cool-border);
	--wave-1: #eaf3ff;
	--wave-2: #dceaff;
	--wave-3: #c8dcf8;
	order: 1;
}

.sea-extremes-card {
	position: relative;
	z-index: 1;
	overflow: hidden;
	padding: 1.2rem 1.4rem 0 1.4rem;
	border-radius: 0.7rem;
	background: linear-gradient(45deg, var(--accent-soft), rgba(255, 255, 255, 0.65));
	border: 1px solid var(--accent-border);
}

.sea-widget-fg {
	position: relative;
	z-index: 1;
	isolation: isolate;
}

.sea-widget-bg {
	position: absolute;
	top: 0;
	right: -40px;
	left: 0;
	height: auto;
	z-index: -1;
	pointer-events: none;
}

.sea-widget-bg path:nth-child(1) {
	fill: var(--wave-1);
	opacity: 0.9;
}

.sea-widget-bg path:nth-child(2) {
	fill: var(--wave-2);
	opacity: 0.3;
}

.sea-widget-bg path:nth-child(3) {
	fill: var(--wave-3);
	opacity: 0.15;
}

.sea-extremes-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin: 0 0 26px 0;
	padding: 7px 14px;
	border-radius: 50px;
	font-size: 11px;
	line-height: 1.3;
	letter-spacing: 0.2px;
	color: var(--accent);
	font-weight: bold;
	background: #fff;
	text-transform: uppercase;
}

.sea-extremes-title {
	font-size: calc(1.3rem * var(--text-multiplier));
	font-weight: bold;
	line-height: 1.4;
}

.sea-extremes-title::after {
	content: "";
	display: block;
	width: 36px;
	height: 3px;
	margin-top: 7px;
	border-radius: 10px;
	background: var(--accent);
}

.sea-extremes-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	margin-top: 30px;
}

.sea-extremes-stat + .sea-extremes-stat {
	padding-left: 26px;
	border-left: 1px solid #dbe7f3;
}

.sea-extremes-stat {
	white-space: nowrap;
	overflow: hidden;
}

.sea-extremes-label {
	text-transform: uppercase;
	margin: 0 0 9px 0;
	color: #64748b;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.07px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sea-extremes-label.line {
	margin: 1px 0 8px 0;
	color: var(--accent);
}

.sea-extremes-value,
.sea-extremes-range {
	font-size: 30px;
	font-weight: bold;
	line-height: 0.95;
	white-space: nowrap;
	color: var(--accent);
}

.sea-extremes-range span {
	margin: 0 -7px;
	font-weight: 400;
	line-height: 0.85;
}

.sea-extremes-caption {
	display: block;
	margin-top: 8px;
	color: #64748b;
	font-size: 13px;
	line-height: 1.2;
}

.sea-extremes-desc {
	font-size: 15px;
	line-height: 1.48;
	margin: 20px 0 0 0;
}

.sea-extremes-note-container {
	position: relative;
	z-index: 1;
	margin-top: 20px;
	padding: 1rem;
}

.sea-extremes-note-container:after {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	top: 0;
	bottom: -999px;
	border-top-left-radius: 0.7rem;
	border-top-right-radius: 0.7rem;
	background: rgba(255, 255, 255, 0.8);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
	border: 1px solid var(--accent-border);
}

.sea-extremes-note {
	display: flex;
	align-items: center;
	gap: 15px;
	line-height: 1.45;
}

.sea-extremes-note-icon img {
	max-width: none;
	width: 46px;
	height: 46px;
	padding: 10px;
	border-radius: 46px;
	background: var(--accent-border);
	opacity: 0.8;
}

.sea-extremes-note-text {
	font-size: 14px;
}

.details-extra {
	margin-top: 8px;
}

.details-extra summary {
	font-size: 13px;
	cursor: pointer;
	color: #64748b;
}

.details-extra[open] {
	padding: 12px;
	border-radius: 0.7rem;
	background: #f5f9fd;
	border: 1px solid #e9eef4;
	overflow: hidden;
	margin-top: 10px;
}

.details-extra[open] summary {
	font-weight: bold;
	color: initial;
	background: #e9eef4;
	margin: -12px -12px 12px -12px;
	padding: 6px 10px;
}

.details-extra p {
	font-size: 13px;
	margin-top: 6px;
	line-height: 1.55;
}

.climate-calendar-warnings {
	border: 1px solid #ffdacb;
	background: #fff7f5;
	padding: 16px 10px 9px 12px;
	border-radius: 0.7rem;
	position: relative;
}

.climate-calendar-warnings-header,
.climate-calendar-warnings ul {
	font-size: 14px;
}

.climate-calendar-warnings-header {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 90%;
	margin: 0;
	line-height: 22px;
	border-radius: 0.6rem;
	padding: 2px 10px 2px 9px;
	position: absolute;
	background: #ffe6dc;
	border: 1px solid #ffdacb;
	left: 12px;
	top: -14px;
}

.climate-calendar-warnings-header img {
	width: 22px;
	height: 22px;
	margin-right: 5px;
}

.climate-calendar-warnings ul {
	list-style: disc outside;
	padding-left: 1rem;
	line-height: 1.45;
}

.climate-calendar-warnings li::marker {
	color: #9e4f30;
}

.climate-calendar-warnings li {
	margin-top: 5px;
}

.snow-share-card {
	padding: 1rem 1.2rem;
	border-radius: 0.7rem;
	background: #eaf3fb;
	overflow: hidden;
}

.yearly-prec-by-type {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 7px 0 20px 0;
	gap: 15px;
}

.yearly-prec-by-type__title {
	display: flex;
	align-items: center;
	font-size: 15px;
	line-height: 1.35;
}

.yearly-prec-by-type__title strong {
	white-space: nowrap;
}

.yearly-prec-by-type__items {
	display: flex;
	align-items: center;
	gap: 5px 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
	color: #245d91;
	line-height: 1.3;
	font-size: 14px;
}

.yearly-prec-by-type__subtitle {
	font-weight: bold;
}

.yearly-prec-by-type__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.yearly-prec-by-type__item img {
	width: 20px;
	height: 20px;
	display: inline-block;
	border-radius: 20px;
	padding: 4px;
	background: #5f9fda;
}

.snow-heatmap {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
}

.snow-heatmap__tile {
	position: relative;
	overflow: hidden;
	min-height: 78px;
	padding: 10px 12px;
	border: 0;
	border-radius: 0.7rem;
	background: var(--tile-bg, #f8fbff);
	color: var(--tile-fg, #245d91);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	text-align: left;
	box-shadow: none;
	font-variant-numeric: tabular-nums;
}

.snow-heatmap__tile::after {
	content: "";
	position: absolute;
	right: 11px;
	top: 10px;
	width: 26px;
	height: 26px;
	background: var(--snowflake-icon, url("/assets/img/weather/snowflake-blue.svg")) no-repeat center / contain;
	opacity: var(--snowflake-opacity, 0.1);
	pointer-events: none;
}

.snow-heatmap__month {
	position: relative;
	z-index: 1;
	margin-bottom: 7px;
	font-size: 13px;
	line-height: 1.2;
	color: var(--tile-month, currentColor);
}

.snow-heatmap__value {
	position: relative;
	z-index: 1;
	margin-bottom: 9px;
	font-size: 22px;
	line-height: 1;
	font-weight: bold;
	color: var(--tile-value, currentColor);
}

.snow-heatmap__bar {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 5px;
	border-radius: 999px;
	background: var(--bar-bg, #e3edf7);
	overflow: hidden;
}

.snow-heatmap__bar-fill {
	display: block;
	width: var(--snow-share, 0%);
	height: 100%;
	border-radius: inherit;
	background: var(--bar-fill, #4d91d8);
}

.snow-heatmap__tile.is-very-high {
	--tile-bg: #5f9fda;
	--tile-fg: #fff;
	--tile-month: rgba(255, 255, 255, 0.94);
	--tile-value: #fff;
	--bar-bg: rgba(255, 255, 255, 0.28);
	--bar-fill: #fff;
	--snowflake-icon: url("/assets/img/weather/snowflake-white.svg");
	--snowflake-opacity: 0.16;
}

.snow-heatmap__tile.is-high {
	--tile-bg: #82bce8;
	--tile-fg: #fff;
	--tile-month: rgba(255, 255, 255, 0.96);
	--tile-value: #fff;
	--bar-bg: rgba(255, 255, 255, 0.3);
	--bar-fill: #fff;
	--snowflake-icon: url("/assets/img/weather/snowflake-white.svg");
	--snowflake-opacity: 0.15;
}

.snow-heatmap__tile.is-medium-high {
	--tile-bg: #b9d8ef;
	--tile-fg: #245d91;
	--tile-month: #245d91;
	--tile-value: #245d91;
	--bar-bg: rgba(77, 145, 216, 0.18);
	--bar-fill: #4f93d8;
	--snowflake-opacity: 0.15;
}

.snow-heatmap__tile.is-medium-low {
	--tile-bg: #d1e5f6;
	--tile-fg: #285d8f;
	--tile-month: #285d8f;
	--tile-value: #285d8f;
	--bar-bg: rgba(77, 145, 216, 0.14);
	--bar-fill: #6faee5;
	--snowflake-opacity: 0.13;
}

.snow-heatmap__tile.is-low {
	--tile-bg: #f8fbff;
	--tile-fg: #315f8d;
	--tile-month: #315f8d;
	--tile-value: #315f8d;
	--bar-bg: #e1ebf5;
	--bar-fill: #91c0ea;
	--snowflake-opacity: 0.085;
}

.snow-heatmap__tile.is-very-low {
	--tile-bg: #fff;
	--tile-fg: #315f8d;
	--tile-month: #315f8d;
	--tile-value: #245d91;
	--bar-bg: #e5edf5;
	--bar-fill: #b3d3ef;
	--snowflake-opacity: 0.08;
}

.snow-heatmap-legend {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 12px 0 0 0;
	font-size: 11px;
	line-height: 1.3;
	color: #8894a6;
	font-style: italic;
	max-width: 420px;
}

.snow-heatmap-legend__label {
	white-space: nowrap;
}

.snow-heatmap-legend__scale {
	display: block;
	flex: 1;
	height: 6px;
	border-radius: 99px;
	background: linear-gradient(90deg, #fff 0%, #dcecf8 22%, #cfe5f6 42%, #b8d8f0 62%, #8fc2ec 82%, #5f9fda 100%);
}

.weather-extra-item-cloudiness {
	--accent: #2d75d2;
	--accent2: #1f5fae;
	--accent-soft: #f5f9fe;
	--accent-border: #dcebf8;
}

.weather-extra-item-wind {
	--accent: #7c5fc4;
	--accent2: #4a3289;
	--accent-soft: #f8f7ff;
	--accent-border: #e4ddfb;
}

.weather-extra-item-humidity {
	--accent: #0891b2;
	--accent2: #0e7490;
	--accent-soft: #f3fcff;
	--accent-border: #c9eef6;
}

.weather-extra-item-daylight {
	--accent: #f97316;
	--accent2: #ce5500;
	--accent-soft: #fff8f0;
	--accent-border: #fee5c8;
}

.weather-extra-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(235px, .72fr);
	grid-template-areas:
		"main chart"
		"stats stats";
	gap: 1rem 2rem;
}

.weather-extra-item.no-chart {
	grid-template-columns: 1fr;
	gap: 1rem 0;
}

.weather-extra-item + .weather-extra-item {
	margin-top: 2.5rem;
}

.weather-extra-main {
	grid-area: main;
}

.weather-extra-main p + p {
	margin-top: 1rem;
}

.weather-extra-main .weather-extra-metric-note {
	font-size: 13px;
	font-style: italic;
	line-height: 1.42;
	color: #64748b;
}

.weather-extra-chart-box {
	grid-area: chart;
	align-self: start;
	min-width: 0;
	padding: 1rem 0.7rem;
	margin-top: 5px;
	border-radius: 0.7rem;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.03);
	border: 1px solid #dfe8f1;
}

.weather-extra-chart-title {
	margin-bottom: 1rem;
	font-size: 14px;
	line-height: 1.3;
	font-weight: bold;
}

.weather-extra-chart {
	position: relative;
	width: 100%;
	height: 150px;
}

.weather-extra-stats {
	grid-area: stats;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
	margin: 1rem 0 0 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.weather-extra-stats-has-groups {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.weather-extra-stat,
.weather-extra-stat-group {
	min-width: 0;
	border-radius: 0.7rem;
	background: var(--accent-soft);
	border: 1px solid color-mix(in srgb, var(--accent-border) 60%, transparent);
}

.weather-extra-stat {
	display: grid;
	grid-template-columns: 1fr;
	align-content: center;
	min-height: 66px;
	padding: 10px 14px;
}

.weather-extra-stat-label {
	display: block;
	margin-bottom: 4px;
	text-transform: uppercase;
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.07px;
	font-weight: bold;
	line-height: 1.35;
}

.weather-extra-stat-value {
	display: block;
	font-size: 15px;
	line-height: 1.35;
	font-weight: bold;
	overflow-wrap: anywhere;
}

.weather-extra-stat-note {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 2px;
	color: var(--accent2);
	font-size: 13px;
	font-weight: bold;
}

.weather-extra-stat-note-icon {
	width: 14px;
	height: 14px;
}

.weather-extra-stat-group {
	display: grid;
	align-content: start;
	gap: 1rem;
	padding: 10px 14px;
}

.weather-extra-stat-group-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.weather-extra-stat-group-icon {
	width: 20px;
	height: 20px;
}

.weather-extra-stat-group-title {
	min-width: 0;
	font-size: 16px;
	line-height: 1.3;
	font-weight: bold;
}

.weather-extra-stat-group-items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 0;
}

.weather-extra-stat-group-param {
	padding-right: 15px;
}

.weather-extra-stat-group-param + .weather-extra-stat-group-param {
	padding-left: 15px;
	border-left: 1px solid var(--accent-border);
}

.weather-extra-stat-group-param .weather-extra-stat-note {
	margin-top: 5px;
	font-size: 15px;
	padding: 0 6px;
	border-radius: 0.4rem;
	max-width: fit-content;
	background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.weather-extra-stat-group-param .weather-extra-stat-note-icon {
	width: 15px;
	height: 15px;
}

.weather-extra-stat-compact {
	min-height: 58px;
	padding-top: 8px;
	padding-bottom: 8px;
}

.weather-extra-stat-large-note .weather-extra-stat-note {
	font-size: 16px;
}

.weather-extra-stat-group-compact {
	min-height: 104px;
	padding: 14px 16px;
}

.weather-extra-stat-group-muted {
	background: color-mix(in srgb, var(--stat-bg) 75%, white);
}

.climate-sidebar-summary ul {
	gap: 0.5rem;
}

.climate-sidebar-summary li {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"label  label"
		"months value";
	column-gap: 12px;
	row-gap: 5px;
	align-items: end;
	white-space: normal;
	padding: 10px 12px;
	box-shadow: 0 0 0 1px var(--rsidebar-circle);
	background: #fff;
	border-radius: 0.7rem;
}

.climate-sidebar-summary li span:first-child {
	grid-area: label;
	font-size: 11px;
	font-weight: bold;
	color: #426d9b;
	text-transform: uppercase;
	letter-spacing: 0.07px;
}

.climate-sidebar-summary li span:last-child {
	grid-area: value;
	justify-self: end;
	align-self: center;
	white-space: nowrap;
	padding: 3px 8px;
	background: #95a3b5;
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.3;
	max-width: 150px;
	overflow: hidden;
	text-overflow: ellipsis;
	border-radius: 50px;
}

.climate-sidebar-summary li span.tick:last-child {
	padding: 0;
	width: 21px;
	height: 21px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.climate-sidebar-summary li strong {
	grid-area: months;
	min-width: 0;
	font-size: 14px;
	line-height: 1.3;
	align-self: center;
}

.travel-planner {
	position:relative;
	padding: 20px;
	border-radius: 0.7rem;
	overflow: hidden;
	border: 1px solid #e8f1fa;
	background: linear-gradient(125deg, #edf6ff 0%, #f7fbff 58%, #edf6fc 100%);
}
.travel-planner > div, 
.travel-planner > h4 {
	position:relative;
	z-index:1;
}
.travel-planner-header-image {
	display: block;
	position: absolute;
	pointer-events: none;
	right: 0;
	object-fit: cover;
	object-position: right center;
	z-index: 0;
	top: -20px;
	width: 560px;
	height: 220px;
	max-width: 70%;
	opacity: 0.5;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 42%), linear-gradient(to bottom, transparent, #000 20%, #000 64%, transparent);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to right, transparent, #000 42%), linear-gradient(to bottom, transparent, #000 20%, #000 64%, transparent);
	mask-composite: intersect;
}
.travel-planner-head {
	margin-bottom: 1.5rem;
}

.travel-planner-head h3 {
	margin: 0 0 0.5rem 0;
}

.travel-planner-tag {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 14px;
	padding: 7px 12px;
	border-radius: 50px;
	background: #deedfc;
	color: #2b6494;
	font-size: 11px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.travel-planner-tag img {
	flex: 0 0 18px;
}
.travel-planner-subtitle {
	font-size: 14px;
	line-height: 1.5;
	color: #405770;
	padding-right:180px;
}

.travel-planner-block-title {
	margin-bottom: 1rem;
	color: #64748b;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.07px;
	text-transform: uppercase;
}

.travel-planner-advice-title {
	margin-top: 1.5rem;
}

.travel-purpose-list,
.travel-advice-list {
	display: grid;
	gap: 10px;
}

.travel-purpose-item,
.travel-advice-item {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) minmax(140px, 220px);
	gap: 1rem;
	align-items: start;
	padding: 1rem;
	overflow: hidden;
	border-radius: 0.7rem;
	background: #fff;
	box-shadow: 0 1px 2px rgba(31, 55, 78, 0.035), 0 5px 14px rgba(31, 55, 78, 0.045);
}

.travel-purpose-item,
.travel-advice-item {
	grid-template-areas:
		"icon title period"
		"icon desc period";
	column-gap: 1rem;
	row-gap: 6px;
}

.travel-purpose-icon,
.travel-advice-icon {
	display: block;
	width: 42px;
	height: 42px;
	border: 8px solid transparent;
	border-radius: 50%;
	background: #e7f2fb;
}

.travel-purpose-icon,
.travel-advice-icon {
	grid-area: icon;
}

.travel-advice-item-warning .travel-advice-icon {
	background: #ffe8e8;
}

.travel-advice-item-info .travel-advice-icon {
	background: #fff2e8;
}

.travel-purpose-period,
.travel-advice-period {
	min-width: 0;
}

.travel-purpose-title,
.travel-advice-title {
	font-size: 15px;
	line-height: 1.35;
}

.travel-purpose-title,
.travel-advice-title {
	grid-area: title;
	min-width: 0;
	margin: 0;
}

.travel-purpose-desc,
.travel-advice-desc {
	grid-area: desc;
	min-width: 0;
	margin: 0;
}

.travel-purpose-period,
.travel-advice-period {
	justify-self: end;
	max-width: 220px;
	text-align: right;
	margin-top:3px;
}

.travel-purpose-period,
.travel-advice-period {
	grid-area: period;
}

.travel-purpose-period .travel-card-period,
.travel-advice-period .travel-card-period {
	margin-bottom: 0;
}

.travel-purpose-excluded {
	color: #b81919;
	font-size: 11px;
	line-height: 1.42;
	margin: 0;
}

.travel-card-period + .travel-purpose-excluded {
	margin-top: 5px;
}

.travel-card-period {
	display: inline;
	padding: 4px 9px;
	border-radius: 50px;
	font-size: 11px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.travel-card-period-good {
	background: #dbf5ec;
	color: #066344;
}

.travel-card-period-warning {
	background: #ffe5e5;
	color: #af2038;
}

.travel-card-period-info {
	background: #fff1e5;
	color: #b85b19;
}

.travel-card-desc,
.travel-card-list li {
	color: #64748b;
	font-size: 13.5px;
	line-height: 1.45;
}

.travel-card-list {
	display: grid;
	gap: 1px;
	margin-top: 0;
	list-style: disc outside;
	padding-left: 1rem;
}

.travel-card-list li::marker {
	color: #cd5c5c;
}

.pcw-container .pcw-layout {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr);
    grid-template-rows: 1fr auto auto 1fr;
    column-gap: 38px;
    padding: 2rem;
    border-radius: 0.7rem;
    background: #eef6ff;
}
.pcw-container .pcw-intro,
.pcw-container .pcw-figure,
.pcw-container .pcw-action {
    z-index: 1;
    min-width: 0;
}
.pcw-container .pcw-intro,
.pcw-container .pcw-action {
    grid-column: 2;
    width: 100%;
    max-width: 360px;
    justify-self: center;
}
.pcw-container .pcw-intro {
    grid-row: 2;
}
.pcw-container .pcw-eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 1.2rem;	
	color: #3b6b9a;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}
.pcw-container .pcw-badge {
    display: grid;
    place-items: center;
    flex: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
	background: #fff;
}
.pcw-container .pcw-badge img {
	width:18px;
	height:18px;
}
.pcw-container .pcw-intro h2 {
    margin: 0 0 1rem;
    font-size: clamp(24px, 4vw, 34px);
    line-height: 1.2;
    text-wrap: balance;
}
.pcw-container .pcw-intro p {
    color: #64748b;
    font-size: 16px;
    text-wrap: pretty;
}
.pcw-container .pcw-figure {
    grid-column: 1;
    grid-row: 1 / -1;
    align-self: center;
}
.pcw-container .pcw-image {
    display: block;
    padding: 5px;
    border-radius: 0.7rem;
    background: #fff;
    box-shadow: 0 10px 30px rgba(40, 79, 122, 0.047), 0 1px 3px rgba(40, 79, 122, 0.016);
    cursor: zoom-in;
}
.pcw-container .pcw-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto 1200 / 920;
    border-radius: 0.7rem;
}
.pcw-container .pcw-action {
    grid-row: 3;
	margin-top:1.8rem;
}
.pcw-container .pcw-primary {
    max-width: 100%;
}
.pcw-container .pcw-layout::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 210px;
    height: 195px;
    border-radius: 0 0 0 100%;
    background: #e3effc;
    pointer-events: none;
}

@media (max-width: 1200px) {
	.chart-table {
		grid-template-columns: minmax(0, 1fr) 230px;
		gap: 20px;
	}

	.chart-cta {
		margin-top: 20px;
	}

	.temp-spectrum tr:first-child td {
		font-size: 13px;
	}
}

@media (min-width: 1000px) {
	.calendar-season-legend-item:hover:before {
		content: "";
		position: absolute;
		z-index: -1;
		left: -2px;
		right: -2px;
		top: -1px;
		bottom: -1px;
		background: #e0e5ed;
		border-radius: 4px;
	}

	.calendar-season-chart-container > svg > g > path {
		transition: transform 0.3s ease, opacity 0.3s ease;
		transform-origin: bottom;
	}

	.calendar-season-legend:has(.calendar-season-legend-item.best:hover) ~ .calendar-season-chart-container > svg > g > path:not(.calendar-season-c-best),
	.calendar-season-legend:has(.calendar-season-legend-item.alt:hover) ~ .calendar-season-chart-container > svg > g > path:not(.calendar-season-c-alt),
	.calendar-season-legend:has(.calendar-season-legend-item.ok:hover) ~ .calendar-season-chart-container > svg > g > path:not(.calendar-season-c-ok),
	.calendar-season-legend:has(.calendar-season-legend-item.bad:hover) ~ .calendar-season-chart-container > svg > g > path:not(.calendar-season-c-bad) {
		transform: scaleY(0);
		opacity: 0;
	}
}

@media (min-width: 1000px) and (max-width: 1100px) {
	.best-worst-month .thermometer {
		display: none;
	}

	.best-worst-month > div {
		padding-left: 3rem;
	}

	.weather-extra-item {
		gap: 1rem;
	}
}

@media ((max-width: 419px) or ((min-width: 639.6px) and (max-width: 800px)) or ((min-width: 1000px) and (max-width: 1151px))) {
	.sea-extremes {
		gap: 15px;
	}

	.sea-extremes-card {
		padding: 1.2rem 1rem 0 1rem;
	}

	.sea-extremes-value,
	.sea-extremes-range {
		font-size: 28px;
	}

	.sea-extremes-stats {
		gap: 10px;
	}

	.sea-extremes-stat + .sea-extremes-stat {
		padding-left: 10px;
	}

	.sea-extremes-desc {
		font-size: 14px;
	}

	.sea-extremes-note-icon {
		display: none;
	}
}

@media (max-width: 999px) {
	.climate-summary-table th:first-child,
	.climate-summary-table td:first-child {
		position: sticky;
		left: 0;
		background: #fff;
	}

	.climate-prec-bottom-note,
	.climate-summary-bottom-note {
		font-size: 12px;
	}

	.sea-extremes-card {
		max-width: 380px;
		margin: 0 auto;
	}

	.rsidebar ul {
		grid-template-columns: repeat(2, 1fr);
	}

	.rsidebar.column2 ul {
		grid-template-columns: repeat(3, 1fr);
	}

	.page-container.first {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		max-width: 100%;
	}

	.page-container.first .page-content,
	.page-container.first .page-sidebar {
		display: contents;
	}

	.page-container.first .page-sidebar .page-sticky {
		margin-top: 3.5rem;
	}

	.page-container.first .page-content > *,
	.page-container.first .page-sidebar > * {
		min-width: 0;
		max-width: 100%;
	}

	.page-container.first .page-content > * {
		order: 20;
	}

	.page-container.first .page-sidebar > * {
		order: 40;
	}

	.page-container.first .page-content > h1 {
		order: 1;
	}

	.page-container.first .page-content > .coords-box {
		order: 2;
	}

	.page-container.first .page-content > .sticky-climate-placeholder {
		order: 3;
	}

	.page-container.first .page-content > #climateMenu {
		order: 4;
	}

	.page-container.first .page-sidebar > .rsidebar {
		order: 5;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 2rem 0 0 0;
		border-radius: 0;
		background: none;
		border: 0;
		padding: 0;
	}

	.page-container.first .page-sidebar > .rsidebar:after,
	.page-container.first .page-sidebar > .rsidebar:before {
		display: none;
	}

	.page-container.first .page-sidebar > .rsidebar .rsidebar-header {
		position: relative;
		text-align: left;
		margin: 0 0 10px 0;
		font-size: 15px;
		font-weight: bold;
	}

	.page-container.first .page-sidebar > .rsidebar ul {
		grid-template-columns: unset;
		grid-auto-flow: column;
		grid-auto-columns: max-content;
		overflow-x: auto;
		overflow-y: hidden;
		position: relative;
		padding-bottom: 5px;
		padding-right: 3px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		scroll-snap-type: x mandatory;
		overscroll-behavior-inline: contain;
		gap: 12px;
	}

	.page-container.first .page-sidebar > .rsidebar ul::-webkit-scrollbar {
		display: none;
	}

	.page-container.first .page-sidebar .climate-sidebar-summary li {
		scroll-snap-align: start;
		align-content: start;
		padding: 12px;
		border: 1px solid var(--rsidebar-border);
		box-shadow: 0 3px 4px rgba(30, 75, 130, 0.06);
	}

	.page-container.first .page-sidebar .climate-sidebar-summary li strong {
		max-width: 260px;
	}

	.page-container.first .page-content > .section-climate-calendar {
		order: 10;
	}

	.page-container.first .page-sidebar > .summary-data-map {
		order: 60;
		width: 100%;
		max-width: 100%;
		margin-top: 3.5rem;
	}

	.page-container.first .page-sidebar > .ad-panel {
		order: 70;
		width: 100%;
		max-width: 100%;
		margin-bottom: 0;
	}
	.pcw-container .pcw-layout { 
		padding:1.2rem;
	}
	.pcw-container .pcw-intro p {
		font-size: 14px;
	}
	.pcw-container .pcw-layout {
        column-gap: 28px;
    }
	.pcw-container .pcw-intro h2 {
		font-size: clamp(24px, 3.8vw, 32px);
	}
	.pcw-container .pcw-eyebrow {
		font-size: 12px;
		margin-bottom: 1rem;
	}
	.pcw-container .pcw-badge {
		width: 28px;
		height: 28px;
	}
	.pcw-container .pcw-badge img {
		width: 16px;
		height: 16px;
	}
}

@media (max-width: 720px) {
	.weather-extra-item {
		gap: 1rem;
	}

	.weather-extra-stat-group-items {
		grid-template-columns: 1fr;
		gap: 1rem 0;
	}

	.weather-extra-stat-group-param {
		padding-right: 0;
	}

	.weather-extra-stat-group-param + .weather-extra-stat-group-param {
		padding-left: 0;
		border-left: 0;

		padding-top: 1rem;
		border-top: 1px solid var(--accent-border);
	}

	.snow-share-card {
		padding: 0 1rem 1rem 1rem;
	}

	.yearly-prec-by-type {
		flex-direction: column;
		align-items: flex-start;
		margin: 0 0 12px 0;
	}

	.yearly-prec-by-type__title {
		order: 2;
	}

	.yearly-prec-by-type__items {
		order: 1;
		justify-content: flex-start;
		gap: 0px 12px;
		border-radius: 0.7rem;
		text-transform: uppercase;
		font-size: 12px;
		padding: 12px 6px 12px 1rem;
		background: #fff;
		margin: 1rem 0 0 0;
		width: 100%;
		flex-wrap: nowrap;
		overflow: hidden;
	}

	.yearly-prec-by-type__item {
		gap: 5px;
	}

	.yearly-prec-by-type__item img {
		width: 16px;
		height: 16px;
		padding: 3px;
	}

	.snow-heatmap__tile::after {
		width: 22px;
		height: 22px;
	}

	.travel-planner {
		padding: 1rem;
	}

	.travel-purpose-item,
	.travel-advice-item {
		grid-template-columns: 40px minmax(0, 1fr);
		grid-template-areas:
			"icon title"
			"icon period"
			"icon desc";
	}

	.travel-purpose-period,
	.travel-advice-period {
		justify-self: start;
		max-width: 100%;
		text-align: left;
		margin: 4px 0 0 0;
	}

	.travel-purpose-period .travel-card-period,
	.travel-advice-period .travel-card-period {
		max-width: 100%;
		white-space: normal;
	}

	.travel-purpose-period .travel-card-period strong,
	.travel-advice-period .travel-card-period strong {
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.travel-card-period + .travel-purpose-excluded {
		margin-top: 3px;
	}

	.travel-planner-advice-title {
		margin-top: 1rem;
	}

	.travel-purpose-icon,
	.travel-advice-icon {
		width: 40px;
		height: 40px;
		border-width: 7px;
	}

	.travel-card-list {
		gap: 5px;
	}
	.travel-planner-header-image {
		top:0;
	}
   .pcw-container .pcw-layout {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 25px 13px 18px;
    }
    .pcw-container .pcw-intro,
    .pcw-container .pcw-action {
        width: auto;
        max-width: none;
    }
    .pcw-container .pcw-intro {
        padding: 0 0.5rem 2rem;
    }
    .pcw-container .pcw-eyebrow {
        margin-bottom: 1rem;
    }
    .pcw-container .pcw-intro h2 {
        margin-bottom: 1rem;
        font-size: 28px;
    }
    .pcw-container .pcw-intro p {
        max-width: none;
    }
    .pcw-container .pcw-figure {
        width: 100%;
    }
    .pcw-container .pcw-action {
		text-align: center;
		margin:2rem 0 0.5rem 0;	
    }
    .pcw-container .pcw-layout::before {
        width: 165px;
        height: 155px;
    }
}

@media (min-width: 720px) and (max-width: 999px),
(min-width: 1150px) {
	.calendar-smiley-grid {
		gap: 5px;
	}

	.calendar-smiley-month,
	.calendar-season-month-label {
		font-size: 13px;
	}

	.calendar-season-legend-item {
		font-size: 13px;
	}

	.calendar-smiley-bar {
		width: 4px;
	}
}

@media (min-width: 640px) {
	.calendar-smiley-grid {
		grid-template-columns: repeat(6, 1fr);
	}

	.calendar-smiley-icon {
		width: 28px;
		height: 28px;
	}

	.calendar-season-wrapper {
		align-items: flex-start;
		flex-direction: row-reverse;
		margin-bottom: 1rem;
	}

	.calendar-season-legend {
		flex-direction: column;
		width: auto;
		min-width: 130px;
		gap: 3px;
		flex-shrink: 0;
		margin: 0 0 0 2rem;
	}

	.calendar-season-legend-item {
		flex: unset;
		gap: 7px;
	}

	.climate-summary-table-badge,
	.calendar-smiley-month,
	.calendar-season-month-label {
		font-size: 13px;
		letter-spacing: normal;
	}

	.climate-summary-table-month {
		font-size: 14px;
	}

	.calendar-smiley-bar {
		width: 3px;
	}
}

@media (max-width: 639px) {

	#chart1,
	#chartSea,
	#chartPrec {
		height: 350px !important;
	}

	.chart-table {
		grid-template-columns: 1fr;
	}

	.temp-spectrum tr:first-child td {
		font-size: 12px;
	}

	.chart-cta {
		justify-content: center;
		gap: 8px;
		padding: 0.8rem;
	}
	.chart-cta i {
		display:none;
	}

	.place-months-list {
		grid-template-columns: repeat(4, 1fr);
	}

	.best-worst-month {
		flex-direction: column-reverse;
	}

	.best-worst-month > div {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.best-worst-month > div:first-child {
		margin-top: 1.5rem;
	}
	.travel-planner-subtitle {
		padding-right:0;
	}
	.travel-planner-header-image {
		opacity:0.4;
	}
	.travel-card-period {
		padding:3px 8px;
	}
	.sea-extremes {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.snow-heatmap {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 7px;
	}

	.yearly-prec-by-type__title {
		font-size: 14px;
	}

	.snow-heatmap__value {
		font-size: 20px;
	}

	.snow-heatmap__tile {
		padding: 10px;
	}

	.rsidebar ul {
		grid-template-columns: 1fr;
	}

	.rsidebar.column2 ul {
		grid-template-columns: repeat(2, 1fr);
	}

	.weather-extra-item {
		gap: 0;
		grid-template-columns: 1fr;
		grid-template-areas:
			"main"
			"chart"
			"stats";
	}

	.weather-extra-chart-box {
		margin: 1.5rem 0 0 0;
		box-shadow: none;
		border-bottom: 0;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
		border-color: var(--accent-border);
	}

	.weather-extra-stats {
		gap: 0;
		grid-template-columns: 1fr;
		margin: -1px 0 0 0;
		border-bottom-left-radius: 0.7rem;
		border-bottom-right-radius: 0.7rem;
		background: var(--accent-soft);
		background: color-mix(in srgb, var(--accent) 3%, #fff);
		border: 1px solid var(--accent-border);
		padding: 1rem;

	}

	.weather-extra-stat,
	.weather-extra-stat-group {
		border: 0;
		border-radius: 0;
		padding: 0;
		min-height: 0;
		background: none;
		display: block;
	}

	.weather-extra-stat + .weather-extra-stat,
	.weather-extra-stat-group {
		border-top: 1px solid var(--accent-border);
		padding-top: 15px;
		margin-top: 15px;
	}

	.weather-extra-stat-group {
		background: color-mix(in srgb, var(--accent) 5%, #fff);
		margin: 1rem -1rem 0 -1rem;
		padding: 1rem;
	}

	.weather-extra-stat-label {
		color: var(--accent2);
		margin-bottom: 5px;
	}

	.weather-extra-stat-group:last-child {
		margin-top: 0;
		margin-bottom: -1rem;
	}

	.weather-extra-stat-note,
	.weather-extra-stat-value,
	.weather-extra-stat-group-param .weather-extra-stat-note {
		font-size: 14px;
		margin-top: 0;
		display: inline;
		line-height: 1.35;
		color: initial;
		background: none;
		padding: 0;
		border-radius: 0;
	}

	.weather-extra-stat-value:after {
		content: ": ";
	}

	.weather-extra-stat-note {
		font-weight: 400;
	}

	.weather-extra-stat-group-head {
		margin-bottom: 12px;
	}

	.weather-extra-stat-group-title {
		font-size: 15px;
	}

	.weather-extra-stat-group-items {
		grid-template-columns: 1fr 1fr;
		gap: 0 10px;
	}

	.weather-extra-stat-group-param + .weather-extra-stat-group-param {
		padding: 0 0 0 1rem;
		border-top: 0;
		border-left: 1px solid var(--accent-border);
	}
}

@media (max-width: 479px) {
	.temp-spectrum tr:first-child td {
		font-size: 11px;
		writing-mode: vertical-lr;
		padding: 2.6rem 0 2.6rem 0.25rem;
	}

	.temp-spectrum tr:last-child td {
		font-size: 10px;
	}

	.chart-table-left {
		padding: 1rem 0.3rem 0 0.7rem;
	}

	.place-months-list {
		grid-template-columns: repeat(3, 1fr);
	}

	.sea-extremes-card {
		max-width: none;
	}

	.snow-heatmap__tile::after {
		display: none;
	}
	.travel-purpose-item, 
	.travel-advice-item {
		grid-template-areas:
			"icon title"
			"icon period"
			"desc desc";
	}
	.travel-planner-header-image {
		opacity: 0.3;
	}
}

@media (max-width: 419px) {

	.climate-calendar-warnings-header,
	.climate-calendar-warnings ul {
		font-size: 13px;
	}

	.best-worst-month > div > strong {
		font-size: 15px;
	}

	.best-worst-month ul {
		font-size: 14px;
	}

	.best-worst-month .bg-icon {
		width: 42px;
		height: 42px;
	}

	.sea-extremes-note-icon {
		display: block;
	}

	.sea-extremes-note-icon img {
		width: 42px;
		height: 42px;
	}

	.sea-extremes-note {
		font-size: 13px;
	}
}