.ym-weather {
	--ym-color-text: #121212;
	--ym-color-heading: #384D48;
	--ym-color-primary: #22577A;
	--ym-color-muted: #6E7271;
	--ym-color-border: #D8D4D5;
	--ym-color-background: #F5F9FC;
	--ym-color-surface: #FFFFFF;
	--ym-color-accent: #A0CE4E;
	--ym-radius: 6px;
	--ym-shadow: 0 .25rem .9rem rgba(20, 44, 63, .07);
	--ym-gap: clamp(.75rem, 3vw, 1.25rem);
	box-sizing: border-box;
	width: 100%;
	max-width: 70rem;
	margin-inline: auto;
	color: var(--ym-color-text);
	background: var(--ym-color-background);
	border-radius: var(--ym-radius);
	box-shadow: var(--ym-shadow);
	font-family: inherit;
	line-height: 1.45;
	overflow: visible;
}

.ym-weather *,
.ym-weather *::before,
.ym-weather *::after { box-sizing: border-box; }

/* Dynamic blocks put Gutenberg's generated support attributes on this root. */
.ym-block {
	--ym-color-text: #121212;
	--ym-color-heading: #384D48;
	--ym-color-primary: #22577A;
	--ym-color-muted: #6E7271;
	--ym-color-border: #D8D4D5;
	--ym-color-background: #F5F9FC;
	--ym-color-surface: #FFFFFF;
	--ym-color-accent: #A0CE4E;
	--ym-radius: 6px;
	--ym-icon-color: currentColor;
	--ym-icon-size: 1.25em;
	box-sizing: border-box;
	width: 100%;
	border-radius: var(--ym-radius);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
.ym-block:not(.alignwide):not(.alignfull) { max-width: 70rem; margin-inline: auto; }
.ym-block:not(.has-text-color) { color: var(--ym-color-text); }
.ym-block:not(.has-background) { background-color: var(--ym-color-background); }
.ym-block > .ym-weather { width: 100%; max-width: none; margin: 0; color: inherit; background: transparent; border-radius: inherit; box-shadow: none; overflow: visible; }
.ym-block--ahora .ym-weather__hero { border-radius: inherit; }
.ym-block.has-background .ym-weather__hero { color: inherit; background: transparent; }
.ym-block.has-background .ym-current-card,
.ym-block.has-background .ym-hour-card,
.ym-block.has-background .ym-rainfall-card,
.ym-block.has-background .ym-daily { background: transparent; }
.ym-block.has-text-color .ym-weather__hero,
.ym-block.has-text-color .ym-current-card dt,
.ym-block.has-text-color .ym-current-card dd,
.ym-block.has-text-color .ym-rainfall-card,
.ym-block.has-text-color .ym-rainfall-period,
.ym-block.has-text-color .ym-rainfall-months li span,
.ym-block.has-text-color .ym-weather__forecast-heading p,
.ym-block.has-text-color .ym-hourly__day,
.ym-block.has-text-color .ym-daily thead th,
.ym-block.has-text-color .ym-daily tbody th,
.ym-block.has-text-color .ym-daily__details { color: inherit; }
.ym-block.has-text-color .ym-current-card dt,
.ym-block.has-text-color .ym-rainfall-coverage,
.ym-block.has-text-color .ym-rainfall-range { opacity: .72; }

.ym-weather__hero {
	min-height: 0;
	padding: clamp(1.1rem, 4vw, 2.25rem);
	color: #fff;
	background: var(--ym-color-primary);
	background: linear-gradient(150deg, color-mix(in srgb, var(--ym-color-primary) 86%, #001f35), var(--ym-color-primary));
}

.ym-weather__eyebrow {
	font-size: .78em;
	font-weight: 750;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.ym-weather__now {
	margin: .55rem 0 0;
	font-size: .9em;
	opacity: .85;
}

.ym-weather__temperature {
	display: flex;
	align-items: baseline;
	gap: .08em;
	margin: .05rem 0 0;
	font-size: clamp(2.8em, 14vw, 5em);
	line-height: 1;
	letter-spacing: -.06em;
	font-variant-numeric: tabular-nums;
}
.ym-weather__temperature strong { font-weight: 300; }
.ym-weather__temperature span { font-size: .38em; font-weight: 650; letter-spacing: -.02em; }

.ym-weather__summary {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem 1rem;
	margin-top: .65rem;
	font-variant-numeric: tabular-nums;
}

.ym-weather__source {
	display: flex;
	flex-direction: column;
	margin-top: 1rem;
	font-size: .86em;
}

.ym-weather__source span { opacity: .78; }
.ym-weather__source strong { font-weight: 650; }

.ym-weather__updated {
	margin: .55rem 0 0;
	font-size: .78em;
	opacity: .76;
}
.ym-weather__key-metrics { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.45rem; margin:.8rem 0 0; font-variant-numeric:tabular-nums; }
.ym-weather__key-metrics div { min-width:0; padding:.45rem .5rem; border-left:2px solid color-mix(in srgb, currentColor 48%, transparent); }
.ym-weather__key-metrics dt { font-size:.72em; opacity:.82; }
.ym-weather__key-metrics dd { margin:.08rem 0 0; font-size:1.05em; font-weight:700; white-space:nowrap; }
.ym-weather__forecast { padding: 0 0 1rem; }
.ym-weather__forecast-heading { padding: 1.35rem clamp(1rem, 4vw, 2.25rem) .25rem; }
.ym-weather__forecast-heading p { margin:.2rem 0 0; color:var(--ym-color-muted); font-size:.82em; }
.ym-weather__forecast-updated { font-variant-numeric:tabular-nums; }
.ym-weather__empty { color:var(--ym-color-muted); }

.ym-weather__section { padding: 1.35rem clamp(1rem, 4vw, 2.25rem); }
.ym-weather__section + .ym-weather__section { padding-top: .45rem; }

.ym-current-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .65rem;
	margin: 0;
}
.ym-current-grid--history { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ym-current-card {
	display: grid;
	grid-template-columns: max(1.55em, var(--ym-icon-size)) minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: .6rem;
	min-width: 0;
	padding: .8rem;
	background: var(--ym-color-surface);
	border: 1px solid var(--ym-color-border);
	border-radius: calc(var(--ym-radius) * .65);
}

.ym-current-card > .ym-icon {
	grid-row: 1 / 3;
	align-self: center;
}

.ym-current-card dt {
	color: var(--ym-color-muted);
	font-size: .78em;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.ym-current-card dd {
	margin: .1rem 0 0;
	font-size: 1.3em;
	font-weight: 680;
	font-variant-numeric: tabular-nums;
}

.ym-hourly {
	display: grid;
	grid-auto-columns: minmax(5.1rem, 24%);
	grid-auto-flow: column;
	gap: .55rem;
	max-width: 100%;
	padding: .05rem .05rem .55rem;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline proximity;
	scrollbar-width: thin;
}

.ym-hourly:focus-visible {
	outline: 3px solid var(--ym-color-accent);
	outline-offset: .2rem;
}

.ym-hour-card {
	display: grid;
	place-items: center;
	gap: .45rem;
	min-height: 8.8rem;
	padding: .75rem .4rem;
	background: var(--ym-color-surface);
	border: 1px solid var(--ym-color-border);
	border-radius: calc(var(--ym-radius) * .65);
	scroll-snap-align: start;
	font-variant-numeric: tabular-nums;
}

.ym-hour-card time,
.ym-hour-card span:last-child { color: var(--ym-color-muted); font-size: .78em; }
.ym-hour-card strong { font-size: 1.25em; }
.ym-hourly__day { align-self:end; padding:.3rem .1rem; color:var(--ym-color-heading); font-size:.75em; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.ym-weather-icon { display: inline-grid; place-items: center; }
.ym-icon { display: inline-flex; align-items:center; justify-content:center; width: var(--ym-icon-size, 1.25em); height: var(--ym-icon-size, 1.25em); flex: 0 0 var(--ym-icon-size, 1.25em); color: var(--ym-icon-color, currentColor); }
.ym-icon svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; }

.ym-daily {
	background: var(--ym-color-surface);
	border: 1px solid var(--ym-color-border);
	border-radius: calc(var(--ym-radius) * .72);
	overflow-x: auto;
}
.ym-daily table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.ym-daily .ym-day-row { display:table-row; min-height:0; padding:0; }
.ym-daily th,.ym-daily td { padding:.9rem .75rem; text-align:left; border-top:1px solid var(--ym-color-border); vertical-align:middle; }
.ym-daily thead th { border-top:0; color:var(--ym-color-muted); font-size:.76em; font-weight:700; letter-spacing:.02em; }
.ym-daily .ym-weather-icon { width:var(--ym-icon-size, 1.25em); height:var(--ym-icon-size, 1.25em); }
.ym-daily tbody th { color:var(--ym-color-heading); font-weight:720; text-transform:capitalize; }
.ym-daily .ym-day-row--today th { position:relative; }
.ym-daily .ym-day-row--today th::before { position:absolute; top:50%; left:0; width:.25rem; height:1.4rem; border-radius:2px; background:var(--ym-color-accent); content:""; transform:translateY(-50%); }
.ym-day-row__today { display:block; margin-top:.12rem; color:var(--ym-color-muted); font-size:.72em; font-weight:600; }
.ym-day-temperature { display:inline-flex; align-items:baseline; gap:.3rem; white-space:nowrap; }
.ym-day-temperature span { color:var(--ym-color-muted); }
.ym-day-temperature span::after { content:" /"; }
.ym-day-temperature strong { color:var(--ym-color-heading); font-size:1.03em; }
.ym-daily__details { margin:.7rem 0 0; color:var(--ym-color-muted); font-size:.82em; }
.ym-history-table { overflow-x:auto; }
.ym-history-table table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.ym-history-table th,.ym-history-table td { padding:.65rem .5rem; text-align:left; border-bottom:1px solid var(--ym-color-border); }
.ym-history-table thead { color:var(--ym-color-muted); font-size:.8em; }
.ym-history-rainfall { padding-top:1.25rem; }
.ym-rainfall-period { margin:0 0 .75rem; color:var(--ym-color-heading); font-size:1em; font-weight:720; }
.ym-rainfall-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%, 10em),1fr)); gap:.65rem; }
.ym-rainfall-card { display:flex; flex-direction:column; gap:.2rem; min-width:0; padding:.9rem; background:var(--ym-color-surface); border:1px solid var(--ym-color-border); border-radius:calc(var(--ym-radius) * .65); }
.ym-rainfall-card > span,.ym-rainfall-card small { color:var(--ym-color-muted); font-size:.78em; }
.ym-rainfall-card strong { color:var(--ym-color-heading); font-size:1.35em; font-variant-numeric:tabular-nums; }
.ym-rainfall-card small:last-child { margin-top:auto; }
.ym-rainfall-months { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%, 12em),1fr)); gap:.5rem; margin:0; padding:0; list-style:none; }
.ym-rainfall-months li { display:grid; grid-template-columns:1fr auto; gap:.1rem .5rem; padding:.65rem .1rem; border-bottom:1px solid var(--ym-color-border); }
.ym-rainfall-months li span { color:var(--ym-color-heading); text-transform:capitalize; }
.ym-rainfall-months li strong { font-variant-numeric:tabular-nums; }
.ym-rainfall-months li small,.ym-rainfall-coverage,.ym-rainfall-range { color:var(--ym-color-muted); font-size:.78em; }
.ym-rainfall-coverage,.ym-rainfall-range { margin:.65rem 0 0; }

