.elementor-97 .elementor-element.elementor-element-dfd0aa4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-97 .elementor-element.elementor-element-be4faf5 .ws-459b5197-slider{height:100vh;}.elementor-97 .elementor-element.elementor-element-be4faf5 .ws-459b5197-dot{background-color:#57B2C9;}.elementor-97 .elementor-element.elementor-element-b775956{--wc-primary:#0878F9;--wc-text:#52647A;}.elementor-97 .elementor-element.elementor-element-9b45419{padding:0px 0px 0px 0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-97 .elementor-element.elementor-element-be4faf5 .ws-459b5197-slider{height:50vh;}}@media(max-width:767px){.elementor-97 .elementor-element.elementor-element-be4faf5 .ws-459b5197-slider{height:100vh;}}/* Start custom CSS *//* ==========================================
   WELLCAIRE SERVICE CATEGORIES
   Desktop: 4 columns | Tablet: 2 | Mobile: 2/1
========================================== */

.wc-categories-dc12377b {
    --wc-blue: #0878F9;
    --wc-navy: #102B50;
    --wc-text: #52647A;

    width: 100%;
    max-width: 100%;
    padding: 50px 24px;
    box-sizing: border-box;
    overflow: hidden;
}

/* SECTION HEADER */
.wc-categories-dc12377b .wc-header {
    max-width: 1050px;
    margin: 0 auto 40px;
    text-align: center;
}

.wc-categories-dc12377b .wc-card-icon {
    position: absolute;
    bottom: 7px !important;
    right: 24px;
    width: 48px;
    height: 48px;
    background: var(--wc-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wc-primary);
    font-size: 20px;
    box-shadow: 0 4px 10px rgba(8, 120, 249, 0.15);
    z-index: unset;
}

.wc-categories-dc12377b .wc-eyebrow {
    color: var(--wc-blue);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1.6;
    margin-bottom: 14px;
}

.wc-categories-dc12377b .wc-title {
    color: var(--wc-navy);
    font-size: clamp(28px, 3vw, 46px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -1px;
    margin: 0 0 16px;
}

.wc-categories-dc12377b .wc-highlight {
    color: var(--wc-blue);
}

.wc-categories-dc12377b .wc-desc {
    max-width: 850px;
    margin: 0 auto;
    color: var(--wc-text);
    font-size: 17px;
    line-height: 1.7;
}

/* DESKTOP GRID */
.wc-categories-dc12377b .wc-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

/* CARD */
.wc-categories-dc12377b .wc-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 1px solid #E5EFF9;
    border-radius: 20px;
    overflow: hidden;
    background: #FFFFFF;
    box-shadow: 0 8px 28px rgba(29, 105, 180, 0.08);
    transition:
        transform 0.4s cubic-bezier(.22, 1, .36, 1),
        box-shadow 0.4s ease,
        border-color 0.3s ease;
}

.wc-categories-dc12377b .wc-card:hover {
    transform: translateY(-6px);
    border-color: #C8E2FF;
    box-shadow: 0 18px 38px rgba(8, 120, 249, 0.14);
}

/* FULL CARD LINK */
.wc-categories-dc12377b .wc-card-link {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
    min-width: 0;
    height: 100%;
    color: inherit;
    text-decoration: none !important;
}

/* ==========================================
   IMAGE FIX
   Full width | No side gaps | Consistent height
========================================== */

.wc-categories-dc12377b .wc-card-img-wrap {
    position: relative;
    display: block;
    width: 100% !important;
    height: 190px !important;
    min-height: 190px;
    max-height: 190px;
    aspect-ratio: auto !important;
    flex-shrink: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    background: #EAF4FC;
    border-radius: 0 !important;
    line-height: 0;
}

.wc-categories-dc12377b .wc-card-img-wrap > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-width: 100%;
    min-height: 100%;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 40% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: scale(1.001);
    transition: transform 0.7s cubic-bezier(.22, 1, .36, 1);
}

.wc-categories-dc12377b .wc-card:hover
.wc-card-img-wrap > img {
    transform: scale(1.045);
}

/* ICON */
.wc-categories-dc12377b .wc-card-icon {
    position: absolute;
    z-index: 3;
    left: 18px;
    bottom: -18px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 50%;
    background: #E8F3FF;
    border: 4px solid #FFFFFF;
    color: var(--wc-blue);
    box-shadow: 0 4px 14px rgba(8, 120, 249, 0.10);
    transition:
        background 0.35s ease,
        color 0.35s ease,
        transform 0.35s ease;
}

