/* AB Elegent Global Styles | Developed by Elegent */
/* Reusable Elementor Button Class: ab-elegent-hover-btn */

/*
 * Elementor places the custom CSS class on the widget wrapper. The additional
 * direct-button selectors keep the same effect working when the class is added
 * to an anchor/button through another builder or custom markup.
 */
.elementor-widget-button.ab-elegent-hover-btn .elementor-button,
.elementor-element.ab-elegent-hover-btn .elementor-button,
.ab-elegent-hover-btn .elementor-button,
.elementor-button.ab-elegent-hover-btn,
a.ab-elegent-hover-btn,
button.ab-elegent-hover-btn {
  --ab-elegent-btn-accent: #15125D;
  --ab-elegent-btn-sweep: #000000;
  --ab-elegent-btn-light: #FFFFFF;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 11px !important;
  min-height: 50px !important;
  padding: 0 18px 0 22px !important;
  border-radius: 999px !important;
  /* Normal background and text colors remain controlled by Elementor. */
  background-image: none !important;
  border: 1px solid currentColor !important;
  box-shadow: 0 20px 48px rgba(21, 18, 93, 0.16) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transform: translateY(0) !important;
  transition: transform 0.24s ease, color 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease !important;
}

.elementor-widget-button.ab-elegent-hover-btn .elementor-button::before,
.elementor-element.ab-elegent-hover-btn .elementor-button::before,
.ab-elegent-hover-btn .elementor-button::before,
.elementor-button.ab-elegent-hover-btn::before,
a.ab-elegent-hover-btn::before,
button.ab-elegent-hover-btn::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: var(--ab-elegent-btn-sweep) !important;
  transform: translate3d(-102%, 0, 0) !important;
  transition: transform 0.42s cubic-bezier(.22, .9, .22, 1) !important;
  pointer-events: none !important;
}

.elementor-widget-button.ab-elegent-hover-btn .elementor-button .elementor-button-content-wrapper,
.elementor-widget-button.ab-elegent-hover-btn .elementor-button .elementor-button-text,
.elementor-widget-button.ab-elegent-hover-btn .elementor-button .elementor-button-icon,
.elementor-element.ab-elegent-hover-btn .elementor-button .elementor-button-content-wrapper,
.elementor-element.ab-elegent-hover-btn .elementor-button .elementor-button-text,
.elementor-element.ab-elegent-hover-btn .elementor-button .elementor-button-icon,
.ab-elegent-hover-btn .elementor-button .elementor-button-content-wrapper,
.ab-elegent-hover-btn .elementor-button .elementor-button-text,
.ab-elegent-hover-btn .elementor-button .elementor-button-icon,
.elementor-button.ab-elegent-hover-btn .elementor-button-content-wrapper,
.elementor-button.ab-elegent-hover-btn .elementor-button-text,
.elementor-button.ab-elegent-hover-btn .elementor-button-icon,
a.ab-elegent-hover-btn > *,
button.ab-elegent-hover-btn > * {
  position: relative !important;
  z-index: 2 !important;
  color: inherit !important;
}

.elementor-widget-button.ab-elegent-hover-btn .elementor-button .elementor-button-content-wrapper,
.elementor-element.ab-elegent-hover-btn .elementor-button .elementor-button-content-wrapper,
.ab-elegent-hover-btn .elementor-button .elementor-button-content-wrapper,
.elementor-button.ab-elegent-hover-btn .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-widget-button.ab-elegent-hover-btn .elementor-button::after,
.elementor-element.ab-elegent-hover-btn .elementor-button::after,
.ab-elegent-hover-btn .elementor-button::after,
.elementor-button.ab-elegent-hover-btn::after,
a.ab-elegent-hover-btn::after,
button.ab-elegent-hover-btn::after {
  content: "↗" !important;
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ab-elegent-btn-light) !important;
  background: var(--ab-elegent-btn-accent) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  transform: rotate(0deg) !important;
  transition: transform 0.24s ease, background-color 0.24s ease, color 0.24s ease !important;
  pointer-events: none !important;
}

