 /**
 * Base Layout & Global Components
 * Container, grid system, and reusable global components
 */

/* Global Button Style - Primary Button
 * Matches .ota-operator-route-card-cta style for consistency
 */
.btn,
.btn-primary,
.ota-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgb(var(--ota-color-primary));
  color: rgb(var(--ota-color-text));
  font-size: 0.82rem;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

/* Ngăn chặn auto-zoom trên mobile bằng cách đặt font-size tối thiểu 16px */
@media screen and (max-width: 768px) {
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  textarea,
  select {
      font-size: 16px !important;
  }
}

.btn:hover,
.btn-primary:hover,
.ota-btn:hover {
  background: rgb(var(--ota-color-secondary));
  transform: translateY(-1px);
}

.btn:active,
.btn-primary:active,
.ota-btn:active {
  transform: translateY(0);
}

/* Button Variants */
.btn-secondary {
  background: rgb(var(--muted));
  color: #ffffff;
}

.btn-secondary:hover {
  background: rgba(var(--muted) / 0.9);
}

.btn-outline {
  background: transparent;
  border: 2px solid rgb(var(--primary));
  color: rgb(var(--primary));
}

.btn-outline:hover {
  background: rgb(var(--primary));
  color: #ffffff;
}

/* Button Sizes */
.btn-sm {
  padding: 6px 10px;
  font-size: 0.75rem;
}

.btn-lg {
  padding: 12px 20px;
  font-size: 0.9rem;
}
