/*
 * Tuserco public calendar and offers landing.
 * Dedicated frontend asset: no panel or trip-detail rules belong here.
 */

body.tuserco-offers-calendar-canvas {
	margin: 0;
	overflow-x: hidden;
	background: #f4f8fb;
	color: #10264f;
}

/* Available-date selector. It reuses the same day panels as the month grid. */
.tuserco-scope .tuserco-calendar-pro-date-picker {
	display: grid;
	grid-template-columns: minmax(260px, 440px) minmax(0, 1fr);
	gap: 10px 24px;
	align-items: end;
	padding: 16px 22px;
	border-top: 1px solid #d9e5ef;
	border-bottom: 1px solid #d9e5ef;
	background: #f7fbfd;
}

.tuserco-scope .tuserco-calendar-pro-date-picker label {
	display: grid;
	gap: 7px;
	margin: 0;
}

.tuserco-scope .tuserco-calendar-pro-date-picker label > span {
	color: #10264f;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.tuserco-scope .tuserco-calendar-pro-date-picker select {
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 0 44px 0 14px;
	border: 1px solid #b9cfdf;
	border-radius: 6px;
	background-color: #fff;
	color: #10264f;
	font: inherit;
	font-size: 15px;
	font-weight: 650;
	box-shadow: 0 5px 16px rgba(16, 38, 79, 0.06);
	cursor: pointer;
}

.tuserco-scope .tuserco-calendar-pro-date-picker select:focus {
	border-color: #13a5dd;
	outline: 3px solid rgba(19, 165, 221, 0.16);
	outline-offset: 1px;
}

.tuserco-scope .tuserco-calendar-pro-date-picker select:disabled {
	color: #708399;
	cursor: not-allowed;
	box-shadow: none;
}

.tuserco-scope .tuserco-calendar-pro-date-picker p {
	max-width: 460px;
	margin: 0 0 11px;
	color: #5d7086;
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 680px) {
	.tuserco-scope .tuserco-calendar-pro-date-picker {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 12px;
	}

	.tuserco-scope .tuserco-calendar-pro-date-picker p {
		margin: 0;
	}
}

body.tuserco-offers-calendar-canvas .tuserco-offers-calendar-shell {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.tuserco-scope.tuserco-offers-calendar-page,
.tuserco-scope.tuserco-offers-calendar-page *,
.tuserco-scope.tuserco-offers-calendar-page *::before,
.tuserco-scope.tuserco-offers-calendar-page *::after {
	box-sizing: border-box;
}

.tuserco-scope.tuserco-offers-calendar-page {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 28px 24px 72px;
	font-family: inherit;
	line-height: 1.5;
}

.tuserco-scope.tuserco-offers-calendar-page h1,
.tuserco-scope.tuserco-offers-calendar-page h2,
.tuserco-scope.tuserco-offers-calendar-page h3 {
	text-wrap: balance;
}

.tuserco-scope.tuserco-offers-calendar-page p {
	text-wrap: pretty;
}

.tuserco-scope.tuserco-offers-calendar-page img {
	max-width: 100%;
	height: auto;
}

.tuserco-scope .tuserco-section-eyebrow {
	margin: 0 0 8px;
	color: #087fb8;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.tuserco-scope .tuserco-button,
.tuserco-scope .tuserco-calendar-pro-button,
.tuserco-scope .tuserco-calendar-pro-nav,
.tuserco-scope .tuserco-calendar-pro-link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border: 1px solid #0b91ca;
	border-radius: 6px;
	background: #0b91ca;
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.tuserco-scope .tuserco-button:hover,
.tuserco-scope .tuserco-button:focus,
.tuserco-scope .tuserco-calendar-pro-button:hover,
.tuserco-scope .tuserco-calendar-pro-button:focus,
.tuserco-scope .tuserco-calendar-pro-link-primary:hover,
.tuserco-scope .tuserco-calendar-pro-link-primary:focus {
	border-color: #086f9d;
	background: #086f9d;
	color: #fff;
	box-shadow: 0 8px 20px rgba(11, 145, 202, .2);
}

.tuserco-scope .tuserco-button-secondary,
.tuserco-scope .tuserco-calendar-pro-nav,
.tuserco-scope .tuserco-calendar-pro-link {
	border-color: #bdd2df;
	background: #fff;
	color: #10264f;
}

.tuserco-scope .tuserco-button-secondary:hover,
.tuserco-scope .tuserco-button-secondary:focus,
.tuserco-scope .tuserco-calendar-pro-nav:hover,
.tuserco-scope .tuserco-calendar-pro-nav:focus,
.tuserco-scope .tuserco-calendar-pro-link:hover,
.tuserco-scope .tuserco-calendar-pro-link:focus {
	border-color: #0b91ca;
	background: #eaf7fd;
	color: #075f8b;
}

.tuserco-scope .tuserco-offers-calendar-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	min-height: 0;
	padding: 24px 0 30px 28px;
	border: 0;
	border-bottom: 1px solid #cfdee7;
	border-left: 4px solid #12a4dd;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.tuserco-scope .tuserco-offers-calendar-hero-media {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.tuserco-scope .tuserco-offers-calendar-hero-media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(5, 26, 57, .94) 0%, rgba(5, 26, 57, .78) 52%, rgba(5, 26, 57, .40) 100%);
	content: "";
}

.tuserco-scope .tuserco-offers-calendar-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tuserco-scope .tuserco-offers-calendar-hero.is-solo {
	border-radius: 0;
}

.tuserco-scope .tuserco-offers-calendar-hero-copy {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.tuserco-scope .tuserco-offers-calendar-hero h1 {
	max-width: 820px;
	margin: 5px 0 10px;
	color: #10264f;
	font-size: clamp(34px, 4vw, 48px);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.08;
}

.tuserco-scope .tuserco-offers-calendar-hero-copy > p:not(.tuserco-section-eyebrow) {
	max-width: 700px;
	margin: 0;
	color: #526b80;
	font-size: 16px;
	line-height: 1.55;
}

.tuserco-scope .tuserco-offers-calendar-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.tuserco-scope .tuserco-offers-calendar-hero .tuserco-section-eyebrow {
	color: #087fb8;
}

.tuserco-scope .tuserco-offers-calendar-hero .tuserco-button-secondary {
	border-color: #a9c9da;
	background: #fff;
	color: #10264f;
}

.tuserco-scope .tuserco-offers-calendar-hero .tuserco-button-secondary:hover,
.tuserco-scope .tuserco-offers-calendar-hero .tuserco-button-secondary:focus-visible {
	border-color: #0b91ca;
	background: #eaf7fd;
	color: #075f8b;
}

.tuserco-scope .tuserco-offers-calendar-hero.has-image {
	min-height: 280px;
	padding: 34px 38px;
	overflow: hidden;
	border: 0;
	border-bottom: 4px solid #f5b700;
	border-radius: 8px;
	background: #0b2854;
}

.tuserco-scope .tuserco-offers-calendar-hero.has-image h1 {
	color: #fff;
}

.tuserco-scope .tuserco-offers-calendar-hero.has-image .tuserco-section-eyebrow {
	color: #67c9ef;
}

.tuserco-scope .tuserco-offers-calendar-hero.has-image .tuserco-offers-calendar-hero-copy > p:not(.tuserco-section-eyebrow) {
	color: #d6e7f2;
}

.tuserco-scope .tuserco-offers-calendar-hero.has-image .tuserco-button-secondary {
	border-color: rgba(255, 255, 255, .52);
	background: transparent;
	color: #fff;
}

.tuserco-scope .tuserco-offers-calendar-hero-card {
	display: grid;
	gap: 7px;
	justify-items: center;
	min-width: 0;
	padding: 28px 22px;
	border: 1px solid #c4dbe7;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 32px rgba(16, 38, 79, .08);
	text-align: center;
}

.tuserco-scope .tuserco-offers-calendar-hero-card .tuserco-brand-logo {
	width: 170px;
	max-height: 88px;
	margin: 0 0 8px;
	object-fit: contain;
}

.tuserco-scope .tuserco-offers-calendar-hero-card strong {
	color: #087fb8;
	font-size: 48px;
	font-weight: 900;
	line-height: 1;
}

.tuserco-scope .tuserco-offers-calendar-hero-card span {
	color: #10264f;
	font-size: 15px;
	font-weight: 800;
}

.tuserco-scope .tuserco-offers-calendar-hero-card small {
	color: #64788d;
	font-size: 13px;
	line-height: 1.45;
}

.tuserco-scope .tuserco-offers-calendar-metrics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1px;
	overflow: hidden;
	margin: 0;
	border: 1px solid #d6e4ec;
	border-top: 0;
	border-radius: 0 0 8px 8px;
	background: #d6e4ec;
}

.tuserco-scope .tuserco-offers-calendar-metric {
	display: grid;
	gap: 6px;
	align-content: center;
	min-height: 98px;
	padding: 20px 24px;
	background: #fff;
}

.tuserco-scope .tuserco-offers-calendar-metric span {
	color: #657b8f;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.tuserco-scope .tuserco-offers-calendar-metric strong {
	color: #10264f;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.2;
}

.tuserco-scope .tuserco-offers-calendar-section {
	width: 100%;
	margin-top: 22px;
}

.tuserco-scope .tuserco-offers-calendar-section-calendar {
	margin-top: 18px;
}

.tuserco-scope .tuserco-offers-calendar-section-calendar .tuserco-calendar-pro-toolbar {
	padding-top: 22px;
	padding-bottom: 22px;
	border-top: 4px solid #f5c400;
}

.tuserco-scope .tuserco-calendar-pro {
	width: 100%;
	max-width: 1060px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	border: 1px solid #d6e4ec;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(16, 38, 79, .07);
}

.tuserco-scope .tuserco-calendar-pro,
.tuserco-scope .tuserco-calendar-pro *,
.tuserco-scope .tuserco-calendar-pro *::before,
.tuserco-scope .tuserco-calendar-pro *::after {
	box-sizing: border-box;
}

.tuserco-scope .tuserco-calendar-pro-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 180px;
	gap: 28px;
	align-items: center;
	padding: 30px 34px;
	border-bottom: 4px solid #f5c400;
	background: #075f96;
	color: #fff;
}

