
.page-container { max-width: 1400px; margin: 0 auto; padding: 0px 20px !important; width: 100%; }
.page-container-narrow { max-width: 900px; margin: 0 auto; padding: 60px 20px; width: 100%; }
.container-max { max-width: 1400px; margin: 0 auto; }
.section-padding { padding: 80px 20px; }
.section-padding-sm { padding: 40px 20px; }
.section-glass { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid rgba(255,255,255,0.5); border-bottom: 1px solid rgba(255,255,255,0.5); }
.section-transparent { background: transparent; }
.section-gradient-light { background: linear-gradient(to bottom, rgba(255,255,255,0.9), rgba(248, 250, 252, 0.9)); backdrop-filter: blur(8px); }
.section-header-center { text-align: center; margin-bottom: 50px; }
.section-subtitle { color: var(--accent); font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; font-size: 0.85rem; display: block; margin-bottom: 8px; }
.section-title { font-size: 2.5rem; color: var(--primary); margin: 10px 0; }
.section-desc { color: var(--text-muted); max-width: 600px; margin: 0 auto; }
.grid-responsive { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.grid-responsive-sm { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.tours-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 30px; }


.reveal-on-scroll { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.5, 0, 0, 1); will-change: opacity, transform; }
.reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
