/* assets/css/footer.css (compact desktop <= 300px, modern, mobile-first) */

:root{
  --kc-font:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --kc-ink:#0b1220;
  --kc-muted:rgba(11,18,32,.70);
  --kc-line:rgba(11,18,32,.10);

  --kc-aqua:#2bc4e3;
  --kc-pink:#ff2d55;
  --kc-yellow:#ffd66b;
  --kc-purple:#7c5cff;

  --kc-pad:clamp(14px,3.5vw,28px);
  --kc-wrap:1120px;

  --kc-radius:18px;
  --kc-radius2:22px;

  --kc-card:rgba(255,255,255,.66);
  --kc-glass:rgba(255,255,255,.52);
  --kc-shadow:0 14px 38px rgba(11,18,32,.12);
  --kc-shadow2:0 10px 26px rgba(11,18,32,.10);
}

.kc-footer{
  font-family:var(--kc-font);
  color:var(--kc-ink);
  border-top:1px solid var(--kc-line);
  background:
    radial-gradient(900px 420px at 10% 8%, rgba(255,214,107,.20), transparent 60%),
    radial-gradient(820px 420px at 90% 18%, rgba(255,45,85,.08), transparent 62%),
    radial-gradient(820px 420px at 16% 92%, rgba(43,196,227,.08), transparent 62%),
    radial-gradient(820px 420px at 90% 92%, rgba(124,92,255,.08), transparent 64%),
    linear-gradient(180deg, rgba(255,247,237,1), rgba(255,239,228,1));
  overflow-x:clip;

  /* z-index fix: footer must not float above modals/headers */
  position:relative;
  z-index:0;
  isolation:isolate;
  clear:both;
}

/* ====== LAYOUT WRAPPER ====== */
.kc-footer__inner{
  width:min(var(--kc-wrap),calc(100% - (var(--kc-pad) * 2)));
  margin:0 auto;
  padding:18px 0 12px;
  display:grid;
  gap:12px;
}

/* ====== BRAND (centered) ====== */
.kc-footer__brand{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:8px;
  padding:12px 14px;
  border-radius:var(--kc-radius2);
  background:var(--kc-card);
  border:1px solid var(--kc-line);
  box-shadow:var(--kc-shadow2);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.kc-footer__logo{
  width:56px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(11,18,32,.10));
}

.kc-footer__brandText{
  margin:0;
  max-width:36ch;
  color:var(--kc-muted);
  font-weight:700;
  line-height:1.35;
  font-size:13px;
}

/* ====== COLUMNS ====== */
.kc-footer__cols{
  display:grid;
  gap:10px;
}

/* compact module */
.kc-footer__col{
  padding:12px 12px 10px;
  border-radius:var(--kc-radius2);
  background:var(--kc-glass);
  border:1px solid var(--kc-line);
  box-shadow:var(--kc-shadow2);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  min-width:0;
}

.kc-footer__title{
  margin:0 0 8px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(11,18,32,.68);
}

/* NAV: compact grid buttons */
.kc-footer__col:first-child{
  display:grid;
  gap:8px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.kc-footer__col:first-child .kc-footer__title{
  grid-column:1 / -1;
}

.kc-footer__col:first-child a{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(11,18,32,.08);
  color:rgba(11,18,32,.92);
  font-weight:900;
  font-size:12.5px;
  line-height:1.05;
  margin:0;
  box-shadow:0 10px 20px rgba(11,18,32,.08);
  transition:transform .14s ease, box-shadow .14s ease, filter .14s ease;
  -webkit-tap-highlight-color:transparent;
  text-decoration:none;
}

.kc-footer__col:first-child a:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(11,18,32,.12);
}

.kc-footer__col:first-child a:active{
  transform:translateY(0);
  filter:saturate(105%);
}

.kc-footer__col a:focus-visible{
  outline:3px solid rgba(43,196,227,.32);
  outline-offset:3px;
}

