/* The approved interface adapts to screen size without changing its state. */
button, a, input, select, textarea { touch-action: manipulation; }

@media (max-width: 1024px) {
  input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    min-height: 44px;
    font-size: 16px;
    font-size: max(16px, 1rem);
  }
  .home .site-menu-trigger { width: 44px; min-height: 44px; }
  .home .assistant-entry { min-height: 44px; }
  .home .theme-toggle, .theme-toggle { height: 44px; min-height: 44px; }
  .assistant-panel-close { width: 44px; height: 44px; flex-shrink: 0; }
  .assistant-chip, .assistant-action { min-height: 44px; }
  .home .terms-link { min-height: 44px; }
  .home .hero { padding-left: max(24px, env(safe-area-inset-left)); padding-right: max(24px, env(safe-area-inset-right)); }
  .home .evs-path-nav { bottom: 34px; bottom: calc(34px + env(safe-area-inset-bottom)); }
  .preview-badge { bottom: calc(8px + env(safe-area-inset-bottom)); }
  .site-menu { padding-top: calc(24px + env(safe-area-inset-top)); padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
  .assistant-panel-shell { max-height: calc(100dvh - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
  .preview-dialog { max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; }
  body:not(.home) header { padding-left: max(20px, env(safe-area-inset-left)); padding-right: max(20px, env(safe-area-inset-right)); padding-top: calc(16px + env(safe-area-inset-top)); }
  body:not(.home) main { padding-left: max(18px, env(safe-area-inset-left)); padding-right: max(18px, env(safe-area-inset-right)); }
  body:not(.home) .header-actions a { display: inline-flex; align-items: center; min-height: 44px; }
}

@media (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { min-height: 44px; font-size: 16px; font-size: max(16px, 1rem); }
  .home .site-menu-trigger { width: 44px; min-height: 44px; }
  .home .assistant-entry { min-height: 44px; }
  .home .theme-toggle, .theme-toggle { height: 44px; min-height: 44px; }
  .assistant-panel-close { width: 44px; height: 44px; flex-shrink: 0; }
  .assistant-chip, .assistant-action { min-height: 44px; }
}

@media (max-width: 720px) {
  .home .site-header {
    top: calc(12px + env(safe-area-inset-top));
    left: 16px;
    left: max(16px, env(safe-area-inset-left));
    right: 16px;
    right: max(16px, env(safe-area-inset-right));
    width: auto;
    transform: none;
  }
  .home .hero { padding-top: calc(90px + env(safe-area-inset-top)); }
  .home.evs-path-mode .hero { padding-top: calc(55px + env(safe-area-inset-top)); padding-bottom: calc(116px + env(safe-area-inset-bottom)); }
  .home .evs-path-nav {
    left: 16px;
    left: max(16px, env(safe-area-inset-left));
    right: 16px;
    right: max(16px, env(safe-area-inset-right));
    width: auto;
    transform: none;
  }
  .home .destination-grid--path .evs-path-button { min-width: min(100%, 8rem); max-width: 100%; }
  .home .assistant-panel { top: calc(78px + env(safe-area-inset-top)); }
}

@media (max-width: 375px) {
  .home .hero { padding-left: 16px; padding-left: max(16px, env(safe-area-inset-left)); padding-right: 16px; padding-right: max(16px, env(safe-area-inset-right)); }
  .home .builder-shell { padding-inline: 14px; }
  .home .calendar-month-grid, .home .calendar-weekdays { gap: 3px; }
  .home .evs-nav-button { padding-inline: 14px; }
}
