/* Global Mobile — universal defaults only. Page-level mobile CSS lives in each blade template. */

/* Prevent text size jump on orientation change */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Smooth scrolling + prevent horizontal overflow */
body {
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
}

@media (max-width: 768px) {
  /* iOS zoom prevention — 16px minimum on inputs */
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  textarea,
  select {
    font-size: 16px !important;
  }

  /* Touch highlight */
  a, button, input, select, textarea {
    -webkit-tap-highlight-color: rgba(0, 204, 255, 0.15);
  }

  /* Utility classes */
  .desktop-only { display: none !important; }
  .mobile-only { display: block !important; }
  .desktop-only-tz { display: none !important; }

  /* Select dropdown arrow (standard across pages) */
  select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a9b0bd' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px !important;
  }
}

/* iOS safe area support */
@media (max-width: 768px) {
  @supports (padding: max(0px)) {
    body {
      padding-left: max(0px, env(safe-area-inset-left));
      padding-right: max(0px, env(safe-area-inset-right));
    }
  }
}

/* Touch feedback on touch devices */
@media (hover: none) and (pointer: coarse) {
  button:active, .btn:active, a:active {
    transform: scale(0.98);
    opacity: 0.9;
  }
}
