/* Space Game Room contact (2026 rebuild): sections. */

.sgr-contact-hero {
	background: var(--sgr-ct-soft);
	padding: clamp(48px, 7vw, 88px) 0;
}

.sgr-contact-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
}

.sgr-contact-title {
	font-family: "Do Hyeon", "Noto Sans KR", sans-serif;
	font-weight: 400;
	font-size: clamp(2rem, 4.4vw, 3.2rem);
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: var(--sgr-ct-navy);
	margin: 0 0 16px;
	text-wrap: balance;
}

.sgr-contact-subtitle {
	font-size: clamp(1.02rem, 1.8vw, 1.2rem);
	line-height: 1.75;
	color: var(--sgr-ct-soft-ink);
	margin: 0 0 28px;
}

.sgr-contact-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.sgr-contact-hero-media {
	margin: 0;
}

.sgr-contact-hero-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--sgr-ct-radius);
	background: var(--sgr-brand-soft, #ece9e2);
}

.sgr-contact-channels {
	padding: clamp(56px, 7vw, 96px) 0 0;
	background: var(--sgr-ct-bg);
}

.sgr-contact-channel-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 30px;
}

.sgr-contact-card {
	background: var(--sgr-ct-soft);
	border: 1px solid var(--sgr-ct-line);
	border-radius: var(--sgr-ct-radius);
	padding: 28px 24px;
}

.sgr-contact-card h3 {
	font-family: "Do Hyeon", "Noto Sans KR", sans-serif;
	font-weight: 400;
	font-size: 1.35rem;
	margin: 0 0 10px;
	color: var(--sgr-ct-navy);
}

.sgr-contact-card p {
	margin: 0 0 18px;
	line-height: 1.7;
	color: var(--sgr-ct-soft-ink);
}

.sgr-contact-card p:last-child {
	margin-bottom: 0;
}

.sgr-contact-form-section {
	padding: clamp(56px, 7vw, 96px) 0 0;
	background: var(--sgr-ct-bg);
	scroll-margin-top: 96px;
}

.sgr-contact-form-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 20px;
	margin-top: 30px;
	align-items: start;
}

.sgr-contact-form-card {
	background: #fff;
	border: 1px solid var(--sgr-ct-line);
	border-radius: var(--sgr-ct-radius);
	padding: clamp(20px, 3vw, 32px);
}

.sgr-contact-support {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.sgr-contact-inquiry-figure {
	margin: 0;
}

.sgr-contact-inquiry-figure img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--sgr-ct-radius);
	background: var(--sgr-brand-soft, #ece9e2);
}

/* Token scope for the reused reservation form system (mirrors
 * .reservation-form-wrapper so .form-*, .btn-*, .reserve-btn resolve). */
.sgr-contact-form-card {
	--sgr-res-panel: var(--sgr-brand-surface, #fff);
	--sgr-res-soft: var(--sgr-brand-bg, #f9f8f5);
	--sgr-res-ink: var(--sgr-brand-ink, #020305);
	--sgr-res-ink-soft: var(--sgr-brand-muted, #656565);
	--sgr-res-line: var(--sgr-brand-line, #e5e5e5);
	--sgr-res-blue: var(--sgr-brand-accent, #e62578);
	--sgr-res-blue-deep: var(--sgr-brand-accent-dark, #c91b65);
	--sgr-res-focus: var(--sgr-brand-focus, #e62578);
}

.sgr-contact-points {
	margin: 14px 0 0;
	padding-left: 20px;
	line-height: 1.8;
	color: var(--sgr-ct-soft-ink);
}

.sgr-contact-map-section {
	padding: clamp(56px, 7vw, 96px) 0 0;
	background: var(--sgr-ct-bg);
}

.sgr-contact-map-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: 20px;
	margin-top: 30px;
	align-items: stretch;
}

.sgr-contact-map-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.sgr-contact-map-actions .sgr-btn {
	min-height: 48px;
	padding: 0 22px;
	font-size: 0.98rem;
}

.sgr-contact-map-frame {
	position: relative;
	min-height: 320px;
	border-radius: var(--sgr-ct-radius);
	overflow: hidden;
	border: 1px solid var(--sgr-ct-line);
}

.sgr-contact-map-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.sgr-contact-map-frame .sgr-contact-leaflet,
#sgr-contact-map {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #eef0ea;
}

#sgr-contact-map.leaflet-container {
	font: inherit;
}

#sgr-contact-map .leaflet-control-zoom a {
	color: var(--sgr-ct-ink);
}

.sgr-contact-final {
	padding: clamp(56px, 7vw, 96px) 0 clamp(56px, 7vw, 104px);
	background: var(--sgr-ct-bg);
}

.sgr-contact-final-box {
	background: var(--sgr-ct-navy);
	border-radius: calc(var(--sgr-ct-radius) + 8px);
	text-align: center;
	padding: clamp(44px, 6vw, 80px) clamp(24px, 5vw, 64px);
}

.sgr-contact-final-title {
	font-family: "Do Hyeon", "Noto Sans KR", sans-serif;
	font-weight: 400;
	font-size: clamp(1.7rem, 3.6vw, 2.5rem);
	line-height: 1.3;
	color: #fff;
	margin: 0 0 12px;
	text-wrap: balance;
}

.sgr-contact-final-note {
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 30px;
	font-size: 1.02rem;
	line-height: 1.7;
}

.sgr-contact-final-ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