.tuserco-scope .tuserco-calendar-pro-hero h2 {
	margin: 3px 0 7px;
	color: #fff;
	font-size: 34px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.15;
}

.tuserco-scope .tuserco-calendar-pro-hero p {
	max-width: 720px;
	margin: 0;
	color: #d8f0fb;
	font-size: 15px;
	line-height: 1.6;
}

.tuserco-scope .tuserco-calendar-pro-eyebrow {
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.tuserco-scope .tuserco-calendar-pro-summary {
	display: grid;
	justify-items: end;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 7px;
	background: rgba(4, 39, 72, .32);
	text-align: right;
}

.tuserco-scope .tuserco-calendar-pro-summary strong {
	color: #fff;
	font-size: 42px;
	font-weight: 900;
	line-height: 1;
}

.tuserco-scope .tuserco-calendar-pro-summary span {
	color: #d8f0fb;
	font-size: 13px;
}

.tuserco-scope .tuserco-calendar-pro-filters {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	gap: 12px;
	align-items: end;
	margin: 0;
	padding: 18px 22px;
	border-bottom: 1px solid #d6e4ec;
	background: #f7fafc;
}

.tuserco-scope .tuserco-calendar-pro-filters label {
	display: grid;
	gap: 6px;
	margin: 0;
}

.tuserco-scope .tuserco-calendar-pro-filters label > span {
	color: #425d76;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.tuserco-scope .tuserco-calendar-pro-filters input {
	width: 100%;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #bdd2df;
	border-radius: 6px;
	background: #fff;
	color: #10264f;
	font: inherit;
	font-size: 14px;
}

.tuserco-scope .tuserco-calendar-pro-filters input:focus {
	border-color: #0b91ca;
	outline: 3px solid rgba(11, 145, 202, .14);
}

.tuserco-scope .tuserco-calendar-pro-toolbar {
	display: grid;
	grid-template-columns: minmax(120px, 1fr) minmax(200px, auto) minmax(120px, 1fr);
	gap: 16px;
	align-items: center;
	padding: 18px 22px;
	border-bottom: 1px solid #d6e4ec;
	background: #fff;
}

.tuserco-scope .tuserco-calendar-pro-toolbar h3 {
	margin: 0;
	color: #10264f;
	font-size: 24px;
	font-weight: 900;
	text-align: center;
	text-transform: capitalize;
}

.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav:first-child {
	justify-self: start;
}

.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav:last-child {
	justify-self: end;
}

.tuserco-scope .tuserco-calendar-pro-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	padding: 12px 22px;
	border-bottom: 1px solid #d6e4ec;
	background: #f7fafc;
}

.tuserco-scope .tuserco-calendar-pro-help {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 10px 22px;
	border-bottom: 1px solid #d6e4ec;
	background: #fff;
	color: #526b80;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
}

.tuserco-scope .tuserco-calendar-pro-help > span {
	display: inline-grid;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	place-items: center;
	border-radius: 50%;
	background: #e2f5fd;
	color: #087fb8;
	font-size: 12px;
	font-weight: 900;
}

