@media (max-width:767px){
  :root{
    --tabbar-h:64px;
    --safe-b:env(safe-area-inset-bottom,0px);
    --safe-t:env(safe-area-inset-top,0px);
  }
  html{color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{padding-bottom:calc(var(--tabbar-h) + var(--safe-b));overflow-x:clip}
  body.m-nav-open,body.m-filter-open{overflow:hidden}
  .site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0B0808}
  .topbar{font-size:9px;letter-spacing:.1em;line-height:1.5;padding:8px 12px}
  .topbar a{margin-left:3px;padding:3px 6px}
  .btn{min-height:48px}
  .site-footer{padding-bottom:calc(var(--tabbar-h) + var(--safe-b))}

  /* full-screen mobile menu */
  .m-nav-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:6px}
  .m-nav-head>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}
  .m-nav-close{min-height:44px;padding:0 14px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
  .site-nav.open{display:flex;position:fixed;inset:0;z-index:120;background:#0E090A;padding:calc(18px + var(--safe-t)) 20px calc(20px + var(--safe-b));overflow:auto;flex-direction:column;gap:0;border:0}
  .site-nav.open a{display:flex;align-items:center;min-height:52px;font-family:var(--font-display);font-size:22px;letter-spacing:-.01em;text-transform:none;border-bottom:1px solid var(--line);color:var(--ink)}
  .site-nav.open a::after{display:none}
  .site-nav.open a:active{color:var(--accent)}
  .site-nav.open .mobile-utils{margin-top:auto;padding-top:24px;border-top:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
  .site-nav.open .mobile-utils a{font-family:var(--font-body);font-size:11px;border:0;min-height:40px;color:var(--accent)}

  /* bottom tab bar */
  .m-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--tabbar-h) + var(--safe-b));padding:7px 6px var(--safe-b);background:rgba(16,11,12,.98);border-top:1px solid var(--line);backdrop-filter:blur(12px)}
  .m-tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;color:#A99A90;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
  .m-tabbar svg{width:22px;height:22px;display:block}
  .m-tabbar a.on{color:var(--accent)}
  .m-tabbar a.on svg{filter:drop-shadow(0 0 10px rgba(211,175,120,.24))}
  .m-tabbar em{position:absolute;top:1px;right:calc(50% - 21px);min-width:15px;height:15px;display:grid;place-items:center;padding:0 4px;background:#B3262E;color:#fff;font-style:normal;font-size:8px;letter-spacing:0;border-radius:99px}
  .wa-float{bottom:calc(var(--tabbar-h) + 24px + var(--safe-b))}
  .promo-float{bottom:calc(var(--tabbar-h) + 78px + var(--safe-b))}
  .pdp-mobile-bar{display:flex;bottom:calc(var(--tabbar-h) + var(--safe-b));z-index:94;padding-bottom:10px}
  .pdp{padding-bottom:calc(150px + var(--tabbar-h) + var(--safe-b))}
  .cart-mobile-bar{bottom:calc(var(--tabbar-h) + var(--safe-b))}
  .cart-wrap{padding-bottom:calc(150px + var(--tabbar-h) + var(--safe-b))}

  /* filter sheet */
  .f-backdrop{position:fixed;inset:0;z-index:100;background:rgba(5,3,3,.68);backdrop-filter:blur(3px)}
  .f-backdrop[hidden]{display:none}
  .f-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:4px}
  .f-sheet-head>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}
  .f-close{min-height:42px;padding:0 12px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
  .shop-filters.is-open{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:110;max-height:86svh;overflow:auto;padding:18px 18px calc(20px + var(--safe-b));border:0;border-top:1px solid rgba(211,175,120,.35);background:#1C1416;box-shadow:0 -20px 60px rgba(0,0,0,.45);margin:0}
  .shop-filters.is-open input,.shop-filters.is-open select{font-size:16px}

  /* mobile typography and controls */
  input,select,textarea{font-size:16px!important}
  .card h3,.card-meta,.shop-results-bar,.filter-chip,.shop-filters label{font-size:11px}
  .card-meta span:last-child{font-size:10px}
  .site-nav.open .m-nav-head,.site-nav.open .mobile-utils{display:flex}
  .footer-service div{padding:16px 8px}
  .footer-service strong{font-size:11px}
  .footer-service em{font-size:11px}
  .member-nav a{min-height:44px}
  .member-form input,.account-auth-form input,.account-form input{font-size:16px!important}
  .member-table-wrap{-webkit-overflow-scrolling:touch}
  .prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  a,button,summary,input,select{-webkit-tap-highlight-color:transparent}
  .search-overlay{padding-top:calc(var(--header-h) + 24px + var(--safe-t))}
  .search-overlay-form input{font-size:28px}

  /* reduce mobile paint for long below-fold sections */
  .home-lookbook,.new-in,.rooms,.most-wanted,.home-reel,.atelier,.guide-index,.faq,.account-benefits,.account-how,.account-orders,.account-faq,.account-cta{content-visibility:auto;contain-intrinsic-size:auto 700px}
}

@media (max-width:767px){
  .promo-float{display:none}
  .header-inner{gap:8px}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 10px;font-size:10px;letter-spacing:.1em;border:1px solid var(--line)}
  .search-open{width:44px;height:44px}
  .shop-filter-toggle{height:44px}
  .room-card{min-width:0;overflow:hidden}
  .room-name{left:12px;right:12px;bottom:40px;font-size:22px;line-height:1;white-space:normal}
  .room-count{left:12px;right:12px;font-size:9px;white-space:normal}
  .footer-news{grid-template-columns:minmax(0,1fr);gap:24px;padding:38px 0 32px}
  .footer-news-form{min-width:0}
  .footer-news-form .subscribe{max-width:100%}
  .m-tabbar a{font-size:10px;letter-spacing:.04em}
  .brand-sub{font-size:8px;letter-spacing:.17em}
}
@media (max-width:360px){
  .site-header{padding-left:14px;padding-right:14px}
  .header-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:6px 10px;padding:10px 0}
  .wordmark{grid-column:1;grid-row:1;gap:8px}
  .brand-mark{width:28px;height:28px;flex-basis:28px}
  .brand-name{font-size:23px}
  .brand-sub{font-size:7px;margin-top:4px}
  .menu-btn{grid-column:2;grid-row:1}
  .header-actions{grid-column:1/3;grid-row:2;justify-self:stretch;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:7px}
  .bag{font-size:11px}
}

