/*
 * GPIPL contact and thank-you pages (Phase 11). Loaded only there, with the Phase 3 forms component.
 */
@layer pages {
	.contact__grid { display: grid; gap: var(--space-2xl); align-items: start; }
	@media (min-width: 64em) {
		.contact__grid { grid-template-columns: minmax(0, 1fr) 22rem; gap: var(--space-3xl); }
	}

	.enquiry { scroll-margin-top: 6rem; }
	.enquiry__title { font-size: var(--step-3); margin-bottom: var(--space-m); }
	.enquiry__context { margin-bottom: var(--space-l); padding: var(--space-m); border-left: 3px solid var(--color-accent); background: var(--color-surface); border-radius: 0 var(--radius-s) var(--radius-s) 0; }
	.enquiry__context-label { font-size: var(--step--1); color: var(--color-text-muted); }
	.enquiry__context-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--space-s); font-weight: var(--wght-semibold); font-size: var(--step-1); }
	.enquiry__context-title a { display: inline-flex; align-items: center; min-height: var(--tap); }
	.enquiry__context-model { font-size: var(--step--1); font-weight: var(--wght-body); color: var(--color-text-muted); font-stretch: var(--wdth-data); }
	.enquiry .form-notice { margin-bottom: var(--space-l); }
	.enquiry__error-list { margin: var(--space-2xs) 0 0; padding-left: 1.2em; }
	.enquiry__error-list a { display: inline-flex; align-items: center; min-height: var(--tap); color: inherit; }
	.enquiry__turnstile { min-height: 65px; margin-top: var(--space-m); }
	.enquiry__submit { margin-top: var(--space-l); }
	.enquiry__form .choice a { display: inline-flex; align-items: center; min-height: var(--tap); }
	.enquiry__form button[aria-disabled="true"] { opacity: 0.7; cursor: progress; }

	.contact__details { padding: var(--space-l); border-top: 3px solid var(--color-text); background: var(--color-surface); border-radius: 0 0 var(--radius-m) var(--radius-m); }
	.contact__details-title { font-size: var(--step-1); margin-bottom: var(--space-s); }
	.contact__list { margin: 0; display: grid; }
	.contact__list > div { padding-block: var(--space-s); border-top: var(--border); }
	.contact__list dt { display: flex; align-items: center; gap: var(--space-2xs); font-size: var(--step--1); color: var(--color-text-muted); }
	.contact__list dt .icon { color: var(--color-accent); }
	.contact__list dd { margin: 0.2rem 0 0; }
	.contact__list dd a { display: inline-flex; align-items: center; min-height: var(--tap); font-weight: var(--wght-medium); overflow-wrap: anywhere; }
	.contact__hours { margin: 0; padding: 0; display: grid; gap: 0.2rem; }
	.contact__days { font-weight: var(--wght-medium); }
	.contact__note { margin-top: var(--space-m); font-size: var(--step--1); }

	.thanks__inner { max-width: 44rem; }
	.thanks .breadcrumbs { margin-bottom: var(--space-xl); }
	.thanks__icon { color: var(--color-accent); }
	.thanks__title { margin-top: var(--space-s); font-size: var(--step-5); }
	.thanks__text { margin-top: var(--space-m); font-size: var(--step-1); line-height: var(--lh-snug); color: var(--color-text-muted); }
	.thanks__actions { margin-top: var(--space-xl); }

	/* Location map (GPIPL Settings → Company → map fields). */
	.contact-map { padding-top: 0; }
	.contact-map__frame {
		position: relative;
		display: grid;
		overflow: hidden;
		border: 1px solid var(--color-line);
		border-radius: var(--radius-l, 1.25rem);
		background-color: var(--color-surface);
		background-image:
			linear-gradient(color-mix(in srgb, var(--palette-slate) 6%, transparent) 1px, transparent 1px),
			linear-gradient(90deg, color-mix(in srgb, var(--palette-slate) 6%, transparent) 1px, transparent 1px);
		background-size: 32px 32px;
		box-shadow: 0 30px 60px -40px rgb(16 32 40 / 0.45);
	}
	.contact-map__iframe {
		display: block;
		width: 100%;
		height: clamp(18rem, 45vw, 30rem);
		border: 0;
		filter: saturate(0.85) contrast(1.02);
	}
	.contact-map__card {
		position: relative;
		display: grid;
		justify-items: start;
		gap: var(--space-2xs);
		padding: var(--space-l);
		color: var(--palette-paper, #fff);
		background:
			radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--palette-green) 45%, transparent), transparent 60%),
			var(--palette-slate);
	}
	.contact-map__eyebrow {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		font-size: var(--step--2);
		font-weight: var(--wght-semibold);
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: color-mix(in srgb, var(--palette-green) 55%, #fff);
	}
	.contact-map__eyebrow .icon { width: 1rem; height: 1rem; }
	.contact-map__title { font-size: var(--step-3); color: inherit; }
	.contact-map__address { margin-bottom: var(--space-s); line-height: 1.55; color: rgb(255 255 255 / 0.8); }
	.contact-map__button .icon { width: 1rem; height: 1rem; }
	@media (min-width: 56em) {
		.contact-map__card {
			position: absolute;
			left: var(--space-l);
			bottom: var(--space-l);
			max-width: 22rem;
			border-radius: var(--radius-m);
			box-shadow: 0 24px 48px -20px rgb(0 0 0 / 0.5);
			transition: transform 500ms var(--ease-out);
		}
	}
	.contact-map__frame:hover .contact-map__card { transform: translateY(-4px); }
	@media (prefers-reduced-motion: reduce) { .contact-map__frame:hover .contact-map__card { transform: none; } }
}
