/* =========================================================
   RESPONSIVE.CSS — PTR Logistics
   Tik mažesniems ekranams. Desktop iš style.css nekeičiamas.
========================================================= */

@media (max-width: 1500px){
  .page-wrap{
    width:calc(100% - 96px);
  }

  .nav-links{
    gap:38px;
  }

  .brand{
    width:230px;
  }

  .brand img{
    width:230px;
  }

  .hero h1{
    font-size:56px;
  }

  .hero-copy{
    max-width:54%;
  }

  .route-row{
    grid-template-columns:36px 120px 30px 36px 120px 100px 100px;
  }
}

@media (max-width: 1280px){
  .page-wrap{
    width:calc(100% - 72px);
  }

  .nav-links{
    gap:30px;
  }

  .nav-links a{
    font-size:15px;
  }

  .header-cta{
    width:210px;
    height:58px;
    font-size:14px;
  }

  .brand,
  .brand img{
    width:210px;
  }

  .hero h1{
    font-size:52px;
  }

  .hero-copy{
    max-width:58%;
  }

  .hero-benefit{
    padding-right:24px;
    margin-right:24px;
  }

  .hero-benefit strong{
    font-size:15px;
  }

  .routes-benefits .page-wrap{
    width:calc(100% - 96px);
  }

  .rb-grid{
    gap:54px;
  }

  .routes-card{
    padding-right:48px;
  }

  .route-row{
    grid-template-columns:32px 106px 26px 32px 106px 92px 92px;
    gap:9px;
  }

  .contact-grid{
    gap:54px;
  }
}

@media (max-width: 1100px){
  .site-header{
    height:84px;
  }

  .header-inner{
    height:84px;
  }

  .brand,
  .brand img{
    width:190px;
    height:auto;
  }

  .nav-links,
  .header-cta{
    display:none;
  }

  .menu-toggle{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    gap:5px;
    padding:12px;
    border-radius:8px;
    border:1px solid rgba(255,255,255,.15);
  }

  .menu-toggle span{
    width:24px;
    height:2px;
    background:#fff;
    display:block;
    transition:.22s ease;
  }

  .menu-toggle.is-active span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .menu-toggle.is-active span:nth-child(2){
    opacity:0;
  }

  .menu-toggle.is-active span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  .mobile-nav{
    display:none;
    position:fixed;
    top:84px;
    left:0;
    right:0;
    max-height:calc(100vh - 84px);
    overflow-y:auto;
    background:rgba(5,5,5,.98);
    border-bottom:1px solid rgba(255,255,255,.1);
    padding:18px 48px 26px;
    z-index:999;
  }

  .mobile-nav.is-open{
    display:grid;
  }

  .mobile-nav a{
    padding:15px 0;
    font-weight:900;
    text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,.09);
    color:#fff;
  }

  .mobile-nav a:last-child{
    border-bottom:0;
  }

  .hero{
    padding-top:84px;
    height:760px;
    min-height:760px;
  }

  .hero-bg{
    top:84px;
    height:676px;
    background-size:auto 155%;
    background-position:68% center;
  }

  .hero-inner{
    min-height:676px;
  }

  .hero-copy{
    width:100%;
    max-width:720px;
  }

  .hero h1{
    font-size:56px;
  }

  .process-grid{
    grid-template-columns:1fr 70px 1fr 70px 1fr 70px 1fr;
    gap:12px;
  }

  .process-arrow{
    font-size:30px;
  }

  .step-icon{
    width:78px;
    height:78px;
  }

  .step-icon svg{
    width:43px;
    height:43px;
  }

  .process-step p{
    width:180px;
    font-size:13px;
  }

  .routes-benefits .page-wrap{
    width:calc(100% - 72px);
  }

  .rb-grid,
  .contact-grid{
    grid-template-columns:1fr;
  }

  .routes-card{
    border-right:0;
    padding-right:0;
  }

  .route-row{
    grid-template-columns:38px 1fr 34px 38px 1fr 105px 105px;
  }

  .contact-info,
  .contact-info > p,
  .contact-cards,
  .response-note{
    max-width:100%;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .footer-brand p{
    max-width:560px;
  }
}