.tuserco-scope .tuserco-calendar-pro-legend span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #536b80;
	font-size: 12px;
	font-weight: 700;
}

.tuserco-scope .tuserco-calendar-pro-legend i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #2ea567;
}

.tuserco-scope .tuserco-calendar-pro-legend .is-last {
	background: #f2ad19;
}

.tuserco-scope .tuserco-calendar-pro-legend .is-full {
	background: #c85151;
}

.tuserco-scope .tuserco-calendar-pro-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	width: 100%;
	border-top: 1px solid #d6e4ec;
	border-left: 1px solid #d6e4ec;
	background: #d6e4ec;
}

.tuserco-scope .tuserco-calendar-pro-weekday,
.tuserco-scope .tuserco-calendar-pro-day {
	min-width: 0;
	border-right: 1px solid #d6e4ec;
	border-bottom: 1px solid #d6e4ec;
}

.tuserco-scope .tuserco-calendar-pro-weekday {
	padding: 12px 8px;
	background: #edf4f8;
	color: #526b80;
	font-size: 12px;
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
}

.tuserco-scope .tuserco-calendar-pro-day {
	position: relative;
	min-height: 138px;
	max-height: 360px;
	padding: 9px;
	overflow-y: auto;
	background: #fff;
	transition: background-color 160ms ease, box-shadow 160ms ease;
}

.tuserco-scope .tuserco-calendar-pro-day-empty {
	background: #f7fafc;
}

.tuserco-scope .tuserco-calendar-pro-day.has-events {
	min-height: 170px;
	background: #f2fafd;
	cursor: pointer;
}

.tuserco-scope .tuserco-calendar-pro-day.has-events::after {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: #0b91ca;
	content: "";
}

.tuserco-scope .tuserco-calendar-pro-day.has-events:hover {
	z-index: 1;
	background: #eaf8fd;
	box-shadow: inset 0 0 0 2px rgba(11, 145, 202, .34);
}

.tuserco-scope .tuserco-calendar-pro-day.is-selected {
	background: #e9f7fd;
	box-shadow: inset 0 0 0 2px #0b91ca;
}

.tuserco-scope .tuserco-calendar-pro-day-trigger {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 7px;
	margin: 0 0 7px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.tuserco-scope .tuserco-calendar-pro-day-trigger:focus {
	outline: 2px solid #0b91ca;
	outline-offset: 3px;
}

.tuserco-scope .tuserco-calendar-pro-day-number {
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #10264f;
	font-size: 14px;
	font-weight: 900;
}

.tuserco-scope .tuserco-calendar-pro-day.is-today .tuserco-calendar-pro-day-number,
.tuserco-scope .tuserco-calendar-pro-day.is-selected .tuserco-calendar-pro-day-number {
	background: #0b91ca;
	color: #fff;
}

.tuserco-scope .tuserco-calendar-pro-day-count {
	color: #087fb8;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.tuserco-scope .tuserco-calendar-pro-event {
	display: grid;
	gap: 3px;
	margin-top: 5px;
	padding: 7px;
	border-left: 3px solid #2ea567;
	border-radius: 4px;
	background: #e8f7ef;
	color: #173f2c;
	cursor: pointer;
}

.tuserco-scope .tuserco-calendar-pro-event-last-seats,
.tuserco-scope .tuserco-calendar-pro-event-plazas-limitadas {
	border-left-color: #f2ad19;
	background: #fff5d8;
	color: #674b0a;
}

.tuserco-scope .tuserco-calendar-pro-event-full,
.tuserco-scope .tuserco-calendar-pro-event-completa,
.tuserco-scope .tuserco-calendar-pro-event-cancelada {
	border-left-color: #c85151;
	background: #fff0f0;
	color: #722d2d;
}

.tuserco-scope .tuserco-calendar-pro-event-title {
	overflow: hidden;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: normal;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tuserco-scope .tuserco-calendar-pro-event-meta {
	display: flex;
	justify-content: space-between;
	gap: 5px;
	font-size: 12px;
}

.tuserco-scope .tuserco-calendar-pro-event-meta em {
	overflow: hidden;
	font-style: normal;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tuserco-scope .tuserco-calendar-pro-event-meta strong {
	white-space: nowrap;
}
.tuserco-scope .tuserco-calendar-pro-event-status {
	margin-top: 3px;
	font-size: 12px;
	font-weight: 800;
}

.tuserco-scope .tuserco-calendar-pro-agenda {
	padding: 26px;
	background: #f7fafc;
}

.tuserco-scope .tuserco-calendar-pro-agenda h3 {
	margin: 0 0 15px;
	color: #10264f;
	font-size: 20px;
	font-weight: 900;
}

.tuserco-scope .tuserco-calendar-pro-agenda-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 10px;
}

.tuserco-scope .tuserco-calendar-pro-agenda-item {
	display: grid;
	grid-template-columns: minmax(92px, auto) minmax(0, 1fr);
	gap: 4px 14px;
	min-width: 0;
	padding: 14px;
	border: 1px solid #d6e4ec;
	border-radius: 6px;
	background: #fff;
	color: #10264f;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tuserco-scope .tuserco-calendar-pro-agenda-item:hover,
.tuserco-scope .tuserco-calendar-pro-agenda-item:focus {
	border-color: #0b91ca;
	box-shadow: 0 8px 20px rgba(16, 38, 79, .07);
	transform: translateY(-1px);
}

.tuserco-scope .tuserco-calendar-pro-agenda-item > span {
	grid-row: 1 / span 3;
	align-self: stretch;
	padding-right: 12px;
	border-right: 1px solid #d6e4ec;
	color: #087fb8;
	font-size: 12px;
	font-weight: 800;
}

.tuserco-scope .tuserco-calendar-pro-agenda-item strong {
	grid-column: 2;
	overflow-wrap: anywhere;
	font-size: 15px;
}

.tuserco-scope .tuserco-calendar-pro-agenda-item em,
.tuserco-scope .tuserco-calendar-pro-agenda-item small {
	grid-column: 2;
	color: #60788d;
	font-size: 12px;
	font-style: normal;
}

.tuserco-scope .tuserco-offers-calendar-section-offers,
.tuserco-scope .tuserco-offers-calendar-cta {
	padding: 34px;
	border: 1px solid #d6e4ec;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(16, 38, 79, .06);
}

.tuserco-scope .tuserco-offers-calendar-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 20px;
}

.tuserco-scope .tuserco-offers-calendar-heading h2 {
	margin: 0;
	color: #10264f;
	font-size: 36px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.15;
}

.tuserco-scope .tuserco-offers-calendar-count {
	display: inline-flex;
	padding: 7px 11px;
	border-radius: 999px;
	background: #e9f7fd;
	color: #087fb8;
	font-size: 12px;
	font-weight: 900;
	white-space: nowrap;
}

.tuserco-scope .tuserco-next-offers-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.tuserco-scope .tuserco-next-offer-card {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #d6e4ec;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(16, 38, 79, .07);
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.tuserco-scope .tuserco-next-offer-card:hover {
	border-color: #9fcde3;
	box-shadow: 0 18px 36px rgba(16, 38, 79, .11);
}

.tuserco-scope .tuserco-next-offer-image {
	display: flex;
	width: 100%;
	aspect-ratio: 16 / 10;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #dfeaf0;
	color: #10264f;
	font-size: 32px;
	font-weight: 900;
	text-decoration: none;
}

.tuserco-scope .tuserco-next-offer-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.tuserco-scope .tuserco-next-offer-card:hover .tuserco-next-offer-image img {
	transform: scale(1.025);
}

.tuserco-scope .tuserco-next-offer-date {
	position: absolute;
	top: 14px;
	left: 14px;
	display: grid;
	min-width: 62px;
	padding: 8px 10px;
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 6px;
	background: rgba(16, 38, 79, .9);
	color: #fff;
	text-align: center;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
}

.tuserco-scope .tuserco-next-offer-date strong {
	font-size: 24px;
	line-height: 1;
}

.tuserco-scope .tuserco-next-offer-date span {
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.tuserco-scope .tuserco-next-offer-body {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
	padding: 22px;
}

.tuserco-scope .tuserco-next-offer-body h3 {
	margin: 0 0 14px;
	color: #10264f;
	font-size: 21px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.25;
}

.tuserco-scope .tuserco-next-offer-body h3 a {
	color: inherit;
	text-decoration: none;
}

.tuserco-scope .tuserco-next-offer-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 20px;
}

.tuserco-scope .tuserco-next-offer-meta > span {
	display: inline-flex;
	min-width: 0;
	align-items: center;
	padding: 6px 9px;
	border-radius: 999px;
	background: #eef4f7;
	color: #526b80;
	font-size: 12px;
	font-weight: 750;
	overflow-wrap: anywhere;
}

.tuserco-scope .tuserco-next-offer-meta .tuserco-next-offer-status,
.tuserco-scope .tuserco-next-offer-meta .tuserco-status-active,
.tuserco-scope .tuserco-next-offer-meta .tuserco-status-disponible {
	background: #e1f4e9;
	color: #177844;
}

.tuserco-scope .tuserco-next-offer-meta .tuserco-status-last-seats,
.tuserco-scope .tuserco-next-offer-meta .tuserco-status-plazas-limitadas {
	background: #fff2c9;
	color: #745404;
}

.tuserco-scope .tuserco-trip-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: auto;
}

.tuserco-scope .tuserco-offers-calendar-cta {
	display: grid;
	justify-items: center;
	padding-top: 48px;
	padding-bottom: 48px;
	background: #10264f;
	color: #fff;
	text-align: center;
}

.tuserco-scope .tuserco-offers-calendar-cta h2 {
	margin: 0 0 10px;
	color: #fff;
	font-size: 38px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.15;
}

.tuserco-scope .tuserco-offers-calendar-cta > p:not(.tuserco-section-eyebrow) {
	max-width: 680px;
	margin: 0 0 22px;
	color: #d7e7f1;
	font-size: 16px;
	line-height: 1.65;
}

.tuserco-scope .tuserco-offers-calendar-cta .tuserco-section-eyebrow {
	color: #67c9ef;
}

.tuserco-scope .tuserco-empty {
	margin: 0;
	padding: 24px;
	border: 1px dashed #b8ceda;
	border-radius: 6px;
	background: #f7fafc;
	color: #60788d;
	text-align: center;
}

.tuserco-calendar-popup[hidden],
.tuserco-calendar-pro-day-panel[hidden] {
	display: none;
}

.tuserco-calendar-popup {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: grid;
	place-items: center;
	padding: 20px;
}

.tuserco-calendar-popup-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 20, 38, .72);
	backdrop-filter: blur(4px);
}

