/* ------------------------------------------------------------------
   F1 Hungaroring pages — shared stylesheet
   Consolidated from the previously-inline <style> blocks of:
     - reservation form (form-f1-1.html) + thank-you (form-f1-3.html)  -> .hgp
     - step-0 pricing card (box.f1.middle.main.php)                    -> #hgpPricing
     - race weekend schedule page (box.f1.schedule.2026.html)          -> #hgpSchedule
   Linked once from layout.f1.html. Saira Condensed / Barlow are loaded
   per-page via the head config.

   NOTE: the three scopes are kept isolated on purpose. They reuse the
   same .hgp-* class NAMES with DIFFERENT values (e.g. .hgp-title is 30px
   under .hgp but 38px under #hgpPricing), so a single shared scope would
   cross-contaminate. #hgpSchedule uses its own .sched-* class names.
   Shared tokens live as literal values in each block.
   ------------------------------------------------------------------ */

/* ===================================================================
   1) Reservation form + thank-you card                         (.hgp)
   =================================================================== */
.hgp,
.hgp * {
	box-sizing: border-box;
}

.hgp {
	font-family: 'Barlow', system-ui, sans-serif;
}

/* Card: transparent so the page's dotted 404 backdrop shows through
	   (background/shadow intentionally omitted). */
.hgp .hgp-card {
	border-radius: 2px;
	overflow: hidden;
	max-width: 440px;
}

