/* DeFlock Abilene — centralized nav. Loaded once by WordPress plugin. */
#dfsite-nav, #dfsite-nav * { box-sizing:border-box!important; }
#dfsite-nav { --df-nav-red:#c8102e; --df-nav-hot:#ff405e; position:sticky!important;top:0!important; z-index:999999!important;display:block!important; width:100%!important; max-width:none!important; margin:0!important;padding:0!important; background:#0b0d10!important; border-top:3px solid var(--df-nav-red);border-bottom:1px solid #383a42; color:#fff!important; font-family:Arial,Helvetica,sans-serif!important; box-shadow:0 12px 26px rgba(0,0,0,.25); isolation:isolate; overflow:visible!important; }
#dfsite-nav .dfsite-inner {position:relative; max-width:1440px;min-height:78px;margin:auto;padding:9px clamp(14px,2vw,30px);display:flex;gap:clamp(10px,1.4vw,21px);align-items:center;justify-content:space-between;}
#dfsite-nav a {text-decoration:none!important;color:#fff!important;}
#dfsite-nav .dfsite-logo {flex:0 0 auto; display:block!important;line-height:0!important;min-width:0;width:clamp(175px,15vw,220px);outline-offset:4px;}
#dfsite-nav .dfsite-logo img {display:block!important;max-width:100%!important; width:100%!important;height:auto!important; object-fit:contain; border:0!important;box-shadow:none!important;}
#dfsite-nav .dfsite-desktop-links{display:flex;min-width:0;gap:clamp(5px,.6vw,13px);align-items:center;flex:1;justify-content:flex-end;}
#dfsite-nav .dfsite-desktop-links a {font-size:clamp(10px,.74vw,11px)!important;letter-spacing:.017em!important;font-weight:800!important;white-space:nowrap!important;line-height:1.3!important;padding:12px 3px!important;border-bottom:2px solid transparent;}
#dfsite-nav .dfsite-desktop-links a:hover, #dfsite-nav .dfsite-desktop-links a[aria-current="page"] {color:#ff617d!important;border-bottom-color:#e42043!important;}
#dfsite-nav a:focus-visible,#dfsite-nav summary:focus-visible {outline:3px solid #ff748b!important;outline-offset:4px!important;}
#dfsite-nav .dfsite-petition {flex:0 0 auto;background:#c8102e!important;border:1px solid #e02c48!important;border-radius:4px!important;color:#fff!important;font-size:11px!important;line-height:1.2!important;font-weight:900!important;letter-spacing:.035em!important;padding:13px 13px!important;text-align:center;white-space:nowrap;}
#dfsite-nav .dfsite-petition:hover {background:#ed254a!important;}
#dfsite-nav .dfsite-mobile {display:none;position:relative;flex:none;}
#dfsite-nav .dfsite-mobile summary {color:#fff!important;list-style:none;cursor:pointer;user-select:none;border:1px solid #454851;border-radius:4px;font-weight:900;font-size:12px;padding:11px 13px;line-height:1.3;display:flex;align-items:center;gap:9px;}
#dfsite-nav .dfsite-mobile summary::-webkit-details-marker {display:none;}
#dfsite-nav .dfsite-burger {display:inline-flex;flex-direction:column;gap:3px;}
#dfsite-nav .dfsite-burger i {display:block;width:15px;height:2px;border-radius:1px;background:#fff;}
#dfsite-nav .dfsite-mobile[open] summary{border-color:#ff405e;color:#ff647f!important;}
#dfsite-nav .dfsite-mobile-panel{position:absolute;top:calc(100% + 12px);right:0;width:min(360px,calc(100vw - 24px));max-height:min(68vh,520px);overflow:auto;overscroll-behavior:contain;padding:8px;background:#14161b;border:1px solid #41434a;border-top:3px solid #d51b3c;box-shadow:0 20px 35px rgba(0,0,0,.48);border-radius:0 0 6px 6px;}
#dfsite-nav .dfsite-mobile-panel a {display:block!important;padding:12px 13px!important;border-radius:3px!important;border-bottom:1px solid #31343b!important;font-size:13px!important;font-weight:800!important;letter-spacing:.02em;}
#dfsite-nav .dfsite-mobile-panel a:hover,#dfsite-nav .dfsite-mobile-panel a[aria-current="page"]{background:#2b141c!important;color:#ff748d!important;}
#dfsite-nav .dfsite-mobile-panel a:last-child {border-bottom:0!important;}
/* The original section shells used overflow:hidden, which prevents position:sticky from sticking.
   overflow:clip avoids creating a scrolling ancestor while keeping full-bleed page art clipped. */
