/* Broneerimisvidin / booking widget: lisab olemasolevale .booking stiilile */
.bfield--input{cursor:text;position:relative;}
.bfield--input:hover .bfield__val{color:var(--white);}
.bfield__input{
  flex:1;min-width:0;background:none;border:none;outline:none;padding:0;margin:0;
  font:inherit;font-size:16px;font-weight:500;color:var(--white);
}
.bfield__input::placeholder{color:var(--faint);font-weight:400;}
.bfield__clear{background:none;border:none;color:var(--faint);cursor:pointer;padding:0 0 0 8px;font-size:17px;line-height:1;display:none;}
.bfield__clear:hover{color:var(--yellow);}
.bfield.has-value .bfield__clear{display:block;}
.bfield.has-value .bfield__ico{display:none;}
.bfield.is-error{box-shadow:inset 3px 0 0 #E5533D;}
.bfield__err{display:none;margin-top:6px;font-size:12px;color:#FF8A75;}
.bfield.is-error .bfield__err{display:block;}

/* Ümberpööramise nupp */
.bwrap{position:relative;}
.bswap{
  position:absolute;right:20px;top:100%;transform:translateY(-50%);z-index:3;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:var(--panel);border:1px solid var(--line);color:var(--yellow);cursor:pointer;font-size:17px;
  transition:border-color .15s ease,transform .25s ease;
}
.bswap:hover{border-color:var(--yellow);}
.bswap.is-spun{transform:translateY(-50%) rotate(180deg);}

/* Soovitused */
.bsug{
  position:absolute;left:-2px;right:-2px;top:100%;z-index:20;display:none;
  background:var(--panel);border:2px solid var(--yellow);border-top:none;max-height:320px;overflow:auto;
  box-shadow:0 18px 40px rgba(0,0,0,.5);
}
.bsug.is-open{display:block;}
.bsug__head{padding:10px 16px 6px;font-family:var(--font-head);font-weight:700;font-size:10px;letter-spacing:0.14em;color:var(--faint);text-transform:uppercase;}
.bsug__item{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:11px 16px;border-top:1px solid var(--line);color:var(--white);font:inherit;
}
.bsug__item:first-child{border-top:none;}
.bsug__item:hover,.bsug__item.is-active{background:#26241f;}
.bsug__item .sign{font-size:20px;color:var(--yellow);flex:none;}
.bsug__t{display:block;font-size:14px;font-weight:600;}
.bsug__s{display:block;font-size:12px;color:var(--muted);margin-top:1px;}
.bsug__note{padding:14px 16px;font-size:13px;color:var(--muted);}

/* Kuupäev + kellaaeg */
.bdt{display:grid;grid-template-columns:1.3fr 1fr;}
.bdt .bfield + .bfield{border-left:1px solid var(--line);}
.bfield__input[type="date"]{color-scheme:dark;-webkit-appearance:none;appearance:none;}
.bdt .bfield{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;}
.bdt .bfield__label{display:flex;align-items:baseline;white-space:nowrap;overflow:hidden;line-height:13px;height:13px;}
.bdt .bfield__row{height:24px;align-items:center;}
.bdt .bfield__input{height:24px;line-height:24px;padding:0;margin:0;display:block;width:100%;min-width:0;text-align:left;}
.bdt .bfield__input::-webkit-date-and-time-value{text-align:left;margin:0;}
.bdt .bfield__input::-webkit-datetime-edit{padding:0;line-height:24px;}
.bdt .bfield__input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer;}
.bdt .bfield__row i{flex:none;margin-left:6px;}
@media (max-width:420px){ .bfield__tz{display:none;} }
select.bfield__input{appearance:none;-webkit-appearance:none;cursor:pointer;}
select.bfield__input option{background:var(--panel);color:var(--white);}
select.bfield__input option:disabled{color:#555;}
.bfield__tz{font-family:var(--font-head);font-weight:600;font-size:10px;letter-spacing:0.08em;color:var(--faint);margin-left:6px;}

/* Reisijad */
.bpax{display:flex;align-items:center;gap:0;}
.bpax button{
  width:34px;height:30px;background:none;border:1px solid var(--line);color:var(--yellow);cursor:pointer;font-size:16px;
  display:flex;align-items:center;justify-content:center;
}
.bpax button:hover:not(:disabled){border-color:var(--yellow);}
.bpax button:disabled{color:#4a4843;cursor:not-allowed;}
.bpax input{width:46px;height:30px;text-align:center;background:none;border:1px solid var(--line);border-left:none;border-right:none;
  font-family:var(--font-head);font-weight:800;font-size:16px;color:var(--white);outline:none;border-radius:0;-moz-appearance:textfield;appearance:textfield;padding:0;}
.bpax input:focus{border-color:var(--yellow);border-left:1px solid var(--yellow);border-right:1px solid var(--yellow);}
.bpax input::-webkit-outer-spin-button,.bpax input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.bfield__veh{font-size:12px;color:var(--muted);margin-top:4px;}

.booking__submit[disabled]{opacity:.6;cursor:wait;}
.booking__note{padding:10px 20px 14px;font-size:11.5px;color:var(--faint);line-height:1.45;}

/* Tulemus */
.bres{display:none;}
.booking.is-result .bstep1{display:none;}
.booking.is-result .bres{display:block;}
.bres__back{
  display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;border-bottom:1px solid var(--line);
  padding:12px 20px;color:var(--muted);cursor:pointer;font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;
}
.bres__back:hover{color:var(--yellow);}
.bres__route{padding:16px 20px;border-bottom:1px solid var(--line);display:grid;gap:4px;}
.bres__k{font-family:var(--font-head);font-weight:700;font-size:10px;letter-spacing:0.12em;color:var(--yellow);text-transform:uppercase;}
.bres__v{font-size:14px;color:var(--white);}
.bres__meta{font-size:12px;color:var(--muted);margin-top:6px;}
.bres__price{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:16px 20px;background:var(--yellow);color:var(--ink);
}
.bres__price small{font-family:var(--font-head);font-weight:800;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;}
.bres__price b{font-family:var(--font-head);font-weight:900;font-size:34px;line-height:1;}
.bres__lines{padding:10px 20px 4px;}
.bres__line{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--muted);padding:3px 0;}
.bres__disc{
  margin:10px 20px 4px;padding:10px 12px;border:1px solid var(--line);border-left:3px solid var(--yellow);
  font-size:12.5px;color:#d6d4ce;line-height:1.5;
}
.bres__form{padding:12px 20px 4px;display:grid;gap:10px;}
.bres__f{display:grid;gap:5px;}
.bres__f label{font-family:var(--font-head);font-weight:700;font-size:10px;letter-spacing:0.12em;color:var(--faint);text-transform:uppercase;}
.bres__f input,.bres__f textarea{
  width:100%;background:#141412;border:1px solid var(--line);color:var(--white);
  font:inherit;font-size:16px;padding:10px 11px;outline:none;border-radius:0;
}
.bres__f textarea{min-height:66px;resize:vertical;}
.bres__f input:focus,.bres__f textarea:focus{border-color:var(--yellow);}
.bres__f.is-error input{border-color:#E5533D;}
.bres__f .e{display:none;font-size:11.5px;color:#FF8A75;}
.bres__f.is-error .e{display:block;}
.bres__2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bres__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.bres__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 20px 18px;}
.bres__btn{
  display:flex;align-items:center;justify-content:center;gap:7px;border:none;cursor:pointer;padding:15px 8px;
  font-family:var(--font-head);font-weight:800;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;
  transition:background .15s ease;
}
.bres__btn--mail{background:var(--yellow);color:var(--ink);}
.bres__btn--mail:hover{background:var(--yellow-dark);}
.bres__btn--wa{background:#25D366;color:#fff;}
.bres__btn--wa:hover{background:#1db954;}
.bres__btn[disabled]{opacity:.6;cursor:wait;}
.bres__btn svg{width:17px;height:17px;}
.bres__status{display:none;margin:0 20px 16px;padding:11px 12px;font-size:13px;}
.bres__status.is-ok{display:block;background:#1f2a1c;color:#b8e3a7;border:1px solid #2f4a28;}
.bres__status.is-err{display:block;background:#2e1a16;color:#ffb3a3;border:1px solid #5a2a20;}
.bres__msg{padding:16px 20px;font-size:13.5px;color:#d6d4ce;line-height:1.5;}

.bres__book{display:none;}
.bres.is-form .bres__quote{display:none;}
.bres.is-form .bres__book{display:block;}
.bres__sum{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--white);}
.bres__sum small{font-size:12px;color:var(--muted);}
.bres__sum b{font-family:var(--font-head);font-weight:900;font-size:22px;color:var(--yellow);white-space:nowrap;}

/* Mobiil: aadressiotsing täisekraanil (nagu Booking.com) */
@media (max-width:640px){
  .bfield.is-sheet{
    position:fixed;inset:0;z-index:200;background:var(--ink);border:none;padding:16px;
    display:flex;flex-direction:column;
  }
  .bfield.is-sheet .bfield__row{border:2px solid var(--yellow);padding:12px;background:var(--panel);}
  .bfield.is-sheet .bsug{position:static;display:block;border:none;box-shadow:none;max-height:none;flex:1;background:transparent;margin-top:8px;}
  .bfield.is-sheet .bsheet__close{display:flex;}
  .bres__2,.bres__btns{grid-template-columns:1fr;}
  .bres__price b{font-size:30px;}
  .bswap{right:16px;}
}
.bsheet__close{
  display:none;align-items:center;gap:6px;background:none;border:none;color:var(--yellow);cursor:pointer;
  font-family:var(--font-head);font-weight:800;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;padding:4px 0 12px;
}
body.bsheet-open{overflow:hidden;}