.elementor-widget-button.ab-elegent-hover-btn .elementor-button:hover,
.elementor-widget-button.ab-elegent-hover-btn .elementor-button:focus,
.elementor-widget-button.ab-elegent-hover-btn .elementor-button:focus-visible,
.elementor-element.ab-elegent-hover-btn .elementor-button:hover,
.elementor-element.ab-elegent-hover-btn .elementor-button:focus,
.elementor-element.ab-elegent-hover-btn .elementor-button:focus-visible,
.ab-elegent-hover-btn .elementor-button:hover,
.ab-elegent-hover-btn .elementor-button:focus,
.ab-elegent-hover-btn .elementor-button:focus-visible,
.elementor-button.ab-elegent-hover-btn:hover,
.elementor-button.ab-elegent-hover-btn:focus,
.elementor-button.ab-elegent-hover-btn:focus-visible,
a.ab-elegent-hover-btn:hover,
a.ab-elegent-hover-btn:focus,
a.ab-elegent-hover-btn:focus-visible,
button.ab-elegent-hover-btn:hover,
button.ab-elegent-hover-btn:focus,
button.ab-elegent-hover-btn:focus-visible {
  color: var(--ab-elegent-btn-light) !important;
  border-color: var(--ab-elegent-btn-light) !important;
  box-shadow: 0 22px 60px rgba(10, 8, 45, 0.34) !important;
  transform: translateY(-2px) !important;
}

.elementor-widget-button.ab-elegent-hover-btn .elementor-button:hover::before,
.elementor-widget-button.ab-elegent-hover-btn .elementor-button:focus::before,
.elementor-widget-button.ab-elegent-hover-btn .elementor-button:focus-visible::before,
.elementor-element.ab-elegent-hover-btn .elementor-button:hover::before,
.elementor-element.ab-elegent-hover-btn .elementor-button:focus::before,
.elementor-element.ab-elegent-hover-btn .elementor-button:focus-visible::before,
.ab-elegent-hover-btn .elementor-button:hover::before,
.ab-elegent-hover-btn .elementor-button:focus::before,
.ab-elegent-hover-btn .elementor-button:focus-visible::before,
.elementor-button.ab-elegent-hover-btn:hover::before,
.elementor-button.ab-elegent-hover-btn:focus::before,
.elementor-button.ab-elegent-hover-btn:focus-visible::before,
a.ab-elegent-hover-btn:hover::before,
a.ab-elegent-hover-btn:focus::before,
a.ab-elegent-hover-btn:focus-visible::before,
button.ab-elegent-hover-btn:hover::before,
button.ab-elegent-hover-btn:focus::before,
button.ab-elegent-hover-btn:focus-visible::before {
  transform: translate3d(0, 0, 0) !important;
}

.elementor-widget-button.ab-elegent-hover-btn .elementor-button:hover::after,
.elementor-widget-button.ab-elegent-hover-btn .elementor-button:focus::after,
.elementor-widget-button.ab-elegent-hover-btn .elementor-button:focus-visible::after,
.elementor-element.ab-elegent-hover-btn .elementor-button:hover::after,
.elementor-element.ab-elegent-hover-btn .elementor-button:focus::after,
.elementor-element.ab-elegent-hover-btn .elementor-button:focus-visible::after,
.ab-elegent-hover-btn .elementor-button:hover::after,
.ab-elegent-hover-btn .elementor-button:focus::after,
.ab-elegent-hover-btn .elementor-button:focus-visible::after,
.elementor-button.ab-elegent-hover-btn:hover::after,
.elementor-button.ab-elegent-hover-btn:focus::after,
.elementor-button.ab-elegent-hover-btn:focus-visible::after,
a.ab-elegent-hover-btn:hover::after,
a.ab-elegent-hover-btn:focus::after,
a.ab-elegent-hover-btn:focus-visible::after,
button.ab-elegent-hover-btn:hover::after,
button.ab-elegent-hover-btn:focus::after,
button.ab-elegent-hover-btn:focus-visible::after {
  color: #000000 !important;
  background: var(--ab-elegent-btn-light) !important;
  transform: rotate(45deg) !important;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-widget-button.ab-elegent-hover-btn .elementor-button,
  .elementor-element.ab-elegent-hover-btn .elementor-button,
  .ab-elegent-hover-btn .elementor-button,
  .elementor-button.ab-elegent-hover-btn,
  a.ab-elegent-hover-btn,
  button.ab-elegent-hover-btn,
  .elementor-widget-button.ab-elegent-hover-btn .elementor-button::before,
  .elementor-element.ab-elegent-hover-btn .elementor-button::before,
  .ab-elegent-hover-btn .elementor-button::before,
  .elementor-button.ab-elegent-hover-btn::before,
  a.ab-elegent-hover-btn::before,
  button.ab-elegent-hover-btn::before,
  .elementor-widget-button.ab-elegent-hover-btn .elementor-button::after,
  .elementor-element.ab-elegent-hover-btn .elementor-button::after,
  .ab-elegent-hover-btn .elementor-button::after,
  .elementor-button.ab-elegent-hover-btn::after,
  a.ab-elegent-hover-btn::after,
  button.ab-elegent-hover-btn::after {
    transition-duration: 0.01ms !important;
  }
}

