/* Contacts page specific styles (vw-based with clamp using vw units) */
.body, body { font-size: 1.5vw; }
nav.top-links a, nav.top-links .lang-select { font-size: 1.5vw; }
.contact-container p, .contact-card address, .contact-card p, .contact-card span, .contact-card a, .back-link { font-size: 1.5vw; }
.contact-container { max-width: 90vw; margin: 4vw auto; padding: 0 2vw; }
.contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(28vw, 1fr)); gap: 2vw; }
.contact-card { border: 0.15vw solid #e3e3e3; border-radius: 0.8vw; padding: 2vw; background: #fff; }
.contact-container h1 { font-size: 2.5vw; margin-bottom: 2vw; }
.contact-card h2 { font-size:  1.5vw; margin: 0 0 1vw; }
.contact-card address { font-style: normal; line-height: 1.5; }
.back-link { display: inline-block; margin-bottom: 1.5vw; text-decoration: none; }
.tel a { text-decoration: none; }

/* Hover style for Back to Start link */
#backToStart { transition: color 120ms ease, text-decoration-color 120ms ease; }
#backToStart:hover { color: #0a7cc8; text-decoration: underline; }

@media (max-width: 700px) {
	html,
	body {
		overflow-y: auto;
		height: auto;
		min-height: 100dvh;
	}

	body .top-links {
		transform: none;
		justify-content: center;
		gap: 4vw;
		padding: 0 3vw;
	}

	body .top-links a,
	body .lang-select {
		font-size: 4.8vw !important;
		padding: 0.5vw 0 !important;
	}

	.contact-container {
		max-width: 100%;
		margin: 3vw auto 4vw;
		padding: 0 4vw;
	}

	.contact-container h1 {
		font-size: 6.3vw;
		line-height: 1.2;
		margin-bottom: 3vw;
		text-align: center;
	}

	.contact-container p,
	.contact-card address,
	.contact-card p,
	.contact-card span,
	.contact-card a,
	.back-link,
	#businessHours {
		font-size: 4.8vw;
		line-height: 1.5;
	}

	.contact-grid {
		grid-template-columns: 1fr;
		gap: 3vw;
	}

	.contact-card {
		border-width: 0.28vw;
		border-radius: 2.4vw;
		padding: 3.2vw;
		box-shadow: 0 0.7vw 1.8vw rgba(0, 0, 0, 0.1);
	}

	.contact-card h2 {
		font-size: 5.3vw;
		margin: 0 0 2vw;
	}

	.contact-card address {
		margin-bottom: 1.4vw;
	}
}

@media (max-width: 480px) {
	body .top-links {
		gap: 5vw;
		padding: 0 4vw;
	}

	body .top-links a,
	body .lang-select {
		font-size: 5.4vw !important;
	}

	.contact-container h1 {
		font-size: 7vw;
	}

	.contact-container p,
	.contact-card address,
	.contact-card p,
	.contact-card span,
	.contact-card a,
	.back-link,
	#businessHours {
		font-size: 5.3vw;
	}

	.contact-card h2 {
		font-size: 5.8vw;
	}
}
