:root {
    --primary-color: #7B1E1E;
    --secondary-color: #D4AF37;
    --accent-color: #F5F0E6;
    --primary-dark: #5a1616;
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', sans-serif;
}

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

/* Global Add-to-cart button styling */
.add-to-cart-btn {
    background-color: var(--primary-color);
    color: #ffffff;
    border-radius: 0.5rem;
    padding: 0.5rem 1.2rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    box-shadow: 0 4px 12px rgba(123, 30, 30, 0.25);
    transition: transform var(--transition-fast), box-shadow var(--transition-base), background-color var(--transition-base), color var(--transition-base);
}

.add-to-cart-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(123, 30, 30, 0.35);
    background-color: var(--primary-dark) !important;
    color: #ffffff !important;
}

.add-to-cart-btn:active:not(:disabled) {
    transform: translateY(0);
}

/* Focus states for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--secondary-color);
    outline-offset: 2px;
}

/* Card hover base for menu / highlight cards */
.menu-highlight-card,
.menu-item {
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

/* Global navbar polish (all pages using style.css) */
body nav {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
body nav a {
    transition: color 0.25s ease, transform 0.25s ease;
}
body nav a:hover:not(.flex) {
    color: var(--secondary-color) !important;
    transform: translateY(-1px);
}
body nav a:not(.flex)::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -4px;
    left: 0;
    background-color: var(--secondary-color);
    transition: width 0.25s ease;
}
body nav a:hover:not(.flex)::after,
body nav a.nav-active::after {
    width: 100%;
}
body nav .fas, body nav .fab {
    transition: transform 0.25s ease;
}
body nav a:hover .fas, body nav a:hover .fab {
    transform: scale(1.1);
}