@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap');

:root{
  --maroon: #7a1030;
  --maroon-dark: #56091f;
  --gold: #d4af37;
  --cream: #fff8f0;
  --blush: #fdf0ee;
}

html{scroll-behavior:smooth;}

body{
  font-family:'Poppins', sans-serif;
  background-color: var(--cream);
  color:#3a2a2a;
}

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

/* Gradient hero background */
.hero-gradient{
  background: radial-gradient(circle at 15% 20%, rgba(212,175,55,0.18), transparent 40%),
              radial-gradient(circle at 85% 80%, rgba(122,16,48,0.18), transparent 45%),
              linear-gradient(135deg, #fff8f0 0%, #fdf0ee 60%, #fbe7e9 100%);
}

.brand-gradient-text{
  background: linear-gradient(90deg, var(--maroon), var(--gold));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.btn-primary{
  background: linear-gradient(90deg, var(--maroon), #9c1c42);
  color:#fff;
  transition: all .25s ease;
}
.btn-primary:hover{
  background: linear-gradient(90deg, var(--maroon-dark), var(--maroon));
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -8px rgba(122,16,48,0.55);
}

.btn-outline{
  border:1.5px solid var(--maroon);
  color: var(--maroon);
  transition: all .25s ease;
}
.btn-outline:hover{
  background: var(--maroon);
  color:#fff;
}

.card-hover{
  transition: transform .3s ease, box-shadow .3s ease;
}
.card-hover:hover{
  transform: translateY(-6px);
  box-shadow: 0 20px 35px -18px rgba(122,16,48,0.35);
}

.nav-link{
  position: relative;
  color:#4a3535;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0; bottom:-4px;
  width:0%; height:2px;
  background: var(--gold);
  transition: width .25s ease;
}
.nav-link:hover::after, .nav-link.active::after{
  width:100%;
}
.nav-link.active{
  color: var(--maroon);
  font-weight:600;
}

.heart-divider::before{
  content:"❖";
  color: var(--gold);
}

/* Fade-in-up animation on scroll */
.reveal{
  opacity:0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.in-view{
  opacity:1;
  transform: translateY(0);
}

/* Custom scrollbar */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--blush);}
::-webkit-scrollbar-thumb{background:var(--maroon); border-radius:10px;}

.input-field{
  border:1.5px solid #e6d3d3;
  background:#fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.input-field:focus{
  outline:none;
  border-color: var(--maroon);
  box-shadow: 0 0 0 3px rgba(122,16,48,0.12);
}

.tab-btn.active-tab{
  background: var(--maroon);
  color:#fff;
}

.mobile-menu{
  max-height:0;
  overflow:hidden;
  transition: max-height .35s ease;
}
.mobile-menu.open{
  max-height:480px;
}
