/* Säkerkoll — delad meny-CSS (samma meny + responsivt beteende på alla sidor).
   Laddas SIST i <head> så den överrider sidornas egna inline-brytpunkter
   (som var spretiga: 780px på startsidan, 880px på akademi ...).
   Tokens (--ink, --accent, --line ...) definieras per sida i :root. */

/* App-läge (installerad app): göm hemsidans meny + footer, visa en app-rad.
   .sk-app sätts av pro-nav.js när display-mode är standalone (ej på /app). */
html.sk-app nav.top { display: none !important; }
html.sk-app footer { display: none !important; }
.sk-appbar { position: sticky; top: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 52px; padding: 0 16px; background: #0a2038; border-bottom: 1px solid rgba(244,239,230,0.12); }
.sk-appbar .sk-appback { display: inline-flex; align-items: center; gap: 5px; color: #f4efe6; text-decoration: none; font-family: 'Geist', system-ui, sans-serif; font-size: 0.95rem; font-weight: 500; }
.sk-appbar .sk-appback:hover { color: #c76a4a; }
.sk-appbar .sk-appbrand { font-family: 'Fraunces', Georgia, serif; font-size: 1rem; font-weight: 600; color: #f4efe6; opacity: 0.82; }

/* Pro-flikar (accent-prick) */
.nav-links a.nav-pro { display: inline-flex; align-items: center; gap: 6px; }
.nav-links a.nav-pro::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); flex-shrink: 0; }

/* "Ny"-badge på nyligen upplåsta Pro-funktioner (försvinner per flik vid besök).
   Syns på både dator och mobil — extra viktig på mobil där accent-pricken är dold. */
.nav-links a.nav-pro .nav-new {
  font-size: 0.6rem; font-weight: 700; line-height: 1; text-transform: uppercase;
  letter-spacing: 0.05em; background: var(--accent); color: var(--paper);
  padding: 3px 6px; border-radius: 999px; flex-shrink: 0;
}

/* "Installera appen"-länk (PWA) — visas när webbläsaren erbjuder install */
.nav-links a.nav-install { color: var(--accent); font-weight: 600; white-space: nowrap; }
.nav-links a.nav-install:hover { color: var(--accent-deep); }

/* Logga in-knapp / inloggad kontopill */
.nav-login { display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; background: var(--ink); color: var(--paper); border-radius: 2px; font-family: var(--sans); font-size: 0.85rem; font-weight: 500; text-decoration: none; letter-spacing: 0.02em; transition: background 0.2s, color 0.2s; white-space: nowrap; }
.nav-login:hover { background: var(--accent-deep); }
.nav-login.logged { background: transparent; color: var(--ink); border: 1.5px solid var(--ink); padding: 7.5px 14px; }
.nav-login.logged:hover { background: var(--ink); color: var(--paper); }
.nav-login.logged:hover .nl-dot { background: var(--paper); box-shadow: none; }
.nav-login .nl-dot { width: 7px; height: 7px; background: var(--safe); border-radius: 50%; display: inline-block; box-shadow: 0 0 0 3px rgba(78,122,94,0.18); }
.nav-login .nl-pill { font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.08em; font-weight: 500; }
/* Textfärg på knappen: vinn över sidornas inline ".nav-links a { color: ink-soft }"
   (annars blir "Logga in" matt blågrå på den mörka knappen och syns knappt). */
.nav-links a.nav-login { color: var(--paper); }
.nav-links a.nav-login.logged { color: var(--ink); }
.nav-links a.nav-login.logged:hover { color: var(--paper); }

/* Verktyg-dropdown (desktop-popup) */
.nav-dd { position: relative; display: inline-flex; align-items: center; }
.nav-dd-btn { font-family: var(--sans); font-size: 0.85rem; color: var(--ink-soft); background: none; border: none; cursor: pointer; padding: 0; display: inline-flex; align-items: center; gap: 5px; transition: color 0.2s; }
.nav-dd-btn:hover, .nav-dd.open .nav-dd-btn { color: var(--ink); }
.dd-caret { font-size: 0.7em; transition: transform 0.2s; }
.nav-dd.open .dd-caret { transform: rotate(180deg); }
.nav-dd-menu { position: absolute; top: calc(100% + 16px); left: 50%; transform: translateX(-50%) translateY(-6px); min-width: 215px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 8px; display: flex; flex-direction: column; gap: 1px; box-shadow: 0 18px 44px -18px rgba(14,42,71,0.4); opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s, visibility .18s; z-index: 40; }
.nav-dd.open .nav-dd-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.nav-dd-menu a { font-size: 0.9rem; color: var(--ink-soft); padding: 10px 12px; border-radius: 7px; white-space: nowrap; }
.nav-dd-menu a:hover { background: var(--bg-alt); color: var(--ink); }

/* Pro-dropdown: verktygen samlade under "Pro ▾" (samma popup som Verktyg).
   Accent-prick på knappen när det finns nya verktyg, "Ny"-badge i menyn,
   och markering av den sida man står på. */
.nav-prodd .nav-dd-menu a { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.nav-prodd .nav-dd-menu a.active { color: var(--ink); background: var(--bg-alt); }
.nav-prodd .nav-dd-menu .nav-new {
  font-size: 0.58rem; font-weight: 700; line-height: 1; text-transform: uppercase;
  letter-spacing: 0.05em; background: var(--accent); color: var(--paper);
  padding: 3px 6px; border-radius: 999px; flex-shrink: 0;
}
.nav-prodd.has-new > .nav-dd-btn::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); margin-left: 1px; align-self: flex-start; }

/* ===== DESKTOP (≥1025px): håll allt på en rad, tightare så Pro-menyn får plats ===== */
@media (min-width: 1025px) {
  .nav-links { gap: 22px; flex-wrap: nowrap; }
  .nav-toggle { display: none; }
}

/* ===== HAMBURGARE (≤1024px): en gemensam brytpunkt för alla sidor ===== */
@media (max-width: 1024px) {
  .nav-toggle { display: block; z-index: 60; }
  .nav-links {
    position: fixed;
    top: 54px; left: 0; right: 0;
    background: rgba(244, 239, 230, 0.98);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 20px 24px;
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.3, 1), opacity 0.22s;
  }
  .nav-links.open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .nav-links a {
    font-size: 1.15rem; padding: 14px 4px;
    border-bottom: 1px solid var(--line);
    font-family: var(--serif); color: var(--ink);
  }
  .nav-links a:last-child { border-bottom: none; }
  .nav-links a.nav-pro::before { display: none; }

  /* Login-knapp full bredd i mobilmenyn */
  .nav-login { margin: 10px 0 0; align-self: stretch; justify-content: center; }

  /* Verktyg-dropdown plattas ut (ingen popup) i mobilmenyn */
  .nav-dd { display: block; width: 100%; }
  .nav-dd-btn { display: none; }
  .nav-dd-menu { position: static; transform: none; opacity: 1; visibility: visible; min-width: 0; background: none; border: none; box-shadow: none; padding: 0; border-radius: 0; gap: 0; z-index: auto; }
  .nav-dd-menu a { font-size: 1.15rem; padding: 14px 4px; border-bottom: 1px solid var(--line); font-family: var(--serif); color: var(--ink); border-radius: 0; }
  .nav-dd-menu a:hover { background: none; }
}