/* LEGAL + CONTACT: tight pills */
.kc-footer__col:not(:first-child) a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  margin:7px 0 0;
  padding:9px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(11,18,32,.08);
  color:rgba(11,18,32,.88);
  font-weight:850;
  font-size:12.5px;
  line-height:1.1;
  transition:transform .14s ease, background .14s ease;
  overflow-wrap:anywhere;
  text-decoration:none;
}

.kc-footer__col:not(:first-child) a:hover{
  background:rgba(11,18,32,.04);
  transform:translateY(-1px);
}

.kc-footer__col:not(:first-child) a:active{
  transform:translateY(0);
}

.kc-footer__text{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:8px;
  padding:9px 10px;
  border-radius:14px;
  background:rgba(11,18,32,.04);
  border:1px solid rgba(11,18,32,.06);
  color:var(--kc-muted);
  font-weight:900;
  font-size:12.5px;
  line-height:1.1;
}

/* ====== BOTTOM BAR ====== */
.kc-footer__bottom{
  border-top:1px solid var(--kc-line);
  background:rgba(255,255,255,.38);
  padding:10px 0;
}

.kc-footer__bottom > span{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  width:min(var(--kc-wrap),calc(100% - (var(--kc-pad) * 2)));
  margin:0 auto;
  color:var(--kc-muted);
  font-weight:850;
  font-size:12px;
  line-height:1.25;
}

/* powered-by link */
.kc-footer__powered{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:850;
  font-size:12px;
  color:var(--kc-muted);
}

.kc-footer__powered a{
  color:#0b1220;
  font-weight:950;
  text-decoration:none;
  border-bottom:2px solid rgba(43,196,227,.30);
  transition:color .14s ease, border-color .14s ease, transform .14s ease;
}

.kc-footer__powered a:hover{
  color:var(--kc-aqua);
  border-color:var(--kc-aqua);
  transform:translateY(-1px);
}

.kc-footer__powered a:focus-visible{
  outline:3px solid rgba(43,196,227,.32);
  outline-offset:3px;
}

/* ====== DESKTOP: ultra-compact <= 300px ====== */
@media (min-width: 900px){
  .kc-footer__inner{
    padding:16px 0 10px;
    gap:10px;
    grid-template-columns: 1.05fr 2.95fr;
    align-items:start;
  }

  .kc-footer__brand{
    justify-items:start;
    text-align:left;
    padding:12px 14px;
  }

  .kc-footer__logo{ width:52px; height:52px; }

  .kc-footer__brandText{
    max-width:30ch;
    font-size:12.5px;
    line-height:1.28;
  }

  .kc-footer__cols{
    grid-template-columns: 1.55fr .9fr .9fr;
    gap:10px;
  }

  .kc-footer__col:first-child{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:8px;
    padding:10px 10px 10px;
  }

  .kc-footer__col:first-child a{
    padding:8px 9px;
    font-size:12px;
    border-radius:13px;
    box-shadow:0 8px 16px rgba(11,18,32,.08);
  }

  .kc-footer__col{
    padding:10px 10px 10px;
  }

  .kc-footer__title{
    margin:0 0 6px;
    font-size:10.5px;
  }

  .kc-footer__col:not(:first-child) a{
    margin-top:6px;
    padding:8px 9px;
    font-size:12px;
  }

  .kc-footer__text{
    margin-top:7px;
    padding:8px 9px;
    font-size:12px;
    justify-content:flex-start;
  }

  .kc-footer__bottom > span{
    justify-content:space-between;
  }

  /* hard cap for desktop height */
  .kc-footer{
    max-height:300px;
  }
}

/* ====== SMALL MOBILE: avoid tall nav ====== */
@media (max-width: 360px){
  .kc-footer__col:first-child{ grid-template-columns:1fr; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .kc-footer__col a{ transition:none; }
  .kc-footer__col a:hover{ transform:none; }
}
