:root {
  --paraiso-ink: #28212d;
  --paraiso-muted: #625b67;
  --paraiso-line: rgb(40 33 45 / 10%);
  --paraiso-accent: #86206f;
  --paraiso-focus: #b51a81;
  --paraiso-shadow-soft: 0 10px 30px rgb(24 1 44 / 8%);
  --paraiso-shadow-menu: 0 16px 40px rgb(24 1 44 / 14%);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--paraiso-ink);
  font-synthesis: none;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body :where(h1, h2, h3, h4, h5, h6, p, a, button, input, textarea, select, label, span) {
  letter-spacing: 0;
}

:where(h1, h2, h3, .elementor-heading-title) {
  text-wrap: balance;
}

.elementor-widget-text-editor :where(p, li) {
  color: inherit;
  line-height: 1.68;
}

img {
  height: auto;
}

header.elementor-location-header {
  position: relative;
  z-index: 100;
  border-bottom: 1px solid var(--paraiso-line);
  background: #fff;
  box-shadow: 0 5px 24px rgb(24 1 44 / 6%);
}

header.elementor-location-header img[alt="Paraíso Tantra"] {
  filter: drop-shadow(0 2px 7px rgb(24 1 44 / 8%));
}

.premium-nav-menu .premium-menu-link,
.elementor-nav-menu .elementor-item,
.elementor-button,
button,
input,
textarea,
select {
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.premium-nav-menu .premium-menu-link:hover,
.premium-nav-menu .premium-menu-link:focus-visible,
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item:focus-visible {
  color: var(--paraiso-accent);
}

.premium-mega-content-container,
.premium-sub-menu,
.elementor-nav-menu--dropdown {
  border: 1px solid var(--paraiso-line);
  box-shadow: var(--paraiso-shadow-menu);
}

.elementor-button,
button[type="submit"],
input[type="submit"] {
  box-shadow: 0 7px 18px rgb(24 1 44 / 12%);
}

.elementor-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  box-shadow: 0 10px 24px rgb(24 1 44 / 18%);
  transform: translateY(-1px);
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--paraiso-focus) 72%, white);
  outline-offset: 3px;
}

.elementor-widget-image a,
.elementor-widget-image img,
.elementor-gallery-item,
.e-gallery-image {
  backface-visibility: hidden;
}

.elementor-widget-image a:has(img) {
  display: inline-block;
}

.elementor-widget-image a img,
.elementor-gallery-item,
.e-gallery-image {
  transition: filter 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.elementor-widget-image a:hover img,
.elementor-gallery-item:hover,
.e-gallery-image:hover {
  filter: saturate(1.03) contrast(1.02);
}

.elementor-testimonial-wrapper,
.eael-grid-post-holder,
.upk-item,
.htmega-single-post-slide,
.htmega-testimonal {
  border-color: var(--paraiso-line);
  box-shadow: var(--paraiso-shadow-soft);
}

footer.elementor-location-footer {
  border-top: 1px solid rgb(255 255 255 / 18%);
}

@media (max-width: 767px) {
  header.elementor-location-header img[alt="Paraíso Tantra"] {
    max-width: min(78vw, 330px);
  }

  .premium-nav-menu-container,
  .elementor-nav-menu--dropdown {
    box-shadow: var(--paraiso-shadow-menu);
  }

  header.elementor-location-header .elementor-element-866a5dc .elementor-button {
    width: 58px;
    min-width: 0;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    justify-content: center;
  }

  .elementor-button:hover,
  button[type="submit"]:hover,
  input[type="submit"]:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
