/* ============================================================
   PressureWashQuoteKit: Shared site chrome (header + footer)
   Namespaced under .pwkn-* so it can sit on top of the app
   pages without colliding with their own CSS. Loaded on EVERY
   page. Self-contained: no dependency on page CSS variables.
   ============================================================ */

html,body{max-width:100%;overflow-x:hidden;}
.pwkn-wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

/* ---------- shared logo ---------- */
.pwkn-logo{display:inline-flex;align-items:center;gap:10px;font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif;font-weight:700;font-size:18px;letter-spacing:-.01em;color:#0e2a47;text-decoration:none;line-height:1;}
.pwkn-logo .pwkn-mark{width:32px;height:32px;border-radius:9px;background:#1a4c8b;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.pwkn-logo .pwkn-mark svg{width:18px;height:18px;display:block;}
.pwkn-logo .pwkn-accent{color:#1a4c8b;}

/* ---------- shared chrome buttons ---------- */
.pwkn-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif;font-weight:600;font-size:15px;line-height:1;padding:14px 24px;border-radius:40px;cursor:pointer;border:none;white-space:nowrap;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.pwkn-btn svg{width:17px;height:17px;display:block;}
.pwkn-btn-amber{background:#e09a2b;color:#fff;box-shadow:0 6px 18px rgba(224,154,43,.32);}
.pwkn-btn-amber:hover{background:#c4801a;color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(224,154,43,.4);}
.pwkn-btn-sm{padding:10px 18px;font-size:14px;}

/* ---------- shared header ---------- */
.pwkn-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:saturate(150%) blur(12px);-webkit-backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease;font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif;}
.pwkn-header.scrolled{border-bottom-color:#e4e9f0;box-shadow:0 1px 3px rgba(14,42,71,.06),0 1px 2px rgba(14,42,71,.04);}
.pwkn-bar{display:flex;align-items:center;justify-content:space-between;height:68px;}
/* reset any bare nav{} the tool pages declare */
.pwkn-header .pwkn-nav{position:static;display:flex;align-items:center;gap:30px;background:none;border:0;padding:0;margin:0;box-shadow:none;list-style:none;}
.pwkn-header .pwkn-nav a{font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;font-size:14.5px;color:#41506a;text-decoration:none;margin:0;padding:0;transition:color .15s;}
.pwkn-header .pwkn-nav a:hover{color:#123a6b;}
.pwkn-cta{display:flex;align-items:center;gap:14px;}
.pwkn-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;color:#0e2a47;line-height:0;}
.pwkn-toggle svg{width:26px;height:26px;display:block;}

/* ---------- shared footer ---------- */
.pwkn-footer{background:#0a1f3a;color:rgba(255,255,255,.7);padding:60px 0 30px;font-size:14.5px;font-family:'Hanken Grotesk','Poppins','Segoe UI',Helvetica,Arial,sans-serif;line-height:1.6;}
.pwkn-footer .pwkn-logo{color:#fff;}
.pwkn-footer .pwkn-logo .pwkn-accent{color:#8fb8e8;}
.pwkn-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1);}
.pwkn-foot-tag{margin:16px 0 0;max-width:26em;line-height:1.6;color:rgba(255,255,255,.7);}
.pwkn-foot-h{font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif;font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 16px;}
.pwkn-foot-links{list-style:none;margin:0;padding:0;}
.pwkn-foot-links li{margin-bottom:11px;}
.pwkn-footer a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .15s;}
.pwkn-foot-links a:hover{color:#8fb8e8;}
.pwkn-foot-bottom{padding-top:26px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:12.5px;color:rgba(255,255,255,.5);}
.pwkn-disclaimer{margin:18px 0 0;font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.42);max-width:80ch;}
.pwkn-disclaimer a{color:rgba(255,255,255,.7);text-decoration:underline;}

/* ---------- responsive ---------- */
@media (max-width:920px){
  .pwkn-foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  .pwkn-header .pwkn-nav{position:fixed;inset:68px 0 auto 0;flex-direction:column;gap:0;background:#fff;padding:8px 0;box-shadow:0 10px 30px rgba(14,42,71,.08),0 2px 8px rgba(14,42,71,.05);border-bottom:1px solid #e4e9f0;transform:translateY(-130%);transition:transform .28s ease;z-index:40;}
  .pwkn-header .pwkn-nav.open{transform:none;}
  .pwkn-header .pwkn-nav a{display:block;width:100%;padding:14px 24px;font-size:16px;}
  .pwkn-toggle{display:block;}
  .pwkn-foot-grid{grid-template-columns:1fr;}
}

/* compress the header so logo, CTA pill, and toggle all fit on phone widths */
@media (max-width:520px){
  .pwkn-bar{height:60px;}
  .pwkn-header .pwkn-nav{inset:60px 0 auto 0;}
  .pwkn-logo{gap:8px;}
  .pwkn-mark{width:32px;height:32px;}
  .pwkn-word{font-size:17px;}
  .pwkn-cta{gap:6px;}
  .pwkn-btn-sm{font-size:12.5px;padding:9px 12px;}
  .pwkn-toggle{padding:4px;}
  .pwkn-toggle svg{width:22px;height:22px;}
  .pwkn-wrap{padding:0 16px;}
}
@media (max-width:380px){
  .pwkn-btn-sm{font-size:12px;padding:8px 10px;}
  .pwkn-word{font-size:16px;}
}