/* 5px checkered strip along the top edge. */
.hgp .hgp-strip {
	height: 5px;
	margin: 5px 22px 0;
	background-image: conic-gradient(#16181d 90deg, #fff 0 180deg, #16181d 0 270deg, #fff 0);
	background-size: 10px 10px;
	opacity: .85;
}

.hgp .hgp-head {
	padding: 22px 28px 0;
}

.hgp .hgp-title {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	color: #16181d;
	margin: 0;
	text-transform: uppercase;
}

.hgp .hgp-title .hgp-title-accent {
	color: #E2122E;
}

.hgp .hgp-subline {
	font-size: 12.5px;
	color: #9aa0aa;
	margin-top: 6px;
}

.hgp .hgp-body {
	padding: 20px 28px 28px;
}

/* Numbered rail */
.hgp .hgp-block {
	display: flex;
	gap: 15px;
}

.hgp .hgp-rail {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: none;
}

.hgp .hgp-num {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #16181d;
	color: #fff;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hgp .hgp-connector {
	width: 2px;
	flex: 1;
	background: #ececef;
	margin-top: 6px;
}

/* Block 4 (#availhotel) is hidden for non-taxi routes; drop the connector that
	   would otherwise dangle below block 3. :has() degrades gracefully if unsupported. */
.hgp .hgp-block:has(+ #availhotel[style*="none"]) .hgp-connector {
	display: none;
}

.hgp .hgp-block-body {
	flex: 1;
	padding-bottom: 20px;
}

.hgp .hgp-block:last-child .hgp-block-body {
	padding-bottom: 0;
}

.hgp .hgp-block-title {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #16181d;
	margin: 4px 0 11px;
}

.hgp .hgp-stack {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.hgp .hgp-row {
	display: flex;
	gap: 10px;
}

/* Field + floating label */
.hgp .hgp-field {
	position: relative;
}

.hgp .hgp-flabel {
	position: absolute;
	top: -7px;
	left: 10px;
	background: #fff;
	padding: 0 5px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #1f9e5a;
	z-index: 1;
}

.hgp .hgp-input,
.hgp .hgp-select,
.hgp .hgp-textarea {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	border: 1.5px solid #d8dadf;
	border-radius: 6px;
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	color: #16181d;
	background: #fff;
}

.hgp .hgp-select {
	padding-right: 34px;
	font-weight: 500;
	appearance: none;
	-webkit-appearance: none;
}

.hgp .hgp-textarea {
	height: auto;
	padding: 12px 14px;
	line-height: 1.45;
	resize: vertical;
}

.hgp .hgp-input::placeholder,
.hgp .hgp-textarea::placeholder {
	color: #b6bac2;
}

.hgp .hgp-input:focus,
.hgp .hgp-select:focus,
.hgp .hgp-textarea:focus {
	outline: none;
	border-color: #1f9e5a;
	box-shadow: 0 0 0 3px rgba(31, 158, 90, .15);
}

/* Custom select chevron */
.hgp .hgp-chev {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: #9aa0aa;
	font-size: 11px;
}

.hgp .hgp-w140 {
	width: 140px;
	flex: none;
}

.hgp .hgp-f2 {
	flex: 2;
}

.hgp .hgp-f1 {
	flex: 1;
}

.hgp .hgp-returnwrap {
	flex: 1;
	min-width: 140px;
}

/* Return-departure field: red-accented to differentiate. */
.hgp .hgp-flabel-red {
	color: #E2122E;
}

.hgp .hgp-select-red {
	border-color: #f0b9c0;
}

.hgp .hgp-select-red:focus {
	border-color: #E2122E;
	box-shadow: 0 0 0 3px rgba(226, 18, 46, .13);
}

.hgp .hgp-help {
	font-size: 11.5px;
	color: #9aa0aa;
	margin-top: 8px;
}

/* Ground-transfer checkbox card */
.hgp .hgp-checkcard {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 12px 14px;
	background: #f4faf6;
	border: 1.5px solid #cfe8d8;
	border-radius: 6px;
	cursor: pointer;
}

.hgp .hgp-checkbox {
	width: 18px;
	height: 18px;
	accent-color: #1f9e5a;
	flex: none;
}

.hgp .hgp-check-copy {
	flex: 1;
	font-size: 13px;
	line-height: 1.4;
	color: #3f5a48;
}

.hgp .hgp-check-copy strong {
	color: #16181d;
}

.hgp .hgp-check-badge {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 10.5px;
	letter-spacing: .08em;
	color: #1f9e5a;
	text-transform: uppercase;
	flex: none;
}

.hgp .hgp-addr {
	margin-top: 14px;
}

/* Form-level error banner */
.hgp .hgp-error {
	margin-top: 22px;
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 12px 15px;
	background: #fbf2f3;
	border: 1.5px solid #f0b9c0;
	border-radius: 6px;
}

.hgp .hgp-error-icon {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #E2122E;
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.hgp .hgp-error-text {
	flex: 1;
	font-size: 13px;
	line-height: 1.45;
	color: #8a1522;
}

/* Dark pricing footer */
.hgp .hgp-foot {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: #16181d;
	border-radius: 8px;
	overflow: hidden;
}

.hgp .hgp-foot-fade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 180px;
	background-image: conic-gradient(rgba(255, 255, 255, .14) 90deg, transparent 0 180deg, rgba(255, 255, 255, .14) 0 270deg, transparent 0);
	background-size: 16px 16px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 75%);
	mask-image: linear-gradient(90deg, transparent, #000 75%);
	pointer-events: none;
}

.hgp .hgp-foot-price {
	flex: 1;
	position: relative;
}

.hgp .hgp-foot-label {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 600;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9aa0aa;
}

.hgp .hgp-foot-amount {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 28px;
	color: #fff;
	line-height: 1.1;
	min-height: 30px;
}

.hgp .hgp-foot-extra {
	font-size: 11px;
	color: #9aa0aa;
	margin-top: 3px;
}

.hgp .hgp-foot-extra b {
	color: #fff;
	font-weight: 600;
}

.hgp .hgp-cancel {
	flex: none;
	position: relative;
	color: #9aa0aa;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

/* Red Saira action button (form "Next" and thank-you "Homepage"). */
.hgp .hgp-next {
	flex: none;
	position: relative;
	background: #E2122E;
	color: #fff;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 12px 24px;
	border-radius: 6px;
	text-decoration: none;
	cursor: pointer;
	border: none;
}

.hgp .hgp-next:hover {
	background: #c50f27;
}

/* ===================== Thank-you page specifics ===================== */
.hgp .hgp-tyhead {
	padding: 26px 28px 0;
	text-align: center;
}

.hgp .hgp-tybadge {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #f4faf6;
	border: 1.5px solid #cfe8d8;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

.hgp .hgp-tyhead .hgp-title {
	margin-top: 14px;
}

.hgp .hgp-tyhead .hgp-subline {
	font-size: 13.5px;
	margin-top: 7px;
}

.hgp .hgp-tybody {
	padding: 22px 28px 28px;
}

.hgp .hgp-tycopy {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.7;
	color: #4a4f57;
	text-align: center;
}

.hgp .hgp-tylink {
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1.5px solid #1f9e5a;
	color: #1f9e5a;
}

/* "Confirmation within 24 hours" card */
.hgp .hgp-tynote {
	margin-top: 18px;
	padding: 15px 17px;
	border: 1px solid #ececef;
	border-radius: 8px;
	display: flex;
	gap: 13px;
	align-items: flex-start;
}

.hgp .hgp-tynote-icon {
	width: 38px;
	height: 38px;
	border-radius: 6px;
	background: #f3f4f6;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.hgp .hgp-tynote-title {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #16181d;
}

.hgp .hgp-tynote-body {
	font-size: 13px;
	line-height: 1.55;
	color: #6c727c;
	margin-top: 4px;
}

/* Spam callout */
.hgp .hgp-tyspam {
	margin-top: 11px;
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 11px 15px;
	background: #fdeccf;
	border-radius: 6px;
}

.hgp .hgp-tyspam-icon {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #8a5a00;
	color: #fff;
	font-weight: 700;
	font-size: 11px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.hgp .hgp-tyspam-text {
	font-size: 13px;
	font-weight: 600;
	color: #8a5a00;
}

/* Dark "save this number" WhatsApp block */
.hgp .hgp-tywa {
	margin-top: 18px;
	position: relative;
	overflow: hidden;
	background: #16181d;
	border-radius: 8px;
	padding: 18px;
}

.hgp .hgp-tyfade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 160px;
	background-image: conic-gradient(rgba(255, 255, 255, .12) 90deg, transparent 0 180deg, rgba(255, 255, 255, .12) 0 270deg, transparent 0);
	background-size: 16px 16px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 75%);
	mask-image: linear-gradient(90deg, transparent, #000 75%);
	pointer-events: none;
}

.hgp .hgp-tywa-inner {
	position: relative;
}

.hgp .hgp-tywa-title {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
}

.hgp .hgp-tywa-sub {
	font-size: 12.5px;
	color: #9aa0aa;
	margin-top: 3px;
}

.hgp .hgp-tycard {
	margin-top: 13px;
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border-radius: 6px;
	padding: 12px 15px;
	text-decoration: none;
	transition: box-shadow .15s, transform .15s;
}

.hgp .hgp-tycard:hover {
	box-shadow: 0 3px 10px rgba(0, 0, 0, .25);
	transform: translateY(-1px);
}

.hgp .hgp-tywa-badge {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #25D366;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.hgp .hgp-tynum {
	display: block;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 21px;
	color: #16181d;
	line-height: 1;
	letter-spacing: .02em;
}

.hgp .hgp-tycap {
	display: block;
	font-size: 11.5px;
	color: #6c727c;
	margin-top: 3px;
}

.hgp .hgp-tyarrow {
	color: #1f9e5a;
	font-size: 17px;
	flex: none;
}

/* Sign-off + homepage */
.hgp .hgp-tysign {
	margin-top: 22px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding-top: 18px;
	border-top: 1px solid #f0f0f2;
}

.hgp .hgp-tysign-text {
	flex: 1;
	font-size: 13px;
	line-height: 1.55;
	color: #6c727c;
}

.hgp .hgp-tysign-text strong {
	color: #16181d;
}

/* Responsive: stack the side-by-side rows on narrow viewports. */
@media (max-width: 480px) {
	.hgp .hgp-row {
		flex-direction: column;
	}

	.hgp .hgp-w140 {
		width: 100%;
	}

	.hgp .hgp-tysign {
		flex-direction: column;
		align-items: stretch;
	}

	.hgp .hgp-tysign .hgp-next {
		text-align: center;
	}
}

/* ===================================================================
   2) Step-0 pricing card                                 (#hgpPricing)
   =================================================================== */
#hgpPricing,
#hgpPricing * {
	box-sizing: border-box;
}

#hgpPricing {
	font-family: 'Barlow', system-ui, sans-serif;
}

#hgpPricing .hgp-card {
	/* No background/shadow so the page's 404bg.gif dotted backdrop shows through the gaps. */
	border-radius: 2px;
	max-width: 440px;
}

#hgpPricing .hgp-head {
	padding: 30px 30px 0;
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

#hgpPricing .hgp-bar {
	width: 5px;
	align-self: stretch;
	background: #E2122E;
	border-radius: 3px;
	min-height: 64px;
	flex: none;
}

