/* Bilan Logistics responsive override v5.1 — safe layer loaded after main CSS */
*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;font:inherit}
a,.ci-body a,.fci a{overflow-wrap:anywhere}

@media (max-width:1080px){
  .nav-wrap{gap:14px;padding-inline:18px}
  .nav-links{gap:16px}
  .nav-right{margin-inline-start:8px;padding-inline-start:10px}
  .nav-logo img{height:82px!important}
  .nl-sub{display:none}
  .hero-h{max-width:760px}
}

@media (max-width:960px){
  .nav-wrap{min-height:78px;padding:4px 16px;gap:10px}
  .nav-logo{gap:8px;min-width:0}
  .nav-logo img{height:70px!important;max-width:86px;object-fit:contain}
  .nl-name{font-size:16px;letter-spacing:.07em;white-space:nowrap}
  .nav-links{display:none!important}
  .nav-right{margin-inline-start:auto;padding-inline-start:0;border-inline-start:0;gap:6px}
  .nav-right>.btn{display:none!important}
  .lang-bar{display:flex!important;gap:2px;flex-wrap:nowrap}
  .lang-bar .lb,.lb{min-width:28px;padding:6px 5px;font-size:10px;text-align:center}
  .hamburger{display:flex!important;flex:0 0 auto;margin-inline-start:4px;padding:8px}
  .mob-menu{padding:92px 20px 28px;overscroll-behavior:contain}
  .mob-menu a{font-size:clamp(18px,5vw,24px);padding:11px 0;line-height:1.25}

  #hero{min-height:auto!important}
  .hero-inner{padding-top:118px!important;padding-bottom:44px!important}
  .hero-h{font-size:clamp(38px,7.2vw,62px)!important;line-height:1.04;max-width:760px}
  .hero-sub{font-size:15px;max-width:620px}
  .hero-actions{margin-bottom:32px}
  .hero-kpis{max-width:100%}

  .why-grid,.contact-grid,.hub-grid,.pc-wrap{grid-template-columns:1fr!important;gap:26px!important}
  .svc-grid{grid-template-columns:1fr!important}
  .svc-bottom{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .offices{grid-template-columns:1fr!important}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}
  .cf-grid{grid-template-columns:1fr!important}
  .cf-grid .full{grid-column:auto!important}
  .hub-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .route-grid,.partner2-grid,.ind-grid,.sc-grid,.fleet-grid,.cert-grid,.cs-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .map-wrap,.map-card,.map-container{max-width:100%;overflow:hidden}
}

