.gn-garages{max-width:976px;margin:0 auto;padding:24px 0;color:#333;box-sizing:border-box}
.gn-garages *,.gn-garages ::after,.gn-garages ::before{box-sizing:border-box}
.gn-heading{margin:0 0 20px;font-size:25px;font-weight:800;line-height:1.3;text-align:center;color:#000}
.gn-card{border:1px solid #ddd;border-radius:16px;overflow:hidden;background:#fff}
.gn-search-bar{display:flex;align-items:flex-end;gap:16px;padding:16px 18px;background:#f7f7f7}
.gn-field{position:relative;display:flex;flex-direction:column;gap:8px}
.gn-manufacturer{flex:0 0 211px}
.gn-manufacturer.flex-grow-manufacturer{flex:1}
.gn-manufacturer-hidden,.gn-only-show-list{display:none}
.gn-location{flex:1}
.gn-location-default{display:none}
.gn-find{flex:0 0 auto}
.gn-label{font-size:12px;line-height:16px;font-weight:800;color:#444}
.gn-error{font-size:11px;line-height:14px;color:#d0021b;position:absolute;bottom:-15px;left:0}
.gn-error:empty{display:none}
.gn-vehicle-tabs{display:flex;gap:12px}
.gn-vehicle-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 85px;width:80px;height:52px;padding:0 12px;font-size:14px;font-weight:700;color:#444;background:#ececec;border:1px solid transparent;border-radius:8px;cursor:pointer}
.gn-vehicle-tab.active{background:#fff;border-color:#fb0}
.gn-vehicle-icon{flex:0 0 24px;width:24px;height:20px;object-fit:contain}
.gn-input-wrap{position:relative;display:flex;gap:8px;flex-direction:column-reverse}
.garages-new .gn-garages .gn-input{width:100%;height:52px;padding:14px 108px 14px 16px;font-size:16px;line-height:24px;font-weight:400;border-radius:8px !important;color:#444;background:#fff;border:1px solid #ddd;border-radius:8px;outline:0}
.garages-new .gn-garages .gn-input:focus{border-color:#fb0}
.garages-new .gn-garages .gn-input::placeholder{color:#999;font-size:16px}
.garages-new .gn-garages .gn-manufacturer-input.gn-input{padding-inline:12px !important}
.garages-new .gn-garages .gn-location-input.gn-input{padding-right:12px !important}
.garages-new .gn-garages .gn-input-label{padding:0 6px;font-size:12px;font-weight:800;line-height:16px;color:#444}
.gn-locate-me{position:absolute;top:45%;right:4px;display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:14px;font-weight:600;color:#e8930c;background:0;border:0;cursor:pointer;white-space:nowrap}
.gn-locate-icon{display:block;width:16px;height:16px}
.gn-find-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;padding:0 16px;font-size:16px;font-weight:700;line-height:16px;color:#444;background:#fb0;border:0;border-radius:8px;cursor:pointer;white-space:nowrap}
.gn-find-btn[disabled]{cursor:not-allowed;opacity:.75}
.gn-spinner{display:none;width:18px;height:18px;border:2px solid rgba(0,0,0,.2);border-top-color:#444;border-radius:50%;animation:gn-spin .8s linear infinite}
.gn-find-btn.gn-loading .gn-spinner{display:inline-block}
@keyframes gn-spin{to{transform:rotate(360deg)}
}
.gn-hidden{display:none !important}
.gn-banner{padding:16px 18px 24px;text-align:center}
.gn-banner img{display:block;width:100%;max-width:640px;height:auto;margin:0 auto}
.gn-body{display:flex;gap:8px;padding:12px 18px 12px 12px}
.gn-list-wrap{display:flex;flex-direction:column;width:42%;max-height:310px}
.gn-body.gn-empty-results .gn-list-wrap{width:100%;max-height:none}
.gn-count{margin:0 0 10px;font-size:15px;font-weight:700;text-decoration:underline}
.gn-list{flex:1;margin:0;padding:0 8px 0 0;list-style:none;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.gn-item{padding:10px;border:1px solid #eee;cursor:pointer;background:#fff;border-radius:8px}
.gn-item-active{background:#fffaeb;border-left:3px solid #fb0}
.gn-item:hover{background:#f9f9f9;border-left:2px solid #fb0}
.gn-item-name{margin:0 0 6px;font-size:13px;font-weight:700;color:#1a1a1a}
.gn-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.gn-tag{padding:2px 8px;font-size:9px;color:#666;background:#eee;border-radius:3px}
.gn-address{margin:0 0 12px;font-size:11px;line-height:1.4;color:#888}
.gn-item-footer{display:flex;align-items:center;justify-content:space-between}
.gn-distance{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#888}
.gn-actions{display:flex;gap:8px}
.gn-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:20px;background:#fff6db;border-radius:10px}
.gn-view-all{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding-top:10px;font-size:11px;font-weight:600;color:#fb0;text-decoration:none}
.gn-empty{padding:16px 6px;text-align:center}
.gn-empty-img{width:120px;height:auto;margin-bottom:12px}
.gn-empty-text{margin:0;font-size:12px;line-height:1.5;color:#888}
.gn-map{flex:1;min-height:310px;background:#ddd;border-radius:12px}
.gn-info-name{margin:0 0 6px;font-size:13px;font-weight:700;color:#1a1a1a}
.gn-info-address{margin:0 0 8px;max-width:220px;font-size:11px;line-height:1.4;color:#888}
.gn-info-actions{display:flex;gap:12px}
.gn-info-action{font-size:11px;font-weight:600;color:#fb0;text-decoration:none}
@media(max-width:767px){.gn-garages{padding:16px}
.gn-heading{margin-bottom:12px;font-size:16px}
.gn-search-bar{flex-direction:column;align-items:stretch;gap:20px;padding:16px}
.gn-vehicle-tabs{width:100%;gap:8px}
.gn-vehicle-tab{flex:1 1 0;width:auto;min-width:0;padding:0 8px}
.gn-find,.gn-manufacturer{flex:1 1 auto}
.gn-body{padding:12px}
.gn-banner{padding:12px 12px 18px}
.gn-list-wrap{width:100%;max-height:none}
.gn-list{padding-right:0;overflow:visible;overflow-y:scroll;max-height:420px}
.gn-item-name{font-size:13px}
.gn-tag{font-size:10px}
.gn-address,.gn-distance,.gn-view-all{font-size:12px}
.gn-map{display:none}
}