/**
 * Elementor Compatibility — prevents theme styles from breaking Elementor output.
 */

.elementor-page .site-header { position: fixed; z-index: 1000; }

.elementor-page .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1280px; }

.elementor-page .elementor-section.elementor-section-full_width { max-width: 100%; padding-left: 0; padding-right: 0; }

.elementor-page .elementor { font-family: 'DM Sans', sans-serif; color: #333; }

.elementor h1, .elementor h2, .elementor h3, .elementor h4, .elementor h5, .elementor h6 { font-family: 'DM Sans', sans-serif; }

.elementor h1 .elementor-heading-title,
.elementor h2 .elementor-heading-title { font-family: 'Playfair Display', serif; }

.elementor-page .elementor-page-wrapper .wrap { max-width: none; padding: 0; }

.elementor-page .entry-content,
.elementor-page .single-tour-content { max-width: none; }

.elementor .elementor-button { font-family: 'DM Sans', sans-serif; font-weight: 600; letter-spacing: 0.3px; border-radius: 50px; transition: all 0.3s ease; }

.elementor .elementor-widget-image img { border-radius: 12px; }

.elementor .elementor-icon-box-icon { margin-bottom: 12px; }
.elementor .elementor-icon-box-title { font-weight: 600; }

.elementor .elementor-testimonial-wrapper { background: #fff; border-radius: 16px; padding: 32px; box-shadow: 0 2px 20px rgba(0,0,0,.04); border: 1px solid #f0f0f0; }

.elementor .elementor-accordion .elementor-accordion-item { border: 1px solid #eee; border-radius: 8px; margin-bottom: 8px; overflow: hidden; }
.elementor .elementor-accordion .elementor-tab-title { padding: 16px 20px; font-weight: 600; }
.elementor .elementor-accordion .elementor-tab-content { padding: 0 20px 16px; }

.elementor-editor-active .site-header { position: relative; }