.tuserco-calendar-popup-dialog {
	position: relative;
	z-index: 1;
	width: min(980px, calc(100vw - 40px));
	max-height: min(86vh, 820px);
	overflow: auto;
	border: 1px solid #c8dbe5;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .3);
}

.tuserco-calendar-popup-head {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 24px;
	border-bottom: 1px solid #d6e4ec;
	background: #fff;
}

.tuserco-calendar-popup-head p {
	margin: 0 0 3px;
	color: #087fb8;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.tuserco-calendar-popup-head h3 {
	margin: 0;
	color: #10264f;
	font-size: 24px;
	font-weight: 900;
}

.tuserco-calendar-popup-head button {
	display: inline-flex;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid #c7d8e2;
	border-radius: 50%;
	background: #f7fafc;
	color: #10264f;
	font-size: 25px;
	cursor: pointer;
}

.tuserco-calendar-popup .tuserco-calendar-pro-day-panels {
	padding: 20px 24px 24px;
}

.tuserco-calendar-popup .tuserco-calendar-pro-day-offer {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 190px;
	gap: 20px;
	align-items: center;
	padding: 16px;
	border: 1px solid #d6e4ec;
	border-radius: 7px;
	background: #fff;
}

.tuserco-calendar-popup .tuserco-calendar-pro-day-offer + .tuserco-calendar-pro-day-offer {
	margin-top: 12px;
}

.tuserco-calendar-pro-day-offer-thumb {
	display: flex;
	width: 100%;
	aspect-ratio: 4 / 3;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 5px;
	background: #e5eef3;
	color: #10264f;
	font-size: 30px;
	font-weight: 900;
	text-decoration: none;
}

.tuserco-calendar-pro-day-offer-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 180ms ease;
}

.tuserco-calendar-pro-day-offer-thumb:hover img,
.tuserco-calendar-pro-day-offer-thumb:focus img {
	transform: scale(1.03);
}

.tuserco-calendar-pro-day-offer-main {
	min-width: 0;
}

.tuserco-calendar-pro-day-offer-date {
	color: #087fb8;
	font-size: 12px;
	font-weight: 900;
}

.tuserco-calendar-pro-day-offer-main h4 {
	margin: 5px 0 9px;
	color: #10264f;
	font-size: 19px;
	font-weight: 900;
	line-height: 1.25;
}

