/* Custom TDBM Component Styles */
@font-face {
    font-family: 'Playfair Display';
    src: url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&display=swap');
}
@font-face {
    font-family: 'Montserrat';
    src: url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&display=swap');
}

:root {
    --tdbm-noir: #1a1512;
    --tdbm-gold: #c6a15b;
    --tdbm-gold-light: #d4b884;
    --tdbm-beige: #f5f2ed;
    --tdbm-white: #ffffff;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--tdbm-beige);
    color: var(--tdbm-noir);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

/* Tailwind Overrides & Custom Utilities */
.bg-noir { background-color: var(--tdbm-noir); }
.bg-gold { background-color: var(--tdbm-gold); }
.bg-beige { background-color: var(--tdbm-beige); }

.text-noir { color: var(--tdbm-noir); }
.text-gold { color: var(--tdbm-gold); }
.text-beige { color: var(--tdbm-beige); }

.border-gold { border-color: var(--tdbm-gold); }

.btn-premium {
    @apply inline-block px-8 py-4 bg-gold text-noir font-bold uppercase tracking-widest text-sm transition-all duration-300 border border-gold;
}
.btn-premium:hover {
    @apply bg-transparent text-gold;
}

.btn-outline {
    @apply inline-block px-8 py-4 bg-transparent text-gold font-bold uppercase tracking-widest text-sm transition-all duration-300 border border-gold;
}
.btn-outline:hover {
    @apply bg-gold text-noir;
}

/* Animations */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Decorative Elements */
.gold-line {
    width: 60px;
    height: 2px;
    background-color: var(--tdbm-gold);
}

.hero-gradient {
    background: linear-gradient(to bottom, rgba(26,21,18,0.7), rgba(26,21,18,0.9)), url('https://images.unsplash.com/photo-1581450370438-e4b2d075ebf1?auto=format&fit=crop&q=80');
    background-size: cover;
    background-position: center;
}
