/**
 * Stili pagine Contatti – stessa linea grafica del sito (variabili tema + componenti condivisi)
 * Contatti, Reclami, Come raggiungerci, Hotel convenzionato, Lavora con noi.
 * Banner e titolo sono gestiti da icmq-grafica e icmq-pages-legacy.
 */

/* ========== Sezione contenuto (stesso padding delle altre pagine) ========== */
.contatti-content-section.single-service-page {
	padding-top: 0;
	padding-bottom: 2.7em;
}
.contatti-content-section .contatti-content.entry-content {
	max-width: 100%;
}

/* ========== Testo e link nel contenuto contatti (ereditano .entry-content) ========== */
.contatti-content-section .contatti-content p {
	font: 400 1em/1.8em var(--icmq-font-body);
	color: var(--icmq-text-body);
	letter-spacing: 0.3px;
	margin: 0 0 1.2em;
}
.contatti-content-section .contatti-content a {
	color: var(--icmq-primary);
	text-decoration: underline;
}
.contatti-content-section .contatti-content a:hover {
	color: var(--icmq-primary-hover);
}
.contatti-content-section .contatti-content h3,
.contatti-content-section .contatti-content h4 {
	color: var(--icmq-text);
	font-family: var(--icmq-font-body);
	font-weight: 600;
	margin-top: 1em;
	margin-bottom: 0.5em;
}
.contatti-content-section .contatti-content h3 a,
.contatti-content-section .contatti-content h4 a {
	text-decoration: underline;
}
.contatti-content-section .contatti-content h6 {
	color: #23527C;
	font: 400 1.2em/1.8em var(--icmq-font-body);
	letter-spacing: 0.3px;
	font-style: italic;
	margin: 0 0 0.5em;
}
.contatti-content-section .contatti-content h6 span {
	color: var(--icmq-primary);
}
.contatti-content-section .contatti-content hr {
	border-top: 1px solid var(--icmq-border-input);
	margin: 1.5em 0;
}

/* ========== Layout due colonne: info contatto + form ========== */
.contatti-content-section .touch_middle {
	margin-top: 2em;
	margin-bottom: 2em;
}
.contatti-content-section .open_hours {
	margin-bottom: 1.5em;
}
.contatti-content-section .touch_top-con .nav {
	list-style: none;
	margin: 0;
	padding: 0;
}
.contatti-content-section .touch_top-con .item {
	padding: 12px 0 16px 0;
	border-bottom: 1px solid var(--icmq-border-light);
}
.contatti-content-section .touch_top-con .item:last-child {
	border-bottom: 0;
}
.contatti-content-section .touch_top-con .media {
	display: flex;
	align-items: flex-start;
	gap: 1em;
}
.contatti-content-section .touch_top-con .media-left {
	flex-shrink: 0;
}
.contatti-content-section .touch_top-con .media-left i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border: 1px solid var(--icmq-secondary);
	border-radius: 50%;
	color: var(--icmq-secondary);
	font-size: 1.3em;
}
.contatti-content-section .touch_top-con .media-body {
	font: 14px/26px var(--icmq-font-body);
	color: var(--icmq-text-body);
}
.contatti-content-section .touch_top-con .media-body a {
	color: var(--icmq-text-body);
}
.contatti-content-section .touch_top-con .media-body a:hover {
	color: var(--icmq-secondary);
}

/* ========== Form (input, select, textarea) – stile tema ========== */
.contatti-content-section .input_form .form-control,
.contatti-content-section .input_form .wpcf7 input[type="text"],
.contatti-content-section .input_form .wpcf7 input[type="email"],
.contatti-content-section .input_form .wpcf7 input[type="tel"],
.contatti-content-section .input_form .wpcf7 input[type="date"],
.contatti-content-section .input_form .wpcf7 input[type="url"],
.contatti-content-section .input_form .wpcf7 input[type="file"],
.contatti-content-section .input_form .wpcf7 select,
.contatti-content-section .input_form .wpcf7 textarea {
	width: 100%;
	margin-bottom: 20px;
	padding: 12px 20px;
	border: 1px solid var(--icmq-border-input);
	border-radius: 0;
	font: 15px/1.5 var(--icmq-font-body);
	color: var(--icmq-text-body);
	background: #fff;
	box-shadow: none;
	display: block;
}
.contatti-content-section .input_form .form-control:focus,
.contatti-content-section .input_form .wpcf7 input:focus,
.contatti-content-section .input_form .wpcf7 select:focus,
.contatti-content-section .input_form .wpcf7 textarea:focus {
	border-color: var(--icmq-primary);
	outline: none;
	box-shadow: 0 0 0 1px var(--icmq-primary);
}
.contatti-content-section .input_form textarea.form-control,
.contatti-content-section .input_form .wpcf7 textarea {
	min-height: 180px;
	resize: vertical;
}

