/* ================================================
   FOOTER
================================================ */
.footer { background: var(--c2); padding: 3.5rem var(--pad) 0; margin-top: 3rem; color: rgba(255,255,255,.6);}
.footer-ingress {     font-size: .82rem; padding-bottom: .82rem; font-weight: 700;}

/* SMAL: staplas */
.footer-inner {
  max-width: var(--mw); margin: 0 auto;
  display: grid; gap: 2.5rem; padding-bottom: 2.5rem;
  grid-template-columns: 1fr;
}
/* MELLAN (600px+): kol-1 vänster, footer-right höger */
@media (min-width: 600px) {
  .footer-inner { grid-template-columns: minmax(180px, 260px) 1fr; align-items: start; }
}

/* footer-right: kol-2+3 och kol-4 staplas på smal, sida vid sida på mellan+ */
.footer-right { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 600px) { .footer-right { grid-template-columns: 1fr; } }
@media (min-width: 900px) { .footer-right { grid-template-columns: 1fr auto; } }

/* footer-cols: kol-2 och kol-3 alltid sida vid sida */
.footer-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
@media (max-width: 359px) { .footer-cols { grid-template-columns: 1fr; } }

/* ================================================
   BRAND
================================================ */
.footer-brand   { display: flex; flex-direction: column; gap: .75rem; }
.footer-logo    { max-width: 200px; }
.footer-tagline { font-family: var(--ff-h); font-size: 1.1rem; font-weight: 800; color: var(--c3); }
.footer-about   { line-height: 1.7; max-width: 290px; font-size: .82rem;}

/* ================================================
   LISTOR
================================================ */
.footer-heading { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--c1); margin-bottom: .9rem; }

.footer-list { display: flex; flex-direction: column; gap: .5rem; font-size: .82rem; color: rgba(255,255,255,.7); }
.footer-list a { color: rgba(255,255,255,.7); transition: color .2s; }
.footer-list a:hover { color: var(--c1); }

/* Punktlista med gröna accent-punkter */
.footer-list--dot li { display: flex; align-items: baseline; gap: .5rem; }
.footer-list--dot li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--c3); flex-shrink: 0; margin-top: .35rem; }

/* Separator */
.footer-list__sep { height: 1px; background: rgba(255,255,255,.3); margin: .4rem 0; }
.footer-list__sep::before { display: none !important; }

/* Ikonlista med hängande indrag */
.footer-list--icon li { display: flex; align-items: flex-start; gap: .75rem; }
.footer-list--icon i  { color: var(--c3); width: 16px; text-align: center; flex-shrink: 0; margin-top: .15rem; }

/* ================================================
   FOOTER BOTTOM
================================================ */
.footer-bottom {
  max-width: var(--mw); margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 1rem 0;
  padding-bottom: calc(1rem + var(--bh) + env(safe-area-inset-bottom));
  font-size: .75rem; color: rgba(255,255,255,.3);
  display: flex; flex-wrap: wrap; align-items: flex-end;
  justify-content: space-between; gap: .75rem;
}
@media (min-width: 768px) { .footer-bottom { padding-bottom: 1rem; } }

.footer-bottom__copy { white-space: nowrap; }
.footer-bottom__right { display: flex; flex-direction: column; align-items: flex-end; gap: .3rem; }
.footer-bottom__meta,
.footer-bottom__links { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem; justify-content: flex-end; }
.footer-bottom__meta span,
.footer-bottom__links span { color: rgba(255,255,255,.2); }
.footer-bottom a { color: rgba(255,255,255,.35); transition: color .2s; }
.footer-bottom a:hover { color: var(--c1); }