:root{
  --lux-dark:#0a0a0a; --lux-ink:#161616; --lux-muted:#6b7280;
  --lux-gold:#d4af37; --lux-soft:#f6f6f6;
}

/* Backgrounds */
.lux-gradient{background:
  radial-gradient(1200px 600px at 10% -10%, rgba(212,175,55,.10), transparent 50%),
  radial-gradient(1200px 600px at 90% 10%, rgba(212,175,55,.08), transparent 50%)}
.gold-bg{background:#F97316}
.noise:before{content:"";position:fixed;inset:0;pointer-events:none;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 40 40"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23n)" opacity="0.035"/></svg>')}

/* Animations / skeletons */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.card{transition:transform .4s ease, box-shadow .4s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.10)}
.skeleton{position:relative;overflow:hidden;background:#eef1f5}
.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translateX(-100%);animation:load 1.2s infinite}
@keyframes load{to{transform:translateX(100%)}}

/* Modal */
.modal{display:none}
.modal.show{display:flex}

/* Gold shadow */
.shadow-gold{box-shadow:0 0 0 1px rgba(212,175,55,.6), 0 10px 30px rgba(212,175,55,.15)}

/* Slider luxury (auriu + fill dinamic, ca în mock) */
.lux-range{
  --p: 100%;
  -webkit-appearance:none; appearance:none; width:100%;
  background:linear-gradient(to right,#F97316 0%,#F97316 var(--p),#e5e7eb var(--p),#e5e7eb 100%);
  border-radius:9999px; outline:none;
}
.lux-range::-webkit-slider-runnable-track{height:6px;border-radius:9999px;background:transparent}
.lux-range::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:24px;height:24px;border-radius:9999px;
  background:#F97316;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25);margin-top:-10px
}
.lux-range::-moz-range-track{height:6px;border-radius:9999px;background:transparent}
.lux-range::-moz-range-thumb{
  width:24px;height:24px;border-radius:9999px;background:#F97316;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25)
}

/* chips mai compacte pe ecrane mici */
@media (max-width: 640px){
  .chip{ padding: .375rem .75rem; font-size: .9rem; }
}

/* umbre fine la scroll sus/jos în body-ul modalului */
.scroll-shadow{ position:relative; }
.scroll-shadow::before,
.scroll-shadow::after{
  content:""; position:absolute; left:0; right:0; height:14px; pointer-events:none; z-index:10;
}
.scroll-shadow::before{ top:0; background:linear-gradient(to bottom, rgba(0,0,0,.06), transparent); }
.scroll-shadow::after{ bottom:0; background:linear-gradient(to top, rgba(0,0,0,.06), transparent); }

/* ascunde bara de derulare pe carusel */
.scrollbar-none{ -ms-overflow-style:none; scrollbar-width:none; }
.scrollbar-none::-webkit-scrollbar{ display:none; }

/* === Hamburger button === */
.hamburger {
  position: relative; width: 22px; height: 16px; display: inline-block;
}
.hamburger span {
  position: absolute; left: 0; right: 0; height: 2px; background: #111; border-radius: 1px;
  transition: transform .2s ease, opacity .15s ease, top .2s ease;
}
.hamburger span:nth-child(1){ top: 0; }
.hamburger span:nth-child(2){ top: 7px; }
.hamburger span:nth-child(3){ top: 14px; }
.hamburger.open span:nth-child(1){ top: 7px; transform: rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity: 0; }
.hamburger.open span:nth-child(3){ top: 7px; transform: rotate(-45deg); }

/* === Modal sheet helpers (dacă nu le ai deja) === */
#mobileSheet.is-open #mobileBackdrop { opacity: 1; }
#mobileSheet.is-open #mobilePanel { transform: translateX(0%); }
