.hswbb-wrap,
.hswbb-wrap *{
  box-sizing:border-box!important;
  text-shadow:none!important;
}

.hswbb-wrap{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:18px!important;
  transform:translateX(-50%)!important;
  z-index:999999!important;
  width:min(1480px,calc(100% - 36px))!important;
  max-width:calc(100% - 36px)!important;
  font-family:inherit!important;
  line-height:1.15!important;
  color:var(--hswbb-text,#fff)!important;
}

.hswbb-badge{
  position:absolute!important;
  left:18px!important;
  bottom:calc(100% + 9px)!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#161616!important;
  -webkit-text-fill-color:#161616!important;
  font-size:12px!important;
  font-weight:750!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  margin:0!important;
  padding:8px 12px!important;
  text-align:left!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:999px!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
  white-space:nowrap!important;
  backdrop-filter:blur(10px)!important;
}

.hswbb-badge-dot{
  width:7px!important;
  height:7px!important;
  min-width:7px!important;
  border-radius:50%!important;
  display:inline-block!important;
  background:#25d366!important;
  box-shadow:0 0 0 4px rgba(37,211,102,.14)!important;
}

.hswbb-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:82px!important;
  padding:12px!important;
  margin:0!important;
  overflow:visible!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
    var(--hswbb-bg,#111)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:var(--hswbb-radius,22px)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.28),0 6px 18px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(14px)!important;
}

.hswbb-copy{
  min-width:190px!important;
  max-width:220px!important;
  padding:0 6px 0 4px!important;
  color:var(--hswbb-text,#fff)!important;
  -webkit-text-fill-color:var(--hswbb-text,#fff)!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}

.hswbb-copy strong,
.hswbb-copy span{
  display:block!important;
  margin:0!important;
  padding:0!important;
}

.hswbb-copy strong{
  font-size:15px!important;
  font-weight:750!important;
  line-height:1.05!important;
  letter-spacing:-.01em!important;
  color:var(--hswbb-text,#fff)!important;
  -webkit-text-fill-color:var(--hswbb-text,#fff)!important;
}

.hswbb-copy span{
  margin-top:4px!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.15!important;
  opacity:.76!important;
  color:var(--hswbb-text,#fff)!important;
  -webkit-text-fill-color:var(--hswbb-text,#fff)!important;
}

.hswbb-field{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:3px!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  min-width:128px!important;
  width:128px!important;
  margin:0!important;
  padding:8px 14px 10px!important;
  overflow:visible!important;
  background:var(--hswbb-input-bg,#fff)!important;
  border:1px solid rgba(0,0,0,.09)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 1px 0 rgba(255,255,255,.06)!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
}

.hswbb-date-field{
  min-width:246px!important;
  width:246px!important;
}

.hswbb-field:hover,
.hswbb-field:focus-within{
  border-color:rgba(0,0,0,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 3px rgba(255,255,255,.12)!important;
}

.hswbb-field span{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  color:#555!important;
  -webkit-text-fill-color:#555!important;
  opacity:1!important;
}

.hswbb-field input,
.hswbb-field select{
  display:block!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  font:inherit!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.15!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  caret-color:#111!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
  opacity:1!important;
  filter:none!important;
  color-scheme:light!important;
}

.hswbb-field input::placeholder{
  color:#111!important;
  opacity:1!important;
}

.hswbb-field input::-webkit-calendar-picker-indicator{
  filter:none!important;
  opacity:1!important;
  cursor:pointer!important;
  margin:0!important;
  padding:0!important;
}

.hswbb-field select{
  min-width:0!important;
  padding-right:24px!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}

.hswbb-small select{
  min-width:0!important;
}

.hswbb-date-field input{
  min-width:0!important;
}

.hswbb-field option{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  background:#fff!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}

.hswbb-small{
  min-width:128px!important;
  width:128px!important;
}

.hswbb-nights{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:64px!important;
  height:36px!important;
  margin:0!important;
  padding:0 11px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  background:rgba(255,255,255,.95)!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}

.hswbb-nights:empty{
  display:none!important;
}

.hswbb-submit,
.hswbb-mobile-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  min-width:205px!important;
  margin:0!important;
  padding:0 24px!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:0 12px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.25)!important;
  background:var(--hswbb-btn,#d7c7af)!important;
  color:var(--hswbb-btn-text,#111)!important;
  -webkit-text-fill-color:var(--hswbb-btn-text,#111)!important;
  font:inherit!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}

.hswbb-submit:hover,
.hswbb-mobile-toggle:hover,
.hswbb-submit:focus-visible,
.hswbb-mobile-toggle:focus-visible{
  transform:translateY(-1px)!important;
  filter:brightness(.98)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.3)!important;
  color:var(--hswbb-btn-text,#111)!important;
  -webkit-text-fill-color:var(--hswbb-btn-text,#111)!important;
  outline:0!important;
}

.hswbb-submit:active,
.hswbb-mobile-toggle:active{
  transform:translateY(0)!important;
}

.hswbb-mobile-toggle{
  display:none!important;
  width:100%!important;
  min-width:0!important;
}

body:has(.hswbb-wrap.hswbb-auto){
  padding-bottom:92px!important;
}

@supports not selector(:has(*)){
  body{padding-bottom:92px!important;}
}

@media(max-width:1320px){
  .hswbb-wrap{
    width:min(980px,calc(100% - 32px))!important;
    max-width:calc(100% - 32px)!important;
  }

  .hswbb-inner{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    gap:9px!important;
    padding:10px!important;
    min-height:auto!important;
  }

  .hswbb-copy{
    grid-column:1/-1!important;
    max-width:none!important;
    min-width:0!important;
    padding:0 4px 2px!important;
    text-align:left!important;
  }

  .hswbb-field,
  .hswbb-date-field,
  .hswbb-small{
    min-width:0!important;
    width:100%!important;
  }

  .hswbb-field select,
  .hswbb-small select,
  .hswbb-date-field input{
    min-width:0!important;
    width:100%!important;
  }

  .hswbb-nights{
    justify-self:center!important;
    align-self:center!important;
  }

  .hswbb-submit{
    min-width:0!important;
    width:100%!important;
  }
}

@media(max-width:760px){
  body:has(.hswbb-wrap.hswbb-auto){
    padding-bottom:126px!important;
  }

  .hswbb-wrap{
    bottom:10px!important;
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
  }

  .hswbb-badge{
    position:static!important;
    justify-content:center!important;
    text-align:center!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:0 auto 7px!important;
    white-space:normal!important;
  }

  .hswbb-inner{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    border-radius:calc(var(--hswbb-radius,22px) + 2px)!important;
  }

  .hswbb-copy{
    text-align:center!important;
  }

  .hswbb-field{
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
  }

  .hswbb-submit{
    grid-column:1/-1!important;
    width:100%!important;
  }

  .hswbb-nights{
    grid-column:1/-1!important;
    justify-self:center!important;
  }

  .hswbb-mobile-collapsed .hswbb-mobile-toggle{
    display:flex!important;
  }

  .hswbb-mobile-collapsed:not(.is-open) .hswbb-inner{
    display:none!important;
  }

  .hswbb-mobile-collapsed.is-open .hswbb-mobile-toggle{
    margin-bottom:8px!important;
  }
}

@media(max-width:480px){
  .hswbb-inner{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:9px!important;
  }

  .hswbb-copy{
    display:none!important;
  }

  .hswbb-field{
    width:100%!important;
  }

  .hswbb-submit{
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
  }
}


/* 1.0.15: contrasto forte sui valori e date più leggibili */
html body .hswbb-wrap .hswbb-field input,
html body .hswbb-wrap .hswbb-field select,
html body .hswbb-wrap .hswbb-field select option,
html body .hswbb-wrap .hswbb-field select option:checked{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}

html body .hswbb-wrap .hswbb-date-field{
  min-width:202px!important;
  width:202px!important;
}

html body .hswbb-wrap .hswbb-date-field input{
  min-width:174px!important;
  width:100%!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
}

html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-fields-wrapper,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-text,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-month-field,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-day-field,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-year-field{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  opacity:1!important;
}

html body .hswbb-wrap .hswbb-small select{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:15px!important;
  font-weight:850!important;
}

@media(max-width:1320px){
  html body .hswbb-wrap .hswbb-date-field,
  html body .hswbb-wrap .hswbb-date-field input{
    min-width:0!important;
    width:100%!important;
  }
}

/* 1.0.16: correzione definitiva campo data: niente più data tagliata */
html body .hswbb-wrap{
  width:min(1480px,calc(100% - 36px))!important;
}

html body .hswbb-wrap .hswbb-inner{
  gap:12px!important;
  min-height:82px!important;
  padding:12px!important;
}

html body .hswbb-wrap .hswbb-field{
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  padding:8px 14px 10px!important;
}

html body .hswbb-wrap .hswbb-small{
  min-width:128px!important;
  width:128px!important;
  flex:0 0 128px!important;
}

html body .hswbb-wrap .hswbb-date-field{
  min-width:246px!important;
  width:246px!important;
  flex:0 0 246px!important;
}

html body .hswbb-wrap .hswbb-field input,
html body .hswbb-wrap .hswbb-field select{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  opacity:1!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

html body .hswbb-wrap .hswbb-date-field input[type="date"],
html body .hswbb-wrap .hswbb-date-field input.hswbb-checkin,
html body .hswbb-wrap .hswbb-date-field input.hswbb-checkout{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  padding:0 34px 0 10px!important;
  margin:0!important;
  border:1px solid rgba(0,0,0,.20)!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:650!important;
  line-height:36px!important;
  letter-spacing:0!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  text-align:left!important;
  text-overflow:clip!important;
  overflow:visible!important;
  white-space:nowrap!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
  color-scheme:light!important;
}

html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-fields-wrapper,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-text,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-day-field,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-month-field,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-year-field{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  opacity:1!important;
  font-size:15px!important;
  font-weight:650!important;
  line-height:36px!important;
  padding:0!important;
}

html body .hswbb-wrap input[type="date"]::-webkit-calendar-picker-indicator{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  cursor:pointer!important;
}

html body .hswbb-wrap .hswbb-small select{
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  padding:0 28px 0 10px!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:7px!important;
  background:#fff!important;
  font-size:15px!important;
  font-weight:650!important;
  line-height:36px!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
}

@media(max-width:1320px){
  html body .hswbb-wrap{
    width:min(1040px,calc(100% - 32px))!important;
    max-width:calc(100% - 32px)!important;
  }

  html body .hswbb-wrap .hswbb-inner{
    grid-template-columns:1.15fr 1.15fr .85fr!important;
  }

  html body .hswbb-wrap .hswbb-date-field,
  html body .hswbb-wrap .hswbb-small{
    min-width:0!important;
    width:100%!important;
    flex:unset!important;
  }
}

@media(max-width:760px){
  html body .hswbb-wrap .hswbb-inner{
    grid-template-columns:1fr 1fr!important;
  }

  html body .hswbb-wrap .hswbb-field{
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
  }

  html body .hswbb-wrap .hswbb-date-field input[type="date"],
  html body .hswbb-wrap .hswbb-date-field input.hswbb-checkin,
  html body .hswbb-wrap .hswbb-date-field input.hswbb-checkout{
    font-size:14px!important;
    line-height:36px!important;
    padding-left:8px!important;
    padding-right:30px!important;
  }

  html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit,
  html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-text,
  html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-day-field,
  html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-month-field,
  html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-year-field{
    font-size:14px!important;
  }
}

/* 1.0.17: campo data più largo + testo select/input sempre nero */

/* Aumenta larghezza minima campo data per non tagliare gg/mm/aaaa + icona */
html body .hswbb-wrap .hswbb-date-field{
  min-width:270px!important;
  width:270px!important;
  flex:0 0 270px!important;
}

/* Input data: riduco padding destro, lascio spazio all'icona ma non troppo */
html body .hswbb-wrap .hswbb-date-field input[type="date"],
html body .hswbb-wrap .hswbb-date-field input.hswbb-checkin,
html body .hswbb-wrap .hswbb-date-field input.hswbb-checkout{
  padding:0 28px 0 8px!important;
  font-size:14px!important;
  letter-spacing:0!important;
}

/* Forza tutti i campi webkit datetime edit in nero */
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-fields-wrapper,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-text,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-day-field,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-month-field,
html body .hswbb-wrap input[type="date"]::-webkit-datetime-edit-year-field{
  color:#000!important;
  -webkit-text-fill-color:#000!important;
  opacity:1!important;
  background:transparent!important;
}

/* Select: forza testo nero su tutti i browser incluso Safari/Chrome */
html body .hswbb-wrap .hswbb-field select,
html body .hswbb-wrap .hswbb-small select{
  color:#000!important;
  -webkit-text-fill-color:#000!important;
  opacity:1!important;
  filter:none!important;
  background-color:#fff!important;
  /* Fix specifico per Chrome che applica l'opacità al testo del placeholder */
  -webkit-opacity:1!important;
}

/* Forza nero anche sulla option selezionata e sullo stato default */
html body .hswbb-wrap .hswbb-field select option,
html body .hswbb-wrap .hswbb-field select:invalid,
html body .hswbb-wrap .hswbb-small select:invalid{
  color:#000!important;
  -webkit-text-fill-color:#000!important;
  opacity:1!important;
}

/* Input testuali: nero pieno */
html body .hswbb-wrap .hswbb-field input:not([type="date"]){
  color:#000!important;
  -webkit-text-fill-color:#000!important;
  opacity:1!important;
}

html body .hswbb-wrap .hswbb-field input::placeholder{
  color:#333!important;
  -webkit-text-fill-color:#333!important;
  opacity:1!important;
}

/* Media query: campo data si adatta sotto 1320px */
@media(max-width:1320px){
  html body .hswbb-wrap .hswbb-date-field{
    min-width:0!important;
    width:100%!important;
    flex:unset!important;
  }
}

/* 1.0.17b: neutralizza conflitti tema Salient/Nectar
   Salient applica padding:16px e font-size:16px su .container-wrap input[type=date]
   senza !important, ma con specificità alta. Usiamo selettore più specifico + !important */

/* Reset completo del padding Salient sul campo data del plugin */
body .hswbb-wrap .hswbb-date-field input[type=date],
body .hswbb-wrap .hswbb-date-field input[type=date]:focus,
body .hswbb-wrap .hswbb-date-field input[type=date]:hover,
html body .container-wrap .hswbb-wrap .hswbb-date-field input[type=date],
html body .container-wrap .hswbb-wrap input[type=date]{
  padding:0 28px 0 8px!important;
  font-size:14px!important;
  line-height:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  border:1px solid rgba(0,0,0,.20)!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#000!important;
  -webkit-text-fill-color:#000!important;
  opacity:1!important;
  width:100%!important;
  display:block!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
  color-scheme:light!important;
}

/* Reset select dal tema Salient: body select ha padding/font-size custom */
body .hswbb-wrap .hswbb-small select,
body .hswbb-wrap .hswbb-field select,
html body .container-wrap .hswbb-wrap .hswbb-small select,
html body .container-wrap .hswbb-wrap .hswbb-field select{
  padding:0 28px 0 10px!important;
  font-size:15px!important;
  font-weight:650!important;
  line-height:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#000!important;
  -webkit-text-fill-color:#000!important;
  opacity:1!important;
  width:100%!important;
  display:block!important;
  background-color:#fff!important;
}

/* Neutralizza eventuali color:#fff che Salient mette sulle light-section */
html body .hswbb-wrap input[type=date],
html body .hswbb-wrap select{
  color:#000!important;
  -webkit-text-fill-color:#000!important;
}

/* 1.0.18: override definitivo CSS dinamico Salient (salient-dyn)
   Il file salient-dyn usa "body input[type=date]" senza !important
   ma con alta specificità. Usiamo id-level specificity con :is() trick
   e catena html+body per battere qualsiasi selettore Salient. */

html body .hswbb-wrap .hswbb-date-field input[type=date],
html body .hswbb-wrap .hswbb-date-field input[type=date]:not(#x),
html body .hswbb-wrap .hswbb-date-field input.hswbb-checkin,
html body .hswbb-wrap .hswbb-date-field input.hswbb-checkout {
  /* Annulla font-size:16px di Salient che fa traboccare il testo */
  font-size: 14px !important;
  /* Annulla background:#fff di Salient (non è un problema ma va esplicitato) */
  background-color: #fff !important;
  background: #fff !important;
  /* Annulla border Salient */
  border: 1px solid rgba(0,0,0,.20) !important;
  border-radius: 7px !important;
  /* Padding: spazio sinistra per testo, destra per icona calendario */
  padding: 0 28px 0 8px !important;
  /* Dimensioni fisse */
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  line-height: 36px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  /* Colore testo */
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  opacity: 1 !important;
  /* Mantieni picker nativo */
  appearance: auto !important;
  -webkit-appearance: auto !important;
  color-scheme: light !important;
  box-shadow: none !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* Stesso trattamento per i select: Salient mette font-size:16px anche sui select */
html body .hswbb-wrap .hswbb-small select:not(#x),
html body .hswbb-wrap .hswbb-field select:not(#x) {
  font-size: 15px !important;
  background-color: #fff !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  border-radius: 7px !important;
  padding: 0 28px 0 10px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  line-height: 36px !important;
  width: 100% !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  opacity: 1 !important;
  font-weight: 650 !important;
  box-shadow: none !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* Campo data: larghezza contenitore fissa per desktop */
html body .hswbb-wrap .hswbb-date-field:not(#x) {
  min-width: 270px !important;
  width: 270px !important;
  flex: 0 0 270px !important;
}

@media(max-width:1320px){
  html body .hswbb-wrap .hswbb-date-field:not(#x) {
    min-width: 0 !important;
    width: 100% !important;
    flex: unset !important;
  }
}

/* 1.0.25: mobile vero con icona tonda flottante e modulo a comparsa */
@media(max-width:760px){
  html body:has(.hswbb-wrap.hswbb-auto),
  html body:has(.hswbb-wrap.hswbb-auto.is-open){
    padding-bottom:0!important;
  }

  html body .hswbb-wrap.hswbb-auto{
    left:auto!important;
    right:14px!important;
    bottom:14px!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    gap:10px!important;
    pointer-events:none!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-badge,
  html body .hswbb-wrap.hswbb-auto .hswbb-copy{
    display:none!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-toggle{
    order:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    max-width:62px!important;
    min-height:62px!important;
    max-height:62px!important;
    padding:0!important;
    margin:0!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.24)!important;
    background:var(--hswbb-btn,#d7c7af)!important;
    color:var(--hswbb-btn-text,#111)!important;
    -webkit-text-fill-color:var(--hswbb-btn-text,#111)!important;
    box-shadow:0 16px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.34)!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    z-index:2!important;
    font-size:0!important;
    line-height:1!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-toggle:hover,
  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-toggle:focus-visible{
    transform:translateY(-1px)!important;
    filter:brightness(.98)!important;
    outline:0!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-open-icon,
  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-close-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    height:30px!important;
    color:var(--hswbb-btn-text,#111)!important;
    -webkit-text-fill-color:var(--hswbb-btn-text,#111)!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-open-icon svg{
    display:block!important;
    width:30px!important;
    height:30px!important;
    fill:currentColor!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-close-icon{
    display:none!important;
    font-size:38px!important;
    font-weight:400!important;
    line-height:1!important;
    transform:translateY(-1px)!important;
  }

  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-mobile-open-icon{
    display:none!important;
  }

  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-mobile-close-icon{
    display:flex!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-label{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-inner{
    order:1!important;
    display:none!important;
    width:min(430px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    margin:0!important;
    padding:12px!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),var(--hswbb-bg,#111)!important;
    box-shadow:0 22px 60px rgba(0,0,0,.36)!important;
    pointer-events:auto!important;
  }

  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-inner{
    display:grid!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-field,
  html body .hswbb-wrap.hswbb-auto .hswbb-date-field,
  html body .hswbb-wrap.hswbb-auto .hswbb-small{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:unset!important;
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    padding:8px 12px 10px!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-submit{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-nights{
    grid-column:1/-1!important;
    justify-self:center!important;
  }
}

@media(max-width:430px){
  html body .hswbb-wrap.hswbb-auto .hswbb-inner{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px!important;
  }

  html body .hswbb-wrap.hswbb-auto{
    right:10px!important;
    bottom:10px!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-toggle{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    min-height:58px!important;
    max-height:58px!important;
  }
}



/* 1.0.26: mobile con pulsante barra testuale, non icona tonda */
@media(max-width:760px){
  html body .hswbb-wrap.hswbb-auto{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    min-width:0!important;
    align-items:stretch!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-toggle{
    order:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:0 54px!important;
    margin:0!important;
    border-radius:22px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    background:var(--hswbb-btn,#d7c7af)!important;
    color:var(--hswbb-btn-text,#111)!important;
    -webkit-text-fill-color:var(--hswbb-btn-text,#111)!important;
    font-family:inherit!important;
    font-size:16px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    text-transform:none!important;
    box-shadow:0 16px 38px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.34)!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-open-icon{
    display:none!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-label{
    position:static!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    overflow:visible!important;
    clip:auto!important;
    white-space:nowrap!important;
    color:var(--hswbb-btn-text,#111)!important;
    -webkit-text-fill-color:var(--hswbb-btn-text,#111)!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-close-icon{
    display:none!important;
    position:absolute!important;
    right:20px!important;
    top:50%!important;
    width:24px!important;
    height:24px!important;
    transform:translateY(-50%)!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:26px!important;
    font-weight:500!important;
    line-height:1!important;
    color:var(--hswbb-btn-text,#111)!important;
    -webkit-text-fill-color:var(--hswbb-btn-text,#111)!important;
  }

  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-mobile-close-icon{
    display:flex!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-inner{
    width:100%!important;
    max-width:100%!important;
  }
}

@media(max-width:430px){
  html body .hswbb-wrap.hswbb-auto{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-mobile-toggle{
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    min-width:0!important;
    max-width:none!important;
    border-radius:20px!important;
    font-size:15px!important;
    padding:0 48px!important;
  }
}


/* 1.0.27: mobile aperto pulito, X in alto e OneTap dietro */
.hswbb-panel-close{
  display:none!important;
}

@media(max-width:760px){
  html body .hswbb-wrap.hswbb-auto.is-open{
    z-index:2147483647!important;
  }

  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-mobile-toggle{
    display:none!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-inner{
    position:relative!important;
    z-index:2147483647!important;
  }

  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-inner{
    padding-top:54px!important;
  }

  html body .hswbb-wrap.hswbb-auto .hswbb-panel-close{
    display:none!important;
  }

  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-panel-close{
    display:flex!important;
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.92)!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:28px!important;
    font-weight:500!important;
    line-height:1!important;
    cursor:pointer!important;
    box-shadow:0 6px 18px rgba(0,0,0,.22)!important;
    z-index:3!important;
  }

  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-panel-close:hover,
  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-panel-close:focus-visible{
    background:#fff!important;
    outline:0!important;
  }

  body.hswbb-mobile-open #pojo-a11y-toolbar,
  body.hswbb-mobile-open .pojo-a11y-toolbar-toggle,
  body.hswbb-mobile-open .pojo-a11y-toolbar-link,
  body.hswbb-mobile-open .accessibility-toggle,
  body.hswbb-mobile-open .accessibility-toolbar,
  body.hswbb-mobile-open .onetap,
  body.hswbb-mobile-open .one-tap,
  body.hswbb-mobile-open [id*="onetap"],
  body.hswbb-mobile-open [class*="onetap"],
  body.hswbb-mobile-open [id*="OneTap"],
  body.hswbb-mobile-open [class*="OneTap"],
  body.hswbb-mobile-open [id*="wponetap"],
  body.hswbb-mobile-open [class*="wponetap"],
  body.hswbb-mobile-open [id*="wp-onetap"],
  body.hswbb-mobile-open [class*="wp-onetap"],
  body.hswbb-mobile-open [id*="one-tap"],
  body.hswbb-mobile-open [class*="one-tap"],
  body.hswbb-mobile-open [id*="One-Tap"],
  body.hswbb-mobile-open [class*="One-Tap"]{
    z-index:999999!important;
  }
}

/* 1.0.28: fix tap/click X chiusura pannello mobile */
@media(max-width:760px){
  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-panel-close{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    z-index:2147483647!important;
  }
  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-inner{
    pointer-events:auto!important;
  }
}

/* 1.0.29: X mobile sempre sopra e cliccabile, chiusura gestita anche inline */
@media(max-width:760px){
  html body .hswbb-wrap.hswbb-auto.is-open .hswbb-panel-close,
  html body .hswbb-wrap.hswbb-auto.is-open [data-hswbb-close]{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    z-index:2147483647!important;
    cursor:pointer!important;
  }
  html body .hswbb-wrap.hswbb-auto.is-open{
    isolation:isolate!important;
  }
}


/* 1.0.30: desktop compatto, niente spazio vuoto dopo il bottone */
@media(min-width:1101px){
  html body .hswbb-wrap.hswbb-auto{
    width:fit-content!important;
    inline-size:fit-content!important;
    max-width:calc(100vw - 36px)!important;
    min-width:0!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
  html body .hswbb-wrap.hswbb-auto .hswbb-inner{
    width:auto!important;
    inline-size:auto!important;
    max-width:100%!important;
    justify-content:flex-start!important;
  }
}

@media(min-width:761px) and (max-width:1100px){
  html body .hswbb-wrap.hswbb-auto{
    width:min(720px,calc(100vw - 32px))!important;
    max-width:calc(100vw - 32px)!important;
  }
  html body .hswbb-wrap.hswbb-auto .hswbb-inner{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    max-width:100%!important;
    min-height:auto!important;
    max-height:none!important;
    padding:10px!important;
    gap:9px!important;
  }
  html body .hswbb-wrap.hswbb-auto .hswbb-copy,
  html body .hswbb-wrap.hswbb-auto .hswbb-submit,
  html body .hswbb-wrap.hswbb-auto .hswbb-nights{
    grid-column:1/-1!important;
  }
  html body .hswbb-wrap.hswbb-auto .hswbb-field,
  html body .hswbb-wrap.hswbb-auto .hswbb-date-field,
  html body .hswbb-wrap.hswbb-auto .hswbb-small{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:unset!important;
  }
}


/* 1.0.34: variante Agriturismo / Ristorante con due bottoni iniziali */
html body .hswbb-wrap .hswbb-is-hidden{
  display:none!important;
}
html body .hswbb-wrap .hswbb-booking-choice-field{
  min-width:280px!important;
  width:280px!important;
  flex:0 0 280px!important;
}
html body .hswbb-wrap .hswbb-choice-buttons{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  width:100%!important;
  height:36px!important;
}
html body .hswbb-wrap .hswbb-choice-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
  padding:0 10px!important;
  border:1px solid rgba(0,0,0,.14)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font:inherit!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:none!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
html body .hswbb-wrap .hswbb-choice-btn:hover,
html body .hswbb-wrap .hswbb-choice-btn:focus-visible{
  border-color:rgba(0,0,0,.32)!important;
  outline:0!important;
}
html body .hswbb-wrap .hswbb-choice-btn.is-selected,
html body .hswbb-wrap .hswbb-choice-btn[aria-pressed="true"]{
  background:var(--hswbb-btn,#d7c7af)!important;
  border-color:var(--hswbb-btn,#d7c7af)!important;
  color:var(--hswbb-btn-text,#111)!important;
  -webkit-text-fill-color:var(--hswbb-btn-text,#111)!important;
}
html body .hswbb-wrap .hswbb-booking-type{
  display:none!important;
}
html body .hswbb-wrap .hswbb-restaurant-time-field{
  min-width:145px!important;
  width:145px!important;
  flex:0 0 145px!important;
}
html body .hswbb-wrap .hswbb-restaurant-time option:disabled{
  color:#777!important;
}
@media(max-width:1320px){
  html body .hswbb-wrap .hswbb-booking-choice-field,
  html body .hswbb-wrap .hswbb-restaurant-time-field{
    min-width:0!important;
    width:100%!important;
    flex:unset!important;
  }
}
@media(min-width:761px) and (max-width:1100px){
  html body .hswbb-wrap.hswbb-auto .hswbb-booking-choice-field,
  html body .hswbb-wrap.hswbb-auto .hswbb-restaurant-time-field{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:unset!important;
  }
}

@media(max-width:760px){
  html body .hswbb-wrap .hswbb-booking-choice-field,
  html body .hswbb-wrap.hswbb-auto .hswbb-booking-choice-field{
    grid-column:1/-1!important;
  }
}
