/* ─────────────────────────────────────────────────────────────
   BAZELIUM — Full-Width Luxury Footer  ·  2026
   Dark-glass surface, edge-to-edge, zero borders, zero radius.
   ───────────────────────────────────────────────────────────── */

.site-footer-inner {
  --bz-gold: #f1eade;
  --bz-gold-rgb: 241, 234, 222;
  --bz-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --bz-footer-bg: rgba(7, 7, 7, 0.91);

  box-sizing: border-box;
  isolation: isolate;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 2;
  background: var(--bz-footer-bg);
  backdrop-filter: blur(28px) saturate(120%);
  -webkit-backdrop-filter: blur(28px) saturate(120%);
}

/* ── Top-edge luxury gradient line (replaces border) ── */
.site-footer-inner::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--bz-gold-rgb), 0.12) 15%,
    rgba(var(--bz-gold-rgb), 0.32) 38%,
    rgba(var(--bz-gold-rgb), 0.38) 50%,
    rgba(var(--bz-gold-rgb), 0.32) 62%,
    rgba(var(--bz-gold-rgb), 0.12) 85%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}

/* ── Noise/grain texture for premium tactile feel ── */
.site-footer-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: 0.022;
  pointer-events: none;
  z-index: 0;
}

/* ── Inner content container ── */
.site-footer-inner__container {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: min(80rem, 100%);
  padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 6vw, 5rem) clamp(2rem, 4.5vw, 3.5rem);
  position: relative;
  z-index: 2;
}

/* ── Two-column main grid ── */
.site-footer-inner__grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  grid-template-columns: 1fr;
  margin-bottom: clamp(2rem, 4.5vw, 3.5rem);
}

/* ── Section headings ── */
.site-footer-inner__about,
.site-footer-inner__menu {
  min-width: 0;
}

.site-footer-inner__title {
  color: rgba(var(--bz-gold-rgb), 0.92);
  font-size: clamp(0.72rem, 1.8vw, 0.82rem);
  font-weight: 600;
  letter-spacing: 0.18em;
  margin: 0 0 1.6em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 0.9em;
}

.site-footer-inner__title::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: clamp(1.4rem, 2.8vw, 2.2rem);
  height: 1px;
  background: rgba(var(--bz-gold-rgb), 0.55);
}

/* ── About body text ── */
.site-footer-inner__body {
  color: rgba(255, 255, 255, 0.58);
  font-size: clamp(0.9rem, 2.2vw, 1rem);
  line-height: 2;
  margin: 0;
  max-width: 38rem;
}

/* ── Navigation link grid ── */
.site-footer-inner__nav-list {
  display: grid;
  gap: clamp(0rem, 0.5vw, 0.15rem) clamp(0.75rem, 3vw, 1.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer-inner__nav-list li {
  margin: 0;
  min-width: 0;
}

.site-footer-inner__nav-link {
  align-items: center;
  color: rgba(255, 255, 255, 0.62);
  display: flex;
  font-size: clamp(0.84rem, 2.3vw, 0.94rem);
  gap: 0.6em;
  line-height: 1.45;
  overflow-wrap: anywhere;
  padding: 0.52em 0;
  position: relative;
  text-decoration: none;
  transition:
    color 0.38s var(--bz-ease),
    transform 0.38s var(--bz-ease),
    opacity 0.38s var(--bz-ease);
  width: 100%;
}

.site-footer-inner__nav-link::before {
  content: "";
  flex-shrink: 0;
  width: 0.18rem;
  height: 0.18rem;
  border-radius: 50%;
  background: rgba(var(--bz-gold-rgb), 0);
  transition:
    background 0.38s var(--bz-ease),
    transform 0.38s var(--bz-ease);
  transform: scale(0.4);
}

.site-footer-inner__nav-link:hover,
.site-footer-inner__nav-link:focus-visible {
  color: var(--bz-gold);
  opacity: 1;
  outline: none;
  transform: translateX(-4px);
}

.site-footer-inner__nav-link:hover::before,
.site-footer-inner__nav-link:focus-visible::before {
  background: rgba(var(--bz-gold-rgb), 0.75);
  transform: scale(1);
}

/* ── Bottom bar ── */
.site-footer-inner__bottom {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.5rem;
  justify-content: space-between;
  padding-top: clamp(1.25rem, 2.8vw, 1.75rem);
  position: relative;
}

.site-footer-inner__bottom::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.07) 20%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0.07) 80%,
    transparent 100%
  );
}

.site-footer-inner__rights {
  color: rgba(255, 255, 255, 0.4);
  flex: 1 1 12rem;
  font-size: clamp(0.76rem, 2vw, 0.86rem);
  line-height: 1.65;
  min-width: 0;
  text-align: right;
}

.site-footer-inner__byline {
  color: rgba(var(--bz-gold-rgb), 0.52);
  flex: 0 1 auto;
  font-size: clamp(0.76rem, 2vw, 0.86rem);
  letter-spacing: 0.04em;
  text-align: left;
}

.site-footer-inner__dot {
  background: rgba(var(--bz-gold-rgb), 0.3);
  border-radius: 50%;
  display: none;
  flex: 0 0 auto;
  height: 0.22rem;
  width: 0.22rem;
}

/* ─── Tablet and up ─────────────────────────────────────── */
@media (min-width: 768px) {
  .site-footer-inner__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: clamp(3rem, 6vw, 6rem);
  }

  .site-footer-inner__bottom {
    flex-wrap: nowrap;
  }

  .site-footer-inner__rights,
  .site-footer-inner__byline {
    white-space: nowrap;
  }

  .site-footer-inner__dot {
    display: block;
  }
}

/* ─── Desktop ───────────────────────────────────────────── */
@media (min-width: 1100px) {
  .site-footer-inner__grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.8fr);
  }

  .site-footer-inner__menu {
    padding-inline-start: clamp(1rem, 2vw, 2rem);
  }

  .site-footer-inner__nav-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.05rem, 0.4vw, 0.2rem) clamp(0.85rem, 1.6vw, 1.5rem);
  }

  .site-footer-inner__nav-link {
    font-size: clamp(0.86rem, 0.7vw, 0.94rem);
    padding-block: 0.48em;
  }
}

/* ─── Touch / mobile: replace blur with solid dark surface ─ */
@media (hover: none) and (pointer: coarse), (max-width: 1024px) {
  .site-footer-inner {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgb(9, 9, 9);
  }
}

/* ─── Reduced motion ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .site-footer-inner__nav-link,
  .site-footer-inner__nav-link::before {
    transition: none;
  }

  .site-footer-inner__nav-link:hover,
  .site-footer-inner__nav-link:focus-visible {
    transform: none;
  }
}
