/* =========================================================
   DKI HEADER + NAV (FINAL CLEAN)
   ========================================================= */

.app-header {
  width: 100%;
  background: #ffffff;
  border-bottom: 2px solid #000;
}

/* Brand stripe */
.app-header::after {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(
    90deg,
    #000 0%,
    #000 82%,
    #c9282d 82%,
    #c9282d 100%
  );
}

/* Container */
.app-header .cpc-container {
  max-width: 1296px;
  margin: 0 auto;
  padding: 0 24px;

  height: 88px;
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Logo */
.app-logo {
  height: 64px;
}

/* Desktop nav */
.page-links {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Nav item */
.header-nav_item {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 8px 12px;
  border-radius: 8px;

  font-family: var(--dki-font-heading);
  font-size: 14px;
  font-weight: 600;

  color: #000;
  background: transparent;
  border: 1px solid transparent;

  transition: all 0.15s ease;
}

/* Hover */
.header-nav_item:hover {
  background: rgba(201, 40, 45, 0.08);
  color: #c9282d;
}

/* Active */
.header-nav_item.active {
  border-color: #d1d5db;
  background: #ffffff;
}

/* Icons */
.header-nav_item svg {
  width: 16px;
  height: 16px;
  color: #1b417f;
}

/* =========================================================
   MOBILE DRAWER (DKI STYLE)
   ========================================================= */

@media (max-width: 860px){

  .page-links {
    display: none;
  }

  .cpc-hamburger {
    display: inline-flex;
    margin-left: auto;
  }

  .cpc-nav-menu {
    position: fixed;
    inset: 0;
    z-index: 9999;

    background: #191919;   /* 🔥 DKI DARK */
    padding: 24px;

    display: flex;
    flex-direction: column;
    gap: 14px;

    transform: translateX(100%);
    transition: transform 0.25s ease;
  }

  .app-header.menu-open .cpc-nav-menu {
    transform: translateX(0);
  }

  /* Nav items inside drawer */
  .app-header.menu-open .header-nav_item {
    width: 100%;
    padding: 16px;
    border-radius: 12px;

    color: #fff;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);

    font-size: 18px;
  }

  .app-header.menu-open .header-nav_item:hover {
    background: rgba(255,255,255,0.12);
  }

  .app-header.menu-open .header-nav_item svg {
    color: #c9282d;  /* 🔴 brand accent */
  }
}

/* =========================================================
   DKI MOBILE NAV OVERRIDE — HARD PATCH
   ========================================================= */

.cpc-hamburger {
  margin-left: auto;
  width: 44px;
  height: 44px;
  border: 1px solid #d1d5db !important;
  border-radius: 10px;
  background: #fff !important;
  color: #111 !important;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10001;
}

.cpc-hamburger,
.cpc-hamburger *,
.cpc-hamburger svg,
.cpc-hamburger i {
  color: #111 !important;
  fill: #111 !important;
  stroke: #111 !important;
}

@media (max-width: 860px) {

  .page-links {
    display: none !important;
  }

  .cpc-hamburger {
    display: inline-flex !important;
    position: relative;
  }

  .cpc-nav-menu {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;

    width: min(86vw, 360px) !important;
    height: 100dvh !important;

    z-index: 10000 !important;
    background: #191919 !important;
    color: #fff !important;

    padding: 84px 20px 24px !important;
    flex-direction: column !important;
    gap: 14px !important;

    transform: translateX(110%) !important;
    transition: transform 0.25s ease !important;
    box-shadow: -12px 0 30px rgba(0,0,0,0.35);
  }

  .app-header.menu-open .cpc-nav-menu,
  body.menu-open .cpc-nav-menu,
  .cpc-nav-menu.menu-open,
  .cpc-nav-menu.open,
  .cpc-nav-menu.show {
    transform: translateX(0) !important;
  }

  .cpc-nav-menu .header-nav_item,
  .app-header.menu-open .cpc-nav-menu .header-nav_item {
    display: flex !important;
    width: 100% !important;
    color: #fff !important;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    padding: 16px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .cpc-nav-menu .header-nav_item *,
  .cpc-nav-menu .header-nav_item span {
    color: #fff !important;
  }

  .cpc-nav-menu .header-nav_item svg,
  .cpc-nav-menu .header-nav_item i {
    color: #c9282d !important;
    fill: #c9282d !important;
    stroke: #c9282d !important;
  }
}

/* =========================================================
   CLOSED HAMBURGER ICON — FORCE BLACK BARS
   ========================================================= */

.cpc-hamburger {
  position: relative !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 0 !important; /* hides white text/icon if present */
}

.cpc-hamburger::before,
.cpc-hamburger::after,
.cpc-hamburger span {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 11px !important;
  width: 22px !important;
  height: 2px !important;
  background: #111111 !important;
  border-radius: 2px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.cpc-hamburger::before {
  top: 14px !important;
}

.cpc-hamburger span {
  top: 21px !important;
}

.cpc-hamburger::after {
  top: 28px !important;
}

/* if the button has svg/fa icon inside, force it hidden */
.cpc-hamburger svg,
.cpc-hamburger i,
.cpc-hamburger .fa,
.cpc-hamburger .fas,
.cpc-hamburger .glyphicon {
  display: none !important;
}