/* ==========================================================================
   Contatto — hero contatti/orari (ex RevSlider blooming-wedding-text),
   mappa, blocco negozio sovrapposto alla mappa.
   Valori dal decode slider 9 + probe-contatto.json.
   ========================================================================== */

/* ---------- Hero a due colonne ---------- */
.contact-hero {
	position: relative;
	background: #fff;
	overflow: hidden;
}

/* Foto: metà destra a tutta altezza, reveal da destra (clip-r, 2s) */
.contact-hero__photo {
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: 50%;
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
	z-index: 1;
}

/* Riga contenuti (replica row RS: margin 100/30 su griglia 1240) */
.contact-hero__row {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	max-width: 1240px;
	margin: 0 auto;
	padding: 100px 30px;
}

/* Colonna sinistra: titolo + recapiti */
.contact-hero__info {
	flex: 0 0 50%;
	min-width: 0;
	padding: 100px 50px 100px 0;
}
.contact-hero__title {
	margin: 0;
	padding-bottom: 20px;
	font-family: 'Cinzel', serif;
	font-weight: 400;
	font-size: 30px;
	line-height: 25px;
	letter-spacing: 2px;
	color: #000;
	text-transform: none;
}
.contact-hero__details {
	margin: 50px 0;
	font-family: 'Gantari', sans-serif;
	font-weight: 300;
	font-size: 17px;
	line-height: 30px;
	color: #000;
}
.contact-hero__details p {
	margin: 0;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.contact-hero__address { margin-bottom: 30px !important; }

/* Colonna destra: box orari bianco bordato (clip-t, delay 500ms) */
.contact-hours {
	flex: 0 0 50%;
	min-width: 0;
	background: #fff;
	border: 2px solid var(--c-blue);
	padding: 100px 50px 100px 100px;
}
.contact-hours__title {
	margin: 0;
	font-family: 'Cinzel', serif;
	font-weight: 400;
	font-size: 30px;
	line-height: 35px;
	letter-spacing: 3px;
	color: var(--c-brown);
	text-transform: none;
}
.contact-hours__table {
	width: 100%;
	margin: 55px 0 50px;
	border-collapse: collapse;
	font-family: 'Gantari', sans-serif;
	font-weight: 300;
	font-size: 17px;
	line-height: 30px;
	color: #000;
}
.contact-hours__table th,
.contact-hours__table td {
	padding: 0;
	font-weight: 300;
	text-align: left;
	vertical-align: top;
}
.contact-hours__table th {
	width: 1%;
	white-space: nowrap;
	padding-right: 34px;
}
.contact-hours__cta { text-align: center; }
.contact-hours__cta-link {
	display: inline-block;
	font-family: 'Cinzel', serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 2px;
	color: #000;
	border-bottom: 2px solid var(--c-blue);
	cursor: pointer;
	transition: color .3s ease, border-color .3s ease;
}
.contact-hours__cta-link:hover { color: #000; border-color: #000; }

/* Link verticali instagram/facebook, assoluti in basso a sinistra */
.contact-hero__social {
	position: absolute;
	left: 30px;
	top: 504px;
	z-index: 9;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
}
.contact-hero__social-link {
	font-family: 'Cinzel', serif;
	font-weight: 500;
	font-size: 17px;
	line-height: 40px;
	color: var(--c-blue);
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .35);
	transition: color .3s ease, border-color .3s ease;
}
.contact-hero__social-link:hover {
	color: var(--c-brown);
	border-color: rgba(255, 255, 255, .75);
}

/* ---------- Blocco negozio: banda azzurra + box sovrapposto alla mappa ---------- */
/* Nell'originale la card azzurra "sale" di 190px sulla parte bassa della mappa
   e il container sottostante è una banda #A4B6C2 a tutta larghezza. */
/* shop-cta: stili unificati in main.css */

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.contact-hero__row { padding: 100px 30px; }
	.contact-hero__info { padding: 50px 50px 50px 0; }
	.contact-hours { padding: 50px; }
	.contact-hero__social { left: 24px; top: 416px; }
	.contact-hero__social-link { font-size: 14px; }
}

@media (max-width: 900px) {
	.contact-hero { display: flex; flex-direction: column; }
	.contact-hero__row {
		order: 1;
		display: block;
		padding: 100px 20px 40px;
		text-align: center;
	}
	.contact-hero__info { padding: 0; }
	.contact-hero__title { font-size: 20px; letter-spacing: 3px; }
	.contact-hero__details { margin: 15px 0 30px; font-size: 15px; line-height: 25px; }
	.contact-hero__address { margin-bottom: 25px !important; }
	.contact-hours { margin-top: 50px; padding: 50px 30px; }
	.contact-hours__title { font-size: 25px; line-height: 30px; }
	.contact-hours__table {
		width: auto;
		margin: 35px auto 50px;
		font-size: 15px;
		line-height: 25px;
	}
	.contact-hours__table th { padding-right: 18px; }
	.contact-hours__cta-link { font-size: 17px; line-height: 25px; }

	/* Nel flusso: link social centrati sotto i contenuti, poi la foto a striscia */
	.contact-hero__social {
		position: static;
		order: 2;
		flex-direction: row;
		justify-content: center;
		gap: 24px;
		padding: 0 20px 40px;
	}
	.contact-hero__social-link { font-size: 14px; line-height: 25px; }
	.contact-hero__photo {
		position: static;
		order: 3;
		width: 100%;
		height: 300px;
		background-position: center;
	}

}
