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

/* === BASE SMOOTHING === */
html {
    font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* === CUSTOM ANIMATIONS === */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes floatGentle {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-8px);
    }
}

@keyframes pulseGold {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(197, 168, 128, 0.4);
    }
    50% {
        box-shadow: 0 0 0 12px rgba(197, 168, 128, 0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-float {
    animation: floatGentle 4s ease-in-out infinite;
}

.pulse-gold {
    animation: pulseGold 2.5s infinite;
}

/* === NOISE & LUXURY PATTERNS === */
.bg-noise {
    background-image: radial-gradient(rgba(28, 35, 33, 0.04) 1px, transparent 0);
    background-size: 20px 20px;
}

.bg-dark-noise {
    background-color: #171E1C;
    background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 0);
    background-size: 24px 24px;
}

.hero-overlay {
    background: linear-gradient(180deg, rgba(23, 30, 28, 0.75) 0%, rgba(23, 30, 28, 0.88) 100%);
}

.glass-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(233, 222, 201, 0.7);
}

.glass-card-dark {
    background: rgba(23, 30, 28, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

/* === UTILITIES & SCROLLBAR === */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}
::-webkit-scrollbar-track {
    background: #F4EFE6;
}
::-webkit-scrollbar-thumb {
    background: #C5A880;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #947246;
}

/* === BADGES & ACCENTS === */
.gold-gradient-text {
    background: linear-gradient(135deg, #F2DFB3 0%, #DFBE7C 50%, #C5A880 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gold-border-gradient {
    border-image: linear-gradient(to bottom right, #F2DFB3, #C5A880, #755833) 1;
}

/* === QUIZ & BUILDER STEPPER === */
.step-item.active .step-bubble {
    background-color: #171E1C;
    color: #DFBE7C;
    border-color: #DFBE7C;
}
.step-item.completed .step-bubble {
    background-color: #C5A880;
    color: #171E1C;
    border-color: #C5A880;
}

/* === DISH SELECTION CHECKBOX CARD === */
.dish-card-selectable.selected {
    border-color: #C5A880;
    background-color: #F7EAD2;
    box-shadow: 0 10px 25px -5px rgba(197, 168, 128, 0.25);
}

/* === MODULE: home === */
.hero-slider-item {
    transition: opacity 0.8s ease-in-out;
}

/* === MODULE: quiz === */
.builder-category-pill.active {
    background-color: #171E1C;
    color: #F2DFB3;
    border-color: #171E1C;
}

/* === MODULE: gallery === */
.gallery-grid-item {
    break-inside: avoid;
}

/* === MODULE: pages (static content pages: about / terms / privacy) === */
.page-content h1, .page-content h2, .page-content h3 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 700;
    color: #171E1C;
    margin-top: 1.75em;
    margin-bottom: 0.6em;
    line-height: 1.2;
}
.page-content h1 { font-size: 2rem; margin-top: 0; }
.page-content h2 { font-size: 1.5rem; }
.page-content h3 { font-size: 1.2rem; }
.page-content p {
    margin-bottom: 1.1em;
    line-height: 1.75;
    color: #3D2B17;
}
.page-content ul, .page-content ol {
    margin: 1em 0 1.4em 1.4em;
    line-height: 1.75;
    color: #3D2B17;
}
.page-content ul { list-style: disc; }
.page-content ol { list-style: decimal; }
.page-content a {
    color: #947246;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.page-content a:hover { color: #755833; }
.page-content strong { color: #171E1C; }
