#tm-main img {
	border-radius: 25px;
}
.uk-button-text {
	display: flex;
	align-items: center;
	transition: color 0.25s ease;
}
.card-link-dx .uk-button-text {
	justify-content: end;
}
.uk-button-text::after {
	content: "";
	width: 18px;
	height: 18px;
	display: inline-block;
	background-color: currentColor;
	-webkit-mask: url("/images/icone/icona-dx.svg") center / contain no-repeat;
	mask: url("/images/icone/icona-dx.svg") center / contain no-repeat;
	padding-left: 15px;
	transform: translateX(0);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.25s ease;
}
.uk-button-text:hover::after {
	transform: translateX(6px);
}
/*=== HEADER ===*/
.btn-header .uk-button-default {
	line-height: 38px;
	border-radius: 15px;
	padding-right: 30px;
	padding-left: 30px;
}
.uk-logo {
	padding-top: 10px;
	padding-bottom: 10px;
}
.uk-navbar-transparent a.uk-logo img, .pagamenti-footer img {
	filter: grayscale(100%) brightness(1000%);
}
/*=== HERO ===*/
/*animazione sfondo*/
@keyframes kenburns {
  0%   { transform: scale(1.0) translate(0, 0); }
  25%  { transform: scale(1.1) translate(-1%, -1%); }
  75%  { transform: scale(1.15) translate(1%, 0.5%); }
  100% { transform: scale(1.0) translate(0, 0); }
}
.hero > div[data-src] {
  overflow: hidden;
  isolation: isolate;
}
.hero > div[data-src]::before {
  content: '';
  position: absolute;
  /* invece di inset: -15%, usa top/left/right/bottom con valore fisso */
  top: -60px;
  left: -60px;
  right: -60px;
  bottom: -60px;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  animation: kenburns 25s ease-in-out infinite;
  will-change: transform;
  z-index: 0;
  /* fondamentale: esclude questo elemento dal flusso del layout */
  pointer-events: none;
}
/* Layer 1: overlay scuro */
.hero > div[data-src] > .uk-position-cover {
  z-index: 1;
}
/* Layer 2: contenuto */
.hero > div[data-src] > *:not(.uk-position-cover) {
  position: relative;
  z-index: 2;
}
.hero h1 {
	font-size: 18px;
}
/*=== GRIGLIA PROPOSTE ===*/
.griglia-proposte .uk-button-secondary {
	position: absolute;
	top: 315px;
	right: 15px;
	line-height: 18px;
	padding: 10px 20px;
	font-size: 20px;
	background: rgba(0,0,0,0.5);
	border: none;
	font-weight: 500;
}
.griglia-proposte .el-title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.1;
}
.prezzo-grid {
	font-size: 0.775rem;
	text-align: right;
	display: block;
	font-weight: 400;
}
.griglia-proposte img {
	height: 400px;
}
.griglia-proposte .el-content {
	display: flex;
	align-content: center;
	align-items: center;
	gap: 10px;
	position: absolute;
	top: 5px;
	left: 15px;
	background-color: rgba(255,255,255,1);
	padding: 5px 10px;
	border-radius: 15px;
	font-size: 14px;
}
.griglia-proposte .el-meta {
	display: flex;
	align-content: center;
	align-items: center;
	gap: 10px;
	position: absolute;
	top: 15px;
	right: 15px;
	background-color: rgba(255,255,255,1);
	padding: 5px 10px;
	border-radius: 15px;
	font-size: 14px;
}
/*icone trasporti*/
.categoria-crociera::before {
	content: "";
	display: block;
	width: 50px;
	height: 20px;
	margin: 0;
	background-color: currentColor;
	-webkit-mask-image: url('/images/icone/trasporti/crociera-icona.svg');
	mask-image: url('/images/icone/trasporti/crociera-icona.svg');
	-webkit-mask-size: auto 40px;
	mask-size: auto 20px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}
.categoria-aereo::before {
	content: "";
	display: block;
	width: 60px;
	height: 20px;
	margin: 0;
	background-color: currentColor;
	-webkit-mask-image: url('/images/icone/trasporti/aeroplano-icona.svg');
	mask-image: url('/images/icone/trasporti/aeroplano-icona.svg');
	-webkit-mask-size: auto 40px;
	mask-size: auto 20px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}
