/* Web-specific responsive styles */

/* Prevent zoom and pinch */
html {
  touch-action: manipulation;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Prevent pull-to-refresh */
html, body {
  overscroll-behavior-y: contain;
}

/* Main container */
#root {
  width: 100%;
  height: 100%;
  overflow: auto;
  position: relative;
}

/* Disable user selection for better app-like feel */
* {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

/* Allow selection for inputs and text areas */
input, textarea, [contenteditable] {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Prevent horizontal scroll */
* {
  max-width: 100vw;
  box-sizing: border-box;
}

/* Fix for React Native Web ScrollView */
[data-focusable="true"] {
  outline: none;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Mobile-first responsive container */
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
}

/* Prevent double-tap zoom on buttons */
button, a, input[type="button"], input[type="submit"] {
  touch-action: manipulation;
}

/* Fix for iOS Safari bottom bar */
@supports (-webkit-touch-callout: none) {
  body {
    height: -webkit-fill-available;
  }
}
