.elementor-kit-10{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#232424;--e-global-color-text:#000000;--e-global-color-accent:#D876A0;--e-global-color-4339db3:#F34B93;--e-global-color-aab7322:#5AA0C7;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Jost";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Prata";--e-global-typography-accent-font-weight:500;}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */a {
  color: #f7a6d2;
  transition: color 0.3s ease;
}

a:hover {
  color: #e68cbf; /* slightly darker on hover */
  text-decoration: underline;
}

/* Main container constraint */
body {
  margin: 0;
  padding: 0;
}

/* Global wrapper for content */
.site-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px; /* some horizontal padding on smaller screens */
  box-sizing: border-box;
}

/* Ensure images and elements inside scale properly */
img, video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Optional: Force sections to use the wrapper */
section, header, footer, main, .elementor-section {
  width: 100%;
  box-sizing: border-box;
}

/* Example media query if you want to fine-tune small screens */
@media (max-width: 768px) {
  .site-wrapper {
    padding: 0 16px;
  }
}


.custom-carousel-video .swiper-slide {
  position: relative;
}

.custom-carousel-video .swiper-slide a::after {
  content: "\f04b"; /* Font Awesome "play" icon */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 3em;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  pointer-events: none;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}




/* ==================================================
   FREEMBECKY ELEMENT RINGS — FINAL (ALL-IN-ONE)
   TRANSPARENT • RESPONSIVE • INTERACTIVE
   ================================================== */

/* Container */
.fb-elements {
  display: flex;
  justify-content: center;
  gap: clamp(20px, 4vw, 40px);
  flex-wrap: wrap;
  overflow: visible !important;
}

/* ---------------------------
   Base circle
--------------------------- */
.fb-element {
  --glow: #ffffff;

  width: clamp(84px, 16vw, 120px);
  height: clamp(84px, 16vw, 120px);
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: clamp(0.85rem, 2.5vw, 1.05rem);
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;

  background: transparent;
  border: 2px solid var(--glow);

  position: relative;
  isolation: isolate; /* IMPORTANT for Elementor */
  transform: translateZ(0);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;

  /* idle pulse */
  animation: fbPulse 4.5s ease-in-out infinite;
}

/* ---------------------------
   Edge-only glow (layer 1)
--------------------------- */
.fb-element::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid var(--glow);
  filter: blur(6px);
  opacity: 0.85;
  pointer-events: none;
  z-index: -1;
}

/* ---------------------------
   Edge-only glow (layer 2)
--------------------------- */
.fb-element::after {
  content: "";
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  border: 2px solid var(--glow);
  filter: blur(18px);
  opacity: 0.45;
  pointer-events: none;
  z-index: -1;
}

/* ---------------------------
   Hover interaction
--------------------------- */
.fb-element:hover {
  transform: translateY(-4px);
  animation: none;
}

.fb-element:hover::before {
  opacity: 1;
}

.fb-element:hover::after {
  opacity: 0.6;
}

/* ---------------------------
   Ripple on hover (clean)
--------------------------- */
.fb-element:hover::after {
  animation: fbRipple 0.8s ease-out forwards;
}

/* ---------------------------
   Active / click state
--------------------------- */
.fb-element:active,
.fb-element:focus-visible {
  box-shadow:
    0 0 30px 10px color-mix(in srgb, var(--glow) 55%, transparent),
    0 0 60px 22px color-mix(in srgb, var(--glow) 30%, transparent);
}

/* ---------------------------
   Animations
--------------------------- */
@keyframes fbPulse {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(255,255,255,0),
      0 0 0 0 rgba(255,255,255,0);
  }
  50% {
    box-shadow:
      0 0 18px 6px color-mix(in srgb, var(--glow) 30%, transparent),
      0 0 36px 14px color-mix(in srgb, var(--glow) 18%, transparent);
  }
}

@keyframes fbRipple {
  from {
    transform: scale(1);
    opacity: 0.6;
  }
  to {
    transform: scale(1.35);
    opacity: 0;
  }
}

/* ---------------------------
   Element colors
--------------------------- */
.earth { --glow: #6fa96b; }
.water { --glow: #2f80ff; }
.air   { --glow: #ffffff; }
.fire  { --glow: #ff8a2a; }

/* =========================
   MOBILE ELEMENT LAYOUT FIX
   ========================= */

@media (max-width: 600px) {

  .fb-elements {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 28px;
    column-gap: 18px;
    max-width: 360px;
    margin: 0 auto;
  }

  .fb-element {
    margin: 0 auto;
  }

  /* Fire centered on second row */
  .fb-element.fire {
    grid-column: 2 /3;
  }
}

/* Default */
.fb-element {
  color: #ffffff;
}

/* Hover */
.fb-element:hover {
  color: var(--glow);
}

/* =========================
   TEXT COLOR CONTROL
   ========================= */

/* Default text color */
.fb-element {
  color: #ffffff;
}

/* Hover + active = ring color */
.fb-element:hover,
.fb-element:active,
.fb-element:focus-visible {
  color: var(--glow);
}

/* Kill Elementor link styling */
.fb-element,
.fb-element:visited {
  text-decoration: none;
}/* End custom CSS */