/* ============================================================
   Wag'n Tails chrome — site-wide header / nav / mobile dock
   Enqueued on every front-end page. Do NOT put home section styles here.
   Do NOT style bare input/textarea/select/form controls.
   ============================================================ */

:root {
  /* Main + accent */
  --purple: #603387;
  --purple-dark: #4a2769;
  --aqua: #8AD6CC;
  --aqua-bright: #6fe0d2;
  --aqua-soft: #E2F3F1;
  /* Occasional accents only; never in gradients/backgrounds */
  --pink: #ED6D88;
  --gold: #EDB757;
  /* Surfaces (purple / teal washes only) */
  --lavender: #F3ECFB;
  --mint: #EEF8F6;
  --footer: #ebe8f1;
  --white: #FFFFFF;
  --ink: #3A3048;
  --ink-muted: #5E5568;
  --nav: #4D4458;
  --line: rgba(96, 51, 135, 0.12);

  /* Outfit ≈ Momentum Sans (geometric modern); Momentum file not in project */
  --font-heading: "Outfit", "Onest", Arial, Helvetica, sans-serif;
  --font-fun: var(--font-heading);
  --font-display: "Onest", Arial, Helvetica, sans-serif;
  --font-body: Arial, Helvetica, sans-serif;

  --container: 1120px;
  --container-narrow: 760px;
  /* Shared horizontal inset for header / footer / .container edges */
  --page-gutter: 2.5rem;
  --header-h: 4.5rem;
  /* Extra air below the fixed header so the hero isn’t jammed under it */
  --header-gap: clamp(1.85rem, 4.2vw, 2.85rem);
  --radius: 14px;
  --radius-media: 28px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-editorial: cubic-bezier(0.16, 1, 0.3, 1);
  /* Notion-like press / Apple settle — micro-interactions only */
  --ease-spring: cubic-bezier(0.34, 1.35, 0.64, 1);
  --ease-settle: cubic-bezier(0.22, 1, 0.36, 1);
  /* Soft decorative ease-in-out (doodle float, bg drift) */
  --ease-soft: cubic-bezier(0.45, 0.05, 0.55, 0.95);
  /* Premium reveals: slightly longer on desktop, snappier on mobile */
  --reveal-duration: 0.65s;
  --reveal-distance: 1.1rem;
  --reveal-distance-x: 1.5rem;
  --motion-fast: 0.2s;
  --motion-button: 0.2s;
  --motion-menu: 0.36s;
  --motion-hover: 0.2s;
  --motion-press: 0.14s;
  --motion-card: 0.32s;
  --motion-section: 0.65s;
  --motion-media: 0.9s;
  --motion-coast: 0.22s;
  --motion-sticky: 0.7s;
  --motion-testimonial: 0.55s;
  --motion-faq: 0.36s;
  --motion-doodle: 0.7s;
  --motion-count: 0.9s;
  --motion-bg-drift: 18s;
  --stagger-step: 90ms;
  --hover-lift: 3px;
  --hover-lift-sm: 2px;
  --hover-lift-card: 4px;
  --card-tilt: 1.5deg;
  --media-enter-scale: 0.97;
  --section-y: clamp(2.25rem, 4.5vw, 3.5rem);
  /* Overlay stack (keep chat below mobile nav / email modal) */
  --z-base: 1;
  --z-sticky: 90;
  --z-dock: 90;
  --z-chat: 95;
  --z-header: 100;
  --z-dropdown: 120;
  --z-mobile-nav: 110;
  --z-skip: 1000;
  --z-modal: 100000;
  /* End stops stay purple/teal-dark so clipped .text-gradient titles pass contrast on white */
  --heading-gradient: linear-gradient(
    115deg,
    #3a1a5c 0%,
    #603387 42%,
    #2a6f68 78%,
    #1f5c56 100%
  );

  /*
   * Shared atmospheric washes (1.9.71).
   * Restored pre-1.9.70 purple/teal energy while keeping one token stack
   * (no competing per-page mud). Layers are sized for full-bleed coverage.
   */
  --wagn-atmosphere:
    radial-gradient(ellipse 95% 55% at 6% -4%, rgba(243, 236, 251, 0.98), transparent 58%),
    radial-gradient(ellipse 88% 50% at 96% 2%, rgba(226, 243, 241, 0.95), transparent 56%),
    radial-gradient(ellipse 70% 42% at 48% 100%, rgba(243, 236, 251, 0.62), transparent 62%),
    var(--white);
  --wagn-hero-atmosphere:
    radial-gradient(ellipse 62% 72% at 10% 12%, rgba(96, 51, 135, 0.22), transparent 66%),
    radial-gradient(ellipse 68% 70% at 94% 8%, rgba(138, 214, 204, 0.52), transparent 64%),
    radial-gradient(ellipse 52% 48% at 50% 100%, rgba(96, 51, 135, 0.12), transparent 62%),
    linear-gradient(165deg, #f4eef9 0%, #ffffff 44%, #eaf7f4 100%);
  --wagn-hero-glow:
    radial-gradient(circle at 40% 44%, rgba(96, 51, 135, 0.14) 0%, transparent 60%),
    radial-gradient(circle at 66% 48%, rgba(138, 214, 204, 0.3) 0%, transparent 64%);
  --wagn-photo-scrim:
    linear-gradient(
      105deg,
      rgba(34, 18, 52, 0.76) 0%,
      rgba(34, 18, 52, 0.42) 38%,
      rgba(34, 18, 52, 0.12) 68%,
      transparent 100%
    ),
    linear-gradient(
      180deg,
      rgba(34, 18, 52, 0.16) 0%,
      transparent 48%,
      rgba(34, 18, 52, 0.26) 100%
    );
  --wagn-photo-scrim-mobile:
    linear-gradient(
      180deg,
      rgba(34, 18, 52, 0.8) 0%,
      rgba(34, 18, 52, 0.72) 45%,
      rgba(34, 18, 52, 0.86) 100%
    );
}

/* Designed pages: keep a white base so washes never show through as seams */
body.wagn-chrome {
  background-color: var(--white);
}

/* Mobile: shorter, lighter motion tokens (transform/opacity only) */
@media (max-width: 899px) {
  :root {
    --reveal-duration: 0.48s;
    --reveal-distance: 0.75rem;
    --reveal-distance-x: 0;
    --motion-fast: 0.18s;
    --motion-button: 0.18s;
    --motion-menu: 0.32s;
    --motion-hover: 0.18s;
    --motion-press: 0.12s;
    --motion-card: 0.26s;
    --motion-section: 0.5s;
    --motion-media: 0.01ms;
    --motion-coast: 0.18s;
    --motion-sticky: 0.01ms;
    --motion-testimonial: 0.4s;
    --motion-faq: 0.28s;
    --motion-doodle: 0.45s;
    --motion-bg-drift: 0.01ms;
    --stagger-step: 60ms;
    --hover-lift: 2px;
    --hover-lift-sm: 2px;
    --hover-lift-card: 3px;
    --card-tilt: 0deg;
    --page-gutter: 1.15rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --reveal-duration: 0.01ms;
    --reveal-distance: 0;
    --reveal-distance-x: 0;
    --motion-fast: 0.01ms;
    --motion-button: 0.01ms;
    --motion-menu: 0.01ms;
    --motion-hover: 0.01ms;
    --motion-press: 0.01ms;
    --motion-card: 0.01ms;
    --motion-section: 0.01ms;
    --motion-media: 0.01ms;
    --motion-coast: 0.01ms;
    --motion-sticky: 0.01ms;
    --motion-testimonial: 0.01ms;
    --motion-faq: 0.01ms;
    --motion-doodle: 0.01ms;
    --motion-count: 0.01ms;
    --motion-bg-drift: 0.01ms;
    --stagger-step: 0ms;
    --hover-lift: 0px;
    --hover-lift-sm: 0px;
    --hover-lift-card: 0px;
    --card-tilt: 0deg;
  }

  .btn,
  .site-logo a,
  .site-nav__link::before,
  body.wagn-chrome .site-footer a,
  body.wagn-chrome .site-footer__logo,
  body.wagn-chrome .site-footer__social-link {
    transition: none !important;
  }

  .btn:hover,
  .site-logo a:hover,
  body.wagn-chrome .site-footer__logo-link:hover .site-footer__logo,
  body.wagn-chrome .site-footer__social-link:hover {
    transform: none;
  }
}


body.wagn-chrome .site-header[data-header],
body.wagn-chrome .site-header[data-header] *,
body.wagn-chrome .site-header[data-header] *::before,
body.wagn-chrome .site-header[data-header] *::after,
body.wagn-chrome .mobile-dock,
body.wagn-chrome .mobile-dock * {
  box-sizing: border-box;
}

.skip-link {
  position: absolute;
  left: 1rem;
  top: -100%;
  z-index: var(--z-skip, 1000);
  padding: 0.75rem 1rem;
  background: var(--purple);
  color: var(--white);
  border-radius: var(--radius);
}

.skip-link:focus,
.skip-link:focus-visible {
  top: max(1rem, env(safe-area-inset-top, 0px));
  outline: 3px solid var(--aqua);
  outline-offset: 2px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Shared icon glyph for icon-buttons (close / send / chevron). */
.wagn-icon {
  display: block;
  flex-shrink: 0;
  pointer-events: none;
  overflow: visible;
}


/* ---------- Buttons (premium craft) ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.85rem;
  padding: 0.55rem 1.35rem;
  border: 2px solid transparent;
  border-radius: 12px;
  font-family: var(--font-body);
  font-size: 1rem;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--motion-fast) var(--ease-editorial),
    background-color var(--motion-fast) var(--ease),
    border-color var(--motion-fast) var(--ease),
    box-shadow var(--motion-fast) var(--ease),
    color var(--motion-fast) var(--ease);
}

.btn:hover {
  transform: translateY(-2px);
}

.btn:active {
  transform: translateY(1px) scale(0.98);
}

.btn:focus-visible {
  outline: 3px solid var(--aqua);
  outline-offset: 3px;
}

/* Purple filled CTAs: beat Kadence a/entry-content link color (often black). */
body.wagn-chrome a.btn--primary,
body.wagn-chrome a.btn--primary:link,
body.wagn-chrome a.btn--primary:visited,
body.wagn-chrome a.btn--primary:hover,
body.wagn-chrome a.btn--primary:focus,
body.wagn-chrome a.btn--primary:focus-visible,
body.wagn-chrome a.btn--primary:active,
body.wagn-chrome .btn--primary,
body.wagn-chrome .btn--primary:link,
body.wagn-chrome .btn--primary:visited,
body.wagn-chrome .btn--primary:hover,
body.wagn-chrome .btn--primary:focus,
body.wagn-chrome .btn--primary:focus-visible,
body.wagn-chrome .btn--primary:active {
  background: var(--purple);
  color: #fff !important;
  border-color: var(--purple);
  font-family: var(--font-display);
  font-weight: 700;
}

body.wagn-chrome a.btn--primary,
body.wagn-chrome .btn--primary {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset, 0 8px 18px rgba(96, 51, 135, 0.18);
}

body.wagn-chrome a.btn--primary:hover,
body.wagn-chrome a.btn--primary:focus,
body.wagn-chrome a.btn--primary:focus-visible,
body.wagn-chrome .btn--primary:hover,
body.wagn-chrome .btn--primary:focus,
body.wagn-chrome .btn--primary:focus-visible {
  background: var(--purple-dark);
  border-color: var(--purple-dark);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.14) inset, 0 14px 28px rgba(74, 39, 105, 0.28);
}

body.wagn-chrome a.btn--outline,
body.wagn-chrome a.btn--outline:link,
body.wagn-chrome a.btn--outline:visited,
body.wagn-chrome .btn--outline {
  background: transparent;
  color: var(--purple) !important;
  border-color: rgba(96, 51, 135, 0.35);
  font-family: var(--font-display);
  font-weight: 600;
}

body.wagn-chrome a.btn--outline:hover,
body.wagn-chrome a.btn--outline:focus,
body.wagn-chrome a.btn--outline:focus-visible,
body.wagn-chrome .btn--outline:hover,
body.wagn-chrome .btn--outline:focus,
body.wagn-chrome .btn--outline:focus-visible {
  background: rgba(96, 51, 135, 0.05);
  border-color: var(--purple);
  color: var(--purple) !important;
  box-shadow: 0 10px 22px rgba(96, 51, 135, 0.1);
}

body.wagn-chrome a.btn--soft,
body.wagn-chrome a.btn--soft:link,
body.wagn-chrome a.btn--soft:visited,
body.wagn-chrome .btn--soft {
  background: var(--white);
  color: var(--purple) !important;
  border-color: rgba(96, 51, 135, 0.22);
  font-family: var(--font-display);
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(96, 51, 135, 0.06);
}

body.wagn-chrome a.btn--soft:hover,
body.wagn-chrome a.btn--soft:focus,
body.wagn-chrome a.btn--soft:focus-visible,
body.wagn-chrome .btn--soft:hover,
body.wagn-chrome .btn--soft:focus,
body.wagn-chrome .btn--soft:focus-visible {
  border-color: var(--purple);
  color: var(--purple) !important;
}

.btn--small {
  min-height: 2.35rem;
  padding: 0.4rem 1rem;
  font-size: 0.875rem;
}

.btn--large {
  min-height: 3.1rem;
  padding: 0.7rem 1.6rem;
}


/* ---------- Header ---------- */
/* Below WP admin bar (~99999). Overlay tokens in :root. */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: var(--z-header, 100);
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid transparent;
  transition:
    box-shadow 0.35s var(--ease-editorial),
    border-color 0.35s var(--ease),
    background-color 0.35s var(--ease);
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  @media (min-width: 860px) and (prefers-reduced-motion: no-preference) {
    .site-header {
      background: rgba(255, 255, 255, 0.92);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
  }
}

.site-header.is-scrolled {
  border-bottom-color: var(--line);
  box-shadow: 0 8px 28px rgba(96, 51, 135, 0.08);
}

.site-header__inner {
  /* Match .container gutters so header / footer / page content share one edge */
  width: min(100% - (2 * var(--page-gutter)), var(--container));
  min-height: var(--header-h);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* Shared content shell — single edge for header, footer, and designed pages */
body.wagn-chrome .container,
body.wagn-chrome .container--narrow {
  margin-inline: auto;
  max-width: 100%;
  box-sizing: border-box;
}

body.wagn-chrome .container {
  width: min(100% - (2 * var(--page-gutter)), var(--container));
}

body.wagn-chrome .container--narrow {
  width: min(100% - (2 * var(--page-gutter)), var(--container-narrow));
}

/* Kill horizontal page scroll from full-bleed breakouts / Kadence remnants */
body.wagn-chrome,
body.wagn-chrome #inner-wrap,
body.wagn-chrome .site-container,
body.wagn-chrome .content-container {
  overflow-x: clip;
}

/*
  Shared full-bleed shells (designed pages).
  Prefer width:100% — never 100vw (scrollbar width → overflow → white side strip
  + “fixes on scroll” reflow). Content gutters stay on .container via --page-gutter.
*/
body.wagn-chrome #inner-wrap,
body.wagn-chrome .site-container,
body.wagn-chrome .content-container,
body.wagn-chrome .entry-content,
body.wagn-chrome .content-area,
body.wagn-chrome #main,
body.wagn-chrome main {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

body.wagn-chrome [data-hero] {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin-inline: 0;
}

/* Wave dividers: edge-to-edge SVG stretch (pages that omit width still paint full) */
body.wagn-chrome .wave,
body.wagn-chrome .mk-wave,
body.wagn-chrome .av-wave,
body.wagn-chrome .vv-wave,
body.wagn-chrome .br-wave,
body.wagn-chrome .lf-wave,
body.wagn-chrome .ll-wave,
body.wagn-chrome .au-wave,
body.wagn-chrome .cc-wave,
body.wagn-chrome .cp-wave,
body.wagn-chrome .cps-wave,
body.wagn-chrome .pc-wave,
body.wagn-chrome .bl-wave,
body.wagn-chrome .bpl-wave,
body.wagn-chrome .vp-wave,
body.wagn-chrome .ss-wave,
body.wagn-chrome .diq-wave,
body.wagn-chrome .wv-wave,
body.wagn-chrome .esl-wave,
body.wagn-chrome .mol-wave {
  display: block;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  overflow: hidden;
  line-height: 0;
  box-sizing: border-box;
}

body.wagn-chrome .wave svg,
body.wagn-chrome .mk-wave svg,
body.wagn-chrome .av-wave svg,
body.wagn-chrome .vv-wave svg,
body.wagn-chrome .br-wave svg,
body.wagn-chrome .lf-wave svg,
body.wagn-chrome .ll-wave svg,
body.wagn-chrome .au-wave svg,
body.wagn-chrome .cc-wave svg,
body.wagn-chrome .cp-wave svg,
body.wagn-chrome .cps-wave svg,
body.wagn-chrome .pc-wave svg,
body.wagn-chrome .bl-wave svg,
body.wagn-chrome .bpl-wave svg,
body.wagn-chrome .vp-wave svg,
body.wagn-chrome .ss-wave svg,
body.wagn-chrome .diq-wave svg,
body.wagn-chrome .wv-wave svg,
body.wagn-chrome .esl-wave svg,
body.wagn-chrome .mol-wave svg {
  display: block;
  width: 100%;
  max-width: none;
}


.site-logo {
  flex: 0 1 auto;
  min-width: 0;
}

.site-logo a {
  display: inline-block;
  line-height: 0;
  transition: transform var(--motion-fast) var(--ease-editorial);
}

@media (hover: hover) and (pointer: fine) {
  .site-logo a:hover {
    transform: scale(1.02);
  }
}

.site-logo__img {
  height: 42px;
  width: auto;
  max-width: min(52vw, 220px);
  object-fit: contain;
  object-position: left center;
}

.site-nav {
  display: none;
}

.site-nav__list {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-nav__item {
  position: relative;
  list-style: none;
}

.site-nav__link,
.site-nav a {
  text-decoration: none;
  font-size: 0.8125rem;
  color: var(--nav);
  transition: color 0.2s var(--ease);
}

.site-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.55rem 0.55rem;
  white-space: nowrap;
}

.site-nav__link::before {
  content: "";
  position: absolute;
  left: 0.55rem;
  right: 0.55rem;
  bottom: 0.28rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--aqua), var(--purple));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--motion-fast) var(--ease-editorial);
  pointer-events: none;
}

