.elementor { position: relative; }
.elementor-section { position: relative; }
.elementor-section-boxed > .elementor-container { max-width: 1140px; margin-inline: auto; }
.elementor-container { display: flex; flex-wrap: wrap; width: 100%; }
.elementor-column-gap-default > .elementor-column > .elementor-widget-wrap { padding: 10px; }
.elementor-column { position: relative; min-height: 1px; display: flex; }
.elementor-col-10 { width: 10%; } .elementor-col-20 { width: 20%; } .elementor-col-25 { width: 25%; }
.elementor-col-30 { width: 30%; } .elementor-col-33 { width: 33.333%; } .elementor-col-34 { width: 34%; }
.elementor-col-40 { width: 40%; } .elementor-col-50 { width: 50%; } .elementor-col-60 { width: 60%; }
.elementor-col-66 { width: 66.666%; } .elementor-col-67 { width: 67%; } .elementor-col-70 { width: 70%; }
.elementor-col-75 { width: 75%; } .elementor-col-80 { width: 80%; } .elementor-col-90 { width: 90%; }
.elementor-col-100 { width: 100%; }
.elementor-widget-wrap { width: 100%; }
.elementor-widget { position: relative; }
.elementor-heading-title { margin: 0; padding: 0; }
.elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: #6EC1E4; color: #fff; text-decoration: none; border-radius: 3px;
  padding: 12px 24px; font-weight: 500; transition: .2s;
}
.elementor-button:hover { filter: brightness(.95); color: #fff; }
.elementor-size-xs { padding: 6px 12px; font-size: 13px; }
.elementor-size-sm { padding: 10px 20px; font-size: 14px; }
.elementor-size-md { padding: 14px 28px; font-size: 16px; }
.elementor-size-lg { padding: 18px 36px; font-size: 18px; }
.elementor-size-xl { padding: 22px 44px; font-size: 20px; }
.elementor-wrapper { position: relative; padding-top: 56.25%; }
.elementor-video-iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.elementor-image-placeholder { background: #f1f2f3; min-height: 160px; display: grid; place-items: center; color: #a4afb7; }
.elementor-icon-box-wrapper, .elementor-image-box-wrapper { text-align: center; }
.elementor-icon { display: inline-block; font-size: 40px; }
.elementor-progress-wrapper { background: #eee; height: 28px; overflow: hidden; }
.elementor-progress-bar { height: 100%; background: #6EC1E4; color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; font-size: 12px; }
.elementor-alert { padding: 15px 20px; border-right: 4px solid; margin: 0; }
.elementor-alert-info { background: #d9edf7; border-color: #6EC1E4; }
.elementor-alert-success { background: #dff0d8; border-color: #61CE70; }
.elementor-alert-warning { background: #fcf8e3; border-color: #f0ad4e; }
.elementor-alert-danger { background: #f2dede; border-color: #d9534f; }
.elementor-social-icons-wrapper { display: flex; gap: 8px; }
.elementor-social-icon { width: 40px; height: 40px; display: grid; place-items: center; background: #6EC1E4; color: #fff; text-decoration: none; border-radius: 3px; font-weight: 700; }
.elementor-testimonial-content { font-size: 1.1em; font-style: italic; margin-bottom: 1rem; }
.elementor-tab-title { cursor: pointer; font-weight: 600; padding: 12px 0; border-bottom: 1px solid #e6e9ec; }
.elementor-icon-list-items { list-style: none; padding: 0; margin: 0; }
.elementor-icon-list-items li { padding: 6px 0; }
@media (max-width: 1024px) {
  .elementor-column { width: 100% !important; }
}

/* Modern base styles for every widget (front end and editor canvas) */
.elementor-widget-container { position: relative; }
.elementor-heading-title { line-height: 1.25; letter-spacing: -.01em; }
.elementor-text-editor { line-height: 1.9; }
.elementor-text-editor > :last-child { margin-bottom: 0; }
.elementor-button {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border-radius: 12px; padding: 14px 28px; font-weight: 600; letter-spacing: .01em;
  box-shadow: 0 8px 20px rgba(99, 102, 241, .28);
}
.elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(99, 102, 241, .36); filter: none; }
.elementor-divider-separator { border-radius: 99px; }
.elementor-image img { display: block; max-width: 100%; height: auto; border-radius: 14px; }
.elementor-image-placeholder { border-radius: 14px; }
.elementor-video-wrapper { border-radius: 14px; overflow: hidden; box-shadow: 0 10px 30px rgba(15, 23, 42, .15); }
.elementor-icon { line-height: 1; }
.elementor-icon-box-wrapper, .elementor-image-box-wrapper { padding: 24px; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(15, 23, 42, .08); }
.elementor-icon-box-title { margin: 12px 0 8px; font-size: 20px; font-weight: 700; }
.elementor-icon-box-description { color: #64748b; line-height: 1.7; margin: 0; }
.elementor-image-box-img img { display: block; width: 100%; border-radius: 14px; }
.elementor-image-box-title { margin: 14px 0 6px; font-size: 19px; font-weight: 700; }
.elementor-image-box-description { color: #64748b; line-height: 1.7; margin: 0; }
.elementor-counter-number-wrapper { font-size: 48px; font-weight: 800; line-height: 1.1; }
.elementor-counter-title { color: #64748b; font-weight: 500; margin-top: 6px; }
.elementor-progress-wrapper { background: #e2e8f0; height: 14px; border-radius: 99px; overflow: hidden; }
.elementor-progress-bar { border-radius: 99px; font-size: 12px; font-weight: 600; background-image: linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0)); }
.elementor-alert { border: 0; border-radius: 14px; padding: 18px 22px; box-shadow: 0 8px 24px rgba(15, 23, 42, .08); }
.elementor-testimonial-content { font-size: 1.1em; line-height: 1.8; font-style: normal; color: #334155; }
.elementor-testimonial-wrapper { padding: 24px; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(15, 23, 42, .08); }
.elementor-tab-title, .elementor-accordion-item summary { border: 0; border-radius: 12px; padding: 14px 18px; margin-bottom: 8px; background: #f1f5f9; cursor: pointer; }
.elementor-tab-content, .elementor-accordion-item > div { padding: 12px 18px 18px; color: #475569; line-height: 1.8; }
.elementor-icon-list-items li { display: flex; align-items: center; gap: 8px; }
.elementor-social-icon { border-radius: 12px; box-shadow: 0 6px 16px rgba(15, 23, 42, .15); transition: transform .2s; }
.elementor-social-icon:hover { transform: translateY(-3px); }
.elementor-star-rating { font-size: 22px; letter-spacing: 3px; }
.e-empty-widget { border: 1px dashed #cbd5e1; border-radius: 14px; padding: 18px; text-align: center; color: #94a3b8; }
