/* ============================================================
   Elliott Law Firm - Modern UI refresh
   Loaded after the legacy theme to preserve existing ASP/CMS logic.
   ============================================================ */

:root{
  --elf-navy:#10283c;
  --elf-navy-2:#173c58;
  --elf-blue:#245b7a;
  --elf-gold:#b8904b;
  --elf-cream:#f6f3ed;
  --elf-ink:#1e2830;
  --elf-muted:#66717a;
  --elf-line:#dce2e6;
  --elf-white:#fff;
  --elf-shadow:0 18px 45px rgba(16,40,60,.12);
}

html{scroll-behavior:smooth;}
body.de_light{
  background:#fff;
  color:var(--elf-ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.72;
}
body.de_light h1,body.de_light h2,body.de_light h3,body.de_light h4{
  color:var(--elf-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  letter-spacing:-.02em;
}
a{transition:all .2s ease;}
img{max-width:100%;height:auto;}

/* HEADER */
.header-custom{
  position:relative!important;
  top:auto!important;
  background:var(--elf-white)!important;
  box-shadow:0 1px 0 rgba(16,40,60,.12);
  z-index:1000;
}
.elf-topbar{
  background:var(--elf-navy);
  color:#dce7ed;
  font-size:13px;
  letter-spacing:.02em;
}
.elf-topbar .container{padding-top:9px;padding-bottom:9px;}
.elf-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.elf-topbar a{color:#fff;font-weight:700;}
.elf-topbar a:hover{color:#e4c98d;}
.elf-topbar-left,.elf-topbar-right{display:flex;align-items:center;gap:20px;}
.elf-topbar i{color:#e4c98d;margin-right:7px;}
.elf-mainbar{background:#fff;}
.elf-mainbar .container{padding-top:15px;padding-bottom:15px;}
.elf-mainbar-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;}
#logo{float:none!important;margin:0!important;height:auto!important;}
#logo img.logo{width:300px;max-width:100%;height:auto!important;margin:0!important;display:block;}
.elf-nav-wrap{display:flex;align-items:center;gap:18px;margin-left:auto;}
.header-custom nav{float:none!important;margin:0!important;}
.header-custom #mainmenu{display:flex!important;align-items:center;gap:4px;margin:0!important;padding:0!important;list-style:none;}
.header-custom #mainmenu>li{float:none!important;margin:0!important;padding:0!important;position:relative;}
.header-custom #mainmenu>li>a{
  color:var(--elf-navy)!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:.01em;
  text-transform:none!important;
  padding:13px 11px!important;
  line-height:1.2!important;
  border-radius:6px;
}
.header-custom #mainmenu>li>a:hover{background:#f2f5f7;color:var(--elf-blue)!important;}
.header-custom #mainmenu li ul{
  top:100%!important;
  left:0!important;
  min-width:235px!important;
  padding:8px!important;
  background:#fff!important;
  border:1px solid var(--elf-line)!important;
  border-radius:8px!important;
  box-shadow:var(--elf-shadow)!important;
}
.header-custom #mainmenu li ul li{border:0!important;}
.header-custom #mainmenu li ul li a{
  color:var(--elf-ink)!important;
  background:transparent!important;
  font-size:14px!important;
  line-height:1.35!important;
  padding:10px 12px!important;
  border-radius:6px!important;
}
.header-custom #mainmenu li ul li a:hover{background:#f2f5f7!important;color:var(--elf-blue)!important;}
.elf-header-cta{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--elf-gold);color:#fff!important;
  padding:13px 18px;border-radius:5px;font-size:14px;font-weight:700;
  box-shadow:0 8px 20px rgba(184,144,75,.22);
  white-space:nowrap;
}
.elf-header-cta:hover{background:#9f7b3e;color:#fff!important;transform:translateY(-1px);}
#menu-btn{display:none;}

/* HERO */
.elf-hero{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(10,28,42,.94) 0%,rgba(10,28,42,.84) 46%,rgba(10,28,42,.28) 100%),url('../assets/huntersville-legal-services.png') center 42%/cover no-repeat;
}
.elf-hero:after{
  content:"";position:absolute;inset:auto 0 0 0;height:5px;background:var(--elf-gold);
}
.elf-hero .container{position:relative;z-index:2;}
.elf-hero-content{max-width:720px;padding:88px 0 94px;}
.elf-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#e6d2a5;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px;}
.elf-eyebrow:before{content:"";width:34px;height:1px;background:#e6d2a5;}
.elf-hero h1{font-size:58px;line-height:1.05;color:#fff!important;margin:0 0 22px;max-width:680px;}
.elf-hero p{color:#edf3f6;font-size:19px;line-height:1.65;max-width:620px;margin:0 0 30px;}
.elf-hero-actions{display:flex;flex-wrap:wrap;gap:12px;}
.elf-btn-primary,.elf-btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 23px;border-radius:5px;font-weight:700;font-size:15px;
}
.elf-btn-primary{background:var(--elf-gold);color:#fff!important;}
.elf-btn-primary:hover{background:#9f7b3e;color:#fff!important;}
.elf-btn-secondary{border:1px solid rgba(255,255,255,.58);color:#fff!important;background:rgba(255,255,255,.04);}
.elf-btn-secondary:hover{background:#fff;color:var(--elf-navy)!important;}
.elf-hero-points{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:34px;color:#d9e4ea;font-size:13px;}
.elf-hero-points span{display:flex;align-items:center;gap:8px;}
.elf-hero-points i{color:#e6d2a5;}

/* GENERAL SECTIONS */
.elf-section{padding:88px 0;}
.elf-section-soft{background:var(--elf-cream);}
.elf-section-heading{max-width:760px;margin:0 auto 42px;text-align:center;}
.elf-section-heading .elf-kicker{color:var(--elf-gold);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;}
.elf-section-heading h2{font-size:40px;line-height:1.15;margin:0 0 14px;}
.elf-section-heading p{color:var(--elf-muted);font-size:17px;margin:0;}

/* FAQ / KNOWLEDGE CARDS */
.elf-question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.elf-question-card{background:#fff;border:1px solid var(--elf-line);border-radius:8px;overflow:hidden;box-shadow:0 10px 26px rgba(16,40,60,.06);display:flex;flex-direction:column;height:100%;}
.elf-question-card .image-wrap{height:185px;overflow:hidden;background:#e9edef;}
.elf-question-card .image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.elf-question-card:hover .image-wrap img{transform:scale(1.035);}
.elf-question-card-body{padding:24px;display:flex;flex-direction:column;flex:1;}
.elf-question-card h3{font-size:21px;line-height:1.32;margin:0 0 12px;}
.elf-question-card h3 a{color:var(--elf-navy);}
.elf-question-card p,.elf-question-card-body>div{color:var(--elf-muted);font-size:14px;line-height:1.65;}
.elf-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--elf-blue)!important;font-weight:700;font-size:14px;margin-top:auto;padding-top:17px;}

/* SERVICES */
.elf-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.elf-service-card{position:relative;min-height:330px;border-radius:8px;overflow:hidden;box-shadow:var(--elf-shadow);background:#193b52;}
.elf-service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.elf-service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,29,43,.06) 20%,rgba(11,29,43,.94) 100%);}
.elf-service-content{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px;}
.elf-service-content h3{color:#fff!important;font-size:25px;margin:0 0 8px;}
.elf-service-content p{color:#e4edf2;font-size:14px;line-height:1.55;margin:0 0 14px;}
.elf-service-content a{color:#e8ca8a!important;font-weight:700;font-size:14px;}

/* CTA */
.elf-cta{background:var(--elf-navy);padding:55px 0;position:relative;overflow:hidden;}
.elf-cta:before{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-70px;top:-100px;}
.elf-cta-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;}
.elf-cta h2{color:#fff!important;font-size:34px;margin:0 0 8px;}
.elf-cta p{color:#cbd8df;margin:0;}

/* INNER PAGE BANNER + CONTENT */
#subheader{background-position:center!important;background-size:cover!important;padding:72px 0!important;position:relative;}
#subheader:before{content:"";position:absolute;inset:0;background:rgba(11,31,46,.82);}
#subheader .container{position:relative;z-index:2;}
#subheader h1{color:#fff!important;font-size:44px!important;margin-bottom:12px!important;}
#subheader .crumb{background:transparent!important;padding:0!important;margin:0!important;}
#subheader .crumb li,#subheader .crumb a{color:#dce6eb!important;}
#section-about-us-2{padding:72px 0!important;background:#fff!important;}
#section-about-us-2 .inner-padding{padding:0!important;}
#section-about-us-2 h2{font-size:38px;margin-bottom:22px;}
#section-about-us-2 p,#section-about-us-2 li{font-size:16px;line-height:1.75;color:#3d4951;}

/* FOOTER */
.elf-footer{background:#0c2030!important;color:#c3d0d7;padding-top:64px!important;}
.elf-footer-top{padding-bottom:48px;}
.elf-footer .elf-footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1.3fr;gap:42px;}
.elf-footer-logo{background:#fff;padding:10px 14px;border-radius:4px;display:inline-block;margin-bottom:18px;}
.elf-footer-logo img{width:240px;height:auto;display:block;}
.elf-footer h3{color:#fff!important;font-size:18px;margin:0 0 18px;}
.elf-footer p{color:#c3d0d7;font-size:14px;line-height:1.72;}
.elf-footer ul{list-style:none;padding:0;margin:0;}
.elf-footer li{margin:0 0 9px;}
.elf-footer a{color:#d9e5ea!important;}
.elf-footer a:hover{color:#e7c985!important;}
.elf-contact-line{display:flex;gap:10px;margin-bottom:12px;font-size:14px;line-height:1.5;}
.elf-contact-line i{color:#d8b66d;width:18px;margin-top:4px;}
.elf-map iframe{height:215px!important;border-radius:6px;display:block;}
.elf-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:19px 0;color:#91a5b0;font-size:12px;}
.elf-footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;}
.elf-footer-bottom a{color:#b8cad3!important;}

@media(max-width:1199px){
  #logo img.logo{width:250px;}
  .header-custom #mainmenu>li>a{padding:12px 8px!important;font-size:13px!important;}
  .elf-header-cta{padding:12px 13px;}
}
@media(max-width:991px){
  .elf-topbar-left span:first-child{display:none;}
  .elf-mainbar .container{padding-top:12px;padding-bottom:12px;}
  .elf-mainbar-inner{position:relative;display:block;}
  #logo img.logo{width:250px;}
  #menu-btn{display:block!important;position:absolute!important;right:0!important;top:50%!important;transform:translateY(-50%);margin:0!important;background-color:var(--elf-navy)!important;}
  .elf-nav-wrap{display:block;}
  .elf-header-cta{display:none;}
  .header-custom nav{width:100%!important;float:none!important;}
  .header-custom #mainmenu{display:none!important;width:100%;padding-top:14px!important;}
  .header-custom #mainmenu.menu-open,.header-custom #mainmenu.display{display:block!important;}
  .header-custom #mainmenu>li{display:block!important;width:100%!important;border-top:1px solid var(--elf-line)!important;}
  .header-custom #mainmenu>li>a{display:block!important;padding:13px 4px!important;}
  .header-custom #mainmenu li ul{position:static!important;display:none;box-shadow:none!important;border:0!important;border-left:2px solid var(--elf-line)!important;border-radius:0!important;margin:0 0 10px 10px!important;width:auto!important;min-width:0!important;}
  .header-custom #mainmenu li:hover>ul{display:block!important;}
  .elf-hero{min-height:590px;background-position:62% center;}
  .elf-hero h1{font-size:48px;}
  .elf-question-grid,.elf-services-grid{grid-template-columns:repeat(2,1fr);}
  .elf-footer .elf-footer-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:767px){
  .elf-topbar .container{padding-top:7px;padding-bottom:7px;}
  .elf-topbar-inner{justify-content:center;}
  .elf-topbar-left{display:none;}
  .elf-topbar-right{gap:14px;font-size:12px;}
  #logo img.logo{width:215px;}
  .elf-hero{min-height:560px;background:linear-gradient(90deg,rgba(10,28,42,.95),rgba(10,28,42,.78)),url('../assets/huntersville-legal-services.png') 58% center/cover no-repeat;}
  .elf-hero-content{padding:70px 0 78px;}
  .elf-hero h1{font-size:39px;}
  .elf-hero p{font-size:17px;}
  .elf-section{padding:64px 0;}
  .elf-section-heading h2{font-size:33px;}
  .elf-question-grid,.elf-services-grid{grid-template-columns:1fr;}
  .elf-cta-inner{display:block;text-align:center;}
  .elf-cta h2{font-size:29px;}
  .elf-cta .elf-btn-primary{margin-top:22px;}
  .elf-footer .elf-footer-grid{grid-template-columns:1fr;gap:30px;}
  .elf-footer-bottom-inner{display:block;text-align:center;}
  #subheader{padding:55px 0!important;}
  #subheader h1{font-size:34px!important;}
}

/* =========================================================
   V2 HOMEPAGE HERO — fixed content / slow crossfade imagery
   ========================================================= */
.elf-hero{
  min-height:700px;
  background:#0a1c2a;
  isolation:isolate;
}
.elf-hero-slides{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.elf-hero-slide{
  position:absolute;inset:-2%;
  background-position:center center;background-size:cover;background-repeat:no-repeat;
  opacity:0;transform:scale(1.025);
  animation:elfHeroFade 24s infinite ease-in-out;
}
.elf-hero-slide-1{background-image:url('../slides/corporate-law.jpg');animation-delay:0s;opacity:1;}
.elf-hero-slide-2{background-image:url('../slides/tax-law.jpg');animation-delay:8s;}
.elf-hero-slide-3{background-image:url('../slides/bankruptcy.jpg');animation-delay:16s;}
.elf-hero:before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(6,20,31,.97) 0%,rgba(8,26,39,.90) 43%,rgba(8,26,39,.52) 72%,rgba(8,26,39,.30) 100%);
}
@keyframes elfHeroFade{
  0%{opacity:0;transform:scale(1.04)}
  5%{opacity:1}
  29%{opacity:1}
  38%{opacity:0;transform:scale(1.01)}
  100%{opacity:0;transform:scale(1.04)}
}
.elf-hero-content{max-width:790px;padding:105px 0 112px;}
.elf-hero h1{max-width:780px;font-size:62px;line-height:1.03;margin-bottom:20px;letter-spacing:-.02em;}
.elf-hero h1 span{display:block;color:#e6d2a5;font-weight:400;font-size:.73em;line-height:1.15;margin-top:9px;letter-spacing:-.01em;}
.elf-practice-line{font-size:16px!important;line-height:1.6!important;font-weight:600;max-width:760px!important;margin-bottom:14px!important;color:#fff!important;}
.elf-practice-line b{color:#d8bd83;padding:0 5px;font-weight:400;}
.elf-hero-intro{font-size:17px!important;line-height:1.65!important;max-width:670px!important;color:#dbe5ea!important;margin-bottom:30px!important;}
.elf-hero-location{margin-top:30px;color:#dbe5ea;font-size:13px;letter-spacing:.015em;}
.elf-hero-location i{color:#e6d2a5;margin-right:7px;}
@media(max-width:991px){
  .elf-hero{min-height:640px;background:#0a1c2a;}
  .elf-hero h1{font-size:50px;}
  .elf-hero-content{padding:90px 0 96px;}
}
@media(max-width:767px){
  .elf-hero{min-height:610px;background:#0a1c2a;}
  .elf-hero:before{background:linear-gradient(90deg,rgba(6,20,31,.96),rgba(8,26,39,.78));}
  .elf-hero-slide{background-position:center center;}
  .elf-hero-content{padding:72px 0 80px;}
  .elf-hero h1{font-size:40px;}
  .elf-practice-line{font-size:14px!important;}
  .elf-hero-location{line-height:1.55;}
}
@media(prefers-reduced-motion:reduce){
  .elf-hero-slide{animation:none;opacity:0;transform:none;}
  .elf-hero-slide-1{opacity:1;}
}

/* =========================================================
   V3 REFINEMENTS — desktop nav, mobile nav, hero alignment, CTA
   ========================================================= */
@media(min-width:992px){
  .header-custom .elf-mainbar .container{
    width:calc(100% - 48px)!important;
    max-width:1400px!important;
  }
  .header-custom:not(.header-mobile) div#logo,
  .header-custom #logo{
    width:auto!important;
    flex:0 0 auto!important;
  }
  .header-custom:not(.header-mobile) nav,
  .header-custom .elf-nav-wrap nav{
    display:block!important;
    width:auto!important;
    margin:0!important;
    float:none!important;
    text-align:left!important;
    flex:0 0 auto!important;
  }
  .header-custom .elf-mainbar-inner{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:22px!important;
  }
  .header-custom .elf-nav-wrap{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:14px!important;
    margin-left:auto!important;
    white-space:nowrap!important;
  }
  .header-custom:not(.header-mobile) nav #mainmenu,
  .header-custom .elf-nav-wrap #mainmenu{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
  }
  .header-custom #mainmenu > li{
    display:block!important;
    float:none!important;
    flex:0 0 auto!important;
  }
  .header-custom #mainmenu > li > a{
    display:block!important;
    padding:12px 9px!important;
    white-space:nowrap!important;
  }
  #logo img.logo{width:255px!important;}
}

/* Hero copy is intentionally flush left and aligned to one edge. */
.elf-hero .container{text-align:left!important;}
.elf-hero-content{text-align:left!important;margin-left:0!important;margin-right:auto!important;}
.elf-hero h1,.elf-hero p,.elf-hero-actions,.elf-hero-location{text-align:left!important;}
.elf-hero h1 span{display:block;}

/* Stronger consultation band above the footer. */
.elf-cta{
  background:linear-gradient(110deg,#173c58 0%,#245b7a 72%,#2c6889 100%)!important;
  border-top:5px solid var(--elf-gold);
  padding:62px 0!important;
}
.elf-cta h2{font-size:36px!important;}
.elf-cta p{color:#eef5f8!important;font-size:17px!important;}

@media(max-width:991px){
  .header-custom:not(.header-mobile) div#logo,
  .header-custom #logo{width:auto!important;}
  .header-custom:not(.header-mobile) nav,
  .header-custom .elf-nav-wrap nav{width:100%!important;text-align:left!important;}

  /* Do not use !important here; Designesia's slideDown/slideUp needs
     to be able to change the inline display value when the button is clicked. */
  .header-custom #mainmenu{
    display:none;
    width:100%!important;
    margin:12px 0 0!important;
    padding:0!important;
    float:none!important;
    background:#fff!important;
    border-top:1px solid var(--elf-line);
  }
  .header-custom #mainmenu > li{
    display:block!important;
    float:none!important;
    width:100%!important;
    border-bottom:1px solid var(--elf-line)!important;
  }
  .header-custom #mainmenu > li > a{
    display:block!important;
    width:calc(100% - 46px)!important;
    text-align:left!important;
    padding:14px 4px!important;
    line-height:1.35!important;
  }
  .header-custom #mainmenu > li > span{
    position:absolute!important;
    right:0!important;
    top:0!important;
    width:42px!important;
    height:48px!important;
    cursor:pointer!important;
    z-index:3!important;
  }
  .header-custom #mainmenu > li > span:after{
    content:"\f107";
    font-family:FontAwesome;
    position:absolute;
    left:50%;top:50%;
    transform:translate(-50%,-50%);
    color:var(--elf-navy);
    font-size:16px;
  }
  .header-custom #mainmenu > li > span.active:after{content:"\f106";}
  .header-custom #mainmenu li ul{
    position:static!important;
    float:none!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 8px 14px!important;
    border:0!important;
    border-left:2px solid var(--elf-gold)!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#f7f9fa!important;
  }
  .header-custom #mainmenu li ul li{
    display:block!important;
    float:none!important;
    width:100%!important;
  }
  .header-custom #mainmenu li ul li a{
    display:block!important;
    width:100%!important;
    text-align:left!important;
    padding:11px 12px!important;
  }
}

/* Estate-law question archive: reuse the homepage question-card presentation */
.elf-question-listing .elf-question-grid{margin-top:8px;}
.elf-question-pagination{margin-top:36px;text-align:center;}
.elf-question-pagination table{margin-left:auto;margin-right:auto;}
@media (max-width:767px){
  .elf-question-pagination{margin-top:28px;}
}

/* =========================================================
   V4 NAVIGATION SEPARATOR ALIGNMENT
   Replace legacy floated FontAwesome separator bullets with
   true vertically-centered separators between desktop items.
   ========================================================= */
@media(min-width:992px){
  .header-custom #mainmenu > li > a:after{
    display:none!important;
    content:none!important;
  }
  .header-custom #mainmenu > li:not(:last-child){
    margin-right:12px!important;
    padding-right:12px!important;
  }
  .header-custom #mainmenu > li:not(:last-child):after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    right:-2px!important;
    top:50%!important;
    width:5px!important;
    height:5px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:var(--elf-gold)!important;
    transform:translateY(-50%)!important;
    pointer-events:none!important;
  }
}

@media(max-width:991px){
  .header-custom #mainmenu > li:after,
  .header-custom #mainmenu > li > a:after{
    display:none!important;
    content:none!important;
  }
}


/* =========================================================
   V5 INNER PAGE BANNER + DESKTOP DROPDOWN REFINEMENTS
   ========================================================= */
/* Breadcrumbs have been removed from layout/page-banner.asp.
   Keep any legacy breadcrumb output hidden as a fallback. */
#subheader .crumb{display:none!important;}

@media(min-width:992px){
  /* Give the Legal Services submenu a little breathing room below
     the parent navigation label without breaking the hover path. */
  .header-custom #mainmenu li ul{
    top:calc(100% + 8px)!important;
  }
  .header-custom #mainmenu li ul:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-10px;
    height:10px;
    background:transparent;
  }
}


/* =========================================================
   V6 NAVIGATION FIXES
   ========================================================= */
@media(min-width:992px){
  /* Smaller, centered Legal Services dropdown with a larger visual gap. */
  .header-custom #mainmenu > li > ul{
    left:50%!important;
    right:auto!important;
    top:calc(100% + 14px)!important;
    transform:translateX(-50%)!important;
    min-width:220px!important;
  }
  .header-custom #mainmenu > li > ul:before{
    left:0!important;
    right:0!important;
    top:-16px!important;
    height:16px!important;
  }
  .header-custom #mainmenu > li > ul > li > a{
    font-size:13px!important;
    line-height:1.3!important;
    padding:9px 11px!important;
  }
}

@media(max-width:991px){
  /* Custom V6 mobile controller owns visibility; ignore legacy inline display. */
  .header-custom .elf-mainbar-inner{
    position:relative!important;
    flex-wrap:wrap!important;
  }
  .header-custom #menu-btn{
    display:block!important;
    width:42px!important;
    height:42px!important;
    right:0!important;
    cursor:pointer!important;
    z-index:1002!important;
  }
  .header-custom .elf-nav-wrap{
    width:100%!important;
    flex:0 0 100%!important;
    margin:0!important;
  }
  .header-custom #mainmenu{
    display:none!important;
    width:100%!important;
  }
  .header-custom #mainmenu.menu-open{
    display:block!important;
  }
  .header-custom #mainmenu > li > ul,
  .header-custom #mainmenu > li:hover > ul{
    display:none!important;
    height:auto!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .header-custom #mainmenu > li.submenu-open > ul{
    display:block!important;
  }
  .header-custom #mainmenu > li > .elf-submenu-toggle{
    display:block!important;
  }
}


