/* BYZE DRESS — mobile-first safety layer
   Loaded after theme.css so every admin-selected theme stays viewport-safe. */
html,body{width:100%;max-width:100%;overflow-x:clip!important;overscroll-behavior-x:none}
body{min-width:0!important;position:relative}
main,.site-header,.top-note,.keyword-strip,footer,section{max-width:100%;overflow-x:clip}
.container{min-width:0;max-width:100%}
img,video,iframe,svg{max-width:100%}
.hero-grid>*,.section-head>*,.cards3>*,.bento>*,.dress-categories>*,.location-grid>*,.districts>*,.blog-grid>*,.social-grid>*,.contact-grid>*,.model-grid>*,.gallery-grid>*,.custom-gallery>*{min-width:0}
.hero{overflow-x:clip}
.hero:before{max-width:none}
.visual{max-width:100%;min-width:0;overflow:clip}
.hero-photo,.grid-surface{max-width:100%}
.hero h1,.page-hero h1,.section-head h2,.cta h2,.prose h2,.prose h3{overflow-wrap:anywhere;word-break:normal}
.marquee,.marquee-track{max-width:none}
.keyword-strip{contain:paint}
.wa-float{position:fixed!important;right:max(14px,env(safe-area-inset-right))!important;left:auto!important;bottom:max(14px,env(safe-area-inset-bottom))!important;margin:0!important;transform:none!important;z-index:9999!important}
.mobile-drawer{max-width:100vw!important;overflow-x:hidden!important}
.mobile-drawer-inner{max-width:100%!important}

@media (max-width:900px){
  .container{width:calc(100% - 28px)!important;max-width:100%!important;margin-inline:auto!important}
  .nav{gap:12px!important;min-width:0}
  .wordmark{min-width:0}
  .wordmark-text{min-width:0}
  .hero-grid,.bento,.location-grid,.contact-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;width:100%!important}
  .section-head{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .cards3,.blog-grid,.social-grid,.model-grid{grid-template-columns:minmax(0,1fr)!important}
  .dress-categories{grid-template-columns:minmax(0,1fr)!important}
  .districts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gallery-grid,.custom-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-hero="split"] .hero-grid,body[data-hero="editorial"] .hero-grid{grid-template-columns:minmax(0,1fr)!important}
  body[data-hero="editorial"] .visual{min-height:520px!important}
  body[data-hero="full"] .hero .hero-grid>div:first-child{padding:64px 18px!important;max-width:100%!important}
  body[data-hero="full"] .hero{min-height:72svh!important}
  body[data-hero="full"] .hero .hero-grid{min-height:72svh!important}
}

@media (max-width:620px){
  html,body{overflow-x:hidden!important}
  .container{width:calc(100% - 24px)!important}
  .top-note{padding:7px 10px!important;font-size:11px!important;line-height:1.35!important;white-space:normal!important}
  .nav{height:68px!important}
  .wordmark-mark{width:34px!important;height:34px!important;flex:0 0 34px!important}
  .wordmark-text{font-size:17px!important;letter-spacing:1.7px!important;white-space:nowrap}
  .wordmark-text small{font-size:8px!important}
  .hero{padding:38px 0 26px!important}
  .hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:30px!important;align-items:start!important}
  .hero-grid>div:first-child{width:100%!important;max-width:100%!important;min-width:0!important}
  .hero-kicker{max-width:100%!important;font-size:10.5px!important;white-space:normal!important;line-height:1.25}
  .hero h1{font-size:clamp(42px,12vw,54px)!important;line-height:1!important;letter-spacing:-2.7px!important;max-width:100%!important;transform:none!important}
  .hero .lead,.page-hero p{font-size:16px!important;line-height:1.65!important;max-width:100%!important}
  .hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;margin-top:22px!important}
  .hero-actions .btn{width:100%!important;max-width:100%!important;min-width:0!important}
  .hero-trust{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;margin-top:18px!important}
  .visual{width:100%!important;max-width:100%!important;min-width:0!important;min-height:500px!important;height:500px!important;margin:0!important;overflow:clip!important}
  .grid-surface{inset:0!important;border-radius:24px!important}
  .hero-photo{left:14px!important;right:14px!important;top:22px!important;bottom:20px!important;border-radius:22px!important}
  .float-card{max-width:72%!important;padding:10px 12px!important;border-radius:13px!important}
  .float-card strong{font-size:13px!important}.float-card small{font-size:11px!important}
  .fc1{left:6px!important;top:64px!important}.fc2{right:6px!important;bottom:72px!important}.fc3{left:8px!important;bottom:8px!important}
  body[data-hero="centered"] .visual{display:none!important}
  body[data-hero="full"] .hero{padding:0!important;min-height:70svh!important}
  body[data-hero="full"] .hero .hero-grid{min-height:70svh!important}
  body[data-hero="full"] .hero .hero-grid>div:first-child{padding:54px 14px!important;width:100%!important}
  body[data-hero="full"] .hero h1{font-size:clamp(42px,12vw,56px)!important}
  body[data-hero="full"] .visual{height:auto!important;min-height:0!important;overflow:hidden!important}
  section{padding:54px 0!important}
  .section-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;margin-bottom:24px!important}
  .section-head h2,.page-hero h1{font-size:clamp(34px,10vw,46px)!important;line-height:1.04!important;letter-spacing:-2px!important;transform:none!important}
  .cards3,.blog-grid,.social-grid,.model-grid,.gallery-grid,.custom-gallery,.dress-categories,.location-grid,.contact-grid,.bento{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .districts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .service-card,.panel,.category,.info-card,.blog-card,.model-card,.contact-panel,.hero-lite,.map-card,.cta{max-width:100%!important;min-width:0!important}
  .service-card{min-height:300px!important;padding:22px!important}
  .service-card h3{font-size:27px!important;margin-top:48px!important}
  .service-card a{left:22px!important;right:22px!important;bottom:22px!important}
  .info-card,.map-card,.contact-panel,.hero-lite{padding:24px!important}
  .map-card{min-height:380px!important}
  .cta{padding:42px 18px!important;border-radius:24px!important}
  .cta h2{font-size:clamp(34px,10vw,46px)!important;letter-spacing:-2px!important}
  .page-hero{padding:44px 0 28px!important}
  .prose{max-width:100%!important}
  .prose h2{font-size:31px!important;letter-spacing:-1.4px!important}
  .article-cover,.custom-hero-media,.content-media{max-width:100%!important}
  .article-cover img,.custom-hero-media img,.content-media img{width:100%!important;height:auto!important}
  .footer-grid{grid-template-columns:minmax(0,1fr)!important}
  .wa-float{right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
}

@media (max-width:380px){
  .container{width:calc(100% - 20px)!important}
  .hero h1{font-size:40px!important;letter-spacing:-2.2px!important}
  .wordmark-text{font-size:15.5px!important;letter-spacing:1.35px!important}
  .districts{grid-template-columns:minmax(0,1fr)!important}
  .visual{height:460px!important;min-height:460px!important}
}
