
/* descrizione camera articolo singolo */
.descrizionecamera{
  max-width: 800px!important;
}
/* nascondo il prezzo predefinito woocommerce */
.woocommerce .wc-block-components-product-price bdi{
  display: none;
}
/* box prezzi */

.bnb-totalbox{
  grid-column: 1 / -1;
  margin-top: 12px;

  border-radius: 16px;
  border: 1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.92);

  padding: 12px 14px;
  box-shadow: 0 10px 25px rgba(2,6,23,.06);
}

.bnb-totalbox__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 6px 0;
  font-size: 14px;
  color: rgba(11,18,32,.75);
}

.bnb-totalbox__row + .bnb-totalbox__row{
  border-top: 1px solid rgba(11,18,32,.08);
}

.bnb-totalbox__row--strong{
  color: #0b1220;
  font-weight: 900;
}

.bnb-totalbox__value{
  font-weight: 800;
  color: #0b1220;
}
/* fine box prezzi */

.bnb-serviceBox{
  grid-column: 1 / -1;
  margin-top: 8px;
  margin-bottom: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(11,18,32,.10);
  background: linear-gradient(180deg, rgba(248,250,247,.95), rgba(255,255,255,.96));
  box-shadow: 0 10px 24px rgba(2,6,23,.04);
}

.bnb-serviceBox__head{
  display: block;
  margin-bottom: 12px;
}

.bnb-serviceBox__head strong{
  font-size: 16px;
  color: #0b1220;
}

.bnb-serviceBox__list{
  display: grid;
  gap: 12px;
}

.bnb-serviceBox__item{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(11,18,32,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  transition: border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}

.bnb-serviceBox__item.is-active{
  border-color: rgba(131,159,118,.45);
  box-shadow: 0 12px 28px rgba(131,159,118,.12);
  transform: translateY(-1px);
}

.bnb-serviceBox__toggle{
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}

.bnb-serviceBox__toggle input[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #839f76;
  flex: 0 0 auto;
}

.bnb-serviceBox__copy{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bnb-serviceBox__title{
  font-size: 14px;
  font-weight: 800;
  color: #0b1220;
}

.bnb-serviceBox__price{
  font-size: 12px;
  color: rgba(11,18,32,.62);
}

.bnb-serviceBox__meta{
  font-size: 11px;
  color: rgba(11,18,32,.48);
}

.bnb-serviceBox__qtyWrap{
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.bnb-serviceBox__qtyWrap label{
  margin: 0;
  font-size: 11px;
  color: rgba(11,18,32,.56);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 700;
}

.bnb-booking-wrapper .bnb-serviceBox__qty{
  width: 100%;
  max-width: none;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(11,18,32,.14);
  background: #fff;
  padding: 10px 12px;
  font-size: 15px;
  font-weight: 700;
  color: #0b1220;
  outline: none;
  box-shadow: 0 10px 25px rgba(2,6,23,.06);
  transition: border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}

@media (max-width: 700px){
  .bnb-serviceBox__item{
    grid-template-columns: 1fr;
    display: grid;
  }
}

.bnb-cal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.bnb-cal-title {
    font-weight: 600;
}

.bnb-cal-nav {
    border: 1px solid #ccc;
    background: #f8f8f8;
    padding: 2px 8px;
    border-radius: 4px;
    cursor: pointer;
}

.bnb-cal-nav:hover {
    background: #eaeaea;
}

.bnb-cal-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 8px;
    font-size: 13px;
}

.bnb-cal-table th,
.bnb-cal-table td {
    text-align: center;
    padding: 4px;
    height: 28px;
}

.bnb-cal-table th {
    border-bottom: 1px solid #ddd;
    font-weight: 600;
}

.bnb-day {
    cursor: pointer;
    border-radius: 4px;
}

.bnb-empty {
    background: transparent;
}

.bnb-day-free {
    background: #f5fff5;
}

.bnb-day-occupied {
    background: #ffe6e6;
    color: #999;
    cursor: not-allowed;
}

.bnb-day-free:hover {
    background: #e0f7e0;
}

.bnb-day-selected {
    outline: 2px solid #0073aa;
    background: #d0f0ff;
}

.bnb-day-range {
    background: #c8eaff;
}

.bnb-calendar-legend {
    font-size: 12px;
    margin-bottom: 10px;
}

.bnb-legend-box {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    margin-right: 4px;
    vertical-align: middle;
}

.bnb-free {
    background: #f5fff5;
    border: 1px solid #b4e2b4;
}

.bnb-occupied {
    background: #ffe6e6;
    border: 1px solid #e2b4b4;
}

.bnb-selected {
    background: #d0f0ff;
    border: 1px solid #7fb7df;
}

/* nuovo css */
/* ================================
   BNB - Inputs (checkin/checkout/guests)
   SOLO DESIGN (no logica)
   ================================ */

.bnb-booking-wrapper p { margin: 10px 0; }

.bnb-booking-wrapper label{
  display:inline-block;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(11,18,32,.68);
  margin-bottom: 6px;
}

.bnb-booking-wrapper input#bnb_checkin,
.bnb-booking-wrapper input#bnb_checkout{
  width: 100%;
  max-width: 14vw;
  height: 48px;

  border-radius: 14px;
  border: 1px solid rgba(11,18,32,.14);
  background: #fff;

  padding: 10px 12px;
  padding-right: 44px; /* spazio per iconcina */

  font-size: 15px;
  font-weight: 700;
  color: #0b1220;

  outline: none;
  box-shadow: 0 10px 25px rgba(2,6,23,.06);
  transition: border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}

.bnb-booking-wrapper input#bnb_guests{
  width: 100%;
  max-width: 7vw;
  height: 48px;

  border-radius: 14px;
  border: 1px solid rgba(11,18,32,.14);
  background: #fff;

  padding: 10px 12px;
  padding-right: 44px; /* spazio per iconcina */

  font-size: 15px;
  font-weight: 700;
  color: #0b1220;

  outline: none;
  box-shadow: 0 10px 25px rgba(2,6,23,.06);
  transition: border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}