.site-nav__link:hover,
.site-nav a:hover {
  color: var(--purple);
}

@media (hover: hover) and (pointer: fine) {
  .site-nav__item:not(.site-nav__item--has-children) > .site-nav__link:hover::before,
  .site-nav__item:not(.site-nav__item--has-children) > .site-nav__link:focus-visible::before {
    transform: scaleX(1);
  }
}

.site-nav__item--has-children > .site-nav__link::after {
  content: "";
  width: 0.35rem;
  height: 0.35rem;
  margin-top: -0.1rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.65;
}

.site-nav__sub {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  z-index: var(--z-dropdown, 120);
  min-width: 15.5rem;
  max-height: min(70vh, 28rem);
  overflow-y: auto;
  margin: 0;
  padding: 0.45rem 0;
  list-style: none;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 0.85rem;
  box-shadow: 0 14px 36px rgba(58, 48, 72, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.35rem);
  transition: opacity 0.18s var(--ease), transform 0.18s var(--ease), visibility 0.18s;
}

.site-nav__item--has-children:hover > .site-nav__sub,
.site-nav__item--has-children:focus-within > .site-nav__sub {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-nav__sub a,
.site-nav__label {
  display: block;
  padding: 0.55rem 0.9rem;
  font-size: 0.8rem;
  line-height: 1.35;
  color: var(--ink);
  white-space: normal;
}

.site-nav__label {
  font-weight: 700;
  color: var(--purple);
  padding-bottom: 0.2rem;
}

.site-nav__nested {
  list-style: none;
  margin: 0;
  padding: 0 0 0.25rem;
}

.site-nav__nested a {
  padding-left: 1.35rem;
  color: var(--ink-muted);
}

.site-nav__sub a:hover {
  background: var(--lavender);
  color: var(--purple);
}

.site-header__actions {
  display: none;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
}

.site-header .btn--primary,
.site-header .btn--outline {
  display: none;
}

.nav-toggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  margin-left: auto;
  padding: 0.55rem;
  border: 0;
  border-radius: 0.65rem;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  box-shadow: none;
  transition: background 0.2s var(--ease);
}