.tuserco-calendar-pro-day-offer-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.tuserco-calendar-pro-day-offer-meta span {
	display: inline-flex;
	padding: 5px 8px;
	border-radius: 999px;
	background: #eef4f7;
	color: #526b80;
	font-size: 12px;
	font-weight: 700;
}

.tuserco-calendar-pro-day-offer-side {
	display: grid;
	gap: 12px;
	justify-items: end;
	text-align: right;
}

.tuserco-calendar-pro-day-offer-side > strong {
	color: #10264f;
	font-size: 22px;
	font-weight: 900;
}

.tuserco-calendar-pro-day-offer-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 7px;
}

.tuserco-calendar-pro-link-primary {
	border-color: #0b91ca;
	background: #0b91ca;
	color: #fff;
}

.tuserco-calendar-pro-link-whatsapp {
	border-color: #1b8f5a;
	background: #fff;
	color: #147447;
}

.tuserco-calendar-pro-link-whatsapp:hover,
.tuserco-calendar-pro-link-whatsapp:focus {
	border-color: #147447;
	background: #e8f7ef;
	color: #0e6039;
}

body.tuserco-calendar-popup-open {
	overflow: hidden;
}

/* Premium calendar refinement: clearer hierarchy, quieter chrome and stronger states. */
.tuserco-scope .tuserco-calendar-pro {
	--tuserco-calendar-navy: #0b244b;
	--tuserco-calendar-blue: #0b9ed8;
	--tuserco-calendar-sky: #eaf7fd;
	--tuserco-calendar-line: #d7e4ec;
	--tuserco-calendar-muted: #60778a;
	border-radius: 7px;
	box-shadow: 0 12px 34px rgba(11, 36, 75, .08);
}

.tuserco-scope .tuserco-calendar-pro-hero {
	padding: 28px 32px;
	border-bottom-width: 3px;
	background: var(--tuserco-calendar-navy);
}

.tuserco-scope .tuserco-calendar-pro-hero h2 {
	font-size: clamp(28px, 3vw, 38px);
}

.tuserco-scope .tuserco-calendar-pro-summary {
	min-width: 170px;
	border-radius: 6px;
	background: rgba(255, 255, 255, .08);
}

.tuserco-scope .tuserco-calendar-pro-filters {
	gap: 14px;
	padding: 20px 24px;
	background: #f8fafc;
}

.tuserco-scope .tuserco-calendar-pro-filters input {
	border-color: #c8d9e3;
	background: #fff;
	box-shadow: 0 1px 0 rgba(11, 36, 75, .03);
}

.tuserco-scope .tuserco-calendar-pro-toolbar {
	padding: 13px 16px;
	background: #fff;
}

.tuserco-scope .tuserco-calendar-pro-toolbar h3 {
	font-size: clamp(20px, 2.1vw, 25px);
	letter-spacing: 0;
}

.tuserco-scope .tuserco-calendar-pro-nav {
	min-width: 104px;
	min-height: 38px;
	gap: 7px;
	padding: 7px 13px;
	border-color: #c6d9e4;
	box-shadow: none;
}

.tuserco-scope .tuserco-calendar-pro-nav span[aria-hidden="true"] {
	font-size: 22px;
	font-weight: 500;
	line-height: .7;
}

.tuserco-scope .tuserco-calendar-pro-legend {
	justify-content: center;
	gap: 16px;
	padding: 8px 16px;
	background: #fbfcfd;
}