.wc-categories-dc12377b .wc-card-icon svg {
    width: 25px;
    height: 25px;
    max-width: 100%;
    fill: currentColor;
}

.wc-categories-dc12377b .wc-card:hover .wc-card-icon {
    background: var(--wc-blue);
    color: #FFFFFF;
    transform: translateY(-3px);
}

/* CARD CONTENT */
.wc-categories-dc12377b .wc-card-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    padding: 35px 19px 22px;
    background: #FFFFFF;
    box-sizing: border-box;
}

.wc-categories-dc12377b .wc-card-title {
    margin: 0 0 10px;
    color: var(--wc-navy);
    font-size: clamp(17px, 1.15vw, 20px);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.25px;
    overflow-wrap: anywhere;
    transition: color 0.3s ease;
}

.wc-categories-dc12377b .wc-card:hover .wc-card-title {
    color: var(--wc-blue);
}

.wc-categories-dc12377b .wc-card-desc {
    margin: 0 0 18px;
    color: var(--wc-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

/* CTA */
.wc-categories-dc12377b .wc-card-cta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 4px;
    color: var(--wc-blue);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

.wc-categories-dc12377b .wc-card-cta svg {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    padding: 8px;
    box-sizing: border-box;
    border-radius: 50%;
    background: var(--wc-blue);
    color: #FFFFFF;
    transition: transform 0.35s ease;
}

.wc-categories-dc12377b .wc-card:hover .wc-card-cta svg {
    transform: translateX(5px);
}

.wc-categories-dc12377b .wc-card-link:focus-visible {
    outline: 3px solid var(--wc-blue);
    outline-offset: -4px;
}

/* ==========================================
   TABLET
========================================== */

@media (max-width: 1024px) {
    .wc-categories-dc12377b {
        padding: 40px 20px;
    }

    .wc-categories-dc12377b .wc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }

    .wc-categories-dc12377b .wc-header {
        margin-bottom: 30px;
    }

    .wc-categories-dc12377b .wc-card-img-wrap {
        height: 210px !important;
        min-height: 210px;
        max-height: 210px;
    }

    .wc-categories-dc12377b .wc-card-title {
        font-size: 19px;
    }
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 600px) {
    .wc-categories-dc12377b {
        padding: 30px 12px;
    }

    .wc-categories-dc12377b .wc-header {
        margin-bottom: 23px;
    }

    .wc-categories-dc12377b .wc-eyebrow {
        font-size: 10px;
        letter-spacing: 1.1px;
        margin-bottom: 9px;
    }

    .wc-categories-dc12377b .wc-title {
        font-size: clamp(25px, 6vw, 32px);
        line-height: 1.25;
        letter-spacing: -0.5px;
        margin-bottom: 11px;
    }

    .wc-categories-dc12377b .wc-desc {
        font-size: 13px;
        line-height: 1.65;
    }

    .wc-categories-dc12377b .wc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .wc-categories-dc12377b .wc-card {
        border-radius: 15px;
    }

    .wc-categories-dc12377b .wc-card-img-wrap {
        height: 125px !important;
        min-height: 125px;
        max-height: 125px;
    }

    .wc-categories-dc12377b .wc-card-img-wrap > img {
        object-position: center center !important;
    }

    .wc-categories-dc12377b .wc-card-icon {
        left: 9px;
        bottom: -13px;
        width: 43px;
        height: 43px;
        border-width: 3px;
    }

    .wc-categories-dc12377b .wc-card-icon svg {
        width: 19px;
        height: 19px;
    }

    .wc-categories-dc12377b .wc-card-content {
        padding: 28px 11px 15px;
    }

    .wc-categories-dc12377b .wc-card-title {
        font-size: 14px;
        line-height: 1.45;
        margin-bottom: 8px;
    }

    .wc-categories-dc12377b .wc-card-desc {
        font-size: 11px;
        line-height: 1.6;
        margin-bottom: 13px;
    }

    .wc-categories-dc12377b .wc-card-cta {
        gap: 5px;
        font-size: 11px;
    }

    .wc-categories-dc12377b .wc-card-cta svg {
        width: 26px;
        height: 26px;
        padding: 6px;
    }
}

/* VERY NARROW PHONES */
@media (max-width: 360px) {
    .wc-categories-dc12377b .wc-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .wc-categories-dc12377b .wc-card-img-wrap {
        height: 185px !important;
        min-height: 185px;
        max-height: 185px;
    }

    .wc-categories-dc12377b .wc-card-title {
        font-size: 17px;
    }

    .wc-categories-dc12377b .wc-card-desc {
        font-size: 13px;
    }

    .wc-categories-dc12377b .wc-card-cta {
        font-size: 13px;
    }
}

/* REDUCED MOTION ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
    .wc-categories-dc12377b .wc-card,
    .wc-categories-dc12377b .wc-card-img-wrap > img,
    .wc-categories-dc12377b .wc-card-icon,
    .wc-categories-dc12377b .wc-card-title,
    .wc-categories-dc12377b .wc-card-cta svg {
        transition: none !important;
        animation: none !important;
    }
}

/* WELLCAIRE SERVICE CATEGORIES — MOBILE FIX */
@media (max-width: 600px) {

  .wc-categories-dc12377b,
  .wc-categories-dc12377b * {
    box-sizing: border-box;
  }

  .wc-categories-dc12377b {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .wc-categories-dc12377b .wc-header {
    width: 100%;
    padding: 0 12px;
    margin-bottom: 24px;
  }

  .wc-categories-dc12377b .wc-title {
    font-size: 28px;
    line-height: 1.25;
    overflow-wrap: normal;
    word-break: normal;
  }

  .wc-categories-dc12377b .wc-desc {
    font-size: 14px;
    line-height: 1.65;
    overflow-wrap: normal;
    word-break: normal;
  }

  /* ONE CARD PER ROW */
  .wc-categories-dc12377b .wc-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row;
    gap: 18px;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0 14px;
    margin: 0 auto;

    overflow: visible;
  }

  .wc-categories-dc12377b .wc-card {
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    height: auto !important;
    min-height: 0;
    margin: 0;

    border-radius: 18px;
    overflow: hidden;
  }

  .wc-categories-dc12377b .wc-card-link {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 100%;

    text-decoration: none;
  }

  /* IMAGE: FULL WIDTH, NO CROPPING CONTAINER ISSUES */
  .wc-categories-dc12377b .wc-card-img-wrap {
    display: block;
    position: relative;

    width: 100% !important;
    max-width: 100%;
    height: 210px !important;
    min-height: 210px;
    flex: 0 0 210px;

    overflow: hidden;
    border-radius: 0;
  }

  .wc-categories-dc12377b .wc-card-img-wrap img {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: 100% !important;

    object-fit: cover;
    object-position: center;
  }

  /* ICON ON IMAGE */
  .wc-categories-dc12377b .wc-card-icon {
    position: absolute;
    left: 16px;
    bottom: -1px;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 4px 14px rgba(16, 43, 80, .12);
  }

  .wc-categories-dc12377b .wc-card-icon svg {
    display: block;
    width: 25px;
    height: 25px;
    max-width: 100%;
    fill: #0878F9;
  }

  /* CARD CONTENT */
  .wc-categories-dc12377b .wc-card-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 22px 20px 20px;
    gap: 0;
  }

  .wc-categories-dc12377b .wc-card-title {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 10px;

    font-size: 20px;
    line-height: 1.4;
    font-weight: 700;

    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
  }

  .wc-categories-dc12377b .wc-card-desc {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 18px;

    font-size: 14px;
    line-height: 1.7;

    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
  }

  /* EXPLORE SERVICES CTA */
  .wc-categories-dc12377b .wc-card-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    width: 100%;
    max-width: 100%;
    margin-top: auto;

    font-size: 15px;
    line-height: 1.5;
  }

  .wc-categories-dc12377b .wc-card-cta span {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
  }

  .wc-categories-dc12377b .wc-card-cta svg {
    display: block;
    flex: 0 0 36px;

    width: 36px;
    height: 36px;
    padding: 9px;

    color: #FFFFFF;
    background: #0878F9;
    border-radius: 50%;
  }

  .wc-categories-dc12377b .wc-card:hover {
    transform: translateY(-3px);
  }
}