@media (max-width: 760px){
  .page-wrap,
  .routes-benefits .page-wrap{
    width:calc(100% - 36px);
  }

  .site-header{
    height:78px;
  }

  .header-inner{
    height:78px;
  }

  .brand,
  .brand img{
    width:164px;
  }

  .menu-toggle{
    width:44px;
    height:44px;
    padding:11px;
  }

  .mobile-nav{
    top:78px;
    max-height:calc(100vh - 78px);
    padding:14px 18px 22px;
  }

  .hero{
    height:auto;
    min-height:720px;
    padding-top:78px;
  }

  .hero-bg{
    top:78px;
    height:calc(100% - 78px);
    background-image:
      linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.68) 43%, rgba(0,0,0,.22) 72%, rgba(0,0,0,.05) 100%),
      linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.05) 50%, rgba(0,0,0,.70) 100%),
      url('../images/hero/hero-bg.png');
    background-size:auto 100%;
    background-position:64% center;
  }

  .hero-inner{
    min-height:642px;
    align-items:center;
    padding:38px 0 42px;
  }

  .hero-copy{
    max-width:100%;
  }

  .hero h1{
    font-size:42px;
    line-height:1.04;
    margin-bottom:18px;
  }

  .hero p{
    font-size:16px;
    line-height:1.55;
    max-width:92%;
    margin-bottom:28px;
  }

  .hero-benefits{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:28px;
    max-width:330px;
  }

  .hero-benefit{
    min-height:auto;
    border-right:0;
    padding-right:0;
    margin-right:0;
    gap:14px;
  }

  .benefit-icon,
  .benefit-icon svg{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .hero-benefit strong{
    font-size:14px;
  }

  .hero-cta{
    width:100%;
    max-width:310px;
    height:58px;
  }

  .process{
    padding:42px 0 50px;
  }

  .process h2{
    font-size:25px;
    margin-bottom:30px;
  }

  .process-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .process-arrow{
    display:none;
  }

  .process-step p{
    width:100%;
    max-width:260px;
  }

  .routes-benefits{
    padding:52px 0 58px;
  }

  .rb-grid{
    gap:44px;
  }

  .routes-card h2,
  .benefits-card h2{
    font-size:24px;
    line-height:1.15;
  }

  .route-row{
    min-height:auto;
    grid-template-columns:30px minmax(0,1fr) 24px 30px minmax(0,1fr);
    gap:8px;
    padding:16px 0;
  }

  .route-row strong{
    font-size:13px;
    min-width:0;
  }

  .route-row span:nth-last-child(2),
  .route-row b{
    grid-column:1 / -1;
    margin-left:38px;
  }

  .route-row span:nth-last-child(2){
    margin-top:6px;
  }

  .route-row b{
    margin-top:-4px;
  }

  .benefits-card ul{
    gap:16px;
  }

  .benefits-card li{
    align-items:flex-start;
    font-size:15px;
  }

  .reviews{
    padding:52px 0 60px;
  }

  .reviews-title-row{
    padding:0 54px;
    margin-bottom:26px;
  }

  .reviews h2{
    font-size:27px;
    line-height:1.1;
  }

  .reviews-track{
    gap:20px;
  }

  .review-card{
    flex-basis:100%;
    min-height:260px;
    padding:30px 26px;
  }

  .review-card p{
    font-size:14px;
  }

  .reviews-arrow{
    width:40px;
    height:40px;
    font-size:30px;
  }

  .reviews-prev{
    left:0;
  }

  .reviews-next{
    right:0;
  }

  .contact{
    padding:56px 0 62px;
  }

  .contact-grid{
    gap:40px;
  }

  .contact-info h2{
    font-size:36px;
  }

  .contact-info > p{
    font-size:16px;
  }

  .contact-card{
    min-height:78px;
    gap:16px;
    padding:16px 18px;
  }

  .contact-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
  }

  .contact-icon svg{
    width:24px;
    height:24px;
  }

  .contact-card-text{
    padding-left:16px;
  }

  .contact-card-text strong{
    font-size:18px;
    overflow-wrap:anywhere;
  }

  .response-note{
    align-items:flex-start;
  }

  .contact-form{
    grid-template-columns:1fr;
    padding:22px;
    gap:16px;
  }

  .contact-form label:nth-of-type(1),
  .contact-form label:nth-of-type(2),
  .contact-form label:nth-of-type(3),
  .contact-form label:nth-of-type(4){
    grid-column:1 / -1;
  }

  .contact-form input,
  .contact-form textarea{
    padding:15px 16px;
    font-size:14px;
  }

  .contact-form button{
    height:56px;
  }

  .footer{
    padding:48px 0 0;
  }

  .footer-grid{
    gap:36px;
    padding-bottom:42px;
  }

  .footer-brand img{
    width:150px;
  }

  .footer-brand p{
    font-size:14px;
  }

  .footer-info-row{
    align-items:flex-start;
  }

  .footer-bottom{
    min-height:56px;
    padding:0 18px;
  }
}