/* Submit button – stesso stile del pulsante header (contactus-button) */
.contatti-content-section .input_form form button,
.contatti-content-section .input_form .wpcf7 input[type="submit"],
.contatti-content-section .input_form .wpcf7 .wpcf7-submit,
.contatti-content-section .input_form .btn.submit {
	background: var(--icmq-primary);
	color: #fff;
	border: none;
	border-radius: 5px;
	font: 600 1em/1em var(--icmq-font-body);
	padding: 12px 24px;
	text-transform: uppercase;
	letter-spacing: 2px;
	cursor: pointer;
	transition: background 0.3s ease;
	margin-top: 10px;
}
.contatti-content-section .input_form form button:hover,
.contatti-content-section .input_form .wpcf7 input[type="submit"]:hover,
.contatti-content-section .input_form .wpcf7 .wpcf7-submit:hover,
.contatti-content-section .input_form .btn.submit:hover {
	background: var(--icmq-primary-hover);
	color: #fff;
}

/* CF7: wrapper e messaggi */
.contatti-content-section .input_form .wpcf7 p {
	margin: 0 0 1em;
}
.contatti-content-section .input_form .wpcf7 .wpcf7-form-control-wrap {
	display: block;
}
.contatti-content-section .input_form .wpcf7-response-output {
	margin: 1.5em 0 1em;
	padding: 0.75em 1em;
	font-size: 14px;
	line-height: 1.5;
	border-left: 4px solid var(--icmq-primary);
	background: #f9f9f9;
}
.contatti-content-section .input_form .wpcf7-not-valid-tip {
	font-size: 13px;
	color: var(--icmq-primary);
	margin-top: 4px;
}
.contatti-content-section .input_form .wpcf7 .wpcf7-acceptance label {
	font: 400 14px/1.5 var(--icmq-font-body);
	color: var(--icmq-text-body);
	cursor: pointer;
}
.contatti-content-section .input_form .wpcf7 .wpcf7-acceptance input[type="checkbox"] {
	margin-right: 8px;
}

/* ========== Mappa Google ========== */
.contatti-content-section #map-ICMQ {
	width: 100%;
	margin-top: 2em;
	margin-bottom: 2em;
}
.contatti-content-section #map-ICMQ #map,
.contatti-content-section #map-ICMQ iframe {
	width: 100%;
	height: 450px;
	border: 0;
	display: block;
}

/* ========== CTA "Richiedi informazioni" – stesso stile footer / header ========== */
.contatti-cta-section {
	background: var(--icmq-footer-bg);
	padding: 2em 0;
}
.contatti-cta-inner {
	text-align: center;
}
.contatti-cta-title {
	font: 600 1.8em/1.2 var(--icmq-font-body);
	color: #fff;
	margin: 0 0 1em;
	letter-spacing: 0.3px;
}
.contatti-cta-section .contatti-cta-btn {
	display: inline-block;
	background: var(--icmq-primary);
	color: #fff !important;
	padding: 12px 28px;
	font: 600 1em/1 var(--icmq-font-body);
	text-transform: uppercase;
	letter-spacing: 2px;
	border-radius: 5px;
	text-decoration: none !important;
	transition: background 0.3s ease;
}
.contatti-cta-section .contatti-cta-btn:hover {
	background: var(--icmq-primary-hover);
	color: #fff !important;
	text-decoration: none !important;
}
.contatti-cta-section .contatti-cta-btn i {
	margin-left: 10px;
}

/* ========== Responsive ========== */
@media (max-width: 991px) {
	.contatti-content-section .touch_top-con .media-left i {
		width: 40px;
		height: 40px;
		font-size: 1.1em;
	}
	.contatti-cta-title {
		font-size: 1.5em;
	}
}

@media (max-width: 767px) {
	.contatti-content-section #map-ICMQ #map,
	.contatti-content-section #map-ICMQ iframe {
		height: 300px;
	}
	.contatti-cta-section {
		padding: 1.5em 0;
	}
	.contatti-cta-title {
		font-size: 1.3em;
		margin-bottom: 0.8em;
	}
}
