/* Responsive hardening for the VOXON experience design system. */
html,body{max-width:100%;overflow-x:clip}
main,section,article,figure,div{min-width:0}
iframe{display:block;max-width:100%;min-width:0}
/* Visibility changes immediately so keyboard focus can move into the dialog; only opacity animates. */
.booking-modal{pointer-events:none;transition:opacity .2s ease}
.booking-modal.is-open{pointer-events:auto}
.vx-legal-copy a{overflow-wrap:anywhere}

@media (max-width:600px){
  h1,h2{overflow-wrap:anywhere;hyphens:auto}
  .vx-ui-head{flex-direction:column;gap:10px}
  .vx-ui-head>b{align-self:flex-start;white-space:normal;text-align:left}
  .vx-route{grid-template-columns:1fr;overflow:visible}
  .vx-route-node{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:20px 16px 22px}
  .vx-route-node:last-child{border-bottom:0}
  .vx-route-node strong{margin-top:22px}
  .vx-route-node--boundary::before{display:none}
  .demo-booking-panel,.demo-booking-frame,.booking-modal-frame{width:100%;min-width:0}
  .vx-contact-hero-grid,.demo-booking-inner,.vx-contact-notes-grid,.vx-legal-copy{min-width:0;max-width:100%}
  .vx-review-actions,.vx-phone-action{flex-wrap:wrap}
}