.ym-day-row {
	display: grid;
	grid-template-columns: minmax(3.8rem, 1fr) 2rem minmax(4.8rem, auto) minmax(2.6rem, auto);
	align-items: center;
	gap: .4rem;
	min-height: 4.1rem;
	padding: .55rem .75rem;
	font-variant-numeric: tabular-nums;
}

.ym-day-row + .ym-day-row { border-top: 1px solid var(--ym-color-border); }
.ym-day-row time { display: flex; gap: .35rem; text-transform: capitalize; }
.ym-day-row time span { color: var(--ym-color-muted); }
.ym-day-row__condition { display: inline-grid; place-items: center; }
.ym-day-row__condition .ym-icon { width: 1.65rem; height: 1.65rem; }
.ym-day-row__temps { text-align: right; white-space: nowrap; }
.ym-day-row__rain { display: inline-flex; align-items: center; justify-content: end; gap: .15rem; color: var(--ym-color-muted); font-size: .82em; }
.ym-day-row__rain .ym-icon { width: .95rem; height: .95rem; }

.ym-weather--unavailable { padding: 1.25rem; }
.ym-weather--unavailable p { margin: 0; }
.ym-weather__placeholder { background:var(--ym-color-surface); border:1px dashed var(--ym-color-border); }

.ym-weather .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (min-width: 44rem) {
	.ym-current-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ym-current-grid--history { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ym-weather__hero { padding: clamp(1.5rem, 4vw, 2.5rem); }
}

@media (min-width: 48rem) {
	.ym-hourly { grid-auto-columns: minmax(6rem, 14%); }
	.ym-day-row { padding-inline: 1rem; }
}

@media (max-width: 43.75rem) {
	.ym-daily { overflow:visible; background:transparent; border:0; }
	.ym-daily table,.ym-daily tbody { display:block; width:100%; min-width:0; }
	.ym-daily thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
	.ym-daily tbody { display:grid; gap:.7rem; }
	.ym-daily tbody tr.ym-day-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:0 .65rem; width:100%; min-width:0; margin:0; padding:1rem; background:var(--ym-color-surface); border:1px solid var(--ym-color-border); border-radius:calc(var(--ym-radius) * .65); }
	.ym-daily tbody th,.ym-daily tbody td { display:flex; align-items:center; justify-content:space-between; min-width:0; width:auto; min-height:2.3rem; padding:.3rem 0; border:0; }
	.ym-daily tbody th { grid-column:1; grid-row:1; display:block; min-height:0; font-size:1.05em; }
	.ym-daily tbody td[data-label="Estado"] { grid-column:2; grid-row:1; min-height:0; }
	.ym-daily tbody td[data-label="Estado"]::before { display:none; }
	.ym-daily tbody td[data-label="Temperatura"] { grid-column:1 / -1; padding:.7rem 0; border-bottom:1px solid var(--ym-color-border); }
	.ym-daily tbody td[data-label="Temperatura"]::before { display:none; }
	.ym-daily tbody td:not([data-label="Estado"]):not([data-label="Temperatura"]) { grid-column:1 / -1; gap:.6rem; }
	.ym-daily tbody td:not([data-label="Estado"]):not([data-label="Temperatura"])::before { content:attr(data-label); color:var(--ym-color-muted); font-size:.82em; }
	.ym-daily .ym-day-temperature { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:.5rem; white-space:normal; }
	.ym-daily .ym-day-temperature > span,.ym-daily .ym-day-temperature > strong { display:flex; flex-direction:column; font-size:1.45em; line-height:1.12; }
	.ym-daily .ym-day-temperature > span::after { content:"mín."; }
	.ym-daily .ym-day-temperature > strong::after { content:"máx."; }
	.ym-daily .ym-day-temperature > span::after,.ym-daily .ym-day-temperature > strong::after { margin-top:.18rem; color:var(--ym-color-muted); font-size:.53em; font-weight:500; }
	.ym-daily .ym-day-row--today th::before { left:-1rem; }
	.ym-rainfall-card { min-height:7rem; }
}

@media (max-width: 21rem) {
	.ym-current-grid { grid-template-columns: 1fr; }
	.ym-current-grid--history { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ym-weather__key-metrics { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.ym-weather *, .ym-weather *::before, .ym-weather *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
