/* FireRescue Members v1.4.0: global header, mobile drawer, premium footer.
   Layered after app.css so all other theme and plugin layouts remain unchanged. */

/* Header — clean white with the original FireRescue red-orange accents. */
.frmt-site-header{
  background:rgba(255,255,255,.97);
  border-top:3px solid #f33c1f;
  border-bottom:1px solid rgba(16,24,40,.09);
  box-shadow:0 9px 28px rgba(16,24,40,.065);
  -webkit-backdrop-filter:saturate(1.25) blur(14px);
  backdrop-filter:saturate(1.25) blur(14px);
}
.frmt-site-header .frmt-header-inner,
.frmt-is-logged-in .frmt-site-header .frmt-header-inner{
  display:grid;
  grid-template-columns:minmax(215px,260px) minmax(0,1fr) auto;
  grid-template-areas:'brand nav actions';
  align-items:center;
  gap:clamp(12px,1.8vw,26px);
  min-height:95px;
  padding:8px clamp(20px,2.7vw,36px);
}
.frmt-site-header .frmt-header-logo-img,
.frmt-is-logged-in .frmt-site-header .frmt-header-logo-img{
  width:250px;
  height:90px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
.frmt-site-header .frmt-primary-nav{grid-area:nav;display:block;justify-self:center;min-width:0}
.frmt-site-header .frmt-top-menu{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:2px}
.frmt-site-header .frmt-top-menu>li>a{
  white-space:nowrap;
  font-size:clamp(.84rem,.95vw,.965rem);
  color:#17202e;
  padding:11px clamp(8px,1vw,14px);
  border-radius:12px;
  font-weight:800;
  transition:color .18s ease,background .18s ease;
}
.frmt-site-header .frmt-top-menu>li>a:hover,
.frmt-site-header .frmt-top-menu>li:focus-within>a,
.frmt-site-header .frmt-top-menu>li.current-menu-item>a,
.frmt-site-header .frmt-top-menu>li.current-menu-ancestor>a{
  color:#bc1820;
  background:#fff0ec;
  box-shadow:none;
  transform:none;
}
.frmt-site-header .frmt-top-menu .sub-menu{
  top:calc(100% + 10px);
  border-radius:16px;
  border:1px solid #ecdfd9;
  box-shadow:0 20px 46px rgba(20,28,42,.16);
  padding:9px;
  min-width:230px;
}
.frmt-site-header .frmt-top-menu>li>.sub-menu:after{
  content:"";
  position:absolute;
  height:14px;
  left:0;right:0;top:-14px;
}
.frmt-site-header .frmt-top-menu .sub-menu a{white-space:normal;line-height:1.35;font-size:.93rem}
.frmt-site-header .frmt-top-menu .sub-menu a:hover{color:#b51a19;background:#fff1ec}
.frmt-site-header .frmt-header-actions{grid-area:actions;display:flex;align-items:center;flex-wrap:nowrap;gap:9px}
.frmt-site-header .frmt-header-actions .frmt-action{padding:13px 17px;border-radius:12px;font-size:.93rem;min-height:45px}
.frmt-site-header .frmt-search-action{
  width:44px;height:44px;cursor:pointer;display:grid;place-items:center;
  background:white;color:#263342;
}
.frmt-header-search-wrap{position:relative;flex:none}
.frmt-header-search-panel{
  position:absolute;right:0;top:calc(100% + 13px);z-index:20;
  width:min(375px,calc(100vw - 30px));padding:17px;
  background:#fff;border:1px solid #e6d8d4;border-radius:15px;
  box-shadow:0 18px 52px rgba(16,24,40,.17);
}
.frmt-header-search-panel[hidden]{display:none!important}
.frmt-header-search-panel label{display:block;color:#273444;font-size:.89rem;font-weight:800;margin-bottom:9px}
.frmt-header-search-field{display:flex;gap:7px}
.frmt-header-search-field input{flex:1;min-width:0;width:100%;border:1px solid #aeb8c5;border-radius:9px;padding:10px 12px;background:white;color:#18202c}
.frmt-header-search-field button{border:0;border-radius:9px;padding:10px 12px;background:#e50914;color:#fff;font-weight:800;cursor:pointer}
.frmt-site-header .frmt-login-action:before{display:none}
.frmt-site-header .frmt-menu-toggle{grid-area:toggle;display:none}
.frmt-site-header .frmt-menu-toggle:hover{background:#fff1ec;border-color:#e5b0aa}
.frmt-site-header .frmt-menu-toggle:focus-visible,
.frmt-drawer-close:focus-visible,
.frmt-submenu-toggle:focus-visible,
.frmt-mobile-drawer a:focus-visible,
.frmt-footer-inner a:focus-visible,
.frmt-footer-bottom a:focus-visible,
.frmt-header-search-wrap button:focus-visible,
.frmt-drawer-search button:focus-visible{outline:3px solid #ff9500;outline-offset:3px}

/* Drawer and overlay. Visible only after a real click. */
.frmt-mobile-scrim{
  position:fixed;inset:0;z-index:3000;
  background:rgba(15,22,31,.58);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}
.frmt-mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:3001;
  width:min(440px,100vw);height:100vh;height:100dvh;
  display:flex;flex-direction:column;overflow:hidden;
  background:#fff;color:#161f2c;
  box-shadow:-15px 0 60px rgba(11,18,29,.20);
  border-top:5px solid #ee301d;
  transform:translateX(105%);visibility:hidden;pointer-events:none;
  transition:transform .27s ease,visibility .27s ease;
}
.frmt-mobile-scrim.is-open{opacity:1;visibility:visible;pointer-events:auto}
.frmt-mobile-drawer.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}
body.frmt-drawer-open{overflow:hidden}
.frmt-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px;border-bottom:1px solid #e9e9ec;background:#fff}
.frmt-drawer-heading{display:grid;gap:1px;line-height:1.35}
.frmt-drawer-heading strong{font-size:1.12rem;font-weight:900;letter-spacing:-.025em}
.frmt-drawer-heading span{font-size:.84rem;color:#667085}
.frmt-drawer-close{width:45px;height:45px;flex:none;display:grid;place-items:center;border:1px solid #e7dde0;border-radius:13px;background:#fff7f4;color:#b71620;cursor:pointer}
.frmt-drawer-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:18px 21px 28px;scrollbar-gutter:stable}
.frmt-drawer-section-title{font-size:.75rem!important;font-weight:900!important;letter-spacing:.09em;color:#a12a22!important;text-transform:uppercase;margin:0 0 10px!important}
.frmt-drawer-nav{display:block}
.frmt-drawer-nav .frmt-top-menu{display:grid;gap:6px;align-items:stretch;justify-content:stretch;flex-wrap:nowrap}
.frmt-drawer-nav .frmt-top-menu li{position:relative;min-width:0;display:block}
.frmt-drawer-nav .frmt-top-menu li>a,
.frmt-drawer-utility-link{
  display:flex;align-items:center;min-height:49px;
  color:#1b2634!important;background:#fff;
  padding:12px 13px;border:1px solid #e9e5e7;border-radius:11px;
  font-size:1rem;font-weight:750;line-height:1.3;white-space:normal;
  text-decoration:none!important;box-shadow:none;transform:none;
}
.frmt-drawer-nav .frmt-top-menu li>a:hover,
.frmt-drawer-utility-link:hover{background:#fff4ef!important;border-color:#eab3a4;color:#aa1822!important}
.frmt-drawer-nav .frmt-top-menu .current-menu-item>a,
.frmt-drawer-nav .frmt-top-menu .current-menu-ancestor>a{border-left:4px solid #e50914;background:#fff4ef;color:#ba1420!important;box-shadow:none}
.frmt-drawer-nav .frmt-top-menu .menu-item-has-children>a:after{display:none}
.frmt-drawer-nav .frmt-top-menu .menu-item-has-children>a{padding-right:54px}
.frmt-drawer-nav .frmt-top-menu .sub-menu,
.frmt-drawer-nav .frmt-top-menu .sub-menu .sub-menu{
  position:static;left:auto;top:auto;right:auto;
  display:none;opacity:1;visibility:visible;transform:none;
  margin:5px 0 8px 13px;padding:3px 0 2px 12px;min-width:0;
  border:0;border-left:2px solid #f0cac2;border-radius:0;
  background:transparent;box-shadow:none;gap:5px;
}
.frmt-drawer-nav .frmt-top-menu .sub-menu:before{display:none}
.frmt-drawer-nav .frmt-top-menu li.frmt-expanded>.sub-menu{display:grid}
.frmt-drawer-nav .frmt-top-menu .sub-menu a{min-height:45px;font-size:.94rem;border:1px solid #e9e5e7;background:#fffafa;border-radius:10px;padding:9px 11px;white-space:normal}
.frmt-drawer-nav .frmt-top-menu .sub-menu li.menu-item-has-children>a{padding-right:49px}
.frmt-submenu-toggle{
  position:absolute;top:5px;right:5px;z-index:1;
  display:flex;align-items:center;justify-content:center;
  width:39px;height:39px;padding:0;
  border:1px solid #eedad8;border-radius:9px;background:#fff2ef;color:#c41d1f;
  cursor:pointer;
}
.frmt-submenu-toggle svg{transition:transform .2s ease}
.frmt-expanded>.frmt-submenu-toggle svg{transform:rotate(180deg)}
.frmt-drawer-utility{display:grid;gap:9px;margin-top:22px;padding-top:19px;border-top:1px solid #ece9e9}
.frmt-drawer-utility .frmt-action{display:flex;width:100%;min-height:49px;justify-content:center;font-size:.97rem;text-align:center}
.frmt-drawer-utility .frmt-drawer-section-title{margin-bottom:0!important}
.frmt-drawer-search{margin-top:22px;padding-top:19px;border-top:1px solid #ece9e9}
.frmt-drawer-search label{display:block;font-weight:750;color:#344054;font-size:.89rem;margin:0 0 8px}
.frmt-drawer-search-row{display:flex;gap:7px}
.frmt-drawer-search-row input{width:100%;min-width:0;flex:1;padding:10px;border-radius:10px;border:1px solid #c5cbd4;background:white;color:#101828}
.frmt-drawer-search-row button{border:none;border-radius:10px;background:#dc241b;color:#fff;padding:10px 13px;font-weight:800;cursor:pointer}
.frmt-drawer-public-link{display:inline-flex;margin-top:20px;font-size:.9rem;font-weight:700;color:#a82120;text-decoration:none}

/* Sticky header uses compact dimensions even as pages scroll. */
.frmt-site-header{scroll-margin-top:110px}
.frmt-site-header .frmt-menu-toggle{
  min-height:48px;border-radius:12px;border:1px solid #f0c5bf;
  background:#fff;color:#1c2835;padding:10px 13px;
  gap:11px;align-items:center;font-size:.94rem;
  box-shadow:0 5px 14px rgba(16,24,40,.05);cursor:pointer;
}
.frmt-menu-toggle-icon{display:flex;flex-direction:column;justify-content:center;gap:5px;width:23px;height:24px}
.frmt-menu-toggle-icon span{display:block;width:100%;height:2.5px;border-radius:3px;background:#cf241b}
.frmt-menu-toggle-label{font-weight:850}

/* Premium two-level footer; IMPORTANT: original exact dark background preserved. */
.frmt-site-footer{
  background:radial-gradient(circle at 5% 0%,rgba(229,9,20,.28),transparent 28%),linear-gradient(135deg,#07111b 0%,#0b1621 58%,#101d2a 100%);
  color:#f8fbff;
  border-top:1px solid rgba(255,255,255,.08);
}
.frmt-footer-upper{border-bottom:1px solid rgba(255,255,255,.12)}
.frmt-is-visitor .frmt-site-footer .frmt-footer-inner,
.frmt-is-logged-in .frmt-site-footer .frmt-footer-inner,
.frmt-site-footer .frmt-footer-inner{
  max-width:var(--fr-width);margin:auto;
  display:grid;grid-template-columns:minmax(235px,1.28fr) minmax(145px,.8fr) minmax(165px,.85fr) minmax(230px,1.13fr);
  gap:clamp(24px,3vw,48px);align-items:start;
  padding:49px clamp(20px,2.8vw,40px) 42px;
}
.frmt-site-footer .frmt-footer-brand{display:grid;gap:12px;align-content:start}
.frmt-site-footer .frmt-footer-brand .frmt-logo-img{width:240px;height:100px;max-width:100%;object-fit:contain;object-position:left center}
.frmt-site-footer .frmt-footer-brand p{font-size:.98rem;line-height:1.55;max-width:360px}
.frmt-site-footer .frmt-footer-brand .frmt-footer-small{font-size:.89rem;color:#b7c5d0!important;margin-top:7px!important;max-width:370px}
.frmt-site-footer .frmt-footer-heading{margin:5px 0 17px!important;color:#fff!important;letter-spacing:.12em;font-size:.78rem}
.frmt-site-footer .frmt-footer-menu{display:grid;gap:11px}
.frmt-site-footer .frmt-footer-menu a{color:#f5f7fa;font-weight:700;font-size:.96rem;line-height:1.4}
.frmt-site-footer .frmt-footer-menu a:hover{color:#ffc0a9;text-decoration:underline}
.frmt-site-footer .frmt-footer-note{font-size:.96rem}
.frmt-site-footer .frmt-footer-note p:not(.frmt-footer-heading){color:#c9d4df;max-width:290px;line-height:1.65}
.frmt-site-footer .frmt-footer-note .frmt-action{width:auto;min-height:46px;margin-top:18px;padding:13px 17px;font-size:.93rem;border-radius:12px}
.frmt-site-footer .frmt-footer-note .frmt-action-soft{background:#fff;color:#1b2634!important;border-color:#fff}
.frmt-site-footer .frmt-footer-extra{max-width:var(--fr-width);margin:0 auto;padding:0 clamp(20px,2.8vw,40px) 27px;display:flex;flex-wrap:wrap;align-items:start;gap:14px 24px}
.frmt-footer-extra-label{color:#b9c7d2;letter-spacing:.07em;text-transform:uppercase;font-size:.73rem;font-weight:900;padding-top:5px}
.frmt-footer-extra-list{display:flex;flex-wrap:wrap;gap:9px 20px;list-style:none;margin:0;padding:0}
.frmt-footer-extra-list li{list-style:none}
.frmt-footer-extra-list a{color:#e9f0f7;font-size:.88rem;font-weight:680}
.frmt-footer-extra-list a:hover{color:#ffcab5}
.frmt-site-footer .frmt-footer-bottom{
  width:min(var(--fr-width),100%);margin:0 auto;border-top:0;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:15px 30px;padding:20px clamp(20px,2.8vw,40px) 24px;
  font-size:.86rem;color:#b8c6d1;
}
.frmt-footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px}
.frmt-footer-legal a{color:#c9d5df;text-decoration:none;font-size:.86rem}
.frmt-footer-legal a:hover{color:#fff;text-decoration:underline}

@media (max-width:1360px){
  .frmt-is-visitor .frmt-site-header .frmt-header-inner{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:'brand toggle';
    min-height:75px;gap:12px;
  }
  .frmt-is-visitor .frmt-site-header .frmt-primary-nav,
  .frmt-is-visitor .frmt-site-header .frmt-header-actions{display:none}
  .frmt-is-visitor .frmt-site-header .frmt-menu-toggle{display:inline-flex;justify-self:end}
}
@media (max-width:1480px){
  .frmt-is-logged-in .frmt-site-header .frmt-header-inner{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:'brand toggle';
    min-height:75px;gap:12px;
  }
  .frmt-is-logged-in .frmt-site-header .frmt-primary-nav,
  .frmt-is-logged-in .frmt-site-header .frmt-header-actions{display:none}
  .frmt-is-logged-in .frmt-site-header .frmt-menu-toggle{display:inline-flex;justify-self:end}
}
@media (max-width:1040px){
  .frmt-is-visitor .frmt-site-footer .frmt-footer-inner,
  .frmt-is-logged-in .frmt-site-footer .frmt-footer-inner,
  .frmt-site-footer .frmt-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:33px 28px}
}
@media (max-width:700px){
  .frmt-site-header .frmt-header-inner,
  .frmt-is-visitor .frmt-site-header .frmt-header-inner,
  .frmt-is-logged-in .frmt-site-header .frmt-header-inner{
    min-height:71px;padding:6px 16px;
  }
  .frmt-site-header .frmt-header-logo-img,
  .frmt-is-logged-in .frmt-site-header .frmt-header-logo-img{width:210px;height:72px}
  .frmt-is-visitor .frmt-site-footer .frmt-footer-inner,
  .frmt-is-logged-in .frmt-site-footer .frmt-footer-inner,
  .frmt-site-footer .frmt-footer-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;padding:35px 22px;
  }
  .frmt-site-footer .frmt-footer-brand{grid-column:1/-1}
  .frmt-site-footer .frmt-footer-note{grid-column:1/-1}
  .frmt-site-footer .frmt-footer-bottom{display:grid;padding:20px 22px 27px}
}
@media (max-width:420px){
  .frmt-site-header .frmt-header-logo-img,
  .frmt-is-logged-in .frmt-site-header .frmt-header-logo-img{width:174px;height:66px}
  .frmt-site-header .frmt-menu-toggle{min-height:45px;padding:9px 11px;font-size:.88rem;gap:8px}
  .frmt-drawer-scroll{padding:16px 17px 25px}
  .frmt-drawer-header{padding:15px 17px}
  .frmt-is-visitor .frmt-site-footer .frmt-footer-inner,
  .frmt-is-logged-in .frmt-site-footer .frmt-footer-inner,
  .frmt-site-footer .frmt-footer-inner{grid-template-columns:1fr;gap:24px}
  .frmt-site-footer .frmt-footer-brand,.frmt-site-footer .frmt-footer-note{grid-column:auto}
  .frmt-site-footer .frmt-footer-heading{margin-bottom:10px!important}
}
@media (prefers-reduced-motion:reduce){
  .frmt-mobile-drawer,.frmt-mobile-scrim,.frmt-submenu-toggle svg{transition:none!important}
}

/* Anchor targets remain visible beneath the sticky header. */
#pricing, #frmpfr-v13-free-title, #about-fire-rescue{scroll-margin-top:125px}
