/* =========================================
   0. Tokens & Global Notes
   - Depends entirely on tokens.css
   - Uses semantic color/type/space/elevation tokens
   ========================================= */


/* =========================================
   1. Footer Shell
   ========================================= */
.site-footer {
  /* header ile akraba degrade */
  background: linear-gradient(135deg, var(--deep-moss) 0%, var(--surface) 100%);
  /* üstten yumuşak gölge + iç çizgi */
  box-shadow:
    0 -4px 16px rgba(0,0,0,.25),
    inset 0 1px 0 color-mix(in srgb, var(--tree-gold) 22%, transparent);
  color: var(--ivory-bone);
  position: relative;   /* fixed bg üstünde kalsın */
  z-index: 1;
}


/* =========================================
   2. Primary Row (brand + nav + actions)
   ========================================= */
.footer-container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-4) var(--container-pad-inline-desktop);
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: var(--space-5);
  border-bottom: 1px solid color-mix(in srgb, var(--moon-ash) 20%, transparent);
}


/* =========================================
   3. Brand
   ========================================= */
.footer-brand__name {
  font-family: var(--font-heading);
  font-weight: var(--weight-bold);
  letter-spacing: .06em;
  color: var(--ivory-bone);
  font-size: clamp(1rem, .25vw + 1rem, 1.125rem);
}
.footer-brand__tag {
  color: var(--text-muted);
  margin-left: var(--space-2);
  font-size: clamp(.85rem, .15vw + .8rem, .95rem);
}


/* =========================================
   4. Link Clusters (footer-links / footer-social / legal-links / actions)
   ========================================= */
.footer-links,
.footer-social,
.legal-links,
.footer-actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.footer-links a,
.footer-social a,
.legal-links a,
.back-to-top {
  color: var(--ivory-bone);
  text-decoration: none;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: var(--radius-interactive);
  line-height: 1.2;
  transition:
    background var(--ease-standard),
    border-color var(--ease-standard),
    color var(--ease-standard),
    transform var(--ease-standard);
  font-size: clamp(.9rem, .18vw + .85rem, .95rem);
}

.footer-links a:hover,
.footer-links a:focus-visible,
.footer-social a:hover,
.footer-social a:focus-visible,
.legal-links a:hover,
.legal-links a:focus-visible,
.back-to-top:hover,
.back-to-top:focus-visible {
  background: color-mix(in srgb, var(--bone-black) 18%, transparent);
  border-color: var(--tree-gold);
  outline: none;
  transform: translateY(-1px);
}

.footer-links .divider,
.legal-links .divider {
  color: var(--text-muted);
}

/* --- 4.1 Social icon buttons (ikonlu premium görünüm) --- */
.footer-social a {
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--tree-gold) 45%, transparent);
  border-radius: var(--radius-interactive);
}
.social-icon {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

/* (gerekirse) erişilebilir gizli metin */
.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden; clip: rect(1px,1px,1px,1px);
  white-space: nowrap; border: 0; padding: 0; margin: -1px;
}


/* =========================================
   5. Legal Bar
   ========================================= */
.footer-legal {
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-3) var(--container-pad-inline-desktop);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
}

.footer-legal p {
  margin: 0;
  color: var(--text-muted);
  font-size: clamp(.9rem, .2vw + .85rem, 1rem);
}


/* =========================================
   6. Back-to-top (CTA)
   ========================================= */
.back-to-top {
  margin-left: var(--space-5);
  border-color: color-mix(in srgb, var(--tree-gold) 45%, transparent);
}


/* =========================================
   7. Responsive Adjustments (token-driven)
   ========================================= */

/* ─────────────────────────────────────────
   7.1  Large Tablet / Small Laptop (≤1280)
   ───────────────────────────────────────── */
@media (max-width: 1280px) {
  .footer-container { gap: calc(var(--space-5) - var(--space-1)); }
}

/* ─────────────────────────────────────────
   7.2  Tablet (≤1024)
   ───────────────────────────────────────── */
@media (max-width: 1024px) {
  .footer-container {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto;
    row-gap: var(--space-4);
    padding-inline: var(--container-pad-inline-tablet);
  }
  .footer-social { justify-self: end; }
  .footer-links,
  .footer-social,
  .legal-links,
  .footer-actions { gap: var(--space-2); }
  .footer-links a,
  .footer-social a,
  .legal-links a,
  .back-to-top { padding: 5px 8px; }
}

/* ─────────────────────────────────────────
   7.3  Mobile (≤640)
   ───────────────────────────────────────── */
@media (max-width: 640px) {
  .footer-container {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
    padding-inline: var(--container-pad-inline-mobile);
    gap: var(--space-3);
  }

  /* Daha kompakt tipografi ve padding — header mobil yoğunluğu ile uyumlu */
  .footer-brand__name { font-size: clamp(.95rem, .6vw + .9rem, 1.05rem); }
  .footer-brand__tag  { font-size: clamp(.8rem, .4vw + .75rem, .9rem); }

  .footer-links,
  .footer-social,
  .legal-links,
  .footer-actions { gap: calc(var(--space-2) - 2px); }

  .footer-links a,
  .footer-social a,
  .legal-links a,
  .back-to-top {
    padding: 4px 6px;
    font-size: clamp(.85rem, .6vw + .8rem, .9rem);
    min-height: var(--touch-min);
    display: inline-flex;
    align-items: center;
  }

  /* Sosyal ikon boyutu kompakt */
  .footer-social a { width: 32px; height: 32px; }
  .social-icon { width: 16px; height: 16px; }

  .footer-legal {
    flex-direction: column;
    text-align: center;
    padding-inline: var(--container-pad-inline-mobile);
    gap: var(--space-2);
  }

  .footer-legal p { font-size: clamp(.85rem, .6vw + .8rem, .95rem); }
  .back-to-top { margin-left: 0; }
}

/* ─────────────────────────────────────────
   7.4  Small Phones (≤400) — mikro düzeltmeler
   ───────────────────────────────────────── */
@media (max-width: 400px) {
  .footer-links,
  .footer-social,
  .legal-links,
  .footer-actions { gap: var(--space-1); }
  .footer-links a,
  .footer-social a,
  .legal-links a,
  .back-to-top { padding: 3px 6px; }
}

/* ─────────────────────────────────────────
   7.5  Short Viewports (≤480px height)
   ───────────────────────────────────────── */
@media (max-height: 480px) and (max-width: 768px) {
  .footer-container { padding-block: var(--space-3); }
  .footer-legal     { padding-block: var(--space-2); }
}


/* =========================================
   8. Hover Capability Adjustments
   ========================================= */
@media (hover: none) {
  .footer-links a:hover,
  .footer-social a:hover,
  .legal-links a:hover,
  .back-to-top:hover {
    background: none;
    transform: none;
  }
}


/* =========================================
   9. Motion Preferences
   ========================================= */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
