/* Contact page */
.contact-page__head { max-width: 46rem; margin-bottom: var(--space-6); }
.contact-page__intro { color: var(--color-muted); }
.contact-page__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--space-6); align-items: start; }

.contact-page__cards { display: grid; gap: var(--space-3); }
.contact-card { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg); }
.contact-card__icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--color-primary-soft); color: var(--color-primary); flex: none; }
.contact-card__icon .icon { width: 1.25rem; height: 1.25rem; }
.contact-card__body { display: flex; flex-direction: column; min-width: 0; }
.contact-card__label { font-size: var(--fs-xs); color: var(--color-muted); text-transform: uppercase; letter-spacing: .04em; }
.contact-card__value { font-weight: var(--fw-semibold); overflow-wrap: anywhere; }
a.contact-card__value:hover { color: var(--color-primary); }

.contact-form-box { padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-bg-soft); }
.contact-form-box__title { font-size: var(--fs-lg); }
.contact-form-box__notice { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); border-radius: var(--radius); font-size: var(--fs-sm); }
.contact-form-box__notice--ok { background: color-mix(in srgb, var(--color-success) 12%, #fff); color: var(--color-text); }
.contact-form-box__notice--ok .icon { color: var(--color-success); }
.contact-form-box__notice--error { background: var(--color-primary-soft); color: var(--color-primary-dark); }

.contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.contact-form__field { margin-bottom: var(--space-4); }
.contact-form__field label { display: block; margin-bottom: var(--space-1); font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.contact-form__field input,
.contact-form__field textarea { width: 100%; }
.contact-form__field textarea { resize: vertical; min-height: 8rem; }
.contact-form .required { color: var(--color-primary); }
.contact-form__consent { font-size: var(--fs-sm); color: var(--color-muted); }
.contact-form__consent label { display: flex; align-items: flex-start; gap: var(--space-2); cursor: pointer; }
.contact-form__consent input { margin-top: .25em; accent-color: var(--color-primary); }
.contact-form__consent a { color: var(--color-primary); text-decoration: underline; }
.contact-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-form__submit { min-width: 10rem; }

.contact-page__map { margin-top: var(--section-gap); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); }
.contact-page__map iframe { display: block; width: 100%; height: 360px; border: 0; }

@media (max-width: 860px) {
	.contact-page__grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.contact-form__row { grid-template-columns: 1fr; gap: 0; }
	.contact-form-box { padding: var(--space-5) var(--space-4); }
}
