/* Punt Palace Casino Hotel — custom styling on top of Tailwind CDN */

:root{
  --obsidian: #0a0f0d;
  --obsidian-2: #0f1613;
  --verdigris-950: #06231d;
  --verdigris-900: #0c3a30;
  --verdigris-700: #175c4c;
  --verdigris-500: #2c8a72;
  --brass-300: #ecd394;
  --brass-400: #ddb968;
  --brass-500: #c99b4a;
  --brass-600: #a97e37;
  --ivory: #f4efe2;
  --ivory-dim: #cfc9b8;
  --ruby: #7c2438;
}

html{ scroll-behavior:smooth; }

body{
  background-color: var(--obsidian);
  color: var(--ivory);
  font-family:'Sora', sans-serif;
}

.font-display{ font-family:'Fraunces', serif; }

.text-brass{ color: var(--brass-500); }
.bg-brass{ background-color: var(--brass-500); }

.hairline{
  background: linear-gradient(90deg, transparent, var(--brass-500), transparent);
  height:1px;
}

.glass-panel{
  background: rgba(15, 22, 19, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(221, 185, 104, 0.18);
}

.brass-btn{
  background: linear-gradient(135deg, var(--brass-300), var(--brass-600));
  color: #241703;
  font-weight:600;
  letter-spacing:.03em;
  transition: transform .25s ease, box-shadow .25s ease;
  box-shadow: 0 8px 30px -10px rgba(201,155,74,.55);
}
.brass-btn:hover{ transform: translateY(-2px); box-shadow: 0 14px 34px -8px rgba(201,155,74,.7); }

.ghost-btn{
  border:1px solid rgba(244,239,226,.35);
  color: var(--ivory);
  transition: all .25s ease;
}
.ghost-btn:hover{ border-color: var(--brass-500); color: var(--brass-300); background: rgba(221,185,104,.06); }

.card-lift{ transition: transform .35s ease, box-shadow .35s ease; }
.card-lift:hover{ transform: translateY(-6px); box-shadow: 0 30px 60px -25px rgba(0,0,0,.65); }

.img-tint{
  position:relative;
}
.img-tint::after{
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(6,35,29,0) 0%, rgba(6,10,9,.75) 100%);
}

.num-badge{
  font-family:'Fraunces', serif;
  font-variant-numeric: oldstyle-nums;
}

::selection{ background: var(--brass-500); color:#1a1206; }

.scrollbar-thin::-webkit-scrollbar{ height:6px; width:6px; }
.scrollbar-thin::-webkit-scrollbar-thumb{ background: var(--brass-600); border-radius:99px; }

[x-cloak]{ display:none !important; }

.img-placeholder-box{
  background: linear-gradient(135deg, var(--verdigris-900), var(--obsidian-2));
  border: 1px solid rgba(221,185,104,.25);
  color: var(--brass-300);
  font-family:'Fraunces', serif;
  font-size: .95rem;
  letter-spacing: .02em;
}

.section-eyebrow{
  letter-spacing:.35em;
  font-size:.7rem;
  color: var(--brass-400);
}

.divider-diamond{
  width:8px; height:8px; transform:rotate(45deg);
  background: var(--brass-500);
  display:inline-block;
}

.marquee-track{
  animation: marquee 32s linear infinite;
}
@keyframes marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

.chip-dot{
  width:10px;height:10px;border-radius:99px;
  border:2px solid var(--brass-500);
}