.bnb-booking-wrapper input#bnb_checkin:focus,
.bnb-booking-wrapper input#bnb_checkout:focus,
.bnb-booking-wrapper input#bnb_guests:focus,
.bnb-booking-wrapper .bnb-serviceBox__qty:focus{
  border-color: rgba(59,130,246,.55);
  box-shadow: 0 0 0 4px rgba(59,130,246,.14), 0 10px 25px rgba(2,6,23,.08);
}

.bnb-booking-wrapper input#bnb_checkin:hover,
.bnb-booking-wrapper input#bnb_checkout:hover,
.bnb-booking-wrapper input#bnb_guests:hover,
.bnb-booking-wrapper .bnb-serviceBox__qty:hover{
  transform: translateY(-1px);
}

/* Placeholder più elegante */
.bnb-booking-wrapper input#bnb_checkin::placeholder,
.bnb-booking-wrapper input#bnb_checkout::placeholder{
  color: rgba(11,18,32,.45);
  font-weight: 600;
}

/* Rendo più carino il number input (Chrome/Safari) */
.bnb-booking-wrapper input#bnb_guests{
  padding-right: 12px; /* niente icona qui */
}
.bnb-booking-wrapper input[type="number"]::-webkit-outer-spin-button,
.bnb-booking-wrapper input[type="number"]::-webkit-inner-spin-button{
  opacity: .6;
}

/* Iconcine a destra (solo decorative) */
.bnb-booking-wrapper p{ position: relative; }


