/* Font Awesome */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');
/* Guardian Protocol Fonts */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700&family=Source+Sans+3:wght@400;600&family=JetBrains+Mono:wght@500&display=swap');

/* GLOBAL — Site background */
body,
.site,
.hfeed {
  background-color: #0A0B14 !important;
}

/* HIDE PAGE TITLE BAR GLOBALLY */
.page-header,
.nv-page-title-wrap,
.nv-title-meta-wrap,
.entry-header .nv-page-title {
  display: none !important;
}

/* LOGO — No black box, proper sizing */
.builder-item--logo,
.builder-item--logo .site-logo,
.builder-item--logo .brand,
.custom-logo-link {
  background: transparent !important;
  background-color: transparent !important;
}
.custom-logo {
  max-height: 50px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* Header Container — generous side padding */
.header-main .container,
.hfg_header .container,
.header--row .container {
  max-width: 100%;
  margin: 0 auto;
  padding-left: clamp(24px, 4vw, 64px) !important;
  padding-right: clamp(24px, 4vw, 64px) !important;
}

/* Header Row — Guardian Protocol dark navy */
.header--row[data-row="main"],
.header-main {
  background: #0A0B14 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

/* Header Button — Match site .df-btn style */
.builder-item--button_base .button,
.builder-item--button_base a {
  background: #E87109 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
  padding: 10px 24px !important;
  text-transform: none !important;
  transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease !important;
}
.builder-item--button_base .button:hover,
.builder-item--button_base a:hover {
  background: #D46608 !important;
  box-shadow: 0 4px 20px rgba(232,113,9,0.35) !important;
  transform: translateY(-1px) !important;
}
.builder-item--button_base {
  padding-right: 24px !important;
}
@media (max-width: 768px) {
  .builder-item--button_base {
    padding-right: 12px !important;
  }
  .builder-item--button_base .button,
  .builder-item--button_base a {
    padding: 8px 16px !important;
    font-size: 13px !important;
  }
}

/* Header Social Icons */
.se-header-social {
  display: flex;
  gap: 12px;
  align-items: center;
}
.se-header-social a {
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
  background: #12131F !important;
  border: 1px solid rgba(255,255,255,0.06);
}
.se-header-social a:hover {
  opacity: 0.9;
  transform: scale(1.05);
  border-color: rgba(232,113,9,0.25);
}
.se-header-social i {
  color: #9BA1C0 !important;
  font-size: 15px;
}

/* Menu — Sora font */
.builder-item--primary-menu .nav-menu-primary a {
  font-family: 'Sora', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  color: #9BA1C0 !important;
  transition: color 0.2s ease;
}
.builder-item--primary-menu .nav-menu-primary a:hover {
  color: #E87109 !important;
}
.builder-item--primary-menu .nav-menu-primary .current-menu-item > a {
  color: #E87109 !important;
}

/* Dropdown menus */
.sub-menu {
  background: #12131F !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
}
.sub-menu a {
  color: #9BA1C0 !important;
  font-size: 14px !important;
}
.sub-menu a:hover {
  color: #E87109 !important;
  background: rgba(232,113,9,0.06) !important;
}

/* Footer Container */
.site-footer .container,
.hfg-footer .container,
.hfg_footer .container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: clamp(20px, 3vw, 48px);
  padding-right: clamp(20px, 3vw, 48px);
}

/* FORCE 5 EQUAL COLUMNS IN FOOTER */
.footer-top-inner .row,
.footer-top-inner .hfg-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}
.footer-top-inner .hfg-slot {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

/* FOOTER LOGO — No black box */
.hfg_footer img,
.site-footer .widget img,
.footer-one-widgets img {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Footer Top Row Border */
.footer--row[data-row="top"] {
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Footer Bottom Row Border */
.footer--row[data-row="bottom"] {
  border-top: 1px solid rgba(255,255,255,0.06);
}

/* Footer Copyright */
.footer--row[data-row="bottom"] .builder-item {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13px;
  color: #6B7194;
}

/* Footer Link Hovers */
.hfg_footer a:hover,
.site-footer a:hover {
  color: #E87109 !important;
}

/* Footer Social Hovers */
.site-footer .social-icon:hover,
.hfg_footer a[style*="border-radius:50%"]:hover {
  background: #E87109 !important;
}

/* Footer CTA Button Hover */
.hfg_footer a[style*="border-radius:8px"]:hover {
  background: #D46608 !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0A0B14; }
::-webkit-scrollbar-thumb { background: #E87109; border-radius: 3px; }

/* Selection */
::selection { background: rgba(232,113,9,0.3); color: #F0F0F5; }

/* Hide scroll-to-top button */
.neve-scrolltop,
#scroll-to-top,
.scroll-to-top,
.back-to-top {
  display: none !important;
}

/* Tablet Footer — 2 columns */
@media (max-width: 960px) {
  .footer-top-inner .row,
  .footer-top-inner .hfg-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
  .footer-top-inner .hfg-slot {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Mobile Footer — 1 column */
@media (max-width: 576px) {
  .footer-top-inner .row,
  .footer-top-inner .hfg-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .footer--row[data-row="top"] .builder-item,
  .footer-top-inner .hfg-slot {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ═══════════════════════════════════════════════════
   MOBILE MENU — Guardian Protocol
   ═══════════════════════════════════════════════════ */

/* Hamburger icon — funnel/triangle shape with gradient */
.navbar-toggle,
.menu-mobile-toggle,
.nav-toggle,
button.navbar-toggle {
  background: transparent !important;
  border: none !important;
  padding: 8px !important;
  position: relative;
  width: 40px;
  height: 40px;
}
.navbar-toggle .icon-bar,
.nav-toggle .icon-bar,
.navbar-toggle span.icon-bar {
  display: block;
  background: #E87109 !important;
  height: 2px !important;
  border-radius: 2px !important;
  transition: all 0.3s ease;
  margin: 0 auto;
}
.navbar-toggle .icon-bar:nth-child(1) {
  width: 28px !important;
}
.navbar-toggle .icon-bar:nth-child(2) {
  width: 20px !important;
  margin-top: 5px !important;
}
.navbar-toggle .icon-bar:nth-child(3) {
  width: 12px !important;
  margin-top: 5px !important;
}

/* Neve-specific hamburger override */
.header-menu-sidebar-toggle .hamburger-icon,
.builder-item--nav-icon .hamburger-icon {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
}
.header-menu-sidebar-toggle .hamburger-icon span,
.builder-item--nav-icon .hamburger-icon span,
.header-menu-sidebar-toggle .toggle-bar,
.builder-item--nav-icon .toggle-bar {
  background: linear-gradient(135deg, #E87109, #F5A623) !important;
  height: 2px !important;
  border-radius: 2px !important;
  display: block !important;
  transition: all 0.3s ease;
}
.header-menu-sidebar-toggle .hamburger-icon span:nth-child(1),
.builder-item--nav-icon .hamburger-icon span:nth-child(1),
.header-menu-sidebar-toggle .toggle-bar:nth-child(1),
.builder-item--nav-icon .toggle-bar:nth-child(1) {
  width: 28px !important;
}
.header-menu-sidebar-toggle .hamburger-icon span:nth-child(2),
.builder-item--nav-icon .hamburger-icon span:nth-child(2),
.header-menu-sidebar-toggle .toggle-bar:nth-child(2),
.builder-item--nav-icon .toggle-bar:nth-child(2) {
  width: 20px !important;
  margin-top: 5px !important;
}
.header-menu-sidebar-toggle .hamburger-icon span:nth-child(3),
.builder-item--nav-icon .hamburger-icon span:nth-child(3),
.header-menu-sidebar-toggle .toggle-bar:nth-child(3),
.builder-item--nav-icon .toggle-bar:nth-child(3) {
  width: 12px !important;
  margin-top: 5px !important;
}

/* Mobile sidebar / off-canvas menu */
.header-menu-sidebar,
.header_sidebar,
#header-menu-sidebar,
.nv-nav-wrap .sidebar-panel {
  background: #0A0B14 !important;
  border-left: 1px solid rgba(255,255,255,0.06) !important;
}

/* Mobile sidebar close button */
.close-sidebar-panel,
.header-menu-sidebar .close-sidebar-panel {
  color: #9BA1C0 !important;
}
.close-sidebar-panel:hover {
  color: #E87109 !important;
}

/* Mobile menu links */
.header-menu-sidebar .nav-menu-primary a,
.header-menu-sidebar .menu li a,
#header-menu-sidebar a {
  font-family: 'Sora', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #F0F0F5 !important;
  padding: 14px 24px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  transition: color 0.2s ease, background 0.2s ease;
}
.header-menu-sidebar .nav-menu-primary a:hover,
.header-menu-sidebar .menu li a:hover,
#header-menu-sidebar a:hover {
  color: #E87109 !important;
  background: rgba(232,113,9,0.04) !important;
}

/* Mobile submenu — dark background, orange text */
.header-menu-sidebar .sub-menu,
#header-menu-sidebar .sub-menu {
  background: #12131F !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.header-menu-sidebar .sub-menu a,
#header-menu-sidebar .sub-menu a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #9BA1C0 !important;
  padding: 12px 24px 12px 40px !important;
  border-bottom: 1px solid rgba(255,255,255,0.03) !important;
}
.header-menu-sidebar .sub-menu a:hover,
#header-menu-sidebar .sub-menu a:hover {
  color: #E87109 !important;
  background: rgba(232,113,9,0.06) !important;
}

/* Sub-submenu deeper indent */
.header-menu-sidebar .sub-menu .sub-menu a,
#header-menu-sidebar .sub-menu .sub-menu a {
  padding-left: 56px !important;
  font-size: 13px !important;
}

/* Dropdown carets — visible orange chevrons */
.header-menu-sidebar .caret-wrap,
.header-menu-sidebar .menu-item-has-children > .wrap > .caret-wrap,
#header-menu-sidebar .caret-wrap {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
}
.header-menu-sidebar .caret-wrap svg,
#header-menu-sidebar .caret-wrap svg {
  fill: #E87109 !important;
  width: 12px !important;
  height: 12px !important;
  transition: transform 0.3s ease;
}
.header-menu-sidebar .caret-wrap:hover svg,
#header-menu-sidebar .caret-wrap:hover svg {
  fill: #F5A623 !important;
}
/* Caret rotated when open */
.header-menu-sidebar .menu-item-has-children.active > .wrap > .caret-wrap svg,
#header-menu-sidebar .menu-item-has-children.active > .wrap > .caret-wrap svg {
  transform: rotate(180deg);
}

/* Dropdown arrow fallback for non-SVG carets */
.header-menu-sidebar .dd-arrow,
.header-menu-sidebar .menu-item-has-children > a::after,
#header-menu-sidebar .menu-item-has-children > a::after {
  color: #E87109 !important;
  border-color: #E87109 !important;
}

/* Call Now button inside mobile menu */
.header-menu-sidebar .builder-item--button_base,
#header-menu-sidebar .builder-item--button_base {
  padding: 20px 24px !important;
  width: 100%;
}
.header-menu-sidebar .builder-item--button_base .button,
.header-menu-sidebar .builder-item--button_base a,
#header-menu-sidebar .builder-item--button_base .button,
#header-menu-sidebar .builder-item--button_base a {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  border-radius: 8px !important;
  background: #E87109 !important;
  color: #FFFFFF !important;
}

/* Social icons inside mobile menu */
.header-menu-sidebar .se-header-social,
#header-menu-sidebar .se-header-social {
  justify-content: center;
  padding: 16px 24px 24px;
  gap: 12px;
}

/* Mobile header row padding */
@media (max-width: 960px) {
  .header-main .container,
  .hfg_header .container,
  .header--row .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .builder-item--button_base {
    padding-right: 8px !important;
  }
  .custom-logo {
    max-height: 40px !important;
  }
}

/* Mobile page content — buttons, grids, text */
@media (max-width: 480px) {
  .df-btn,
  .df-btn-ghost {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 14px 20px !important;
  }
  .df-inner {
    width: calc(100% - 32px) !important;
  }
}

/* Mobile alignment */
@media (max-width: 768px) {
  .header-menu-sidebar .nav-menu-primary,
  #header-menu-sidebar .nav-menu-primary {
    padding-top: 16px;
  }
  /* Ensure touch targets */
  .header-menu-sidebar .nav-menu-primary a,
  #header-menu-sidebar .nav-menu-primary a {
    min-height: 48px;
    display: flex;
    align-items: center;
  }
}