/**
 * Ploomia Contatti — sezione contact a due colonne (ploomia.com).
 *
 * .ploomia-contact
 *   .ploomia-contact__inner          flex row
 *     .ploomia-contact__left         occhiello, titolo, dettagli, mappa
 *     .ploomia-contact__right        immagine mascherata (caption overlay) + form CF7
 */

.ploomia-contact {
	--ploomia-contact-radius: 2.5rem;
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.ploomia-contact__inner {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	gap: 0;
}

.ploomia-contact__left,
.ploomia-contact__right {
	width: 50%;
	max-width: 50%;
	min-width: 0;
	box-sizing: border-box;
}

.ploomia-contact__label {
	margin: 0 0 0.75rem;
	text-transform: capitalize;
}

.ploomia-contact__title {
	margin: 0 0 2rem;
	line-height: 1.05;
}

.ploomia-contact__details {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin: 0 0 2rem;
}

.ploomia-contact__detail {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.ploomia-contact__detail-label {
	margin: 0;
	text-transform: capitalize;
}

.ploomia-contact__detail-value {
	margin: 0;
	min-width: 0;
	word-break: break-word;
}

.ploomia-contact__detail-value a {
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.ploomia-contact__detail-value a:hover,
.ploomia-contact__detail-value a:focus {
	opacity: 0.75;
}

/* Mappa responsive (iframe wrapper) */
.ploomia-contact__map {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.ploomia-contact__map-inner {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: calc(var(--ploomia-contact-radius) * 0.4);
}

.ploomia-contact__map-inner iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}

.ploomia-contact__map-inner > script + iframe,
.ploomia-contact__map-inner > iframe {
	position: absolute;
	top: 0;
	left: 0;
}

/* Colonna destra: caption in overlay sulla maschera (pattern team) */
.ploomia-contact__visual {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 1.5rem;
}

.ploomia-contact__image-wrap {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.ploomia-contact__caption {
	margin: 0;
	line-height: 1.1;
}

.ploomia-contact__image-wrap[class*="ploomia-img-mask"] .ploomia-contact__caption {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 3;
	width: var(--ploomia-mask-w, 15%);
	height: var(--ploomia-mask-h, 49%);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	padding: clamp(0.625rem, 1.8vw, 1.125rem);
	pointer-events: none;
}

.ploomia-contact__image-wrap.ploomia-img-mask--br .ploomia-contact__caption {
	left: auto;
	right: 0;
	align-items: flex-end;
}

.ploomia-contact__image-wrap.ploomia-img-mask--h-bl .ploomia-contact__caption,
.ploomia-contact__image-wrap.ploomia-img-mask--h-br .ploomia-contact__caption,
.ploomia-contact__image-wrap.ploomia-img-mask--h-tl .ploomia-contact__caption,
.ploomia-contact__image-wrap.ploomia-img-mask--h-tr .ploomia-contact__caption {
	width: var(--ploomia-mask-w, 49%);
	height: var(--ploomia-mask-h, 15%);
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	padding: clamp(0.35rem, 1vw, 0.625rem) clamp(0.625rem, 1.8vw, 1.125rem);
}

.ploomia-contact__image-wrap.ploomia-img-mask--h-br .ploomia-contact__caption,
.ploomia-contact__image-wrap.ploomia-img-mask--h-tr .ploomia-contact__caption {
	left: auto;
	right: 0;
	justify-content: flex-end;
}

.ploomia-contact__image-wrap.ploomia-img-mask--h-tl .ploomia-contact__caption,
.ploomia-contact__image-wrap.ploomia-img-mask--h-tr .ploomia-contact__caption {
	top: 0;
	bottom: auto;
}

.ploomia-contact__image-wrap[class*="ploomia-img-mask"] .ploomia-contact__image,
.ploomia-contact [class*="ploomia-img-mask"] img {
	border-radius: var(--ploomia-mask-radius);
}

.ploomia-contact__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ploomia-contact__form {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.ploomia-contact__form .wpcf7 {
	width: 100%;
	max-width: 100%;
}

.ploomia-contact__editor-hint {
	margin: 0;
	padding: 0.75rem 1rem;
	border: 1px dashed currentColor;
	border-radius: 0.5rem;
	font-size: 0.875rem;
	opacity: 0.7;
}

/* Tablet / mobile: stack colonne */
@media (max-width: 991px) {
	.ploomia-contact__inner {
		flex-flow: column;
		gap: 3rem;
	}

	.ploomia-contact__left,
	.ploomia-contact__right {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 auto !important;
	}

	.ploomia-contact__title {
		margin-bottom: 1.5rem;
	}

	.ploomia-contact__details {
		margin-bottom: 1.5rem;
	}

	.ploomia-contact__title {
		font-size: clamp(1.125rem, 6.4vw, 1.5rem) !important;
		line-height: 1.1 !important;
	}
}

@media (max-width: 479px) {
	.ploomia-contact__inner {
		gap: 2rem;
	}

	.ploomia-contact__map-inner {
		padding-bottom: 75%;
	}

	.ploomia-contact__title {
		font-size: clamp(1.5rem, 7vw, 2rem);
	}
}