/* Layout: metto i 3 campi in riga su desktop */
.bnb-booking-wrapper{
  border-radius: 18px;
  padding: 16px;
  border: 1px solid rgba(11,18,32,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
}

/* tasto Aggiungi al carrello */
.woocommerce div.product form.cart button[name=add-to-cart] {
    width: 50vw;
    border-radius: 16px;
    height: 60px;
}

@media (min-width: 760px){
  .bnb-booking-wrapper{
    display: grid;
    grid-template-columns: 1fr 1fr 0.6fr;
    gap: 12px;
    align-items: end;
  }

  /* Togli il "Prenota la tua stanza" dal flow grid e fallo span */
  .bnb-booking-wrapper > p:first-child{
    grid-column: 1 / -1;
    margin: 0 0 6px;
  }

  /* Calendario full width */
  #bnb-calendar,
  .bnb-calendar-legend{
    grid-column: 1 / -1;
  }
}

/* Mobile: full width sempre */
@media (max-width: 759px){
  .bnb-booking-wrapper input#bnb_checkin,
  .bnb-booking-wrapper input#bnb_checkout{
    max-width: 88%;
  }
  .bnb-booking-wrapper input#bnb_guests{
    max-width: 95%;
  }
  .woocommerce div.product form.cart button[name=add-to-cart] {
    width: 83vw;
}
}

/* nascondo la quantià per add to cart */
.woocommerce div.product form.cart div.quantity{
  display: none;
}


/*secondo fix*/
/* =========================
   BNB Booking - restyle clean
   incolla in fondo al CSS
   ========================= */

:root{
  --bnb-ink: #0b1220;
  --bnb-muted: rgba(11,18,32,.65);
  --bnb-line: rgba(11,18,32,.10);
  --bnb-soft: rgba(255,255,255,.92);
  --bnb-shadow: 0 16px 40px rgba(2,6,23,.10);
}

/* Card principale più "premium" e meno boxone */
.bnb-booking-wrapper{
  border: 1px solid var(--bnb-line) !important;
  background: var(--bnb-soft) !important;
  border-radius: 18px !important;
  padding: 14px !important;
  box-shadow: var(--bnb-shadow) !important;
}

/* Titolo sezione */
.bnb-booking-wrapper > p:first-child{
  font-size: 15px !important;
  font-weight: 900 !important;
  color: var(--bnb-ink) !important;
  margin: 0 0 10px !important;
}

/* Header calendario: più compatto e pulito */
.bnb-cal-header{
  margin-bottom: 6px !important;
}
.bnb-cal-title{
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--bnb-ink) !important;
}
.bnb-cal-nav{
  border: 1px solid var(--bnb-line) !important;
  background: rgba(255,255,255,.9) !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  transition: .15s ease !important;
}
.bnb-cal-nav:hover{
  background: rgba(11,18,32,.06) !important;
}

/* Calendario più piccolo e più "UX" */
.bnb-cal-table{
  font-size: 12px !important;
  margin-bottom: 8px !important;
  border-collapse: separate !important;
  border-spacing: 4px 4px !important; /* X Y */
}
.bnb-cal-table th{
  font-size: 11px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--bnb-muted) !important;
  border-bottom: 1px solid rgba(11,18,32,.08) !important;
  padding: 6px 0 !important;
}
.bnb-cal-table td{
  padding: 2px !important;
  height: 26px !important;
}

/* Giorni: più moderni (pill) */
.bnb-day{
  border-radius: 10px !important;
  transition: transform .12s ease, filter .12s ease !important;
}
.bnb-day-free{
  background: rgba(34,197,94,.08) !important;
}
.bnb-day-free:hover{
  background: rgba(34,197,94,.14) !important;
  transform: translateY(-1px) !important;
}
.bnb-day-occupied{
  background: rgba(239,68,68,.10) !important;
  color: rgba(11,18,32,.35) !important;
}
.bnb-day-selected{
  outline: none !important;
  background: rgba(59,130,246,.18) !important;
  box-shadow: 0 0 0 2px rgba(59,130,246,.35) inset !important;
}
.bnb-day-range{
  background: rgba(59,130,246,.10) !important;
}

/* Legend più piccola e “inline” */
.bnb-calendar-legend{
  font-size: 11px !important;
  color: var(--bnb-muted) !important;
  margin-bottom: 10px !important;
}
.bnb-legend-box{
  width: 11px !important;
  height: 11px !important;
  border-radius: 4px !important;
}

/* Inputs: riga più armonica (desktop) */
@media (min-width: 760px){
  .bnb-booking-wrapper{
    display: grid !important;
    grid-template-columns: 1fr 1fr 0.7fr !important;
    gap: 12px !important;
    align-items: end !important;
  }

  #bnb-calendar,
  .bnb-calendar-legend,
  .bnb-totalbox{
    grid-column: 1 / -1 !important;
  }
}

