/* PARIS ALEXANDER v0.14.3 mobile responsive enhancement. Additive, scoped, desktop-preserving. */
:root{--ov-touch:44px}
html{scroll-padding-top:16px}
body{max-width:100%;overflow-x:clip}
img,video,svg{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
.mobile-menu-toggle,.mobile-menu-panel,.studio-menu-toggle,.mobile-menu-shade{display:none}
@media(max-width:850px){
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;border:1px solid #d6cbbd;background:#fff;color:#27231f;border-radius:3px;font-size:23px;cursor:pointer}
  .mobile-menu-panel{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 1px);z-index:100;max-height:min(70vh,540px);overflow:auto;background:#fffdf9;color:#28241f;box-shadow:0 14px 35px #0003;border:1px solid #e9dfd3;padding:10px}
  .mobile-menu-panel.is-open{display:flex;flex-direction:column}
  .mobile-menu-panel a{display:flex;align-items:center;min-height:48px;padding:13px 15px;border-bottom:1px solid #eee8de;font-size:12px;letter-spacing:1.15px;text-decoration:none;color:#28241f}
  .mobile-menu-panel a:last-child{border-bottom:0}
  .mobile-menu-panel a:focus-visible,.mobile-menu-toggle:focus-visible{outline:3px solid #a99165;outline-offset:2px}
  body.ov-home .topbar,body.ov-discover .header{position:relative;z-index:101}
  body.ov-home .topbar{gap:12px;padding-inline:4vw}
  body.ov-home .nav-right{gap:8px;margin-left:auto}
  body.ov-home .nav-right .text-btn{font-size:10px;line-height:1.4;letter-spacing:.5px;max-width:145px;text-align:right}
  body.ov-home .bag-icon{display:none}
  body.ov-discover .header{height:auto;min-height:75px;gap:10px;padding:10px 4vw}
  body.ov-discover .header-actions{margin-left:auto}
}
@media(max-width:760px){
  body.ov-home .hero-visual{height:auto;min-height:500px;min-height:min(690px,82svh);background-position:center}
  body.ov-home .hero-content{position:relative;top:auto;left:auto;right:auto;padding:70px 7vw 75px;max-width:95%}
  body.ov-home .hero-content h1{font-size:clamp(38px,9vw,58px)}
  body.ov-home .hero-content p{font-size:15px;line-height:1.65}
  body.ov-home .hero-button{gap:16px;min-height:48px}
  body.ov-home .category-grid,body.ov-home .room-collection-grid{gap:12px}
  body.ov-home .story-text,body.ov-home .intro,body.ov-home .shop{min-width:0}
  body.ov-home .filters{align-items:stretch}
  body.ov-home .search-wrap{min-width:0;flex-basis:100%}
  body.ov-home .filters select{min-width:0;flex:1 1 calc(50% - 7px);min-height:44px}
  body.ov-home .search-wrap input{font-size:16px}
  body.ov-home .ov-design-collection{padding-inline:4vw}
  body.ov-home .ov-modal{padding:8px;align-items:center}
  body.ov-home .ov-modal-inner{max-height:calc(100dvh - 16px);width:100%;overflow-y:auto}
  body.ov-home .ov-modal-visual{height:min(40dvh,350px);flex-shrink:0}
  body.ov-home .ov-modal-image{max-height:min(40dvh,350px)}
  body.ov-home .ov-modal-content{padding:22px 18px 30px;overflow:visible}
  body.ov-home .ov-modal-content h2{font-size:clamp(25px,7vw,34px)}
  body.ov-home .ov-image-viewer{padding:58px 10px 20px}
  body.ov-home .ov-zoom-close,body.ov-home .ov-modal-close{min-height:44px;min-width:44px}
  body.ov-discover .lead-copy{padding:42px 6vw}
  body.ov-discover .lead h1{font-size:clamp(38px,9vw,60px)}
  body.ov-discover .lead-art{min-height:250px}
  body.ov-discover .overview{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 3vw}
  body.ov-discover .overview>div{min-width:0;padding:9px 7px}
  body.ov-discover .overview small{font-size:9px;overflow-wrap:anywhere;letter-spacing:.7px}
  body.ov-discover .value{font-size:clamp(25px,6vw,36px)}
  body.ov-discover .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ov-discover .filters label:first-child{grid-column:1/-1}
  body.ov-discover .house-find{min-width:0}
  body.ov-discover .house-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ov-discover .product-photo{height:auto;aspect-ratio:4/5}
  body.ov-discover .product-name{font-size:18px;overflow-wrap:anywhere}
  body.ov-discover .product-actions button{min-height:44px}
  body.ov-discover .drawer{padding:18px;max-width:100%}
  body.ov-discover .compare-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  body.ov-discover input,body.ov-discover select,body.ov-discover textarea{font-size:16px}
}
@media(max-width:470px){
  body.ov-home .topbar{min-height:69px}
  body.ov-home .wordmark{font-size:20px;letter-spacing:3px}
  body.ov-home .nav-right .text-btn{font-size:9px;max-width:105px;overflow-wrap:anywhere}
  body.ov-home .ov-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 9px}
  body.ov-home .ov-card-title{font-size:17px}
  body.ov-home .ov-card-eyebrow{flex-wrap:wrap;line-height:1.4}
  body.ov-home .ov-card-photo{aspect-ratio:1/1.07}
  body.ov-home .ov-collection-tools{max-width:100%;min-width:0}
  body.ov-home .ov-collection-tools label{min-width:0}
  body.ov-home .room-pic{height:150px}
  body.ov-discover .header-actions button{font-size:10px;letter-spacing:.4px}
  body.ov-discover .logo{font-size:21px;letter-spacing:3px}
  body.ov-discover .filters{grid-template-columns:1fr 1fr;gap:10px}
  body.ov-discover .house-grid{grid-template-columns:1fr 1fr;gap:9px}
  body.ov-discover .house-card{padding:15px 11px;min-height:132px}
  body.ov-discover .house-card strong{font-size:18px}
  body.ov-discover .product-grid{gap:18px 10px}
  body.ov-discover .product-photo{aspect-ratio:4/5}
  body.ov-discover .product-name{font-size:16px}
  body.ov-discover .product-actions{flex-wrap:wrap}
  body.ov-discover .product-actions>*{min-height:44px}
  body.ov-discover .brief{gap:22px}
}
@media(max-width:360px){
  body.ov-home .wordmark{font-size:18px;letter-spacing:2px}
  body.ov-home .nav-right .text-btn{font-size:9px;max-width:90px}
  body.ov-home .ov-concept-grid{grid-template-columns:1fr}
  body.ov-discover .header-actions{gap:2px}
  body.ov-discover .header-actions button{font-size:9px;padding:9px 2px}
}
/* Secure Studio workspace */
@media(max-width:700px){
  body.ov-workspace .shell{display:block}
  body.ov-workspace .sidebar{position:fixed;z-index:150;top:0;left:0;width:min(315px,88vw);max-height:100dvh;height:100dvh;overflow-y:auto;transform:translateX(-125%);transition:transform .2s ease;box-shadow:none}
  body.ov-workspace .sidebar.is-open{transform:translateX(0);box-shadow:12px 0 24px #0002}
  body.ov-workspace .sidebar nav{display:flex;flex-direction:column;gap:3px}
  body.ov-workspace .sidebar nav button{min-height:44px}
  body.ov-workspace .studio-menu-toggle{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:10px 12px;min-height:44px;background:#292722;color:#fff;border:0;border-radius:4px;font-size:13px}
  body.ov-workspace .mobile-menu-shade{display:none;position:fixed;inset:0;z-index:145;background:#0008}
  body.ov-workspace .mobile-menu-shade.is-open{display:block}
  body.ov-workspace .bar{padding:14px 16px;gap:12px}
  body.ov-workspace .bar h1{font-size:clamp(22px,6vw,29px)}
  body.ov-workspace .bar-actions{flex-wrap:wrap;gap:6px}
  body.ov-workspace .bar-actions button{min-height:44px}
  body.ov-workspace main{padding:14px 12px}
  body.ov-workspace .panel{padding:16px;margin-bottom:14px}
  body.ov-workspace .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.ov-workspace .metric{padding:14px}
  body.ov-workspace .metric strong{font-size:29px}
  body.ov-workspace .table{min-width:600px}
  body.ov-workspace .panel:has(.table),body.ov-workspace #functionTable{overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.ov-workspace .form-grid input,body.ov-workspace .form-grid select,body.ov-workspace .form-grid textarea,body.ov-workspace .auth input{font-size:16px;min-height:44px}
  body.ov-workspace .panel-title{flex-wrap:wrap}
  body.ov-workspace .kv{overflow-wrap:anywhere}
  body.ov-workspace .auth-inner{padding:22px;max-width:100%}
}
/* Internal review + legacy Studio + sourcing pages */
@media(max-width:700px){
  body.ov-review header{padding:15px 4vw;gap:10px;flex-wrap:wrap}
  body.ov-review .brand{font-size:25px;letter-spacing:4px}
  body.ov-review main{padding:18px 3vw}
  body.ov-review .panel{padding:14px}
  body.ov-review .row>*{flex:1 1 100%;min-width:0}
  body.ov-review .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ov-review dl{grid-template-columns:minmax(95px,32%) minmax(0,1fr)}
  body.ov-review button{min-height:44px}
  body.ov-legacy-studio .studio{margin:18px auto;padding:12px}
  body.ov-legacy-studio .studio h1{font-size:clamp(30px,9vw,46px)}
  body.ov-legacy-studio .studio .panel{padding:16px;margin:14px 0}
  body.ov-legacy-studio .studio .grid{grid-template-columns:minmax(0,1fr)}
  body.ov-legacy-studio .studio input,body.ov-legacy-studio .studio select,body.ov-legacy-studio .studio textarea{min-height:44px;font-size:16px}
  body.ov-sourcing header{padding:16px 4vw}
  body.ov-sourcing main{padding:12px}
  body.ov-sourcing .layout{grid-template-columns:minmax(0,1fr)}
  body.ov-sourcing .panel{padding:15px}
  body.ov-sourcing .row>*{flex:1 1 100%;min-width:0}
  body.ov-sourcing input,body.ov-sourcing textarea,body.ov-sourcing select{font-size:16px;min-height:44px}
  body.ov-sourcing .result-actions button,body.ov-sourcing button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.sidebar,.mobile-menu-panel{transition:none!important}}
