/* ==========================================================================
   Fulton Premier Bank — modern React-style navbar + mobile drawer
   Injected on top of the legacy theme header (which is hidden via .fp-legacy-hide)
   ========================================================================== */
:root{
  --fp-navy:#18407c;
  --fp-navy-dark:#102c57;
  --fp-gold:#c9a24b;
  --fp-gold-soft:#ccb892;
  --fp-ink:#1a2233;
  --fp-nav-h:76px;
  --fp-nav-h-scrolled:64px;
  --fp-ease:cubic-bezier(.4,0,.2,1);
}
.fp-legacy-hide{display:none !important;}
*,*::before,*::after{box-sizing:border-box;}

.fp-shell{display:contents;font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
/* ensure legacy font/inheritance reaches the generated nav even with display:contents */
.fp-topbar,.fp-nav,.fp-drawer{font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.fp-container{max-width:1240px;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:22px;}

/* --- slim utility bar --- */
.fp-topbar{background:var(--fp-navy-dark);color:#dfe6f2;font-size:13px;}
.fp-topbar .fp-container{height:40px;justify-content:space-between;gap:16px;}
.fp-topbar__group{display:flex;align-items:center;gap:26px;min-width:0;}
.fp-topbar__item{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fp-topbar__item svg{flex:0 0 auto;opacity:.8;}
.fp-topbar__item b{color:#fff;font-weight:600;}
.fp-topbar a{color:#dfe6f2;text-decoration:none;transition:color .2s var(--fp-ease);}
.fp-topbar a:hover{color:var(--fp-gold-soft);}

/* --- main sticky nav --- */
.fp-nav{position:sticky;top:0;z-index:1000;background:#fff;
  box-shadow:0 1px 0 rgba(16,44,87,.08);
  transition:box-shadow .3s var(--fp-ease),background .3s var(--fp-ease);}
.fp-nav.fp-scrolled{box-shadow:0 8px 30px rgba(16,44,87,.12);}
.fp-nav .fp-container{height:var(--fp-nav-h);transition:height .3s var(--fp-ease);}
.fp-nav.fp-scrolled .fp-container{height:var(--fp-nav-h-scrolled);}

.fp-logo{display:flex;align-items:center;margin-right:auto;flex:0 0 auto;}
.fp-logo img{height:46px;width:auto;display:block;transition:height .3s var(--fp-ease);}
.fp-nav.fp-scrolled .fp-logo img{height:40px;}

/* desktop links */
.fp-links{display:flex;align-items:center;gap:6px;}
.fp-link{position:relative;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  padding:10px 13px;color:var(--fp-ink);font-size:15px;font-weight:600;
  text-decoration:none;letter-spacing:.1px;border-radius:8px;
  background:none;border:0;cursor:pointer;font-family:inherit;
  transition:color .2s var(--fp-ease),background .2s var(--fp-ease);}
.fp-link::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;
  background:var(--fp-gold);border-radius:2px;transform:scaleX(0);transform-origin:left;
  transition:transform .28s var(--fp-ease);}
.fp-link:hover{color:var(--fp-navy);}
.fp-link:hover::after,.fp-link.fp-active::after{transform:scaleX(1);}
.fp-link.fp-active{color:var(--fp-navy);}

/* dropdown */
.fp-dd{position:relative;}
.fp-dd__caret{transition:transform .25s var(--fp-ease);}
.fp-dd:hover .fp-dd__caret,.fp-dd.fp-open .fp-dd__caret{transform:rotate(180deg);}
.fp-dd__menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:230px;background:#fff;border-radius:14px;padding:10px;
  box-shadow:0 18px 50px rgba(16,44,87,.18);border:1px solid rgba(16,44,87,.07);
  opacity:0;visibility:hidden;transition:opacity .22s var(--fp-ease),transform .22s var(--fp-ease);}
.fp-dd__menu::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
.fp-dd:hover .fp-dd__menu,.fp-dd.fp-open .fp-dd__menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.fp-dd__item{display:block;padding:11px 14px;border-radius:9px;color:var(--fp-ink);
  font-size:14.5px;font-weight:600;text-decoration:none;transition:background .18s var(--fp-ease),color .18s var(--fp-ease);}
.fp-dd__item:hover{background:#f2f5fb;color:var(--fp-navy);}

/* CTA */
.fp-cta{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;
  padding:11px 22px;border-radius:10px;background:var(--fp-navy);color:#fff;
  font-size:14.5px;font-weight:700;text-decoration:none;letter-spacing:.2px;
  box-shadow:0 6px 18px rgba(24,64,124,.28);
  transition:transform .2s var(--fp-ease),background .2s var(--fp-ease),box-shadow .2s var(--fp-ease);}
.fp-cta:hover{background:var(--fp-gold);color:var(--fp-navy-dark);transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(201,162,75,.4);}
.fp-cta svg{transition:transform .2s var(--fp-ease);}
.fp-cta:hover svg{transform:translateX(3px);}

/* hamburger */
.fp-burger{display:none;width:46px;height:46px;border:0;background:none;cursor:pointer;
  border-radius:10px;position:relative;flex:0 0 auto;transition:background .2s var(--fp-ease);}
.fp-burger:hover{background:#f2f5fb;}
.fp-burger span{position:absolute;left:11px;right:11px;height:2.5px;border-radius:3px;background:var(--fp-navy);
  transition:transform .3s var(--fp-ease),opacity .2s var(--fp-ease),top .3s var(--fp-ease);}
.fp-burger span:nth-child(1){top:15px;}
.fp-burger span:nth-child(2){top:22px;}
.fp-burger span:nth-child(3){top:29px;}
.fp-burger.fp-open span:nth-child(1){top:22px;transform:rotate(45deg);}
.fp-burger.fp-open span:nth-child(2){opacity:0;}
.fp-burger.fp-open span:nth-child(3){top:22px;transform:rotate(-45deg);}

/* --- mobile drawer --- */
.fp-overlay{position:fixed;inset:0;background:rgba(16,28,54,.55);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;z-index:1100;transition:opacity .35s var(--fp-ease),visibility .35s var(--fp-ease);}
.fp-overlay.fp-open{opacity:1;visibility:visible;}
.fp-drawer{position:fixed;top:0;right:0;height:100%;width:340px;max-width:86vw;background:#fff;z-index:1200;
  display:flex;flex-direction:column;transform:translateX(100%);
  box-shadow:-20px 0 60px rgba(16,44,87,.25);
  transition:transform .4s var(--fp-ease);overflow-y:auto;overscroll-behavior:contain;}
.fp-drawer.fp-open{transform:translateX(0);}
.fp-drawer__head{display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;border-bottom:1px solid rgba(16,44,87,.1);position:sticky;top:0;background:#fff;}
.fp-drawer__head img{height:38px;width:auto;}
.fp-close{width:42px;height:42px;border:0;background:#f2f5fb;border-radius:10px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--fp-navy);
  transition:background .2s var(--fp-ease),transform .2s var(--fp-ease);}
.fp-close:hover{background:#e6ecf7;transform:rotate(90deg);}
.fp-drawer__links{padding:10px 14px 0;display:flex;flex-direction:column;}
.fp-drawer__links a,.fp-drawer__acc-btn{display:flex;align-items:center;gap:12px;
  padding:15px 12px;color:var(--fp-ink);font-size:16px;font-weight:600;text-decoration:none;
  border-radius:10px;border:0;background:none;cursor:pointer;font-family:inherit;width:100%;text-align:left;
  border-bottom:1px solid rgba(16,44,87,.06);transition:background .18s var(--fp-ease),color .18s var(--fp-ease);}
.fp-drawer__links a{justify-content:flex-start;}
.fp-drawer__acc-btn{justify-content:space-between;}
.fp-drawer__links a:hover,.fp-drawer__acc-btn:hover{background:#f2f5fb;color:var(--fp-navy);}
.fp-drawer__links a.fp-active{color:var(--fp-navy);}
.fp-drawer__links a.fp-active::before{content:"";width:4px;height:18px;background:var(--fp-gold);border-radius:3px;flex:0 0 auto;}
.fp-acc__caret{transition:transform .3s var(--fp-ease);}
.fp-acc.fp-open .fp-acc__caret{transform:rotate(180deg);}
.fp-acc__panel{max-height:0;overflow:hidden;transition:max-height .35s var(--fp-ease);}
.fp-acc__panel a{padding-left:26px;font-size:15px;font-weight:500;color:#44506a;border-bottom:1px solid rgba(16,44,87,.05);}
.fp-drawer__cta{margin:18px 20px 28px;}
.fp-drawer__cta .fp-cta{width:100%;justify-content:center;padding:15px;}
.fp-drawer__contact{padding:0 24px 28px;color:#44506a;font-size:14px;display:flex;flex-direction:column;gap:10px;}
.fp-drawer__contact a{color:var(--fp-navy);text-decoration:none;font-weight:600;}

html.fp-lock,body.fp-lock{overflow:hidden !important;}

/* --- responsive --- */
@media (max-width:1024px){
  .fp-links,.fp-nav .fp-cta{display:none;}
  .fp-burger{display:block;}
  .fp-topbar{display:none;}
  .fp-container{padding:0 18px;}
  .fp-logo img{height:40px;}
}
@media (min-width:1025px){
  .fp-drawer,.fp-overlay{display:none;}
}
@media (max-width:420px){
  .fp-logo img{height:34px;}
}

/* ===== iOS install modal (howtoModal) ===== */
#howtoModal.fp-ios{position:fixed;inset:0;background:rgba(16,28,54,.72);backdrop-filter:blur(3px);z-index:12000;display:none;overflow-y:auto;padding:40px 16px;}
#howtoModal.fp-ios.open{display:block;}
.fp-ios-box{position:relative;max-width:900px;margin:0 auto;background:#fff;border-radius:18px;padding:34px 30px 30px;box-shadow:0 30px 80px rgba(0,0,0,.4);font-family:"Montserrat",-apple-system,sans-serif;}
.fp-ios-close{position:absolute;top:14px;right:18px;width:40px;height:40px;border-radius:10px;background:#f2f5fb;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;color:var(--fp-navy);cursor:pointer;transition:.2s;}
.fp-ios-close:hover{background:#e6ecf7;transform:rotate(90deg);}
.fp-ios-eyebrow{color:var(--fp-gold);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:12px;}
.fp-ios-box h3{color:var(--fp-navy);font-size:26px;margin:6px 0 10px;font-weight:800;}
.fp-ios-lead{color:#44506a;font-size:15px;line-height:1.6;margin:0 0 24px;}
.fp-ios-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fp-ios-step{background:#f7f9fc;border:1px solid rgba(16,44,87,.08);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;}
.fp-ios-step .shot{background:#eef2f8;display:flex;align-items:center;justify-content:center;padding:14px;height:340px;}
.fp-ios-step .shot img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;border-radius:6px;}
.fp-ios-step .body{padding:16px 16px 20px;position:relative;}
.fp-ios-step .num{position:absolute;top:-18px;left:16px;width:36px;height:36px;border-radius:50%;background:var(--fp-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 6px 16px rgba(24,64,124,.35);}
.fp-ios-step h4{color:var(--fp-navy);font-size:16px;margin:14px 0 6px;font-weight:700;}
.fp-ios-step p{color:#55607a;font-size:13.5px;line-height:1.55;margin:0;}
.fp-ios-done{margin-top:24px;background:#e6f6ec;border:1px solid #9ad3b0;color:#176b3a;padding:14px 18px;border-radius:12px;font-weight:600;text-align:center;}
@media(max-width:760px){.fp-ios-steps{grid-template-columns:1fr;}.fp-ios-step .shot{height:auto;padding:16px;}.fp-ios-step .shot img{max-height:70vh;}.fp-ios-box{padding:28px 18px;}}

/* ===================================================================
   Transparent glassy header (overlays hero; frosts on scroll)
   =================================================================== */
:root{ --fp-topbar-h:40px; }

/* Top utility bar: translucent dark glass, overlays hero, hides on scroll */
.fp-topbar{
  position:fixed; top:0; left:0; right:0; z-index:1001;
  background:rgba(16,28,54,.34);
  -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:transform .35s var(--fp-ease), opacity .35s var(--fp-ease);
}
body.fp-nav-scrolled .fp-topbar{ transform:translateY(-100%); opacity:0; pointer-events:none; }

/* Main nav: transparent glass over hero, frosted-light once scrolled */
.fp-nav{
  position:fixed; top:var(--fp-topbar-h); left:0; right:0; z-index:1000;
  background:rgba(16,28,54,.42); box-shadow:none;
  border-bottom:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%);
  transition:background .35s var(--fp-ease), top .35s var(--fp-ease),
             box-shadow .35s var(--fp-ease), border-color .35s var(--fp-ease),
             backdrop-filter .35s var(--fp-ease);
}
.fp-nav.fp-scrolled{
  top:0; background:rgba(255,255,255,.80);
  -webkit-backdrop-filter:blur(22px) saturate(160%); backdrop-filter:blur(22px) saturate(160%);
  border-bottom:1px solid rgba(16,44,87,.08);
  box-shadow:0 8px 30px rgba(16,44,87,.14);
}
@media (max-width:1024px){ .fp-nav{ top:0; } }   /* no topbar on mobile */

/* Logo cross-fade: white over hero, color when frosted */
.fp-logo{ position:relative; display:flex; align-items:center; }
.fp-logo .fp-logo-img{ height:46px; width:auto; display:block; transition:height .3s var(--fp-ease), opacity .3s var(--fp-ease); }
.fp-logo .fp-logo-white{ position:absolute; top:50%; left:0; transform:translateY(-50%); opacity:1; }
.fp-logo .fp-logo-color{ opacity:0; }
.fp-nav.fp-scrolled .fp-logo .fp-logo-white{ opacity:0; }
.fp-nav.fp-scrolled .fp-logo .fp-logo-color{ opacity:1; }
.fp-nav.fp-scrolled .fp-logo .fp-logo-img{ height:40px; }

/* Links: white over hero, ink once frosted (beats .fp-active via higher specificity) */
.fp-nav:not(.fp-scrolled) .fp-link,
.fp-nav:not(.fp-scrolled) .fp-link:hover,
.fp-nav:not(.fp-scrolled) .fp-dd__caret{ color:#fff; }

/* CTA: gold reads on both the hero and the frosted bar */
.fp-cta{ background:var(--fp-gold); color:var(--fp-navy-dark); box-shadow:0 6px 18px rgba(0,0,0,.20); }
.fp-cta:hover{ background:#fff; color:var(--fp-navy-dark); transform:translateY(-2px); }

/* Burger: white over hero, navy once frosted */
.fp-nav:not(.fp-scrolled) .fp-burger span{ background:#fff; }
.fp-nav:not(.fp-scrolled) .fp-burger:hover{ background:rgba(255,255,255,.18); }

/* ===================================================================
   Internal page hero (btPageHeadline) — mobile fix
   Desktop keeps the navy curve + side image; on phones/tablets the
   image covers the hero behind a full-width navy overlay so the title
   and text read well and nothing looks cramped.
   =================================================================== */
@media (max-width:991px){
  .btPageHeadline{
    background-size:cover !important;
    background-position:center center !important;
    min-height:auto !important;
  }
  .btPageHeadline::before{
    width:100% !important; left:0 !important; right:0 !important;
    background:linear-gradient(180deg, rgba(14,34,78,.55) 0%, rgba(14,34,78,.48) 55%, rgba(14,34,78,.62) 100%) !important;
    border-radius:0 !important;
    -webkit-clip-path:none !important; clip-path:none !important;
  }
  /* spread the hero text across the full width */
  .btPageHeadline .bt_bb_column_content{ padding-left:22px !important; padding-right:22px !important; }
  .btPageHeadline .bt_bb_headline,
  .btPageHeadline .bt_bb_headline_subheadline,
  .btPageHeadline .bt_bb_text,
  .btPageHeadline .bt_bb_text p{ width:100% !important; max-width:100% !important; }
  .btPageHeadline .bt_bb_port,
  .btPageHeadline .bt_bb_cell,
  .btPageHeadline .bt_bb_cell_inner,
  .btPageHeadline .bt_bb_row,
  .btPageHeadline .bt_bb_row_holder,
  .btPageHeadline .bt_bb_column,
  .btPageHeadline .bt_bb_column_inner{
    width:100% !important; max-width:100% !important; flex:0 0 100% !important;
  }
  .btPageHeadline .bt_bb_column_content{ position:relative; z-index:2; }
  /* comfortable vertical rhythm for the banner */
  .btPageHeadline .bt_bb_column_content{ padding-top:26px; padding-bottom:30px; }
}

/* tighten internal hero vertical space on mobile (remove oversized spacer divs) */
@media (max-width:991px){
  .btPageHeadline .bt_bb_column_content > .bt_bb_separator{ display:none !important; }
  .btPageHeadline .bt_bb_column_content{ padding-top:40px !important; padding-bottom:40px !important; }
}

/* internal hero: cut the oversized top padding on mobile (keep clearance under the fixed nav) */
@media (max-width:991px){
  .btPageHeadline .bt_bb_port{ padding-top:92px !important; padding-bottom:34px !important; }
}

/* ===================================================================
   Footer "Download Our Apps" column is dashboard-toggleable.
   Distribute the footer columns evenly whether there are 6 (on) or 5 (off).
   Only at >=1200px where the theme packs all columns into one row.
   =================================================================== */
@media (min-width:1200px){
  .fpFooterRow > .bt_bb_row_holder{ display:flex !important; flex-wrap:nowrap !important; align-items:flex-start; }
  .fpFooterRow > .bt_bb_row_holder > .bt_bb_column{ flex:1 1 0 !important; max-width:none !important; width:auto !important; }
}
