/* ==========================================================================
   DK Fantasy — footer. Ny rod: .site-footer.sf (dobbeltklasse slår theme.css).
   Neutral flade, rød 3px signatur i toppen, mørk blækfarvet juridisk linje.
   Ingen farveovergange. Ingen røde baggrunde.
   ========================================================================== */

.site-footer.sf{
  --sf-ink:#242c38;            /* neutral blæk, ikke sort */
  --sf-ink-text:#eef1f5;
  --sf-ink-muted:#aab3c0;      /* AA på --sf-ink ved 13px */
  margin-top:2.5rem;
  background:var(--page);
  color:var(--text);
  border-top:3px solid var(--primary);
}
@media(min-width:768px){.site-footer.sf{margin-top:3.5rem}}
.site-footer.sf a{color:inherit;text-decoration:none}
.site-footer.sf a:hover{color:var(--primary-text);text-decoration:underline;text-underline-offset:3px}

/* --- 1. Nyhedsbrevsstribe -------------------------------------------- */
.sf-nl{background:var(--card);border-bottom:1px solid var(--border)}
.sf-nl__inner{display:grid;gap:1rem;padding-top:1.5rem;padding-bottom:1.5rem}
@media(min-width:900px){.sf-nl__inner{grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:2rem;align-items:center;
  padding-top:1.75rem;padding-bottom:1.75rem}}
.sf-nl__title{font-size:1.125rem;font-weight:700;letter-spacing:-.01em}
.sf-nl__text{margin-top:.25rem;font-size:.9375rem;line-height:1.55;color:var(--text-muted)}
.sf-nl__form{display:grid;gap:.5rem}
@media(min-width:520px){.sf-nl__form{grid-template-columns:minmax(0,1fr) auto}}
.sf-nl__form input{min-height:48px;padding:.5rem .875rem;font:inherit;font-size:16px;color:var(--text);
  background:var(--page);border:1px solid var(--border);border-radius:var(--radius)}
.sf-nl__form .btn{min-height:48px}

/* --- 2. Brand + kolonner -------------------------------------------- */
.sf-main{display:grid;gap:1.75rem;padding-top:2rem;padding-bottom:1.5rem}
@media(min-width:768px){.sf-main{gap:2rem;padding-top:2.5rem}}
@media(min-width:1024px){.sf-main{grid-template-columns:minmax(0,1.4fr) minmax(0,3fr);gap:3rem;padding-top:3rem}}
.sf-logo{display:inline-block;font-size:1.375rem;font-weight:700;letter-spacing:-.02em}
.sf-logo img{max-height:40px;width:auto;display:block}
.sf-brand__text{margin-top:.75rem;max-width:26rem;font-size:.9375rem;line-height:1.65;color:var(--text-muted)}
.sf-brand__contact{margin-top:.875rem;font-size:.9375rem}
.sf-brand__contact a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-weight:600;color:var(--primary-text)}
.sf-brand__contact svg{width:16px;height:16px;flex-shrink:0}
.sf-social{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.sf-social a{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px;
  border:1px solid var(--border);background:var(--card);color:var(--text);transition:border-color .15s,background-color .15s}
.sf-social a:hover{border-color:var(--primary);color:var(--primary-text);text-decoration:none}
.sf-social svg{width:18px;height:18px}

.sf-cols{display:grid;gap:0}
@media(min-width:640px){.sf-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}}
@media(min-width:1024px){.sf-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}}
.sf-col{border-top:1px solid var(--border)}
.sf-col:last-child{border-bottom:1px solid var(--border)}
.sf-col__title{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;
  list-style:none;cursor:pointer;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-muted)}
.sf-col__title::-webkit-details-marker{display:none}
.sf-col__chev{width:18px;height:18px;flex-shrink:0;transition:transform .2s}
.sf-col[open] .sf-col__chev{transform:rotate(180deg)}
.sf-col ul{padding-bottom:.75rem}
.sf-col li a{display:flex;align-items:center;min-height:44px;font-size:.9375rem;line-height:1.35}
@media(min-width:640px){
  .sf-col,.sf-col:last-child{border:0}
  .sf-col__title{min-height:0;margin-bottom:.875rem;cursor:default}
  .sf-col__chev{display:none}
  .sf-col ul{padding-bottom:0}
  .sf-col li a{min-height:0;padding:.3rem 0}
}
@media(prefers-reduced-motion:reduce){.sf-col__chev{transition:none}}

