@charset "UTF-8";

/* ==========================================================================
   formulario.css — Avantio search widget
   Usa le variabili CSS del tema LetsItaly (definite in letsitaly_css/style.css)
   così i colori si aggiornano automaticamente modificando solo il design system.
   ========================================================================== */

.fwk-bg {
    background-color: var(--color-primary, #3f556e);
}
.fwk-color {
    color: var(--color-primary, #3f556e);
}

/* --------------------------------------------------------------------------
   Main container
   -------------------------------------------------------------------------- */
#miniformulario_slider #sombrap {
    font-family: var(--font-body);
    border: 1px solid var(--color-gray-200, #E5E5E5);
    border-radius: var(--border-radius-lg, 16px);
    background-color: var(--color-white, #ffffff);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.10));
    overflow: hidden;
    text-rendering: optimizeLegibility;
}

/* --------------------------------------------------------------------------
   Children popover
   -------------------------------------------------------------------------- */
#miniformulario_slider .popover .ninyo select {
    appearance: none;
}
#miniformulario_slider .popover .ninyo_impar .flecha_select:after {
    right: 33px !important;
}
#miniformulario_slider .popover {
    -webkit-box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.10));
    background-color: var(--color-white, #ffffff);
    border-radius: var(--border-radius, 0px);
    border: 1px solid var(--color-gray-200, #E5E5E5);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.10));
    margin-top: -10px;
    max-width: 100%;
    padding: 10px;
    position: absolute;
    width: 440px;
}
#miniformulario_slider .popover.arrow,
#miniformulario_slider .popover.arrow:after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}
#miniformulario_slider .popover.arrow {
    border-width: 11px;
}
#miniformulario_slider .popover.arrow:after {
    content: "";
    border-width: 10px;
}
#miniformulario_slider .popover.top {
    margin-top: -10px;
}
#miniformulario_slider .popover.top.arrow {
    border-bottom-width: 0;
    border-top-color: #999;
    border-top-color: rgba(0, 0, 0, 0.25);
    bottom: -11px;
    left: 50%;
    margin-left: -11px;
}
#miniformulario_slider .popover.top.arrow:after {
    bottom: 1px;
    margin-left: -10px;
    content: " ";
    border-top-color: #fff;
    border-bottom-width: 0;
}
#miniformulario_slider .popover.bottom {
    margin-top: 10px;
}
#miniformulario_slider .popover.bottom.arrow {
    border-bottom-color: #999;
    border-bottom-color: rgba(0, 0, 0, 0.25);
    border-top-width: 0;
    left: 50%;
    margin-left: -11px;
    top: -11px;
}
#miniformulario_slider .popover.bottom.arrow:after {
    border-bottom-color: #f7f7f7;
    border-top-width: 0;
    content: " ";
    margin-left: -10px;
    top: 1px;
}
#miniformulario_slider .popover .titulo_miniform {
    display: flex;
    font-size: 14px;
    font-weight: 700;
    padding: 6px 0;
}
#miniformulario_slider .popover .ninyo {
    float: left;
    margin-bottom: 8px;
    width: 47%;
}
#miniformulario_slider .popover .ninyo.flecha_select:after {
    color: var(--color-gray-400, #9B9B9B);
    content: "";
    font-family: "fontlibrary";
    font-size: 15px;
    padding: 5px 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}
