/* Import Design Tokens */
@import url('variables.css');

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

/* Base Styles */
html,
body {
    height: 100%;
}

body {
    font-family: var(--font-body);
    color: var(--color-text-body);
    background-color: var(--color-light);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--color-primary);
    font-weight: 700;
}

a {
    text-decoration: none;
    transition: var(--transition-fast);
}

a:hover {
    color: var(--color-secondary);
}

/* Utilities */
.text-primary-custom {
    color: var(--color-primary) !important;
}

.text-gold {
    color: var(--color-secondary) !important;
}

.bg-primary-custom {
    background-color: var(--color-primary) !important;
}

.bg-gold {
    background-color: var(--color-secondary) !important;
}

.section-padding {
    padding: var(--section-padding);
}

.shadow-custom-md {
    box-shadow: var(--shadow-md);
}

.object-fit-cover {
    object-fit: cover;
}

.z-index-2 {
    z-index: 2;
}

/* Backdrop Blur Utility */
.backdrop-blur {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.bg-white-20 {
    background-color: rgba(255, 255, 255, 0.2);
}

/* Button Overrides */
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    border-radius: var(--radius-sm);
    transition: var(--transition-base);
}

.btn-primary:hover {
    background-color: var(--color-primary-light);
    border-color: var(--color-primary-light);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-outline-gold {
    color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.btn-outline-gold:hover {
    background-color: var(--color-secondary);
    color: white;
}

.btn-gold {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: white;
}

.btn-gold:hover {
    background-color: var(--color-secondary-hover);
    border-color: var(--color-secondary-hover);
    color: white;
}

/* New Outline Light Override for Video Hero */
.btn-outline-light {
    border-width: 2px;
}

.btn-outline-light:hover {
    background-color: white;
    color: var(--color-primary);
}

/* Cards */
.card-hover {
    transition: var(--transition-base);
    border: none;
    box-shadow: var(--shadow-sm);
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

/* Image Hover Zoom Effect */
.hover-zoom {
    transition: transform 0.3s ease;
}

.hover-zoom:hover {
    transform: scale(1.05);
}

/* Animations */
@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0) translateX(-50%);
    }

    40% {
        transform: translateY(-10px) translateX(-50%);
    }

    60% {
        transform: translateY(-5px) translateX(-50%);
    }
}

.animate-bounce {
    animation: bounce 2s infinite;
}

/* Font size utility */
.x-small {
    font-size: 0.75rem;
}