/* TK-ITG v3.9.5: scoped compact catalog + map. Keep other site screens unchanged. */
@media (min-width:761px){
  body:has(.gp-server-filters) .main,body:has(.gp-map-filter) .main{padding-top:15px}
  body:has(.gp-server-filters) .page-heading,body:has(.gp-map-filter) .page-heading{margin-bottom:10px;gap:10px;align-items:center}
  body:has(.gp-server-filters) .page-heading h1,body:has(.gp-map-filter) .page-heading h1{font-size:21px;margin:0 0 2px;line-height:1.16}
  body:has(.gp-server-filters) .page-heading .muted,body:has(.gp-map-filter) .page-heading .muted{font-size:11px;margin:0;line-height:1.35}
  body:has(.gp-server-filters) .page-heading .btn,body:has(.gp-map-filter) .page-heading .btn{padding:7px 12px;min-height:32px;font-size:12px}
}
/* Catalog controls: keep touch-friendly click targets without wasting desktop space. */
.gp-server-filters.panel{padding:12px 15px!important;margin-bottom:10px!important;border-radius:9px}
.gp-server-filters .gp-v33-filter-form{gap:7px!important}
.gp-server-filters .gp-filter-head{margin:0!important;align-items:center;gap:8px}
.gp-server-filters .gp-filter-head h2{font-size:17px!important;line-height:1.2;margin:0!important}
.gp-server-filters .gp-filter-head .btn{padding:5px 10px!important;min-height:29px;font-size:11px!important}
.gp-server-filters .gp-v33-filter-grid{gap:7px 10px!important;grid-template-columns:minmax(200px,2fr) repeat(3,minmax(120px,1fr))!important}
.gp-server-filters .gp-v33-filter-grid label{gap:3px!important;font-size:12px!important;line-height:1.3;font-weight:650}
.gp-server-filters :is(input:not([type="checkbox"]),select){height:34px!important;min-height:34px!important;padding:5px 9px!important;font-size:12px!important;border-radius:7px!important;line-height:1.2!important}
.gp-server-filters button[type="submit"]{height:33px!important;min-height:33px!important;padding:6px 12px!important;font-size:12px!important;border-radius:7px!important}
.gp-server-filters .mini-note{font-size:10px!important;line-height:1.2!important;margin:0!important;color:#777}
/* Cargo cards: roughly half the vertical footprint. */
body:has(.gp-server-filters) .order-card.gp-filter-item{padding:10px 14px!important;margin-bottom:7px!important;border-radius:9px!important}
body:has(.gp-server-filters) .order-card.gp-filter-item h3{font-size:15px!important;line-height:1.22!important;margin:0!important}
body:has(.gp-server-filters) .order-card.gp-filter-item .order-meta{gap:5px 12px!important;margin:6px 0!important;font-size:11px!important;line-height:1.35!important}
body:has(.gp-server-filters) .order-card.gp-filter-item .order-foot{gap:7px!important;margin:3px 0 0!important;padding-top:6px!important;align-items:center}
body:has(.gp-server-filters) .order-card.gp-filter-item .order-foot:first-child{padding:0!important;margin:0!important}
body:has(.gp-server-filters) .order-card.gp-filter-item .price{font-size:18px!important;line-height:1.2!important}
body:has(.gp-server-filters) .order-card.gp-filter-item .gp-payment-small{font-size:11px!important}
body:has(.gp-server-filters) .order-card.gp-filter-item .btn{padding:6px 11px!important;min-height:30px!important;font-size:11px!important}
body:has(.gp-server-filters) .order-card.gp-filter-item .tag{font-size:10px!important;padding:3px 7px!important}
/* Carrier cards: compact grid on desktop; no overlap of long Russian addresses. */
body:has(.gp-server-filters) .grid:has(> .tile.gp-filter-item){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
body:has(.gp-server-filters) .tile.gp-filter-item{min-width:0!important;padding:11px 12px!important;border-radius:9px!important}
body:has(.gp-server-filters) .tile.gp-filter-item h3{font-size:15px!important;line-height:1.2!important;margin:6px 0!important;overflow-wrap:anywhere}
body:has(.gp-server-filters) .tile.gp-filter-item p{font-size:11px!important;line-height:1.38!important;margin:4px 0!important;overflow-wrap:anywhere}
body:has(.gp-server-filters) .tile.gp-filter-item .tag{font-size:10px!important;padding:3px 7px!important}
/* Map selector and layout. Retain sufficient map height for route exploration. */
.gp-map-filter.panel{padding:10px 13px!important;margin-bottom:9px!important;border-radius:9px}
.gp-map-filter h2{font-size:16px!important;line-height:1.2!important;margin:0!important}
.gp-map-filter .mini-note{font-size:10px!important;line-height:1.3!important;margin:3px 0 5px!important}
.gp-map-views{gap:6px!important}
.gp-map-views button{padding:6px 8px!important;min-height:34px!important;border-radius:7px!important;font-size:11px!important}
.gp-map-layout{gap:10px!important;align-items:stretch!important}
.gp-map-layout > .panel{padding:10px!important;border-radius:9px}
.gp-map-layout .map{min-height:350px!important;height:min(57vh,490px)!important;border-radius:7px}
.gp-map-layout .mini-note{font-size:10px!important;line-height:1.35!important;margin:6px 0 0!important}
.gp-map-details.panel{padding:12px!important;border-radius:9px}
.gp-map-details h3{font-size:16px!important;line-height:1.25!important;margin:0 0 8px!important}
.gp-map-details p{font-size:12px!important;line-height:1.4!important}
.gp-map-details .order-card{padding:9px!important;margin-bottom:8px!important}
/* Progressive responsive rules */
@media (min-width:761px) and (max-width:1150px){
.gp-server-filters .gp-v33-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.gp-server-filters .gp-v33-filter-grid label:first-child{grid-column:span 2}
body:has(.gp-server-filters) .grid:has(> .tile.gp-filter-item){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
.gp-server-filters.panel{padding:11px!important;margin-bottom:9px!important}
.gp-server-filters .gp-v33-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.gp-server-filters .gp-v33-filter-grid label:first-child{grid-column:1/-1}
.gp-server-filters :is(input:not([type="checkbox"]),select){min-height:40px!important;height:40px!important;font-size:16px!important}
.gp-server-filters button[type="submit"]{min-height:40px!important;height:40px!important}
body:has(.gp-server-filters) .grid:has(> .tile.gp-filter-item){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body:has(.gp-server-filters) .tile.gp-filter-item{padding:10px!important}
body:has(.gp-server-filters) .order-card.gp-filter-item{padding:10px!important}
.gp-map-filter.panel{padding:10px!important}
.gp-map-views{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.gp-map-layout .map{height:49vh!important;min-height:290px!important}
/* Preserve mobile bottom sheet; do not override its fixed positioning */
.gp-map-details.panel{padding:12px!important}
}
@media(max-width:480px){
.gp-server-filters .gp-v33-filter-grid{grid-template-columns:1fr!important}
.gp-server-filters .gp-v33-filter-grid label:first-child{grid-column:auto!important}
body:has(.gp-server-filters) .grid:has(> .tile.gp-filter-item){grid-template-columns:1fr!important}
body:has(.gp-server-filters) .order-card.gp-filter-item .order-foot{flex-wrap:wrap}
}
