/* iPhone & mobile device scaling – prevent content cut-off */
html {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  overflow-x: hidden;
  min-width: 0;
  /* iOS Safari: use dvh for correct viewport when address bar shows/hides */
  min-height: 100vh;
  min-height: 100dvh;
  -webkit-overflow-scrolling: touch;
}

/* Ensure images scale within viewport (videos use object-fit in containers) */
img {
  max-width: 100%;
  height: auto;
}

/* Safe area insets for iPhone notch and home indicator */
@supports (padding: env(safe-area-inset-top)) {
  .custom-header {
    padding-top: env(safe-area-inset-top);
  }
  body {
    padding-top: calc(var(--ice-header-h) + env(safe-area-inset-top));
  }
  .custom-header,
  .custom-header-bar {
    padding-left: max(0.75rem, env(safe-area-inset-left));
    padding-right: max(0.75rem, env(safe-area-inset-right));
  }
  .ice-footer {
    padding-bottom: max(14px, env(safe-area-inset-bottom));
  }
  .nav-mobile-overlay,
  .nav-mobile-backdrop {
    top: calc(var(--ice-header-h) + env(safe-area-inset-top));
  }
}

/* Mobile: prevent content cut-off, improve touch targets */
@media (max-width: 768px) {
  /* Full-height sections: use dvh for iOS (fixes address bar resize) */
  .landing-section,
  .landing-links,
  .page-section,
  .magazine-section,
  .magazine-video-section,
  .magazine-intro-section {
    min-height: calc(100vh - var(--ice-header-h));
    min-height: calc(100dvh - var(--ice-header-h));
  }
  .landing-links {
    padding: 1.5rem 1rem 2rem;
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
    gap: 1rem;
  }
  .landing-links a {
    font-size: 12px;
  }
  .landing-unmute,
  .magazine-video-unmute {
    bottom: max(1.5rem, env(safe-area-inset-bottom));
    right: max(1.5rem, env(safe-area-inset-right));
  }
  .about-section,
  .page-section,
  .merch-section,
  .product-section,
  .cart-section {
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
  }
  .ice-footer-inner {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}

/* Very narrow screens (iPhone SE, small devices) */
@media (max-width: 390px) {
  .landing-links {
    padding: 1rem 0.75rem 1.5rem;
    gap: 0.75rem;
  }
  .merch-grid {
    gap: 1rem 0.75rem;
  }
  .merch-item-image {
    min-height: 160px;
  }
}
