/* One shared button system for every product page. */
.product-body .button {
  align-items: center;
  background: linear-gradient(135deg, #007778, #006f78);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  box-shadow: 0 14px 32px rgba(0, 166, 166, .24);
  color: #fff !important;
  cursor: pointer;
  display: inline-flex;
  font: 800 15px inherit;
  gap: 8px;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  text-decoration: none;
  transform: translateY(0);
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease, transform .22s ease;
}
.product-body .button:not(.button-disabled):hover,
.product-body .button:not(.button-disabled):focus-visible {
  background: linear-gradient(135deg, #00656d, #063b6d);
  border-color: rgba(255, 255, 255, .28);
  box-shadow: 0 18px 38px rgba(6, 59, 109, .26);
  color: #fff !important;
  transform: translateY(-2px);
}
.product-body .button.button-cabin-mate:not(.button-disabled):hover,
.product-body .button.button-cabin-mate:not(.button-disabled):focus-visible {
  background: #fff;
  border-color: #007778;
  box-shadow: 0 14px 32px rgba(0, 166, 166, .24);
  color: #007778 !important;
  transform: translateY(-2px);
}
.product-body .button-secondary {
  background: #f1f5f7;
  border-color: rgba(6, 59, 109, .18);
  color: #063b6d !important;
}
.product-body .button-secondary:not(.button-disabled):hover,
.product-body .button-secondary:not(.button-disabled):focus-visible {
  background: linear-gradient(135deg, #00656d, #063b6d);
  box-shadow: 0 18px 38px rgba(6, 59, 109, .26);
  color: #fff !important;
  transform: translateY(-2px);
}
.product-body .button-disabled {
  background: #edf2f4;
  color: #738692 !important;
  cursor: not-allowed;
  opacity: .86;
}
.product-body .button-disabled strong { color: inherit; }

/* Action layout only; visual state comes exclusively from the shared button classes above. */
.cruise-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 20px 20px; }
.cruise-actions form,
.cruise-actions .button { margin: 0; min-width: 0; width: 100%; }
.cruise-actions .button { justify-content: center; }
.cruise-actions .button span { font-size: 13px; line-height: 1.2; }
.cruise-actions .button strong { font-size: 18px; line-height: 1.2; }
.cruise-detail-actions { gap: 16px; padding: 0 20px; }
.auth-switch { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.auth-switch-button { min-height: 40px !important; padding: 8px 14px !important; }
@media (min-width: 981px) { .cruise-card { height: 894px; } }
@media (max-width: 460px) {
  .cruise-actions { grid-template-columns: 1fr; }
  .cruise-actions .button { align-items: center; text-align: center; }
}