.nav-toggle span {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--purple);
  border-radius: 2px;
  transform-origin: center;
  transition: transform 0.22s var(--ease), opacity 0.18s var(--ease);
}

.nav-toggle[aria-expanded="true"] {
  background: rgba(96, 51, 135, 0.06);
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 959px) {
  .nav-toggle {
    display: inline-flex !important;
    position: relative;
    z-index: 110;
  }
}

/*
  Mobile menu: full-bleed sheet under the fixed header.
  Calm Apple / Airstream-inspired hierarchy — one column, soft separators,
  pinned CTAs. Accordion wiring stays on data-submenu-toggle + .mobile-nav__sub.
*/
.mobile-nav {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 105;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: calc(100dvh - var(--header-h));
  max-height: calc(100dvh - var(--header-h));
  margin: 0;
  padding: 0;
  background: var(--white);
  border-top: 1px solid rgba(96, 51, 135, 0.08);
  overflow: hidden;
  opacity: 0;
  transform: translateY(-0.4rem);
  pointer-events: none;
  transition:
    opacity var(--motion-menu) var(--ease-editorial),
    transform var(--motion-menu) var(--ease-editorial);
}

.mobile-nav.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

body.wagn-chrome.admin-bar .mobile-nav {
  height: calc(100dvh - var(--header-h) - 46px);
  max-height: calc(100dvh - var(--header-h) - 46px);
}

@media screen and (min-width: 783px) {
  body.wagn-chrome.admin-bar .mobile-nav {
    height: calc(100dvh - var(--header-h) - 32px);
    max-height: calc(100dvh - var(--header-h) - 32px);
  }
}

/* Author display:flex must not override the HTML hidden attribute */
.mobile-nav[hidden] {
  display: none !important;
}

.site-header.is-nav-open {
  border-bottom-color: rgba(96, 51, 135, 0.1);
  background: rgba(255, 255, 255, 0.99);
}

.mobile-nav__sheet {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-top: 0.35rem;
  padding-bottom: 0.5rem;
  padding-left: max(var(--page-gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--page-gutter), env(safe-area-inset-right, 0px));
}

body.wagn-chrome .mobile-nav,
body.wagn-chrome .mobile-nav ul,
body.wagn-chrome .mobile-nav ol,
body.wagn-chrome .mobile-nav__sub,
body.wagn-chrome .mobile-nav__group {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  padding-left: 0;
}

body.wagn-chrome .mobile-nav li,
body.wagn-chrome .mobile-nav__sub li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  padding: 0;
}

body.wagn-chrome .mobile-nav li::before,
body.wagn-chrome .mobile-nav li::marker,
body.wagn-chrome .mobile-nav__sub li::before,
body.wagn-chrome .mobile-nav__sub li::marker {
  content: none !important;
  display: none !important;
}

.mobile-nav__group {
  border-bottom: 1px solid rgba(96, 51, 135, 0.07);
}

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

.mobile-nav__parent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 3.5rem;
  padding: 1.05rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--purple);
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 650;
  letter-spacing: -0.025em;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
  transition: color 0.18s var(--ease);
}

.mobile-nav__parent:hover,
.mobile-nav__parent:focus-visible {
  background: transparent;
  color: var(--purple-dark);
}

