/* Shared iPhone/iPad layout fixes; keep the existing VALEX design. */
.valex-arrow-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  vertical-align: -.125em;
  overflow: visible;
  pointer-events: none;
}
.link-arrow, .region-arrow { display: inline-flex; align-items: center; }
.private-assistant-cta > span[aria-hidden] { display: inline-flex; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  padding-top: env(safe-area-inset-top, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
}
button, a { touch-action: manipulation; }
input, select, textarea { min-width: 0; }

/* Dialogs live outside the normal page layout and need their own safe area. */
#site-menu {
  height: 100vh;
  height: 100dvh;
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.assistant-launcher, .assistant-invite {
  right: max(1rem, env(safe-area-inset-right, 0px));
  max-width: calc(100% - 2rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
}
.private-assistant .assistant-panel {
  right: max(.75rem, env(safe-area-inset-right, 0px));
  bottom: calc(.75rem + var(--assistant-keyboard-offset, 0px) + env(safe-area-inset-bottom, 0px));
  width: min(26rem, calc(100% - 1.5rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
  height: min(43rem, calc(var(--assistant-viewport-height, 100vh) - 1.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.assistant-is-open .assistant-launcher { visibility: hidden; }
.assistant-panel .assistant-messages { min-height: 5rem; -webkit-overflow-scrolling: touch; }
.assistant-panel .assistant-close, .assistant-invite-close { min-width: 44px; min-height: 44px; }
.assistant-invite > p { padding-right: 2rem; }
.assistant-keyboard-open .assistant-header h2 { font-size: 1.35rem; }
.assistant-keyboard-open .assistant-input-row textarea { min-height: 44px; max-height: 4rem; }
.assistant-keyboard-open .assistant-form { padding-block: .4rem; }

.drawer {
  height: 100vh;
  height: 100dvh;
  padding-top: max(20px, env(safe-area-inset-top, 0px));
  padding-right: max(20px, env(safe-area-inset-right, 0px));
  padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
  padding-left: max(20px, env(safe-area-inset-left, 0px));
  -webkit-overflow-scrolling: touch;
}
.category-modal {
  padding-top: max(16px, env(safe-area-inset-top, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
@media (hover: none) and (pointer: coarse) {
  /* Avoid Safari's input-focus zoom while keeping pinch zoom available. */
  input:not([type=checkbox]):not([type=radio]), select, textarea,
  .supply-draft-label textarea { font-size: max(16px, 1rem); }
  .menu-open, .menu-close, .header .menu, .header .quote-open,
  .assistant-options button, .choice-option, .quote-close,
  .catalogue-nav a, .catalogue-nav button, .catalog-product .add {
    min-height: 44px;
  }
}
@media (max-width: 700px) {
  .category-modal-shell { min-height: 0; }
  .header .brand { flex-shrink: 1; }
  .hero h1, .contact-links a, .footer-contact a { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