@media (max-width: 480px){
  .page-wrap,
  .routes-benefits .page-wrap{
    width:calc(100% - 28px);
  }

  .brand,
  .brand img{
    width:146px;
  }

  .hero{
    min-height:690px;
  }

  .hero-bg{
    background-position:67% center;
  }

  .hero-inner{
    min-height:612px;
    padding:34px 0 38px;
  }

  .hero h1{
    font-size:35px;
    letter-spacing:-.04em;
  }

  .hero p{
    max-width:100%;
    font-size:15px;
  }

  .hero-benefits{
    max-width:100%;
  }

  .hero-cta{
    max-width:100%;
  }

  .process h2,
  .routes-card h2,
  .benefits-card h2,
  .reviews h2{
    font-size:23px;
  }

  .route-row{
    grid-template-columns:28px minmax(0,1fr) 22px 28px minmax(0,1fr);
  }

  .flag{
    width:28px;
    height:19px;
  }

  .route-row strong{
    font-size:12px;
  }

  .route-row span:not(.route-arrow),
  .route-row b{
    font-size:13px;
  }

  .benefits-card li{
    font-size:14px;
  }

  .reviews-title-row{
    padding:0 48px;
  }

  .review-card{
    min-height:275px;
    padding:28px 22px;
  }

  .stars{
    letter-spacing:4px;
  }

  .contact-info h2{
    font-size:32px;
  }

  .contact-card{
    align-items:flex-start;
  }

  .contact-card-text strong{
    font-size:16px;
  }

  .contact-form{
    padding:18px;
  }

  .footer h3{
    font-size:14px;
  }

  .socials a{
    width:38px;
    height:38px;
  }
}

@media (max-width: 380px){
  .hero h1{
    font-size:31px;
  }

  .hero-benefit strong{
    font-size:13px;
  }

  .contact-card{
    padding:14px;
  }

  .contact-card-text{
    padding-left:12px;
  }
}
/* =========================================================
   MOBILE FIX — center + no horizontal overflow
   DĖTI PAČIOJE responsive.css APAČIOJE
   Desktop neliečiamas, nes veikia tik iki 760px.
========================================================= */