.mobile-nav__parent:focus-visible {
  outline: 2px solid var(--aqua);
  outline-offset: 2px;
}

.mobile-nav__parent[aria-expanded="true"] {
  color: var(--purple-dark);
}

.mobile-nav__parent::after {
  content: "";
  flex-shrink: 0;
  width: 0.4rem;
  height: 0.4rem;
  margin-top: -0.15rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.4;
  transition: transform 0.22s var(--ease), opacity 0.22s var(--ease), margin 0.22s var(--ease);
}

.mobile-nav__parent[aria-expanded="true"]::after {
  transform: rotate(-135deg);
  margin-top: 0.2rem;
  opacity: 0.7;
}

.mobile-nav__sub {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 0.85rem !important;
}

.mobile-nav__sub[hidden] {
  display: none !important;
}

body.wagn-chrome .mobile-nav__sub a,
body.wagn-chrome .mobile-nav a {
  display: flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.55rem 0;
  margin: 0;
  border-radius: 0;
  text-decoration: none;
  color: var(--ink) !important;
  font-family: var(--font-heading);
  font-weight: 450;
  font-size: 1.02rem;
  letter-spacing: -0.015em;
  line-height: 1.35;
  transition: color 0.18s var(--ease);
}

body.wagn-chrome .mobile-nav__sub a:hover,
body.wagn-chrome .mobile-nav__sub a:focus-visible,
body.wagn-chrome .mobile-nav a:hover,
body.wagn-chrome .mobile-nav a:focus-visible {
  background: transparent;
  color: var(--purple) !important;
}

body.wagn-chrome .mobile-nav__sub a:focus-visible,
body.wagn-chrome .mobile-nav a:focus-visible {
  outline: 2px solid var(--aqua);
  outline-offset: 2px;
}

/* Touch-friendly press feedback (hover can stick on mobile) */
@media (hover: none) {
  .mobile-nav__parent:active {
    color: var(--purple-dark);
  }

  body.wagn-chrome .mobile-nav__sub a:active,
  body.wagn-chrome .mobile-nav a:active {
    color: var(--purple) !important;
  }

  body.wagn-chrome a.mobile-dock__btn:active,
  body.wagn-chrome .mobile-dock__btn:active {
    transform: scale(0.97);
  }

  .btn:active {
    transform: translateY(1px) scale(0.97);
  }
}

.mobile-nav__label {
  display: block;
  margin: 0.95rem 0 0.15rem;
  padding: 0;
  color: rgba(96, 51, 135, 0.5);
  font-family: var(--font-heading);
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  list-style: none !important;
  pointer-events: none;
}

.mobile-nav__label:first-child {
  margin-top: 0.2rem;
}

body.wagn-chrome .mobile-nav__actions {
  flex: 0 0 auto;
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding-top: 0.95rem;
  padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  padding-left: max(var(--page-gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--page-gutter), env(safe-area-inset-right, 0px));
  border-top: 1px solid rgba(96, 51, 135, 0.08);
  background: rgba(255, 255, 255, 0.98);
}

body.wagn-chrome .mobile-nav__actions > a.btn {
  width: 100%;
  min-height: 3.05rem;
  margin: 0;
  justify-content: center;
}

@media (min-width: 960px) {
  .site-nav {
    display: block;
  }

  .site-header__actions {
    display: inline-flex;
  }

  .site-header__actions .btn--primary,
  .site-header__actions .btn--outline {
    display: inline-flex;
  }

  .nav-toggle,
  .mobile-nav {
    display: none !important;
  }
}


/* ---------- Mobile dock (app-like) ---------- */
.mobile-dock {
  position: fixed;
  z-index: var(--z-dock, 90);
  left: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  display: none;
  grid-template-columns: 1fr 1.2fr;
  gap: 0.55rem;
  padding: 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 10px 28px rgba(96, 51, 135, 0.14);
  transform: translateY(120%);
  transition: transform 0.4s var(--ease-editorial);
}

.mobile-dock.is-visible {
  transform: translateY(0);
}

body.wagn-chrome a.mobile-dock__btn,
body.wagn-chrome a.mobile-dock__btn:link,
body.wagn-chrome a.mobile-dock__btn:visited,
body.wagn-chrome a.mobile-dock__btn:hover,
body.wagn-chrome a.mobile-dock__btn:focus,
body.wagn-chrome a.mobile-dock__btn:focus-visible,
body.wagn-chrome a.mobile-dock__btn:active,
body.wagn-chrome .mobile-dock__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: var(--purple);
  color: #fff !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.92rem;
  text-decoration: none;
}

body.wagn-chrome a.mobile-dock__btn--soft,
body.wagn-chrome a.mobile-dock__btn--soft:link,
body.wagn-chrome a.mobile-dock__btn--soft:visited,
body.wagn-chrome a.mobile-dock__btn--soft:hover,
body.wagn-chrome a.mobile-dock__btn--soft:focus,
body.wagn-chrome a.mobile-dock__btn--soft:focus-visible,
body.wagn-chrome .mobile-dock__btn--soft {
  background: rgba(138, 214, 204, 0.35);
  color: var(--purple) !important;
}

@media (max-width: 859px) {
  .mobile-dock {
    display: grid;
    bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
    left: max(0.75rem, env(safe-area-inset-left, 0px));
    right: max(0.75rem, env(safe-area-inset-right, 0px));
  }

  body.wagn-chrome {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
  }

  /* Chat launch sits above the dock (~8.4rem); clear mid-page CTAs too */
  body.wagn-chrome:has(.wagn-chat:not([hidden])):has(.mobile-dock.is-visible) {
    padding-bottom: calc(9.25rem + env(safe-area-inset-bottom, 0px));
  }
}



/* ---------- Designed site footer (site-wide) ---------- */
body.wagn-chrome .site-footer[data-wagn-footer],
body.wagn-chrome .site-footer {
  padding: 2.25rem 0 calc(1.5rem + env(safe-area-inset-bottom, 0px));
  background: var(--footer);
  color: var(--ink);
  border-top: 0;
}

/*
 * Closing CTA → footer handoff (shared). Soften bottoms so white/lavender
 * CTA bands blend into --footer instead of a hard seam.
 */
body.wagn-chrome .au-cta,
body.wagn-chrome .cc-cta,
body.wagn-chrome .av-cta,
body.wagn-chrome .vv-cta,
body.wagn-chrome .vp-cta,
body.wagn-chrome .lf-cta,
body.wagn-chrome .ll-cta,
body.wagn-chrome .ss-cta,
body.wagn-chrome .pc-cta,
body.wagn-chrome .cp-cta,
body.wagn-chrome .wv-cta,
body.wagn-chrome .diq-cta,
body.wagn-chrome .mol-cta,
body.wagn-chrome .bl-cta,
body.wagn-chrome .bpl-cta,
body.wagn-chrome .esl-cta,
body.wagn-chrome .mk-cta {
  background-image:
    radial-gradient(ellipse 70% 55% at 50% 0%, rgba(243, 236, 251, 0.88), transparent 68%),
    radial-gradient(ellipse 42% 32% at 88% 62%, rgba(226, 243, 241, 0.4), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.2) 42%, var(--footer) 100%);
  background-color: transparent;
}

/* Brand + two pairs (vehicles, explore/company). Pairs are always 2-col. */
body.wagn-chrome .site-footer__grid {
  display: grid;
  gap: 2.5rem 1.75rem;
}

body.wagn-chrome .site-footer__brand {
  max-width: 22rem;
}

body.wagn-chrome .site-footer__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.75rem 1.25rem;
  align-items: start;
}

body.wagn-chrome .site-footer__col {
  min-width: 0;
}

/* Stacked footer pairs (mobile/tablet): clearer gap between row groups */
@media (max-width: 959px) {
  body.wagn-chrome .site-footer__grid {
    gap: 2.75rem;
  }
}

@media (min-width: 600px) {
  body.wagn-chrome .site-footer__pair {
    gap: 1.85rem 1.5rem;
  }
}

