.elementor-4439 .elementor-element.elementor-element-8fb6dd0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-4439 .elementor-element.elementor-element-d279b23{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-4439 .elementor-element.elementor-element-168ac8e .elementor-heading-title{font-family:"Secular One", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-a29883b{width:var( --container-widget-width, 74% );max-width:74%;--container-widget-width:74%;--container-widget-flex-grow:0;text-align:center;}.elementor-4439 .elementor-element.elementor-element-a29883b .elementor-heading-title{font-family:"Varela Round", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-ddc1aa8{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4439 .elementor-element.elementor-element-ddc1aa8.e-con{--align-self:center;}.elementor-4439 .elementor-element.elementor-element-9dbaed3{text-align:center;}.elementor-4439 .elementor-element.elementor-element-9dbaed3 .elementor-heading-title{font-family:"Varela Round", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-402f6c0 .elementor-button{font-family:"Varela Round", Sans-serif;}.elementor-4439 .elementor-element.elementor-element-ddcce7d{--display:flex;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:60px;}.elementor-4439 .elementor-element.elementor-element-11ea32a{width:var( --container-widget-width, 72% );max-width:72%;--container-widget-width:72%;--container-widget-flex-grow:0;text-align:center;}.elementor-4439 .elementor-element.elementor-element-11ea32a.elementor-element{--align-self:center;}.elementor-4439 .elementor-element.elementor-element-11ea32a .elementor-heading-title{font-family:"Varela Round", Sans-serif;line-height:1.4em;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-cdf9f86{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:1px;}.elementor-4439 .elementor-element.elementor-element-cdf9f86 .elementor-divider-separator{width:63%;margin:0 auto;margin-center:0;}.elementor-4439 .elementor-element.elementor-element-cdf9f86 .elementor-divider{text-align:center;padding-block-start:26px;padding-block-end:26px;}.elementor-4439 .elementor-element.elementor-element-8aaca9e{--display:flex;}.elementor-4439 .elementor-element.elementor-element-b17de20 .elementor-heading-title{font-family:"Varela Round", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-00b7ffd{columns:2;font-family:"Varela Round", Sans-serif;font-size:16px;line-height:26px;letter-spacing:0.9px;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-00b7ffd a{color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-7410155{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:1px;}.elementor-4439 .elementor-element.elementor-element-7410155 .elementor-divider-separator{width:63%;margin:0 auto;margin-center:0;}.elementor-4439 .elementor-element.elementor-element-7410155 .elementor-divider{text-align:center;padding-block-start:26px;padding-block-end:26px;}.elementor-4439 .elementor-element.elementor-element-39b7328{--display:flex;}.elementor-4439 .elementor-element.elementor-element-bc28515 .elementor-heading-title{font-family:"Varela Round", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-9a88ddd{columns:2;font-family:"Varela Round", Sans-serif;font-size:16px;line-height:26px;letter-spacing:0.9px;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-9a88ddd a{color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-a6c6684{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:1px;}.elementor-4439 .elementor-element.elementor-element-a6c6684 .elementor-divider-separator{width:63%;margin:0 auto;margin-center:0;}.elementor-4439 .elementor-element.elementor-element-a6c6684 .elementor-divider{text-align:center;padding-block-start:26px;padding-block-end:26px;}.elementor-4439 .elementor-element.elementor-element-98666c6{--display:flex;}.elementor-4439 .elementor-element.elementor-element-a861259 .elementor-heading-title{font-family:"Varela Round", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-2683062{columns:2;font-family:"Varela Round", Sans-serif;font-size:16px;line-height:26px;letter-spacing:0.9px;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-2683062 a{color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-4545e2b{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-4439 .elementor-element.elementor-element-4545e2b > .elementor-widget-container{padding:10px 10px 10px 10px;}.elementor-4439 .elementor-element.elementor-element-4545e2b.elementor-element{--align-self:center;}.elementor-4439 .elementor-element.elementor-element-4545e2b .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-4439 .elementor-element.elementor-element-0189b8b{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:1px;}.elementor-4439 .elementor-element.elementor-element-0189b8b .elementor-divider-separator{width:63%;margin:0 auto;margin-center:0;}.elementor-4439 .elementor-element.elementor-element-0189b8b .elementor-divider{text-align:center;padding-block-start:26px;padding-block-end:26px;}.elementor-4439 .elementor-element.elementor-element-0105cc6{--display:flex;}.elementor-4439 .elementor-element.elementor-element-4d967e3 .elementor-heading-title{font-family:"Varela Round", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-2cbe2cc{columns:2;font-family:"Varela Round", Sans-serif;font-size:16px;line-height:26px;letter-spacing:0.9px;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-2cbe2cc a{color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-342db27{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-4439 .elementor-element.elementor-element-342db27 > .elementor-widget-container{padding:10px 10px 10px 10px;}.elementor-4439 .elementor-element.elementor-element-342db27.elementor-element{--align-self:center;}.elementor-4439 .elementor-element.elementor-element-342db27 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-4439 .elementor-element.elementor-element-3a2579b{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:1px;}.elementor-4439 .elementor-element.elementor-element-3a2579b .elementor-divider-separator{width:63%;margin:0 auto;margin-center:0;}.elementor-4439 .elementor-element.elementor-element-3a2579b .elementor-divider{text-align:center;padding-block-start:26px;padding-block-end:26px;}.elementor-4439 .elementor-element.elementor-element-a329a20{--display:flex;}.elementor-4439 .elementor-element.elementor-element-4bf57e0 .elementor-heading-title{font-family:"Varela Round", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-017531d{columns:2;font-family:"Varela Round", Sans-serif;font-size:16px;line-height:26px;letter-spacing:0.9px;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-017531d a{color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-7a2e372{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-4439 .elementor-element.elementor-element-7a2e372 > .elementor-widget-container{padding:10px 10px 10px 10px;}.elementor-4439 .elementor-element.elementor-element-7a2e372.elementor-element{--align-self:center;}.elementor-4439 .elementor-element.elementor-element-7a2e372 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-4439 .elementor-element.elementor-element-4d8cf70{--display:flex;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4439 .elementor-element.elementor-element-4d8cf70.e-con{--align-self:center;}.elementor-4439 .elementor-element.elementor-element-1f9b005{text-align:center;}.elementor-4439 .elementor-element.elementor-element-1f9b005 .elementor-heading-title{font-family:"Varela Round", Sans-serif;color:var( --e-global-color-astglobalcolor4 );}.elementor-4439 .elementor-element.elementor-element-63ce586 .elementor-button{font-family:"Varela Round", Sans-serif;}@media(max-width:1024px){.elementor-4439 .elementor-element.elementor-element-4545e2b{--container-widget-width:64%;--container-widget-flex-grow:0;width:var( --container-widget-width, 64% );max-width:64%;}.elementor-4439 .elementor-element.elementor-element-342db27{--container-widget-width:64%;--container-widget-flex-grow:0;width:var( --container-widget-width, 64% );max-width:64%;}.elementor-4439 .elementor-element.elementor-element-7a2e372{--container-widget-width:64%;--container-widget-flex-grow:0;width:var( --container-widget-width, 64% );max-width:64%;}}@media(min-width:768px){.elementor-4439 .elementor-element.elementor-element-ddc1aa8{--width:100%;}.elementor-4439 .elementor-element.elementor-element-4d8cf70{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-4439 .elementor-element.elementor-element-ddc1aa8{--width:79%;}.elementor-4439 .elementor-element.elementor-element-4d8cf70{--width:79%;}}@media(max-width:767px){.elementor-4439 .elementor-element.elementor-element-168ac8e{text-align:center;}.elementor-4439 .elementor-element.elementor-element-168ac8e .elementor-heading-title{font-size:2em;}.elementor-4439 .elementor-element.elementor-element-a29883b{--container-widget-width:274px;--container-widget-flex-grow:0;width:var( --container-widget-width, 274px );max-width:274px;}.elementor-4439 .elementor-element.elementor-element-a29883b .elementor-heading-title{font-size:1.1em;line-height:1.5em;}.elementor-4439 .elementor-element.elementor-element-ddc1aa8{--width:92%;}.elementor-4439 .elementor-element.elementor-element-9dbaed3 .elementor-heading-title{font-size:0.6em;}.elementor-4439 .elementor-element.elementor-element-ddcce7d{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-4439 .elementor-element.elementor-element-11ea32a{--container-widget-width:341px;--container-widget-flex-grow:0;width:var( --container-widget-width, 341px );max-width:341px;}.elementor-4439 .elementor-element.elementor-element-b17de20 .elementor-heading-title{font-size:2.2em;}.elementor-4439 .elementor-element.elementor-element-00b7ffd{columns:1;}.elementor-4439 .elementor-element.elementor-element-bc28515 .elementor-heading-title{font-size:2.2em;}.elementor-4439 .elementor-element.elementor-element-9a88ddd{columns:1;}.elementor-4439 .elementor-element.elementor-element-a861259 .elementor-heading-title{font-size:2.2em;}.elementor-4439 .elementor-element.elementor-element-2683062{columns:1;}.elementor-4439 .elementor-element.elementor-element-4545e2b{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-4439 .elementor-element.elementor-element-4d967e3 .elementor-heading-title{font-size:2.2em;}.elementor-4439 .elementor-element.elementor-element-2cbe2cc{columns:1;}.elementor-4439 .elementor-element.elementor-element-342db27{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-4439 .elementor-element.elementor-element-4bf57e0 .elementor-heading-title{font-size:2.2em;}.elementor-4439 .elementor-element.elementor-element-017531d{columns:1;}.elementor-4439 .elementor-element.elementor-element-7a2e372{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-4439 .elementor-element.elementor-element-4d8cf70{--width:92%;}.elementor-4439 .elementor-element.elementor-element-1f9b005 .elementor-heading-title{font-size:0.8em;}}/* Start custom CSS for container, class: .elementor-element-ddc1aa8 *//* ===========================
   CLEAN MAGICAL CTA SECTION
   =========================== */

.mystical-cta {
  display: flex;
  justify-content: center;
  padding: 90px 20px;
  position: relative;
}

/* === PORTAL BOX === */
.portal-box {
  position: relative;
  padding: 70px 60px;
  max-width: 700px;
  border-radius: 35px;
  background: rgba(30, 15, 50, 0.55); 
  backdrop-filter: blur(10px);
  border: 1px solid rgba(220, 180, 255, 0.18);
  overflow: visible;
  box-shadow: 0 0 55px rgba(140, 70, 255, 0.25);
}

/* === SUBTLE PORTAL AURA === */
.portal-box::before {
  content: "";
  position: absolute;
  top: -25%;
  left: 50%;
  transform: translateX(-50%);
  width: 160%;
  height: 160%;
  background: radial-gradient(
    circle,
    rgba(185, 140, 255, 0.35) 0%,
    rgba(110, 60, 160, 0.28) 35%,
    rgba(40, 20, 60, 0.55) 70%,
    rgba(0, 0, 0, 0.9) 100%
  );
  filter: blur(60px);
  opacity: 0.7;
  border-radius: 50%;
  z-index: -1;
}

/* ===========================
   TEXT STYLING
   =========================== */

.cta-heading {
  font-family: "Cinzel", serif;
  font-size: 44px;
  font-weight: 600;
  margin-bottom: 18px;
  color: #f5eaff; /* light magical white-lilac */
  text-shadow:
    0 0 8px rgba(255, 255, 255, 0.12),
    0 0 20px rgba(155, 115, 255, 0.25);
}

.cta-sub {
  font-size: 20px;
  color: #e6d9ff;
  line-height: 1.55;
  margin-bottom: 40px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/* ===========================
   BUTTON MAGIC
   =========================== */

.cta-btn .elementor-button {
  background: rgba(255,255,255,0.04);
  border: 2px solid rgba(230, 200, 255, 0.65);
  color: #ffffff;
  padding: 16px 38px;
  font-size: 18px;
  border-radius: 12px;
  backdrop-filter: blur(4px);
  transition: 0.25s ease;
  box-shadow: 0 0 14px rgba(180, 120, 255, 0.45);
}

.cta-btn .elementor-button:hover {
  background: rgba(255,255,255,0.15);
  border-color: #ffffff;
  transform: translateY(-3px);
  box-shadow: 0 0 28px rgba(220, 180, 255, 0.8);
}

/* ===========================
   RESPONSIVE
   =========================== */

@media (max-width: 700px) {
  .portal-box {
    padding: 50px 30px;
  }

  .cta-heading {
    font-size: 32px;
  }

  .cta-sub {
    font-size: 17px;
  }

  .cta-btn .elementor-button {
    padding: 14px 30px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3868a03 *//* ============================================
   DESKTOP VERSION — FLOATING GALLERY
============================================ */
.floating-gallery-custom22 {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: visible;
}

.floating-gallery-custom22::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 650px;
  background: radial-gradient(
    ellipse at center,
    rgba(255,255,255,0.32) 0%,
    rgba(255,255,255,0.15) 30%,
    rgba(255,255,255,0.06) 55%,
    transparent 85%
  );
  filter: blur(90px);
  opacity: 0.9;
  pointer-events: none;
  animation: moonPulseCustom 8s ease-in-out infinite;
  z-index: 0;
}

@keyframes moonPulseCustom {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  50% { transform: translateX(-50%) scale(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.8; }
}

.floating-gallery-custom22 img {
  position: absolute;
  border-radius: 18px;
  cursor: pointer;
  width: clamp(110px, 17vw, 210px);
  animation: floatCustom 12s ease-in-out infinite alternate;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.35));
  transition: transform 0.75s cubic-bezier(.25,.8,.25,1), filter 0.5s ease;
}

/* Left column - 2 images stacked */
.floating-gallery-custom22 img:nth-child(1) { 
  top: 2%; 
  left: 15%; 
  animation-duration: 13s; 
}

.floating-gallery-custom22 img:nth-child(2) { 
  top: 22%; 
  left: 40%; 
  animation-duration: 11s; 
}

/* Center - 1 image */
.floating-gallery-custom22 img:nth-child(3) { 
  top: 5%; 
  left: 65%; 
  transform: translateX(-50%);
  animation-duration: 15s; 
}

/* Right column - 2 images stacked */
.floating-gallery-custom22 img:nth-child(4) { 
  bottom: 2%; 
  right: 12%; 
  animation-duration: 12s; 
}

.floating-gallery-custom22 img:nth-child(5) { 
  top: 5%; 
  right: 5%; 
  animation-duration: 14s; 
}

@keyframes floatCustom {
  0%   { transform: translateY(0px) translateX(0px) rotate(0deg); }
  50%  { transform: translateY(-16px) translateX(10px) rotate(1deg); }
  100% { transform: translateY(14px) translateX(-10px) rotate(-1deg); }
}

.floating-gallery-custom22 img:hover {
  transform: scale(1.65) translateY(-18px) !important;
  z-index: 9999 !important;
  animation-play-state: paused !important;
  filter:
    brightness(1.2)
    drop-shadow(0 0 35px rgba(255,255,255,0.6))
    drop-shadow(0 0 60px rgba(255,255,255,0.35)) !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-de61057 *//* ============================================
   HIDE/SHOW VERSIONS
============================================ */
.desktop-only { display: block; }
.mobile-only { display: none; }

@media (max-width: 1024px) {
  .desktop-only { display: none !important; }
  .mobile-only { display: block !important; }
}

/* ============================================
   DESKTOP VERSION — FLOATING GALLERY
============================================ */
.floating-gallery-custom2 {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: visible;
}

.floating-gallery-custom2::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 650px;
  background: radial-gradient(
    ellipse at center,
    rgba(255,255,255,0.32) 0%,
    rgba(255,255,255,0.15) 30%,
    rgba(255,255,255,0.06) 55%,
    transparent 85%
  );
  filter: blur(90px);
  opacity: 0.9;
  pointer-events: none;
  animation: moonPulseCustom2 8s ease-in-out infinite;
  z-index: 0;
}

@keyframes moonPulseCustom2 {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  50% { transform: translateX(-50%) scale(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.8; }
}

.floating-gallery-custom2 img {
  position: absolute;
  border-radius: 18px;
  cursor: pointer;
  width: clamp(110px, 17vw, 210px);
  animation: floatCustom2 12s ease-in-out infinite alternate;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.35));
  transition: transform 0.75s cubic-bezier(.25,.8,.25,1), filter 0.5s ease;
}

/* Top-left */
.floating-gallery-custom2 img:nth-child(1) { 
  top: 5%; 
  left: 10%; 
  animation-duration: 13s; 
}
/* Bottom-left */
.floating-gallery-custom2 img:nth-child(2) { 
  top: 52%; 
  left: 8%; 
  animation-duration: 11s; 
}
/* Center — larger */
.floating-gallery-custom2 img:nth-child(3) { 
  top: 15%; 
  left: 37%; 
  transform: translateX(-50%);
  width: clamp(140px, 22vw, 270px);
  animation-duration: 15s; 
}
/* Bottom-right */
.floating-gallery-custom2 img:nth-child(4) { 
  top: 50%; 
  right: 8%; 
  animation-duration: 12s; 
}
/* Top-right */
.floating-gallery-custom2 img:nth-child(5) { 
  top: 3%; 
  right: 12%; 
  animation-duration: 14s; 
}

@keyframes floatCustom2 {
  0%   { transform: translateY(0px) translateX(0px) rotate(0deg); }
  50%  { transform: translateY(-16px) translateX(10px) rotate(1deg); }
  100% { transform: translateY(14px) translateX(-10px) rotate(-1deg); }
}

.floating-gallery-custom2 img:hover {
  transform: scale(1.65) translateY(-18px) !important;
  z-index: 9999 !important;
  animation-play-state: paused !important;
  filter:
    brightness(1.2)
    drop-shadow(0 0 35px rgba(255,255,255,0.6))
    drop-shadow(0 0 60px rgba(255,255,255,0.35)) !important;
}

/* ============================================
   MOBILE/TABLET — SWIPER CAROUSEL
============================================ */
.mobile-gallery-carousel {
  width: 100%;
  padding: 40px 0;
  position: relative;
}

.myGallerySwiper2 {
  width: 100%;
  height: 400px;
}

.myGallerySwiper2 .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.mobile-gallery-carousel img {
  max-width: 100%;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}

.swiper-button-next,
.swiper-button-prev {
  width: 50px !important;
  height: 50px !important;
  background: rgba(127, 92, 255, 0.8) !important;
  border-radius: 50% !important;
  color: white !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 15px rgba(127, 92, 255, 0.4);
  transition: all 0.3s ease;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 20px !important;
  font-weight: bold;
}

.swiper-button-next {
  left: 10px !important;
  right: auto !important;
}

.swiper-button-prev {
  right: 10px !important;
  left: auto !important;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: rgba(127, 92, 255, 1) !important;
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(127, 92, 255, 0.6);
}

.swiper-pagination {
  display: none !important;
}

@media (max-width: 768px) {
  .myGallerySwiper2 { height: 450px; }
  .myGallerySwiper2 .swiper-slide { height: 450px; }
}

@media (max-width: 480px) {
  .myGallerySwiper2 { height: 400px; }
  .myGallerySwiper2 .swiper-slide { height: 400px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-11d4f73 *//* ============================================
   HIDE/SHOW VERSIONS
============================================ */
.desktop-only { display: block; }
.mobile-only { display: none; }

@media (max-width: 1024px) {
  .desktop-only { display: none !important; }
  .mobile-only { display: block !important; }
}

/* ============================================
   DESKTOP VERSION — FLOATING GALLERY
============================================ */
.floating-gallery-custom {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: visible;
}

.floating-gallery-custom::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 650px;
  background: radial-gradient(
    ellipse at center,
    rgba(255,255,255,0.32) 0%,
    rgba(255,255,255,0.15) 30%,
    rgba(255,255,255,0.06) 55%,
    transparent 85%
  );
  filter: blur(90px);
  opacity: 0.9;
  pointer-events: none;
  animation: moonPulseCustom 8s ease-in-out infinite;
  z-index: 0;
}

@keyframes moonPulseCustom {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  50% { transform: translateX(-50%) scale(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.8; }
}

.floating-gallery-custom img {
  position: absolute;
  border-radius: 18px;
  cursor: pointer;
  width: clamp(110px, 17vw, 210px);
  animation: floatCustom 12s ease-in-out infinite alternate;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.35));
  transition: transform 0.75s cubic-bezier(.25,.8,.25,1), filter 0.5s ease;
}

.floating-gallery-custom img:nth-child(1) { top: 14%; left: 18%; animation-duration: 13s; }
.floating-gallery-custom img:nth-child(2) { top: 55%; left: 12%; animation-duration: 11s; }
.floating-gallery-custom img:nth-child(3) { top: 28%; left: 42%; animation-duration: 15s; }
.floating-gallery-custom img:nth-child(4) { top: 62%; left: 62%; animation-duration: 12s; }
.floating-gallery-custom img:nth-child(5) { top: 10%; left: 68%; animation-duration: 14s; }

@keyframes floatCustom {
  0%   { transform: translateY(0px) translateX(0px) rotate(0deg); }
  50%  { transform: translateY(-16px) translateX(10px) rotate(1deg); }
  100% { transform: translateY(14px) translateX(-10px) rotate(-1deg); }
}

.floating-gallery-custom img:hover {
  transform: scale(1.65) translateY(-18px) !important;
  z-index: 9999 !important;
  animation-play-state: paused !important;
  filter:
    brightness(1.2)
    drop-shadow(0 0 35px rgba(255,255,255,0.6))
    drop-shadow(0 0 60px rgba(255,255,255,0.35)) !important;
}

/* ============================================
   MOBILE/TABLET — SWIPER CAROUSEL
============================================ */
.mobile-gallery-carousel {
width: 100%;
padding: 40px 0;
position: relative;
}

.myGallerySwiper {
width: 100%;
height: 400px; /* Keep fixed height for container */
}

/* FIX 1: Allow the slide to fill the container and manage flex */
.swiper-slide {
display: flex;
align-items: center;
justify-content: center;
height: 100%; /* Use 100% here instead of 400px fixed */
}

/* FIX 2: Ensure the image scales correctly within the slide's container */
.mobile-gallery-carousel img {
max-width: 100%; /* Image should not exceed the slide width */
height: auto !important; /* Force height to scale proportionally based on width */
object-fit: contain !important; /* Ensure the entire image is visible */
 border-radius: 18px;
box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}

/* ===== NAV BUTTONS ===== */
.swiper-button-next,
.swiper-button-prev {
  width: 50px !important;
  height: 50px !important;
  background: rgba(127, 92, 255, 0.8) !important;
  border-radius: 50% !important;
  color: white !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 15px rgba(127, 92, 255, 0.4);
  transition: all 0.3s ease;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 20px !important;
  font-weight: bold;
}

.swiper-button-next {
  left: 10px !important;
  right: auto !important;
}

.swiper-button-prev {
  right: 10px !important;
  left: auto !important;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: rgba(127, 92, 255, 1) !important;
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(127, 92, 255, 0.6);
}

/* ===== HIDE PAGINATION DOTS (AS REQUESTED) ===== */
.swiper-pagination {
  display: none !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .myGallerySwiper {
    height: 450px;
  }
  .swiper-slide {
    height: 450px;
  }
  .swiper-button-next,
  .swiper-button-prev {
    width: 45px !important;
    height: 45px !important;
  }
  .swiper-button-next:after,
  .swiper-button-prev:after {
    font-size: 18px !important;
  }
}

@media (max-width: 480px) {
  .myGallerySwiper {
    height: 400px;
  }
  .swiper-slide {
    height: 400px;
  }
  .swiper-button-next,
  .swiper-button-prev {
    width: 40px !important;
    height: 40px !important;
  }
  .swiper-button-next:after,
  .swiper-button-prev:after {
    font-size: 16px !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-27211a8 *//* ============================================
   DESKTOP VERSION — FLOATING GALLERY
============================================ */
.floating-gallery-custom23 {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: visible;
}

.floating-gallery-custom23::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 650px;
  background: radial-gradient(
    ellipse at center,
    rgba(255,255,255,0.32) 0%,
    rgba(255,255,255,0.15) 30%,
    rgba(255,255,255,0.06) 55%,
    transparent 85%
  );
  filter: blur(90px);
  opacity: 0.9;
  pointer-events: none;
  animation: moonPulseCustom 8s ease-in-out infinite;
  z-index: 0;
}

@keyframes moonPulseCustom {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  50% { transform: translateX(-50%) scale(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.8; }
}

.floating-gallery-custom23 img {
  position: absolute;
  border-radius: 18px;
  cursor: pointer;
  width: clamp(110px, 17vw, 210px);
  animation: floatCustom 12s ease-in-out infinite alternate;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.35));
  transition: transform 0.75s cubic-bezier(.25,.8,.25,1), filter 0.5s ease;
}

/* Left column - 2 images stacked */
.floating-gallery-custom23 img:nth-child(1) { 
  top: 2%; 
  left: 15%; 
  animation-duration: 13s; 
}

.floating-gallery-custom23 img:nth-child(2) { 
  top: 22%; 
  left: 32%; 
  animation-duration: 11s; 
}

/* Center - 1 image */
.floating-gallery-custom23 img:nth-child(3) { 
  top: 5%; 
  left: 50%; 
  transform: translateX(-50%);
  animation-duration: 15s; 
}

/* Right column - 2 images stacked */
.floating-gallery-custom23 img:nth-child(4) { 
  bottom: 2%; 
  right: 12%; 
  animation-duration: 12s; 
}

.floating-gallery-custom23 img:nth-child(5) { 
  top: 5%; 
  right: 5%; 
  animation-duration: 14s; 
}

@keyframes floatCustom {
  0%   { transform: translateY(0px) translateX(0px) rotate(0deg); }
  50%  { transform: translateY(-16px) translateX(10px) rotate(1deg); }
  100% { transform: translateY(14px) translateX(-10px) rotate(-1deg); }
}

.floating-gallery-custom2 img:hover {
  transform: scale(1.65) translateY(-18px) !important;
  z-index: 9999 !important;
  animation-play-state: paused !important;
  filter:
    brightness(1.2)
    drop-shadow(0 0 35px rgba(255,255,255,0.6))
    drop-shadow(0 0 60px rgba(255,255,255,0.35)) !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ef27034 *//* ============================================
   DESKTOP VERSION — FLOATING GALLERY
============================================ */
.floating-gallery-custom3 {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: visible;
}

.floating-gallery-custom3::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 650px;
  background: radial-gradient(
    ellipse at center,
    rgba(255,255,255,0.32) 0%,
    rgba(255,255,255,0.15) 30%,
    rgba(255,255,255,0.06) 55%,
    transparent 85%
  );
  filter: blur(90px);
  opacity: 0.9;
  pointer-events: none;
  animation: moonPulseCustom 8s ease-in-out infinite;
  z-index: 0;
}

@keyframes moonPulseCustom {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  50% { transform: translateX(-50%) scale(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.8; }
}

.floating-gallery-custom3 img {
  position: absolute;
  border-radius: 18px;
  cursor: pointer;
  width: clamp(110px, 17vw, 210px);
  animation: floatCustom 12s ease-in-out infinite alternate;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.35));
  transition: transform 0.75s cubic-bezier(.25,.8,.25,1), filter 0.5s ease;
}

/* Left column - 2 images stacked */
.floating-gallery-custom3 img:nth-child(1) { 
  top: 2%; 
  left: 15%; 
  animation-duration: 13s; 
}

.floating-gallery-custom3 img:nth-child(2) { 
  top: 22%; 
  left: 32%; 
  animation-duration: 11s; 
}

/* Center - 1 image */
.floating-gallery-custom3 img:nth-child(3) { 
  top: 5%; 
  left: 50%; 
  transform: translateX(-50%);
  animation-duration: 15s; 
}

/* Right column - 2 images stacked */
.floating-gallery-custom3 img:nth-child(4) { 
  bottom: 2%; 
  left: 12%; 
  animation-duration: 12s; 
}

.floating-gallery-custom3 img:nth-child(5) { 
  top: 5%; 
  right: 5%; 
  animation-duration: 14s; 
}

.floating-gallery-custom3 img:nth-child(6) { 
  bottom: 0%; 
  right: 15%; 
  animation-duration: 14s; 
}

@keyframes floatCustom {
  0%   { transform: translateY(0px) translateX(0px) rotate(0deg); }
  50%  { transform: translateY(-16px) translateX(10px) rotate(1deg); }
  100% { transform: translateY(14px) translateX(-10px) rotate(-1deg); }
}

.floating-gallery-custom3 img:hover {
  transform: scale(1.65) translateY(-18px) !important;
  z-index: 9999 !important;
  animation-play-state: paused !important;
  filter:
    brightness(1.2)
    drop-shadow(0 0 35px rgba(255,255,255,0.6))
    drop-shadow(0 0 60px rgba(255,255,255,0.35)) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4d8cf70 *//* ===========================
   CLEAN MAGICAL CTA SECTION
   =========================== */

.mystical-cta {
  display: flex;
  justify-content: center;
  padding: 90px 20px;
  position: relative;
}

/* === PORTAL BOX === */
.portal-box {
  position: relative;
  padding: 70px 60px;
  max-width: 700px;
  border-radius: 35px;
  background: rgba(30, 15, 50, 0.55); 
  backdrop-filter: blur(10px);
  border: 1px solid rgba(220, 180, 255, 0.18);
  overflow: visible;
  box-shadow: 0 0 55px rgba(140, 70, 255, 0.25);
}

/* === SUBTLE PORTAL AURA === */
.portal-box::before {
  content: "";
  position: absolute;
  top: -25%;
  left: 50%;
  transform: translateX(-50%);
  width: 160%;
  height: 160%;
  background: radial-gradient(
    circle,
    rgba(185, 140, 255, 0.35) 0%,
    rgba(110, 60, 160, 0.28) 35%,
    rgba(40, 20, 60, 0.55) 70%,
    rgba(0, 0, 0, 0.9) 100%
  );
  filter: blur(60px);
  opacity: 0.7;
  border-radius: 50%;
  z-index: -1;
}

/* ===========================
   TEXT STYLING
   =========================== */

.cta-heading {
  font-family: "Cinzel", serif;
  font-size: 44px;
  font-weight: 600;
  margin-bottom: 18px;
  color: #f5eaff; /* light magical white-lilac */
  text-shadow:
    0 0 8px rgba(255, 255, 255, 0.12),
    0 0 20px rgba(155, 115, 255, 0.25);
}

.cta-sub {
  font-size: 20px;
  color: #e6d9ff;
  line-height: 1.55;
  margin-bottom: 40px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/* ===========================
   BUTTON MAGIC
   =========================== */

.cta-btn .elementor-button {
  background: rgba(255,255,255,0.04);
  border: 2px solid rgba(230, 200, 255, 0.65);
  color: #ffffff;
  padding: 16px 38px;
  font-size: 18px;
  border-radius: 12px;
  backdrop-filter: blur(4px);
  transition: 0.25s ease;
  box-shadow: 0 0 14px rgba(180, 120, 255, 0.45);
}

.cta-btn .elementor-button:hover {
  background: rgba(255,255,255,0.15);
  border-color: #ffffff;
  transform: translateY(-3px);
  box-shadow: 0 0 28px rgba(220, 180, 255, 0.8);
}

/* ===========================
   RESPONSIVE
   =========================== */

@media (max-width: 700px) {
  .portal-box {
    padding: 50px 30px;
  }

  .cta-heading {
    font-size: 32px;
  }

  .cta-sub {
    font-size: 17px;
  }

  .cta-btn .elementor-button {
    padding: 14px 30px;
  }
}/* End custom CSS */