/* Footer in normal document flow */
.footer {
  margin-top: auto; /* push footer to bottom within .app-wrapper flex layout */
  padding: 0;       /* no extra spacing at bottom */
  border-top: 0;
}

/* Footer rectangle card (top section) */
.footer-card {
  width: 100%;
  padding: 20px 0; /* vertical breathing room */
}
.footer-card__inner {
  width: 100%;
  max-width: 1100px;   /* align with .container */
  margin: 0 auto;      /* center */
  padding: 2rem;  /* same side padding as container */
  border: 1px solid var(--border);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  box-shadow: 0 10px 30px -18px rgba(0,0,0,0.8), 0 6px 18px -14px rgba(0,0,0,0.6);
}

/* Footer card layout: two rows, top has two columns */
.footer-top {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr; /* left, right */
  gap: 24px;
  align-items: start;
}
.footer-left {
  display: grid;
  grid-auto-rows: max-content;
  gap: 12px; /* space between logo, desc, socials */
}
.footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.footer-logo img {
  height: 36px;
  width: auto;
  display: block;
}
.footer-desc {
  margin: 0;
  color: var(--muted);
  font-size: 1.2rem;
  line-height: 1.5;
  width: 70%;
}
.footer-social {
  display: flex;
  gap: 10px;
  margin-top: 2rem;
}
.footer-social .social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, #181b20, #0f1216);
  color: var(--text);
  text-decoration: none;
}
.footer-social .social-btn:hover { filter: brightness(1.06); }

.footer-right {
  /* Placeholder for links/quick nav */
  display: grid;
  gap: 8px;
}

/* Footer right: title + two-column links */
.footer-title {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
}
.footer-links-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}
.footer-links-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.footer-links-grid a {
  color: var(--text);
  text-decoration: none;
  opacity: 0.85;
  font-size: 1.1rem;
  font-weight: 400;
}
.footer-links-grid a:hover {
  opacity: 1;
  text-decoration: underline;
}

.footer-bottom {
  margin-top: 2rem;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 1rem;      /* unify size */
  font-weight: 400;     /* unify weight */
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer-bottom small {  /* ensure <small> doesn't shrink */
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

.footer-links {
  display: flex;
  gap: 14px;
}
.footer-links a {
  color: inherit;       /* same color as copyright */
  font-size: inherit;   /* same size */
  font-weight: inherit; /* same weight */
  text-decoration: none;
}
.footer-links a:hover {
  color: var(--text);
  text-decoration: underline;
}

/* Full-width brand strip */
.bottom-brand {
  width: 100%;
  max-width: 1100px;   /* match .container */
  margin: 0 auto;       /* center within viewport */
  padding: 0 20px;      /* match .container side padding */
  pointer-events: none; /* decorative */
  user-select: none;
  overflow: hidden;     /* hide image offset below footer */
}
.bottom-brand img {
  display: block;
  width: 100%;    /* span container width */
  opacity: 0.24;  /* soft, faded */
  /* crop a bit from the bottom while staying flush with viewport bottom */
  clip-path: inset(0 0 20% 0);
  transform: translateY(25%); /* offset image down to cover the clipped gap */
  filter: drop-shadow(0 4px 14px rgba(0,0,0,0.25));
}