#hgpPricing .hgp-eyebrow {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #1f9e5a;
}

#hgpPricing .hgp-title {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 38px;
	line-height: .96;
	color: #16181d;
	margin: 7px 0 5px;
	text-transform: uppercase;
}

#hgpPricing .hgp-subtitle {
	font-size: 15px;
	color: #6c727c;
	font-weight: 500;
}

#hgpPricing .hgp-banner {
	margin: 22px 30px 0;
	display: flex;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid #e8e8ea;
}

#hgpPricing .hgp-checker {
	width: 11px;
	flex: none;
	background-image: conic-gradient(#16181d 90deg, #fff 0 180deg, #16181d 0 270deg, #fff 0);
	background-size: 11px 11px;
}

#hgpPricing .hgp-banner-body {
	flex: 1;
	padding: 16px 20px;
}

#hgpPricing .hgp-banner-eyebrow {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #1f9e5a;
}

#hgpPricing .hgp-date {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 31px;
	color: #16181d;
	line-height: 1;
	margin: 6px 0 9px;
}

#hgpPricing .hgp-schedule {
	font-size: 13px;
	font-weight: 600;
	color: #16181d;
	text-decoration: none;
	border-bottom: 2px solid #1f9e5a;
	padding-bottom: 1px;
	transition: color .15s, border-color .15s;
}

