/* Responsive Loy Krathong landing page refinement. Draft only. */
body.home .elementor-location-single,
body.home .elementor {overflow-x:clip;}
body.home .elementor > .elementor-element:first-child,
body.home .elementor > .e-con:first-child {
  position:relative;
  isolation:isolate;
}
body.home .elementor > .elementor-element:first-child::after,
body.home .elementor > .e-con:first-child::after {
  content:"";pointer-events:none;position:absolute;z-index:0;
  left:0;right:0;bottom:-1px;height:clamp(100px,14vw,230px);
  background:linear-gradient(to bottom,rgba(255,249,247,0),rgba(255,250,249,.72) 52%,#fff 100%);
}
body.home .elementor > .elementor-element:first-child > *,
body.home .elementor > .e-con:first-child > * {position:relative;z-index:1;}
@media(max-width:767px){
 body.home .elementor > .elementor-element:first-child h1 span:last-child,
 body.home .elementor > .e-con:first-child h1 span:last-child {white-space:nowrap!important;display:inline-block;max-width:100%;font-size:clamp(27px,7.3vw,43px)!important;}

 body.home .elementor > .elementor-element:first-child,
 body.home .elementor > .e-con:first-child{
  padding-top:clamp(76px,17vw,104px)!important;
  padding-bottom:clamp(80px,18vw,125px)!important;
  min-height:0!important;height:auto!important;
  background-position:68% center!important;
  background-size:cover!important;
 }
 body.home .elementor > .elementor-element:first-child .elementor-widget-heading h1,
 body.home .elementor > .elementor-element:first-child h1,
 body.home .elementor > .e-con:first-child h1{
  font-size:clamp(30px,8vw,44px)!important;
  line-height:1.13!important;letter-spacing:-.035em!important;
  margin-top:0!important;
 }
 body.home .elementor > .elementor-element:first-child .elementor-widget-text-editor,
 body.home .elementor > .e-con:first-child .elementor-widget-text-editor{
  font-size:clamp(15px,4vw,18px)!important;line-height:1.6!important;
 }
 body.home .elementor > .elementor-element:first-child .elementor-button,
 body.home .elementor > .e-con:first-child .elementor-button{
  min-height:48px!important;padding:12px 20px!important;
 }
 body.home .elementor > .elementor-element:first-child::after,
 body.home .elementor > .e-con:first-child::after{
  height:140px;
  background:linear-gradient(to bottom,transparent,rgba(255,248,246,.8) 58%,#fff);
 }
}

/* Explicitly target the real festival hero, not an arbitrary Elementor block. */
body.home .zabaan-festival-hero{position:relative!important;isolation:isolate;overflow:visible!important;}
body.home .zabaan-festival-hero::after{
 content:"";position:absolute;pointer-events:none;z-index:2;
 bottom:-2px;left:0;right:0;height:clamp(135px,20vw,260px);
 background:radial-gradient(ellipse 75% 48% at 8% 102%,#fff 5%,transparent 99%),
 radial-gradient(ellipse 67% 55% at 43% 108%,#fff 7%,transparent 100%),
 radial-gradient(ellipse 75% 48% at 90% 102%,#fff 5%,transparent 99%),
 linear-gradient(to bottom,transparent 2%,rgba(255,251,250,.25) 35%,rgba(255,255,255,.78) 80%,#fff 100%);
}
body.home .zabaan-courses-start{position:relative;z-index:3;background-color:#fff;}
@media(max-width:767px){
 body.home .zabaan-festival-hero{
  padding-top:0!important;padding-bottom:65px!important;
  min-height:0!important;height:auto!important;
 }
 body.home .zabaan-festival-hero .elementor-container,
 body.home .zabaan-festival-hero .e-con-inner{
  min-height:0!important;height:auto!important;
  padding-top:0!important;padding-bottom:0!important;
 }
 body.home .zabaan-festival-hero .elementor-column,
 body.home .zabaan-festival-hero .elementor-widget-wrap,
 body.home .zabaan-festival-hero .e-con{min-height:0!important;}
 body.home .zabaan-festival-hero .elementor-widget-wrap{align-content:flex-start!important;justify-content:flex-start!important;}
 body.home .zabaan-festival-hero .elementor-element:has(> .elementor-widget-container > h1.title){margin-top:0!important;}
 body.home .zabaan-festival-heading,
 body.home .zabaan-festival-heading .elementor-widget-container{
  margin-top:0!important;padding-top:0!important;
 }
 body.home .zabaan-festival-heading h1.title{
  font-size:clamp(32px,8vw,44px)!important;line-height:1.13!important;
 }
 body.home .zabaan-festival-heading h1 .highlighted-text-holder,
 body.home .zabaan-festival-heading h1 .highlighted-text{
  white-space:nowrap!important;font-size:clamp(29px,7.6vw,43px)!important;
 }
 body.home .zabaan-festival-hero::after{height:190px;bottom:-2px;}
 body.home .zabaan-courses-start{margin-top:-2px!important;padding-top:12px!important;}
}


/* November mobile layout correction: target the actual Elementor section. */
@media(max-width:767px){
 body.home .zabaan-festival-hero-real{
  min-height:0!important;height:auto!important;
  padding-top:0!important;padding-bottom:0!important;
  display:block!important;
 }
 body.home .zabaan-festival-hero-real > .elementor-container,
 body.home .zabaan-festival-hero-real > .e-con-inner{
  min-height:0!important;height:auto!important;
  align-items:flex-start!important;justify-content:flex-start!important;
  padding-top:0!important;
 }
 body.home .zabaan-festival-hero-real .elementor-column,
 body.home .zabaan-festival-hero-real .elementor-widget-wrap{
  min-height:0!important;align-content:flex-start!important;justify-content:flex-start!important;
 }
 body.home .zabaan-festival-heading-real{
  margin-top:0!important;padding-top:0!important;
  transform:none!important;
 }
 body.home .zabaan-festival-heading-real h1{margin-top:0!important;}
 body.home .zabaan-festival-hero-real::after{content:none!important;}
 body.home .zabaan-courses-real{position:relative!important;isolation:isolate;overflow:visible!important;}
 body.home .zabaan-courses-real::before{
  content:""!important;display:block!important;position:absolute!important;
  left:0;right:0;top:-125px;height:160px;z-index:1;pointer-events:none;
  background:
   radial-gradient(ellipse 44% 42% at 8% 100%,#fff 15%,transparent 100%),
   radial-gradient(ellipse 50% 47% at 42% 104%,#fff 14%,transparent 100%),
   radial-gradient(ellipse 52% 44% at 87% 101%,#fff 15%,transparent 100%),
   linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.4) 45%,#fff 100%);
 }
 body.home .zabaan-courses-real > *{position:relative;z-index:2;}
}


/* Direct mobile fixes: move the heading AND following content upward in flow. */
@media(max-width:767px){
 body.home .zabaan-festival-heading-real{
   margin-top:-145px!important;position:relative!important;z-index:2!important;
 }
 body.home .zabaan-festival-hero-real{padding-bottom:0!important;}
 body.home .zabaan-courses-real::before{
   top:-145px!important;height:180px!important;
   background:
    radial-gradient(ellipse 75% 55% at 5% 108%,#fff 8%,rgba(255,255,255,.84) 45%,transparent 100%),
    radial-gradient(ellipse 80% 60% at 52% 111%,#fff 8%,rgba(255,255,255,.84) 45%,transparent 100%),
    radial-gradient(ellipse 75% 55% at 98% 108%,#fff 8%,rgba(255,255,255,.84) 45%,transparent 100%),
    linear-gradient(to bottom,transparent,rgba(255,255,255,.1) 30%,#fff 100%)!important;
 }
}

@media (prefers-reduced-motion:reduce){
 body.home .elementor .animated{animation:none!important;transition:none!important;}
}
