/* Sito creato con ❤ custom da MarTe Graphics | autore e sito web: www.martegraphics.it | All Rights Reserved. */
:root {
	--qf-turchese: #0f97aa;
	--qf-turchese-scuro: #0b7d8d;
	--qf-turchese-chiaro: rgba(15, 151, 170, .09);
	--qf-testo: #5f6b6d;
	--qf-titoli: #23383b;
}

.qf-icona { width: 1em; height: 1em; fill: currentColor; flex: none; }

.elementor-element-5b32ec4 { flex-shrink: 0 !important; }
.elementor-element-5b32ec4 img.logo_desktop, .elementor-element-5b32ec4 img.logo_mobile {
	aspect-ratio: 1 / 1; height: auto !important; max-width: none !important; object-fit: contain; flex-shrink: 0;
}
.elementor-element-5b32ec4 img.logo_desktop { width: 120px !important; }
.elementor-element-5b32ec4 img.logo_mobile { width: 72px !important; }

.elementor-element-cc7daf7 { width: 100% !important; max-width: 100% !important; }
.qf-topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.qf-topbar-contatti { display: flex; flex: 1 1 auto; flex-wrap: nowrap; justify-content: flex-start; gap: 28px; }
.qf-topbar-contatti a { flex: 0 0 auto; width: auto !important; display: inline-flex; white-space: nowrap; align-items: center; gap: 8px; color: #fff !important; font-family: Nunito, sans-serif; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none; }
.qf-topbar-contatti a:hover span { text-decoration: underline; }
.qf-topbar-contatti .qf-icona { font-size: 15px; opacity: .9; }

.elementor-element-2aec8c8 .elementor-button {
	white-space: nowrap; line-height: 1; padding: 15px 26px; font-size: 15px; font-weight: 700;
	box-shadow: 0 8px 20px rgba(15, 151, 170, .25); transition: background-color .2s, transform .2s, box-shadow .2s;
}
.elementor-element-2aec8c8 .elementor-button:hover { background-color: var(--qf-turchese-scuro); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(15, 151, 170, .32); }

.elementor-element-51f310a {
	background: #fff !important; border-radius: 28px; box-shadow: 0 24px 60px rgba(35, 56, 59, .08);
	padding: 56px 48px; overflow: hidden;
}
.elementor-element-51f310a > .elementor-container { align-items: center; }
.elementor-element-5ccf102 > .elementor-widget-wrap { padding: 0 32px 0 8px !important; align-content: center; }
.elementor-element-5ccf102 .elementor-widget { text-align: left !important; margin-bottom: 0 !important; }
.elementor-element-d8f7c06 .elementor-heading-title {
	text-align: left !important; font-family: Nunito, sans-serif !important; font-size: 14px !important; font-weight: 800 !important;
	letter-spacing: 3px; text-transform: uppercase; line-height: 1 !important; margin-bottom: 14px;
}
.elementor-element-0968a26 .title { text-align: left !important; font-size: 46px !important; line-height: 1.12 !important; margin-bottom: 22px !important; }
.elementor-element-dc2b397 .elementor-widget-container { text-align: left !important; }
.elementor-element-dc2b397 p {
	text-align: left !important; font-size: 17px !important; font-weight: 400 !important; line-height: 1.75 !important;
	color: var(--qf-testo) !important; margin: 0 0 12px !important;
}
.elementor-element-dc2b397 p:first-child { font-family: Nunito, sans-serif; font-size: 21px !important; font-weight: 700 !important; color: var(--qf-titoli) !important; line-height: 1.45 !important; margin-bottom: 14px !important; }

.qf-punti { list-style: none; margin: 22px 0 6px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.qf-punti li {
	display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 9px 15px; border-radius: 999px;
	background: var(--qf-turchese-chiaro); color: var(--qf-turchese-scuro); font-family: Nunito, sans-serif; font-size: 14px; font-weight: 700; line-height: 1;
}
.qf-punti .qf-icona { font-size: 16px; color: var(--qf-turchese); }

.elementor-element-3c65247 { margin-top: 26px !important; }
.elementor-element-3c65247 .elementor-button-wrapper { text-align: left !important; }
.qf-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.elementor-element-3c65247 .elementor-button { white-space: nowrap; line-height: 1; padding: 16px 30px; font-weight: 700; box-shadow: 0 8px 20px rgba(15, 151, 170, .25); }
.elementor-element-3c65247 .elementor-button:hover { background-color: var(--qf-turchese-scuro); }
.qf-pulsante-secondario {
	display: inline-flex; align-items: center; gap: 9px; padding: 14px 26px; border: 2px solid var(--qf-turchese); border-radius: 10px;
	color: var(--qf-turchese) !important; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap;
	transition: background-color .2s, color .2s;
}
.qf-pulsante-secondario:hover { background: var(--qf-turchese); color: #fff !important; }

.elementor-element-90adf67 > .elementor-widget-wrap { padding: 0 !important; }
.elementor-element-13bf250, .elementor-element-13bf250 .elementor-widget-container { height: 100%; }
.elementor-element-13bf250 img {
	width: 100% !important; height: 540px !important; max-width: none !important; object-fit: cover; object-position: 100% 50%;
	border-radius: 22px !important; display: block;
}

.elementor-element-89f7ac6, .elementor-element-ea49666, .elementor-element-1df5d2f { background: #fff !important; }
.elementor-element-89f7ac6 > .elementor-background-overlay { display: none; }

.qf-camere { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; max-width: 1060px; margin: 0 auto; padding: 0 15px; }
.qf-camera {
	flex: 0 1 calc((100% - 30px) / 2); display: flex; flex-direction: column; background: #fff; border-radius: 22px; overflow: hidden;
	box-shadow: 0 16px 40px rgba(35, 56, 59, .08); transition: transform .25s, box-shadow .25s;
}
.qf-camera:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(35, 56, 59, .13); }
.qf-camera-immagine { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.qf-camera-immagine .qf-camera-foto { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; transition: transform .5s; }
.qf-camera:hover .qf-camera-foto { transform: scale(1.04); }
.qf-camera-prezzo {
	position: absolute; right: 14px; bottom: 14px; padding: 9px 14px; border-radius: 10px; background: rgba(255, 255, 255, .95);
	color: var(--qf-titoli); font-family: Nunito, sans-serif; font-size: 20px; font-weight: 800; line-height: 1;
}
.qf-camera-prezzo small { font-size: 13px; font-weight: 600; color: var(--qf-testo); }
.qf-camera-testo { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.qf-camera-titolo { margin: 0 0 12px; font-family: Nunito, sans-serif; font-size: 23px; font-weight: 700; line-height: 1.25; }
.qf-camera-titolo a { color: var(--qf-titoli) !important; text-decoration: none; }
.qf-camera-titolo a:hover { color: var(--qf-turchese) !important; }
.qf-camera-info { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.qf-camera-info li { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: var(--qf-testo); font-family: Roboto, sans-serif; font-size: 15px; line-height: 1.3; }
.qf-camera-info .qf-icona { font-size: 17px; color: var(--qf-turchese); }
.qf-camera-link {
	margin-top: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--qf-turchese) !important;
	font-family: Nunito, sans-serif; font-size: 16px; font-weight: 800; text-decoration: none;
}
.qf-camera-link .qf-icona { font-size: 18px; transition: transform .2s; }
.qf-camera-link:hover .qf-icona { transform: translateX(4px); }

@media (min-width: 1366px) {
	.elementor-element-5b32ec4 img.logo_desktop { width: 140px !important; }
}
@media (max-width: 1365px) {
	.elementor-element-2aec8c8 .elementor-button { padding: 13px 18px; font-size: 14px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-element-5b32ec4 img.logo_mobile { width: 88px !important; }
}
@media (max-width: 1024px) {
	.elementor-element-51f310a { padding: 40px 28px; }
	.elementor-element-0968a26 .title { font-size: 38px !important; }
}
@media (max-width: 767px) {
	.qf-topbar { padding: 0 16px; }
	.qf-topbar-contatti a[href^="mailto"] span { display: none; }
	.qf-topbar-contatti { gap: 18px; }
	.elementor-element-51f310a { padding: 28px 20px; border-radius: 22px; }
	.elementor-element-5ccf102 > .elementor-widget-wrap { padding: 0 !important; }
	.elementor-element-0968a26 .title { font-size: 32px !important; }
	.elementor-element-dc2b397 p:first-child { font-size: 19px !important; }
	.elementor-element-90adf67 { margin-top: 26px; }
	.elementor-element-13bf250 img { height: 310px !important; }
	.qf-camere { gap: 22px; }
	.qf-camera { flex-basis: 100%; }
}

.elementor-4079 .elementor-element.elementor-element-0c28925:not(.elementor-motion-effects-element-type-background) { background-color: #0b7d8d !important; }
.elementor-element-2aec8c8 .elementor-button { background-color: #0b7d8d !important; }
.elementor-element-2aec8c8 .elementor-button:hover, .elementor-element-2aec8c8 .elementor-button:focus-visible { background-color: #085f6b !important; }

.elementor-element-855b585 { background-color: #0b7d8d !important; }
.elementor-element-855b585 > .elementor-background-overlay { display: none; }

.guests-buttons:has(.ovabrw_childrens) { display: none !important; }

.request_booking, .forms-booking-tab .item.request-booking { display: none !important; }
.qf-recapiti-moduli { display: flex; flex-direction: column; gap: 14px; }
.qf-recapiti-moduli a { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 14px 18px; border-radius: 12px; background: #0b7d8d; color: #fff !important; font-family: Nunito, sans-serif; font-size: 18px; font-weight: 800; line-height: 1.2; text-decoration: none; transition: background-color .2s; overflow-wrap: anywhere; }
.qf-recapiti-moduli a:hover, .qf-recapiti-moduli a:focus-visible { background: #085f6b; }
.qf-recapiti-moduli .qf-icona { font-size: 20px; }

.qf-firma { display: block; margin-top: 4px; }
.qf-firma a { color: inherit !important; text-decoration: underline; text-underline-offset: 2px; }

.qf-nota-traduzione { font-style: italic; }

.ova-service-info .title a, .ova-card .title a { color: inherit; text-decoration: none; }
.ova-service-info .title a:hover, .ova-card .title a:hover { color: #0b7d8d; }
.ova-service-info a.button { display: inline-flex; align-items: center; gap: 8px; }