#hgpPricing .hgp-schedule:hover {
	color: #1f9e5a;
	border-color: #16181d;
}

#hgpPricing .hgp-body {
	padding: 22px 30px 30px;
}

#hgpPricing .hgp-pricing-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

#hgpPricing .hgp-pricing-label {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #16181d;
}

#hgpPricing .hgp-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #fdeccf;
	color: #8a5a00;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 10.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 999px;
}

#hgpPricing .hgp-lastminute {
	margin: 0 0 14px;
	padding: 12px;
	border: 1px solid #E2122E;
	border-radius: 6px;
	text-align: center;
}

#hgpPricing .hgp-lm-title {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 15px;
	text-transform: uppercase;
	color: #E2122E;
}

#hgpPricing .hgp-lm-line {
	font-size: 12.5px;
	color: #6c727c;
	margin-top: 2px;
}

#hgpPricing .hgp-lm-phone {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: #16181d;
	margin-top: 2px;
}

#hgpPricing .hgp-tile-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

#hgpPricing .hgp-tile {
	display: flex;
	align-items: center;
	gap: 14px;
	border-radius: 6px;
	margin-bottom: 11px;
	transition: border-color .15s, box-shadow .15s;
}

/* Tiles are wrapped in .hgp-tile-link anchors, so each .hgp-tile is its
       anchor's only child — target the last anchor to zero just the last gap. */
#hgpPricing .hgp-tile-link:last-child .hgp-tile {
	margin-bottom: 0;
}

#hgpPricing .hgp-tile-std {
	padding: 15px 18px;
	border: 1px solid #ececef;
	background: #fff;
}

#hgpPricing .hgp-tile-std:hover {
	border-color: #c9ccd2;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
}

#hgpPricing .hgp-tile-feat {
	position: relative;
	padding: 18px;
	background: #16181d;
	overflow: hidden;
}

#hgpPricing .hgp-tile-feat:hover {
	box-shadow: 0 3px 10px rgba(0, 0, 0, .25);
}

#hgpPricing .hgp-ribbon {
	position: absolute;
	top: 0;
	right: 0;
	background: #E2122E;
	color: #fff;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 10px;
	letter-spacing: .12em;
	padding: 4px 11px;
	border-radius: 0 6px 0 8px;
}

#hgpPricing .hgp-chip {
	width: 50px;
	height: 50px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: .9;
}

#hgpPricing .hgp-chip-feat {
	background: #23262d;
	color: #ff5a6e;
}

#hgpPricing .hgp-chip-std {
	background: #f3f4f6;
	color: #16181d;
}

#hgpPricing .hgp-tier {
	flex: 1;
}

