
/*
Theme Name: Prime Truck Services Premium V2
Author: OpenAI
Version: 2.0
Description: Premium logistics-focused WordPress theme for truck hire and material delivery.
*/

:root{
  --bg:#f6f8fc;
  --surface:#ffffff;
  --navy:#0b1633;
  --navy-2:#13285a;
  --orange:#ff6a00;
  --orange-2:#ff8c2a;
  --blue:#36b8f4;
  --purple:#6d28ff;
  --text:#14213d;
  --muted:#667085;
  --line:#e9eef5;
  --shadow:0 16px 44px rgba(14,23,51,.10);
  --radius:26px;
  --container:min(1180px, calc(100% - 40px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, Arial, Helvetica, sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:var(--container);margin:0 auto}
.section{padding:78px 0}
.section-tight{padding:58px 0}
.section-dark{
  background:linear-gradient(135deg,var(--navy),#162b62 55%, #1b3583 120%);
  color:#fff;
}
.section-dark p{color:rgba(255,255,255,.82)}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:#eef4ff;
  color:#355ca8;
  font-size:.83rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.eyebrow.light{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
}
h1,h2,h3{
  font-family:Inter, Arial, Helvetica, sans-serif;
  line-height:1.06;
  letter-spacing:-.03em;
  margin:0 0 14px;
}
h1{font-size:clamp(2.6rem, 5vw, 5rem)}
h2{font-size:clamp(2rem, 4vw, 3.3rem)}
h3{font-size:1.35rem}
p{margin:0 0 16px;color:#45536e}
.section-head{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.section-head.left{
  text-align:left;
  margin-inline:0;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:0 26px;
  border-radius:999px;
  font-weight:800;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  color:#fff;
  box-shadow:0 16px 32px rgba(255,106,0,.24);
}
.btn-outline{
  border:1.5px solid rgba(11,22,51,.14);
  background:#fff;
  color:var(--navy);
}
.btn-outline-light{
  border:1.5px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.1);
  color:#fff;
  backdrop-filter:blur(10px);
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(12,24,56,.06);
}
.navbar{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:900;
  color:var(--navy);
}
.brand-mark{
  width:48px;
  height:48px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 12px 28px rgba(255,106,0,.22);
}
.brand-text{font-size:1.05rem}
.menu{
  display:flex;
  align-items:center;
  gap:22px;
}
.menu a{font-weight:700;color:#2e3b56}
.nav-cta{display:flex;align-items:center;gap:12px}

.hero{
  position:relative;
  overflow:hidden;
  padding:110px 0 84px;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,106,0,.18), transparent 18%),
    radial-gradient(circle at 84% 18%, rgba(54,184,244,.2), transparent 19%),
    linear-gradient(135deg, var(--navy), #13285a 52%, #233c8d 120%);
  color:#fff;
}
.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:34px;
  align-items:center;
}
.hero h1{max-width:720px}
.hero p{
  color:rgba(255,255,255,.84);
  font-size:1.08rem;
  max-width:650px;
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:28px 0 28px;
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:700px;
}
.hero-stat{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:18px;
  backdrop-filter:blur(10px);
}
.hero-stat strong{
  display:block;
  font-size:1.5rem;
  color:#fff;
}
.hero-stat span{
  color:rgba(255,255,255,.78);
  font-weight:600;
  font-size:.92rem;
}
.hero-visual{
  position:relative;
  min-height:590px;
}
.hero-card-main,
.hero-card-side,
.hero-dispatch{
  position:absolute;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 26px 76px rgba(7,13,32,.34);
}
.hero-card-main{
  left:0;
  top:22px;
  width:62%;
  height:520px;
}
.hero-card-side{
  right:0;
  top:78px;
  width:40%;
  height:240px;
}
.hero-card-main img,
.hero-card-side img{
  width:100%;height:100%;object-fit:cover;
}
.hero-dispatch{
  right:0;
  bottom:26px;
  width:46%;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(14px);
  padding:20px;
  color:#fff;
}
.pill{
  display:inline-flex;
  padding:10px 14px;
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  font-weight:800;
  position:absolute;
  left:16px;
  bottom:16px;
}
.dispatch-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.dispatch-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.14);
  color:#fff;
}
.hero-shape,.hero-line{
  position:absolute;
  pointer-events:none;
}
.hero-shape{
  border-radius:999px;
  filter:blur(18px);
  opacity:.28;
  animation:float 8s ease-in-out infinite;
}
.hs1{width:180px;height:180px;background:var(--orange);left:-30px;top:18px}
.hs2{width:220px;height:220px;background:var(--blue);right:-50px;bottom:40px;animation-delay:-2s}
.hs3{width:140px;height:140px;background:var(--purple);left:48%;top:0;animation-delay:-4s}
.hero-line{
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
  animation:slideLine 7s linear infinite;
}
.hl1{width:220px;left:10%;top:24%;transform:rotate(8deg)}
.hl2{width:180px;right:12%;top:30%;transform:rotate(-12deg);animation-delay:-2.2s}
.hl3{width:190px;left:46%;bottom:18%;transform:rotate(10deg);animation-delay:-4.3s}

.trust-strip{
  margin-top:-32px;
  position:relative;
  z-index:3;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  background:#fff;
  border-radius:30px;
  padding:20px;
  box-shadow:var(--shadow);
}
.trust-card{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid var(--line);
}
.trust-card strong{
  display:block;
  color:var(--navy);
  margin-bottom:6px;
  font-size:1.05rem;
}
.trust-card span{color:#61708a;font-weight:600}

.top-services{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-bottom:26px;
}
.service-feature{
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
  transition:transform .3s ease, box-shadow .3s ease;
}
.service-feature:hover,
.service-card:hover,
.reason-card:hover,
.process-card:hover,
.testimonial:hover,
.fleet-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 60px rgba(14,23,51,.14);
}
.service-feature img{
  width:100%;
  height:240px;
  object-fit:cover;
}
.service-body{padding:22px}
.tag{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#fff3eb;
  color:#b84c00;
  font-weight:800;
  font-size:.8rem;
  margin-bottom:10px;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.service-card{
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
  transition:transform .3s ease, box-shadow .3s ease;
}
.service-card img{
  width:100%;
  height:210px;
  object-fit:cover;
}
.service-card-content{padding:22px}

.reasons-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.reason-card{
  background:#fff;
  border-radius:24px;
  padding:24px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:transform .3s ease, box-shadow .3s ease;
}
.reason-icon{
  width:56px;height:56px;border-radius:18px;
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  color:#fff;display:grid;place-items:center;
  font-weight:900;margin-bottom:14px;
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.process-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  padding:22px;
  transition:transform .3s ease, box-shadow .3s ease;
}
.process-card h3,
.process-card p{color:#fff}
.process-number{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  font-weight:900;
  margin-bottom:14px;
}

.quote-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:22px;
  align-items:stretch;
}
.quote-copy{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.quote-point{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}
.quote-point strong{display:block;color:#fff;margin-bottom:4px}
.quote-point span{color:rgba(255,255,255,.8)}
.quote-calculator{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  padding:22px;
  backdrop-filter:blur(10px);
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.form-grid label{display:block;margin-bottom:8px;font-weight:700;color:#fff}
.form-grid input,
.form-grid select,
.form-grid textarea{
  width:100%;
  min-height:52px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  padding:0 14px;
  font:inherit;
}
.quote-result{
  margin-top:16px;
  font-size:2rem;
  font-weight:900;
  color:#fff;
}
.quote-note{
  color:rgba(255,255,255,.78);
  margin-top:8px;
}
.quote-visuals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.quote-photo,
.quote-card{
  overflow:hidden;
  border-radius:26px;
  box-shadow:0 24px 60px rgba(7,13,32,.24);
}
.quote-photo img{width:100%;height:100%;object-fit:cover}
.quote-card{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  padding:22px;
  backdrop-filter:blur(12px);
}
.quote-card h3{color:#fff}
.quote-card ul{margin:0;padding-left:18px;color:rgba(255,255,255,.84)}

.fleet-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
.fleet-panel{
  background:#fff;
  border-radius:28px;
  padding:26px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.fleet-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.fleet-card{
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:transform .3s ease, box-shadow .3s ease;
}
.fleet-card img{
  width:100%;
  height:220px;
  object-fit:cover;
}
.fleet-copy{padding:18px}

.map-grid-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
.map-card{
  position:relative;
  min-height:420px;
  background:linear-gradient(135deg,#eef5ff,#fff);
  border:1px solid var(--line);
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.map-background{
  position:absolute;inset:0;
  background-image:
    linear-gradient(#dfe7f7 1px, transparent 1px),
    linear-gradient(90deg, #dfe7f7 1px, transparent 1px);
  background-size:44px 44px;
  opacity:.8;
}
.pin{
  position:absolute;
  padding:10px 14px;
  background:var(--orange);
  color:#fff;
  border-radius:999px;
  font-weight:800;
  box-shadow:0 10px 20px rgba(255,106,0,.22);
  animation:bob 3s ease-in-out infinite;
}
.pin1{left:42%;top:28%}
.pin2{left:66%;top:67%;animation-delay:.6s}
.pin3{left:18%;top:48%;animation-delay:1.2s}
.pin4{left:42%;top:55%;animation-delay:1.8s}
.route-track{
  position:absolute;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--orange), transparent);
  animation:pulseTrack 3.6s ease-in-out infinite;
}
.rt1{width:42%;left:18%;top:46%;transform:rotate(12deg)}
.rt2{width:28%;left:40%;top:56%;transform:rotate(48deg);animation-delay:.8s}
.rt3{width:18%;left:20%;top:54%;transform:rotate(-10deg);animation-delay:1.6s}
.moving-truck{
  position:absolute;
  width:54px;height:28px;
  left:18%;top:62%;
  border-radius:8px;
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  box-shadow:0 10px 22px rgba(255,106,0,.22);
  animation:truckMove 8s ease-in-out infinite;
}
.moving-truck::before{
  content:"";
  position:absolute;
  left:-16px;top:6px;
  width:18px;height:16px;
  border-radius:8px 6px 4px 6px;
  background:linear-gradient(135deg,#ff8c2a,var(--orange));
}
.moving-truck::after{
  content:"";
  position:absolute;
  left:8px;bottom:-9px;
  width:38px;height:10px;
  background:
    radial-gradient(circle at 8px 5px,#0b1633 0 5px,transparent 6px),
    radial-gradient(circle at 30px 5px,#0b1633 0 5px,transparent 6px);
}
.location-list{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.location-list li{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 16px;
  box-shadow:var(--shadow);
  font-weight:700;
}

.testimonials{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.testimonial{
  background:#fff;
  border-radius:26px;
  padding:24px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:transform .3s ease, box-shadow .3s ease;
}
.testimonial p{min-height:110px}
.testimonial strong{
  display:block;
  color:var(--navy);
}
.testimonial span{
  color:#7b879b;
  font-weight:600;
}

.cta-band{
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  color:#fff;
  text-align:center;
  padding:76px 0;
}
.cta-band h2{margin-bottom:14px}
.cta-band p{color:rgba(255,255,255,.9);max-width:700px;margin:0 auto 22px}

.request-panel{
  background:#fff;
  border-radius:30px;
  padding:28px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.request-form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.request-form-grid .full{grid-column:1/-1}
.request-form-grid label{display:block;margin-bottom:8px;font-weight:700;color:var(--navy)}
.request-form-grid input,
.request-form-grid textarea{
  width:100%;
  border:1px solid #d9e2ef;
  border-radius:16px;
  min-height:52px;
  padding:0 14px;
  font:inherit;
}
.request-form-grid textarea{min-height:120px;padding:14px}
.footer{
  background:#091124;
  color:#fff;
  padding:40px 0;
  margin-top:40px;
}
.footer p{color:rgba(255,255,255,.76)}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:20px;
}
.footer-links{
  list-style:none;padding:0;margin:0;display:grid;gap:10px
}

.floating-contact{
  position:fixed;
  right:18px;
  z-index:999;
  width:64px;height:64px;border-radius:999px;
  color:#fff;font-weight:900;
  display:grid;place-items:center;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.floating-whatsapp{bottom:96px;background:#25D366}
.floating-call{bottom:20px;background:linear-gradient(135deg,var(--orange),var(--orange-2))}

@keyframes float{
  0%,100%{transform:translateY(0) translateX(0)}
  50%{transform:translateY(-16px) translateX(10px)}
}
@keyframes slideLine{
  0%{transform:translateX(0) rotate(8deg);opacity:0}
  15%{opacity:.72}
  85%{opacity:.72}
  100%{transform:translateX(80px) rotate(8deg);opacity:0}
}
@keyframes pulseRing{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}
  70%{box-shadow:0 0 0 18px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
@keyframes bob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes truckMove{
  0%{left:18%;top:62%}
  25%{left:36%;top:53%}
  50%{left:50%;top:36%}
  75%{left:67%;top:60%}
  100%{left:18%;top:62%}
}
@keyframes pulseTrack{
  0%,100%{opacity:.2}
  50%{opacity:1}
}

@media (max-width:1100px){
  .hero-grid,
  .quote-grid,
  .fleet-grid,
  .map-grid-wrap{grid-template-columns:1fr}
  .hero-cards-stack{min-height:700px}
  .hero-card-main{width:100%;height:360px;position:relative}
  .hero-card-side{width:48%;height:220px;top:390px;left:0}
  .hero-dispatch{width:48%;top:390px;right:0;bottom:auto}
  .top-services,
  .service-grid,
  .reasons-grid,
  .process-grid,
  .testimonials{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .navbar{flex-wrap:wrap;justify-content:center;padding:14px 0}
  .menu{flex-wrap:wrap;justify-content:center}
  .nav-cta{width:100%;justify-content:center}
  .hero{padding:96px 0 70px;min-height:auto}
  .hero-stats{grid-template-columns:1fr}
  .hero-cards-stack{min-height:auto;display:grid;gap:16px}
  .hero-card-main,.hero-card-side,.hero-dispatch{
    position:relative !important;
    width:100%;
    top:auto;left:auto;right:auto;bottom:auto;
    height:auto;
  }
  .hero-card-main img,.hero-card-side img{height:280px}
  .top-services,
  .service-grid,
  .reasons-grid,
  .process-grid,
  .testimonials,
  .quote-visuals,
  .fleet-gallery,
  .footer-grid,
  .request-form-grid,
  .location-list{grid-template-columns:1fr}
  .testimonial p{min-height:auto}
  .form-grid{grid-template-columns:1fr}
}
