/*
 * Base CSS for specific Elementor widgets.
 * Extracted from elementor-frontend.css (v3.31.0) + individual widget files.
 * Widgets covered: image, heading, text-editor, button, spacer, shortcode, html
 * Update this file when upgrading Elementor.
 */

/* ------------------------------------------------------------------ */
/* Base image rules (needed by image widget and global img handling)   */
/* ------------------------------------------------------------------ */
.elementor img {
  height: auto;
  max-width: 100%;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure {
  margin: 0;
}

/* ------------------------------------------------------------------ */
/* Image widget                                                         */
/* ------------------------------------------------------------------ */
.elementor-widget-image {
  text-align: center;
}
.elementor-widget-image a {
  display: inline-block;
}
.elementor-widget-image a img[src$=".svg"] {
  width: 48px;
}
.elementor-widget-image img {
  display: inline-block;
  vertical-align: middle;
}

/* ------------------------------------------------------------------ */
/* Heading widget                                                       */
/* ------------------------------------------------------------------ */
.elementor-widget-heading .elementor-heading-title[class*=elementor-size-] > a {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.elementor-widget-heading .elementor-heading-title.elementor-size-small  { font-size: 15px; }
.elementor-widget-heading .elementor-heading-title.elementor-size-medium { font-size: 19px; }
.elementor-widget-heading .elementor-heading-title.elementor-size-large  { font-size: 29px; }
.elementor-widget-heading .elementor-heading-title.elementor-size-xl     { font-size: 39px; }
.elementor-widget-heading .elementor-heading-title.elementor-size-xxl    { font-size: 59px; }

/* ------------------------------------------------------------------ */
/* Text Editor widget                                                   */
/* ------------------------------------------------------------------ */
.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap {
  background-color: #69727d;
  color: #fff;
}
.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap {
  background-color: transparent;
  border: 3px solid;
  color: #69727d;
}
.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap {
  margin-block-start: 8px;
}
.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter {
  height: 1em;
  width: 1em;
}
.elementor-widget-text-editor .elementor-drop-cap {
  float: inline-start;
  font-size: 50px;
  line-height: 1;
  text-align: center;
}
.elementor-widget-text-editor .elementor-drop-cap-letter {
  display: inline-block;
}

/* ------------------------------------------------------------------ */
/* Button widget                                                        */
/* ------------------------------------------------------------------ */
.elementor-button {
  display: inline-block;
  line-height: 1;
  background-color: #69727D;
  font-size: 15px;
  padding: 12px 24px;
  border-radius: 3px;
  color: #fff;
  fill: #fff;
  text-align: center;
  transition: all 0.3s;
}
.elementor-button:hover,
.elementor-button:focus,
.elementor-button:visited {
  color: #fff;
}
.elementor-button-content-wrapper {
  display: flex;
  justify-content: center;
  flex-direction: row;
  gap: 5px;
}
.elementor-button-icon {
  display: flex;
  align-items: center;
}
.elementor-button-icon svg {
  width: 1em;
  height: auto;
}
.elementor-button-icon .e-font-icon-svg {
  height: 1em;
}
.elementor-button-text {
  display: inline-block;
}
.elementor-button span {
  text-decoration: inherit;
}
.elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; }
.elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; }
.elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; }
.elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; }

/* Button alignment */
.elementor-align-center .elementor-button,
.elementor-align-right .elementor-button,
.elementor-align-left .elementor-button {
  width: auto;
}
.elementor-align-justify .elementor-button {
  width: 100%;
}
@media (max-width: 1024px) {
  .elementor-tablet-align-center .elementor-button,
  .elementor-tablet-align-right .elementor-button,
  .elementor-tablet-align-left .elementor-button {
    width: auto;
  }
  .elementor-tablet-align-justify .elementor-button {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .elementor-mobile-align-center .elementor-button,
  .elementor-mobile-align-right .elementor-button,
  .elementor-mobile-align-left .elementor-button {
    width: auto;
  }
  .elementor-mobile-align-justify .elementor-button {
    width: 100%;
  }
}

/* Button color variants */
.elementor-element.elementor-button-info    .elementor-button { background-color: #5bc0de; }
.elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; }
.elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; }
.elementor-element.elementor-button-danger  .elementor-button { background-color: #d9534f; }
.elementor-widget-button .elementor-button .elementor-button-info    { background-color: #5bc0de; }
.elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; }
.elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; }
.elementor-widget-button .elementor-button .elementor-button-danger  { background-color: #d9534f; }

/* ------------------------------------------------------------------ */
/* Spacer widget                                                        */
/* ------------------------------------------------------------------ */
.elementor-column .elementor-spacer-inner {
  height: var(--spacer-size);
}
.e-con {
  --container-widget-width: 100%;
}
.e-con-inner > .elementor-widget-spacer,
.e-con > .elementor-widget-spacer {
  width: var(--container-widget-width, var(--spacer-size));
  --align-self: var(--container-widget-align-self, initial);
  --flex-shrink: 0;
}
.e-con-inner > .elementor-widget-spacer > .elementor-widget-container,
.e-con > .elementor-widget-spacer > .elementor-widget-container {
  height: 100%;
  width: 100%;
}
.e-con-inner > .elementor-widget-spacer > .elementor-widget-container > .elementor-spacer,
.e-con > .elementor-widget-spacer > .elementor-widget-container > .elementor-spacer {
  height: 100%;
}
.e-con-inner > .elementor-widget-spacer > .elementor-widget-container > .elementor-spacer > .elementor-spacer-inner,
.e-con > .elementor-widget-spacer > .elementor-widget-container > .elementor-spacer > .elementor-spacer-inner {
  height: var(--container-widget-height, var(--spacer-size));
}
.e-con-inner > .elementor-widget-spacer:not(:has(> .elementor-widget-container)) > .elementor-spacer,
.e-con > .elementor-widget-spacer:not(:has(> .elementor-widget-container)) > .elementor-spacer {
  height: 100%;
}
.e-con-inner > .elementor-widget-spacer:not(:has(> .elementor-widget-container)) > .elementor-spacer > .elementor-spacer-inner,
.e-con > .elementor-widget-spacer:not(:has(> .elementor-widget-container)) > .elementor-spacer > .elementor-spacer-inner {
  height: var(--container-widget-height, var(--spacer-size));
}
.e-con-inner > .elementor-widget-spacer.elementor-widget-empty,
.e-con > .elementor-widget-spacer.elementor-widget-empty {
  min-height: 22px;
  min-width: 22px;
  position: relative;
}
.e-con-inner > .elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon,
.e-con > .elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon {
  height: 22px;
  inset: 0;
  margin: auto;
  padding: 0;
  position: absolute;
  width: 22px;
}

/* ------------------------------------------------------------------ */
/* Shortcode & HTML widgets — no base styles needed                    */
/* ------------------------------------------------------------------ */
