/**
 * GCC Virtuals — Privacy / Terms legal page content
 */

/* Neutral hero handoff — no wine tint above content */
body.gccvas-legal-page .gccvas-hero-content-transition {
	background: linear-gradient(
		180deg,
		#060f18 0%,
		#0a121c 14%,
		#141e28 30%,
		#3d4a56 52%,
		#9aa8b4 72%,
		#e8edf2 88%,
		#ffffff 100%
	);
}

.gccvas-legal-main {
	position: relative;
	background: #fff;
	padding: 2.5rem 0 4rem;
}

.gccvas-legal-main__inner {
	position: relative;
	max-width: 56rem;
	margin: 0 auto;
	padding: 0 1rem;
}

@media (min-width: 640px) {
	.gccvas-legal-main__inner { padding: 0 1.5rem; }
}

.gccvas-legal-meta {
	text-align: center;
	font-size: 0.8125rem;
	color: #64748b;
	margin-bottom: 1.75rem;
}

.gccvas-legal-meta strong { color: #475569; }

/* Jump nav */
.gccvas-legal-jump {
	margin-bottom: 2rem;
	padding: 1.25rem 1.2rem 1.1rem;
	border-radius: 1rem;
	background: #f8fafc;
	border: 1px solid rgba(2, 33, 58, 0.07);
	box-shadow: 0 4px 20px -12px rgba(2, 33, 58, 0.2);
}

.gccvas-legal-jump__label {
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #64748b;
	margin-bottom: 0.85rem;
	text-align: center;
}

.gccvas-legal-jump__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.45rem;
}

.gccvas-legal-jump-pill {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	flex: 0 1 calc(50% - 0.225rem);
	max-width: calc(50% - 0.225rem);
	min-height: 2.35rem;
	padding: 0.45rem 0.5rem;
	border-radius: 9999px;
	border: 1px solid rgba(2, 33, 58, 0.08);
	background: #fff;
	color: #02213a;
	font-size: 0.68rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 640px) {
	.gccvas-legal-jump-pill {
		flex: 0 1 calc(25% - 0.34rem);
		max-width: calc(25% - 0.34rem);
	}
}

@media (min-width: 1024px) {
	.gccvas-legal-jump-pill {
		flex: 0 1 calc(16.666% - 0.38rem);
		max-width: calc(16.666% - 0.38rem);
	}
}

.gccvas-legal-jump-pill:hover {
	background: #fff;
	border-color: rgba(2, 33, 58, 0.18);
	color: #02213a;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px -8px rgba(2, 33, 58, 0.35);
}

.gccvas-legal-jump-pill__num {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 1.3rem;
	height: 1.3rem;
	border-radius: 9999px;
	background: linear-gradient(135deg, #02213a, #031f35);
	color: #fff !important;
	font-size: 0.62rem;
	font-weight: 800;
	flex-shrink: 0;
	line-height: 1;
}

.gccvas-legal-jump--bottom {
	margin-top: 2rem;
	margin-bottom: 0;
}

/* Intro card */
.gccvas-legal-intro {
	background: #fafbfc;
	border-radius: 1rem;
	box-shadow: 0 4px 24px rgba(2, 33, 58, 0.06);
	padding: 2rem 1.85rem;
	margin-bottom: 2.5rem;
	border: 1px solid rgba(2, 33, 58, 0.06);
	border-top: 4px solid #5e1833;
	position: relative;
	overflow: hidden;
}

.gccvas-legal-intro::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 38%;
	height: 100%;
	background: linear-gradient(105deg, transparent 42%, rgba(2, 33, 58, 0.04) 100%);
	pointer-events: none;
}

