/* ============================================================
   LUXVIS - Footer
   ============================================================ */
#lv-footer{
  --f-gold:#d4af37; --f-gold-l:#f0d879; --f-white:#f5f0e8; --f-grey:#ab9c98;
  position:relative; overflow:hidden; isolation:isolate;
  padding:clamp(60px,9vh,110px) clamp(22px,6vw,90px) 0;
  font-family:var(--lvt-schrift-text); color:var(--f-grey);
  border-top:1px solid rgba(212,175,55,.16);
}
#lv-footer *{ box-sizing:border-box; }
#lv-footer::before{
  content:''; position:absolute; top:-1px; left:0; right:0; height:1px; z-index:2;
  background:linear-gradient(90deg, transparent, rgba(212,175,55,.85), transparent);
}
 
/* Riesiger Schriftzug als Kontur im Hintergrund */
#lv-footer .lv-f-watermark{
  position:absolute; left:50%; bottom:-.16em; transform:translateX(-50%); z-index:0;
  font:700 clamp(5rem,19vw,17rem)/1 var(--lvt-schrift-titel); letter-spacing:-.035em;
  white-space:nowrap; color:transparent; pointer-events:none; user-select:none;
  -webkit-text-stroke:1px rgba(212,175,55,.15);
}
 
#lv-footer .lv-f-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.45fr 1fr 1fr 1.15fr; gap:clamp(26px,3.5vw,58px);
  align-items:start;
}
#lv-footer .lv-f-col{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .8s var(--lvt-weich); }
#lv-footer.is-in .lv-f-col{ opacity:1; transform:none; }
#lv-footer.is-in .lv-f-grid .lv-f-col:nth-child(1){ transition-delay:0.00s; }
#lv-footer.is-in .lv-f-grid .lv-f-col:nth-child(2){ transition-delay:0.09s; }
#lv-footer.is-in .lv-f-grid .lv-f-col:nth-child(3){ transition-delay:0.18s; }
#lv-footer.is-in .lv-f-grid .lv-f-col:nth-child(4){ transition-delay:0.27s; }
 
/* ---------- Markenspalte ---------- */
#lv-footer .lv-f-mark{
  display:block; width:54px; height:54px; margin-bottom:16px;
  background:linear-gradient(135deg,var(--lvt-gold-tief) 0%,var(--lvt-gold-licht) 34%,var(--lvt-gold-mittel) 62%,var(--lvt-gold-weiss) 84%,var(--lvt-gold-tief) 100%);
  -webkit-mask-image:url(../img/luxvis-logo-pyramide-final.png); mask-image:url(../img/luxvis-logo-pyramide-final.png);
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:left center; mask-position:left center;
}
#lv-footer .lv-f-word{
  display:block; font:700 26px/1 var(--lvt-schrift-titel); letter-spacing:.01em; color:var(--f-white);
  margin-bottom:14px;
}
#lv-footer .lv-f-word span{
  background-image:linear-gradient(110deg,var(--lvt-gold-mittel),var(--lvt-gold-weiss),var(--lvt-gold-mittel));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#lv-footer .lv-f-claim{ margin:0; max-width:34ch; font-size:14px; line-height:1.7; }
 
/* ---------- Spaltenkoepfe und Listen ---------- */
#lv-footer .lv-f-head{
  margin:0 0 18px; font:600 11px/1 var(--lvt-schrift-titel);
  letter-spacing:.26em; text-transform:uppercase; color:var(--f-gold);
}
#lv-footer .lv-f-list{ list-style:none; margin:0; padding:0; }
#lv-footer .lv-f-list li{ margin-bottom:11px; }
#lv-footer .lv-f-list a{
  position:relative; display:inline-block; padding-left:0; text-decoration:none;
  font-size:14.5px; line-height:1.5; color:var(--f-grey);
  background-image:linear-gradient(100deg,var(--lvt-gold-mittel) 0%,var(--lvt-gold-weiss) 40%,var(--lvt-gold-hell) 70%,var(--lvt-gold-mittel) 100%);
  background-size:220% 100%; background-position:100% 0;
  -webkit-background-clip:text; background-clip:text;
  transition:padding-left .38s var(--lvt-weich), background-position .7s ease, color .3s ease;
}
#lv-footer .lv-f-list a::before{
  content:'\25C6'; position:absolute; left:0; top:.42em; font-size:6px; color:var(--f-gold);
  opacity:0; transform:translateX(-6px); transition:opacity .3s ease, transform .38s var(--lvt-weich);
}
#lv-footer .lv-f-list a:hover,
#lv-footer .lv-f-list a:focus-visible{ color:transparent; background-position:0 0; padding-left:18px; }
#lv-footer .lv-f-list a:hover::before,
#lv-footer .lv-f-list a:focus-visible::before{ opacity:1; transform:none; }
 
