/* Branded booking buttons in the shared desktop header and mobile menu. */
header .button:not(.gbtn).viva-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 15px 20px;
  border: 1px solid #ff8171;
  border-radius: 16px;
  background: linear-gradient(120deg, #ff795a, #ff514f 55%, #f64272);
  box-shadow: 0 10px 25px #ff5b6070, 0 0 22px #ff957d55, inset 0 1px 0 #ffffff75;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease;
}
header .button:not(.gbtn).viva-header-cta:hover,
header .button:not(.gbtn).viva-header-cta:focus-visible {
  transform: translateY(-2px);
  background: linear-gradient(120deg, #ff795a, #ff514f 55%, #f64272);
  box-shadow: 0 14px 30px #ff5b6088, 0 0 28px #ff957d77;
  color: #fff;
}
header .button:not(.gbtn).viva-header-cta:active {
  transform: translateY(0);
  background: linear-gradient(120deg, #f9674f, #ee4245 55%, #e83563);
  box-shadow: 0 5px 14px #ff5b605a;
}
header .viva-header-cta span { font-size: 18px; line-height: 1; }
@media (max-width: 1200px) and (min-width: 1025px) {
  header .button:not(.gbtn).viva-header-cta { gap: 7px; padding: 13px 14px; font-size: 12px; }
}
@media (max-width: 1024px) {
  header .mobile-menu .button:not(.gbtn).viva-header-cta { width: 100%; }
}
