/**
 * Landing page mobile overrides (Option A).
 * Loaded after Elementor/Astra styles — keep selectors scoped to page 104.
 */

/* Prevent horizontal scroll from 100vw sections */
html,
body {
  overflow-x: clip;
  max-width: 100%;
}

@media (max-width: 1024px) {
  /* --- Hero: full-bleed background + room for CTA --- */
  .elementor-104 .elementor-element-ca4f6b6 {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100svh !important;
    height: auto !important;
    overflow: visible !important;
    padding-top: calc(5.5rem + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(3rem + env(safe-area-inset-bottom, 0px)) !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --min-height: 100svh !important;
    background-color: #4a3428 !important;
    background-image: url('./sadhguru-banners-1920x1080p.avif') !important;
    background-size: cover !important;
    background-position: 68% 22% !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
  }

  /* Elementor paints bg on this layer — it often stays content-height (~half hero) */
  .elementor-104 .elementor-element-ca4f6b6 > .elementor-motion-effects-container {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    pointer-events: none !important;
  }

  .elementor-104 .elementor-element-ca4f6b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-image: url('./sadhguru-banners-1920x1080p.avif') !important;
    background-size: cover !important;
    background-position: 68% 22% !important;
    background-repeat: no-repeat !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
  }

  .elementor-104 .elementor-element-ca4f6b6 [id^='jarallax-container-'],
  .elementor-104 .elementor-element-ca4f6b6 .jarallax-container {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
  }

  .elementor-104 .elementor-element-ca4f6b6 .e-con-inner {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: calc(100svh - 5.5rem - 3rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    height: auto !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    flex: 1 1 auto !important;
  }

  .elementor-104 .elementor-element-ba670f3 {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    overflow: visible !important;
    align-items: center !important;
    gap: 1.25rem !important;
    padding-bottom: 0.5rem !important;
  }

  .elementor-104 .elementor-element-f24a7b0 {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0.5rem !important;
  }

  .elementor-104 .elementor-element-f24a7b0 .elementskit-btn {
    padding: 0.875rem 1.25rem !important;
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    height: auto !important;
    min-height: 2.75rem !important;
    border-radius: 2rem !important;
  }

  .elementor-104 .elementor-element-f24a7b0 .elementskit-btn svg {
    width: 1rem !important;
    height: 1rem !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 767px) {
  .elementor-104 .elementor-element-1f11cc9 .elementor-heading-title {
    font-size: clamp(1.35rem, 5.5vw, 1.75rem) !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  .elementor-104 .elementor-element-7462b7a {
    width: 100% !important;
    max-width: 12rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .elementor-104 .elementor-element-f24a7b0 .ekit-btn-wraper,
  .elementor-104 .elementor-element-1667341 .ekit-btn-wraper {
    text-align: center !important;
  }

  .elementor-104 .elementskit-btn {
    display: inline-flex !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* --- Wix migration leftover copy (broken font-size vars) --- */
  .elementor-104 .wixui-rich-text__text,
  .elementor-104 .font_8.wixui-rich-text__text {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }

  /* --- Section headings & body padding --- */
  .elementor-104 .e-con-boxed > .e-con-inner {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .elementor-104 .elementor-heading-title {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* --- Inspiration: stack portrait + text --- */
  .elementor-104 .elementor-element-a4c2d03 {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .elementor-104 .elementor-element-25c2b5a,
  .elementor-104 .elementor-element-5e08e90 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-104 .elementor-element-25c2b5a img {
    width: 100% !important;
    height: auto !important;
    max-width: 20rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  /* --- Portal intro: stack heading, text, flip cards (not side-by-side) --- */
  .elementor-104 .elementor-element-dd726d6,
  .elementor-104 .elementor-element-dd726d6 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    gap: 1.25rem !important;
  }

  .elementor-104 .elementor-element-d775e72,
  .elementor-104 .elementor-element-c075df2,
  .elementor-104 .elementor-element-0ec465f {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  .elementor-104 .elementor-element-d775e72 .elementor-heading-title {
    font-size: clamp(1.05rem, 4.5vw, 1.4rem) !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: none !important;
    text-align: center !important;
  }

  .elementor-104 .elementor-element-c075df2 {
    width: 100% !important;
    max-width: 100% !important;
    --container-widget-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    text-align: left !important;
  }

  .elementor-104 .elementor-element-03c7678 > .e-con-inner {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* --- Flip boxes: stack CCA / CIH / DAL --- */
  .elementor-104 .elementor-element-0ec465f {
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .elementor-104 .elementor-element-5a8cd8e,
  .elementor-104 .elementor-element-b6136a1,
  .elementor-104 .elementor-element-e730895 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Flip faces: drop fixed 300px + 3D clip; stack front then back */
  .elementor-104 .ekit-wid-con .ekit-flip-box {
    height: auto !important;
    min-height: 0 !important;
    perspective: none !important;
    margin-bottom: 1rem !important;
  }

  .elementor-104 .ekit-wid-con .ekit-flip-box-inner {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    transform-style: flat !important;
  }

  .elementor-104 .ekit-wid-con .ekit-flip-box-front,
  .elementor-104 .ekit-wid-con .ekit-flip-box-back {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
    display: block !important;
  }

  .elementor-104 .ekit-flip-box.flip_style.bottom_to_top .ekit-flip-box-back,
  .elementor-104 .ekit-flip-box.flip_style.bottom_to_top:hover .ekit-flip-box-inner,
  .elementor-104 .ekit-flip-box.flip_style.bottom_to_top.box_hover:hover .ekit-flip-box-inner {
    transform: none !important;
    -webkit-transform: none !important;
  }

  .elementor-104 .ekit-flip-box-top-image img {
    width: auto !important;
    max-width: 10rem !important;
    height: auto !important;
  }

  .elementor-104 .ekit-flip-box-front-title,
  .elementor-104 .ekit-flip-box-back-title {
    font-size: 1.125rem !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  .elementor-104 .ekit-flip-box-back-description {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }

  /* --- Testimonials: stack quote + photo --- */
  .elementor-104 .elementor-element-ab69f7f .ekit-wid-con .col-lg-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .elementor-104 .elementor-element-ab69f7f .elementskit-commentor-content {
    min-height: 0 !important;
  }

  .elementor-104 .elementor-element-ab69f7f .elementskit-profile-image-card img {
    width: 100% !important;
    height: auto !important;
    max-width: 18rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  .elementor-104 .elementor-element-ab69f7f .ekit-main-swiper,
  .elementor-104 .elementor-element-ab69f7f .swiper-slide {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* --- Footer: stack columns --- */
  .elementor-104 .elementor-element-26ca43cd,
  .elementor-104 .elementor-element-238bfb7c {
    width: 100% !important;
  }

  .elementor-104 .elementor-element-18b12d3 .elementor-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    justify-content: flex-start !important;
  }

  .elementor-104 .elementor-element-18b12d3 .elementor-grid-item {
    flex: 1 1 calc(50% - 0.5rem) !important;
    min-width: 8.5rem !important;
  }

  /* --- Mobile header: logo only --- */
  #ast-mobile-header .site-title {
    display: none !important;
  }

  #ast-mobile-header .ast-primary-header-bar {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

@media (max-width: 480px) {
  .elementor-104 .elementor-element-1f11cc9 .elementor-heading-title {
    font-size: 1.25rem !important;
  }

  .elementor-104 .elementor-element-18b12d3 .elementor-grid-item {
    flex: 1 1 100% !important;
  }
}