/*
 * Brush underline for inline highlighted text used inside Elementor Heading widgets.
 * Example markup:
 * <span style="color:#C8B579; border-bottom:10px solid #C8B579; padding-bottom:6px;">...</span>
 * The original straight border is replaced while the inline text color remains the brush color.
 */
.elementor-widget-heading .elementor-heading-title span[style*="border-bottom"][style*="#C8B579"],
.elementor-widget-heading .elementor-heading-title span[style*="border-bottom"][style*="#c8b579"] {
  position: relative !important;
  display: inline-block !important;
  max-width: 100% !important;
  border-bottom: 0 !important;
  padding-bottom: 16px !important;
  text-decoration: none !important;
  overflow: visible !important;
}

.elementor-widget-heading .elementor-heading-title span[style*="border-bottom"][style*="#C8B579"]::after,
.elementor-widget-heading .elementor-heading-title span[style*="border-bottom"][style*="#c8b579"]::after {
  content: "" !important;
  position: absolute !important;
  left: 1px !important;
  right: 1px !important;
  bottom: 0 !important;
  display: block !important;
  width: calc(100% - 2px) !important;
  height: 14px !important;
  min-height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: currentColor !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
  z-index: 2 !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 120' preserveAspectRatio='none'%3E%3Cpath d='M18 88 C96 61 202 39 330 24 C482 6 647 5 784 13 C875 18 948 29 989 43 C943 37 890 35 826 36 C663 38 510 46 369 59 C238 72 126 90 34 106 C27 102 21 96 18 88 Z' fill='black'/%3E%3Cpath d='M48 108 C107 91 164 80 231 71 C178 84 123 99 66 116 Z' fill='black'/%3E%3Cpath d='M113 101 C176 85 248 75 319 67 C250 82 190 95 132 111 Z' fill='black'/%3E%3Cpath d='M205 91 C259 80 319 72 379 66 C328 78 275 88 220 99 Z' fill='black'/%3E%3Cpath d='M873 39 C919 38 958 41 994 49 C961 47 930 49 899 54 Z' fill='black'/%3E%3Cpath d='M922 52 C951 51 975 54 997 60 C974 58 952 59 932 63 Z' fill='black'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-size: 100% 100% !important;
  -webkit-mask-position: center !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 120' preserveAspectRatio='none'%3E%3Cpath d='M18 88 C96 61 202 39 330 24 C482 6 647 5 784 13 C875 18 948 29 989 43 C943 37 890 35 826 36 C663 38 510 46 369 59 C238 72 126 90 34 106 C27 102 21 96 18 88 Z' fill='black'/%3E%3Cpath d='M48 108 C107 91 164 80 231 71 C178 84 123 99 66 116 Z' fill='black'/%3E%3Cpath d='M113 101 C176 85 248 75 319 67 C250 82 190 95 132 111 Z' fill='black'/%3E%3Cpath d='M205 91 C259 80 319 72 379 66 C328 78 275 88 220 99 Z' fill='black'/%3E%3Cpath d='M873 39 C919 38 958 41 994 49 C961 47 930 49 899 54 Z' fill='black'/%3E%3Cpath d='M922 52 C951 51 975 54 997 60 C974 58 952 59 932 63 Z' fill='black'/%3E%3C/svg%3E") !important;
  mask-repeat: no-repeat !important;
  mask-size: 100% 100% !important;
  mask-position: center !important;
}

@media (max-width: 767px) {
  .elementor-widget-heading .elementor-heading-title span[style*="border-bottom"][style*="#C8B579"],
  .elementor-widget-heading .elementor-heading-title span[style*="border-bottom"][style*="#c8b579"] {
    padding-bottom: 14px !important;
  }

  .elementor-widget-heading .elementor-heading-title span[style*="border-bottom"][style*="#C8B579"]::after,
  .elementor-widget-heading .elementor-heading-title span[style*="border-bottom"][style*="#c8b579"]::after {
    height: 12px !important;
    min-height: 12px !important;
  }
}

/*
 * Single blog post Gutenberg link normalization (tablet/mobile only).
 * Keeps inline phone/source links from inheriting oversized theme link styles.
 */
@media (max-width: 1024px) {
  body.single-post .wp-block-paragraph a:not(.wp-element-button):not(.elementor-button),
  body.single-post .wp-block-list a:not(.wp-element-button):not(.elementor-button) {
    display: inline !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    vertical-align: baseline !important;
  }
}