.tuserco-scope .tuserco-calendar-pro-legend > span {
	padding: 2px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.tuserco-scope .tuserco-calendar-pro-help {
	justify-content: center;
	padding: 8px 16px;
	background: #fbfcfd;
}

.tuserco-scope .tuserco-calendar-pro-grid {
	border-color: var(--tuserco-calendar-line);
	background: var(--tuserco-calendar-line);
}

.tuserco-scope .tuserco-calendar-pro-weekday {
	padding: 9px 6px;
	background: #eef4f7;
	color: #39556e;
	font-size: 11px;
}

.tuserco-scope .tuserco-calendar-pro-day {
	min-height: 120px;
	max-height: 360px;
	overflow-y: auto;
	padding: 7px;
	border-color: var(--tuserco-calendar-line);
}

.tuserco-scope .tuserco-calendar-pro-day.is-weekend:not(.has-events) {
	background: #fafcfd;
}

.tuserco-scope .tuserco-calendar-pro-day.has-events {
	min-height: 170px;
	background: #fff;
}

.tuserco-scope .tuserco-calendar-pro-day.has-events::after {
	height: 3px;
	background: #2b9b61;
}

.tuserco-scope .tuserco-calendar-pro-day.has-limited-events::after {
	background: #e5a915;
}

.tuserco-scope .tuserco-calendar-pro-day.has-unavailable-events::after {
	background: #c85151;
}

.tuserco-scope .tuserco-calendar-pro-day.has-events:hover {
	background: #f7fcfe;
	box-shadow: inset 0 0 0 2px rgba(11, 158, 216, .32);
}

.tuserco-scope .tuserco-calendar-pro-day.is-selected {
	background: #f3fbfe;
	box-shadow: inset 0 0 0 2px var(--tuserco-calendar-blue);
}

.tuserco-scope .tuserco-calendar-pro-day-trigger {
	min-height: 27px;
	margin-bottom: 5px;
}

.tuserco-scope .tuserco-calendar-pro-day-trigger:focus-visible {
	border-radius: 5px;
	outline: 3px solid rgba(11, 158, 216, .3);
	outline-offset: 2px;
}

.tuserco-scope .tuserco-calendar-pro-day-number {
	width: 26px;
	height: 26px;
	border-radius: 5px;
	font-size: 13px;
}

.tuserco-scope .tuserco-calendar-pro-day.is-today .tuserco-calendar-pro-day-number {
	box-shadow: 0 0 0 3px rgba(11, 158, 216, .16);
}

.tuserco-scope .tuserco-calendar-pro-day-count {
	padding: 3px 6px;
	border-radius: 999px;
	background: #e4f5eb;
	color: #166b3e;
	font-size: 10px;
}

.tuserco-scope .tuserco-calendar-pro-day.has-limited-events .tuserco-calendar-pro-day-count {
	background: #fff2c9;
	color: #745404;
}

.tuserco-scope .tuserco-calendar-pro-day.has-unavailable-events .tuserco-calendar-pro-day-count {
	background: #fdeaea;
	color: #8a3030;
}

.tuserco-scope .tuserco-calendar-pro-event {
	gap: 2px;
	padding: 5px 6px;
	border-left-width: 3px;
	border-radius: 5px;
	cursor: pointer;
}

.tuserco-scope .tuserco-calendar-pro-event-title {
	font-size: 11px;
	letter-spacing: 0;
	white-space: normal;
}

.tuserco-scope .tuserco-calendar-pro-agenda {
	padding: 22px;
	border-top: 1px solid var(--tuserco-calendar-line);
	background: #f7fafc;
}

.tuserco-scope .tuserco-calendar-pro-agenda h3 {
	margin-bottom: 14px;
	font-size: 21px;
}

.tuserco-scope .tuserco-calendar-pro-agenda-list {
	gap: 12px;
}

.tuserco-scope .tuserco-calendar-pro-agenda-item {
	grid-template-columns: 108px minmax(0, 1fr);
	gap: 4px 14px;
	padding: 13px 14px;
	border-radius: 6px;
}

.tuserco-scope .tuserco-calendar-pro-agenda-item > span {
	display: grid;
	align-content: center;
	padding-right: 16px;
	color: #087fb8;
	font-size: 13px;
	line-height: 1.4;
}

.tuserco-scope .tuserco-calendar-pro-agenda-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.tuserco-scope .tuserco-calendar-pro-agenda-meta strong {
	color: var(--tuserco-calendar-navy);
	font-size: 13px;
}

.tuserco-scope .tuserco-calendar-pro-status {
	display: inline-flex;
	align-items: center;
	padding: 4px 8px;
	border-radius: 999px;
	background: #e4f5eb;
	color: #166b3e;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
}

.tuserco-scope .tuserco-calendar-pro-status-last-seats,
.tuserco-scope .tuserco-calendar-pro-status-plazas-limitadas {
	background: #fff2c9;
	color: #745404;
}

.tuserco-scope .tuserco-calendar-pro-status-full,
.tuserco-scope .tuserco-calendar-pro-status-completa,
.tuserco-scope .tuserco-calendar-pro-status-cancelada,
.tuserco-scope .tuserco-calendar-pro-status-expired,
.tuserco-scope .tuserco-calendar-pro-status-caducada {
	background: #fdeaea;
	color: #8a3030;
}

.tuserco-scope .tuserco-calendar-popup-backdrop {
	background: rgba(5, 20, 38, .76);
}

.tuserco-scope .tuserco-calendar-popup-dialog {
	border: 0;
	border-radius: 8px;
	box-shadow: 0 34px 100px rgba(0, 0, 0, .34);
}

.tuserco-scope .tuserco-calendar-popup-head {
	padding: 22px 26px;
	border-bottom: 3px solid #f5c400;
	background: var(--tuserco-calendar-navy);
}

.tuserco-scope .tuserco-calendar-popup-head p {
	color: #70cff1;
}

.tuserco-scope .tuserco-calendar-popup-head h3 {
	color: #fff;
}

.tuserco-scope .tuserco-calendar-popup-head button {
	border-color: rgba(255, 255, 255, .3);
	background: rgba(255, 255, 255, .1);
	color: #fff;
}

.tuserco-scope .tuserco-calendar-popup-head button:hover,
.tuserco-scope .tuserco-calendar-popup-head button:focus-visible {
	border-color: #fff;
	background: #fff;
	color: var(--tuserco-calendar-navy);
}

.tuserco-scope .tuserco-calendar-popup .tuserco-calendar-pro-day-panels {
	padding: 24px 26px 28px;
	background: #f6f9fb;
}

.tuserco-scope .tuserco-calendar-popup .tuserco-calendar-pro-day-offer {
	padding: 18px;
	border-color: #d5e3eb;
	border-left: 4px solid var(--tuserco-calendar-blue);
	border-radius: 6px;
	box-shadow: 0 8px 22px rgba(11, 36, 75, .06);
}

.tuserco-scope .tuserco-calendar-pro-day-offer-thumb {
	border-radius: 5px;
}

.tuserco-scope .tuserco-calendar-pro-day-offer-side > strong {
	font-size: 24px;
}

html.tuserco-modal-is-open,
body.tuserco-calendar-popup-open {
	overflow: hidden;
}

@media (max-width: 1040px) {
	.tuserco-scope .tuserco-offers-calendar-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 24px 0 28px 24px;
	}

	.tuserco-scope .tuserco-offers-calendar-hero h1 {
		font-size: 40px;
	}

	.tuserco-scope .tuserco-next-offers-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tuserco-scope .tuserco-calendar-pro-day {
		min-height: 112px;
		padding: 6px;
	}
}

@media (max-width: 820px) {
	.tuserco-scope.tuserco-offers-calendar-page {
		padding: 22px 18px 60px;
	}

	.tuserco-scope .tuserco-offers-calendar-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.tuserco-scope .tuserco-offers-calendar-hero-card {
		grid-template-columns: auto 1fr;
		justify-items: start;
		text-align: left;
	}

	.tuserco-scope .tuserco-offers-calendar-hero-card .tuserco-brand-logo {
		grid-row: 1 / span 3;
		width: 130px;
		margin: 0 14px 0 0;
	}

	.tuserco-scope .tuserco-calendar-pro-hero {
		grid-template-columns: 1fr;
	}

	.tuserco-scope .tuserco-calendar-pro-summary {
		justify-items: start;
		text-align: left;
	}

	.tuserco-scope .tuserco-calendar-pro-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tuserco-scope .tuserco-calendar-pro-button {
		width: 100%;
	}

	.tuserco-calendar-popup .tuserco-calendar-pro-day-offer {
		grid-template-columns: 120px minmax(0, 1fr);
	}

	.tuserco-calendar-pro-day-offer-side {
		grid-column: 1 / -1;
		grid-template-columns: auto 1fr;
		align-items: center;
		justify-items: start;
		text-align: left;
	}

	.tuserco-calendar-pro-day-offer-actions {
		justify-content: flex-end;
		justify-self: end;
	}
}