#miniformulario_slider .popover .ninyo.ninyo_impar {
    margin-left: 6%;
}
#miniformulario_slider .popover .ninyo.ninyo_impar .flecha_select:after {
    right: 20px;
}
#miniformulario_slider .popover .ninyo.ninyo_par .flecha_select:after {
    left: 185px;
}
#miniformulario_slider .popover .ninyo.titulo_ninyos {
    font-weight: 700;
    padding-bottom: 4px;
}
#miniformulario_slider .popover .ninyo select {
    border: 1px solid var(--color-gray-200, #E5E5E5);
    border-radius: var(--border-radius, 0px);
    color: var(--color-gray-700, #4A4A4A);
    font-size: 13px;
    height: 30px;
    padding: 0 10px;
    width: 100%;
}
#miniformulario_slider .popover #acepta_ninos {
    display: none;
}
#miniformulario_slider .popover .cerrar_ninyos {
    align-items: center;
    background-color: var(--color-primary, #3f556e);
    border-radius: var(--border-radius, 0px);
    color: var(--color-white, #fff);
    display: flex;
    flex-direction: column;
    font-size: 11px;
    font-weight: 700;
    padding: 8px;
    line-height: 14px;
    width: 100%;
}

/* --------------------------------------------------------------------------
   Form layout
   -------------------------------------------------------------------------- */
#miniformulario_slider #sombrap #tabla_form {
    display: flex !important;
    flex-wrap: wrap;
}
#miniformulario_slider #sombrap #tabla_form > * {
    flex-grow: 1;
    flex-basis: calc(calc(550px - 100%) * 999);
    padding: 16px;
}
#miniformulario_slider #sombrap #tabla_form > * + *:not(#contenido_buscar) {
    border-left: 1px solid var(--color-gray-200, #E5E5E5);
    margin-top: unset;
}
#miniformulario_slider #sombrap #tabla_form .wrapper-travel-period {
    flex-basis: 110px;
}
#miniformulario_slider #sombrap #tabla_form .wrapper-travel-period .form_item {
    margin-top: unset;
}
#miniformulario_slider #sombrap #tabla_form .form_item label {
    white-space: nowrap;
    font-size: var(--font-size-xs, 0.75rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-gray-400, #9B9B9B);
}
#miniformulario_slider #sombrap #tabla_form .form_item input,
#miniformulario_slider #sombrap #tabla_form .form_item select {
    min-height: 32px;
    font-family: inherit;
    width: 100%;
    padding: 0 8px;
    border: none;
    color: var(--color-dark, #1A1A1A);
    cursor: pointer;
    background: unset;
    outline-color: var(--color-primary, #3f556e);
}
#miniformulario_slider #sombrap #tabla_form .form_item input option,
#miniformulario_slider #sombrap #tabla_form .form_item select option {
    font-size: 1em;
}
#miniformulario_slider #sombrap #tabla_form .form_item input::-webkit-input-placeholder {
    opacity: 1;
    color: inherit;
}
#miniformulario_slider #sombrap #tabla_form .form_item input::-moz-placeholder {
    opacity: 1;
}
#miniformulario_slider #sombrap #tabla_form .form_item input:-ms-input-placeholder {
    opacity: 1;
}
#miniformulario_slider #sombrap #tabla_form .form_item input:-moz-placeholder {
    opacity: 1;
}

/* --------------------------------------------------------------------------
   Submit / search button
   -------------------------------------------------------------------------- */
#miniformulario_slider #sombrap #tabla_form #contenido_buscar {
    color: var(--color-white, #ffffff);
    text-decoration: none;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: unset;
    background-color: var(--color-cream, #FDF8F3);
}
#miniformulario_slider #sombrap #tabla_form #contenido_buscar * {
    flex-grow: 1;
    font-family: inherit;
    color: inherit;
    text-decoration: inherit;
    border-radius: var(--border-radius, 0px);
    overflow: auto;
}
#miniformulario_slider #sombrap #tabla_form #contenido_buscar a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-primary, #3f556e);
    min-height: 40px;
    padding: 0 24px;
    text-align: inherit;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    font-size: var(--font-size-sm, 0.875rem);
    transition: background-color var(--transition-fast, 150ms ease), transform var(--transition-fast, 150ms ease);
}
#miniformulario_slider #sombrap #tabla_form #contenido_buscar a:hover {
    background-color: var(--color-primary-dark, #2a3a4b);
    transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Responsive — mobile
   -------------------------------------------------------------------------- */
@media (max-width: 550px) {
    #sombrap #contenido_buscar {
        margin-top: 16px;
        position: sticky;
        bottom: 0;
    }
    #sombrap #contenido_buscar:before {
        content: "";
        position: absolute;
        height: 32px;
        width: 100%;
        left: 0;
        top: -32px;
        background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.95) 20%, rgba(255, 255, 255, 0));
        z-index: 10;
    }
    #sombrap #tabla_form > * {
        border-left: unset;
    }
}
@supports (-webkit-appearance: none) {
    #tabla_form input,
    #tabla_form select {
        height: auto;
    }
    #tabla_form select {
        -webkit-appearance: none;
        border-radius: var(--border-radius, 0px);
    }
}
@media not all and (min-resolution: 0.001dpcm) {
    .ui-datepicker-header {
        padding: 0 32px;
    }
    .ui-datepicker-header a > span {
        display: block;
    }
    .ui-datepicker-header a > span[class*="prev"]:before {
        content: none;
    }
    .ui-datepicker-header a > span[class*="next"]:after {
        content: none;
    }
}
@supports (-moz-appearance: meterbar) {
    ::placeholder {
        color: inherit;
    }
}

/* --------------------------------------------------------------------------
   jQuery UI Datepicker
   -------------------------------------------------------------------------- */