/* Desktop: brand | vehicles pair | explore/company pair */
@media (min-width: 960px) {
  body.wagn-chrome .site-footer__grid {
    grid-template-columns: minmax(12rem, 1.05fr) minmax(0, 1.35fr) minmax(0, 1.35fr);
    align-items: start;
    gap: 2rem 1.75rem;
  }
}

body.wagn-chrome .site-footer__logo-link {
  display: inline-block;
  line-height: 0;
  text-decoration: none;
}

body.wagn-chrome .site-footer__logo {
  height: 40px;
  width: auto;
  margin-bottom: 1rem;
  transition: transform var(--motion-fast) var(--ease-editorial);
}

body.wagn-chrome .site-footer h2 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--purple);
  margin: 0 0 0.85rem;
}

body.wagn-chrome .site-footer ul,
body.wagn-chrome .site-footer ol,
body.wagn-chrome .site-footer .footer-nav,
body.wagn-chrome .site-footer .footer-col ul,
body.wagn-chrome .site-footer__grid ul {
  display: grid;
  gap: 0.35rem;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
}

body.wagn-chrome .site-footer li,
body.wagn-chrome .site-footer__grid li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.wagn-chrome .site-footer li::before,
body.wagn-chrome .site-footer li::after,
body.wagn-chrome .site-footer li::marker,
body.wagn-chrome .site-footer__grid li::before,
body.wagn-chrome .site-footer__grid li::after,
body.wagn-chrome .site-footer__grid li::marker {
  content: none !important;
  display: none !important;
}

body.wagn-chrome .site-footer a {
  color: var(--ink-muted);
  font-size: 0.92rem;
  text-decoration: none;
  transition: color var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease);
}

body.wagn-chrome .site-footer a:hover {
  color: var(--purple);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

body.wagn-chrome .site-footer__logo-link:hover .site-footer__logo {
  transform: scale(1.02);
}

body.wagn-chrome .site-footer__brand-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin: 0;
  font-size: 0.92rem;
}

body.wagn-chrome .site-footer__sep {
  color: var(--ink-muted);
  opacity: 0.7;
}

body.wagn-chrome .site-footer__social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.95rem;
}

body.wagn-chrome .site-footer__social-link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  margin: 0;
  line-height: 0;
  border-radius: 0.75rem;
  background: var(--white);
  color: var(--purple);
  border: 1px solid rgba(96, 51, 135, 0.12);
  text-decoration: none;
  transition: background 0.2s var(--ease), color 0.2s var(--ease), transform 0.2s var(--ease), border-color 0.2s var(--ease);
}

body.wagn-chrome .site-footer__social-ico {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  max-width: none;
  flex-shrink: 0;
  background: currentColor;
  -webkit-mask: var(--social-icon) center / contain no-repeat;
  mask: var(--social-icon) center / contain no-repeat;
}

body.wagn-chrome .site-footer__social-link:active {
  transform: scale(0.96);
}

body.wagn-chrome .site-footer__social-link:hover {
  background: var(--purple);
  color: var(--white);
  border-color: var(--purple);
  text-decoration: none;
  transform: translateY(-2px);
}

body.wagn-chrome .site-footer__social-link:focus-visible {
  outline: 2px solid var(--aqua);
  outline-offset: 2px;
}

body.wagn-chrome .site-footer__note {
  width: min(100% - (2 * var(--page-gutter)), var(--container));
  margin: 2rem auto 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(96, 51, 135, 0.12);
  color: var(--ink-muted);
  font-size: 0.85rem;
  text-align: center;
}

@media (max-width: 859px) {
  body.wagn-chrome .site-footer {
    padding-bottom: calc(1.5rem + 4.75rem + env(safe-area-inset-bottom, 0px));
  }
}


/* Hide Kadence header + footer chrome site-wide (our header/footer replace them). */
body.wagn-chrome #masthead,
body.wagn-chrome .site-header-wrap,
body.wagn-chrome .kadence-pro-fixed-header,
body.wagn-chrome .kadence-sticky-header,
body.wagn-chrome header.site-header:not([data-header]),
body.wagn-chrome #colophon,
body.wagn-chrome .site-bottom-footer-wrap,
body.wagn-chrome .site-footer-wrap:not(.site-footer) {
  display: none !important;
}

/* Clear fixed header on inner pages (designed full-bleed pages handle their own padding) */
body.wagn-chrome:not(:is(
  .wagn-home,
  .wagn-all-vehicles,
  .wagn-leasing,
  .wagn-leasing-landing,
  .wagn-brochure-landing,
  .wagn-blueprint-landing,
  .wagn-economic-survey-landing,
  .wagn-meta-download-landing,
  .wagn-mobile-opportunity-landing,
  .wagn-vet-all-vehicles,
  .wagn-about-us,
  .wagn-customer-care,
  .wagn-cleanpower,
  .wagn-profit-calculator,
  .wagn-do-i-qualify,
  .wagn-which-van,
  .wagn-vehicle-product,
  .wagn-success-stories,
  .wagn-blog-resources,
  .wagn-marketing,
  .wagn-simple
)) #inner-wrap {
  padding-top: calc(var(--header-h) + 0.85rem);
}

/* Admin bar: fixed header sits below it */
body.wagn-chrome.admin-bar .site-header[data-header] {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.wagn-chrome.admin-bar .site-header[data-header] {
    top: 46px;
  }
}

/* Admin-bar clearance for normal Kadence pages only (not designed full-bleed) */
body.wagn-chrome.admin-bar:not(:is(
  .wagn-home,
  .wagn-all-vehicles,
  .wagn-leasing,
  .wagn-leasing-landing,
  .wagn-brochure-landing,
  .wagn-blueprint-landing,
  .wagn-economic-survey-landing,
  .wagn-meta-download-landing,
  .wagn-mobile-opportunity-landing,
  .wagn-vet-all-vehicles,
  .wagn-about-us,
  .wagn-customer-care,
  .wagn-cleanpower,
  .wagn-profit-calculator,
  .wagn-do-i-qualify,
  .wagn-which-van,
  .wagn-vehicle-product,
  .wagn-success-stories,
  .wagn-blog-resources,
  .wagn-marketing,
  .wagn-simple
)) #inner-wrap {
  padding-top: calc(var(--header-h) + 32px + 0.85rem);
}

@media screen and (max-width: 782px) {
  body.wagn-chrome.admin-bar:not(:is(
    .wagn-home,
    .wagn-all-vehicles,
    .wagn-leasing,
    .wagn-leasing-landing,
    .wagn-brochure-landing,
    .wagn-blueprint-landing,
    .wagn-economic-survey-landing,
    .wagn-meta-download-landing,
    .wagn-mobile-opportunity-landing,
    .wagn-vet-all-vehicles,
    .wagn-about-us,
    .wagn-customer-care,
    .wagn-cleanpower,
    .wagn-profit-calculator,
    .wagn-do-i-qualify,
    .wagn-which-van,
    .wagn-vehicle-product,
    .wagn-success-stories,
    .wagn-blog-resources,
    .wagn-marketing,
    .wagn-simple
  )) #inner-wrap {
    padding-top: calc(var(--header-h) + 46px + 0.85rem);
  }
}

/* ============================================================
   Kadence content pages (e.g. book-a-call): keep normal width,
   breathe under fixed header, clear mobile dock.
   ============================================================ */
body.wagn-chrome.page-book-a-call .content-area,
body.wagn-chrome.page-id-51468 .content-area {
  margin-top: clamp(1.25rem, 3vw, 2.25rem);
  margin-bottom: clamp(1.5rem, 3vw, 2.75rem);
}

body.wagn-chrome.page-book-a-call .entry-content,
body.wagn-chrome.page-id-51468 .entry-content {
  padding-bottom: 0.5rem;
}

@media (max-width: 859px) {
  body.wagn-chrome.page-book-a-call .content-area,
  body.wagn-chrome.page-id-51468 .content-area {
    margin-bottom: calc(1.5rem + 1.25rem);
  }
}

