/* public/style.css */

body {
  box-sizing: border-box;
}
* {
  box-sizing: border-box;
}
.font-display {
  font-family: "Cormorant Garamond", Georgia, serif;
}
.font-body {
  font-family: "Montserrat", sans-serif;
}
.gradient-border {
  background: linear-gradient(135deg, var(--primary-color, #ca051a) 0%, var(--secondary-color, #e30d7c) 100%);
}
.card-shadow {
  box-shadow: 0 4px 20px rgba(202, 5, 26, 0.1);
}
.card-shadow:hover {
  box-shadow: 0 8px 30px rgba(227, 13, 124, 0.15);
}
.btn-gradient {
  background: linear-gradient(135deg, var(--primary-color, #ca051a) 0%, var(--secondary-color, #e30d7c) 100%);
  transition: all 0.3s ease;
}
.btn-gradient:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(227, 13, 124, 0.4);
}
.btn-gradient:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.modal-overlay {
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
}
.gifted-overlay {
  background: rgba(255, 255, 255, 0.85);
}
.decorative-line {
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--secondary-color, #e30d7c) 50%,
    transparent 100%
  );
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
  animation: fadeIn 0.4s ease-out forwards;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}