/* Post-Phase-5 fitting adjustments. No browser zoom, transforms or hidden overflow. */
.vendor-directory{min-width:0;width:100%;max-width:1320px}
.customer-main>.vendor-directory{margin:0;padding:0;max-width:none}
.vendor-directory .filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;align-items:stretch}
.vendor-directory .filter-bar input,.vendor-directory .filter-bar select{width:100%;min-width:0;max-width:100%}
.vendor-directory .vendor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vendor-directory .vendor-grid>.panel{min-width:0;overflow-wrap:anywhere}
.vendor-directory .button{max-width:100%;white-space:normal}
.vendor-directory .pagination{flex-wrap:wrap;gap:12px}
@media(max-width:980px){.vendor-directory .vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.vendor-directory .vendor-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:981px){
 .customer-sidebar{width:clamp(200px,16vw,264px);flex-basis:clamp(200px,16vw,264px)}
 .customer-sidebar nav a{font-size:clamp(15px,1.2vw,19px);padding:12px 11px;gap:12px;min-height:50px}
 .customer-sidebar nav .icon{width:28px;height:28px}
 .customer-main{padding:16px 18px}
 .customer-header .estore-brand b{font-size:clamp(23px,1.75vw,29px)}
 .header-page-title{font-size:clamp(24px,1.8vw,30px)}
 .customer-header .account-identity strong{font-size:18px}
 .customer-main .panel{padding:18px}
 .customer-main .panel h2{font-size:clamp(20px,1.5vw,25px)}
 .customer-main .field{font-size:clamp(15px,1.1vw,18px)}
 .customer-main .field input,.customer-main .field select{font-size:16px}
 .customer-main .page-banner{min-height:90px;padding:16px 20px}
 .customer-main .list-row,.customer-main .tabs a,.customer-main .button{font-size:16px}
 .customer-main .support-tiles h2{font-size:clamp(19px,1.4vw,23px)!important}
 .customer-main .support-tiles p{font-size:clamp(14px,1.05vw,17px)}
 .customer-main .profile-overview h1{font-size:29px}
 .customer-main .profile-kpis strong{font-size:27px}
 .auth-story h1{font-size:56px}.auth-story>p{font-size:23px}
 .auth-panel{padding:26px 30px;min-height:860px}
 .auth-panel h1{font-size:35px}.auth-panel .auth-subtitle{font-size:21px}
 .auth-panel .field{font-size:18px}.auth-panel .field input{font-size:17px;min-height:50px}
 .auth-panel .auth-tabs a{font-size:21px}.auth-panel form>.button{font-size:23px;min-height:58px}
 .auth-story .shopper-art{height:375px;border-radius:14px}
 .auth-story .story-features>div{font-size:16px}
}
@media(min-width:1200px){
 .landing-page .hero-copy h1{font-size:clamp(39px,3.4vw,49px)}
 .landing-page .hero-copy>p{font-size:19px}
 .landing-page .hero-shoppers{width:37%;left:43%}
}
/* User login/register: replace the legacy 1050px stage and 900px card minimums.
   Fit the composition to a normal desktop viewport rather than only trimming fonts. */
@media(min-width:981px){
 .user-auth .auth-header{height:82px;padding:10px 3%}
 .user-auth .auth-header .estore-brand b{font-size:32px}
 .user-auth .auth-header .estore-brand small{font-size:12px}
 .user-auth .auth-header .estore-brand>svg{width:60px;height:60px}
 .user-auth .auth-header>a:last-child{font-size:18px}
 .user-auth .auth-stage{min-height:calc(100svh - 170px);padding:24px max(3vw,calc((100vw - 1280px)/2));grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:stretch}
 .user-auth .auth-stage:before{height:280px;width:180px;border-left-width:17px}
 .user-auth .auth-story{padding:8px 6px}
 .user-auth .auth-story h1{font-size:clamp(38px,3.3vw,48px);line-height:1.08}
 .user-auth .auth-story>p{font-size:18px;line-height:1.4;margin:14px 0;max-width:450px}
 .user-auth .auth-story .shopper-art{height:280px;margin-top:12px}
 .user-auth .auth-story .story-features{grid-template-columns:repeat(4,minmax(0,1fr));padding:5px;border-width:5px;gap:5px;margin:0;border-radius:20px}
 .user-auth .story-features>div{padding:10px 5px;font-size:13px;gap:6px;border-radius:14px}
 .user-auth .story-features .icon{width:30px;height:30px}
 .user-auth .auth-panel{min-height:0;max-width:650px;width:100%;padding:20px 26px;border-radius:24px;align-self:stretch}
 .user-auth .auth-panel h1{font-size:30px;margin:8px 0;line-height:1.2}
 .user-auth .auth-panel h1>.icon{width:30px;height:30px}
 .user-auth .auth-subtitle{font-size:17px;line-height:1.35;margin-bottom:16px}
 .user-auth .auth-tabs,.user-auth .identity-tabs{margin-bottom:16px;gap:8px}
 .user-auth .auth-tabs a{font-size:18px;padding:10px 8px;min-height:46px}
 .user-auth .auth-tabs .icon,.user-auth .identity-tabs .icon{width:24px;height:24px}
 .user-auth .identity-tabs>*{font-size:15px;padding:9px 8px;min-height:44px}
 .user-auth .auth-panel form{gap:10px;margin:12px 0}
 .user-auth .auth-panel .field{font-size:16px;gap:4px}
 .user-auth .auth-panel .field input{font-size:16px;min-height:46px;padding:9px 10px}
 .user-auth .auth-panel form>.button{font-size:19px;min-height:48px;padding:10px}
 .user-auth .forgot-link,.user-auth .auth-bottom{font-size:16px}
 .user-auth .auth-bottom{margin-top:20px}
 .user-auth .trust-strip{min-height:88px;padding:16px 3%;gap:16px}
 .user-auth .trust-strip .icon{width:32px;height:32px}
 .user-auth .trust-strip>div{gap:12px}
 .user-auth .trust-strip b{font-size:18px}.user-auth .trust-strip small{font-size:14px}
}

@media(min-width:981px){
 .vendor-auth .auth-panel form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
 .vendor-auth .auth-panel form>.checkbox,.vendor-auth .auth-panel form>.button{grid-column:1/-1}
 .vendor-auth .auth-panel>p{font-size:16px;line-height:1.45;margin:10px 0 18px}
}
