html,body{max-width:100%;overflow-x:hidden}
.wrap,.content,.layout,.layout>*,.forms,.form,.grid,.field{min-width:0}
.nav{justify-content:flex-start;gap:18px}
.nav .brand{margin-right:auto;flex-shrink:1;min-width:0}
.nav .lang-switch{margin-left:0}
.postlink,.postlink:hover,.postlink:focus,.postlink:visited{text-decoration:none!important}
.location-note{display:flex;justify-content:center;padding:13px 20px}
.location-note .gps-button{text-decoration:none;border:1px solid #b9d2ea;border-radius:7px;padding:9px 14px;background:#fff}
.tabs{max-width:100%;scrollbar-width:thin;overscroll-behavior-inline:contain}
.tabs button{flex:1 0 auto;justify-content:center}
.filters{max-width:100%}
.listing{grid-template-columns:minmax(0,1.5fr) minmax(125px,.75fr) minmax(115px,.65fr) minmax(95px,.55fr) auto}
.listing-reference{font-size:11px;color:#718096;margin-top:6px;letter-spacing:.025em}
.expiry{display:flex;align-items:center;gap:6px;font-size:12px;color:#526074}
.expiry .ui-icon{width:16px;height:16px}
.contact{flex-wrap:wrap;justify-content:flex-end}
.contact .removal{color:#8a4b2b}
.publish-success{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;background:#e9f8ef;border:1px solid #85c99e;color:#075d37;border-radius:9px;padding:15px 17px;box-shadow:0 6px 18px #0b294b12}
.publish-success[hidden]{display:none}
.publish-success strong{font-size:16px}
.publish-success span{font-size:13px;flex:1 1 330px}
.publish-success button{border:0;background:#087747;color:#fff;padding:9px 13px;border-radius:6px;font-weight:750}
.publish:disabled{opacity:.62;cursor:wait}
footer .footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,minmax(130px,1fr));align-items:start}
footer .footer-brand{display:flex;color:#fff;margin:0 0 14px}
footer .footer-brand svg{width:44px;height:51px}
footer .footer-about p{margin:10px 0}
footer .footer-policy{text-align:left}
.rtl footer .footer-policy{text-align:right}
@media(max-width:980px){
  .listing{grid-template-columns:minmax(0,1fr) minmax(110px,.5fr)}
  .listing .route{grid-column:1/-1}
  .listing .contact{grid-column:1/-1;justify-content:flex-start}
  footer .footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}
}
@media(max-width:680px){
  .nav{flex-wrap:nowrap;padding:11px 0;gap:9px;min-height:72px}
  .nav .brand{font-size:14px;gap:8px;margin-right:auto;overflow:visible}
  .nav .brand svg{width:35px;height:42px;flex:none}
  .nav .lang-switch{margin:0;padding:8px 10px;flex:none}
  .nav .postlink{font-size:12px;padding:9px 10px;flex:none}
  .hero-inner{padding-top:38px;padding-bottom:42px}
  .hero h1{font-size:clamp(32px,10vw,44px)}
  .location-main{padding:16px;gap:10px}
  .location-main strong{font-size:15px}
  .location-main .change-city{font-size:14px}
  .hero-actions{width:100%;justify-content:center}
  .hero-actions a{flex:1;justify-content:center;text-align:center;max-width:210px}
  .content{width:100%}
  .tabs{margin-right:-16px;padding-right:16px;gap:6px}
  .tabs button{padding:13px 16px;font-size:14px}
  .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;border-radius:0 9px 9px 9px}
  .filters select{min-width:0;max-width:100%}
  .listing{grid-template-columns:1fr!important;padding:16px;gap:9px}
  .listing .route,.listing .listing-date,.listing .expiry,.listing .price,.listing .contact{grid-column:1!important;grid-row:auto!important}
  .listing-notes{display:block;-webkit-line-clamp:unset;overflow:visible}
  .contact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
  .contact a,.contact button{width:100%!important;min-width:0;height:42px}
  .forms{width:100%}
  .form{padding:18px 16px;overflow:hidden}
  .form input,.form select,.form textarea{max-width:100%}
  .consent-box{width:100%}
  footer{padding-top:34px}
  footer .footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px}
  footer .footer-about{grid-column:1/-1}
  footer h4{font-size:16px}
  footer a,footer .footer-policy{font-size:13px}
  footer .copy{display:block;text-align:center}
}
@media(max-width:390px){
  .wrap{padding-left:13px;padding-right:13px}
  .nav .brand{font-size:12px;letter-spacing:.015em}
  .nav .brand svg{width:31px;height:38px}
  .nav .lang-switch{font-size:12px;padding:7px 8px}
  .nav .postlink{font-size:11px;padding:8px}
  .nav .postlink .ui-icon{display:none}
  .tabs{margin-right:-13px;padding-right:13px}
}