/* SMALL PHONES */
@media (max-width: 380px) {
  .wc-categories-dc12377b .wc-grid {
    padding: 0 10px;
    gap: 15px;
  }

  .wc-categories-dc12377b .wc-card-img-wrap {
    height: 185px !important;
    min-height: 185px;
    flex-basis: 185px;
  }

  .wc-categories-dc12377b .wc-card-content {
    padding: 19px 16px 18px;
  }

  .wc-categories-dc12377b .wc-card-title {
    font-size: 18px;
  }

  .wc-categories-dc12377b .wc-card-desc {
    font-size: 13px;
  }
}



/*=================================abot us section===============================*/

/* =====================================================
   WELLCAIRE ABOUT — FINAL OVERRIDE FIX
   Image visibility + horizontal overflow + real icons
===================================================== */

.elementor-element-75919f4,
.elementor-element-75919f4 * {
    box-sizing: border-box !important;
}

.elementor-element-75919f4 {
    --wc-blue: #0878F9;
    --wc-navy: #102B50;
    --wc-text: #536F8B;

    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    align-items: center !important;
    gap: clamp(24px, 3.5vw, 55px) !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(35px, 5vw, 70px) clamp(20px, 5vw, 75px) !important;

    overflow: hidden !important;
    isolation: isolate;
}