/*
  Book-a-call: Gravity Forms Foundation absolutizes invisible CAPTCHA
  (.gfield--captcha-invisible { position:absolute; size:0; overflow:visible }).
  With data-badge="inline", the reCAPTCHA Privacy badge then paints at the
  form grid origin and covers First Name. Keep the field in normal flow below
  the other inputs; do not restyle submit or non-captcha fields.
*/
body.wagn-chrome.page-book-a-call .gform_wrapper .gfield--type-captcha,
body.wagn-chrome.page-id-51468 .gform_wrapper .gfield--type-captcha,
body.wagn-chrome.page-book-a-call .gform_wrapper .gfield--type-captcha.gfield--captcha-invisible,
body.wagn-chrome.page-id-51468 .gform_wrapper .gfield--type-captcha.gfield--captcha-invisible {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  float: none !important;
  clear: both;
  display: block;
  width: 100% !important;
  max-width: 100%;
  block-size: auto !important;
  inline-size: 100% !important;
  min-block-size: 0 !important;
  height: auto !important;
  margin: 1.35rem 0 0.85rem !important;
  padding: 0 !important;
  overflow: visible;
  z-index: auto;
  grid-column: 1 / -1;
}

body.wagn-chrome.page-book-a-call .gform_wrapper .gfield--type-captcha .ginput_recaptcha,
body.wagn-chrome.page-id-51468 .gform_wrapper .gfield--type-captcha .ginput_recaptcha,
body.wagn-chrome.page-book-a-call .gform_wrapper .gfield--type-captcha.gfield--captcha-invisible .ginput_recaptcha[data-size="invisible"],
body.wagn-chrome.page-id-51468 .gform_wrapper .gfield--type-captcha.gfield--captcha-invisible .ginput_recaptcha[data-size="invisible"] {
  position: relative !important;
  display: block;
  float: none !important;
  clear: both;
  block-size: auto !important;
  inline-size: auto !important;
  width: auto;
  min-height: 78px;
  height: auto !important;
  margin: 0;
  padding: 0;
  overflow: visible;
  z-index: auto;
}

body.wagn-chrome.page-book-a-call .gform_wrapper .gfield--type-captcha .grecaptcha-badge,
body.wagn-chrome.page-id-51468 .gform_wrapper .gfield--type-captcha .grecaptcha-badge {
  position: relative !important;
  display: inline-block;
  float: none !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1;
  margin: 0;
  transform: none !important;
}

body.wagn-chrome.page-book-a-call .gform_wrapper .gform_footer,
body.wagn-chrome.page-id-51468 .gform_wrapper .gform_footer,
body.wagn-chrome.page-book-a-call .gform_wrapper .gform_page_footer,
body.wagn-chrome.page-id-51468 .gform_wrapper .gform_page_footer {
  clear: both;
  position: relative;
  z-index: auto;
}

/* Purple filled Kadence / Gravity Forms CTAs: white label (beat link color). */
body.wagn-chrome .entry-content a.kb-button.kb-btn-global-fill,
body.wagn-chrome .entry-content a.kb-button.kb-btn-global-fill:link,
body.wagn-chrome .entry-content a.kb-button.kb-btn-global-fill:visited,
body.wagn-chrome .entry-content a.kb-button.kb-btn-global-fill:hover,
body.wagn-chrome .entry-content a.kb-button.kb-btn-global-fill:focus,
body.wagn-chrome .entry-content a.kb-button.kb-btn-global-fill:focus-visible,
body.wagn-chrome .entry-content a.kb-button.kb-btn-global-fill:active,
body.wagn-chrome .entry-content a.kb-button.kb-btn-global-fill .kt-btn-inner-text,
body.wagn-chrome .gform_wrapper .gform_button,
body.wagn-chrome .gform_wrapper .gform_button:hover,
body.wagn-chrome .gform_wrapper .gform_button:focus,
body.wagn-chrome .gform_wrapper input[type="submit"],
body.wagn-chrome .gform_wrapper button[type="submit"] {
  color: #fff !important;
}

/* ============================================================
   Site-wide form fields: white backgrounds only
   Loaded with chrome on every front-end page.
   Do NOT restyle borders, radius, fonts, or layout.
   Exclude buttons, submits, checkboxes, radios, file, range, color, hidden.
   ============================================================ */
body.wagn-chrome input[type="text"],
body.wagn-chrome input[type="email"],
body.wagn-chrome input[type="tel"],
body.wagn-chrome input[type="number"],
body.wagn-chrome input[type="url"],
body.wagn-chrome input[type="search"],
body.wagn-chrome input[type="password"],
body.wagn-chrome input[type="date"],
body.wagn-chrome input[type="datetime-local"],
body.wagn-chrome input[type="month"],
body.wagn-chrome input[type="week"],
body.wagn-chrome input[type="time"],
body.wagn-chrome textarea,
body.wagn-chrome select,
body.wagn-chrome .gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
body.wagn-chrome .gform_wrapper textarea,
body.wagn-chrome .gform_wrapper select,
body.wagn-chrome .gform_wrapper .ginput_container input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
body.wagn-chrome .gform_wrapper .ginput_container textarea,
body.wagn-chrome .gform_wrapper .ginput_container select,
body.wagn-chrome .wpforms-field input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
body.wagn-chrome .wpforms-field textarea,
body.wagn-chrome .wpforms-field select,
body.wagn-chrome .kb-form input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
body.wagn-chrome .kb-form textarea,
body.wagn-chrome .kb-form select,
body.wagn-chrome .kadence-blocks-form input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
body.wagn-chrome .kadence-blocks-form textarea,
body.wagn-chrome .kadence-blocks-form select,
body.wagn-chrome .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-radio):not(.wpcf7-acceptance):not(.wpcf7-file),
body.wagn-chrome .fluentform input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
body.wagn-chrome .fluentform textarea,
body.wagn-chrome .fluentform select {
  background: #fff !important;
  background-color: #fff !important;
  color: #3a3048;
}

/* Chrome motion: respect reduced motion for menu / dock / press */
@media (prefers-reduced-motion: reduce) {
  .mobile-nav,
  .mobile-dock,
  .nav-toggle span,
  .mobile-nav__parent,
  body.wagn-chrome .mobile-nav a,
  body.wagn-chrome .mobile-nav__sub a,
  .btn {
    transition: none !important;
  }

  .mobile-nav,
  .mobile-nav.is-open {
    opacity: 1;
    transform: none;
  }

  .mobile-nav.is-open {
    pointer-events: auto;
  }

  .btn:hover,
  .btn:active,
  .mobile-nav__parent:active,
  body.wagn-chrome .mobile-nav a:active,
  body.wagn-chrome .mobile-nav__sub a:active,
  body.wagn-chrome .site-footer__social-link:hover,
  body.wagn-chrome .site-footer__social-link:active {
    transform: none !important;
  }
}


/* ============================================================
   Force-center page/section titles & ledes on designed pages.
   Card/tile h3 titles, nav, footer columns, and form labels stay left.
   ============================================================ */
