/* =========================================
    # GLOBALS #
========================================= */

/* Defines the text and background colors used when content is selected by the user */
::selection {
	color: var(--color-white);
	background: var(--color-red); /* Safari */
}

/* Defines the text and background colors used when content is selected in Firefox */
::-moz-selection {
	color: var(--color-white));
	background: var(--color-red); /* Firefox */
}

/* Forces native select fields to use black text for better readability and browser consistency */
select {
	color: var(--color-black) !important;
}

/* Remove the Elementor icon gap */
.elementor-icon-wrapper {
    line-height: 0 !important;
}

body {
    overflow-x: hidden;
}

/* =========================================================
   BOUNCE SCROLL ICON
   ========================================================= */

/* Apply the bounce animation to the inner icon */
.bounce .elementor-icon {
  display: inline-flex;
  animation: bounce 2s ease-in-out infinite;
  will-change: transform;
}

/* Define the vertical bounce movement */
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-12px);
  }

  60% {
    transform: translateY(-6px);
  }
}

/* Disable the animation for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .bounce .elementor-icon {
    animation: none;
  }
}

/* =========================================================
   HEADER
   ========================================================= */

/* Book Now menu item */
li.book-now > a.elementor-item {
    text-transform: uppercase;
}

/* =========================================================
   WPML LANGUAGE SWITCHER
   ========================================================= */

/* Adds the separator after every language item except the last one. */
.wpml-ls-statics-shortcode_actions ul {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
}

.wpml-ls-statics-shortcode_actions li {
  display: flex !important;
  align-items: center;
  white-space: nowrap;
}

.wpml-ls-statics-shortcode_actions li:not(:last-child)::after {
  content: "|";
  display: inline-block;
  margin: 0 0.30em;
  color: white;  
  opacity: 1;
}

.wpml-ls-legacy-list-horizontal a {
    padding: 0px !important;
}

/* ========================================
   SCROLL TO TOP BUTTON
======================================== */

/* Hide the scroll-to-top button by default
   and position it as a fixed floating element. */
.scroll-top-button {
  position: fixed;
  right: 60px;
  bottom: 10%;
  z-index: 9999;

  width: 30px;
  height: auto;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(10px);

  transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    transform 0.3s ease;
}

/* Show the scroll-to-top button when the page
   has passed the defined scroll threshold. */
body.is-scroll-top-visible .scroll-top-button {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transform: translateY(0);
}

/* Make the SVG image fill the full clickable button area. */
.scroll-top-button img {
  display: block;
  width: 100%;
  height: 100%;
}

/* Add subtle hover feedback to the scroll-to-top button. */
.scroll-top-button:hover {
  opacity: 0.75;
}

/* ========================================
   Responsive
======================================== */

/* Reduce only the button size on mobile devices while preserving its position. */
@media (max-width: 1024px) {
  .scroll-top-button {
  display: none !important;
  }
}

/* ========================================
   WPML LANGUAGE SWITCHER
======================================== */
/* Hide the first WPML Language Switcher in Footer */
@media (min-width: 768px) {
    .elementor-location-header .wpml-ls-menu-item {
        display: none !important;
    }
}

/* Hide WPML Language Switcher in Footer */
@media (max-width: 880px) {
  footer nav.elementor-nav-menu--dropdown {
    display: none !important;
  }
}

/* ========================================
  COOKIE CONSENT
======================================== */

/* Hide the floating cookie preferences button on all devices. */
.cc-reopen-wrapper {
    display: none !important;
}


/* ========================================
  CUSTOM LOGIN PAGE
======================================== */

/* Login error */
.custom-login-error {
    color: var(--color-white) ;
}

/* Remember me checkbox */
.elementor-widget-login .elementor-remember-me input[type="checkbox"] {
    accent-color: var(--color-red) !important;
}

/* Remember me label */
.elementor-widget-login .elementor-remember-me label {
    color: var(--color-white) !important;
}