:root{
  --luxury-gold: #d4af37;
  --luxury-gold-soft: #f3d77f;
}

.luxury-advent-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px;
  font-family: "Bebas Neue", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--luxury-gold);
  letter-spacing: 0.4px;
}

.luxury-advent-header {
  text-align: center;
  margin-bottom: 16px;
}

.luxury-advent-header h2 {
  font-size: 38px;
  margin: 0 0 6px;
  letter-spacing: 1px;
  color: var(--luxury-gold);
}

.luxury-advent-header p {
  font-size: 18px;
  color: var(--luxury-gold-soft);
}

.luxury-advent-clientbox {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  max-width: 460px;
  margin: 0 auto 12px;
  padding: 12px;
  border: 1px solid #2a2a2a;
  background: #0a0a0a;
}

.luxury-advent-clientbox label {
  font-size: 14px;
  opacity: 0.9;
  color: var(--luxury-gold);
}

.luxury-advent-clientbox input {
  padding: 10px 12px;
  border: 1px solid #3a3a3a;
  outline: none;
  font-size: 18px;
  background: #050505;
  color: var(--luxury-gold);
  font-family: "Bebas Neue", sans-serif;
  letter-spacing: 0.6px;
}

.luxury-advent-clientbox input::placeholder{
  color: #8b7a3a;
}

.luxury-advent-lockedhint{
  text-align:center;
  font-size:18px;
  margin: 6px 0 16px;
  color: var(--luxury-gold-soft);
}

.luxury-advent-grid {
  display: none;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 900px) {
  .luxury-advent-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 520px) {
  .luxury-advent-grid { grid-template-columns: repeat(2, 1fr); }
}

.luxury-day {
  position: relative;
  background: #050505;
  border: 1px solid #2a2a2a;
  color: var(--luxury-gold);
  overflow: hidden;
  min-height: 210px;
  box-shadow: 0 0 0 1px rgba(212,175,55,0.05) inset;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.luxury-day:hover{
  transform: translateY(-2px);
  border-color: rgba(212,175,55,0.35);
  box-shadow: 0 6px 18px rgba(212,175,55,0.08);
}

.luxury-day.locked-day{
  cursor: default;
}
.luxury-day.locked-day:hover{
  transform:none;
  box-shadow:none;
  border-color:#2a2a2a;
}

.luxury-day.already-scratched,
.luxury-day.clicked-once {
  border-color: rgba(212,175,55,0.55);
  box-shadow: 0 0 0 1px rgba(212,175,55,0.15) inset;
  cursor: default;
}

.luxury-day-inner {
  position: relative;
  height: 100%;
  padding: 10px;
}

.luxury-day-num {
  position: absolute;
  top: 8px;
  left: 8px;
  font-size: 22px;
  opacity: 0.95;
  z-index: 3;
  color: var(--luxury-gold);
}

.luxury-prize-reveal {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 12px;
  text-align: center;
  font-size: 20px;
  z-index: 1;
  background: radial-gradient(circle at top, #171717, #000);
  gap: 10px;
}

.luxury-prize-reveal.locked {
  filter: grayscale(1);
  opacity: 0.75;
}

.luxury-gift{
  font-size: 46px;
  animation: luxury-gift-float 1.6s ease-in-out infinite;
}
@keyframes luxury-gift-float{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-6px); }
}

.luxury-cta{
  font-size: 18px;
  color: var(--luxury-gold-soft);
  letter-spacing: 1.2px;
}

.luxury-prize-reveal.revealed {
  animation: luxury-pop 0.35s ease;
}

@keyframes luxury-pop {
  0% { transform: scale(0.95); }
  100% { transform: scale(1); }
}

.luxury-prize-img {
  width: 100%;
  max-height: 120px;
  object-fit: contain;
  border: 1px solid rgba(212,175,55,0.25);
  background: rgba(212,175,55,0.05);
  padding: 6px;
}

.luxury-prize-text {
  font-size: 20px;
  line-height: 1.1;
  padding: 8px 10px;
  background: rgba(212,175,55,0.08);
  border: 1px solid rgba(212,175,55,0.2);
  color: var(--luxury-gold);
}

/* suspense overlay */
.luxury-opening-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  display:none;
  place-items:center;
  background: radial-gradient(circle at center, rgba(0,0,0,.9), rgba(0,0,0,.98));
}
.luxury-opening-overlay.show{
  display:grid;
  animation: luxury-overlay-in .2s ease;
}
@keyframes luxury-overlay-in{
  from{ opacity:0; }
  to{ opacity:1; }
}

.luxury-opening-box{
  display:grid;
  place-items:center;
  gap:8px;
  padding:14px 18px;
  border:1px solid rgba(212,175,55,0.35);
  background: rgba(10,10,10,0.9);
  box-shadow: 0 0 22px rgba(212,175,55,0.12);
}
.luxury-opening-gift{
  font-size:54px;
  animation: luxury-shake .6s ease-in-out infinite;
}
@keyframes luxury-shake{
  0%,100%{ transform: rotate(0deg) scale(1); }
  25%{ transform: rotate(-6deg) scale(1.03); }
  75%{ transform: rotate(6deg) scale(1.03); }
}
.luxury-opening-text{
  font-size:20px;
  letter-spacing:1.2px;
  color: var(--luxury-gold-soft);
  position:relative;
}
.luxury-opening-text:after{
  content:"";
  display:block;
  height:2px;
  width:100%;
  margin-top:6px;
  background: linear-gradient(90deg, transparent, var(--luxury-gold), transparent);
  animation: luxury-scan 1s linear infinite;
}
@keyframes luxury-scan{
  0%{ transform: translateX(-40%); opacity:.4; }
  50%{ transform: translateX(0); opacity:1; }
  100%{ transform: translateX(40%); opacity:.4; }
}

.luxury-locked {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 4;
  font-size: 18px;
  background: rgba(0,0,0,0.8);
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--luxury-gold-soft);
}

.luxury-advent-footer {
  text-align: center;
  margin-top: 14px;
  font-size:16px;
  color: var(--luxury-gold-soft);
  opacity: 0.9;
}

/* Confetti */
.luxury-confetti-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 8;
  overflow: hidden;
}

.luxury-confetti {
  position: absolute;
  top: -10px;
  width: 8px;
  height: 14px;
  background: var(--luxury-gold);
  opacity: 0.95;
  animation: luxury-confetti-fall 1.9s ease-in forwards;
}

.luxury-confetti:nth-child(3n) { width: 6px; height: 10px; background: #ffffff; }
.luxury-confetti:nth-child(4n) { width: 10px; height: 16px; background: var(--luxury-gold-soft); }

@keyframes luxury-confetti-fall {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(240px) rotate(720deg); opacity: 0; }
}