#hgpPricing .hgp-tier-name {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 18px;
	text-transform: uppercase;
	line-height: 1;
}

#hgpPricing .hgp-tier-sub {
	font-size: 12.5px;
	margin-top: 2px;
}

#hgpPricing .hgp-price {
	text-align: right;
}

#hgpPricing .hgp-from {
	font-size: 10.5px;
	color: #9aa0aa;
	font-weight: 600;
	line-height: 1;
}

#hgpPricing .hgp-amount {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 25px;
	line-height: 1.1;
}

#hgpPricing .hgp-eur {
	font-size: 13px;
	font-weight: 600;
	opacity: .7;
	white-space: nowrap;
}

#hgpPricing .is-feat {
	color: #fff;
}

#hgpPricing .is-feat-sub {
	color: #9aa0aa;
}

#hgpPricing .is-std {
	color: #16181d;
}

#hgpPricing .is-std-sub {
	color: #6c727c;
}

/* ===================================================================
   3) Race weekend schedule page                        (#hgpSchedule)
   =================================================================== */
#hgpSchedule,
#hgpSchedule * {
	box-sizing: border-box;
}

#hgpSchedule {
	font-family: 'Barlow', system-ui, sans-serif;
}

/* Card: transparent (page 404 backdrop shows through), no shadow. */
#hgpSchedule .hgp-card {
	border-radius: 2px;
	overflow: hidden;
	max-width: 440px;
}

#hgpSchedule .hgp-strip {
	height: 5px;
	margin: 5px 22px 0;
	background-image: conic-gradient(#16181d 90deg, #fff 0 180deg, #16181d 0 270deg, #fff 0);
	background-size: 10px 10px;
	opacity: .85;
}

#hgpSchedule .sched-head {
	padding: 26px 28px 0;
}

#hgpSchedule .sched-eyebrow {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #1f9e5a;
}

#hgpSchedule .sched-title {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: .98;
	color: #16181d;
	margin: 8px 0 0;
	text-transform: uppercase;
}

#hgpSchedule .sched-title-accent {
	color: #E2122E;
}

#hgpSchedule .sched-note {
	font-size: 12.5px;
	color: #9aa0aa;
	margin-top: 7px;
}

#hgpSchedule .sched-body {
	padding: 20px 28px 28px;
}

/* Date banner (same pattern as the old schedule banner). */
#hgpSchedule .sched-banner {
	display: flex;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid #e8e8ea;
}

#hgpSchedule .sched-checker {
	width: 11px;
	flex: none;
	background-image: conic-gradient(#16181d 90deg, #fff 0 180deg, #16181d 0 270deg, #fff 0);
	background-size: 11px 11px;
}

#hgpSchedule .sched-banner-body {
	flex: 1;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
}

#hgpSchedule .sched-banner-main {
	flex: 1;
}

#hgpSchedule .sched-date {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 27px;
	color: #16181d;
	line-height: 1;
}

#hgpSchedule .sched-series {
	font-size: 12.5px;
	color: #6c727c;
	margin-top: 4px;
}

/* Red action button (banner size; footer adds .sched-btn-lg). */
#hgpSchedule .sched-btn {
	flex: none;
	background: #E2122E;
	color: #fff;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 12.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 10px 16px;
	border-radius: 6px;
	text-decoration: none;
	cursor: pointer;
}

#hgpSchedule .sched-btn:hover {
	background: #c50f27;
}

#hgpSchedule .sched-btn-lg {
	font-size: 14px;
	letter-spacing: .08em;
	padding: 12px 24px;
}

/* Day header row */
#hgpSchedule .sched-day {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-top: 24px;
}

#hgpSchedule .sched-day-first {
	margin-top: 22px;
}

#hgpSchedule .sched-chip {
	width: 46px;
	height: 46px;
	border-radius: 6px;
	background: #f3f4f6;
	color: #16181d;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: .9;
}

#hgpSchedule .sched-chip-sun {
	background: #23262d;
	color: #ff5a6e;
}

#hgpSchedule .sched-dayhead {
	flex: 1;
}

#hgpSchedule .sched-dayname {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 19px;
	text-transform: uppercase;
	color: #16181d;
	line-height: 1;
}

#hgpSchedule .sched-raceday {
	font-size: 12px;
	color: #E2122E;
	letter-spacing: .1em;
}

