/* ═══════════════════════════════════════════════════════════════
   ELEMENTOR COMPATIBILITY — Travel to Sri Lanka Theme
   Ensures Elementor widgets render correctly with our design tokens
   ═══════════════════════════════════════════════════════════════ */

/* ── PASS CSS VARIABLES TO ELEMENTOR SCOPE ────────────────────── */
.elementor-page,
.elementor-section-wrap,
.elementor-widget-wrap,
.e-con,
.e-con-inner {
  --color-primary:       #1B6CA8;
  --color-primary-dark:  #154F7E;
  --color-primary-light: #E8F3FB;
  --color-accent:        #E07B39;
  --color-accent-light:  #FDF0E6;
  --color-text:          #1A1A1A;
  --color-text-muted:    #6B6560;
  --color-white:         #FFFFFF;
  --color-bg:            #F8F6F2;
  --color-border:        #E8E2D9;
  --font-heading:        'Playfair Display', Georgia, serif;
  --font-body:           'Inter', system-ui, sans-serif;
  --radius-sm:    6px;
  --radius-md:    12px;
  --radius-lg:    20px;
  --radius-full:  9999px;
  --shadow-md:    0 4px 16px rgba(0,0,0,.08);
  --shadow-lg:    0 10px 40px rgba(0,0,0,.10);
}

/* ── ELEMENTOR CONTAINER / SECTION RESETS ─────────────────────── */
.elementor-section.elementor-section-full_width .elementor-container,
.elementor-section .elementor-container {
  max-width: 1200px;
}

/* Remove default Elementor margin/padding conflicts */
.elementor-widget:not(:last-child) {
  margin-bottom: 0;
}

/* ── ELEMENTOR TYPOGRAPHY HARMONY ────────────────────────────── */
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-heading);
  line-height: 1.25;
}
.elementor-widget-text-editor p,
.elementor-widget-text-editor {
  font-family: var(--font-body);
  line-height: 1.75;
  color: var(--color-text-muted);
}

/* ── ELEMENTOR BUTTONS → THEME STYLE ─────────────────────────── */
.elementor-button {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  border-radius: var(--radius-full) !important;
  letter-spacing: .01em;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(27,108,168,.25);
}
.elementor-button.elementor-button-info,
.elementor-button.elementor-size-md {
  padding: .75rem 1.75rem;
}

/* ── ELEMENTOR IMAGE WIDGET ───────────────────────────────────── */
.elementor-widget-image img {
  border-radius: var(--radius-md);
}

/* ── ELEMENTOR ICON BOX ───────────────────────────────────────── */
.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: var(--font-heading);
}

/* ── ELEMENTOR DIVIDER ────────────────────────────────────────── */
.elementor-widget-divider .elementor-divider-separator {
  border-color: var(--color-border) !important;
}

/* ── ELEMENTOR TESTIMONIAL / REVIEW ──────────────────────────── */
.elementor-widget-testimonial .elementor-testimonial-content,
.elementor-widget-testimonial-carousel .elementor-testimonial-content {
  font-style: italic;
  color: var(--color-text-muted);
  font-size: .95rem;
  line-height: 1.75;
}
.elementor-widget-testimonial .elementor-testimonial-name {
  font-family: var(--font-heading);
  font-weight: 600;
}

/* ── ELEMENTOR POSTS WIDGET ───────────────────────────────────── */
.elementor-posts .elementor-post__title a {
  font-family: var(--font-heading);
  color: var(--color-text);
}
.elementor-posts .elementor-post__title a:hover { color: var(--color-primary); }
.elementor-posts .elementor-post__excerpt p { color: var(--color-text-muted); }
.elementor-posts .elementor-post__read-more {
  color: var(--color-primary);
  font-weight: 600;
  border-radius: var(--radius-full);
}

/* ── ELEMENTOR FORM ───────────────────────────────────────────── */
.elementor-form .elementor-field-group .elementor-field {
  border-radius: var(--radius-md) !important;
  border: 1.5px solid var(--color-border) !important;
  font-family: var(--font-body) !important;
  padding: .7rem 1rem !important;
  background: var(--color-white) !important;
  color: var(--color-text) !important;
  transition: border-color .2s !important;
}
.elementor-form .elementor-field:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(27,108,168,.12) !important;
  outline: none !important;
}
.elementor-form .elementor-button {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.elementor-form .elementor-button:hover {
  background: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
}

/* ── ELEMENTOR ACCORDION / TOGGLE ────────────────────────────── */
.elementor-accordion .elementor-tab-title {
  font-family: var(--font-body);
  font-weight: 600;
  border-color: var(--color-border) !important;
  color: var(--color-text);
}
.elementor-accordion .elementor-tab-title.elementor-active {
  color: var(--color-primary);
}
.elementor-accordion .elementor-tab-content {
  color: var(--color-text-muted);
  line-height: 1.75;
  border-color: var(--color-border) !important;
}

/* ── ELEMENTOR TABS ───────────────────────────────────────────── */
.elementor-tabs .elementor-tab-title {
  font-family: var(--font-body);
  font-weight: 600;
  color: var(--color-text-muted);
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
}
.elementor-tabs .elementor-tab-title.elementor-active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}

/* ── ELEMENTOR ICON LIST ──────────────────────────────────────── */
.elementor-widget-icon-list .elementor-icon-list-text {
  font-family: var(--font-body);
  color: var(--color-text-muted);
}

/* ── CANVAS TEMPLATE (no header/footer) ──────────────────────── */
.tsl-canvas .site-header,
.tsl-canvas .site-footer,
.tsl-canvas .page-hero {
  display: none !important;
}
.tsl-canvas .site-main { padding: 0 !important; }

/* ── FULL WIDTH TEMPLATE (no sidebar) ────────────────────────── */
.tsl-full-width .inner-layout,
.tsl-full-width .archive-layout {
  grid-template-columns: 1fr;
}
.tsl-full-width .inner-sidebar { display: none; }
.tsl-full-width .page-content-body { max-width: 860px; margin: 0 auto; }

/* ── ELEMENTOR SECTION OVER STICKY HEADER ────────────────────── */
.elementor-edit-area-active .site-nav { z-index: 99 !important; }

/* ── ELEMENTOR EDITOR: PRESERVE GOOGLE FONTS ─────────────────── */
.elementor-editor-active body,
.elementor-preview-active body {
  font-family: var(--font-body);
}

/* ── RESPONSIVE: ELEMENTOR MOBILE ────────────────────────────── */
@media (max-width: 768px) {
  .elementor-column-gap-default > .elementor-column > .elementor-column-wrap > .elementor-widget-wrap {
    padding: 0 12px;
  }
}
