/* Odyscab booking button: user-requested bright yellow outline and gentle growth.
   Inspired by the supplied AnimalCab reference; its exact CSS was unavailable. */
#odyscab-shared-header .oc-header-book {
  min-width: 154px;
  min-height: 46px;
  padding: 10px 27px;
  border: 3px solid #ffe100;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
  box-shadow: 0 6px 18px rgba(117, 30, 41, .18), 0 0 0 1px rgba(255, 225, 0, .25) inset;
  transform-origin: center;
  animation: oc-reserve-breathe 3.6s ease-in-out infinite;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

#odyscab-shared-header .oc-header-book:hover,
#odyscab-shared-header .oc-header-book:focus-visible {
  animation: none;
  transform: scale(1.055);
  box-shadow: 0 9px 24px rgba(117, 30, 41, .24), 0 0 0 1px rgba(255, 225, 0, .45) inset;
}

#odyscab-shared-header .oc-header-book:focus-visible {
  outline: 3px solid #00616f;
  outline-offset: 5px;
}

@keyframes oc-reserve-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.045); }
}

/* Leave the established compact mobile header and hamburger untouched. */
@media (min-width: 741px) and (max-width: 1000px) {
  #odyscab-shared-header .oc-header-book {
    min-width: 134px;
    padding-inline: 20px;
  }
}

#odyscab-shared-header.oc-motion-paused .oc-header-book,
#odyscab-shared-header.oc-motion-paused .oc-header-book:hover,
#odyscab-shared-header.oc-motion-paused .oc-header-book:focus-visible {
  animation: none;
  transform: none;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  #odyscab-shared-header .oc-header-book,
  #odyscab-shared-header .oc-header-book:hover,
  #odyscab-shared-header .oc-header-book:focus-visible {
    animation: none;
    transform: none;
    transition: none;
  }
}
