/*
 * CEIBAG Responsive Guard 1.1 – mobile hotfix.
 * Loaded after the v1 base/targeted layers. Mobile/tablet only unless stated.
 */

/* Preserve the login-state header logic supplied by CEIBAG. */
body:not(.logged-in) .ceibag-client-header { display: none !important; }
body.logged-in .ceibag-public-header { display: none !important; }

/* Existing carousel effect, kept intentionally. */
.metaslider .slides li { overflow: hidden; }
.metaslider .slides li img { transition: transform .4s ease; }
.metaslider .slides li:hover img { transform: scale(1.08); }

@media (max-width: 1024px) {
  body.ceibag-responsive-hotfix-active {
    overflow-x: hidden !important;
  }

  body.ceibag-responsive-hotfix-active .site-content,
  body.ceibag-responsive-hotfix-active .site-main,
  body.ceibag-responsive-hotfix-active main,
  body.ceibag-responsive-hotfix-active article,
  body.ceibag-responsive-hotfix-active .elementor,
  body.ceibag-responsive-hotfix-active .elementor-page,
  body.ceibag-responsive-hotfix-active .elementor-section-wrap {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.ceibag-responsive-hotfix-active .elementor-widget-heading,
  body.ceibag-responsive-hotfix-active .elementor-widget-text-editor,
  body.ceibag-responsive-hotfix-active .elementor-widget-image,
  body.ceibag-responsive-hotfix-active .elementor-widget-icon-box,
  body.ceibag-responsive-hotfix-active .elementor-widget-image-box {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  :root { --ceibag-mobile-header-h: 82px; }

  /* ---------- ANSAR HEADER: compact, in normal flow, no giant logo ---------- */
  .ceibag-public-header,
  .ceibag-client-header,
  .elementor-element-69d14992,
  .elementor-element-1afd4d66 {
    position: sticky !important;
    inset: auto !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: var(--ceibag-mobile-header-h) !important;
    height: auto !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    overflow: visible !important;
    transform: none !important;
    z-index: 99990 !important;
  }

  /* Public mobile header: the exported desktop logo/Lottie are too large. */
  .ceibag-public-header .elementor-element-cb94360,
  .ceibag-public-header .elementor-element-2a23835e,
  .elementor-element-69d14992 .elementor-element-cb94360,
  .elementor-element-69d14992 .elementor-element-2a23835e {
    display: none !important;
  }

  .ceibag-public-header .elementor-element-42d52442,
  .elementor-element-69d14992 .elementor-element-42d52442 {
    order: 1 !important;
    width: auto !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ceibag-public-header .elementor-element-180c78fd,
  .elementor-element-69d14992 .elementor-element-180c78fd {
    order: 2 !important;
    width: auto !important;
    max-width: calc(100% - 62px) !important;
    flex: 0 1 auto !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
  }

  .ceibag-public-header .elementor-element-180c78fd :is(a,button),
  .elementor-element-69d14992 .elementor-element-180c78fd :is(a,button) {
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  /* Client header: hamburger left, account shortcode right. */
  .ceibag-client-header .elementor-element-26b8fe9a,
  .elementor-element-1afd4d66 .elementor-element-26b8fe9a {
    display: none !important;
  }

  .ceibag-client-header .elementor-element-725ca172,
  .elementor-element-1afd4d66 .elementor-element-725ca172 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-element-7d7c01d5,
  .elementor-element-7a6f2ae6,
  .elementor-element-1a3c87db {
    width: auto !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hamburger itself. */
  .elementor-widget-ansarel-nav-menu :is(button,.menu-toggle,.navbar-toggler,.elementor-menu-toggle,[class*="toggle"]) {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 13px !important;
    border: 1px solid rgba(147, 198, 142, .55) !important;
    background: #f8fbf7 !important;
    color: #245536 !important;
    box-shadow: 0 7px 18px rgba(0,0,0,.22) !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  /* Runtime JS adds this class to the real Ansar menu list. */
  .ceibag-rg-nav-panel {
    position: fixed !important;
    top: calc(var(--ceibag-mobile-header-h) + 8px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: calc(100dvh - var(--ceibag-mobile-header-h) - 24px) !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: rgba(18, 36, 23, .985) !important;
    border: 1px solid rgba(156, 205, 149, .45) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 55px rgba(0,0,0,.42) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    z-index: 100000 !important;
  }

  .ceibag-rg-nav-panel,
  .ceibag-rg-nav-panel ul,
  .ceibag-rg-nav-panel li {
    list-style: none !important;
  }

  .ceibag-rg-nav-panel li {
    width: 100% !important;
    max-width: 100% !important;
    margin: 3px 0 !important;
    padding: 0 !important;
  }

  .ceibag-rg-nav-panel a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 14px !important;
    border-radius: 11px !important;
    color: #edf7ea !important;
    background: transparent !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .ceibag-rg-nav-panel a:hover,
  .ceibag-rg-nav-panel a:focus,
  .ceibag-rg-nav-panel .current-menu-item > a,
  .ceibag-rg-nav-panel .current_page_item > a {
    color: #fff !important;
    background: rgba(116, 181, 105, .25) !important;
  }

  /* ---------- TEXT: real heading node, not only the widget wrapper ---------- */
  body.ceibag-responsive-hotfix-active .elementor-widget-heading .elementor-heading-title {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
  }

  /* Major exported headings that had 73–145px with no mobile override. */
  :is(
    .page-id-640 .elementor-element-5fbcf83f,
    .page-id-640 .elementor-element-6f1a90b9,
    .page-id-640 .elementor-element-15eace92,
    .page-id-2982 .elementor-element-5e9bbd26,
    .page-id-2982 .elementor-element-63a1fdfe,
    .page-id-2571 .elementor-element-8f212a9,
    .page-id-2571 .elementor-element-7b549573,
    .page-id-2571 .elementor-element-267b9fec,
    .page-id-2571 .elementor-element-2078b706,
    .page-id-2571 .elementor-element-33cddb38,
    .page-id-2571 .elementor-element-456ec499,
    .page-id-2571 .elementor-element-155337a6,
    .page-id-2571 .elementor-element-1c182f8d,
    .page-id-2571 .elementor-element-230a9f26,
    .page-id-2771 .elementor-element-3501754b,
    .page-id-18 .elementor-element-146c56b0,
    .page-id-18 .elementor-element-47299eca,
    .page-id-20 .elementor-element-32746532,
    .page-id-20 .elementor-element-149e8259,
    .page-id-14 .elementor-element-38a5b861,
    .page-id-14 .elementor-element-5c8ea1a4,
    .page-id-14 .elementor-element-6dc2b45b,
    .page-id-14 .elementor-element-5231f149,
    .page-id-16 .elementor-element-15055139,
    .page-id-16 .elementor-element-56bec323,
    .page-id-16 .elementor-element-461209f4,
    .page-id-2837 .elementor-element-550bfc57,
    .page-id-2837 .elementor-element-12d87d43
  ) .elementor-heading-title {
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: 1.02 !important;
    letter-spacing: normal !important;
  }

  /* Secondary hero text. */
  :is(
    .page-id-640 .elementor-element-7217877a,
    .page-id-2982 .elementor-element-4f5dfa8f,
    .page-id-2982 .elementor-element-7bd00a1e,
    .page-id-2982 .elementor-element-1a8dc315,
    .page-id-18 .elementor-element-4931c185,
    .page-id-20 .elementor-element-511e8f09,
    .page-id-20 .elementor-element-291d575b,
    .page-id-16 .elementor-element-6ad603ee,
    .page-id-16 .elementor-element-64eaeb95
  ) .elementor-heading-title {
    font-size: clamp(1.6rem, 7vw, 2.25rem) !important;
    line-height: 1.12 !important;
  }

  /* ---------- HOME ---------- */
  .page-id-640 .elementor-element-1c6df9f8 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    padding: 44px 18px 52px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .page-id-640 :is(.elementor-element-630f136,.elementor-element-39630a32,.elementor-element-2dbbf0e2,.elementor-element-7e279e5) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
  }

  .page-id-640 .elementor-element-630f136 {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }

  .page-id-640 .elementor-element-17c52703,
  .page-id-640 .elementor-element-6848caf {
    width: min(190px, 55vw) !important;
    max-width: 190px !important;
    margin-inline: auto !important;
  }

  /* Home absolute review/comment decorations must return to document flow. */
  .page-id-640 :is(.elementor-element-792aa52f,.elementor-element-6b811517,.elementor-element-3b3ac502,.elementor-element-1cc6c22c,.elementor-element-25acb71e) {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 12px auto !important;
    max-width: 100% !important;
  }

  /* ---------- ECOSYSTEM ---------- */
  .page-id-2982 :is(.elementor-element-101b6a48,.elementor-element-2445d29a,.elementor-element-68e5efc1,.elementor-element-19c3538a,.elementor-element-291cbec5) {
    min-height: auto !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding-inline: 16px !important;
  }

  .page-id-2982 :is(.elementor-element-44a86f04,.elementor-element-79bc4330,.elementor-element-6ddf8cf9,.elementor-element-48b1547b,.elementor-element-69e9a31,.elementor-element-742ef479,.elementor-element-71bd34aa,.elementor-element-28c8df62) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    margin: 0 !important;
  }

  .page-id-2982 :is(.elementor-element-6ddf8cf9,.elementor-element-48b1547b,.elementor-element-69e9a31) {
    padding: 18px !important;
    overflow: hidden !important;
  }

  .page-id-2982 :is(.elementor-element-6d800681,.elementor-element-62bb80e3,.elementor-element-345748a0) img {
    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;
    object-fit: cover !important;
    margin-inline: auto !important;
  }

  .page-id-2982 :is(.elementor-element-4973f569,.elementor-element-77ae530,.elementor-element-1d78fae0) .elementor-heading-title {
    font-size: clamp(2rem, 9vw, 2.75rem) !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }

  .page-id-2982 :is(.elementor-element-4aacc39e,.elementor-element-553568d6,.elementor-element-54419b2e,.elementor-element-198bbf75,.elementor-element-49fb36fe,.elementor-element-7aa48112,.elementor-element-787829d,.elementor-element-584eaea6,.elementor-element-6c95d6ae) .elementor-heading-title {
    font-size: clamp(1rem, 4.8vw, 1.35rem) !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
  }

  .page-id-2982 :is(.elementor-element-273c69a4,.elementor-element-4fe95bc9,.elementor-element-45af3ca5) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    gap: 8px !important;
  }

  .page-id-2982 :is(.elementor-element-3c0bb518,.elementor-element-605c61f7,.elementor-element-5bf29767) {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
  }

  /* ---------- SERVICES PLANS ---------- */
  .page-id-2571 :is(.elementor-element-3851af01,.elementor-element-5ad4e46a,.elementor-element-6075b289,.elementor-element-649e0208,.elementor-element-caf90d7,.elementor-element-7abd3f32,.elementor-element-1fdb83d1,.elementor-element-633b9831) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
  }

  .page-id-2571 .elementor-element-3851af01 {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    padding: 38px 16px !important;
  }

  .page-id-2571 .elementor-element-5fba79c3 {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px !important;
  }

  .page-id-2571 .elementor-element-5fba79c3 > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    margin: 0 !important;
  }

  .page-id-2571 .elementor-element-63dbb4bf {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 18px !important;
  }

  .page-id-2571 :is(.elementor-element-561e08d5,.elementor-element-2c484893,.elementor-element-3cf1f729) .elementor-heading-title {
    font-size: clamp(1.3rem, 6vw, 2rem) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
  }

  /* Service detail rows: text and artwork stack instead of squeezing to 50%. */
  .page-id-2571 :is(.elementor-element-2b541b43,.elementor-element-55a4f5cc,.elementor-element-1cb44dc9,.elementor-element-de74887,.elementor-element-44b3446f,.elementor-element-49941ee5,.elementor-element-3b68b9ba,.elementor-element-6bee0236) {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 20px !important;
  }

  /* ---------- SERVICE BRANCHES ---------- */
  .page-id-18 :is(.elementor-element-4e502aa8,.elementor-element-8ef3114,.elementor-element-59e2aefd,.elementor-element-ebff8e,.elementor-element-69d09e11,.elementor-element-5ef40ce2,.elementor-element-31f8a8d5,.elementor-element-6bd13009) {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 20px !important;
  }

  .page-id-18 :is(.elementor-element-485ad3d4,.elementor-element-217ddb5f,.elementor-element-155065eb,.elementor-element-73cf78ee,.elementor-element-732d3270,.elementor-element-7d2d731d,.elementor-element-1b10148,.elementor-element-7fd08ade,.elementor-element-618ce1c,.elementor-element-6e43e373,.elementor-element-557ebec3,.elementor-element-7e4fbe29,.elementor-element-57e836d9,.elementor-element-550a08a1) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    margin-inline: 0 !important;
  }

  /* Generic contact-card protection for the current Services content. */
  .page-id-18 .elementor-widget-image img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }

  .page-id-18 :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-button) {
    width: 100% !important;
    max-width: 100% !important;
  }

  .page-id-18 .elementor-widget-heading .elementor-heading-title,
  .page-id-18 .elementor-widget-text-editor,
  .page-id-18 .elementor-widget-button .elementor-button-text {
    overflow-wrap: anywhere !important;
  }

  /* ---------- TAPROOT ---------- */
  .page-id-2771 :is(.elementor-element-63bb271,.elementor-element-60e1ba19,.elementor-element-6bcc3e1c) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  .page-id-2771 :is(.elementor-element-5f004b71,.elementor-element-60e1ba19) {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 18px !important;
  }

  .page-id-2771 .elementor-element-50e5f4b3 {
    max-width: 260px !important;
    margin-inline: auto !important;
  }

  /* ---------- LET'S GROW ---------- */
  .page-id-20 :is(.elementor-element-1ce9a3bc,.elementor-element-56859974,.elementor-element-3fe17447) {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    gap: 24px !important;
    padding: 42px 16px !important;
  }

  .page-id-20 :is(.elementor-element-c036c66,.elementor-element-2180cd26,.elementor-element-14c4cbbb,.elementor-element-553f475d,.elementor-element-2c905858,.elementor-element-2502c5a7) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
  }

  .page-id-20 .elementor-element-4bfaf9fd { display: none !important; }

  /* ---------- LOGIN / REGISTER / PASSWORD ---------- */
  .page-id-2531 .elementor-element-5b2bed0e,
  .page-id-2547 .elementor-element-37c71310,
  .page-id-2560 .elementor-element-13f26212 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    padding: 30px 16px 44px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    overflow: hidden !important;
  }

  .page-id-2531 :is(.elementor-element-5a72bf91,.elementor-element-6f6c44c6),
  .page-id-2547 :is(.elementor-widget-shortcode,.elementor-widget-lottie),
  .page-id-2560 :is(.elementor-widget-shortcode,.elementor-widget-lottie) {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
  }

  .page-id-2531 .elementor-element-5a72bf91,
  .page-id-2547 .elementor-widget-lottie,
  .page-id-2560 .elementor-widget-lottie {
    max-width: 180px !important;
    max-height: 180px !important;
    margin-inline: auto !important;
  }

  .page-id-2531 :is(.um,.um-form,.um-field,.um-col-alt),
  .page-id-2547 :is(.um,.um-form,.um-field,.um-col-alt),
  .page-id-2560 :is(.um,.um-form,.um-field,.um-col-alt) {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ---------- OTHER PAGE HEROES ---------- */
  .page-id-14 :is(.elementor-element-67e6078f,.elementor-element-2c021da,.elementor-element-2cd1ca3f,.elementor-element-38f80c16,.elementor-element-13bfa9be),
  .page-id-16 .elementor-element-4d85a918,
  .page-id-2837 :is(.elementor-element-60f874af,.elementor-element-3a199c82,.elementor-element-196ef3fb) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
  }

  .page-id-14 :is(.elementor-element-67e6078f,.elementor-element-3fc4ff0d,.elementor-element-541ab29,.elementor-element-7ad9d2b9),
  .page-id-16 :is(.elementor-element-4d85a918,.elementor-element-2a1b6578,.elementor-element-e91d30f,.elementor-element-11e5302e,.elementor-element-44a273ba,.elementor-element-4e06acc5),
  .page-id-2837 :is(.elementor-element-60f874af,.elementor-element-3a199c82,.elementor-element-196ef3fb) {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }

  /* ---------- RUNTIME SAFETY CLASSES ---------- */
  .ceibag-rg-runtime-overflow {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ceibag-rg-runtime-absolute-text {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 !important;
  }

  .ceibag-rg-oversize-icon :is(.elementor-icon,svg,i),
  :is(.elementor-icon,svg,i).ceibag-rg-oversize-icon {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    font-size: 54px !important;
  }

  .ceibag-rg-autofit-heading {
    line-height: 1.05 !important;
    letter-spacing: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}

@media (max-width: 420px) {
  :is(
    .page-id-640 .elementor-element-5fbcf83f,
    .page-id-2982 .elementor-element-5e9bbd26,
    .page-id-2571 .elementor-element-8f212a9,
    .page-id-18 .elementor-element-146c56b0,
    .page-id-18 .elementor-element-47299eca,
    .page-id-20 .elementor-element-32746532,
    .page-id-2771 .elementor-element-3501754b
  ) .elementor-heading-title {
    font-size: clamp(1.9rem, 9.5vw, 2.55rem) !important;
  }

  .ceibag-rg-nav-panel {
    left: 8px !important;
    right: 8px !important;
  }
}