@media (max-width: 640px) {
	.tuserco-scope.tuserco-offers-calendar-page {
		padding: 12px 10px 44px;
	}

	.tuserco-scope .tuserco-offers-calendar-hero,
	.tuserco-scope .tuserco-offers-calendar-section-offers,
	.tuserco-scope .tuserco-offers-calendar-cta {
		padding: 20px 16px;
	}

	.tuserco-scope .tuserco-offers-calendar-hero h1 {
		font-size: 32px;
	}

	.tuserco-scope .tuserco-offers-calendar-hero-copy > p:not(.tuserco-section-eyebrow) {
		font-size: 16px;
	}

	.tuserco-scope .tuserco-offers-calendar-actions,
	.tuserco-scope .tuserco-offers-calendar-actions .tuserco-button,
	.tuserco-scope .tuserco-trip-card-actions,
	.tuserco-scope .tuserco-trip-card-actions .tuserco-button {
		width: 100%;
	}

	.tuserco-scope .tuserco-offers-calendar-hero-card {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.tuserco-scope .tuserco-offers-calendar-hero-card .tuserco-brand-logo {
		grid-row: auto;
		margin: 0 0 8px;
	}

	.tuserco-scope .tuserco-next-offers-grid,
	.tuserco-scope .tuserco-calendar-pro-filters {
		grid-template-columns: 1fr;
	}

	.tuserco-scope .tuserco-offers-calendar-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tuserco-scope .tuserco-offers-calendar-metric {
		min-height: 72px;
		padding: 12px 14px;
	}

	.tuserco-scope .tuserco-offers-calendar-metric span {
		font-size: 12px;
	}

	.tuserco-scope .tuserco-offers-calendar-metric strong {
		font-size: 20px;
	}

	.tuserco-scope .tuserco-offers-calendar-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.tuserco-scope .tuserco-offers-calendar-heading h2,
	.tuserco-scope .tuserco-offers-calendar-cta h2 {
		font-size: 30px;
	}

	.tuserco-scope .tuserco-calendar-pro-hero {
		padding: 24px 18px;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar {
		grid-template-columns: 1fr 1fr;
		padding: 11px;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar h3 {
		grid-column: 1 / -1;
		grid-row: 1;
		font-size: 19px;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav {
		width: 100%;
	}

	.tuserco-scope .tuserco-calendar-pro-grid {
		grid-template-columns: repeat(7, minmax(42px, 1fr));
		min-width: 0;
	}

	.tuserco-scope .tuserco-calendar-pro-weekday {
		padding: 9px 2px;
		font-size: 12px;
	}

	.tuserco-scope .tuserco-calendar-pro-day {
		min-height: 112px;
		max-height: 230px;
		padding: 4px;
	}

	.tuserco-scope .tuserco-calendar-pro-day.has-events {
		padding: 4px;
	}

	.tuserco-scope .tuserco-calendar-pro-day-trigger {
		align-items: flex-start;
		min-height: 44px;
		margin: 0 0 4px;
		padding: 0;
	}

	.tuserco-scope .tuserco-calendar-pro-day-number {
		width: 25px;
		height: 25px;
		font-size: 12px;
	}

	.tuserco-scope .tuserco-calendar-pro-day-count {
		position: static;
		width: auto;
		height: auto;
		padding: 2px 5px;
		overflow: visible;
		border-radius: 999px;
		background: #2ea567;
		color: #fff;
		font-size: 9px;
	}

	.tuserco-scope .tuserco-calendar-pro-day.has-limited-events .tuserco-calendar-pro-day-count {
		background: #e5a915;
	}

	.tuserco-scope .tuserco-calendar-pro-day.has-unavailable-events .tuserco-calendar-pro-day-count {
		background: #c85151;
	}

	.tuserco-scope .tuserco-calendar-pro-event {
		display: grid;
		width: auto;
		height: auto;
		margin-top: 4px;
		padding: 5px;
		overflow: visible;
		border-radius: 5px;
		font-size: 10px;
		white-space: normal;
	}

	.tuserco-scope .tuserco-calendar-pro-event-title {
		display: -webkit-box;
		overflow: hidden;
		font-size: 10px;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.tuserco-scope .tuserco-calendar-pro-event-meta {
		display: none;
	}

	.tuserco-scope .tuserco-calendar-pro-legend {
		gap: 10px;
		padding: 10px 14px;
	}

	.tuserco-scope .tuserco-calendar-pro-help {
		padding: 10px 14px;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda {
		padding: 20px 14px;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda-list {
		grid-template-columns: 1fr;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda-item {
		grid-template-columns: 1fr;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda-item > span,
	.tuserco-scope .tuserco-calendar-pro-agenda-item strong,
	.tuserco-scope .tuserco-calendar-pro-agenda-item em,
	.tuserco-scope .tuserco-calendar-pro-agenda-item small {
		grid-column: 1;
		grid-row: auto;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda-item > span {
		padding: 0 0 7px;
		border-right: 0;
		border-bottom: 1px solid #d6e4ec;
	}

	.tuserco-calendar-popup {
		padding: 8px;
	}

	.tuserco-calendar-popup-dialog {
		width: calc(100vw - 16px);
		max-height: 92vh;
	}

	.tuserco-calendar-popup-head,
	.tuserco-calendar-popup .tuserco-calendar-pro-day-panels {
		padding: 16px;
	}

	.tuserco-calendar-popup .tuserco-calendar-pro-day-offer {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 12px;
		padding: 12px;
	}

	.tuserco-calendar-pro-day-offer-main h4 {
		font-size: 16px;
	}

	.tuserco-calendar-pro-day-offer-side {
		grid-template-columns: 1fr;
	}

	.tuserco-calendar-pro-day-offer-actions {
		width: 100%;
		justify-content: stretch;
		justify-self: stretch;
	}

	.tuserco-calendar-pro-day-offer-actions .tuserco-calendar-pro-link {
		flex: 1;
		padding-inline: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tuserco-scope .tuserco-button,
	.tuserco-scope .tuserco-calendar-pro-link,
	.tuserco-scope .tuserco-next-offer-card,
	.tuserco-scope .tuserco-next-offer-image img,
	.tuserco-calendar-pro-day-offer-thumb img {
		transition: none;
	}
}

/* Mobile editorial refinement: keep the calendar dense and the journey list light. */
@media (max-width: 640px) {
	.tuserco-scope.tuserco-offers-calendar-page {
		padding: 0 0 48px;
	}

	.tuserco-scope .tuserco-offers-calendar-hero {
		min-height: 0;
		align-content: end;
		padding: 22px 18px 26px;
		border-radius: 0;
		box-shadow: none;
	}

	.tuserco-scope .tuserco-offers-calendar-hero.has-image {
		min-height: 320px;
		padding: 32px 20px 28px;
	}

	.tuserco-scope .tuserco-offers-calendar-hero-media::after {
		background: linear-gradient(180deg, rgba(5, 26, 57, .30) 0%, rgba(5, 26, 57, .68) 48%, rgba(5, 26, 57, .96) 100%);
	}

	.tuserco-scope .tuserco-offers-calendar-hero h1 {
		max-width: 12ch;
		margin-bottom: 9px;
		font-size: clamp(30px, 9vw, 36px);
		line-height: 1.08;
	}

	.tuserco-scope .tuserco-offers-calendar-hero-copy > p:not(.tuserco-section-eyebrow) {
		max-width: 34ch;
		font-size: 15px;
		line-height: 1.55;
	}

	.tuserco-scope .tuserco-offers-calendar-actions {
		gap: 8px;
		margin-top: 20px;
	}

	.tuserco-scope .tuserco-offers-calendar-metrics,
	.tuserco-scope .tuserco-offers-calendar-section-calendar,
	.tuserco-scope .tuserco-offers-calendar-section-offers,
	.tuserco-scope .tuserco-offers-calendar-cta {
		width: auto;
		margin-right: 12px;
		margin-left: 12px;
	}

	.tuserco-scope .tuserco-calendar-pro {
		border-right: 0;
		border-left: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.tuserco-scope .tuserco-calendar-pro-hero {
		padding: 22px 16px;
	}

	.tuserco-scope .tuserco-calendar-pro-hero h2 {
		font-size: 28px;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda {
		padding: 22px 0 0;
		background: #fff;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda h3 {
		padding: 0 16px;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda-list {
		gap: 0;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda-item {
		padding: 16px;
		border: 0;
		border-top: 1px solid #d6e4ec;
		border-radius: 0;
		box-shadow: none;
	}

	.tuserco-scope .tuserco-calendar-pro-agenda-item:hover,
	.tuserco-scope .tuserco-calendar-pro-agenda-item:focus {
		border-color: #0b91ca;
		box-shadow: none;
		transform: none;
	}

	.tuserco-scope .tuserco-offers-calendar-section-offers,
	.tuserco-scope .tuserco-offers-calendar-cta {
		padding: 30px 16px;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.tuserco-scope .tuserco-next-offers-grid {
		gap: 0;
	}

	.tuserco-scope .tuserco-next-offer-card {
		padding: 22px 0;
		border: 0;
		border-bottom: 1px solid #d6e4ec;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.tuserco-scope .tuserco-next-offer-card:hover {
		border-bottom-color: #0b91ca;
		box-shadow: none;
	}

	.tuserco-scope .tuserco-next-offer-image {
		border-radius: 6px;
	}
}

/*
 * Editorial calendar layout.
 * Keep the monthly grid as the main interface and remove redundant framing.
 */
.tuserco-scope .tuserco-offers-calendar-section-calendar .tuserco-calendar-pro-toolbar {
	border-top: 0;
}

.tuserco-scope .tuserco-offers-calendar-actions .tuserco-button:first-child {
	display: none;
}

.tuserco-scope .tuserco-calendar-pro {
	overflow: visible;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.tuserco-scope .tuserco-calendar-pro-toolbar {
	border: 1px solid var(--tuserco-calendar-line);
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
}

.tuserco-scope .tuserco-calendar-pro-legend {
	justify-content: center;
	padding: 10px 20px;
	border-right: 1px solid var(--tuserco-calendar-line);
	border-left: 1px solid var(--tuserco-calendar-line);
	background: #fff;
}

.tuserco-scope .tuserco-calendar-pro-legend > span {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.tuserco-scope .tuserco-calendar-pro-help {
	justify-content: center;
	padding: 9px 20px;
	border-right: 1px solid var(--tuserco-calendar-line);
	border-left: 1px solid var(--tuserco-calendar-line);
}

.tuserco-scope .tuserco-calendar-pro-grid {
	border-radius: 0 0 8px 8px;
}

@media (max-width: 640px) {
	.tuserco-scope .tuserco-offers-calendar-hero {
		min-height: 0;
		padding: 22px 18px 26px;
	}

	.tuserco-scope .tuserco-offers-calendar-hero.has-image {
		min-height: 320px;
		padding: 32px 20px 28px;
	}

	.tuserco-scope .tuserco-offers-calendar-actions .tuserco-button:first-child {
		display: none;
	}

	.tuserco-scope .tuserco-offers-calendar-actions .tuserco-button {
		width: auto;
		min-width: 190px;
	}

	.tuserco-scope .tuserco-offers-calendar-section-calendar {
		margin-top: 18px;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar {
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		gap: 8px;
		padding: 12px 10px;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
	}

	.tuserco-scope .tuserco-offers-calendar-section-calendar .tuserco-calendar-pro-toolbar {
		padding: 12px 10px;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar h3 {
		grid-column: 2;
		grid-row: 1;
		font-size: 20px;
		white-space: nowrap;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav {
		position: relative;
		width: 44px;
		min-width: 44px;
		height: 44px;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		color: transparent;
		white-space: nowrap;
		box-shadow: none;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav::before {
		position: absolute;
		inset: 0;
		display: grid;
		place-items: center;
		color: #0b244b;
		content: "\2039";
		font-size: 26px;
		font-weight: 500;
		line-height: 1;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav:last-child::before {
		content: "\203A";
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav:first-child {
		grid-column: 1;
		grid-row: 1;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav:last-child {
		grid-column: 3;
		grid-row: 1;
	}

	.tuserco-scope .tuserco-calendar-pro-toolbar .tuserco-calendar-pro-nav span[aria-hidden="true"] {
		display: none;
	}

	.tuserco-scope .tuserco-calendar-pro-legend {
		gap: 12px;
		justify-content: flex-start;
		padding: 9px 12px;
		overflow-x: auto;
		border-right: 0;
		border-left: 0;
		scrollbar-width: none;
		white-space: nowrap;
	}

	.tuserco-scope .tuserco-calendar-pro-legend::-webkit-scrollbar {
		display: none;
	}

	.tuserco-scope .tuserco-calendar-pro-help {
		justify-content: flex-start;
		padding: 8px 12px;
		border-right: 0;
		border-left: 0;
		font-size: 11px;
	}

	.tuserco-scope .tuserco-calendar-pro-help > span {
		width: 18px;
		height: 18px;
		flex-basis: 18px;
	}

	.tuserco-scope .tuserco-calendar-pro-grid {
		border-radius: 0;
	}

	.tuserco-scope .tuserco-offers-calendar-section-offers {
		margin-top: 30px;
	}
}

/* Compact mobile calendar spacing without clipping its legend. */
@media (max-width: 640px) {
	.tuserco-scope .tuserco-offers-calendar-section-calendar {
		width: calc(100% - 32px);
		margin-top: 16px;
	}

	.tuserco-scope .tuserco-calendar-pro-legend {
		flex-wrap: wrap;
		gap: 7px 14px;
		padding: 9px 12px;
		overflow: visible;
		white-space: normal;
	}

	.tuserco-scope .tuserco-offers-calendar-section-offers {
		margin-top: 24px;
		padding-top: 26px;
		padding-bottom: 26px;
	}

	.tuserco-scope .tuserco-offers-calendar-cta {
		padding-top: 26px;
		padding-bottom: 26px;
	}
}
