/* GO_VALIDATION_ACTIONS_V1
   Une signature visuelle commune pour les confirmations importantes. */
:root {
  --go-validation-deep: #0c3a1a;
  --go-validation-mid: #18723a;
  --go-validation-light: #effff2;
  --go-validation-ring: rgba(204, 255, 218, .54);
}

.go-review-confirm,
#driver-form button[type="submit"].primary,
#save.primary,
.go-final-validate {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: hidden;
  border: 0;
  background: linear-gradient(135deg, var(--go-validation-deep), var(--go-validation-mid));
  color: #fff;
  box-shadow: 0 10px 24px rgba(12, 58, 26, .24);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.go-review-confirm::before,
#driver-form button[type="submit"].primary::before,
#save.primary::before,
.go-final-validate::before {
  content: "\2713";
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 50%;
  background: rgba(255, 255, 255, .15);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 0 5px var(--go-validation-ring);
  font: 900 1.55rem/1 system-ui, -apple-system, sans-serif;
  text-shadow: 0 1px 1px rgba(4, 28, 13, .22);
}

.go-review-confirm,
#driver-form button[type="submit"].primary,
.go-final-validate {
  min-height: 62px;
  padding: 10px 20px;
  border-radius: 17px;
  font-weight: 900;
  letter-spacing: -.01em;
}

#save.primary {
  min-height: 50px;
  padding: 8px 18px 8px 12px;
}

#save.primary::before {
  width: 30px;
  height: 30px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 0 3px var(--go-validation-ring);
  font-size: 1.18rem;
}

.go-review-confirm:focus-visible,
#driver-form button[type="submit"].primary:focus-visible,
#save.primary:focus-visible,
.go-final-validate:focus-visible {
  outline: 3px solid #e2b847;
  outline-offset: 3px;
}

.go-booking-status__check,
.done-mark {
  border: 4px solid #fff;
  background: linear-gradient(145deg, #0d5529, #22a454) !important;
  box-shadow: 0 0 0 7px rgba(39, 164, 84, .13), 0 14px 32px rgba(12, 58, 26, .24) !important;
  text-shadow: 0 2px 2px rgba(4, 28, 13, .2);
}

@media (hover: hover) {
  .go-review-confirm:hover,
  #driver-form button[type="submit"].primary:hover,
  #save.primary:hover,
  .go-final-validate:hover {
    filter: saturate(1.08) brightness(1.04);
    transform: translateY(-1px);
    box-shadow: 0 13px 28px rgba(12, 58, 26, .28);
  }
}

.go-review-confirm:active,
#driver-form button[type="submit"].primary:active,
#save.primary:active,
.go-final-validate:active {
  transform: translateY(1px) scale(.99);
}

@media (max-width: 390px) {
  .go-review-confirm,
  #driver-form button[type="submit"].primary,
  .go-final-validate {
    min-height: 60px;
    gap: 10px;
    padding-inline: 14px;
  }

  .go-review-confirm::before,
  #driver-form button[type="submit"].primary::before,
  .go-final-validate::before {
    width: 34px;
    height: 34px;
    font-size: 1.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .go-review-confirm,
  #driver-form button[type="submit"].primary,
  #save.primary,
  .go-final-validate {
    transition: none;
  }
}