@media (max-width:720px){
  .container{width:min(100% - 32px,1260px)!important;margin-inline:auto!important}
  .section{padding-top:56px!important;padding-bottom:56px!important}
  .h-xl{font-size:clamp(36px,10.5vw,52px)!important}
  .h-lg{font-size:clamp(28px,8vw,38px)!important;line-height:1.12}
  .body-l{font-size:15px!important;line-height:1.7}

  .hero-photo{width:100%!important;inset:0!important;opacity:.3!important;mask-image:none!important;-webkit-mask-image:none!important}
  .hero-photo-overlay{background:linear-gradient(180deg,rgba(2,11,22,.7),rgba(2,11,22,.88))!important}
  .hero-badge{max-width:100%;white-space:normal}
  .hero-badge span{font-size:9.5px;line-height:1.45;letter-spacing:.08em}
  .hero-flags{gap:5px}
  .flag-chip{font-size:9.5px;padding:4px 8px}
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px;width:100%}
  .hero-actions .btn{width:100%;min-width:0;justify-content:center;padding:12px 10px;font-size:12px;text-align:center}
  .hero-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%!important}
  .hero-kpis>div{min-width:0!important;padding:14px 7px!important;text-align:center}
  .kpi-n{font-size:clamp(22px,7vw,30px)!important}
  .kpi-l{font-size:8.5px!important;line-height:1.35;letter-spacing:.04em;overflow-wrap:anywhere}

  .qq-wrap{margin-top:-12px!important}
  .qq-head{padding:18px!important;gap:10px;align-items:flex-start;flex-wrap:wrap}
  .qq-head h2{font-size:17px!important}
  .qq-body{padding:18px!important}
  .qq-grid{grid-template-columns:1fr!important;gap:12px!important}
  .qq-foot{padding:0 18px 20px!important;align-items:stretch!important}
  .qq-foot>*{width:100%}
  .qq-foot .btn{justify-content:center;text-align:center}

  .svc-bottom,.route-grid,.partner2-grid,.ind-grid,.sc-grid,.fleet-grid,.cert-grid,.cs-grid,.blog-grid,.hub-list{grid-template-columns:1fr!important}
  .svc-img,.svc-bottom .svc-img{height:190px!important}
  .hub-panel,.cf,.ind-card,.sc-card,.route-card,.partner2-card{padding:20px!important}
  .pc-img{height:250px!important}

  .contact-grid{gap:34px!important}
  .ci{min-width:0}
  .ci-body{min-width:0}
  .offices{margin-top:24px!important}
  .cf{padding:20px!important}
  .fg input,.fg select,.fg textarea,input,select,textarea{font-size:16px!important}

  .foot-main{padding:46px 0 28px!important}
  .foot-grid{grid-template-columns:1fr!important;gap:28px!important}
  .foot-brand p{max-width:none!important}
  .foot-logo img{height:112px!important}
  .foot-bot{align-items:flex-start!important;flex-direction:column!important}

  .modal-bg,.service-info-bg{padding:0!important;align-items:flex-end!important}
  .modal,.service-info{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:14px 14px 0 0!important}
  .modal-head,.service-info-head{padding:16px 18px!important}
  .modal-body,.service-info-body{padding:18px!important}
  .modal-grid,.mgrid{grid-template-columns:1fr!important}
  .modal-tabs{overflow-x:auto;overscroll-behavior-inline:contain}
  .mtab{min-width:110px;white-space:nowrap}

  table{max-width:100%}
  .table-wrap,.data-table-wrap,.portal-table,.rates-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .wa-widget{right:12px!important;top:auto!important;bottom:18px!important;max-width:calc(100vw - 24px)}
  .wa-pop{max-width:calc(100vw - 24px)!important}
  .cookie-inner{padding:16px!important;gap:14px!important}
  .cookie-text{min-width:0!important;width:100%}
}

@media (max-width:480px){
  .container{width:min(100% - 24px,1260px)!important}
  .nav-wrap{padding-inline:10px;min-height:70px}
  .nav-logo img{height:60px!important;max-width:72px}
  .nl-name{font-size:14px}
  .lang-bar .lb,.lb{min-width:25px;padding:5px 3px;font-size:9px}
  .hamburger{padding:7px;margin-inline-start:1px}
  .hamburger span{width:22px}
  .mob-menu{padding:82px 16px 24px}

  .hero-inner{padding-top:96px!important;padding-bottom:36px!important}
  .hero-h{font-size:clamp(34px,11.7vw,46px)!important}
  .hero-sub{font-size:14px!important}
  .hero-actions{grid-template-columns:1fr!important}
  .hero-actions .btn{min-height:44px}
  .hero-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-kpis>div{padding:12px 4px!important}
  .kpi-n{font-size:22px!important}
  .kpi-l{font-size:7.8px!important}

  .qq-head,.qq-body{padding:15px!important}
  .qq-foot{padding:0 15px 17px!important}
  .section{padding-top:46px!important;padding-bottom:46px!important}
  .h-lg{font-size:clamp(26px,8.5vw,34px)!important}
  .svc-img,.svc-bottom .svc-img{height:170px!important}
  .pc-img{height:210px!important}
  .hub-panel,.cf,.ind-card,.sc-card,.route-card,.partner2-card{padding:17px!important}
  .modal,.service-info{max-height:96dvh!important;border-radius:10px 10px 0 0!important}
  .modal-head h3,.service-info-head h3{font-size:15px!important}
}