/* Fix Elementor child sizing */
.elementor-element-75919f4 > .elementor-element-a78be71,
.elementor-element-75919f4 > .elementor-element-e972b6d {
    flex: initial !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: center !important;
}

/* IMAGE — keep the complete image visible */
.elementor-element-75919f4 > .elementor-element-a78be71 {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 1px solid #E2F0FC !important;
    border-radius: 28px !important;
    background: #EAF5FF !important;
    box-shadow: 0 18px 45px rgba(25, 91, 147, .13);
}

.elementor-element-75919f4 > .elementor-element-a78be71 img {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: clamp(350px, 43vw, 600px) !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    transform: none;
    border-radius: 27px !important;

    transition: transform .6s ease !important;
}

.elementor-element-75919f4 > .elementor-element-a78be71:hover img {
    transform: scale(1.025) !important;
}

/* Floating badges — do not cover the whole image */
.elementor-element-75919f4 > .elementor-element-a78be71::before {
    top: 24px !important;
    left: 24px !important;
    max-width: calc(100% - 48px) !important;
}

.elementor-element-75919f4 > .elementor-element-a78be71::after {
    bottom: 22px !important;
    left: 22px !important;
    max-width: calc(100% - 44px) !important;
}

/* RIGHT CONTENT */
.elementor-element-75919f4 > .elementor-element-e972b6d {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow-wrap: anywhere;
}

/* Eyebrow */
.elementor-element-75919f4 .e-heading-base.e-default-h3 {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px !important;
    margin: 0 0 15px !important;

    color: var(--wc-blue) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 2.4px !important;
    line-height: 1.6 !important;
}

.elementor-element-75919f4 .e-heading-base.e-default-h3::after {
    content: "";
    display: block;
    width: 55px;
    height: 2px;
    flex: 0 0 55px;
    background: var(--wc-blue);
    border-radius: 5px;
}

/* Main heading */
.elementor-element-75919f4 .e-heading-base.e-default-h2 {
    max-width: 100% !important;
    margin: 0 0 16px !important;
    color: var(--wc-navy) !important;

    font-size: clamp(34px, 4vw, 60px) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    letter-spacing: -1.5px !important;
    overflow-wrap: normal;
}

/* Description */
.elementor-element-75919f4 > .elementor-element-e972b6d
> .e-paragraph-base.e-default-p {
    max-width: 100% !important;
    margin: 0 0 21px !important;
    color: var(--wc-text) !important;
    font-size: clamp(15px, 1.2vw, 18px) !important;
    line-height: 1.7 !important;
}

/* FEATURE LIST */
.elementor-element-75919f4 .elementor-element-30ff459 {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

.elementor-element-75919f4 .elementor-element-30ff459
> .elementor-element-d28bbe5,
.elementor-element-75919f4 .elementor-element-30ff459
> .elementor-element-7aa3381,
.elementor-element-75919f4 .elementor-element-30ff459
> .elementor-element-42ceafd {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: 17px !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 12px 15px !important;
    margin: 0 !important;

    border: 1px solid #DCEBFA !important;
    border-radius: 19px !important;
    background: rgba(255, 255, 255, .88) !important;
    box-shadow: 0 4px 15px rgba(25, 91, 147, .035);

    transition: transform .3s ease, box-shadow .3s ease,
                border-color .3s ease, background .3s ease !important;
}

.elementor-element-75919f4 .elementor-element-30ff459
> .elementor-element-d28bbe5:hover,
.elementor-element-75919f4 .elementor-element-30ff459
> .elementor-element-7aa3381:hover,
.elementor-element-75919f4 .elementor-element-30ff459
> .elementor-element-42ceafd:hover {
    transform: translateY(-2px);
    border-color: #A9D3FF !important;
    background: #FFFFFF !important;
    box-shadow: 0 10px 24px rgba(8, 120, 249, .10);
}

/* Icon circle */
.elementor-element-75919f4 .elementor-widget-icon {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-75919f4 .elementor-icon-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #E9F5FF, #D8ECFF) !important;
    transition: transform .3s ease, background .3s ease !important;
}

.elementor-element-75919f4 .elementor-icon {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--wc-blue) !important;
}