#hgpSchedule .sched-daysub {
	font-size: 12.5px;
	color: #6c727c;
	margin-top: 2px;
}

#hgpSchedule .sched-booklink {
	flex: none;
	font-size: 12.5px;
	font-weight: 600;
	color: #16181d;
	text-decoration: none;
	border-bottom: 2px solid #1f9e5a;
	padding-bottom: 1px;
	transition: color .15s, border-color .15s;
}

#hgpSchedule .sched-booklink:hover {
	color: #1f9e5a;
	border-color: #16181d;
}

/* Session table */
#hgpSchedule .sched-table {
	margin-top: 12px;
	border: 1px solid #ececef;
	border-radius: 8px;
	overflow: hidden;
}

#hgpSchedule .sched-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 11px 15px;
	border-bottom: 1px solid #f0f0f2;
}

#hgpSchedule .sched-row:last-child {
	border-bottom: none;
}

#hgpSchedule .sched-time {
	width: 98px;
	flex: none;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: #6c727c;
}

#hgpSchedule .sched-sess {
	flex: 1;
	font-size: 13.5px;
	color: #4a4f57;
}

#hgpSchedule .sched-muted {
	color: #9aa0aa;
}

/* F1-session highlighted row */
#hgpSchedule .sched-row-f1 {
	background: #fbf2f3;
	border-left: 3px solid #E2122E;
	padding: 12px 15px;
}

#hgpSchedule .sched-row-f1 .sched-time {
	width: 95px;
	font-weight: 700;
	color: #16181d;
}

#hgpSchedule .sched-row-f1 .sched-sess {
	color: #16181d;
}

#hgpSchedule .sched-f1 {
	font-family: 'Saira Condensed', sans-serif;
	font-size: 14.5px;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #E2122E;
}

/* Grand Prix featured row */
#hgpSchedule .sched-row-gp {
	background: #16181d;
	border-bottom: none;
	padding: 14px 15px;
}

#hgpSchedule .sched-row-gp .sched-time {
	width: 95px;
	font-weight: 700;
	color: #fff;
}

#hgpSchedule .sched-row-gp .sched-sess {
	color: #fff;
}

#hgpSchedule .sched-gp {
	font-family: 'Saira Condensed', sans-serif;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #ff5a6e;
}

#hgpSchedule .sched-gp-sub {
	color: #9aa0aa;
	font-size: 12px;
}

#hgpSchedule .sched-pill {
	flex: none;
	background: #E2122E;
	color: #fff;
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 10px;
	letter-spacing: .12em;
	padding: 4px 10px;
	border-radius: 999px;
}

/* Footer CTA (same pattern as the form's dark footer). */
#hgpSchedule .sched-foot {
	margin-top: 22px;
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: #16181d;
	border-radius: 8px;
	overflow: hidden;
}

#hgpSchedule .sched-foot-fade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 180px;
	background-image: conic-gradient(rgba(255, 255, 255, .14) 90deg, transparent 0 180deg, rgba(255, 255, 255, .14) 0 270deg, transparent 0);
	background-size: 16px 16px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 75%);
	mask-image: linear-gradient(90deg, transparent, #000 75%);
	pointer-events: none;
}

#hgpSchedule .sched-foot-body {
	flex: 1;
	position: relative;
}

#hgpSchedule .sched-foot-label {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 600;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9aa0aa;
}

#hgpSchedule .sched-foot-line {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 21px;
	color: #fff;
	line-height: 1.1;
}

#hgpSchedule .sched-foot .sched-btn {
	position: relative;
}

/* Responsive */
@media (max-width: 480px) {
	#hgpSchedule .sched-day {
		flex-wrap: wrap;
	}

	#hgpSchedule .sched-booklink {
		flex-basis: 100%;
		margin-top: 8px;
	}

	#hgpSchedule .sched-time,
	#hgpSchedule .sched-row-f1 .sched-time,
	#hgpSchedule .sched-row-gp .sched-time {
		width: 80px;
	}

	#hgpSchedule .sched-banner-body {
		flex-wrap: wrap;
	}

	#hgpSchedule .sched-banner .sched-btn {
		flex-basis: 100%;
		text-align: center;
	}
}
