.tf-consent[hidden] {
	display: none !important;
}

.tf-consent {
	position: fixed;
	z-index: 999999;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	color: #fff;
	background: #181818;
	border: 1px solid rgba(255, 255, 255, 0.28);
	box-shadow: 0 18px 55px rgba(0, 0, 0, 0.38);
}

.tf-consent__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: end;
	max-width: 1180px;
	margin: 0 auto;
	padding: 1.25rem;
}

.tf-consent__copy {
	max-width: 760px;
}

.tf-consent__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6dc8ff;
}

.tf-consent h2 {
	margin: 0 0 0.45rem;
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	line-height: 1.15;
	color: #fff;
}

.tf-consent p {
	margin: 0.35rem 0 0;
	color: rgba(255, 255, 255, 0.82);
}

.tf-consent a,
.tf-footer-privacy a,
.tf-footer-privacy__choice {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.tf-consent__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(150px, 1fr));
	gap: 0.75rem;
}

.tf-consent__button {
	min-height: 48px;
	padding: 0.75rem 1rem;
	border: 1px solid #fff;
	border-radius: 999px;
	font: inherit;
	font-weight: 700;
	color: #fff;
	background: transparent;
	cursor: pointer;
}

.tf-consent__button:hover,
.tf-consent__button:focus-visible {
	color: #181818;
	background: #fff;
}

.tf-consent__button:focus-visible,
.tf-footer-privacy button:focus-visible,
.tf-footer-privacy a:focus-visible {
	outline: 3px solid #6dc8ff;
	outline-offset: 3px;
}

.ast-small-footer-section-1:has(.tf-footer-privacy) {
	display: grid;
	grid-template-columns: minmax(44px, 1fr) auto minmax(44px, 1fr);
	gap: 1rem;
	align-items: center;
	width: 100%;
	min-height: 48px;
	padding-inline: 20px;
	text-align: center;
	box-sizing: border-box;
}

.tf-footer-copyright {
	grid-column: 2;
}

.tf-footer-privacy {
	position: relative;
	grid-column: 3;
	justify-self: end;
	display: inline-grid;
	place-items: center;
}

.tf-footer-privacy__toggle {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	color: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
}

.tf-footer-privacy__toggle span {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 2px solid #fff;
	border-radius: 50%;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	font-style: normal;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	background: #111;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.tf-footer-privacy:hover .tf-footer-privacy__toggle span,
.tf-footer-privacy:focus-within .tf-footer-privacy__toggle span,
.tf-footer-privacy.is-open .tf-footer-privacy__toggle span {
	color: #111;
	background: #fff;
}

.tf-footer-privacy__toggle:hover span {
	transform: translateY(-1px);
}

.tf-footer-privacy__panel {
	position: absolute;
	z-index: 1000;
	right: 0;
	bottom: calc(100% + 0.35rem);
	display: grid;
	gap: 0.35rem;
	width: min(360px, calc(100vw - 2rem));
	padding: 0.8rem;
	color: #fff;
	text-align: left;
	background: #181818;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 12px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.38);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.tf-footer-privacy__panel::after {
	position: absolute;
	top: 100%;
	right: 0;
	width: 100%;
	height: 12px;
	content: "";
}

.tf-footer-privacy:hover .tf-footer-privacy__panel,
.tf-footer-privacy.is-open .tf-footer-privacy__panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.tf-footer-privacy.is-escape-closed .tf-footer-privacy__panel {
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	pointer-events: none;
}

.tf-footer-privacy__panel a,
.tf-footer-privacy__choice {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 44px;
	padding: 0.65rem 0.75rem !important;
	border: 0 !important;
	border-radius: 8px !important;
	font: inherit;
	font-size: inherit;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: normal;
	text-transform: none;
	color: #fff !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
}

.tf-footer-privacy__panel a:hover,
.tf-footer-privacy__panel a:focus-visible,
.tf-footer-privacy__choice:hover,
.tf-footer-privacy__choice:focus-visible {
	color: #111 !important;
	background: #ff4f7a !important;
	text-decoration-color: currentColor;
}

.tf-form-privacy-wrap {
	width: 100%;
	padding: 0.4rem 0 1.15rem;
}

.tf-form-privacy {
	position: relative;
	width: 100%;
}

.tf-form-privacy summary {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	padding: 0;
	border: 2px solid #111;
	border-radius: 50%;
	color: #fff;
	background: #111;
	cursor: pointer;
	list-style: none;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.tf-form-privacy summary::-webkit-details-marker {
	display: none;
}

.tf-form-privacy summary span {
	font-family: Georgia, serif;
	font-size: 22px;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-1px);
}

.tf-form-privacy:hover summary,
.tf-form-privacy summary:focus-visible,
.tf-form-privacy[open] summary {
	color: #111 !important;
	background: #fff !important;
	background-color: #fff !important;
}

.tf-form-privacy summary:hover {
	transform: translateY(-1px);
}

.tf-form-privacy summary:focus-visible {
	outline: 3px solid #2388c9;
	outline-offset: 3px;
}

.tf-form-privacy__panel {
	display: none;
	max-width: 520px;
	margin: 0.75rem auto 0;
	padding: 0.9rem 1rem;
	font-size: 0.9rem;
	line-height: 1.55;
	text-align: left;
	color: #222;
	background: #f4f2ee;
	border-left: 3px solid #111;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.tf-form-privacy:hover .tf-form-privacy__panel,
.tf-form-privacy:focus-within .tf-form-privacy__panel,
.tf-form-privacy[open] .tf-form-privacy__panel {
	display: block;
}

@media (max-width: 760px) {
	.tf-consent__inner {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.tf-consent__actions {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 420px) {
	.tf-consent {
		right: 0.5rem;
		bottom: 0.5rem;
		left: 0.5rem;
	}

	.tf-consent__inner {
		padding: 1rem;
	}

	.tf-consent__actions {
		grid-template-columns: 1fr;
	}

	.ast-small-footer-section-1:has(.tf-footer-privacy) {
		grid-template-columns: minmax(0, 1fr) 44px;
		gap: 0.75rem;
		padding-inline: 16px;
		text-align: left;
	}

	.tf-footer-copyright {
		grid-column: 1;
	}

	.tf-footer-privacy {
		grid-column: 2;
	}

	.tf-footer-privacy__panel {
		width: min(320px, calc(100vw - 3rem));
	}
}
