/*
Theme Name: The Perfect VanPak Jetter
Theme URI: https://perfectjetter.com
Author: LMH Agency
Author URI: https://lmh.agency
Description: Custom child theme for The Perfect VanPak Jetter
Version: 1.0.4-dev
License: Proprietary
Template: lmh-parent
Text Domain: client-name
*/

/* ==========================================================================
   CLIENT-SPECIFIC STYLES
   Global tokens, grounds, type, buttons, header and footer.
   Section styles live in template-parts/block/{slug}/{slug}.css
   ========================================================================== */

/* Brand tokens pulled from clogbusters.co/jetter computed styles (2026-10-12):
   red #D01B21 (action), navy #021E51, deep navy #000F47, lime #9BF921 (detail only).
   Isidora Sans (paid) is substituted with Archivo; Work Sans is the source body face. */
:root{
  --pj-red:#D01B21; --pj-red-d:#A8151A;
  --pj-navy:#021E51; --pj-deep:#000F47; --pj-ink:#000A33; --pj-navy-2:#0B2D6B; --pj-navy-3:#163A80;
  --pj-lime:#9BF921; --pj-lime-d:#7BD10F;
  --pj-white:#FFFFFF; --pj-mist:#EEF2F9; --pj-mist-2:#DCE4F2; --pj-slate:#43506B;
  --pj-disp:"Archivo","Arial Narrow",sans-serif;
  --pj-body:"Work Sans",system-ui,sans-serif;
  --pj-gap:clamp(56px,6vw,96px);
  --pj-fs-hero:clamp(40px,5.2vw,72px);
  --pj-fs-xl:clamp(34px,4.6vw,62px);
  --pj-fs-lg:clamp(29px,3.5vw,46px);
  --pj-fs-md:clamp(24px,2.4vw,32px);
  --pj-radius:20px;
  --pj-admin:var(--wp-admin--admin-bar--height,0px);
}
html{scroll-behavior:smooth;scroll-padding-top:calc(84px + var(--pj-admin))}
body{font-family:var(--pj-body);font-size:16px;line-height:1.58;color:var(--pj-deep);background:var(--pj-deep);font-synthesis:none;-webkit-font-smoothing:antialiased}
main{display:block;background:var(--pj-mist)}
img{max-width:100%;height:auto}
.pj-wrap{width:min(1240px,100% - 32px);margin-inline:auto}
.pj-sr,.pj-skip:not(:focus){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pj-skip:focus{position:fixed;top:12px;left:12px;z-index:999;background:var(--pj-lime);color:var(--pj-deep);padding:12px 18px;border-radius:999px;font-weight:700}

/* Grounds: a section declares its ground once, every text colour reads from it */
.pj-dark,.pj-deep,.pj-light{position:relative;padding-block:var(--pj-gap);color:var(--pj-fg)}
.pj-dark{--pj-fg:#fff;--pj-muted:#BFCBE2;--pj-accent:var(--pj-lime);--pj-line:rgba(255,255,255,.12);background:var(--pj-navy)}
.pj-deep{--pj-fg:#fff;--pj-muted:#BFCBE2;--pj-accent:var(--pj-lime);--pj-line:rgba(255,255,255,.12);background:var(--pj-deep)}
.pj-light{--pj-fg:var(--pj-deep);--pj-muted:var(--pj-slate);--pj-accent:var(--pj-red);--pj-line:var(--pj-mist-2);background:var(--pj-mist)}

/* Type */
.pj-title,.pj-hero__title,.pj-tier__name,.pj-subhead{font-family:var(--pj-disp);font-weight:900;font-stretch:112%;font-variation-settings:"wdth" 112;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;text-wrap:balance;color:inherit;margin:0}
.pj-title{font-size:var(--pj-fs-lg)}
.pj-title--xl{font-size:var(--pj-fs-xl)}
.pj-title--md{font-size:var(--pj-fs-md);line-height:1}
.pj-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font-family:var(--pj-body);font-size:14px;font-weight:700;letter-spacing:.16em;line-height:1.3;text-transform:uppercase;color:var(--pj-accent)}
.pj-eyebrow::before{content:"";flex:0 0 28px;height:3px;border-radius:3px;background:currentColor}
.pj-lede{font-size:clamp(16px,1.15vw,18px);color:var(--pj-muted);margin:16px 0 0;text-wrap:pretty}
.pj-lede--strong{color:var(--pj-fg);font-weight:600;font-size:clamp(18px,1.5vw,22px);line-height:1.4;margin-top:0}
.pj-head{max-width:780px;margin-bottom:clamp(30px,3.4vw,52px)}
.pj-head--center{margin-inline:auto;text-align:center}
.pj-head--center .pj-eyebrow{justify-content:center}
.pj-fine{font-size:13px;line-height:1.5;color:var(--pj-muted);margin:28px 0 0}
.pj-fine--center{text-align:center;max-width:780px;margin-inline:auto}

/* Buttons: one line, label + icon, pill */
.pj-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.pj-btns--center{justify-content:center;margin-top:clamp(32px,3.6vw,52px)}
.pj-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:15px 24px 13px;border-radius:999px;font-family:var(--pj-body);font-size:14px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1;white-space:nowrap;text-decoration:none;border:2px solid transparent;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease,color .25s ease,border-color .25s ease}
.pj-btn svg{width:16px;height:16px;flex-shrink:0;transition:transform .25s ease}
.pj-btn:hover svg{transform:translateX(3px)}
.pj-btn--lg{min-height:54px;font-size:15px;padding:18px 28px 16px}
.pj-btn--block{width:100%}
.pj-btn--red{background:var(--pj-red);color:#fff;box-shadow:0 10px 24px -10px rgba(208,27,33,.75)}
.pj-btn--red:hover,.pj-btn--red:focus-visible{background:var(--pj-red-d);color:#fff;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(208,27,33,.85)}
.pj-btn--ghost{background:transparent;color:var(--pj-fg);border-color:currentColor}
.pj-btn--ghost:hover,.pj-btn--ghost:focus-visible{background:var(--pj-fg);color:var(--pj-deep);border-color:var(--pj-fg)}
.pj-light .pj-btn--ghost:hover,.pj-light .pj-btn--ghost:focus-visible{color:#fff}
.pj-btn:focus-visible,.pj-header a:focus-visible,.pj-footer a:focus-visible{outline:3px solid var(--pj-lime);outline-offset:3px}

/* Checklists */
.pj-checks{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.pj-checks li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.pj-checks svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--pj-accent);color:var(--pj-deep);margin-top:1px}
.pj-light .pj-checks svg{color:#fff}
.pj-sublist{grid-column:2;list-style:none;margin:8px 0 2px;padding:0 0 0 14px;border-left:2px solid var(--pj-line);display:grid;gap:4px;font-weight:600}
.pj-checks .pj-sublist li{display:block}

/* Scroll reveal: JS adds .is-visible, CSS does the motion */
.pj-js .pj-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0) * 70ms)}
.pj-js .pj-reveal.is-visible{opacity:1;transform:none}
.block-editor-page .pj-reveal,.editor-styles-wrapper .pj-reveal{opacity:1!important;transform:none!important}

/* Header */
.pj-header{position:sticky;top:var(--pj-admin);z-index:100;background:rgba(0,15,71,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .3s ease}
.pj-header.is-scrolled{box-shadow:0 12px 30px -16px rgba(0,0,0,.6)}
.pj-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;transition:min-height .3s ease}
.pj-header.is-scrolled .pj-header__inner{min-height:68px}
.pj-header__logo{display:block;flex-shrink:0}
.pj-header__logo img{display:block;width:clamp(150px,14vw,190px);height:auto;transition:width .3s ease}
.pj-header.is-scrolled .pj-header__logo img{width:clamp(140px,12vw,160px)}
.pj-header__nav{display:flex;gap:clamp(16px,2vw,30px)}
.pj-header__nav a{color:#fff;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:12px 0;position:relative}
.pj-header__nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--pj-lime);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.pj-header__nav a:hover{color:#fff}
.pj-header__nav a:hover::after{transform:scaleX(1)}
.pj-header{--pj-fg:#fff}
.pj-header__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.pj-header__call svg{width:16px;height:16px}
.pj-header__call:hover svg{transform:none}
.pj-call-short{display:none}
.pj-header__actions .pj-btn{min-height:46px;padding:14px 18px 12px}
@media (max-width:1240px){.pj-header__nav{display:none}}

/* Mobile sticky action bar (phone leads) */
.pj-mbar{display:none}
@media (max-width:760px){
  .pj-header__cta{display:none}
  .pj-call-full{display:none}
  .pj-call-short{display:inline}
  .pj-mbar{position:fixed;left:0;right:0;bottom:0;z-index:110;display:grid;grid-template-columns:1.4fr 1fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(0,15,71,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.12);--pj-fg:#fff}
  .pj-mbar .pj-btn{width:100%;min-height:50px;padding:15px 12px 13px;font-size:15px}
  .pj-mbar .pj-btn svg{width:16px;height:16px}
  body{padding-bottom:74px}
}

/* Legal pages (Privacy Policy, Terms of Use) */
.pj-legal{--pj-fg:var(--pj-deep);--pj-muted:var(--pj-slate);--pj-accent:var(--pj-red);background:var(--pj-mist);color:var(--pj-deep);padding-block:var(--pj-gap)}
.pj-legal .pj-wrap{max-width:860px}
.pj-legal h1{font-family:var(--pj-disp);font-weight:900;font-stretch:112%;font-variation-settings:"wdth" 112;text-transform:uppercase;font-size:var(--pj-fs-xl);line-height:.95;margin:0 0 10px;text-wrap:balance}
.pj-legal h2{font-family:var(--pj-disp);font-weight:800;font-stretch:110%;font-variation-settings:"wdth" 110;text-transform:uppercase;font-size:clamp(20px,1.8vw,24px);line-height:1.15;margin:40px 0 12px;color:var(--pj-deep)}
.pj-legal p,.pj-legal li{font-size:16px;line-height:1.65;color:#2A3550}
.pj-legal ul{padding-left:22px;margin:0 0 16px}
.pj-legal li{margin-bottom:6px}
.pj-legal a{color:var(--pj-red);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.pj-legal .pj-legal__meta{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pj-red);margin:0 0 30px}

/* Footer */
.pj-footer{background:var(--pj-ink);color:#BFCBE2;padding:clamp(48px,5vw,72px) 0 28px;font-size:15px;text-align:left}
.pj-footer p{color:#BFCBE2}
.pj-footer__top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1)}
.pj-footer__logo img{display:block;width:210px;height:auto}
.pj-footer__info{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-right:auto;margin-left:clamp(0px,3vw,40px)}
.pj-footer__addr{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#fff;text-decoration:none;font-size:15px;font-weight:500}
.pj-footer__addr svg{width:20px;height:20px;color:var(--pj-lime);flex-shrink:0}
.pj-footer__addr:hover{color:var(--pj-lime)}
.pj-footer__social{list-style:none;margin:0;padding:0;display:flex;gap:10px}
/* !important only to beat the parent theme's `footer li a{color:#231f20 !important}` */
.pj-footer .pj-footer__social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);color:#fff!important;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.pj-footer .pj-footer__social a:hover,.pj-footer .pj-footer__social a:focus-visible{background:var(--pj-lime);border-color:var(--pj-lime);color:var(--pj-deep)!important}
.pj-footer__social svg{width:20px;height:20px}
.pj-footer__legal{max-width:900px;margin:28px 0;font-size:14px;line-height:1.6}
.pj-footer__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px;letter-spacing:.02em}
.pj-footer__links{display:flex;flex-wrap:wrap;gap:4px 22px}
.pj-footer__bar a{color:#fff;text-decoration:none}
.pj-footer__bar a:hover{color:var(--pj-lime)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .pj-js .pj-reveal{opacity:1;transform:none}
}

/* ==========================================================================
   390px MOBILE PASS - tap targets and gutters. Appended last so it wins
   over every earlier rule in this file.
   ========================================================================== */
@media (max-width:640px){
  .pj-header__inner{min-height:68px;gap:12px}
  .pj-header__logo img,.pj-header.is-scrolled .pj-header__logo img{width:132px}
  .pj-header__actions .pj-btn{min-height:44px;padding:13px 16px 11px}
  .pj-btns .pj-btn{width:100%}
  .pj-footer__top{flex-direction:column;align-items:flex-start}
  .pj-footer__info{margin:0;flex-direction:column;align-items:flex-start}
  .pj-footer__top .pj-btn{width:100%}
  .pj-footer__bar{flex-direction:column}
  .pj-footer__bar a{display:inline-flex;align-items:center;min-height:44px}
}
