/**
 * AGS Appointments — public Thank You page presentation.
 *
 * The shell intentionally mirrors the public appointment form's neutral
 * canvas, bordered card and three-rail composition without loading that
 * form's interactive asset bundle.
 */

.ags-appointment-confirmation {
	--ags-confirmation-line: #e6e6e8;
	--ags-confirmation-muted: #6d6d70;
	--ags-confirmation-soft: #f3f3f4;
	box-sizing: border-box;
	margin: 0 auto;
	padding: clamp(1rem, 4vw, 3.5rem);
	background: var(--ags-confirmation-soft);
	box-shadow: 0 0 0 100vmax var(--ags-confirmation-soft);
	clip-path: inset(0 -100vmax);
	color: #1a1a1a;
	font-family: inherit;
	font-size: inherit;
	line-height: 1.5;
}

.ags-appointment-confirmation *,
.ags-appointment-confirmation *::before,
.ags-appointment-confirmation *::after {
	box-sizing: inherit;
}

.ags-appointment-confirmation [hidden] {
	display: none !important;
}

.ags-appointment-confirmation__shell {
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	border: 1px solid #e3e3e6;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 24px 60px -40px rgba(20, 20, 24, .35);
	overflow: hidden;
}

.ags-appointment-confirmation__layout {
	display: grid;
	grid-template-columns: minmax(210px, 280px) minmax(0, 1fr) minmax(210px, 280px);
	align-items: stretch;
}

.ags-appointment-confirmation__shell[data-show-left-panel="0"] .ags-appointment-confirmation__layout {
	grid-template-columns: minmax(0, 1fr) minmax(210px, 280px);
}

.ags-appointment-confirmation__shell[data-show-wishlist-panel="0"] .ags-appointment-confirmation__layout {
	grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
}

.ags-appointment-confirmation__shell[data-show-left-panel="0"][data-show-wishlist-panel="0"] .ags-appointment-confirmation__layout {
	grid-template-columns: minmax(0, 1fr);
}

.ags-appointment-confirmation__guidance,
.ags-appointment-confirmation__wishlist {
	min-width: 0;
	padding: 2.2rem 1.6rem;
	background: #fff;
	overflow-wrap: anywhere;
}

.ags-appointment-confirmation__guidance {
	border-right: 1px solid var(--ags-confirmation-line);
}

.ags-appointment-confirmation__wishlist {
	border-left: 1px solid var(--ags-confirmation-line);
}

.ags-appointment-confirmation__guidance-title {
	margin: 0;
	font-size: 1.55rem;
	font-weight: 400;
	letter-spacing: -.01em;
	line-height: 1.15;
}

.ags-appointment-confirmation__guidance-intro {
	margin: 1rem 0 0;
	color: #55555b;
	font-size: .9rem;
	line-height: 1.65;
}

.ags-appointment-confirmation__rule {
	height: 1px;
	margin: 1.45rem 0;
	border: 0;
	background: #e2e2e5;
}

.ags-appointment-confirmation__guidance-highlights {
	display: flex;
	flex-direction: column;
	gap: .72rem;
	margin: 0;
	padding: 0;
	color: #36363a;
	font-size: .86rem;
	list-style: none;
}

.ags-appointment-confirmation__guidance-highlights li {
	display: flex;
	align-items: baseline;
	gap: .55rem;
}

.ags-appointment-confirmation__guidance-highlights li::before {
	color: var(--ags-confirmation-muted);
	font-size: .72rem;
	content: "✓";
}