.gccvas-legal-intro__title {
	font-family: Poppins, ui-sans-serif, system-ui, sans-serif;
	font-size: 1.55rem;
	font-weight: 800;
	color: #02213a;
	margin-bottom: 0.85rem;
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.gccvas-legal-intro__title i { color: #5e1833; }

.gccvas-legal-intro__text {
	font-size: 1rem;
	line-height: 1.75;
	color: #475569;
	text-align: justify;
	text-justify: inter-word;
	margin: 0;
}

/* Section blocks — AMX rules-card pattern */
.gccvas-legal-section {
	margin-bottom: 2.75rem;
	scroll-margin-top: 7rem;
}

.gccvas-legal-section__head {
	text-align: center;
	margin-bottom: 1.35rem;
}

.gccvas-legal-section__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #5e1833;
	margin-bottom: 0.4rem;
}

.gccvas-legal-section__title {
	font-family: Poppins, ui-sans-serif, system-ui, sans-serif;
	font-size: clamp(1.25rem, 2.5vw, 1.65rem);
	font-weight: 800;
	color: #02213a;
	margin: 0;
	line-height: 1.2;
}

.gccvas-legal-card {
	background: #fafbfc;
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(2, 33, 58, 0.05);
	border: 1px solid rgba(2, 33, 58, 0.06);
	border-top: 4px solid #02213a;
}

.gccvas-legal-card + .gccvas-legal-card {
	margin-top: 1rem;
}

.gccvas-legal-card--accent {
	border-top-color: #5e1833;
}

.gccvas-legal-card--highlight {
	border-top-color: #5e1833;
	border-left: 4px solid #5e1833;
}

.gccvas-legal-card__header {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 1.15rem 1.5rem 0.65rem;
	font-family: Poppins, ui-sans-serif, system-ui, sans-serif;
	font-weight: 700;
	font-size: 1rem;
	color: #02213a;
	border-bottom: 1px solid rgba(2, 33, 58, 0.07);
}

.gccvas-legal-card__header i {
	color: #5e1833;
	font-size: 1rem;
	width: 1.15rem;
	text-align: center;
}

.gccvas-legal-card__body {
	padding: 1.35rem 1.5rem 1.5rem;
	line-height: 1.72;
	color: #334155;
	font-size: 0.96rem;
}

.gccvas-legal-card__body p {
	margin-bottom: 0.85rem;
	text-align: justify;
	text-justify: inter-word;
}

.gccvas-legal-card__body p:last-child { margin-bottom: 0; }

.gccvas-legal-subcard {
	background: #fff;
	border-radius: 0.55rem;
	padding: 1.15rem 1.25rem;
	margin-bottom: 0.85rem;
	border-left: 3px solid #5e1833;
	box-shadow: 0 1px 4px rgba(2, 33, 58, 0.04);
}

.gccvas-legal-subcard:last-child { margin-bottom: 0; }

.gccvas-legal-subcard--navy { border-left-color: #02213a; }

.gccvas-legal-subcard__title {
	font-weight: 700;
	color: #02213a;
	margin-bottom: 0.45rem;
	font-size: 0.92rem;
}

.gccvas-legal-notice {
	background: linear-gradient(to right, rgba(94, 24, 51, 0.05), rgba(2, 33, 58, 0.05));
	border-left: 4px solid #5e1833;
	padding: 1.15rem 1.25rem;
	border-radius: 0.55rem;
	margin: 1rem 0 0;
}

.gccvas-legal-alert {
	background: rgba(2, 33, 58, 0.06);
	border-left: 4px solid #02213a;
	padding: 1.15rem 1.25rem;
	border-radius: 0.55rem;
	margin: 1rem 0 0;
	color: #334155;
}

.gccvas-legal-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gccvas-legal-list li {
	position: relative;
	padding-left: 1.35rem;
	margin-bottom: 0.55rem;
	line-height: 1.68;
	text-align: justify;
	text-justify: inter-word;
}

.gccvas-legal-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.58em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #5e1833;
}

.gccvas-legal-list--icon li {
	padding-left: 0;
}

.gccvas-legal-list--icon li::before { display: none; }

.gccvas-legal-list--icon li i {
	margin-right: 0.45rem;
	color: #5e1833;
	width: 1rem;
	text-align: center;
}

.gccvas-legal-card a,
.gccvas-legal-intro a {
	color: #5e1833;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid rgba(94, 24, 51, 0.22);
}

.gccvas-legal-card a:hover,
.gccvas-legal-intro a:hover {
	color: #3d0a1f;
	border-bottom-color: rgba(61, 10, 31, 0.5);
}

/* Quick links row (terms) */
.gccvas-legal-quicklinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 0.5rem;
}

.gccvas-legal-quicklink {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.65rem 1.1rem;
	border-radius: 0.75rem;
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gccvas-legal-quicklink:hover {
	transform: translateY(-2px);
}

.gccvas-legal-quicklink--navy {
	background: #02213a;
	color: #fff;
	box-shadow: 0 6px 20px -10px rgba(2, 33, 58, 0.6);
}

.gccvas-legal-quicklink--wine {
	background: #5e1833;
	color: #fff;
	box-shadow: 0 6px 20px -10px rgba(94, 24, 51, 0.55);
}

.gccvas-legal-quicklink--outline {
	border: 2px solid rgba(2, 33, 58, 0.15);
	color: #02213a;
	background: #fff;
}

.gccvas-legal-scroll-reveal {
	opacity: 1;
	transform: translateY(1.25rem);
	transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(.gccvas-page-loaded) .gccvas-legal-scroll-reveal {
	transition: none;
}

.gccvas-legal-scroll-reveal.gccvas-inview {
	transform: translateY(0);
}

/* Also support shared chrome script selector */
.gccvas-scroll-reveal.gccvas-inview {
	transform: translateY(0);
}

@media (max-width: 768px) {
	.gccvas-legal-intro,
	.gccvas-legal-card__body { padding: 1.25rem 1.15rem; }
	.gccvas-legal-intro__title { font-size: 1.3rem; }
}

@media (prefers-reduced-motion: reduce) {
	.gccvas-legal-scroll-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
