/* ==========================================================================
   BeThree Child – Επικοινωνία (contact page)
   Figma: section 2:1067 (desktop 1920), 8:1217 (mobile 375), reviews 8:602.
   Loaded only on pages using templates/page-epikoinonia.php
   (inc/enqueue.php, key "page-epikoinonia").
   ========================================================================== */

/* --- Section ------------------------------------------------------------ */
.be_contact {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 60px;
	padding: 100px 100px 120px;
	background: var(--be-color-white);
	color: var(--be-color-dark);
}

/* Cream curve at the top (Figma "Ellipse 9": 2249x243, 180px above the section) */
.be_contact::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -180px;
	width: max(2249px, 117.15vw);
	height: 243px;
	transform: translateX(-50%);
	border-radius: 50%;
	background: var(--be-color-cream);
	pointer-events: none;
}

.be_contact > * {
	position: relative; /* above the curve */
}

.be_contact-title {
	font: var(--be-h1);
}

/* --- Card ------------------------------------------------------------- */
.be_contact-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	width: 100%;
	padding: 100px;
	border: 1px solid var(--be-color-orange);
	border-radius: 30px;
}

.be_contact-col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* Two equal columns (50/50), so wide screens show no gap between them */
.be_contact-col--info {
	flex: 1 1 0;
	gap: 40px;
}

.be_contact-col--form {
	flex: 1 1 0;
	gap: 24px;
	justify-content: center;
}

/* Contact details box */
.be_contact-info {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 32px;
	background: var(--be-color-cream);
	border: 1px solid var(--be-color-dark);
	border-radius: 20px;
}

.be_contact-info-title {
	margin: 0;
	font: 400 24px/32px var(--be-font-primary);
	letter-spacing: 1.2px;
}

.be_contact-info-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.be_contact-info-item,
.be_contact-info-item a {
	display: flex;
	align-items: center;
	gap: 24px;
	font: 400 20px/24px var(--be-font-primary);
	letter-spacing: 1px;
	color: var(--be-color-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.be_contact-info-item a:hover,
.be_contact-info-item a:focus-visible {
	color: var(--be-color-orange);
}

.be_contact-info-icon {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	background: center / contain no-repeat;
}

.be_contact-info-icon--email {
	background-image: url("../../img/icon-contact-email.svg");
}

.be_contact-info-icon--phone {
	background-image: url("../../img/icon-contact-phone.svg");
}

.be_contact-info-icon--location {
	background-image: url("../../img/icon-contact-location.svg");
}

/* Map (Google Maps embed from Theme Options) */
.be_contact-map {
	width: 100%;
	aspect-ratio: 758 / 463.5;
	overflow: hidden;
	border-radius: 20px;
	background: var(--be-color-cream);
}

.be_contact-map > p {
	height: 100%;
	margin: 0;
}

.be_contact-map iframe,
.be_contact-map img {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Intro (title + text) */
.be_contact-intro {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.be_contact-form-title {
	max-width: 606px;
	margin: 0;
	font: 700 45px/50px var(--be-font-primary);
}

.be_contact-form-text {
	font: 400 24px/32px var(--be-font-primary);
	color: #666666;
}

.be_contact-form-text p {
	margin: 0;
}

.be_contact-form-text p + p {
	margin-top: 16px;
}

/* Form card */
.be_contact-form {
	width: 100%;
	padding: 32px;
	background: var(--be-color-white);
	border-radius: 20px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 1440px) {
	.be_contact-card {
		padding: 60px;
	}
}

@media (max-width: 1100px) {
	.be_contact {
		padding: 80px 60px 100px;
	}

	.be_contact-card {
		flex-direction: column;
		align-items: stretch;
		padding: 40px;
	}

	.be_contact-col--info,
	.be_contact-col--form {
		flex: 0 0 auto;
	}

	.be_contact-form-title {
		max-width: none;
	}
}

@media (max-width: 700px) {
	/* Figma 6:2384 (breadcrumb band: 60px top, 32px bottom, small curve) + 8:1217 */
	.be_contact {
		gap: 32px;
		padding: 60px 20px 32px;
	}

	.be_contact::before {
		top: -29px;
		width: 492px;
		height: 53px;
	}

	/* Mobile order: intro, contact details, map, form (Figma 8:1217) */
	.be_contact-card {
		gap: 32px;
		padding: 24px 12px;
	}

	.be_contact-col {
		display: contents;
	}

	.be_contact-intro {
		order: 1;
		gap: 24px;
	}

	.be_contact-info {
		order: 2;
		gap: 24px;
		padding: 12px;
	}

	.be_contact-map {
		order: 3;
		aspect-ratio: 335 / 190;
	}

	.be_contact-form {
		order: 4;
		padding: 24px;
	}

	.be_contact-form-title {
		font: 700 26px/32px var(--be-font-primary);
	}

	.be_contact-form-text {
		font: 400 18px/24px var(--be-font-primary);
	}

	.be_contact-info-list {
		gap: 12px;
	}

	.be_contact-info-item,
	.be_contact-info-item a {
		gap: 6px;
		font-size: 16px;
		letter-spacing: 0.8px;
	}

	.be_contact-info-icon {
		width: 25px;
		height: 25px;
	}
}