body.wagn-home .hero__title,
body.wagn-home .hero__lede,
body.wagn-home .partner__title,
body.wagn-home .partner__body,
body.wagn-home .partner__outcomes-label,
body.wagn-home .action__title,
body.wagn-home .action__lede,
body.wagn-home .action__eyebrow,
body.wagn-home .vehicles__header,
body.wagn-home .vehicles__header h2,
body.wagn-home .vehicles__lede,
body.wagn-home .vehicles__eyebrow,
body.wagn-home .features__title,
body.wagn-home .features__copy,
body.wagn-home .spotlight__title,
body.wagn-home .spotlight__lede,
body.wagn-home .qualify__title,
body.wagn-home .qualify__lede,
body.wagn-home .begin__title,
body.wagn-home .begin__lede,
body.wagn-home .community__title,
body.wagn-home .community__lede,
body.wagn-home .info-panel h2,
body.wagn-home .section-heading,
body.wagn-all-vehicles .av-hero__title,
body.wagn-all-vehicles .av-hero__lede,
body.wagn-all-vehicles .av-section-header,
body.wagn-all-vehicles .av-section-header h2,
body.wagn-all-vehicles .av-section-header p,
body.wagn-leasing .lf-hero__title,
body.wagn-leasing .lf-hero__lede,
body.wagn-leasing .lf-section-header,
body.wagn-leasing .lf-section-header h2,
body.wagn-leasing .lf-section-header p,
body.wagn-leasing-landing .ll-hero__title,
body.wagn-leasing-landing .ll-hero__lede,
body.wagn-leasing-landing .ll-section-header,
body.wagn-leasing-landing .ll-section-header h2,
body.wagn-leasing-landing .ll-section-header p,
body.wagn-brochure-landing .bl-hero__title,
body.wagn-brochure-landing .bl-hero__lede,
body.wagn-brochure-landing .bl-section-header,
body.wagn-brochure-landing .bl-section-header h2,
body.wagn-brochure-landing .bl-section-header p,
body.wagn-brochure-landing .bl-cta__title,
body.wagn-blueprint-landing .bpl-hero__title,
body.wagn-blueprint-landing .bpl-hero__lede,
body.wagn-blueprint-landing .bpl-section-header,
body.wagn-blueprint-landing .bpl-section-header h2,
body.wagn-blueprint-landing .bpl-section-header p,
body.wagn-blueprint-landing .bpl-cta__title,
body.wagn-economic-survey-landing .esl-hero__title,
body.wagn-economic-survey-landing .esl-hero__lede,
body.wagn-economic-survey-landing .esl-section-header,
body.wagn-economic-survey-landing .esl-section-header h2,
body.wagn-economic-survey-landing .esl-section-header p,
body.wagn-economic-survey-landing .esl-cta__title,
body.wagn-meta-download-landing .esdl-hero__title,
body.wagn-meta-download-landing .esdl-hero__lede,
body.wagn-meta-download-landing .esdl-section-header,
body.wagn-meta-download-landing .esdl-section-header h2,
body.wagn-meta-download-landing .esdl-section-header p,
body.wagn-meta-download-landing .esdl-human__title,
body.wagn-mobile-opportunity-landing .mol-hero__title,
body.wagn-mobile-opportunity-landing .mol-hero__lede,
body.wagn-mobile-opportunity-landing .mol-section-header,
body.wagn-mobile-opportunity-landing .mol-section-header h2,
body.wagn-mobile-opportunity-landing .mol-section-header p,
body.wagn-mobile-opportunity-landing .mol-cta__title,
body.wagn-vet-all-vehicles .vv-hero__title,
body.wagn-vet-all-vehicles .vv-hero__lede,
body.wagn-vet-all-vehicles .vv-section-header,
body.wagn-vet-all-vehicles .vv-section-header h2,
body.wagn-vet-all-vehicles .vv-section-header p,
body.wagn-about-us .au-hero__title,
body.wagn-about-us .au-hero__lede,
body.wagn-about-us .au-section-header,
body.wagn-about-us .au-section-header h2,
body.wagn-about-us .au-section-header p,
body.wagn-customer-care .cc-hero__title,
body.wagn-customer-care .cc-hero__lede,
body.wagn-customer-care .cc-section-header,
body.wagn-customer-care .cc-section-header h2,
body.wagn-customer-care .cc-section-header p,
body.wagn-cleanpower .cp-hero__title,
body.wagn-cleanpower .cp-hero__lede,
body.wagn-cleanpower .cp-section-header,
body.wagn-cleanpower .cp-section-header h2,
body.wagn-cleanpower .cp-section-header p,
body.wagn-profit-calculator .pc-hero__title,
body.wagn-profit-calculator .pc-hero__lede,
body.wagn-profit-calculator .pc-section-header,
body.wagn-profit-calculator .pc-section-header h2,
body.wagn-profit-calculator .pc-section-header p,
body.wagn-do-i-qualify .diq-hero__title,
body.wagn-do-i-qualify .diq-hero__lede,
body.wagn-do-i-qualify .diq-section-header,
body.wagn-do-i-qualify .diq-section-header h2,
body.wagn-do-i-qualify .diq-section-header p,
body.wagn-do-i-qualify .diq-cta h2,
body.wagn-do-i-qualify .diq-cta p,
body.wagn-which-van .wv-hero__title,
body.wagn-which-van .wv-hero__lede,
body.wagn-which-van .wv-section-header,
body.wagn-which-van .wv-section-header h2,
body.wagn-which-van .wv-section-header p,
body.wagn-which-van .wv-cta h2,
body.wagn-which-van .wv-cta p,
body.wagn-vehicle-product .vp-hero__title,
body.wagn-vehicle-product .vp-hero__lede,
body.wagn-vehicle-product .vp-section-header,
body.wagn-vehicle-product .vp-section-header h2,
body.wagn-vehicle-product .vp-section-header p,
body.wagn-success-stories .ss-hero__title,
body.wagn-success-stories .ss-hero__lede,
body.wagn-success-stories .ss-section-header,
body.wagn-success-stories .ss-section-header h2,
body.wagn-success-stories .ss-section-header p,
body.wagn-blog-resources .br-hero__title,
body.wagn-blog-resources .br-hero__lede,
body.wagn-blog-resources .br-section-header,
body.wagn-blog-resources .br-section-header h2,
body.wagn-blog-resources .br-section-header p,
body.wagn-blog-single .bs-hero__title,
body.wagn-blog-single .bs-hero__meta,
body.wagn-blog-single .bs-hero__cats,
body.wagn-blog-single .bs-brand,
body.wagn-marketing .mk-hero__title,
body.wagn-marketing .mk-hero__lede,
body.wagn-marketing .mk-section-header,
body.wagn-marketing .mk-section-header h2,
body.wagn-marketing .mk-section-header p,
body.wagn-marketing .mk-cta__title,
body.wagn-marketing .mk-cta__lede,
body.wagn-simple .sc-hero__title,
body.wagn-simple .sc-hero__lede,
body.wagn-simple .sc-content h1,
body.wagn-simple .sc-content h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hero + Owner stories: lock optical center (beats Kadence / reveal leftovers) */
body.wagn-home .hero > .container,
body.wagn-home .community > .container {
  text-align: center !important;
}