.categoria-bus::before {
	content: "";
	display: block;
	width: 50px;
	height: 20px;
	margin: 0;
	background-color: currentColor;
	-webkit-mask-image: url('/images/icone/trasporti/autobus-icona.svg');
	mask-image: url('/images/icone/trasporti/autobus-icona.svg');
	-webkit-mask-size: auto 40px;
	mask-size: auto 20px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}
.categoria-crociera,
.categoria-aereo,
.categoria-bus {
	color: #004c48;
}
/*Ricerca proposte*/
.filtro-cerca .uk-input {
	border: 1px solid #e5e5e7;
	border-radius: 15px;
}
.btn-ricerca .uk-button-default {
	line-height: 38px;
	border-radius: 15px;
	padding-right: 30px;
	padding-left: 30px;
}
.btn-ricerca {
	margin-top: 20px;
}
.btn-ricerca .uk-button-default {
	line-height: 38px;
	border-radius: 15px;
	padding-right: 30px;
	padding-left: 30px;
}
.dj-content-reset {
	background: transparent;
	border: 0;
	color: #e77070;
}
.dj-content-reset .uk-margin-small-right {
	margin-right: 1px !important;
}
.risultati-filtro .el-content {
	font-size: 16px;
}
/*=== PAGINA DETTAGLIO VIAGGIO ===*/
.tipo-viaggio {
	display: flex;
	align-content: center;
	align-items: center;
	gap: 10px;
	background-color: rgba(255,255,255,0.2);
	padding: 5px 15px;
	border-radius: 15px;
	font-size: 14px;
	color: #f59d3b;
	width: max-content;
	backdrop-filter: blur(5px);
	font-weight: 700;
}
.prezzo-dettaglio {
	font-size: 1rem;
	display: block;
}
.prezzo-viaggio-dettaglio.uk-text-right {
	display: block;
	float: right;
	padding: 15px 35px;
	background: rgba(255,255,255,0.1);
	backdrop-filter: blur(5px);
	border-radius: 15px;
}
.accordion-programma .el-title {
	font-weight: 600;
}
.accordion-programma .uk-accordion-content {
	margin-top: -10px;
}
.incluso h3, .non-incluso h3 {
	font-size: 1.25rem;
}
.incluso ul, .non-incluso ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.incluso ul li, .non-incluso ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
}

.incluso ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 20px;
  height: 20px;
  background: url("/images/icone/icona-incluso.svg") no-repeat center / contain;
}
.incluso {
	background-color: #d7ebdb7a;
}
.non-incluso ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 20px;
  height: 20px;
  background: url("/images/icone/icona-non-incluso.svg") no-repeat center / contain;
}
.non-incluso {
	background: #fff0f0;
}
.sidebar-viaggio .uk-card-default {
	background: #fff;
	border-color: #fff;
}
.sidebar-viaggio .uk-card-body {
	padding: 35px 25px;
}
/*=== BUSINESS TRAVEL ===*/
.grid-servizi-business .uk-text-emphasis.el-image.uk-svg {
	width: 80px;
	height: 80px;
	background: #f2ece8bd;
	padding: 10px;
	border-radius: 15px;
}
/*=== CONVERT FORMS ===*/
body .convertforms .cf-content-wrap, body .convertforms .cf-form-wrap {
	padding: 0px;
}
body .convertforms .cf-input {
	border: solid 1px #e3d6cc;
	padding: 14px;
	border-radius: 15px;
}
/*Personalizzazione form sidebar viaggio*/
#cf_1 .cf-control-group .cf-control-input {
  position: relative;
}

/* icone SOLO nei campi testuali */
#cf_1 .cf-control-group[data-type="text"] .cf-control-input::before,
#cf_1 .cf-control-group[data-type="tel"] .cf-control-input::before,
#cf_1 .cf-control-group[data-type="email"] .cf-control-input::before,
#cf_1 .cf-control-group[data-type="textarea"] .cf-control-input::before {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  z-index: 2;
  pointer-events: none;
  background-color: #000000;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 18px 18px;
  mask-size: 18px 18px;
  transition: background-color 0.2s ease;
}

