/* VideoVibes360 — booking bottom action bar fix */

/* Formularul poate scrolla până deasupra barei */
.booking-workspace {
  padding-bottom: 110px !important;
}

/* Bara trebuie să stea efectiv la baza ecranului */
.booking-actionbar {
  position: fixed !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 0 !important;
  z-index: 9999 !important;

  min-height: 88px !important;
  margin: 0 !important;
  padding:
    10px 28px
    max(10px, env(safe-area-inset-bottom))
    28px !important;

  display: grid !important;
  grid-template-columns: minmax(190px, .8fr) minmax(180px, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;

  background: rgba(9, 9, 10, .97) !important;
  border-top: 1px solid rgba(213, 150, 98, .24) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

/* Rezumat compact */
.booking-actionbar-summary {
  min-width: 0;
}

.booking-actionbar-summary span {
  display: block;
  margin-bottom: 4px;
  font-size: 11px !important;
  line-height: 1.1;
}

.booking-actionbar-summary strong {
  display: block;
  font-size: clamp(15px, 1.15vw, 20px) !important;
  line-height: 1.2 !important;
}

/* Mesajul de validare rămâne vizibil dar nu împinge bara în sus */
.booking-actionbar .form-status {
  min-width: 0;
  text-align: center;
  font-size: 13px;
  line-height: 1.3;
}

/* Butoanele în partea dreaptă */
.booking-actionbar-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}

.booking-actionbar .booking-back,
.booking-actionbar .booking-next,
.booking-actionbar .booking-submit {
  min-height: 54px !important;
  margin: 0 !important;
}

/* Câmpurile/checkboxurile pot fi aduse în centrul zonei vizibile */
.booking-step input,
.booking-step select,
.booking-step textarea,
.privacy-check {
  scroll-margin-bottom: 140px;
}


/* TABLET + MOBILE */
@media (max-width: 759px) {

  .booking-workspace {
    padding-bottom: 96px !important;
  }

  .booking-actionbar {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    min-height: 82px !important;
    padding:
      8px 10px
      max(8px, env(safe-area-inset-bottom))
      10px !important;

    grid-template-columns: auto 1fr !important;
    grid-template-areas:
      "summary buttons" !important;
    gap: 8px !important;
  }

  .booking-actionbar-summary {
    grid-area: summary;
    max-width: 112px;
  }

  .booking-actionbar-summary span {
    font-size: 9px !important;
  }

  .booking-actionbar-summary strong {
    font-size: 12px !important;
    line-height: 1.15 !important;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Mesajele de eroare nu mai ocupă un al treilea rând în bară */
  .booking-actionbar .form-status {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(88px + env(safe-area-inset-bottom));
    z-index: 10000;

    width: auto;
    padding: 8px 12px;
    border-radius: 10px;
    text-align: center;
    pointer-events: none;
  }

  .booking-actionbar .form-status:empty {
    display: none;
  }

  .booking-actionbar-buttons {
    grid-area: buttons;
    width: 100%;
    gap: 7px !important;
  }

  .booking-actionbar .booking-back {
    flex: 0 0 76px;
    min-height: 50px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .booking-actionbar .booking-next,
  .booking-actionbar .booking-submit {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 50px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* La pasul 1, când Înapoi este ascuns, Continuă ocupă tot spațiul */
  .booking-actionbar-buttons .booking-back[hidden] + .booking-next,
  .booking-actionbar-buttons .booking-back[hidden] ~ .booking-submit:not([hidden]) {
    flex: 1 1 100%;
  }

  .booking-step input,
  .booking-step select,
  .booking-step textarea,
  .privacy-check {
    scroll-margin-bottom: 125px;
  }
}