/* =========================================================
   V7 MOBILE NAVIGATION — isolated from legacy Designesia menu
   Full-width layout retained with controlled inner padding.
   ========================================================= */
.elf-menu-btn{display:none;}
.header-custom #mainmenu > li > .elf-submenu-toggle{display:none;}

/* Full-width visual sections with intentional breathing room. */
.elf-hero .container,
.elf-cta .container,
#content > section > .container,
.elf-mainbar > .container,
.elf-topbar > .container{
  width:100%!important;
  max-width:none!important;
  padding-left:clamp(22px,4vw,72px)!important;
  padding-right:clamp(22px,4vw,72px)!important;
}

@media(max-width:991px){
  /* Hide the legacy theme hamburger completely. */
  #menu-btn{display:none!important;}

  .header-custom .elf-mainbar .container{
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
  .header-custom .elf-mainbar-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:0!important;
    position:relative!important;
  }
  .header-custom #logo{
    max-width:calc(100% - 62px)!important;
  }
  .header-custom #logo img.logo{
    width:min(245px,100%)!important;
  }

  .elf-menu-btn{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:46px;
    height:46px;
    margin:0;
    padding:0;
    border:1px solid var(--elf-line);
    border-radius:6px;
    background:#fff;
    cursor:pointer;
    flex:0 0 46px;
  }
  .elf-menu-btn span{
    display:block;
    width:22px;
    height:2px;
    background:var(--elf-navy);
    transition:transform .2s ease,opacity .2s ease;
  }
  .elf-menu-btn.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .elf-menu-btn.is-open span:nth-child(2){opacity:0;}
  .elf-menu-btn.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .header-custom .elf-nav-wrap{
    display:block!important;
    flex:0 0 100%!important;
    width:100%!important;
    margin:0!important;
  }
  .header-custom .elf-nav-wrap nav{
    width:100%!important;
  }
  .header-custom #mainmenu{
    display:none!important;
    width:100%!important;
    margin:12px 0 0!important;
    padding:0!important;
    background:#fff!important;
    border-top:1px solid var(--elf-line)!important;
  }
  .header-custom #mainmenu.elf-mobile-open{
    display:block!important;
  }
  .header-custom #mainmenu > li{
    position:relative!important;
    width:100%!important;
    border-bottom:1px solid var(--elf-line)!important;
  }
  .header-custom #mainmenu > li > a{
    display:block!important;
    width:100%!important;
    padding:15px 52px 15px 4px!important;
    font-size:15px!important;
    line-height:1.35!important;
    border-radius:0!important;
  }
  .header-custom #mainmenu > li > .elf-submenu-toggle{
    display:flex!important;
    align-items:center;
    justify-content:center;
    position:absolute!important;
    top:4px!important;
    right:0!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--elf-navy)!important;
    cursor:pointer!important;
    z-index:5!important;
  }
  .header-custom #mainmenu > li > .elf-submenu-toggle i{
    transition:transform .2s ease;
  }
  .header-custom #mainmenu > li.submenu-open > .elf-submenu-toggle i{
    transform:rotate(180deg);
  }
  .header-custom #mainmenu > li > ul,
  .header-custom #mainmenu > li:hover > ul{
    display:none!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    transform:none!important;
    margin:0!important;
    padding:4px 0 10px 14px!important;
    border:0!important;
    border-left:3px solid var(--elf-gold)!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#f7f9fa!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .header-custom #mainmenu > li.submenu-open > ul{
    display:block!important;
  }
  .header-custom #mainmenu > li > ul:before{display:none!important;}
  .header-custom #mainmenu > li > ul > li > a{
    padding:12px 14px!important;
    font-size:14px!important;
  }
  .elf-header-cta{display:none!important;}
}