/* focus: icona arancione */
#cf_1 .cf-control-group[data-type="text"]:focus-within .cf-control-input::before,
#cf_1 .cf-control-group[data-type="tel"]:focus-within .cf-control-input::before,
#cf_1 .cf-control-group[data-type="email"]:focus-within .cf-control-input::before,
#cf_1 .cf-control-group[data-type="textarea"]:focus-within .cf-control-input::before {
  background-color: #f59d3b;
}

/* padding solo per i campi che hanno icona */
#cf_1 input[type="text"].cf-input,
#cf_1 input[type="tel"].cf-input,
#cf_1 input[type="email"].cf-input,
#cf_1 textarea.cf-input {
  padding-right: 44px !important;
  padding-left: 14px !important;
}

#cf_1 .cf-control-group[data-name="name"] .cf-control-input::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

#cf_1 .cf-control-group[data-name="tel_3"] .cf-control-input::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2A19.8 19.8 0 0 1 3.09 5.18 2 2 0 0 1 5.06 3h3a2 2 0 0 1 2 1.72c.12.9.34 1.78.65 2.61a2 2 0 0 1-.45 2.11L9.09 10.91a16 16 0 0 0 4 4l1.47-1.17a2 2 0 0 1 2.11-.45c.83.31 1.71.53 2.61.65A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2A19.8 19.8 0 0 1 3.09 5.18 2 2 0 0 1 5.06 3h3a2 2 0 0 1 2 1.72c.12.9.34 1.78.65 2.61a2 2 0 0 1-.45 2.11L9.09 10.91a16 16 0 0 0 4 4l1.47-1.17a2 2 0 0 1 2.11-.45c.83.31 1.71.53 2.61.65A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

#cf_1 .cf-control-group[data-name="email"] .cf-control-input::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
}

#cf_1 .cf-control-group[data-name="textarea_4"] .cf-control-input::before {
  top: 14px;
  right: 14px;
  transform: none;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
/*Personalizzazione pulsante*/
.cf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.cf-btn .cf-btn-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1.2;
}

.cf-btn .uk-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
  vertical-align: middle;
  transition: transform 0.25s ease;
}

.cf-btn .uk-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

@media (hover: hover) {
body .cf-btn:hover {
    background-color: #228a71;
}

body .cf-btn:hover .uk-icon {
    transform: translateX(5px);
  }
}
/*=== CONTATTI ===*/
.grid-contatti .el-item > .el-image.uk-icon svg {
	width: 50px;
	height: 50px;
	background: #f2ece8bd;
	padding: 10px;
	border-radius: 15px;
}
.grid-contatti .el-title {
	font-weight: 600;
}
.grid-contatti .el-link {
	border: 1px solid;
	padding: 8px 24px;
	border-radius: 15px;
}
.grid-contatti p {
	margin: 0;
}
.orari {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
}
.grid-contatti hr {
	margin: 5px 0;
}
.leaflet-container {
	border-radius: 20px;
}
/*=== FOOTER ===*/
.uffici-footer .uk-icon {
	border: 1px solid rgba(255,255,255,1);
	padding: 12px;
	border-radius: 100px;
}
/*=== MOBILE ===*/
@media (max-width: 767px) {
.djcontentsearch-form details {
    margin-top: 8px;
}
.djcontentsearch-form details summary {
    padding: 10px 16px;
    background: #01696f;
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    list-style: none; /* rimuove il triangolino default */
    text-align: center;
    font-size: 1rem;
}

.djcontentsearch-form details summary::-webkit-details-marker {
    display: none; /* rimuove triangolino su Safari */
}
.djcontentsearch-form details[open] summary {
    border-radius: 6px 6px 0 0;
    background: #0c4e54;
}
.djcontentsearch-form details[open] summary::after {
    content: ' ▲';
}
.djcontentsearch-form details:not([open]) summary::after {
    content: ' ▼';
}
.djcontentsearch-form details > .uk-grid {
    padding-top: 12px;
}
}
@media (min-width: 768px) {
.djcontentsearch-form details > .uk-grid {
    display: grid; /* ripristina il comportamento UIkit */
}
.djcontentsearch-form details summary {
    display: none;
}
}
@media (min-width: 1200px) {
.sidebar-viaggio .uk-card-body {
	padding: 35px 25px;
}
}