/* ==============================================
   DepiPay mega-menu — light mode
   Adapted from depipay.html (dark) → light bg, dark text
   ============================================== */

/* --- Mega menu container --- */
.cp-megamenu { position: relative; display: inline-flex; align-items: center; }
.cp-megamenu__btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  padding: 0;
  cursor: pointer;
}
.cp-megamenu__btn svg {
  width: 7px; height: 4px;
  margin-top: 2px;
  transition: transform 0.25s ease;
}
.cp-megamenu:hover .cp-megamenu__btn svg,
.cp-megamenu:focus-within .cp-megamenu__btn svg {
  transform: rotate(180deg);
}

/* --- Panel (dropdown) --- */
.cp-megamenu__panel {
  position: absolute;
  top: calc(100% + 22px);
  left: 50%;
  transform: translate(-50%, -8px);
  min-width: 680px;
  background: rgba(250, 250, 252, 0.75);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 20px;
  padding: 22px;
  -webkit-backdrop-filter: saturate(1.8) blur(40px);
          backdrop-filter: saturate(1.8) blur(40px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
  z-index: 9999;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.12),
              0 0 1px rgba(0, 0, 0, 0.08),
              inset 0 1px 0 rgba(255, 255, 255, 0.7);
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 22px;
}
/* Hover bridge */
.cp-megamenu__panel::before {
  content: '';
  position: absolute;
  top: -22px;
  left: 0;
  right: 0;
  height: 22px;
}
/* Open state */
.cp-megamenu.is-open > .cp-megamenu__panel {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

/* --- Sidebar --- */
.cp-megamenu__sidebar {
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cp-megamenu__cat {
  display: block;
  text-decoration: none;
  color: #333;
  padding: 12px 14px;
  border-radius: 10px;
  transition: background 0.18s, box-shadow 0.18s;
}
.cp-megamenu__cat:hover {
  background: rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.cp-megamenu__cat-title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  color: #1a1a1a !important;
  margin: 0 0 3px 0;
}
.cp-megamenu__cat-desc {
  font-size: 11.5px;
  line-height: 1.45;
  color: rgba(0, 0, 0, 0.42);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  margin: 0;
}

/* --- Grid items --- */
.cp-megamenu__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 6px;
}
.cp-megamenu__item {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: #0c0407 !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
  transition: background 0.15s, box-shadow 0.15s, transform 0.15s;
  white-space: nowrap;
}
.cp-megamenu__item:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transform: translateY(-1px);
}
.cp-megamenu__icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: linear-gradient(145deg, #f0f0f0, #e0e0e0);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
}
.cp-megamenu__icon svg {
  width: 15px;
  height: 15px;
  stroke: #444;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* --- Language dropdown --- */
.cp-lang { position: relative; display: inline-flex; align-items: center; }
.cp-lang__btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  padding: 0;
  cursor: pointer;
}
.cp-lang__btn svg {
  width: 7px; height: 4px;
  margin-top: 2px;
  transition: transform 0.25s ease;
}
.cp-lang:hover .cp-lang__btn svg,
.cp-lang:focus-within .cp-lang__btn svg {
  transform: rotate(180deg);
}
.cp-lang__menu {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  transform: translate(-50%, -8px);
  min-width: 180px;
  background: rgba(250, 250, 252, 0.75);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 6px;
  -webkit-backdrop-filter: saturate(1.8) blur(40px);
          backdrop-filter: saturate(1.8) blur(40px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
  z-index: 9999;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08),
              inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.cp-lang__menu::before {
  content: '';
  position: absolute;
  top: -22px;
  left: 0;
  right: 0;
  height: 22px;
}
.cp-lang:hover .cp-lang__menu,
.cp-lang:focus-within .cp-lang__menu,
.cp-lang__btn:focus + .cp-lang__menu {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.cp-lang__menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  color: #0c0407;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
  border-radius: 10px;
  transition: background 0.15s;
}
.cp-lang__menu a:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}
.cp-lang__menu a.is-active {
  background: rgba(0, 0, 0, 0.07) !important;
  font-weight: 600;
}
.cp-lang__menu a span { font-size: 10px; opacity: 0.5; letter-spacing: 0.08em; }

/* --- Sign Up button --- */
.cp-signup-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 16px;
  border-radius: 9999px;
  color: #1a1a1a;
  font-weight: 600 !important;
  text-decoration: none;
  background: linear-gradient(135deg, #eef0f4 0%, #dde0e6 100%);
  border: none;
  transition: background 0.25s, color 0.25s, box-shadow 0.25s;
}
.cp-signup-btn:hover {
  background: #1a1a1a;
  color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

@media (max-width: 1100px) {
  .cp-megamenu__panel { min-width: 560px; padding: 18px; gap: 16px; grid-template-columns: 170px 1fr; }
}