.ags-appointment-confirmation__questions-label {
	display: block;
	margin-bottom: .45rem;
	color: #94949a;
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.ags-appointment-confirmation__questions {
	color: #55555b;
	font-size: .84rem;
	line-height: 1.55;
}

.ags-appointment-confirmation__questions-rows {
	display: grid;
	gap: .4rem;
}

.ags-appointment-confirmation__questions-row {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: .55rem;
}

.ags-appointment-confirmation__questions-row > span:first-child {
	color: var(--ags-confirmation-muted);
	font-size: .72rem;
}

.ags-appointment-confirmation__questions-row a {
	color: inherit;
	overflow-wrap: anywhere;
}

.ags-appointment-confirmation__main {
	min-width: 0;
	padding: 2.2rem;
	background: #fff;
}

.ags-appointment-confirmation__header {
	margin: 0 0 2rem;
	text-align: center;
}

.ags-appointment-confirmation__debug-notice {
	margin: 0 0 1.5rem;
	padding: .8rem 1rem;
	border: 1px solid #dba617;
	border-radius: 4px;
	background: #fff8df;
	color: #5f4700;
	font-size: .86rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}

.ags-appointment-confirmation__mark {
	display: grid;
	width: 52px;
	height: 52px;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background: #e7f7ed;
	color: #06752f;
	font-size: 28px;
	font-weight: 700;
	place-items: center;
}

.ags-appointment-confirmation__header h1 {
	margin: 0 0 .65rem;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	font-weight: 500;
	letter-spacing: -.015em;
	line-height: 1.15;
}

.ags-appointment-confirmation__header p {
	margin: 0;
	color: #55555b;
	font-size: 1rem;
	line-height: 1.6;
}

.ags-appointment-confirmation__loading,
.ags-appointment-confirmation__error,
.ags-appointment-confirmation__noscript {
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid var(--ags-confirmation-line);
	border-radius: 4px;
	background: #fff;
	text-align: center;
}

.ags-appointment-confirmation__error,
.ags-appointment-confirmation__noscript {
	border-color: #d9bebe;
	background: #fff8f8;
	color: #7c2f2f;
}

.ags-appointment-confirmation__error p {
	margin: 0 0 1rem;
}

.ags-appointment-confirmation button,
.ags-appointment-confirmation__actions a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border-radius: 3px;
	cursor: pointer;
	font: inherit;
	text-decoration: none;
}

.ags-appointment-confirmation button {
	border: 1px solid #1a1a1a;
	background: #1a1a1a;
	color: #fff;
}

.ags-appointment-confirmation__actions a {
	border: 1px solid #c8c8cc;
	background: #fff;
	color: #1a1a1a;
}

.ags-appointment-confirmation__actions a:hover {
	border-color: #1a1a1a;
	background: #f6f6f7;
}

.ags-appointment-confirmation button:focus-visible,
.ags-appointment-confirmation a:focus-visible,
.ags-appointment-confirmation [tabindex="-1"]:focus-visible {
	outline: 3px solid #72aee6;
	outline-offset: 3px;
}

.ags-appointment-confirmation__content {
	display: grid;
	gap: 2rem;
}

.ags-appointment-confirmation__content > section {
	min-width: 0;
	overflow-wrap: anywhere;
}

.ags-appointment-confirmation__content > section + section {
	padding-top: 2rem;
	border-top: 1px solid var(--ags-confirmation-line);
}

.ags-appointment-confirmation__content h2,
.ags-appointment-confirmation__wishlist h2 {
	margin: 0 0 1.15rem;
	font-size: 1.25rem;
	font-weight: 500;
}

.ags-appointment-confirmation__summary dl {
	display: grid;
	grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr);
	gap: 10px 14px;
	margin: 0;
}

.ags-appointment-confirmation__summary dt {
	font-weight: 600;
}

.ags-appointment-confirmation__summary dd {
	margin: 0;
}

.ags-appointment-confirmation__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 1.5rem;
}

.ags-appointment-confirmation__actions h3 {
	flex-basis: 100%;
	margin: .5rem 0 0;
	font-size: 1rem;
}

.ags-appointment-confirmation__actions a[data-action-kind="social"] {
	border-color: #8c8f94;
	background: #fff;
	color: #1d2327;
}

@media (max-width: 900px) {
	.ags-appointment-confirmation__layout,
	.ags-appointment-confirmation__shell[data-show-left-panel="0"] .ags-appointment-confirmation__layout,
	.ags-appointment-confirmation__shell[data-show-wishlist-panel="0"] .ags-appointment-confirmation__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.ags-appointment-confirmation__main {
		order: 1;
	}

	.ags-appointment-confirmation__guidance {
		order: 2;
	}

	.ags-appointment-confirmation__wishlist {
		order: 3;
	}

	.ags-appointment-confirmation__guidance,
	.ags-appointment-confirmation__wishlist {
		border: 0;
		border-top: 1px solid var(--ags-confirmation-line);
	}
}

@media (max-width: 600px) {
	.ags-appointment-confirmation {
		padding: 0;
	}

	.ags-appointment-confirmation__shell {
		border-right: 0;
		border-left: 0;
		border-radius: 0;
	}

	.ags-appointment-confirmation__guidance,
	.ags-appointment-confirmation__wishlist {
		padding: 1.5rem 1.1rem;
	}

	.ags-appointment-confirmation__main {
		padding: 1.5rem 1.1rem;
	}

	.ags-appointment-confirmation__summary dl {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}

	.ags-appointment-confirmation__summary dd + dt {
		margin-top: 10px;
	}

	.ags-appointment-confirmation__actions a,
	.ags-appointment-confirmation button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ags-appointment-confirmation *,
	.ags-appointment-confirmation *::before,
	.ags-appointment-confirmation *::after {
		scroll-behavior: auto;
		transition-duration: .01ms;
	}
}
