@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg: #0B0908;
  --bg-soft: #17120D;
  --surface: #1C1611;
  --surface-raised: #241C15;
  --ink: #F4EEE3;
  --ink-muted: #B4A99A;
  --gold: #D4AF37;
  --gold-soft: rgba(212,175,55,0.55);
  --ember: #E2632E;
  --border: rgba(244,238,227,0.12);
  --shadow: 0 30px 60px -25px rgba(0,0,0,0.7);
  --good: #5FAE7C;
  --bad: #D9534F;
}

*{ box-sizing:border-box; }
@media (prefers-reduced-motion: reduce){ *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; } }

html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"Inter", "Segoe UI", sans-serif;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:700;
  margin:0;
  text-wrap:balance;
}

a{ color:inherit; }

.eyebrow{
  font-family:"Inter", sans-serif;
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--gold);
}

.rule{
  width:64px; height:1px; margin:1.4rem auto;
  background:linear-gradient(90deg, transparent, var(--gold-soft), transparent);
}

.btn{
  font-family:"Inter", sans-serif;
  font-weight:600;
  font-size:0.92rem;
  letter-spacing:0.02em;
  text-decoration:none;
  border:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.55rem;
  padding:0.9rem 1.8rem;
  border-radius:999px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease;
}
.btn svg{ width:17px; height:17px; flex-shrink:0; }
.btn-primary{ background:linear-gradient(135deg, var(--gold), #B8862A); color:#1A1306; }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:var(--shadow); }
.btn-primary:disabled{ opacity:0.5; cursor:not-allowed; transform:none; box-shadow:none; }
.btn-ghost{ border:1px solid var(--border); color:var(--ink); background:transparent; }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }
.btn-block{ width:100%; }

.badge{
  display:inline-flex; align-items:center; gap:0.4rem;
  font-size:0.72rem; font-weight:600; letter-spacing:0.04em; text-transform:uppercase;
  padding:0.3rem 0.7rem; border-radius:999px;
  border:1px solid var(--border);
}
.badge.pending{ color:var(--gold); border-color:var(--gold-soft); }
.badge.confirmed{ color:var(--good); border-color:rgba(95,174,124,0.5); }
.badge.refused,
.badge.cancelled{ color:var(--bad); border-color:rgba(217,83,79,0.5); }
