/* ============================================================
   Positive Electrical & Solar - 2026 site chrome
   Header 2026 (template 5607) + Footer 2026 (5608), site-wide.

   GENERATED FILE. Do not edit by hand; edit companion.css or
   refinements.css and rerun tools/extract-chrome-css.py.

   This is NOT the homepage design sheet. companion.css and
   refinements.css style a whole page and are scoped to
   body.pe-dev-homepage, which only home-2026.php emits. Loading
   them on an ordinary page would repaint that page's body
   background, base font, heading colours and mobile container
   padding, none of which is part of "new header and footer".

   So this file is the chrome subset: every rule whose selector
   names one of .ped-topbar .ped-nav .ped-footer .ped-mobilebar
   .ped-btn .ped-tel .ped-dot .ped-sep .ped-pulse .ped-progress,
   plus the custom properties they read and the one keyframe.
   Nothing here matches an element outside the two templates.

   The body class is pe-d2026-chrome, deliberately NOT
   pe-dev-homepage. environment.css hides .modal for that class,
   and .modal is the theme's #modalMakeAppointment, which the
   service pages' "Get In Touch" buttons open. Those buttons stay
   exactly as they are, so this file must never introduce the
   class that hides their target.
   ============================================================ */


/* ---------- Custom properties ---------- */
.elementor {
  --ped-green: #8AC541;
  --ped-green-bright: #a6df57;
  --ped-green-deep: #6fa531;

  --ped-ink: #14161b;
  --ped-ink-2: #1a1d25;
  --ped-ink-3: #20242e;
  --ped-navy: #303442;
  --ped-cream: #f4f5f1;
  --ped-cream-2: #eceee6;
  --ped-white: #ffffff;

  --ped-text-d: #1b1e24;
  --ped-text-l: #eef0ea;
  --ped-muted-d: #6a7078;
  --ped-muted-l: #9aa1ab;
  --ped-body-d: #3c4148;
  --ped-line-d: #e3e4dd;
  --ped-line-l: rgba(255,255,255,.12);

  --ped-display: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ped-body: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ped-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --ped-radius: 4px;
  --ped-radius-lg: 10px;
  --ped-wrap: 1200px;
  --ped-shadow: 0 24px 60px -20px rgba(10,12,16,.45);
  --ped-shadow-sm: 0 10px 30px -12px rgba(10,12,16,.22);
  --ped-ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Keyframes ---------- */
@keyframes ped-pulse { 0%{box-shadow:0 0 0 0 rgba(138,197,65,.6);} 70%{box-shadow:0 0 0 7px rgba(138,197,65,0);} 100%{box-shadow:0 0 0 0 rgba(138,197,65,0);} }

/* ---------- Chrome rules from companion.css ---------- */
.elementor .ped-footer .elementor-widget-heading .elementor-heading-title { color: var(--ped-text-l); }
.elementor .ped-footer__col > .elementor-widget,
.elementor .ped-footer__brand > .elementor-widget { margin-block-end: 0; margin-bottom: 0; }
.elementor .e-con.ped-topbar > .e-con-inner,
.elementor .e-con.ped-nav > .e-con-inner,
.elementor .e-con.ped-footer > .e-con-inner { max-width: var(--ped-wrap); padding-left: 28px; padding-right: 28px; }
.elementor .e-con.ped-footer__grid { padding: 0; }
.elementor .ped-btn .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  font-weight: 600; font-size: 14.5px; line-height: 1;
  padding: 13px 24px; border-radius: var(--ped-radius);
  border: 1.5px solid transparent; white-space: nowrap;
  transition: transform .12s var(--ped-ease), background .2s, color .2s, border-color .2s;
}
.elementor .ped-btn .elementor-button:hover { transform: translateY(-2px); }
.elementor .ped-btn--lg .elementor-button { padding: 17px 30px; font-size: 15.5px; }
.elementor .ped-btn--block .elementor-button { width: 100%; }
.elementor .ped-btn--primary .elementor-button { background: var(--ped-green); color: var(--ped-ink); }
.elementor .ped-btn--primary .elementor-button:hover { background: var(--ped-green-bright); color: var(--ped-ink); }
.elementor .ped-btn--outline .elementor-button { background: transparent; border-color: rgba(255,255,255,.3); color: #fff; }
.elementor .ped-btn--outline .elementor-button:hover { border-color: var(--ped-green); color: var(--ped-green); }
.elementor .ped-btn--dark .elementor-button { background: var(--ped-ink); color: #fff; }
.elementor .ped-btn--dark .elementor-button:hover { background: var(--ped-ink-3); color: #fff; }
.elementor .ped-btn--light .elementor-button { background: #fff; color: var(--ped-ink); }
.elementor .ped-btn .elementor-button-icon { font-size: 17px; }
.elementor .e-con.ped-topbar > .e-con-inner { flex-direction: row; align-items: center; justify-content: space-between; min-height: 38px; gap: 16px; padding-top: 0; padding-bottom: 0; }
.elementor .ped-topbar { border-bottom: 1px solid var(--ped-line-l); }
.elementor .ped-topbar .elementor-widget-text-editor { color: var(--ped-muted-l); font-size: 12.5px; margin: 0; }
.elementor .ped-topbar p { margin: 0; display: flex; align-items: center; gap: 8px; }
.elementor .ped-sep { margin-left: 18px; }
.ped-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ped-green); display: inline-block; }
.ped-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--ped-green); display: inline-block; animation: ped-pulse 2s infinite; }
.elementor .e-con.ped-nav { position: sticky; top: 0; z-index: 200; background: rgba(20,22,27,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ped-line-l); }
.elementor .e-con.ped-nav > .e-con-inner { flex-direction: row; align-items: center; gap: 24px; min-height: 80px; padding-top: 0; padding-bottom: 0; }
.elementor .ped-nav__logo { flex: 0 0 auto; }
.elementor .ped-nav__logo img { height: 46px; width: auto; }
.elementor .ped-nav__menu { flex: 1 1 auto; min-width: 0; }
.elementor .ped-nav .elementor-nav-menu--main .elementor-item { color: var(--ped-text-l); font-family: var(--ped-display); font-weight: 500; font-size: 15px; padding: 4px 0; }
.elementor .ped-nav .elementor-nav-menu--main > ul > li { margin-right: 30px; }
.elementor .ped-nav .elementor-nav-menu--main .elementor-item:hover,
.elementor .ped-nav .elementor-nav-menu--main .elementor-item.highlighted { color: #fff; }
.elementor .ped-nav .elementor-nav-menu--dropdown { background: var(--ped-ink-2); border-radius: var(--ped-radius-lg); box-shadow: var(--ped-shadow); }
.elementor .ped-nav .elementor-nav-menu--dropdown a { color: var(--ped-text-l); font-size: 14px; }
.elementor .ped-nav .elementor-nav-menu--dropdown a:hover { background: var(--ped-ink-3); color: #fff; }
.elementor .ped-nav__phone { flex: 0 0 auto; }
.elementor .ped-nav__phone p { margin: 0; }
.elementor .ped-nav__phone a { color: #fff; font-family: var(--ped-display); font-weight: 600; font-size: 15px; }
.elementor .ped-nav__phone a:hover { color: var(--ped-green); }
.elementor .ped-nav .ped-btn { flex: 0 0 auto; }
.elementor .ped-nav .elementor-menu-toggle { color: #fff; }
.elementor .e-con.ped-head--row .ped-btn { flex: 0 0 auto; }
.elementor .e-con.ped-footer { border-top: 3px solid var(--ped-green); }
.elementor .e-con.ped-footer > .e-con-inner { padding-top: 72px; padding-bottom: 0; }
.elementor .e-con.ped-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 52px; }
.elementor .e-con.ped-footer__col,
.elementor .e-con.ped-footer__brand { padding: 0; align-items: flex-start; gap: 0; }
.elementor .ped-footer,
.elementor .ped-footer .elementor-widget-text-editor { color: var(--ped-muted-l); }
.elementor .ped-footer__logo img { height: 52px; width: auto; margin-bottom: 20px; }
.elementor .ped-footer__addr p { font-size: 14.5px; line-height: 1.9; margin: 0 0 16px; }
.elementor .ped-footer a { color: var(--ped-muted-l); }
.elementor .ped-footer a:hover { color: var(--ped-green); }
.elementor .ped-footer__hours p { font-family: var(--ped-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ped-green); line-height: 1.9; margin: 0; }
.elementor .ped-footer__title .elementor-heading-title { color: #fff; font-family: var(--ped-mono); font-size: 14px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 18px; }
.elementor .ped-footer__links .elementor-icon-list-items { padding: 0; }
.elementor .ped-footer__links .elementor-icon-list-item { margin-bottom: 10px; font-size: 14.5px; }
.elementor .ped-footer__links .elementor-icon-list-icon { display: none; }
.elementor .ped-footer__areas p { font-size: 14.5px; line-height: 1.75; max-width: 24ch; margin: 0; }
.elementor .ped-footer__cta .elementor-widget-text-editor p { font-size: 14px; margin: 0 0 14px; }
.elementor .ped-footer__cta .ped-btn { width: 100%; margin-bottom: 10px; }
.elementor .e-con.ped-footer__bar { flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid var(--ped-line-l); padding: 20px 0; }
.elementor .ped-footer__bar .elementor-widget-text-editor { font-size: 12.5px; }
.elementor .ped-footer__bar p { margin: 0; }
.elementor .ped-footer__region p { font-family: var(--ped-mono); letter-spacing: .12em; text-transform: uppercase; font-size: 11px; }
.elementor .e-con.ped-mobilebar { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 250; flex-direction: row; padding: 0; gap: 0; box-shadow: 0 -6px 20px rgba(0,0,0,.25); }
.elementor .ped-mobilebar__call { flex: 0 0 38%; }
.elementor .ped-mobilebar__quote { flex: 1 1 auto; }
.elementor .ped-mobilebar .elementor-button { width: 100%; border-radius: 0; padding: 16px; font-weight: 700; font-size: 15px; }
.elementor .ped-mobilebar__call .elementor-button { background: var(--ped-ink); color: #fff; }
.elementor .ped-mobilebar__call .elementor-button i { color: var(--ped-green); }
.elementor .ped-mobilebar__quote .elementor-button { background: var(--ped-green); color: var(--ped-ink); }
.ped-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: #8AC541; z-index: 300; box-shadow: 0 0 12px #8AC541; }


@media (max-width: 760px) {
.elementor .ped-sep,
.elementor .ped-topbar__right { display: none !important; }
.elementor .e-con.ped-nav > .e-con-inner { min-height: 64px; gap: 12px; }
.elementor .ped-nav__logo img { height: 38px; }
.elementor .ped-nav__phone { display: none; }
.elementor .e-con.ped-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
.elementor .e-con.ped-footer__brand { grid-column: span 2; }
.elementor .e-con.ped-footer__bar { flex-direction: column; align-items: flex-start; gap: 6px; }
.elementor .e-con.ped-mobilebar { display: flex; }
}


@media (prefers-reduced-motion: reduce) {
.elementor .ped-btn .elementor-button { transition: none; }
.ped-pulse { animation: none; }
}

/* ---------- Chrome rules from refinements.css ---------- */
.elementor .ped-footer__logo,
.elementor .ped-footer__logo .elementor-widget-container { text-align: left; }
.elementor .ped-footer__logo img { margin-left: 0; }
.elementor .ped-footer__addr p { line-height: 1.9; }
.elementor .ped-footer__addr .ped-tel { display: inline-flex; align-items: center; gap: 7px; }
.elementor .ped-footer__addr .ped-tel svg { width: 13px; height: 13px; flex: 0 0 auto; fill: var(--ped-green); }
.elementor .ped-footer__links .elementor-icon-list-item,
.elementor .ped-footer__links .elementor-icon-list-item a { line-height: 1.65; }
.elementor .ped-footer__links .elementor-icon-list-item { margin-bottom: 10px; }
.elementor .ped-footer__areas p,
.elementor .ped-footer__cta .elementor-widget-text-editor p { line-height: 1.75; }
.elementor .ped-nav .elementor-nav-menu--main .elementor-item,
.elementor .ped-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor .ped-nav .elementor-nav-menu--main .elementor-item:focus {
  font-family: var(--ped-display); font-size: 15px; font-weight: 500;
  color: var(--ped-text-l); letter-spacing: 0; padding: 4px 0;
}
.elementor .ped-nav .elementor-nav-menu--main .elementor-item:hover { color: #fff; }
.elementor .ped-nav .elementor-nav-menu--main .sub-arrow { margin-inline-start: 4px; }
.elementor .ped-nav .elementor-nav-menu--main .sub-arrow i { font-size: 11px; }
.elementor .ped-nav__phone .ped-tel { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-family: var(--ped-display); font-weight: 600; font-size: 15px; }
.elementor .ped-nav__phone .ped-tel svg { width: 15px; height: 15px; flex: 0 0 auto; fill: var(--ped-green); }
.elementor .ped-nav__phone .ped-tel:hover { color: var(--ped-green); }
.elementor .e-con.ped-footer__brand { gap: 0; }
.elementor .ped-btn .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: .55rem; }
.elementor .ped-btn .elementor-button-icon { width: 17px; height: 17px; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.elementor .ped-btn--lg .elementor-button { line-height: 17px; }
.elementor .ped-btn.ped-btn--primary .elementor-button:hover,
.elementor .ped-btn.ped-btn--primary .elementor-button:hover .elementor-button-content-wrapper,
.elementor .ped-btn.ped-btn--primary .elementor-button:hover .elementor-button-text,
.elementor .ped-btn.ped-btn--primary .elementor-button:hover .elementor-button-icon,
.elementor .ped-btn.ped-btn--light .elementor-button:hover,
.elementor .ped-btn.ped-btn--light .elementor-button:hover .elementor-button-text,
.elementor .ped-btn.ped-btn--light .elementor-button:hover .elementor-button-icon { color: var(--ped-ink); }
.elementor .ped-btn.ped-btn--outline .elementor-button:hover,
.elementor .ped-btn.ped-btn--outline .elementor-button:hover .elementor-button-text,
.elementor .ped-btn.ped-btn--outline .elementor-button:hover .elementor-button-icon { color: var(--ped-green); }
.elementor .ped-btn.ped-btn--dark .elementor-button:hover,
.elementor .ped-btn.ped-btn--dark .elementor-button:hover .elementor-button-text,
.elementor .ped-btn.ped-btn--dark .elementor-button:hover .elementor-button-icon { color: #fff; }
.elementor .ped-footer__links .elementor-icon-list-text,
.elementor .ped-footer__links .elementor-icon-list-item a .elementor-icon-list-text { color: var(--ped-muted-l); }
.elementor .ped-footer__links .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--ped-green); }
.elementor .ped-footer__areas p { max-width: 24ch; }
.elementor .ped-nav .elementor-nav-menu--main { justify-content: center; }
.elementor .ped-nav ul.elementor-nav-menu > li:last-child { margin-right: 0; }
.elementor .ped-nav .elementor-nav-menu li.d-lg-none { display: none; }
.elementor .ped-nav .elementor-nav-menu [class^="icon-"],
.elementor .ped-nav .elementor-nav-menu [class*=" icon-"] { display: none; }


/* ---------- Desktop submenu ----------
   Measured off the mockup's .nav__drop at 1440: a 264px-min card 14px left of
   its parent label and 4px below the nav, ink-2 on a 1px hairline, 10px
   corners, 8px of padding, holding 14px/500 rows at 10px 12px with 4px
   corners. companion.css set the background, radius and shadow but not the
   border, the panel padding, the min-width or any of the row metrics, so the
   rows ran wider and looser than the mockup's.

   Scoped to ul.sub-menu and above 760 so it cannot reach the mobile sheet,
   which is a <nav> and is styled flat in the mobile pass below. */
@media (min-width: 761px) {
.elementor .ped-nav .elementor-nav-menu--main ul.sub-menu {
    min-width: 264px; padding: 8px; margin-top: 5px;
    background: var(--ped-ink-2);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    box-shadow: 0 24px 60px -20px rgba(10, 12, 16, .45);
  }
.elementor .ped-nav .elementor-nav-menu--main ul.sub-menu::before {
    content: ""; position: absolute; top: -5px; left: 0; width: 100%; height: 5px;
  }
.elementor .ped-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item {
    padding: 10px 12px; font-size: 14px; font-weight: 500;
    font-family: var(--ped-display); color: var(--ped-text-l);
    border-radius: 4px; white-space: nowrap;
  }
.elementor .ped-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover,
.elementor .ped-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:focus,
.elementor .ped-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item.highlighted {
    background: var(--ped-ink-3); color: #fff;
  }
}
.elementor .ped-footer .ped-footer__title .elementor-heading-title { color: #fff; font-weight: 700; line-height: 1.08; }
.elementor .ped-footer__links .elementor-icon-list-item { font-family: var(--ped-body); }


@media (max-width: 760px) {
.elementor .ped-nav > .e-con-inner { flex-wrap: nowrap; justify-content: flex-start; }
.elementor .ped-nav__logo { order: 1; flex: 0 0 auto; }
.elementor .ped-nav > .e-con-inner > .elementor-widget.ped-btn { order: 2; flex: 0 0 auto; margin-inline-start: auto; }
.elementor .ped-nav__menu { order: 3; flex: 0 0 auto; width: auto; position: static; }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown {
    position: absolute; top: 100%; left: 0; right: 0; width: auto; z-index: 20;
    /* Elementor gives the dropdown a 10px top margin for the desktop submenu,
       which left a 9px band of page showing between the nav and the panel. */
    margin-top: 0;
    background: var(--ped-ink-2); padding: 8px 28px 20px;
    /* companion.css rounds the desktop submenu; the mockup's mobile sheet is square. */
    border-radius: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
  }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item {
    display: flex; align-items: center;
    padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .12);
    font-size: 16px; color: var(--ped-text-l);
  }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown .sub-arrow { margin-inline-start: auto; padding: 0 6px; }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown ul ul {
    padding: 0 0 8px 14px; background: transparent; border: 0; box-shadow: none;
    min-width: 0; border-radius: 0;
  }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-sub-item {
    padding: 11px 0; font-size: 15px; font-weight: 500;
    font-family: var(--ped-display); color: var(--ped-text-l);
    white-space: normal; border-radius: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown li:last-child > a.elementor-sub-item { border-bottom: 0; }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item.highlighted,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item[aria-expanded="true"],
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-sub-item,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-sub-item.highlighted {
    background: transparent;
  }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item.highlighted,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item[aria-expanded="true"],
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-sub-item.highlighted {
    color: var(--ped-text-l);
  }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a.elementor-sub-item:hover {
    background: var(--ped-ink-3); color: #fff;
  }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a[aria-expanded="true"] .sub-arrow i,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown a[aria-expanded="true"] .sub-arrow svg,
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown li.elementor-active > a .sub-arrow i {
    transform: rotate(180deg);
  }
.elementor .ped-nav__menu nav.elementor-nav-menu--dropdown .sub-arrow i { transition: transform .2s var(--ped-ease); }
.elementor .e-con.ped-footer__grid { grid-template-columns: 1fr; }
.elementor .e-con.ped-footer__brand { grid-column: auto; }
.elementor .ped-mobilebar .elementor-button { line-height: 1.65; border: 0; }
}

/* ============================================================
   Chrome-mode additions.
   Everything above is lifted verbatim from the design sheets.
   Everything below exists only because this runs on a page whose
   body is not the design.
   ============================================================ */

/* The sticky 2026 nav is 81px tall, so an in-page anchor would
   land underneath it without an offset. The mockup's own value is
   110. A bare html selector is fine here: this sheet only loads
   where the 2026 chrome does. */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }

/* The theme's fixed "CALL US" bar (a WPCode snippet with its own
   inline <style> at z-index 999999) sits on top of .ped-mobilebar,
   which does the same job with a Call and a Quote button. Hide the
   older one.

   The theme's #modalMakeAppointment is deliberately NOT hidden.
   Bootstrap still loads on these pages, so the modal keeps its own
   display:none and its own toggle behaviour, and the service page
   CTAs that open it keep working untouched. */
body.pe-d2026-chrome .fx-callbar { display: none !important; }

@media (max-width: 760px) {
  /* Elementor gives every top-level container 10px of inline
     padding at this breakpoint, which stacks on the chrome's own
     wrap padding. The three boxed chrome bands need it off. Page
     content keeps it, unlike on the homepage where the whole
     design zeroes it. */
  .elementor .e-con.e-con-boxed.ped-topbar,
  .elementor .e-con.e-con-boxed.ped-nav,
  .elementor .e-con.e-con-boxed.ped-footer { padding-inline: 0; }

  /* Clear the fixed mobile bar so it never covers the last of the
     page. Same 56px the design uses. */
  body.pe-d2026-chrome { padding-bottom: 56px; }
}

/* The gap between page content and the footer used to live on the
   theme's footer element, not on the pages:

     #tt-footer { margin-top: 162px }
     @media (max-width: 1024.98px) { #tt-footer { margin-top: 70px } }
     @media (max-width: 766.98px)  { #tt-footer { margin-top: 58px } }

   Replacing the theme footer removed #tt-footer from the page, and the
   gap went with it, so every page's last section ran straight into the
   green border. Same values, moved onto the footer location wrapper.

   The four exceptions are the theme's own, from the site's inline
   customiser CSS: those pages end on a full-bleed block that is meant to
   butt against the footer. They beat the rules above on specificity, so
   source order does not matter. */
body.pe-d2026-chrome .elementor-location-footer { margin-top: 162px; }

body.pe-d2026-chrome.blog .elementor-location-footer,
body.pe-d2026-chrome.single-post .elementor-location-footer,
body.pe-d2026-chrome.page-id-5206 .elementor-location-footer,
body.pe-d2026-chrome.page-id-5305 .elementor-location-footer { margin-top: 0; }

@media (max-width: 1024.98px) {
  body.pe-d2026-chrome .elementor-location-footer { margin-top: 70px; }
}

@media (max-width: 766.98px) {
  body.pe-d2026-chrome .elementor-location-footer { margin-top: 58px; }
}
