body {
  background-color: #f6f1e7;
  color: #fff;
  font-family: "Playfair Display", "Times New Roman", serif;
  letter-spacing: 0.01em;
}

p, small, .form-control { font-family: "Playfair Display", "Times New Roman", serif; }

.hero-cover {
  position: relative;
  min-height: 100vh;
  background: url("img/cake.png") center center/cover no-repeat fixed;
  color: #fff;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(18, 10, 6, 0.78), rgba(18, 10, 6, 0.4));
}

.badge-soft {
  display: inline-flex;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  color: #f2ddd0;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.8rem;
  backdrop-filter: blur(6px);
}

.text-shadow { text-shadow: 0 6px 28px rgba(0,0,0,0.35); }

.glass-panel {
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  backdrop-filter: blur(12px);
}

.shadow-btn { box-shadow: 0 14px 30px rgba(0,0,0,0.25); }

.cta-btn { width: 100%; }
@media (min-width: 768px) {
  .cta-btn { width: auto; min-width: 210px; }
}

.form-control,
.form-control:focus {
  background-color: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.4);
  color: #fff;
}

.form-control::placeholder { color: rgba(255,255,255,0.82); }

.form-control:focus { box-shadow: 0 0 0 0.2rem rgba(255,255,255,0.25); }

.btn-dark {
  background-color: #2b1b14;
  border-color: #2b1b14;
}

.btn-dark:hover,
.btn-dark:focus { background-color: #1f120d; border-color: #1f120d; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

footer {
  background: #2b1b14;
  color: #ffffff;
}
