/* Explain: Base styles, typography, scroll animations, and Swiper customization. - */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

/* Custom Scrollbar for Luxury Vibe */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--primary-color);
}
::-webkit-scrollbar-thumb {
    background: var(--accent-color);
}

/* Scroll Reveal Animations */
.reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}

.reveal-scale {
    opacity: 0;
    transform: scale(0.95);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-scale.active {
    opacity: 1;
    transform: scale(1);
}

.reveal-right {
    opacity: 0;
    transform: translateX(60px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-right.active {
    opacity: 1;
    transform: translateX(0);
}

.reveal-left {
    opacity: 0;
    transform: translateX(-60px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-left.active {
    opacity: 1;
    transform: translateX(0);
}

/* Alpine Cloak */
[x-cloak] {
    display: none !important;
}

/* Text Gradients */
.text-gradient-gold {
    background: linear-gradient(to left, #e6c875, #c0904d, #946b2d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.5));
}

/* Swiper Theme Override */
:root {
    --swiper-theme-color: var(--accent-color);
}

/* Basic Prose Styles for Articles */
.prose h2 { font-size: 1.5rem; font-weight: bold; margin-top: 1.5rem; margin-bottom: 1rem; color: var(--primary-color); }
.prose h3 { font-size: 1.25rem; font-weight: bold; margin-top: 1.5rem; margin-bottom: 0.75rem; color: var(--primary-color); }
.prose p { margin-bottom: 1.25rem; }
.prose ul { list-style-type: disc; padding-inline-start: 1.5rem; margin-bottom: 1.25rem; }
.prose ol { list-style-type: decimal; padding-inline-start: 1.5rem; margin-bottom: 1.25rem; }
.prose li { margin-bottom: 0.5rem; }
.prose blockquote { border-inline-start: 4px solid var(--accent-color); padding-inline-start: 1rem; font-style: italic; color: var(--text-muted); margin-bottom: 1.25rem; }
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--accent-color) !important;
}

/* Hide specific elements when site is in English */
html[lang="en"] .hide-on-en {
    display: none !important;
}