@media (max-width:767px){
  .room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .room-card{width:100%;max-width:100%;min-width:0}
  .room-name{font-size:20px;max-width:100%;overflow-wrap:anywhere}
  .room-count{max-width:100%;overflow-wrap:anywhere}
}

@media (max-width:767px){
  .footer-news-form,.footer-news .subscribe{width:100%;max-width:100%;min-width:0}
  .footer-news .subscribe input{width:0;min-width:0;flex:1 1 auto;padding:0 10px}
  .footer-news .subscribe button{flex:0 0 auto;padding:0 14px;letter-spacing:.08em}
}

@media (max-width:767px){
  body.m-nav-open .m-tabbar,body.m-nav-open .wa-float,body.m-nav-open .promo-float{display:none}
}

@media (max-width:767px){
  .site-nav.open{max-height:none;height:100svh}
}

@media (max-width:767px){
  .site-nav.open{left:0!important;right:0!important;width:100%!important;max-height:none;height:100svh}
}

@media (max-width:767px){
  .member-table-wrap{overflow:visible}
  .member-table{min-width:0;display:block}
  .member-table thead{display:none}
  .member-table tbody{display:grid;gap:10px}
  .member-table tr{display:block;border:1px solid var(--line);background:#1C1416;padding:12px 14px}
  .member-table td{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:7px 0;border-bottom:1px solid rgba(74,52,56,.45)}
  .member-table td:last-child{border-bottom:0;padding-top:10px}
  .member-table td::before{content:attr(data-label);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#8E7E70}
  .member-table td[data-label=""]::before{display:none}
}
