/* Zahum Invite V6 — mobile UI alignment patch. Loaded last to avoid changing design system. */
html { overflow-x: clip; }
body { max-width:100%; overflow-x:clip; }
#app, main, section, .wide, .narrow, .auth-wrap, .auth-form { min-width:0; }
img, video, svg { max-width:100%; }
button, input, textarea, select { max-width:100%; }
/* Unified layout container; no hidden 100vw content or asymmetric margins. */
.auth-wrap { width:min(100% - 32px, 1000px); margin-inline:auto; }
.auth-art, .auth-form { min-width:0; }
.auth-form input { width:100%; box-sizing:border-box; }
.auth-form button { width:100%; min-height:44px; white-space:normal; overflow-wrap:anywhere; }
#toast { box-sizing:border-box; max-width:min(400px, calc(100vw - 30px)); }
#toast span { overflow-wrap:anywhere; }
.nav-row > * { min-width:0; }
/* Catalog descriptions and controls shouldn't overflow narrow Android screens. */
.product, .product-meta, .product h3, .product p, .checkout, .long-content { min-width:0; overflow-wrap:anywhere; }
.product-grid > *, .edit-layout > *, .review-layout > * { min-width:0; }
@media (max-width:760px) {
  .wide { width:calc(100% - 32px); max-width:520px; margin-inline:auto; }
  .narrow { width:calc(100% - 32px); max-width:520px; margin:28px auto; }
  .nav-row { width:calc(100% - 28px); margin-inline:auto; gap:8px; }
  .nav-row .brand { font-size:clamp(.94rem,4.1vw,1.25rem); gap:7px; white-space:nowrap; }
  .nav-row .brand-mark { font-size:clamp(1.55rem,7vw,2.05rem); }
  .navbar .small { display:inline-flex; align-items:center; justify-content:center; font-size:.72rem; padding:9px 11px; min-height:43px; max-width:44%; white-space:normal; text-align:center; }
  .auth-wrap { width:calc(100% - 32px); max-width:520px; grid-template-columns:minmax(0,1fr); margin:24px auto 40px; min-height:0; }
  .auth-art { padding:22px 22px 20px; }
  .auth-art h1 { font-size:clamp(2rem,9vw,3rem); line-height:1.1; }
  .auth-form { padding:24px 20px 30px; }
  .auth-form h2 { font-size:clamp(1.85rem,8vw,2.75rem); line-height:1.12; }
  .auth-form>p { overflow-wrap:anywhere; }
  .auth-form label { margin:12px 0; }
  .auth-form input { min-height:46px; padding:12px; }
  .hero h1, .list-hero h1 { font-size:clamp(2.4rem,9.9vw,3.55rem); overflow-wrap:anywhere; }
  .hero-gallery { max-width:100%; overflow:hidden; }
  .tiers { display:flex; align-items:stretch; gap:5px; overflow-x:auto; scrollbar-width:thin; padding-bottom:7px; scroll-snap-type:x proximity; }
  .tiers a { flex:0 0 max(78px, 18.5%); min-width:0; padding:10px 5px; scroll-snap-align:start; text-align:center; }
  .tiers span { font-size:.57rem; line-height:1.35; letter-spacing:0; display:block; white-space:normal; }
  .tiers b { font-size:clamp(.68rem,3vw,.88rem); white-space:nowrap; }
  .product-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .product h3 { font-size:clamp(1.2rem,5vw,1.52rem); line-height:1.2; }
  .product p { min-height:0; }
  .checkout, .long-content { padding:22px 18px; }
  #toast { left:16px; right:16px; bottom:max(16px, env(safe-area-inset-bottom)); width:auto; max-width:none; }
  .edit-fields input, .edit-fields textarea, .edit-fields select { width:100%; box-sizing:border-box; }
  .guestbook-panel, .guestbook-overview, .guest-list { min-width:0; }
  .open-card>.open-overlay-content { margin-inline:auto; }
  .sticky-buttons > * { min-width:0; }
}
@media(max-width:360px){
  .wide,.auth-wrap,.narrow{width:calc(100% - 24px)}
  .auth-form{padding:20px 15px 25px}
  .navbar .small{font-size:.66rem;padding:8px}
  .product-grid{gap:9px}
}