/* ---------- Handlungsaufforderung ---------- */
#lv-footer .lv-f-ctatext{ margin:0 0 20px; font-size:14px; line-height:1.7; max-width:30ch; }
#lv-footer .lv-f-btn{
  position:relative; display:inline-flex; align-items:center; gap:12px; overflow:hidden;
  padding:14px 26px; border-radius:999px; text-decoration:none;
  background:linear-gradient(120deg,var(--f-gold),var(--f-gold-l)); color:var(--lvt-schwarz);
  font:600 12px/1 var(--lvt-schrift-titel); letter-spacing:.14em; text-transform:uppercase;
  transition:transform .35s ease, box-shadow .35s ease;
}
#lv-footer .lv-f-btn span{ position:relative; z-index:1; }
#lv-footer .lv-f-btn i{
  position:relative; z-index:1; width:16px; height:1.5px; background:var(--lvt-schwarz); flex:none;
  transition:width .35s var(--lvt-weich);
}
#lv-footer .lv-f-btn i::after{
  content:''; position:absolute; right:0; top:-3px; width:7px; height:7px;
  border-top:1.5px solid var(--lvt-schwarz); border-right:1.5px solid var(--lvt-schwarz); transform:rotate(45deg);
}
#lv-footer .lv-f-btn::before{
  content:''; position:absolute; top:0; bottom:0; left:0; width:45%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transform:translateX(-160%) skewX(-18deg); transition:transform .75s var(--lvt-weich);
}
#lv-footer .lv-f-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 34px rgba(212,175,55,.32); }
#lv-footer .lv-f-btn:hover i{ width:26px; }
#lv-footer .lv-f-btn:hover::before{ transform:translateX(320%) skewX(-18deg); }
 
/* ---------- Fusszeile ---------- */
#lv-footer .lv-f-bar{
  position:relative; z-index:1; margin-top:clamp(38px,6vh,68px);
  padding:20px 0 24px; border-top:1px solid rgba(245,240,232,.09);
  display:flex; flex-wrap:wrap; gap:12px 34px; align-items:center; justify-content:space-between;
}
#lv-footer .lv-f-copy{ font:600 11px/1.6 var(--lvt-schrift-titel); letter-spacing:.16em; text-transform:uppercase; }
#lv-footer .lv-f-copy-b{ color:var(--f-gold); }
#lv-footer .lv-f-legal{ list-style:none; display:flex; flex-wrap:wrap; gap:8px 26px; margin:0; padding:0; }
#lv-footer .lv-f-legal a{
  font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--f-grey);
  text-decoration:none; transition:color .3s ease;
}
#lv-footer .lv-f-legal a:hover{ color:var(--f-gold); }
 
/* ---------- Mobil ---------- */
@media (max-width:980px){
  #lv-footer .lv-f-grid{ grid-template-columns:1fr 1fr; }
  #lv-footer .lv-f-brand{ grid-column:1 / -1; }
}
@media (max-width:600px){
  #lv-footer .lv-f-grid{ grid-template-columns:1fr; gap:34px; }
  #lv-footer .lv-f-watermark{ -webkit-text-stroke-width:.7px; }
  #lv-footer .lv-f-bar{ flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce){
  #lv-footer .lv-f-col{ transition-duration:.01s !important; transition-delay:0s !important; }
  #lv-footer .lv-f-btn::before{ display:none; }
}
