/* Leeds Lets v2.3.59 — public/mobile responsive hardening layer */
html,body{max-width:100%;overflow-x:hidden}body{min-width:0}main,section,article,aside,header,footer,nav,.container,.panel,.card,.portal-main,.step-card{min-width:0}
img,svg,video,canvas,iframe{max-width:100%}iframe{width:100%;border:0}input,select,textarea,button{max-width:100%}textarea{resize:vertical}.btn,.field,input,select,textarea{min-height:44px}.btn{line-height:1.15;text-align:center}
/* Never allow long user/listing data to break layouts */
h1,h2,h3,h4,p,a,span,strong,small,td,th,label,.address,.muted,.price{overflow-wrap:anywhere}.property,.service-card,.journey,.area,.panel,.portal-card,.listing-form-card{min-width:0}
/* Public search and cards */
.filterbar{grid-template-columns:minmax(210px,1.45fr) repeat(3,minmax(140px,.72fr)) minmax(130px,.7fr) minmax(130px,.7fr) auto auto auto;align-items:center}
.commercial-filterbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.commercial-filterbar[hidden]{display:none!important}
.cards{align-items:stretch}.property{display:flex;flex-direction:column}.property-body{display:flex;flex:1;flex-direction:column}.listing-actions{margin-top:auto}.property img,.property-img img{width:100%;height:100%;object-fit:cover}
/* Forms and account/customer journeys */
.form input,.form select,.form textarea,.form-grid input,.form-grid select,.form-grid textarea,.wizard-field input,.wizard-field select,.wizard-field textarea{width:100%;min-width:0}
.admin-table{max-width:100%}.table-scroll,.responsive-table{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
/* Long policy/content pages remain readable */
.page-hero+.section .container>p,.page-hero+.section .container>ul,.page-hero+.section .container>ol{max-width:900px;line-height:1.72}
/* Tablet */
@media(max-width:1100px){
 .nav-inner{gap:16px}.nav-links{gap:18px}.filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}.filterbar>#locationFilter{grid-column:span 2}.commercial-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-grid{gap:38px}.footer-grid{gap:24px}.content-grid{gap:24px}
}
@media(max-width:950px){
 .nav-inner{min-height:72px}.nav-links{z-index:44}.mobile-menu-toggle{display:flex!important}.hero-grid{gap:30px}.hero-card{max-width:680px;width:100%;margin-inline:auto}
 .filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.filterbar>#locationFilter{grid-column:1/-1}.filterbar .search-check{grid-column:1/-1}.commercial-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-shell{width:100%}.auth-shell{width:100%}.listing-start-grid{grid-template-columns:1fr}.listing-form-card{max-width:760px;width:100%}
}
/* Phone / narrow tablet */
@media(max-width:700px){
 :root{--radius:19px}.container{width:calc(100% - 28px)}.topbar{font-size:12px}.topbar .container{min-height:34px;padding:7px 0}.nav-inner{min-height:68px}.logo{font-size:21px;gap:9px}.logo-mark{width:39px;height:39px;border-radius:12px}.mobile-menu-toggle{width:44px;height:44px;flex-basis:44px;padding:10px}
 .nav-links{left:-14px;right:-14px;max-height:calc(100dvh - 68px);padding:8px 14px calc(20px + env(safe-area-inset-bottom))}.nav-links a{min-height:46px;display:flex;align-items:center;font-size:15px}
 .hero{padding:42px 0 44px}.hero-grid{display:block}.hero-grid>*+*{margin-top:34px}.hero p{font-size:16px;line-height:1.55}.hero-kicker{gap:8px}.kicker{font-size:12px}.searchbox{padding:13px;border-radius:20px;margin-top:24px}.tabs{overflow:auto;padding-bottom:2px}.tab{flex:0 0 auto}
 .searchrow,.filterbar,.commercial-filterbar{grid-template-columns:1fr!important}.filterbar>*{grid-column:auto!important}.filterbar .btn,.searchrow .btn{width:100%}.search-check{white-space:normal;min-height:44px;padding:7px 2px}.hero-card{border-radius:25px;padding:14px}.hero-house{height:min(72vw,340px);min-height:240px}.float-tag{left:24px;top:24px;max-width:calc(100% - 48px)}
 h1,.page-hero h1{font-size:clamp(35px,11vw,46px);letter-spacing:-2px;line-height:1.02}h2{font-size:30px;letter-spacing:-1.1px}.page-hero{padding:38px 0}.section{padding:46px 0}.section-head{gap:8px}.section-head p{margin:0}
 .cards,.service-grid,.journey-grid,.area-grid,.offer-grid,.verify-strip,.stat-grid,.split,.content-grid,.footer-grid{grid-template-columns:1fr!important}.property-img{height:min(62vw,280px);min-height:205px}.property-body{padding:18px}.price{font-size:24px}.listing-actions{gap:8px}.listing-actions .btn,.listing-actions button,.listing-actions a{min-height:46px}
 .panel,.finance-band,.list-free-hero{padding:23px!important;border-radius:21px!important}.cta{padding:25px;border-radius:22px}.cta .btn{width:100%}.footer{padding:40px 0 calc(24px + env(safe-area-inset-bottom));margin-top:42px}.footer-grid{gap:24px}.footer .logo{font-size:22px}
 .form-grid,.wizard-grid,.radio-cards,.choice-grid{grid-template-columns:1fr!important}.form-grid .full,.wizard-field.full{grid-column:auto!important}.form label,.wizard-field label{line-height:1.35}.form input,.form select,.form textarea,.field,.wizard-field input,.wizard-field select,.wizard-field textarea{font-size:16px}
 .listing-hero{padding:36px 0 28px}.listing-hero h1{font-size:clamp(38px,11vw,46px)!important}.listing-intents{grid-template-columns:1fr!important}.listing-form-card{padding:21px 17px;border-radius:18px}.listing-start-section{padding:34px 0}.listing-steps h2{font-size:30px}
 .onboarding-title{gap:10px}.onboarding-body{padding-left:14px!important;padding-right:14px!important}.step-card{padding:21px 16px!important}.wizard-actions,.wizard-action-group{width:100%}.wizard-actions .btn,.wizard-action-group .btn{width:100%}.photo-grid{grid-template-columns:1fr 1fr!important}
 .portal-main{padding:18px!important}.portal-card{padding:17px!important;border-radius:17px}.checkrow{align-items:flex-start!important;flex-direction:column}.admin-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.admin-table th,.admin-table td{padding:11px 10px}
 .auth-main{padding:0!important}.auth-shell{border-radius:0!important;border-left:0!important;border-right:0!important}.auth-intro,.auth-card{padding:28px 20px!important}.auth-intro h1{font-size:38px!important}.client-welcome{padding:24px 20px!important}.client-welcome h1{font-size:36px!important}
}
@media(max-width:430px){
 .container{width:calc(100% - 24px)}.topbar .container span:last-child{display:none}.hero{padding-top:34px}.hero-house{min-height:220px}.hero-stat{gap:9px;padding-top:12px}.hero-stat strong{font-size:21px}.property-img{min-height:200px}.photo-grid{grid-template-columns:1fr!important}.ll-nearby-controls,.ll-location-controls{gap:7px}.ll-nearby-controls button,.ll-location-controls button{flex:1 1 calc(50% - 7px);min-height:42px}.ll-mobile-actions-v240{grid-template-columns:1fr 1fr 1fr}.ll-mobile-actions-v240>*{font-size:12px;padding-inline:5px}
}
@media(max-width:360px){
 .container{width:calc(100% - 20px)}.logo{font-size:19px}.logo-mark{width:36px;height:36px}.mobile-menu-toggle{width:42px;height:42px;flex-basis:42px}.btn{white-space:normal}.hero-house{min-height:205px}.property-body{padding:16px}.ll-mobile-actions-v240>*{font-size:11px}
}
/* Accessibility and touch */
@media(pointer:coarse){.btn,button,a.tab,.intent-card,.choice{min-height:44px}.nav-links a{min-height:46px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
