/* Pristine header and footer. Ported from Ready Energy's nav.css by way of Top Tier's port,
   re-skinned to Pristine's own dark navy palette and Rajdhani/Montserrat type (design.py).
   Colours are Astra globals with Pristine hex fallbacks, so the customizer palette stays the
   single source of truth (confirmed live palette order 2026-09-30: 0 accent, 1 accent-dark,
   2 white, 3 muted, 4 navy, 5 navy, 6 navy-alt, 7 panel, 8 text). Class prefix pmc- (Pristine
   Mobile Chrome) so nothing here collides with chrome.py's existing pd- site-wide classes.
   Link rules start with `body .pmc-hdr` / `body .pmc-ftr`: Elementor's kit emits `a` colours at
   (0,1,1) after this file loads, and a single class loses to it on specificity. */
:root{
  --pmc-accent:var(--ast-global-color-0,#2A8AE0);
  --pmc-accent-dark:var(--ast-global-color-1,#1E70B8);
  --pmc-white:var(--ast-global-color-2,#FFFFFF);
  --pmc-muted:var(--ast-global-color-3,#A3BFD9);
  --pmc-navy:var(--ast-global-color-4,#0B1C2C);
  --pmc-navy-alt:var(--ast-global-color-6,#112D45);
  --pmc-panel:var(--ast-global-color-7,#163856);
  --pmc-text:var(--ast-global-color-8,#F0F4F8);
  --pmc-line:rgba(255,255,255,.14);
}
.pmc-wrap{max-width:1240px;margin:0 auto;padding:0 20px;box-sizing:border-box}
body .pmc-hdr a,body .pmc-ftr a{text-decoration:none}
body .pmc-hdr,body .pmc-ftr{font-family:'Montserrat',sans-serif}

/* ---- tier 1: utility bar ---- */
.pmc-util{background:var(--pmc-navy-alt);color:var(--pmc-white);font-size:14px;line-height:1.4}
.pmc-util .pmc-wrap{display:flex;align-items:center;justify-content:space-between;min-height:38px;gap:24px}
body .pmc-hdr .pmc-promo{display:inline-flex;align-items:center;gap:6px;color:var(--pmc-white);font-family:'Rajdhani',sans-serif;font-weight:700;font-size:15px;letter-spacing:.2px}
body .pmc-hdr .pmc-promo .pmc-cta{color:var(--pmc-accent);text-transform:uppercase;letter-spacing:1.2px;margin-left:4px}
body .pmc-hdr .pmc-promo:hover .pmc-cta{color:var(--pmc-white)}
.pmc-promo .pmc-mob{display:none}
.pmc-util-r{display:flex;align-items:center;gap:14px;white-space:nowrap}
.pmc-sep{opacity:.4}
body .pmc-hdr .pmc-util .pmc-tel{font-weight:700;font-size:15px;color:var(--pmc-white);white-space:nowrap}
.pmc-soc{display:inline-flex;align-items:center;gap:12px}
body .pmc-hdr .pmc-soc a{display:inline-flex;align-items:center;justify-content:center;color:var(--pmc-muted)}
body .pmc-hdr .pmc-soc a:hover{color:var(--pmc-white)}
.pmc-soc svg{width:15px;height:15px;display:block;fill:currentColor}

/* ---- tier 2: logo, nav, phone, CTA ---- */
.pmc-bar{background:var(--pmc-panel);border-bottom:1px solid rgba(255,255,255,.06)}
.pmc-bar .pmc-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px;position:relative}
.pmc-logo{flex:none;display:block;line-height:0}
.pmc-logo img{width:80px;height:auto;display:block}
.pmc-logo.pmc-text{font-family:'Rajdhani',sans-serif;font-weight:700;text-transform:uppercase;font-size:20px;line-height:1.1;color:var(--pmc-white);max-width:200px}

.pmc-nav{display:flex;align-items:center;gap:26px;flex:1;justify-content:center}
.pmc-item{position:relative}
.pmc-item.pmc-wide{position:relative}  /* 1.0.2: the one-column Services panel opens under Services */
body .pmc-hdr .pmc-item > a{font-family:'Rajdhani',sans-serif;font-weight:600;font-size:18px;letter-spacing:.3px;
  text-transform:uppercase;color:var(--pmc-text);display:flex;align-items:center;gap:6px;min-height:112px;white-space:nowrap}
body .pmc-hdr .pmc-item > a:hover,body .pmc-hdr .pmc-item:focus-within > a,body .pmc-hdr .pmc-item.pmc-cur > a{color:var(--pmc-accent)}
.pmc-caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.pmc-item:hover .pmc-caret,.pmc-item:focus-within .pmc-caret,.pmc-item.pmc-open .pmc-caret{transform:rotate(225deg) translateY(1px)}

body .pmc-hdr .pmc-tel-bar{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:16px;color:var(--pmc-text);white-space:nowrap}
body .pmc-hdr .pmc-tel-bar:hover{color:var(--pmc-accent)}
body .pmc-hdr a.pmc-btn{box-sizing:border-box;max-width:100%;background:var(--pmc-accent);color:var(--pmc-white);
  font-family:'Rajdhani',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;
  font-size:15px;line-height:1.2;padding:14px 26px;border-radius:6px;white-space:nowrap;display:inline-block;
  text-align:center;flex:none;border:2px solid transparent;transition:background .2s,color .2s}
@media (hover:hover){ body .pmc-hdr a.pmc-btn:hover,body .pmc-hdr a.pmc-call:hover{background:var(--pmc-accent-dark);color:var(--pmc-white)} }

/* ---- mega panel and dropdowns (dark, matches the header) ---- */
.pmc-mega{position:absolute;top:100%;background:var(--pmc-navy-alt);border:1px solid rgba(255,255,255,.08);
  border-top:3px solid var(--pmc-accent);border-radius:0 0 8px 8px;box-shadow:0 24px 48px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:700;box-sizing:border-box}
.pmc-item:hover > .pmc-mega,.pmc-item:focus-within > .pmc-mega,.pmc-item.pmc-open > .pmc-mega{opacity:1;visibility:visible}
/* One group: a single, narrower column rather than Top Tier's 2-up grid. */
.pmc-mega.pmc-full{left:-24px;width:min(380px,calc(100vw - 40px));padding:26px 28px 0}
.pmc-mega.pmc-small{left:-24px;min-width:300px;padding:12px 22px}
.pmc-cols{display:grid;grid-template-columns:1fr;gap:0}
.pmc-colh{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--pmc-accent);padding-bottom:10px;border-bottom:2px solid var(--pmc-accent);margin:0 0 6px;line-height:1.3}
body .pmc-hdr .pmc-col a,body .pmc-hdr .pmc-mega.pmc-small a{display:flex;align-items:flex-start;gap:12px;padding:10px 0;color:var(--pmc-text)}
.pmc-lbl{display:block;line-height:1.35}
.pmc-lbl b{display:block;font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;transition:color .15s}
.pmc-lbl small{display:block;font-size:13px;color:var(--pmc-muted);font-weight:400;margin-top:3px}
body .pmc-hdr .pmc-col a:hover .pmc-lbl b,body .pmc-hdr .pmc-mega.pmc-small a:hover .pmc-lbl b,
body .pmc-hdr .pmc-mega a[aria-current] .pmc-lbl b{color:var(--pmc-accent)}
body .pmc-hdr .pmc-mega.pmc-small a{border-bottom:1px solid var(--pmc-line)}
body .pmc-hdr .pmc-mega.pmc-small a:last-child{border-bottom:0}
.pmc-strip{margin:20px -28px 0;padding:15px 28px;background:rgba(0,0,0,.18);border-top:1px solid var(--pmc-line);
  border-radius:0 0 8px 8px;display:flex;flex-direction:column;gap:8px}
body .pmc-hdr .pmc-strip a{display:inline-flex;color:var(--pmc-accent);font-family:'Montserrat',sans-serif;font-size:14px}
body .pmc-hdr .pmc-strip a:hover{text-decoration:underline}

/* ---- menu icons: single accent tone ---- */
.pmc-ico{width:22px;height:22px;flex:none;color:var(--pmc-accent);margin-top:-1px;transition:color .15s}
body .pmc-hdr a:hover .pmc-ico{color:var(--pmc-white)}

/* ---- controls Astra would otherwise repaint ----
   Astra styles every bare <button> with its own background, border, radius and padding, and
   every property needs !important or the click/focus state shows a solid accent block. */
.pmc-burger,.pmc-x,.pmc-sback,.pmc-drill{font-family:inherit!important;text-transform:none!important;letter-spacing:normal!important}
.pmc-burger,.pmc-x{display:none;background:none!important;border:0!important;box-shadow:none!important;
  padding:0!important;margin:0!important;cursor:pointer;color:var(--pmc-text)!important;line-height:0!important;min-height:0!important}
.pmc-burger:hover,.pmc-burger:focus,.pmc-x:hover,.pmc-x:focus{background:none!important;color:var(--pmc-accent)!important}
.pmc-burger svg{width:28px;height:28px;display:block}
.pmc-x svg{width:24px;height:24px;display:block}

/* ---- both rows stick together. The WRAPPER is the sticky element: a sticky row is bounded by
   its own parent, so sticking the rows one by one lets them scroll away. ---- */
.pmc-hdr{position:sticky;top:0;z-index:600}
.admin-bar .pmc-hdr{top:32px}
@media(max-width:782px){ .admin-bar .pmc-hdr{top:46px} }
@media(max-width:600px){ .admin-bar .pmc-hdr{top:0} }

/* ---- footer ---- */
.pmc-ftr{background:var(--pmc-navy-alt);color:var(--pmc-muted)}
body .pmc-ftr a{color:var(--pmc-text)}
body .pmc-ftr a:hover,body .pmc-ftr a:focus{color:var(--pmc-accent);text-decoration:underline}
.pmc-fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:60px 0 44px}
.pmc-fh{font-family:'Rajdhani',sans-serif;font-size:13px;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--pmc-accent);margin:0 0 14px;font-weight:700;line-height:1.3}
.pmc-fgrid nav a,.pmc-fgrid p,.pmc-fgrid .pmc-fline{display:block;font-size:15px;padding:6px 0;line-height:1.5;margin:0}
.pmc-fbrand .pmc-logo{display:inline-block;padding:0 0 14px}
.pmc-fbrand .pmc-logo img{width:96px;height:auto}
.pmc-fbrand .pmc-ftag{font-size:14px;color:var(--pmc-muted);margin:0 0 16px}
body .pmc-ftr .pmc-ftel{display:block;padding:4px 0;color:var(--pmc-white);font-family:'Rajdhani',sans-serif;font-weight:700;font-size:19px}
body .pmc-ftr .pmc-femail{display:block;padding:2px 0 10px;font-size:15px}
.pmc-fbrand .pmc-fline{font-size:14px;color:var(--pmc-muted)}
.pmc-fsoc{display:flex;gap:10px;padding:14px 0 4px}
body .pmc-ftr .pmc-fsoc a{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0;color:var(--pmc-muted)}
body .pmc-ftr .pmc-fsoc a:hover{border-color:var(--pmc-accent);color:var(--pmc-white)}
.pmc-fsoc svg{width:14px;height:14px;fill:currentColor}
.pmc-farea-text{font-size:14.5px;line-height:1.6;color:var(--pmc-muted);margin:0;max-width:220px}
/* Footer CTA pair reuses the mobile pcta buttons, sized down for a footer column. */
.pmc-fbrand .pmc-pcta{margin-top:16px;padding:0;background:none;border:0;display:flex;flex-direction:column;gap:10px;max-width:220px}
body .pmc-ftr a.pmc-btn2{display:block;text-align:center;font-family:'Rajdhani',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.6px;font-size:14px;padding:12px 18px;border-radius:6px;
  background:var(--pmc-accent);color:var(--pmc-white)!important;border:2px solid var(--pmc-accent)}
body .pmc-ftr a.pmc-btn2.pmc-ghost{background:transparent;color:var(--pmc-accent)!important;border-color:var(--pmc-muted)}
@media (hover:hover){
  body .pmc-ftr a.pmc-btn2:hover{background:var(--pmc-accent-dark);border-color:var(--pmc-accent-dark);color:var(--pmc-white)!important}
  body .pmc-ftr a.pmc-btn2.pmc-ghost:hover{border-color:var(--pmc-accent);color:var(--pmc-white)!important}
}
/* The bottom padding keeps the last line clear of the floating plus button (right), 24px offset
   plus its 60px height = 84; 104px used, matching Top Tier's figure. */
.pmc-legal{border-top:1px solid rgba(255,255,255,.14);padding:22px 0 104px;font-size:13.5px;color:var(--pmc-muted);
  display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap}
.pmc-legal-links{display:flex;gap:20px;flex-wrap:wrap}
body .pmc-ftr .pmc-legal a{color:var(--pmc-text)}

/* ---- narrower desktops: tighten before collapsing ---- */
@media(max-width:1200px){
  .pmc-nav{gap:18px}
  body .pmc-hdr .pmc-item > a{font-size:16px}
  body .pmc-hdr .pmc-tel-bar{display:none}
  body .pmc-hdr .pmc-bar a.pmc-btn{padding:13px 18px;font-size:14px}
}

/* ---- mobile and tablet ---- */
.pmc-screen{display:none}
.pmc-call{display:none}  /* 1.0.2: Call Now beside the menu button wherever the menu button shows */
@media(max-width:1024px){
  .pmc-nav,body .pmc-hdr .pmc-bar a.pmc-btn{display:none}
  .pmc-burger,.pmc-x{display:block}
  .pmc-bar .pmc-wrap{gap:14px}
  body .pmc-hdr a.pmc-call{display:inline-flex;align-items:center;gap:8px;margin-left:auto;background:var(--pmc-accent);
    color:var(--pmc-white);font-family:'Rajdhani',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;
    font-size:15px;line-height:1;padding:12px 16px;border-radius:6px;white-space:nowrap;flex:none}
  body .pmc-hdr a.pmc-call svg{width:16px;height:16px;flex:none}
  body .pmc-hdr .pmc-util .pmc-tel,.pmc-sep{display:none}  /* the number now lives in the Call Now button */
  .pmc-bar .pmc-wrap{min-height:100px}
  .pmc-logo img{width:68px}
  .pmc-util .pmc-wrap{flex-wrap:wrap;justify-content:center;gap:4px 16px;padding:7px 16px;font-size:13px;
    text-align:center;min-height:0}
  .pmc-promo{justify-content:center}
  .pmc-promo .pmc-desk{display:none}
  .pmc-promo .pmc-mob{display:inline}
  .pmc-util-r{justify-content:center}
  body .pmc-hdr .pmc-util .pmc-tel{font-size:14px}
  .pmc-fgrid{grid-template-columns:1fr 1fr;gap:34px}
  .pmc-fareas{grid-column:auto}
  .pmc-screen{display:flex;flex-direction:column;position:fixed;inset:0;background:var(--pmc-navy);z-index:9000;
    transform:translateX(100%);transition:transform .25s,visibility .25s;visibility:hidden}
  .pmc-screen.pmc-open{transform:none;visibility:visible}
  .pmc-shead{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;
    border-bottom:1px solid rgba(255,255,255,.12);min-height:76px;box-sizing:border-box}
  .pmc-shead .pmc-logo img{width:56px}
  .pmc-sback{display:flex!important;align-items:center;gap:12px;font-family:'Rajdhani',sans-serif!important;
    font-weight:700!important;font-size:18px!important;color:var(--pmc-accent)!important;background:none!important;
    border:0!important;padding:0!important;cursor:pointer;box-shadow:none!important}
  .pmc-slist{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}
  body .pmc-hdr .pmc-slist a,.pmc-slist button.pmc-drill{display:flex!important;width:100%;box-sizing:border-box;align-items:center;
    justify-content:space-between;gap:14px;padding:18px 22px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;
    border-radius:0!important;background:none!important;box-shadow:none!important;font-family:'Montserrat',sans-serif!important;
    font-size:17px!important;font-weight:600!important;color:var(--pmc-text)!important;text-align:left;cursor:pointer;
    line-height:1.35!important;min-height:0!important}
  body .pmc-hdr .pmc-slist a{justify-content:flex-start}
  .pmc-slist a .pmc-lbl{flex:1}
  .pmc-slist .pmc-lbl b{font-size:17px;font-weight:600;color:var(--pmc-text)}
  .pmc-slist .pmc-lbl small{color:var(--pmc-muted)}
  .pmc-cap{padding:20px 22px 8px;font-family:'Rajdhani',sans-serif;font-size:12px;letter-spacing:1.6px;
    text-transform:uppercase;color:var(--pmc-accent);font-weight:700;background:rgba(0,0,0,.2)}
  .pmc-chev{width:9px;height:9px;border-right:2px solid var(--pmc-muted);border-top:2px solid var(--pmc-muted);transform:rotate(45deg);flex:none}
  .pmc-chev.pmc-back{transform:rotate(-135deg);border-color:var(--pmc-accent)}
  .pmc-pcta{padding:16px 20px calc(22px + env(safe-area-inset-bottom));background:rgba(0,0,0,.2);
    border-top:1px solid rgba(255,255,255,.12);display:grid;gap:12px}
  body .pmc-hdr .pmc-pcta a.pmc-btn2{display:block;text-align:center;white-space:normal}
}
@media(max-width:767px){
  /* Phones keep the two things a visitor acts on: the promo link and the number. Hours and
     service area live in the footer and on /contact-us/. */
  .pmc-soc,.pmc-sep{display:none}  /* the divider only separates the icons from the number */
  .pmc-util-r{display:none}  /* 1.0.2: nothing left in it on phones (icons hidden, number in Call Now) */
  .pmc-util-r{gap:10px}
  .pmc-bar .pmc-wrap{min-height:92px}
  .pmc-fgrid{grid-template-columns:1fr;gap:28px;padding:48px 0 36px}
  .pmc-legal{flex-direction:column;align-items:flex-start;padding-bottom:96px}
}
@media(max-width:544px){
  .pmc-logo img{width:58px}
  .pmc-bar .pmc-wrap{min-height:88px}
}

/* Nothing in the chrome may ever exceed its box. Inline SVGs without a size once laid out at
   300x150 when CSS failed (Ready Energy). */
.pmc-hdr svg,.pmc-ftr svg{max-width:100%;height:auto}

/* 1.0.3: the phone menu's pinned Call / Book Online had no button style. .pmc-btn2 was styled for .pmc-ftr only,
   and the footer's pair came out in 1.0.1. The footer's own rules, re-scoped to the menu screens. */
body .pmc-screen .pmc-pcta{display:flex;flex-direction:column;gap:10px}
body .pmc-screen .pmc-pcta a.pmc-btn2{display:block;text-align:center;font-family:'Rajdhani',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.6px;font-size:14px;padding:12px 18px;border-radius:6px;
  background:var(--pmc-accent);color:var(--pmc-white)!important;border:2px solid var(--pmc-accent)}
body .pmc-screen .pmc-pcta a.pmc-btn2.pmc-ghost{background:transparent;color:var(--pmc-accent)!important;border-color:var(--pmc-muted)}

/* 1.0.4: the planned menu. Services in two columns (his two Our Services groups); Areas We Serve's towns in two. */
@media (min-width:1025px){
  .pmc-mega.pmc-full{width:min(640px,calc(100vw - 40px))}
  .pmc-mega.pmc-full .pmc-cols{grid-template-columns:repeat(2,1fr);column-gap:36px}
  .pmc-small.pmc-two{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;min-width:400px}
}