/* Feature headings and descriptions */
.elementor-element-75919f4 .e-heading-base.e-default-h4 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    margin: 0 0 3px !important;
    color: var(--wc-navy) !important;
    font-size: clamp(15px, 1.15vw, 19px) !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
}

.elementor-element-75919f4 .elementor-element-30ff459
.e-paragraph-base.e-default-p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--wc-text) !important;
    font-size: clamp(12px, .98vw, 16px) !important;
    line-height: 1.55 !important;
}

/* CTA */
.elementor-element-75919f4 .e-button-base.e-default-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 56px !important;
    padding: 14px 27px !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 50px !important;
    background: linear-gradient(110deg, #0878F9, #0067E8) !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    box-shadow: 0 10px 25px rgba(8, 120, 249, .20);
    transition: transform .3s ease, box-shadow .3s ease !important;
}

.elementor-element-75919f4 .e-button-base.e-default-button::after {
    content: "→";
    font-size: 23px;
    line-height: 1;
    transition: transform .3s ease;
}

.elementor-element-75919f4 .e-button-base.e-default-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(8, 120, 249, .28);
}

.elementor-element-75919f4 .e-button-base.e-default-button:hover::after {
    transform: translateX(5px);
}

/* TABLET */
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-element-75919f4 {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 22px !important;
        padding: 38px 22px !important;
    }

    .elementor-element-75919f4 > .elementor-element-a78be71 img {
        height: 430px !important;
    }

    .elementor-element-75919f4 .elementor-element-30ff459
    > div {
        grid-template-columns: 55px minmax(0, 1fr) !important;
        column-gap: 11px !important;
        padding: 11px !important;
    }

    .elementor-element-75919f4 .elementor-widget-icon,
    .elementor-element-75919f4 .elementor-icon-wrapper {
        width: 55px !important;
        height: 55px !important;
    }

    .elementor-element-75919f4 .elementor-icon::after {
        max-width: 31px;
        max-height: 31px;
    }
}