#ui-datepicker-div {
    font-size: 14px;
    z-index: 1000 !important;
    padding: 20px;
}
#ui-datepicker-div * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#ui-datepicker-div table {
    border-collapse: collapse;
    border-spacing: 0;
}
#ui-datepicker-div td,
#ui-datepicker-div tr {
    padding: 0;
}
#ui-datepicker-div .ui-datepicker-days-cell-over .ui-state-default {
    color: var(--color-primary, #3f556e);
    background-color: #fff;
}
#ui-datepicker-div a.ui-state-default.ui-state-active {
    background: var(--color-primary, #3f556e);
    color: var(--color-white, #fff);
    border-color: var(--color-primary, #3f556e);
    margin: -1px;
}
#ui-datepicker-div a.ui-state-default.ui-state-hover {
    background: var(--color-primary, #3f556e);
    color: var(--color-white, #fff);
    margin: -1px;
    border: 0px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
    -moz-border-radius-topleft: 0;
    -webkit-border-top-left-radius: 0;
    -khtml-border-top-left-radius: 0;
    border-top-left-radius: 0;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
    -moz-border-radius-topright: 0;
    -webkit-border-top-right-radius: 0;
    -khtml-border-top-right-radius: 0;
    border-top-right-radius: 0;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
    -moz-border-radius-bottomleft: 0;
    -webkit-border-bottom-left-radius: 0;
    -khtml-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
    -moz-border-radius-bottomright: 0;
    -webkit-border-bottom-right-radius: 0;
    -khtml-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
}
.ui-widget-overlay {
    background: #eeeeee;
    opacity: 0.8;
    filter: alpha(Opacity=80);
}
.ui-widget-shadow {
    margin: -4px 0 0 -4px;
    padding: 4px;
    background: #aaaaaa;
    opacity: 0.6;
    filter: alpha(Opacity=60);
    -moz-border-radius: 0px;
    -khtml-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
}
.ui-datepicker {
    border-radius: var(--border-radius, 0px);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.10));
    background-color: var(--color-white, #fff);
    z-index: 9999999999;
    display: none;
    width: 244px;
}
.ui-datepicker a:hover {
    color: inherit;
}
.datepicker-tooltip {
    z-index: 9999999999;
    -webkit-transform: translateZ(1px);
}
.ui-datepicker-calendar {
    background: transparent;
    width: 100%;
}
.ui-datepicker-calendar td {
    padding: 0;
    position: relative;
    background-color: var(--color-white, #fff) !important;
    border: 0 !important;
}
.ui-datepicker-calendar td:first-child,
.ui-datepicker-calendar td:last-child {
    border-left: 0;
}
.ui-datepicker-calendar th {
    text-align: center;
    color: var(--color-gray-400, #9B9B9B);
    font-size: 0.8em;
    border: 0 !important;
}
a.ui-state-default,
span.ui-state-default {
    display: block;
    padding: 6px 0px;
    text-align: center;
    font-weight: bold;
    width: 34px;
    border: 1px solid transparent;
}
a.ui-state-default:hover,
span.ui-state-default:hover {
    text-decoration: none;
}
.ui-datepicker-prev,
.ui-datepicker-next {
    cursor: pointer;
    padding: 10px;
}
.ui-datepicker-prev span,
.ui-datepicker-next span {
    display: block !important;
}
.ui-datepicker-prev:before,
.ui-datepicker-next:before {
    font-family: "fontlibrary";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    color: var(--color-gray-400, #9B9B9B);
    font-size: 1.2em;
}
.ui-datepicker-prev:hover,
.ui-datepicker-prev:hover:before,
.ui-datepicker-next:hover,
.ui-datepicker-next:hover:before {
    text-decoration: none;
}
.ui-datepicker-prev {
    float: left;
}
.ui-datepicker-prev:before {
    content: "";
}
.ui-datepicker-next {
    float: right;
}
.ui-datepicker-next:before {
    content: "";
}
.ui-datepicker-title {
    font-size: 16px;
    text-align: center;
    padding-top: 9px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
a.ui-state-default {
    color: var(--color-gray-700, #4A4A4A);
}
span.ui-state-default {
    color: var(--color-gray-200, #E5E5E5);
}
.ui-datepicker-header {
    font-weight: bold;
    margin-bottom: 10px;
    padding: 5px;
}
.ui-datepicker-buttonpane {
    padding: 5px;
    font-size: 12px;
}
.ui-datepicker-close {
    color: var(--color-primary, #3f556e);
    background: transparent;
    border: 0;
    text-align: left;
    width: 40%;
}
.ui-datepicker-current {
    display: none;
}
.ui-datepicker-additional-info {
    position: relative;
    top: 2px;
    float: right;
    color: var(--color-gray-400, #9B9B9B);
    margin-bottom: 10px;
    text-align: right;
    padding-right: 5px;
    width: 60%;
}
.ui-datepicker-calendar td.ui-datepicker-week-end {
    width: 31px;
}
.ui-datepicker-calendar td:first-child {
    border-left: none;
}
.ui-datepicker-calendar td:first-child a.ui-state-default.ui-state-highlight,
.ui-datepicker-calendar td:first-child a.ui-state-default.ui-state-hover,
.ui-datepicker-calendar td:first-child a.ui-state-default.ui-state-active {
    border-left: none;
    margin: 0;
    width: 33px;
}
.ui-datepicker-calendar td:last-child {
    border-right: none;
    margin-right: 0;
}
.ui-datepicker-calendar td:last-child a.ui-state-default.ui-state-highlight,
.ui-datepicker-calendar td:last-child a.ui-state-default.ui-state-hover,
.ui-datepicker-calendar td:last-child a.ui-state-default.ui-state-active {
    border-right: none;
    margin: 0;
    width: 33px;
}
.ui-datepicker {
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}
.ui-datepicker-calendar tr td span,
.ui-datepicker-calendar tr th span,
.ui-datepicker-calendar tr td a {
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

/* --------------------------------------------------------------------------
   Autocomplete (destination search)
   -------------------------------------------------------------------------- */
.ui-autocomplete {
    display: table-cell;
    background-color: var(--color-white, #ffffff);
    border: 1px solid var(--color-gray-200, #E5E5E5);
    border-radius: var(--border-radius, 0px);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.10));
    list-style: none;
    padding: 15px 0;
}
.ui-widget label {
    font-weight: normal !important;
}
.ui-menu-item a {
    color: var(--color-dark, #1A1A1A);
    font-size: 14px;
    padding-left: 10px !important;
}
.ui-menu-item {
    float: left;
    padding: 5px 5px 5px 30px;
    clear: both;
    width: 100%;
    cursor: pointer;
}
li.ui-autocomplete-category {
    float: left;
    color: var(--color-primary, #3f556e);
    font-weight: bold;
    font-size: 15px;
    padding: 3px 5px 5px 15px;
}
li.ui-autocomplete-category i {
    margin-right: 5px;
}
li.ui-menu-item:hover {
    background-color: var(--color-primary, #3f556e);
}
li.ui-menu-item:hover a {
    color: var(--color-white, #ffffff);
}
.ui-corner-all a {
    text-decoration: none !important;
}
li.ui-menu-item span.glyphicon {
    color: var(--color-gray-400, #9B9B9B);
}
li.ui-menu-item:hover span.glyphicon {
    color: var(--color-white, #ffffff);
}

/* --------------------------------------------------------------------------
   Children age selector block
   -------------------------------------------------------------------------- */
.bloque_edadesNinyos {
    --submitSize: 126.73px;
    --translateX: calc(50% - calc(var(--submitSize) / 2));
    border: 1px solid var(--color-gray-200, #E5E5E5);
    border-radius: var(--border-radius, 0px);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.10));
    display: block;
    max-width: 210px;
    width: 100%;
    position: absolute;
    right: var(--submitSize);
    transform: translateX(var(--translateX));
}
.bloque_edadesNinyos a {
    text-decoration: none;
}
.bloque_edadesNinyos > * {
    background: var(--color-white, white);
}
.bloque_edadesNinyos #edades .titulo_ninyos {
    --fontSize: 12px;
    font-weight: 700;
    opacity: 0.7;
}
.bloque_edadesNinyos #edades select {
    border-radius: var(--border-radius, 0px);
    min-height: 32px;
    font-family: inherit;
    width: 100%;
    padding: 0 8px;
    border: none;
    color: var(--color-dark, #1A1A1A);
    cursor: pointer;
    background: unset;
    outline-color: var(--color-primary, #3f556e);
}
.bloque_edadesNinyos #acepta_ninos .botonNinyo {
    background-color: var(--color-primary, #3f556e);
    border-radius: var(--border-radius, 0px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white, white);
    font-weight: bold;
    transition: background-color var(--transition-fast, 150ms ease);
}
.bloque_edadesNinyos #acepta_ninos .botonNinyo:hover {
    background-color: var(--color-primary-dark, #2a3a4b);
}
@media (max-width: 600px) {
    .bloque_edadesNinyos {
        --submitSize: 72px;
        max-width: unset;
        right: 0;
        left: 0;
        transform: unset;
        bottom: var(--submitSize);
    }
}
#ui-id-1 {
    z-index: 99999;
}

/* 
Flexible search css overwrite
 */

#ui-datepicker-div .ui-datepicker-title {
    font-family: inherit !important;
}

#ui-datepicker-div th span {
    font-family: inherit !important;
}

#ui-datepicker-div td .ui-state-default {
    font-family: var(--font-body) !important;
}

#ui-datepicker-div td a {
    font-family: inherit !important;
}

.flexible-search-form .form-input-container-header label {
    font-family: inherit !important;
}

.flexible-search-form .form-input-night {
    font-family: inherit !important;
}

.flexible-search-form select {
    font-family: inherit !important;
}

.flexible-search-form select::after, .flexible-search-form select:after {
    font-family: inherit !important;
}

.button-apply-search {
    font-family: inherit !important;
}

.flexible-search-info-container {
    font-family: inherit !important;
}
