/* ==========================================================================
   AOF-PREMIUM — fælles designsystem
   Bygget på Dans egen visuelle identitet (navy + messing + Fraunces/Inter).
   Denne fil rummer tokens og de komponenter, der går igen på tværs af siderne.
   Sidespecifik styling ligger i den enkelte sides egen css-fil.
   ========================================================================== */

:root{
  --ink:#243038; --blue:#41586a; --blue-deep:#2c3e4b; --blue-soft:#8198a7;
  --beige:#f1eadd; --beige-deep:#e6dac6; --cream:#faf6ef;
  --brass:#ab8a55; --brass-soft:#c9b489; --brass-bright:#bd9a60; --brass-deep:#947444;
  --line:#e3dccd;
  --maxw:1140px; --r:14px;
  --f-display:"Fraunces",Georgia,serif; --f-body:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--f-body);color:var(--ink);background:var(--beige);line-height:1.6;-webkit-font-smoothing:antialiased;}

/* -------- Layout -------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px;}

/* -------- Fælles typografiske detaljer -------- */
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--brass);
  display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--brass);display:inline-block;}
.hr-brass{display:block;width:54px;height:2px;background:var(--brass);border-radius:2px;margin-top:22px;}

/* -------- Logo-wordmark -------- */
.brand{display:inline-flex;text-decoration:none;line-height:0;}
.brand svg{height:30px;width:auto;display:block;}
.brand.brand-sm svg{height:28px;}

/* -------- Knapper (Dans stil) -------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--f-body);
  font-size:.95rem;font-weight:500;padding:.85em 1.5em;border-radius:999px;border:1px solid transparent;
  cursor:pointer;text-decoration:none;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;}
.btn-primary{background:var(--brass);color:#fff;box-shadow:0 8px 22px -12px rgba(171,138,85,.9);}
.btn-primary:hover{background:#9a7a48;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(201,180,137,.55);}
.btn-ghost:hover{border-color:var(--brass-soft);color:#fff;transform:translateY(-2px);}
.btn-ink{background:transparent;color:var(--ink);border-color:var(--brass);}
.btn-ink:hover{background:var(--brass);color:#fff;transform:translateY(-2px);}
.btn-brass{background:var(--brass);color:#fff;}
.btn-brass:hover{background:#9a7a48;transform:translateY(-1px);color:#fff;}
.btn-line{background:transparent;color:var(--ink);border-color:var(--brass);}
.btn-line:hover{background:var(--brass);color:#fff;transform:translateY(-1px);}
.btn-block{width:100%;}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;}

/* -------- Offentlig topmenu (forside) -------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(241,234,221,.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(171,138,85,.3);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.nav-links{display:flex;align-items:center;gap:34px;list-style:none;}
.nav-links a{text-decoration:none;color:var(--ink);font-size:.92rem;font-weight:500;opacity:.78;transition:opacity .15s ease;}
.nav-links a:hover{opacity:1;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;transition:.2s;}
@media(max-width:640px){
  .nav-links{position:absolute;top:74px;left:0;right:0;flex-direction:column;gap:0;background:var(--beige);
    border-bottom:1px solid rgba(171,138,85,.3);max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .nav-links.open{max-height:360px;}
  .nav-links li{width:100%;}
  .nav-links a{display:block;padding:16px 24px;border-top:1px solid rgba(171,138,85,.18);}
  .nav-links .btn{margin:14px 24px;}
  .nav-toggle{display:block;}
}

/* -------- App-bjælke (logget ind) -------- */
.appbar{position:sticky;top:0;z-index:40;background:rgba(241,234,221,.88);backdrop-filter:blur(10px);border-bottom:1px solid rgba(171,138,85,.3);}
.appbar-inner{display:flex;align-items:center;justify-content:space-between;height:70px;}
.user{display:flex;align-items:center;gap:12px;}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--brass);color:#fff;font-weight:600;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;}
.user .name{font-size:.9rem;font-weight:500;}
.user .logout{font-size:.82rem;color:#71797f;text-decoration:none;border-left:1px solid var(--line);padding-left:12px;}
.user .logout:hover{color:var(--ink);}

/* -------- Print-værktøjslinje (datablade/bevis) -------- */
.toolbar{position:sticky;top:0;z-index:10;background:var(--blue-deep);color:var(--cream);
  display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;font-size:.9rem;}
.toolbar b{font-family:var(--f-display);font-weight:600;}
.toolbar .hint{opacity:.78;font-size:.82rem;}
.toolbar button{font-family:var(--f-body);font-weight:500;font-size:.9rem;cursor:pointer;background:var(--brass);color:#fff;border:0;border-radius:999px;padding:.6em 1.3em;}
.toolbar button:hover{background:#9a7a48;}

/* -------- Offentlig footer -------- */
.site-foot{background:var(--beige-deep);padding:56px 0 40px;border-top:1px solid rgba(171,138,85,.4);}
.site-foot .foot-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;}
.site-foot .foot-brand svg{height:30px;width:auto;}
.site-foot .foot-brand p{margin-top:14px;color:#5a6770;font-size:.9rem;max-width:38ch;}
.site-foot .foot-meta{font-size:.85rem;color:#5a6770;text-align:right;}
.site-foot .foot-meta a{color:var(--brass);text-decoration:none;}
.site-foot .foot-meta a:hover{text-decoration:underline;}
.site-foot .foot-rule{margin-top:40px;padding-top:20px;border-top:1px solid rgba(171,138,85,.35);font-size:.8rem;color:#7c858c;}

/* -------- Reveal-animation -------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;}.reveal{opacity:1;transform:none;transition:none;}.btn:hover{transform:none;}}