/* MOBILE */
@media (max-width: 767px) {
    .elementor-element-75919f4 {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 25px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 32px 16px 38px !important;
    }

    .elementor-element-75919f4 > .elementor-element-a78be71,
    .elementor-element-75919f4 > .elementor-element-e972b6d {
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-element-75919f4 > .elementor-element-a78be71 {
        border-radius: 20px !important;
    }

    .elementor-element-75919f4 > .elementor-element-a78be71 img {
        height: clamp(250px, 72vw, 390px) !important;
        border-radius: 19px !important;
        object-position: center center !important;
    }

    .elementor-element-75919f4 > .elementor-element-a78be71::before {
        top: 13px !important;
        left: 13px !important;
        min-width: 0 !important;
        padding: 10px 12px !important;
        font-size: 10px !important;
    }

    .elementor-element-75919f4 > .elementor-element-a78be71::after {
        bottom: 12px !important;
        left: 12px !important;
        min-width: 0 !important;
        padding: 10px 12px 10px 55px !important;
        font-size: 10px !important;
    }

    .elementor-element-75919f4 .e-heading-base.e-default-h3 {
        font-size: 11px !important;
        letter-spacing: 1.8px !important;
        margin-bottom: 11px !important;
    }

    .elementor-element-75919f4 .e-heading-base.e-default-h3::after {
        width: 32px;
        flex-basis: 32px;
    }

    .elementor-element-75919f4 .e-heading-base.e-default-h2 {
        font-size: clamp(32px, 8vw, 43px) !important;
        line-height: 1.12 !important;
        letter-spacing: -1px !important;
        margin-bottom: 13px !important;
    }

    .elementor-element-75919f4 > .elementor-element-e972b6d
    > .e-paragraph-base.e-default-p {
        font-size: 14px !important;
        line-height: 1.7 !important;
        margin-bottom: 17px !important;
    }

    .elementor-element-75919f4 .elementor-element-30ff459 {
        gap: 9px !important;
        margin-bottom: 17px !important;
    }

    .elementor-element-75919f4 .elementor-element-30ff459
    > .elementor-element-d28bbe5,
    .elementor-element-75919f4 .elementor-element-30ff459
    > .elementor-element-7aa3381,
    .elementor-element-75919f4 .elementor-element-30ff459
    > .elementor-element-42ceafd {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        column-gap: 11px !important;
        padding: 11px !important;
        border-radius: 14px !important;
    }

    .elementor-element-75919f4 .elementor-widget-icon,
    .elementor-element-75919f4 .elementor-icon-wrapper {
        width: 54px !important;
        height: 54px !important;
    }

    .elementor-element-75919f4 .elementor-icon::after {
        max-width: 30px;
        max-height: 30px;
    }

    .elementor-element-75919f4 .e-heading-base.e-default-h4 {
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    .elementor-element-75919f4 .elementor-element-30ff459
    .e-paragraph-base.e-default-p {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .elementor-element-75919f4 .e-button-base.e-default-button {
        width: 100% !important;
        min-height: 52px !important;
        padding: 13px 18px !important;
        font-size: 14px !important;
    }
}

/* Prevent horizontal page overflow */
html,
body {
    max-width: 100% !important;
    overflow-x: clip !important;
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .elementor-element-75919f4 *,
    .elementor-element-75919f4::before,
    .elementor-element-75919f4::after {
        animation: none !important;
        transition: none !important;
    }
}


/*================================*/

/*Wellness sections*/

/*===========================*/


/* =====================================================
   WELLCAIRE — ADVANCED WELLNESS HERO
   FINAL RESPONSIVE CSS
   Desktop: Content LEFT | Image RIGHT
   Tablet & Mobile: Responsive
   ===================================================== */

.elementor-element-2e7f3a2 {
    --wc-blue: #087cf0;
    --wc-blue-dark: #0564ce;
    --wc-navy: #102e55;
    --wc-text: #64758b;

    position: relative !important;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
    grid-template-areas: "content image" !important;
    align-items: center !important;
    gap: clamp(30px, 4vw, 60px) !important;

    width: 100% !important;
    max-width: 100% !important;
    min-height: 610px;
    margin: 0 !important;
    padding: 55px clamp(35px, 6.5vw, 110px) !important;

    overflow: hidden;
    box-sizing: border-box;

    background:
        radial-gradient(
            ellipse at 88% 22%,
            rgba(191, 225, 255, 0.48),
            transparent 42%
        ),
        linear-gradient(
            115deg,
            #fbfdff 0%,
            #f1f9ff 58%,
            #e4f2ff 100%
        );
}

/* Decorative background curves */
.elementor-element-2e7f3a2::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -330px;
    left: 35%;
    width: 590px;
    height: 590px;
    border: 28px solid rgba(93, 177, 255, 0.15);
    border-radius: 50%;
    pointer-events: none;
}

.elementor-element-2e7f3a2::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: -180px;
    bottom: -230px;
    width: 720px;
    height: 270px;
    border: 22px solid rgba(141, 201, 255, 0.15);
    border-radius: 50%;
    transform: rotate(-12deg);
    pointer-events: none;
}

.elementor-element-2e7f3a2 > .elementor-element {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* =====================================================
   LEFT CONTENT
   ===================================================== */

.elementor-element-2e7f3a2 > .elementor-element-8bc3c1d {
    grid-area: content !important;
    order: 0 !important;

    position: relative;
    z-index: 2;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Eyebrow heading */
.elementor-element-8bc3c1d > h3 {
    display: flex !important;
    align-items: center;
    gap: 14px;

    width: 100%;
    margin: 0 0 20px !important;

    color: var(--wc-blue) !important;
    font-family: inherit;
    font-size: clamp(10px, 0.8vw, 13px) !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}

.elementor-element-8bc3c1d > h3::after {
    content: "";
    display: inline-block;
    flex: 0 0 55px;
    width: 55px;
    height: 2px;
    border-radius: 3px;
    background: var(--wc-blue);
}

/* Main heading */
.elementor-element-8bc3c1d > h2 {
    display: block;
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 18px !important;

    color: var(--wc-navy) !important;
    font-family: inherit;
    font-size: clamp(40px, 3.5vw, 64px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -1.6px !important;

    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: initial !important;
}

/* Description */
.elementor-element-8bc3c1d > p {
    display: block;
    width: 100% !important;
    max-width: 550px !important;

    margin: 0 0 0px !important;

    color: var(--wc-text) !important;
    font-family: inherit;
    font-size: clamp(14px, 1.05vw, 18px) !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
}

/* CTA button */
.elementor-element-8bc3c1d > button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;

    width: auto !important;
    max-width: 100%;
    min-height: 54px;
    margin-top: 20px !important;
    padding: 15px 28px !important;

    border: 1px solid var(--wc-blue) !important;
    border-radius: 50px !important;

    background: linear-gradient(
        110deg,
        #087cf0,
        #086bea
    ) !important;

    color: #ffffff !important;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    box-shadow: 0 9px 24px rgba(8, 124, 240, 0.20);
    cursor: pointer;

    transition:
        background 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.elementor-element-8bc3c1d > button:hover {
    background: linear-gradient(
        110deg,
        #0564ce,
        #034fae
    ) !important;

    box-shadow: 0 13px 30px rgba(8, 124, 240, 0.30);
    transform: translateY(-3px);
}

.elementor-element-8bc3c1d > button:focus-visible {
    outline: 3px solid rgba(8, 124, 240, 0.35);
    outline-offset: 4px;
}

/* =====================================================
   BENEFIT ICONS
   ===================================================== */

.elementor-element-968d1d6 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: start;

    width: 100% !important;
    max-width: 550px !important;
    gap: clamp(8px, 1.3vw, 18px);

    margin: 28px 0 0 !important;
    padding: 0 !important;
}

.elementor-element-968d1d6 > .elementor-element {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start;

    min-width: 0;
    margin: 0 !important;
    padding: 0 2px !important;
    gap: 9px;

    text-align: center;
    transition: transform 0.3s ease;
}

.elementor-element-968d1d6 > .elementor-element:hover {
    transform: translateY(-5px);
}

/* Icon circles */
.elementor-element-968d1d6 .e-svg-base {
    display: flex !important;
    align-items: center;
    justify-content: center;

    flex: 0 0 62px;
    width: 62px !important;
    height: 62px !important;

    border: 1px solid rgba(8, 124, 240, 0.07);
    border-radius: 50%;

    background: linear-gradient(
        145deg,
        #eaf5ff,
        #dceeff
    );

    color: var(--wc-blue) !important;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        box-shadow 0.3s ease;
}

.elementor-element-968d1d6 .e-svg-base svg {
    display: block;
    width: 31px !important;
    height: 31px !important;
    transition: transform 0.3s ease;
}

.elementor-element-968d1d6 > .elementor-element:hover .e-svg-base {
    background: var(--wc-blue);
    color: #ffffff !important;
    box-shadow: 0 8px 22px rgba(8, 124, 240, 0.22);
}

.elementor-element-968d1d6 > .elementor-element:hover .e-svg-base svg {
    transform: scale(1.08);
}

/* Icon labels */
.elementor-element-968d1d6 p {
    width: 100%;
    max-width: 140px;
    margin: 0 !important;

    color: var(--wc-navy) !important;
    font-family: inherit;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: center;

    overflow-wrap: normal;
    word-break: normal;
}

/* =====================================================
   RIGHT IMAGE — FULL COLUMN WIDTH
   ===================================================== */

.elementor-element-2e7f3a2 > .elementor-element-340c3ca {
    grid-area: image !important;
    order: 0 !important;

    position: relative;
    align-self: stretch !important;
    justify-self: stretch !important;

    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 500px !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Image widget */
.elementor-element-340c3ca .elementor-widget-image {
    position: relative;
    display: block !important;

    flex: 1 1 auto;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 500px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    border-radius: 15px !important;

    background: linear-gradient(
        145deg,
        #eaf6ff,
        #d9edff
    );

    box-shadow: 0 20px 55px rgba(29, 95, 155, 0.12);
    transition: box-shadow 0.4s ease;
}

/* Actual image */
.elementor-element-340c3ca .elementor-widget-image img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 500px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center center !important;

    transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.elementor-element-340c3ca .elementor-widget-image:hover img {
    transform: scale(1.04);
}

.elementor-element-340c3ca .elementor-widget-image:hover {
    box-shadow: 0 28px 70px rgba(29, 95, 155, 0.20);
}

/* =====================================================
   TABLET
   ===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-element-2e7f3a2 {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 28px !important;
        min-height: 0;
        padding: 42px 30px !important;
    }

    .elementor-element-8bc3c1d > h3 {
        gap: 9px;
        margin-bottom: 16px !important;
        font-size: 10px !important;
        letter-spacing: 1.5px;
    }

    .elementor-element-8bc3c1d > h3::after {
        flex-basis: 28px;
        width: 28px;
    }

    .elementor-element-8bc3c1d > h2 {
        font-size: clamp(34px, 4vw, 46px) !important;
        letter-spacing: -1px !important;
    }

    .elementor-element-8bc3c1d > p {
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    .elementor-element-2e7f3a2 > .elementor-element-340c3ca,
    .elementor-element-340c3ca .elementor-widget-image,
    .elementor-element-340c3ca .elementor-widget-image img {
        min-height: 390px !important;
    }

    .elementor-element-968d1d6 {
        gap: 7px;
        margin-top: 22px !important;
    }

    .elementor-element-968d1d6 .e-svg-base {
        flex-basis: 50px;
        width: 50px !important;
        height: 50px !important;
    }

    .elementor-element-968d1d6 .e-svg-base svg {
        width: 26px !important;
        height: 26px !important;
    }

    .elementor-element-968d1d6 p {
        font-size: 10px !important;
    }
}

/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 767px) {
    .elementor-element-2e7f3a2 {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 26px !important;

        width: 100% !important;
        min-height: 0 !important;
        padding: 32px 20px !important;
    }

    .elementor-element-2e7f3a2::before {
        top: -180px;
        left: 55%;
        width: 330px;
        height: 330px;
        border-width: 18px;
    }

    .elementor-element-2e7f3a2::after {
        left: -140px;
        bottom: -130px;
        width: 390px;
        height: 160px;
        border-width: 14px;
    }

    .elementor-element-2e7f3a2 > .elementor-element-8bc3c1d {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-element-8bc3c1d > h3 {
        gap: 8px;
        margin-bottom: 15px !important;
        font-size: 10px !important;
        letter-spacing: 1.2px;
    }

    .elementor-element-8bc3c1d > h3::after {
        flex-basis: 22px;
        width: 22px;
    }

    .elementor-element-8bc3c1d > h2 {
        max-width: 100% !important;
        font-size: clamp(34px, 8.5vw, 46px) !important;
        line-height: 1.1 !important;
        letter-spacing: -1px !important;
    }

    .elementor-element-8bc3c1d > p {
        max-width: 100% !important;
        margin-bottom: 20px !important;
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    .elementor-element-8bc3c1d > button {
        min-height: 48px;
        padding: 13px 19px !important;
        font-size: 13px !important;
    }

    .elementor-element-968d1d6 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 5px !important;
        margin-top: 22px !important;
    }

    .elementor-element-968d1d6 .e-svg-base {
        flex-basis: 44px;
        width: 44px !important;
        height: 44px !important;
    }

    .elementor-element-968d1d6 .e-svg-base svg {
        width: 23px !important;
        height: 23px !important;
    }

    .elementor-element-968d1d6 p {
        font-size: 9px !important;
        line-height: 1.4 !important;
    }

    .elementor-element-2e7f3a2 > .elementor-element-340c3ca {
        order: 2 !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .elementor-element-340c3ca .elementor-widget-image {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 4 / 3 !important;
        border-radius: 24px 24px 48px 24px !important;
    }

    .elementor-element-340c3ca .elementor-widget-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 4 / 3 !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}

/* Small mobile */
@media (max-width: 380px) {
    .elementor-element-2e7f3a2 {
        padding: 28px 15px 24px !important;
        gap: 21px !important;
    }

    .elementor-element-8bc3c1d > h2 {
        font-size: 31px !important;
    }

    .elementor-element-968d1d6 {
        gap: 4px !important;
    }

    .elementor-element-968d1d6 .e-svg-base {
        flex-basis: 39px;
        width: 39px !important;
        height: 39px !important;
    }

    .elementor-element-968d1d6 p {
        font-size: 8px !important;
    }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
    .elementor-element-2e7f3a2 *,
    .elementor-element-2e7f3a2 *::before,
    .elementor-element-2e7f3a2 *::after {
        transition: none !important;
        animation: none !important;
    }
}/* End custom CSS */