/* ================= Header ================= */
.cdnw-header { position: relative; z-index: 100; }

/* Top contact bar */
.cdnw-topbar { background: var(--cdnw-red); color: #fff; font-size: .85rem; }
.cdnw-topbar__inner {
  display: flex; align-items: center; justify-content: flex-end;
  gap: 24px; min-height: 38px; flex-wrap: wrap;
}
.cdnw-topbar__item { color: #fff; display: inline-flex; align-items: center; gap: 7px; }
.cdnw-topbar__phone { font-weight: 600; }
.cdnw-topbar__phone:hover { color: #fff; opacity: .85; }
.cdnw-topbar .cdnw-ico { font-size: .8em; }

/* Nav bar */
.cdnw-navbar { background: #fff; border-bottom: 1px solid var(--cdnw-border); }
.cdnw-navbar__inner { display: flex; align-items: center; gap: 24px; min-height: 74px; }

.cdnw-brand { flex: 0 0 auto; }
.cdnw-brand img, .cdnw-brand .custom-logo { max-height: 56px; width: auto; }
.cdnw-brand__text { font-weight: 700; font-size: 1.3rem; color: var(--cdnw-dark); }

/* Primary menu */
.cdnw-nav { margin-left: auto; }
.cdnw-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.cdnw-menu li { position: relative; }
.cdnw-menu a {
  display: flex; align-items: center; gap: 5px;
  padding: 12px 14px; font-size: .92rem; font-weight: 500;
  color: var(--cdnw-dark); white-space: nowrap;
}
.cdnw-menu > li > a:hover,
.cdnw-menu > li.current-menu-item > a,
.cdnw-menu > li.current-menu-parent > a,
.cdnw-menu > li.current-menu-ancestor > a { color: var(--cdnw-red); }

.cdnw-caret {
  width: 0; height: 0; margin-left: 2px;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-top: 5px solid currentColor; opacity: .7;
}

/* Dropdowns */
.cdnw-submenu {
  list-style: none; margin: 0; padding: 8px 0;
  position: absolute; top: 100%; left: 0; min-width: 240px;
  background: #fff; border: 1px solid var(--cdnw-border);
  box-shadow: 0 12px 30px rgba(0,0,0,.1);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 50;
}
.cdnw-menu li.cdnw-has-children:hover > .cdnw-submenu,
.cdnw-menu li.cdnw-has-children:focus-within > .cdnw-submenu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.cdnw-submenu a { padding: 9px 18px; font-size: .9rem; font-weight: 500; }
.cdnw-submenu a:hover { color: var(--cdnw-red); background: var(--cdnw-bg-alt); }

/* Burger */
.cdnw-burger {
  display: none; margin-left: auto; flex-direction: column; gap: 5px;
  width: 42px; height: 42px; align-items: center; justify-content: center;
  background: transparent; border: 0; cursor: pointer;
}
.cdnw-burger span { display: block; width: 24px; height: 2px; background: var(--cdnw-dark); transition: transform .25s, opacity .2s; }
.cdnw-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.cdnw-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.cdnw-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Off-canvas drawer */
.cdnw-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(86vw, 340px);
  background: #fff; z-index: 1000; padding: 80px 0 32px;
  transform: translateX(100%); transition: transform .3s ease;
  overflow-y: auto; box-shadow: -8px 0 30px rgba(0,0,0,.15);
}
.cdnw-drawer.is-open { transform: translateX(0); }
.cdnw-drawer__menu { list-style: none; margin: 0; padding: 0; }
.cdnw-drawer__menu a { display: block; padding: 13px 24px; color: var(--cdnw-dark); font-weight: 500; border-bottom: 1px solid var(--cdnw-border); }
.cdnw-drawer__menu a:hover { color: var(--cdnw-red); }
.cdnw-drawer__menu .cdnw-submenu {
  position: static; opacity: 1; visibility: visible; transform: none;
  border: 0; box-shadow: none; padding: 0; min-width: 0; background: var(--cdnw-bg-alt);
}
.cdnw-drawer__menu .cdnw-submenu a { padding-left: 40px; font-size: .9rem; }
.cdnw-drawer__menu .cdnw-caret { display: none; }
.cdnw-drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 999; }

@media (max-width: 992px) {
  .cdnw-nav { display: none; }
  .cdnw-burger { display: flex; }
}