@media (max-width: 760px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  *,
  *::before,
  *::after{
    max-width:100%;
  }

  .site-header,
  .hero,
  .process,
  .routes-benefits,
  .reviews,
  .contact,
  .footer{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .page-wrap,
  .routes-benefits .page-wrap{
    width:calc(100% - 32px) !important;
    max-width:430px;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .site-header{height:82px;}
  .header-inner{
    height:82px;
    width:calc(100% - 32px) !important;
    max-width:430px;
    padding:0;
  }
  .brand,
  .brand img{
    width:168px !important;
    max-width:168px;
    height:auto;
  }
  .menu-toggle{
    width:46px;
    height:46px;
    flex:0 0 46px;
  }
  .mobile-nav{
    top:82px;
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    padding:14px 16px 22px;
  }

  .hero{
    height:auto !important;
    min-height:0 !important;
    padding-top:82px;
  }
  .hero-bg{
    top:82px;
    bottom:0;
    left:0;
    right:0;
    width:100%;
    height:auto !important;
    background-size:auto 100%;
    background-position:64% center;
  }
  .hero-inner{
    min-height:0 !important;
    width:calc(100% - 32px) !important;
    max-width:430px;
    padding:34px 0 46px;
    align-items:flex-start;
  }
  .hero-copy{
    width:100%;
    max-width:100% !important;
    min-width:0;
  }
  .hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(28px, 8.2vw, 36px) !important;
    line-height:1.06;
    letter-spacing:-.035em;
    margin-bottom:18px;
    overflow-wrap:normal;
  }
  .hero p{
    max-width:100%;
    font-size:15.5px;
    line-height:1.55;
    margin-bottom:26px;
  }
  .hero-benefits{
    width:100%;
    max-width:330px;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:28px;
  }
  .hero-benefit{
    width:100%;
    min-width:0;
    border-right:0;
    padding-right:0;
    margin-right:0;
    gap:14px;
  }
  .benefit-icon,
  .benefit-icon svg{
    width:42px;
    height:42px;
    flex:0 0 42px;
  }
  .hero-benefit strong{
    font-size:14px;
    line-height:1.15;
  }
  .hero-cta{
    width:100%;
    max-width:300px;
    height:56px;
    display:flex;
    margin:0;
    position:relative;
    z-index:3;
    font-size:14px;
  }

  .process{padding:42px 0 50px;}
  .process .page-wrap{
    width:calc(100% - 32px) !important;
    max-width:430px;
  }
  .process h2{
    font-size:24px;
    line-height:1.15;
    margin-bottom:34px;
  }
  .process-grid{
    width:100%;
    grid-template-columns:1fr !important;
    justify-items:center;
    gap:36px;
  }
  .process-step{
    width:100%;
    max-width:320px;
    margin:0 auto;
  }
  .process-step h3{
    font-size:16px;
    line-height:1.25;
  }
  .process-step p{
    width:100%;
    max-width:280px;
    font-size:15px;
  }
  .process-arrow{display:none !important;}

  .routes-benefits{padding:56px 0 64px;}
  .rb-grid{
    width:100%;
    grid-template-columns:1fr !important;
    gap:48px;
    justify-items:center;
  }
  .routes-card,
  .benefits-card{
    width:100%;
    max-width:430px;
    padding-right:0 !important;
    border-right:0 !important;
  }
  .routes-card h2,
  .benefits-card h2{
    width:100%;
    text-align:left;
    font-size:clamp(24px, 8vw, 34px);
    line-height:1.12;
    margin-bottom:28px;
  }
  .route-row{
    width:100%;
    max-width:100%;
    min-width:0;
    grid-template-columns:30px minmax(0,1fr) 24px 30px minmax(0,1fr) !important;
    gap:8px;
    padding:18px 0;
    overflow:hidden;
  }
  .route-row strong,
  .route-row span,
  .route-row b{
    min-width:0;
    max-width:100%;
    overflow-wrap:break-word;
  }
  .route-row strong{
    font-size:13px;
    line-height:1.15;
  }
  .route-row span:nth-last-child(2),
  .route-row b{
    grid-column:2 / -1;
    margin-left:0 !important;
    text-align:left;
  }
  .route-row span:nth-last-child(2){margin-top:6px;}
  .route-row b{margin-top:-4px;}
  .benefits-card ul{
    width:100%;
    gap:18px;
  }
  .benefits-card li{
    width:100%;
    min-width:0;
    align-items:flex-start;
    font-size:16px;
    line-height:1.35;
  }
  .benefits-card li i{margin-top:1px;}

  .reviews{padding:52px 0 62px;}
  .reviews .page-wrap{
    width:calc(100% - 32px) !important;
    max-width:430px;
  }
  .reviews-title-row{
    width:100%;
    padding:0 50px;
    margin-bottom:28px;
  }
  .reviews h2{
    font-size:clamp(26px, 8vw, 34px);
    line-height:1.1;
  }
  .reviews-viewport{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .reviews-track{gap:20px;}
  .review-card{
    flex:0 0 100% !important;
    max-width:100%;
    min-height:auto;
    padding:30px 26px;
  }
  .review-card p{
    font-size:14.5px;
    line-height:1.65;
  }
  .reviews-prev{left:0;}
  .reviews-next{right:0;}

  .contact .page-wrap{
    width:calc(100% - 32px) !important;
    max-width:430px;
  }
  .contact-grid{
    width:100%;
    grid-template-columns:1fr !important;
    gap:40px;
  }
  .contact-info,
  .contact-info > p,
  .contact-cards,
  .response-note,
  .contact-form{
    width:100%;
    max-width:100%;
  }
  .contact-form{grid-template-columns:1fr !important;}
  .contact-form label{grid-column:1 / -1 !important;}
  .contact-card-text strong{overflow-wrap:anywhere;}

  .footer .page-wrap{
    width:calc(100% - 32px) !important;
    max-width:430px;
  }
  .footer-grid{
    grid-template-columns:1fr !important;
    gap:36px;
  }
}

@media (max-width: 430px){
  .page-wrap,
  .routes-benefits .page-wrap,
  .process .page-wrap,
  .reviews .page-wrap,
  .contact .page-wrap,
  .footer .page-wrap,
  .header-inner{
    width:calc(100% - 28px) !important;
  }

  .hero h1{
    font-size:clamp(27px, 7.7vw, 32px) !important;
  }
  .hero p{font-size:15px;}
  .route-row{
    grid-template-columns:28px minmax(0,1fr) 20px 28px minmax(0,1fr) !important;
    gap:7px;
  }
  .route-row strong{font-size:12px;}
  .flag{
    width:28px;
    height:19px;
  }
}

@media (max-width: 360px){
  .brand,
  .brand img{width:138px !important;}
  .menu-toggle{
    width:42px;
    height:42px;
  }
  .hero h1{font-size:26px !important;}
  .hero-cta{max-width:100%;}
  .route-row strong{font-size:11px;}
  .contact-card{padding:14px;}
}