/* Inputs: meno “cicciotti” e con max-width sensato */
.bnb-booking-wrapper label{
  font-size: 11px !important;
  margin-bottom: 4px !important;
  color: var(--bnb-muted) !important;
}
.bnb-booking-wrapper input#bnb_checkin,
.bnb-booking-wrapper input#bnb_checkout,
.bnb-booking-wrapper input#bnb_guests{
  height: 42px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(11,18,32,.12) !important;
  box-shadow: 0 10px 22px rgba(2,6,23,.05) !important;
}
.bnb-booking-wrapper input#bnb_checkin,
.bnb-booking-wrapper input#bnb_checkout{ max-width: 190px !important; }
.bnb-booking-wrapper input#bnb_guests{ max-width: 110px !important; }

/* Totale: più “summary” e meno scatolone */
.bnb-totalbox{
  margin-top: 10px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(11,18,32,.08) !important;
  background: rgba(255,255,255,.85) !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
}
.bnb-totalbox__row{
  padding: 6px 0 !important;
  font-size: 13px !important;
}
.bnb-totalbox__row--strong{
  font-size: 14px !important;
}

/* Bottone: non “gigante”, più premium */
.woocommerce div.product form.cart button[name=add-to-cart]{
  width: 100% !important;
  max-width: 520px !important;
  height: 54px !important;
  border-radius: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  margin-top: 12px !important;
}

.bnb-day-disabled{
  opacity: .35;
  pointer-events: none;
}


/* Mobile: non farlo esplodere */
@media (max-width: 759px){
  .bnb-booking-wrapper{
    padding: 12px !important;
  }
  .bnb-cal-table td{ height: 24px !important; }
}

/* Optional services final override */
.bnb-booking-wrapper .bnb-serviceBox{
  grid-column: 1 / -1 !important;
  margin-top: 10px !important;
  margin-bottom: 12px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(131,159,118,.18) !important;
  background: linear-gradient(180deg, #fcfdf9 0%, #f6faf3 100%) !important;
  box-shadow: 0 10px 24px rgba(131,159,118,.08) !important;
}

.bnb-booking-wrapper .bnb-serviceBox__head{
  margin-bottom: 12px !important;
}

.bnb-booking-wrapper .bnb-serviceBox__head strong{
  display: block !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: #24311f !important;
}

.bnb-booking-wrapper .bnb-serviceBox__list{
  display: grid !important;
  gap: 12px !important;
}

.bnb-booking-wrapper .bnb-serviceBox__item{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 132px !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 14px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(131,159,118,.14) !important;
  background: rgba(255,255,255,.96) !important;
}

.bnb-booking-wrapper .bnb-serviceBox__item.is-active{
  border-color: rgba(131,159,118,.42) !important;
  box-shadow: 0 12px 24px rgba(131,159,118,.12) !important;
}

.bnb-booking-wrapper .bnb-serviceBox__toggle{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  font-size: inherit !important;
}

.bnb-booking-wrapper .bnb-serviceBox__toggle input[type="checkbox"]{
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: #839f76 !important;
}

.bnb-booking-wrapper .bnb-serviceBox__copy{
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.bnb-booking-wrapper .bnb-serviceBox__title{
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: #24311f !important;
}

.bnb-booking-wrapper .bnb-serviceBox__price{
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #55684c !important;
}

.bnb-booking-wrapper .bnb-serviceBox__meta{
  font-size: 11px !important;
  color: rgba(36,49,31,.62) !important;
}

.bnb-booking-wrapper .bnb-serviceBox__qtyWrap{
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.bnb-booking-wrapper .bnb-serviceBox__qtyWrap label{
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(36,49,31,.72) !important;
  margin: 0 !important;
}

.bnb-booking-wrapper .bnb-serviceBox__qty{
  width: 100% !important;
  max-width: none !important;
  height: 44px !important;
}

@media (max-width: 700px){
  .bnb-booking-wrapper .bnb-serviceBox__item{
    grid-template-columns: 1fr !important;
  }
}
