/* Alasan engine choices inside the owner-approved KUBER activity world. */
.alasan-atv-page .ride-quantity button:not(:disabled) { cursor: pointer; }
.alasan-atv-page .ride-quantity button:hover:not(:disabled) { background: var(--ground); }
.alasan-atv-page .ride-quantity button:active:not(:disabled) { transform: translateY(1px); }
.alasan-atv-page .activity-contact textarea { resize: vertical; }
.alasan-engine-control { margin-bottom: 20px; }
.alasan-engine-control select { width: 100%; min-width: 0; min-height: 48px; margin-top: 8px; padding: 10px 12px; border: 1px solid var(--slate-deep); border-radius: 0; background: var(--paper); color: var(--slate-deep); font: 400 16px/1.5 var(--font-body); }
.alasan-engine-control .start-time-note { margin-top: 8px; color: var(--muted); font: 400 13px/1.5 var(--font-body); max-width: 45ch; }
.alasan-atv-page .activity-guide-rows { grid-template-columns: repeat(3,minmax(0,1fr)); }
.alasan-atv-page .alasan-guide-prices { margin-top: 12px; color: var(--slate-deep); font-weight: 650; font-variant-numeric: tabular-nums; }
.alasan-itinerary ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 28px; list-style: none; padding: 0; margin: 24px 0 0; }
.alasan-itinerary li { border-top: 1px solid var(--steel); padding-top: 14px; }
.alasan-itinerary h3 { font: 750 16px/1.4 var(--font-body); }
.alasan-itinerary p { color: var(--muted); font-size: 14px; line-height: 1.6; margin-top: 6px; }
@media (max-width: 767px) {
  .alasan-atv-page .activity-guide-rows, .alasan-itinerary ol { grid-template-columns: minmax(0,1fr); }
  .alasan-itinerary ol { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .alasan-atv-page .ride-quantity button:active:not(:disabled) { transform: none; }
}