body.wagn-home .hero__title,
body.wagn-home .hero__lede,
body.wagn-home .community__title,
body.wagn-home .community__lede {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

body.wagn-home .hero__actions {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

body.wagn-home .vehicle-card__body,
body.wagn-home .vehicle-card__title,
body.wagn-home .vehicle-card__label,
body.wagn-home .vehicle-card__cta {
  text-align: center !important;
}

body.wagn-home .vehicle-card__body {
  align-items: center !important;
}

/* ============================================================
   Sitewide mobile fit (shared; page CSS can refine further)
   Keep --page-gutter; do not zero edge padding (1.9.14 restore).
   ============================================================ */
@media (max-width: 599px) {
  :root {
    --header-h: 4.15rem;
    --section-y: clamp(1.85rem, 5vw, 2.75rem);
  }

  body.wagn-chrome {
    overflow-x: clip;
  }

  body.wagn-chrome img,
  body.wagn-chrome video,
  body.wagn-chrome svg,
  body.wagn-chrome iframe {
    max-width: 100%;
  }

  /* Wave SVGs must stay full-bleed (override blanket max-width above) */
  body.wagn-chrome .wave svg,
  body.wagn-chrome .mk-wave svg,
  body.wagn-chrome .av-wave svg,
  body.wagn-chrome .vv-wave svg,
  body.wagn-chrome .br-wave svg,
  body.wagn-chrome .lf-wave svg,
  body.wagn-chrome .ll-wave svg,
  body.wagn-chrome .au-wave svg,
  body.wagn-chrome .cc-wave svg,
  body.wagn-chrome .cp-wave svg,
  body.wagn-chrome .cps-wave svg,
  body.wagn-chrome .pc-wave svg,
  body.wagn-chrome .bl-wave svg,
  body.wagn-chrome .bpl-wave svg,
  body.wagn-chrome .vp-wave svg,
  body.wagn-chrome .ss-wave svg,
  body.wagn-chrome .diq-wave svg,
  body.wagn-chrome .wv-wave svg,
  body.wagn-chrome .esl-wave svg,
  body.wagn-chrome .mol-wave svg {
    max-width: none;
    width: 100%;
  }

  body.wagn-chrome h1,
  body.wagn-chrome h2,
  body.wagn-chrome h3,
  body.wagn-chrome p,
  body.wagn-chrome li,
  body.wagn-chrome .btn {
    overflow-wrap: anywhere;
  }

  /* Stack common CTA pairs without fighting desktop flex rows */
  body.wagn-chrome .av-hero__actions,
  body.wagn-chrome .av-cta__actions,
  body.wagn-chrome .vv-hero__actions,
  body.wagn-chrome .vv-cta__actions,
  body.wagn-chrome .vv-path__actions,
  body.wagn-chrome .vv-community__actions,
  body.wagn-chrome .pc-cta__actions,
  body.wagn-chrome .cc-hero__actions,
  body.wagn-chrome .cc-cta__actions,
  body.wagn-chrome .ss-hero__actions,
  body.wagn-chrome .ss-cta__actions,
  body.wagn-chrome .au-hero__actions,
  body.wagn-chrome .au-cta__actions,
  body.wagn-chrome .cps-hero__actions,
  body.wagn-chrome .cps-cta__actions,
  body.wagn-chrome .lf-hero__actions,
  body.wagn-chrome .lf-cta__actions,
  body.wagn-chrome .ll-hero__actions,
  body.wagn-chrome .ll-cta__actions,
  body.wagn-chrome .bl-hero__actions,
  body.wagn-chrome .bpl-cta__actions,
  body.wagn-chrome .vp-cta__actions,
  body.wagn-chrome .br-hero__actions,
  body.wagn-chrome .mk-hero__actions,
  body.wagn-chrome .mk-cta__actions,
  body.wagn-chrome .diq-hero__actions,
  body.wagn-chrome .diq-result-actions {
    flex-direction: column;
    align-items: stretch;
    max-width: 22rem;
    margin-inline: auto;
  }

  body.wagn-chrome .av-hero__actions .btn,
  body.wagn-chrome .av-cta__actions .btn,
  body.wagn-chrome .vv-hero__actions .btn,
  body.wagn-chrome .vv-cta__actions .btn,
  body.wagn-chrome .vv-path__actions .btn,
  body.wagn-chrome .vv-community__actions .btn,
  body.wagn-chrome .pc-cta__actions .btn,
  body.wagn-chrome .cc-hero__actions .btn,
  body.wagn-chrome .cc-cta__actions .btn,
  body.wagn-chrome .ss-hero__actions .btn,
  body.wagn-chrome .ss-cta__actions .btn,
  body.wagn-chrome .au-hero__actions .btn,
  body.wagn-chrome .au-cta__actions .btn,
  body.wagn-chrome .cps-hero__actions .btn,
  body.wagn-chrome .cps-cta__actions .btn,
  body.wagn-chrome .lf-hero__actions .btn,
  body.wagn-chrome .lf-cta__actions .btn,
  body.wagn-chrome .ll-hero__actions .btn,
  body.wagn-chrome .ll-cta__actions .btn,
  body.wagn-chrome .bl-hero__actions .btn,
  body.wagn-chrome .bpl-cta__actions .btn,
  body.wagn-chrome .vp-cta__actions .btn,
  body.wagn-chrome .br-hero__actions .btn,
  body.wagn-chrome .mk-hero__actions .btn,
  body.wagn-chrome .mk-cta__actions .btn,
  body.wagn-chrome .diq-hero__actions .btn,
  body.wagn-chrome .diq-result-actions .btn {
    width: 100%;
    justify-content: center;
    min-height: 2.85rem;
  }

  /* Touch targets for text links only — do not override social icon boxes */
  body.wagn-chrome .site-footer a:not(.site-footer__social-link):not(.site-footer__logo-link) {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
  }

  body.wagn-chrome .site-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    min-height: 2.85rem;
    padding: 0;
  }

  body.wagn-chrome .site-footer__social-ico {
    width: 1.25rem;
    height: 1.25rem;
    max-width: none;
  }

  body.wagn-chrome .site-footer__grid {
    gap: 2.85rem;
  }

  body.wagn-chrome .site-footer__pair {
    gap: 1.85rem 1rem;
  }

  body.wagn-chrome .site-footer__grid ul {
    gap: 0.2rem;
  }

  body.wagn-chrome .site-footer h2 {
    margin-bottom: 0.7rem;
    font-size: 0.92rem;
    line-height: 1.25;
  }

  body.wagn-chrome .site-footer a {
    font-size: 0.86rem;
  }

  /* Hide mobile dock while full-screen menu is open */
  body.wagn-chrome.wagn-nav-open .mobile-dock {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Keep intentional left alignment for cards / tiles / nav / forms */
body.wagn-home .journey-tile h3,
body.wagn-home .spotlight-tile h3,
body.wagn-home .begin-step--board,
body.wagn-home .begin-step--board h3,
body.wagn-home .begin-step--board p,
body.wagn-home .partner-proof__step,
body.wagn-home .feature-row,
body.wagn-home .features__list,
body.wagn-all-vehicles .av-card__title,
body.wagn-all-vehicles .av-card__body,
body.wagn-vet-all-vehicles .vv-vehicle-card__title,
body.wagn-vet-all-vehicles .vv-vehicle-card__body,
body.wagn-vet-all-vehicles .vv-vehicle-card__bullets,
body.wagn-blog-resources .br-card__title,
body.wagn-blog-resources .br-card__excerpt,
body.wagn-marketing .mk-tile h3,
body.wagn-marketing .mk-tile p,
body.wagn-marketing .mk-card__title,
body.wagn-marketing .mk-card__body,
body.wagn-marketing .mk-faq__q,
body.wagn-marketing .mk-faq__a,
body.wagn-marketing .mk-form-shell,
body.wagn-marketing .mk-form-rail,
body.wagn-marketing .mk-form-timeline__label,
body.wagn-marketing .mk-checklist,
body.wagn-marketing .mk-checklist li,
body.wagn-marketing .mk-quote,
body.wagn-marketing .mk-quote__body,
body.wagn-do-i-qualify .diq-shell,
body.wagn-do-i-qualify .diq-gate__shell,
body.wagn-do-i-qualify .diq-option__title,
body.wagn-do-i-qualify .diq-option__sub,
body.wagn-do-i-qualify .diq-lead,
body.wagn-do-i-qualify .diq-lead__form,
body.wagn-do-i-qualify .diq-tile h3,
body.wagn-do-i-qualify .diq-tile p,
body.wagn-do-i-qualify .diq-result-points,
body.wagn-which-van .wv-shell,
body.wagn-which-van .wv-gate__shell,
body.wagn-which-van .wv-option__title,
body.wagn-which-van .wv-option__sub,
body.wagn-which-van .wv-email,
body.wagn-which-van .wv-email__form,
body.wagn-which-van .wv-tile h3,
body.wagn-which-van .wv-tile p,
body.wagn-which-van .wv-card,
body.wagn-simple .sc-content p,
body.wagn-simple .sc-content li,
body.wagn-chrome .site-nav,
body.wagn-chrome .mobile-nav,
body.wagn-chrome .site-footer__col,
body.wagn-chrome .site-footer__col h3,
body.wagn-chrome label {
  text-align: left !important;
}

/* Salesforce Personalization exit overlays (debut: keep off).
   Prefer pausing the campaign in dataset wnt_engage. Theme no longer
   renders the global_pop_up zone (#menu-footer-menu). */
body > [data-evg-campaign-id],
[data-evg-campaign-id][style*="position: fixed"],
[data-evg-campaign-id][style*="position:fixed"],
.evg-overlay,
.evergage-overlay {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