@media(max-width:575px){
  .elf-hero .container,
  .elf-cta .container,
  #content > section > .container,
  .elf-mainbar > .container,
  .elf-topbar > .container{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .header-custom #logo img.logo{width:205px!important;}
}

/* =========================================================
   V9 FULL-WIDTH HEADER ALIGNMENT + BLOG WIDTH
   Logo left / navigation centered / CTA right.
   ========================================================= */
@media(min-width:992px){
  .header-custom .elf-mainbar > .container{
    width:100%!important;
    max-width:none!important;
    padding-left:clamp(22px,3vw,56px)!important;
    padding-right:clamp(22px,3vw,56px)!important;
  }

  .header-custom .elf-mainbar-inner{
    display:grid!important;
    grid-template-columns:minmax(255px,1fr) auto minmax(255px,1fr)!important;
    align-items:center!important;
    width:100%!important;
    gap:24px!important;
  }

  .header-custom #logo{
    grid-column:1!important;
    justify-self:start!important;
    margin:0!important;
  }

  /* Let nav and CTA participate directly in the three-column header grid. */
  .header-custom .elf-nav-wrap{
    display:contents!important;
  }

  .header-custom .elf-nav-wrap nav{
    grid-column:2!important;
    justify-self:center!important;
    margin:0!important;
  }

  .header-custom .elf-header-cta{
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
  }
}

/* The Common Questions / Blog archive sits inside the legacy page-content
   wrapper. Remove the inner Bootstrap container cap so the cards use the
   same full-width content area as the rest of the refreshed site. */
.elf-question-listing > .container{
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}

@media(max-width:991px){
  .elf-question-listing > .container{
    padding-left:0!important;
    padding-right:0!important;
  }
}
