/* SD EVENTS - GLOBAL DESIGN SYSTEM */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700&family=Poppins:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

:root {
    --gold: #D4AF37; --gold-light: #E8D48B; --gold-dark: #B8960C;
    --gold-gradient: linear-gradient(135deg, #D4AF37, #F2D06B, #D4AF37);
    --maroon: #800020; --maroon-light: #A0334D; --maroon-dark: #5C0017;
    --cream: #FFF8E7; --cream-light: #FFFDF5; --cream-dark: #F5EBCF;
    --white: #FFFFFF; --off-white: #FAF9F6;
    --dark: #1A1A2E; --dark-light: #2D2D44; --dark-lighter: #16213E;
    --charcoal: #333; --gray: #888; --gray-light: #CCC;
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Poppins', 'Helvetica Neue', sans-serif;
    --font-accent: 'Cormorant Garamond', Georgia, serif;
    --text-xs: .75rem; --text-sm: .875rem; --text-base: 1rem;
    --text-lg: 1.125rem; --text-xl: 1.25rem; --text-2xl: 1.5rem;
    --text-3xl: 1.875rem; --text-4xl: 2.25rem; --text-5xl: 3rem;
    --text-6xl: 3.75rem; --text-7xl: 4.5rem;
    --space-xs: .25rem; --space-sm: .5rem; --space-md: 1rem;
    --space-lg: 1.5rem; --space-xl: 2rem; --space-2xl: 3rem;
    --space-3xl: 4rem; --space-4xl: 6rem; --space-5xl: 8rem;
    --container-max: 1280px; --container-wide: 1440px;
    --radius-sm: 4px; --radius-md: 8px; --radius-lg: 16px; --radius-xl: 24px; --radius-full: 50%;
    --shadow-sm: 0 2px 8px rgba(0,0,0,.08);
    --shadow-md: 0 4px 16px rgba(0,0,0,.12);
    --shadow-lg: 0 8px 32px rgba(0,0,0,.16);
    --shadow-xl: 0 16px 48px rgba(0,0,0,.2);
    --shadow-gold: 0 4px 20px rgba(212,175,55,.3);
    --glass-bg: rgba(255,255,255,.12); --glass-bg-strong: rgba(255,255,255,.2);
    --glass-bg-dark: rgba(26,26,46,.7); --glass-border: rgba(255,255,255,.2);
    --glass-blur: blur(16px); --glass-blur-strong: blur(24px);
    --transition-fast: .2s ease; --transition-base: .3s ease;
    --transition-slow: .5s ease; --transition-slower: .8s cubic-bezier(.4,0,.2,1);
    --z-nav: 500; --z-modal: 1000; --z-whatsapp: 900;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
body { font-family:var(--font-body); font-weight:400; line-height:1.7; color:var(--charcoal); background:var(--cream-light); overflow-x:hidden; width:100%; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; transition:color var(--transition-base); }
ul,ol { list-style:none; }
button,input,textarea,select { font-family:inherit; font-size:inherit; border:none; outline:none; background:none; }
button { cursor:pointer; }

h1,h2,h3,h4,h5,h6 { font-family:var(--font-heading); font-weight:700; line-height:1.2; color:var(--dark); }
h1 { font-size:var(--text-6xl); } h2 { font-size:var(--text-4xl); }
h3 { font-size:var(--text-2xl); } h4 { font-size:var(--text-xl); }
p { margin-bottom:var(--space-md); color:var(--charcoal); }
.text-gold { color:var(--gold); } .text-maroon { color:var(--maroon); } .text-white { color:var(--white); }

.container { width:100%; max-width:var(--container-max); margin:0 auto; padding:0 var(--space-xl); }
.container-wide { max-width:var(--container-wide); }
.section { padding:var(--space-5xl) 0; }
.section-sm { padding:var(--space-3xl) 0; }

.section-header { text-align:center; margin-bottom:var(--space-3xl); }
.section-header .section-label { display:inline-block; font-family:var(--font-accent); font-size:var(--text-lg); color:var(--gold); letter-spacing:3px; text-transform:uppercase; margin-bottom:var(--space-sm); font-weight:500; font-style:italic; }
.section-header h2 { font-size:var(--text-4xl); margin-bottom:var(--space-md); }
.section-header p { font-size:var(--text-lg); color:var(--gray); max-width:600px; margin:0 auto; }
.section-header .divider { width:80px; height:3px; background:var(--gold-gradient); margin:var(--space-lg) auto; border-radius:2px; }

.glass { background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); border:1px solid var(--glass-border); border-radius:var(--radius-lg); }
.glass-dark { background:var(--glass-bg-dark); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-lg); }

@keyframes fadeInUp { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInDown { from{opacity:0;transform:translateY(-40px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInLeft { from{opacity:0;transform:translateX(-40px)} to{opacity:1;transform:translateX(0)} }
@keyframes fadeInRight { from{opacity:0;transform:translateX(40px)} to{opacity:1;transform:translateX(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes scaleIn { from{opacity:0;transform:scale(.9)} to{opacity:1;transform:scale(1)} }
@keyframes shimmer { 0%{background-position:-200% center} 100%{background-position:200% center} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }

.animate-on-scroll { opacity:0; transform:translateY(40px); transition:opacity .8s cubic-bezier(.4,0,.2,1), transform .8s cubic-bezier(.4,0,.2,1); }
.animate-on-scroll.animated { opacity:1; transform:translateY(0); }
.animate-on-scroll.animate-left { transform:translateX(-40px); }
.animate-on-scroll.animate-left.animated { transform:translateX(0); }
.animate-on-scroll.animate-right { transform:translateX(40px); }
.animate-on-scroll.animate-right.animated { transform:translateX(0); }
.stagger-1{transition-delay:.1s} .stagger-2{transition-delay:.2s} .stagger-3{transition-delay:.3s}
.stagger-4{transition-delay:.4s} .stagger-5{transition-delay:.5s} .stagger-6{transition-delay:.6s}

.grid { display:grid; gap:var(--space-xl); }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
.flex { display:flex; } .flex-center { display:flex; align-items:center; justify-content:center; }
.flex-between { display:flex; align-items:center; justify-content:space-between; }

.dark-section { background:linear-gradient(135deg,var(--dark) 0%,var(--dark-lighter) 100%); color:var(--white); }
.dark-section h2,.dark-section h3,.dark-section h4 { color:var(--white); }
.dark-section p { color:rgba(255,255,255,.7); }
.dark-section .section-header .section-label { color:var(--gold-light); }

::selection { background:var(--gold); color:var(--dark); }
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--cream); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:4px; }
