/* SAFTCheck — мега меню + търсачка (nav-v2)
   Зарежда се СЛЕД menu-GDHka-jM.css. Нови класове: mm- и ss- префикси. */

/* ---------- Мега менюто (десктоп) ---------- */
.main-nav { position: relative; }
.mm-item { position: relative; display: inline-block; }
.mm-item > a { display: inline-flex; align-items: center; gap: .3rem; }
.mm-caret {
  width: 9px; height: 9px; flex: none;
  border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .55; transition: transform .18s;
}
.mm-item.mm-open .mm-caret { transform: rotate(225deg) translateY(-1px); }

.mm-panel {
  position: absolute; top: calc(100% + .9rem); left: 50%;
  transform: translateX(-50%) translateY(6px);
  min-width: 15rem;
  background: var(--card, #fff);
  border: 1px solid var(--line, #0d1f1a1a);
  border-radius: 14px;
  box-shadow: var(--shadow-hover, 0 20px 48px #0a7a5624);
  padding: .8rem;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .15s, transform .15s, visibility .15s;
  z-index: 60;
}
.mm-item.mm-open .mm-panel {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
/* мостче срещу изпускане на hover-а */
.mm-panel::before { content: ""; position: absolute; top: -1rem; left: 0; right: 0; height: 1rem; }

.mm-panel.mm-wide { width: 40rem; }
.mm-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem 1.1rem; }
.mm-col-head {
  font-family: var(--font-mono, monospace);
  font-size: .66rem; letter-spacing: .09em; text-transform: uppercase;
  color: var(--emerald, #0a7a56);
  margin: .45rem 0 .3rem; padding: 0 .55rem;
}
.mm-panel a {
  display: block; padding: .42rem .55rem;
  border-radius: 8px;
  font-size: .88rem; font-weight: 600;
  color: var(--ink, #0d1f1a); text-decoration: none;
  line-height: 1.3;
}
.mm-panel a:hover, .mm-panel a:focus-visible { background: var(--mint-soft, #dff7ec); color: var(--emerald-deep, #075c41); }
.mm-panel a small { display: block; font-weight: 500; font-size: .76rem; color: var(--muted, #56675f); margin-top: .1rem; }
.mm-featured {
  border-bottom: 1px solid var(--line, #0d1f1a1a);
  margin-bottom: .5rem; padding-bottom: .5rem;
}

/* ---------- Бутонът търсачка ---------- */
.mm-search-btn {
  display: inline-flex; align-items: center; gap: .45rem;
  border: 1px solid var(--line-strong, #0d1f1a38);
  background: transparent; color: inherit;
  border-radius: 2rem; padding: .42rem .8rem;
  font: inherit; font-size: .85rem; cursor: pointer;
  transition: border-color .15s, background .15s;
}
.mm-search-btn:hover, .mm-search-btn:focus-visible { border-color: var(--emerald, #0a7a56); background: var(--mint-soft, #dff7ec); }
.mm-search-btn svg { flex: none; }
.mm-search-btn .mm-kbd {
  font-family: var(--font-mono, monospace); font-size: .68rem;
  border: 1px solid var(--line, #0d1f1a1a); border-radius: 5px;
  padding: .05rem .32rem; opacity: .65;
}
@media (max-width: 1560px) { .mm-search-btn .mm-kbd { display: none; } }
@media (max-width: 1200px) { .mm-search-btn span.mm-lbl { display: none; } .mm-search-btn { padding: .45rem .55rem; } }
.btn-cta { white-space: nowrap; }

/* ---------- Търсачката (оувърлей) ---------- */
.ss-overlay {
  position: fixed; inset: 0; z-index: 200;
  background: #0d1f1a66;
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  display: none;
  align-items: flex-start; justify-content: center;
  padding: clamp(1rem, 8vh, 6rem) 1rem 1rem;
}
.ss-overlay.ss-on { display: flex; }
.ss-box {
  width: min(38rem, 100%);
  background: var(--card, #fff);
  border-radius: 16px;
  box-shadow: 0 24px 80px #0d1f1a4d;
  overflow: hidden;
  display: flex; flex-direction: column;
  max-height: min(34rem, 84vh);
}
.ss-head { display: flex; align-items: center; gap: .6rem; padding: .9rem 1rem; border-bottom: 1px solid var(--line, #0d1f1a1a); }
.ss-head svg { flex: none; opacity: .6; }
#ssInput {
  flex: 1; border: 0; outline: 0; background: transparent;
  font: inherit; font-size: 1.02rem; color: inherit;
}
.ss-close {
  border: 1px solid var(--line, #0d1f1a1a); background: transparent;
  border-radius: 6px; font-family: var(--font-mono, monospace); font-size: .68rem;
  padding: .15rem .45rem; cursor: pointer; color: var(--muted, #56675f);
}
.ss-list { overflow-y: auto; padding: .5rem; }
.ss-group {
  font-family: var(--font-mono, monospace);
  font-size: .66rem; letter-spacing: .09em; text-transform: uppercase;
  color: var(--emerald, #0a7a56);
  padding: .55rem .6rem .25rem;
}
.ss-item {
  display: block; padding: .5rem .6rem; border-radius: 9px;
  text-decoration: none; color: var(--ink, #0d1f1a);
  font-size: .92rem; font-weight: 600; line-height: 1.35;
}
.ss-item small { display: block; font-weight: 500; font-size: .78rem; color: var(--muted, #56675f); }
.ss-item.ss-sel, .ss-item:hover { background: var(--mint-soft, #dff7ec); }
.ss-item code { font-family: var(--font-mono, monospace); font-size: .8rem; color: var(--emerald-deep, #075c41); }
.ss-empty { padding: 1.4rem .8rem; color: var(--muted, #56675f); font-size: .92rem; }
.ss-hint { padding: .55rem .9rem; border-top: 1px solid var(--line, #0d1f1a1a); font-size: .74rem; color: var(--muted, #56675f); display: flex; gap: 1rem; }
.ss-hint b { font-family: var(--font-mono, monospace); font-weight: 600; }

/* ---------- Мобилно меню: акордеон + търсачка ---------- */
/* изравняваме обикновените връзки с акордеон-заглавията (старият CSS ги прави огромни) */
.mobile-menu > a:not(.btn-cta) {
  display: block; font-size: 1.02rem; font-weight: 700;
  padding: .8rem .2rem; border-bottom: 1px solid var(--line, #0d1f1a1a);
}
.mobile-menu .mm-acc > button { font-size: 1.02rem; }
.mobile-menu .mm-acc { border-bottom: 1px solid var(--line, #0d1f1a1a); }
.mobile-menu .mm-acc > button {
  display: flex; justify-content: space-between; align-items: center; width: 100%;
  background: none; border: 0; font: inherit; color: inherit;
  font-weight: 700; padding: .8rem .2rem; cursor: pointer;
}
.mobile-menu .mm-acc > div { display: none; padding: 0 .2rem .6rem; }
.mobile-menu .mm-acc.mm-open > div { display: block; }
.mobile-menu .mm-acc a { display: block; padding: .42rem .5rem; font-size: .92rem; }
.mobile-menu .mm-msearch {
  display: flex; align-items: center; gap: .5rem; width: 100%;
  border: 1px solid var(--line-strong, #0d1f1a38); background: transparent; color: inherit;
  border-radius: 10px; padding: .6rem .8rem; font: inherit; margin: .35rem 0 .8rem; cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  .mm-panel, .mm-caret { transition: none; }
}
