/* =========================================
   NovaLuxe — Footer Styles
   ========================================= */
:root{
  --gold:#c8a45b;
  --gold2:#e6cd8c;
  --cream:#fffbe3;
}

/* Top divider (gold center, fade ends) */
.nlx-divider{
  height:2px; width:100%; border-radius:999px;
  background:linear-gradient(90deg,
    rgba(200,164,91,0) 0%,
    rgba(200,164,91,.55) 12%,
    var(--gold2) 50%,
    rgba(200,164,91,.55) 88%,
    rgba(200,164,91,0) 100%);
}
/* Slightly thicker divider on desktop */
@media (min-width:1024px){ .nlx-divider{ height:3px; } }

/* Footer spacing polish */
#contact{ scroll-margin-top:80px; }
#contact .nlx-divider{ margin-bottom:2.25rem; } /* mb-9 feel without editing HTML */
#contact .nlx-cta-btn{ margin-top:0.5rem; }      /* subtle tighten */

/* Gold heading */
.nlx-gold-heading{ color:#e9d39c; }

/* Underline links */
.nlx-gold-underline{
  position:relative; transition:color .2s ease;
}
.nlx-gold-underline::after{
  content:""; position:absolute; left:0; bottom:-2px; width:100%; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold2),#fff);
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}

/* Social pills */
.nlx-pill{
  display:inline-grid; place-items:center;
  width:40px; height:40px; border-radius:9999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:saturate(120%) blur(2px);
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.nlx-pill i{ transition:background .3s ease, color .3s ease; }

/* Focus ring (a11y) */
:where(a,button):focus-visible{
  outline:none;
  box-shadow:0 0 0 2px rgba(0,0,0,.9), 0 0 0 4px rgba(200,164,91,.55);
  border-radius:12px;
}

/* Image safety */
footer img{ -webkit-user-drag:none; user-select:none; }

/* CTA button */
.nlx-cta-btn{
  display:inline-block; border-radius:0.75rem;
  padding:0.5rem 1.25rem; font-size:0.875rem; font-weight:600;
  color:#000;
  background:linear-gradient(180deg,#c8a45b 0%,#e6cd8c 55%,#fff 100%);
  transition:filter .25s ease;
}
.nlx-cta-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px rgba(0,0,0,.9), 0 0 0 4px rgba(200,164,91,.55);
}

/* Back to Top button */
.nlx-to-top{
  position:fixed; right:1rem; bottom:1rem; z-index:50;
  width:44px; height:44px; border-radius:9999px;
  display:grid; place-items:center;
  font-size:1rem; font-weight:700; color:#000;
  background:linear-gradient(180deg,var(--gold),var(--gold2),#fff);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  transition:transform .25s ease, filter .25s ease, opacity .25s ease;
  opacity:1;
}
.nlx-to-top[hidden]{ opacity:0; pointer-events:none; transform:translateY(8px); }
.nlx-to-top:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px rgba(0,0,0,.9), 0 0 0 4px rgba(200,164,91,.55);
}

/* Hover effects — desktop only */
@media (hover:hover) and (pointer:fine){
  .nlx-gold-underline:hover{ color:var(--gold2); }
  .nlx-gold-underline:hover::after{ transform:scaleX(1); }
  .nlx-pill:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.35);
  }
  .nlx-pill:hover i{
    background:linear-gradient(180deg,var(--gold),var(--gold2),#fff);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .nlx-cta-btn:hover{ filter:brightness(.85); }
  .nlx-to-top:hover{ transform:translateY(-2px); filter:brightness(.95); }
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; }
}
