/* =====================================================
   SITE FOOTER
   Design tokens come from header.css (:root)
   ===================================================== */

.site-footer {
  /* Full-width override – breaks out of any Elementor container */
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;

  background: var(--bg);
  border-top: 1px solid var(--rule-2);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

/* ── Identity block ──────────────────────────────── */
.ftr-id {
  padding: 5.5rem 0 4.5rem;
  text-align: center;
  border-bottom: 1px solid var(--rule);
}

.ftr-logo {
  display: block;
  font-family: var(--serif);
  font-size: 2.6rem; font-weight: 300;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--text-1); line-height: 1;
  margin-bottom: .6rem;
  text-decoration: none;
  transition: color .3s;
}
.ftr-logo:hover { color: var(--text-2); }

.ftr-loc {
  display: block;
  font-family: var(--sans);
  font-size: .52rem; font-weight: 300;
  letter-spacing: .4em; text-transform: uppercase;
  color: var(--gold-2);
}

/* ── Three-column grid ───────────────────────────── */
.ftr-cols {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 4rem var(--gap);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 6rem);
  border-bottom: 1px solid var(--rule);
  box-sizing: border-box;
}

.ftr-col-head {
  display: block;
  font-family: var(--sans);
  font-size: .5rem; font-weight: 500;
  letter-spacing: .34em; text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1.5rem;
}

/* ── Column 1 & 2: menu links (wp_nav_menu output) ── */
.ftr-col-links {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: .6rem;
}
.ftr-col-links li { list-style: none; }
.ftr-col-links li a,
.ftr-col-links a {
  font-family: var(--sans);
  font-size: .82rem; font-weight: 300;
  line-height: 1.5;
  color: #ffffff;
  text-decoration: none;
  transition: color .3s;
}
.ftr-col-links li a:hover,
.ftr-col-links a:hover { color: var(--gold); }

/* ── Column 3: text block ────────────────────────── */
.ftr-col-text {
  font-family: var(--sans);
  font-size: .82rem; font-weight: 300;
  line-height: 2;
  color: #ffffff;
  margin-bottom: 1.5rem;
}
.ftr-col-text a {
  color: #ffffff;
  text-decoration: none;
  transition: color .3s;
}
.ftr-col-text a:hover { color: var(--gold); }

/* ── Social links ────────────────────────────────── */
.ftr-social {
  display: flex; flex-direction: column; gap: .6rem;
}
.ftr-social a {
  font-family: var(--sans);
  font-size: .82rem; font-weight: 300;
  color: #ffffff;
  text-decoration: none;
  transition: color .3s;
  display: flex; align-items: center; gap: .5rem;
}
.ftr-social a::before {
  content: '↗';
  font-size: .6rem;
  color: var(--gold); opacity: .55;
}
.ftr-social a:hover { color: var(--gold); }

/* ── Bottom nav row ──────────────────────────────── */
.ftr-nav {
  max-width: var(--container);
  margin: 0 auto;
  padding: 2rem var(--gap);
  display: flex; align-items: center; justify-content: center;
  gap: 2.8rem; flex-wrap: wrap;
  border-bottom: 1px solid var(--rule);
}

/* wp_nav_menu outputs ul inside the nav container */
.ftr-nav .ftr-nav-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; align-items: center;
  justify-content: center;
  gap: 2.8rem; flex-wrap: wrap;
}
.ftr-nav .ftr-nav-list li { list-style: none; }
.ftr-nav .ftr-nav-list li a {
  font-family: var(--sans);
  font-size: .58rem; font-weight: 300;
  letter-spacing: .16em; text-transform: uppercase;
  color: rgba(255,255,255,.5);
  text-decoration: none;
  transition: color .3s;
}
.ftr-nav .ftr-nav-list li a:hover,
.ftr-nav .ftr-nav-list li.current-menu-item a { color: #ffffff; }

/* ── Base bar: copyright + credit ────────────────── */
.ftr-base {
  max-width: var(--container);
  margin: 0 auto;
  padding: 1.5rem var(--gap);
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.5rem; flex-wrap: wrap;
  box-sizing: border-box;
}

.ftr-copy {
  font-family: var(--sans);
  font-size: .58rem; font-weight: 300;
  letter-spacing: .1em;
  color: rgba(255,255,255,.38);
}

.ftr-credit {
  font-family: var(--sans);
  font-size: .58rem; font-weight: 300;
  letter-spacing: .1em;
  color: rgba(255,255,255,.38);
  text-decoration: none;
  transition: color .3s;
}
.ftr-credit strong {
  font-weight: 500;
  color: rgba(255,255,255,.6);
}
.ftr-credit:hover { color: var(--gold); }
.ftr-credit:hover strong { color: var(--gold); }

/* =====================================================
   RESPONSIVE – MOBILE  (≤ 768px)
   ===================================================== */
@media (max-width: 768px) {
  .ftr-id { padding: 3.5rem var(--gap) 3rem; }
  .ftr-logo { font-size: 1.8rem; letter-spacing: .14em; }

  .ftr-cols {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
  }
  .ftr-col {
    padding: 2.5rem var(--gap);
    border-bottom: 1px solid var(--rule);
  }
  .ftr-col:last-child { border-bottom: none; }

  .ftr-nav {
    gap: 1rem 1.8rem;
    justify-content: flex-start;
    padding: 1.8rem var(--gap);
  }
  .ftr-nav .ftr-nav-list {
    gap: 1rem 1.8rem;
    justify-content: flex-start;
  }

  .ftr-base {
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
    padding: 1.4rem var(--gap) 2rem;
  }
}

@media (max-width: 480px) {
  .ftr-logo { font-size: 1.5rem; }
}