#dfa-home,#df-take-action,#df-documents,#df-council,#df-progress,#df-contact-page,#dfx-page {overflow:clip!important;overflow-x:clip!important;overflow-y:clip!important;}
body.admin-bar #dfsite-nav {top:32px!important;}
@media(max-width:1300px){#dfsite-nav .dfsite-desktop-links{display:none!important;}#dfsite-nav .dfsite-mobile{display:block!important;}#dfsite-nav .dfsite-inner{min-height:68px;}}
@media(max-width:782px){body.admin-bar #dfsite-nav{top:46px!important;}}
@media(max-width:520px){#dfsite-nav .dfsite-inner{padding:9px 10px;gap:7px;min-height:62px;}#dfsite-nav .dfsite-logo{width:137px;}#dfsite-nav .dfsite-petition{padding:10px 10px!important;font-size:10px!important;letter-spacing:0!important;}#dfsite-nav .dfsite-mobile summary{font-size:11px;padding:9px 10px;gap:6px;}#dfsite-nav .dfsite-burger i{width:12px}}
@media(max-width:360px){#dfsite-nav .dfsite-logo{width:112px;}#dfsite-nav .dfsite-petition{font-size:9px!important;padding:9px 8px!important;}#dfsite-nav .dfsite-mobile summary{padding:8px;font-size:10px;}#dfsite-nav .dfsite-burger{gap:2px;}}
@media(prefers-reduced-motion:reduce){#dfsite-nav *{scroll-behavior:auto!important;transition:none!important;}}
/* Only pages containing this navigation: hide theme-produced duplicate menu, title, breadcrumbs and excess spacing.
   Scoped using :has(); keeps the WordPress admin bar and the site's footer intact. */
body:has(#dfsite-nav) #masthead,
body:has(#dfsite-nav) header#site-header,
body:has(#dfsite-nav) header.site-header,
body:has(#dfsite-nav) .site-header:not(#dfsite-nav),
body:has(#dfsite-nav) #header:not(#dfsite-nav),
body:has(#dfsite-nav) .header-main:not(#dfsite-nav),
body:has(#dfsite-nav) .wp-site-blocks > header,
body:has(#dfsite-nav) .wp-site-blocks > .wp-block-template-part:first-child,
body:has(#dfsite-nav) .entry-header,
body:has(#dfsite-nav) .page-header,
body:has(#dfsite-nav) .page-title-bar,
body:has(#dfsite-nav) .page-title-container,
body:has(#dfsite-nav) .breadcrumbs,
body:has(#dfsite-nav) .breadcrumb-area,
body:has(#dfsite-nav) .wp-block-post-title {display:none!important;}
body:has(#dfsite-nav),body:has(#dfsite-nav) #page,body:has(#dfsite-nav) .site-content{background:#0b0d10!important;}
body:has(#dfsite-nav) #content,body:has(#dfsite-nav) .site-content,body:has(#dfsite-nav) .content-area,body:has(#dfsite-nav) .entry-content,body:has(#dfsite-nav) .site-main,body:has(#dfsite-nav) main#primary,body:has(#dfsite-nav) .wp-block-post-content {padding-top:0!important;margin-top:0!important;}
body:has(#dfsite-nav) .entry-content > .vc_row:first-child,
body:has(#dfsite-nav) .entry-content > .wpb_row:first-child,
body:has(#dfsite-nav) .entry-content > .wp-block-group:first-child {margin-top:0!important;padding-top:0!important;}
body:has(#dfsite-nav) .vc_row:has(#dfsite-nav),
body:has(#dfsite-nav) .vc_column-inner:has(#dfsite-nav),
body:has(#dfsite-nav) .wpb_wrapper:has(#dfsite-nav),
body:has(#dfsite-nav) .entry-content:has(#dfsite-nav),
body:has(#dfsite-nav) .entry-content:has(#dfsite-nav) .wpb_wrapper:has(> #dfa-home),
body:has(#dfsite-nav) .entry-content:has(#dfsite-nav) .wpb_wrapper:has(> #dfx-page),
body:has(#dfsite-nav) .entry-content:has(#dfsite-nav) .wpb_wrapper:has(> #df-take-action) {overflow:visible!important;margin-top:0!important;padding-top:0!important;}
/* A consistent anchor offset when links jump below a sticky menu. */
html:has(#dfsite-nav) {scroll-padding-top:110px;}

/* Centralized replacement marker is removed on render; no static duplicate menu ships in pages. */
.df-shared-menu-slot{min-height:0}