/* --- 3. Troværdighedsrække ------------------------------------------ */
.sf-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;
  padding:1.25rem 0 1.75rem;border-top:1px solid var(--border)}
@media(min-width:900px){.sf-trust{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1.5rem 0 2rem}}
.sf-trust li>span,.sf-trust li>a{display:flex;align-items:center;gap:.625rem;height:100%;min-height:60px;
  padding:.75rem .875rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}
.sf-trust li>a:hover{border-color:var(--primary);text-decoration:none}
.sf-trust__ico{display:flex;width:2.25rem;height:2.25rem;flex-shrink:0;align-items:center;justify-content:center;
  border-radius:999px;background:var(--primary-soft);color:var(--primary-text)}
.sf-trust__ico svg{width:18px;height:18px}
.sf-trust__txt{display:flex;flex-direction:column;gap:.125rem;min-width:0;line-height:1.3}
.sf-trust__txt b{font-size:.875rem}                 /* ingen nowrap: labels må gerne brydes */
.sf-trust__txt small{font-size:.75rem;color:var(--text-muted)}

/* --- 3b. Identitetsblok (dansk presseskik) --------------------------- */
.sf-id{display:grid;gap:1.25rem;padding-bottom:1.75rem;font-size:.8125rem;line-height:1.7;color:var(--text-muted)}
@media(min-width:640px){.sf-id{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}
.sf-id__title{margin-bottom:.25rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--text)}
.sf-id a{display:inline-flex;align-items:center;min-height:32px;color:var(--primary-text);font-weight:600}

/* --- 4. Juridisk linje ---------------------------------------------- */
.sf-legal{background:var(--sf-ink);color:var(--sf-ink-text)}
.sf-legal .container{padding-top:1.25rem;padding-bottom:1.5rem}
.sf-legal a{color:var(--sf-ink-text)}
.sf-legal a:hover{color:#fff}
.sf-legal__note{max-width:62rem;font-size:.8125rem;line-height:1.6;color:var(--sf-ink-muted)}
.sf-legal__note+.sf-legal__note{margin-top:.5rem}
.sf-legal__row{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.14);font-size:.8125rem}
@media(min-width:768px){.sf-legal__row{flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem}}
.sf-copy{color:var(--sf-ink-muted)}
.sf-legal__nav ul{display:flex;flex-wrap:wrap;gap:0 1.25rem}
.sf-legal__nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem}
@media(min-width:768px){.sf-legal__nav a{min-height:0;padding:.25rem 0}}
.sf-top{display:inline-flex;align-items:center;gap:.375rem;min-height:44px;font-size:.8125rem;font-weight:700}
.sf-top svg{width:14px;height:14px}
@media(min-width:768px){.sf-top{min-height:0}}

/* --- 5. Mørkt tema -------------------------------------------------- */
html[data-theme="dark"] .site-footer.sf{--sf-ink:#161b22;--sf-ink-text:#e7eaef;--sf-ink-muted:#c9d1db;
  background:var(--page);color:var(--text);border-top-color:var(--primary)}
html[data-theme="dark"] .sf-nl,
html[data-theme="dark"] .sf-trust li>span,
html[data-theme="dark"] .sf-trust li>a,
html[data-theme="dark"] .sf-social a{background:var(--card);border-color:var(--border)}
html[data-theme="dark"] .sf-nl__form input{background:var(--card-2)}
html[data-theme="dark"] .sf-trust li>a:hover,
html[data-theme="dark"] .sf-social a:hover{border-color:var(--primary-text);color:var(--primary-text)}
html[data-theme="dark"] .site-footer.sf a:hover{color:var(--primary-text)}

/* --- 6. Bevægelse ---------------------------------------------------- */
@media(prefers-reduced-motion:reduce){.sf-social a,.sf-trust li>a{transition:none}}
