.abts-treatment-slider,
.abts-treatment-slider * { box-sizing: border-box; }
.abts-treatment-slider {
    --abts-bg:#f6f6f7; --abts-white:#fff; --abts-text:#232b35; --abts-muted:#7d838c;
    --abts-purple:#7d3ca2; --abts-purple-dark:#5a2872; --abts-gold:#d7aa52; --abts-line:#e8e3ea;
    position:relative; width:100%; overflow:hidden; padding:86px 24px; background:var(--abts-bg);
    font-family:"Inter","Segoe UI",Arial,sans-serif;
}
.abts-inner { width:min(1300px,100%); margin:0 auto; }
.abts-shell { position:relative; overflow:hidden; border:1px solid var(--abts-line); border-radius:22px; background:var(--abts-white); box-shadow:0 22px 54px rgba(28,38,52,.08); }
.abts-slides,.abts-slide { position:relative; width:100%; }
.abts-slide { display:none; background:var(--abts-white); }
.abts-slide.is-active { display:block; }
.abts-layout { width:100%; min-height:610px; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); align-items:stretch; }
.abts-media { position:relative; min-width:0; min-height:610px; overflow:hidden; background:#efeff1; }
.abts-media:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.1) 100%); pointer-events:none; }
.abts-image { display:block; width:100%; height:100%; min-height:610px; object-fit:cover; object-position:center; }
.abts-slide.abts-animate .abts-image { animation:abtsImageReveal 1.05s ease both; }
.abts-content { position:relative; min-width:0; padding:76px 64px 112px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(180deg,#fff 0%,#fcfbfd 100%); }
.abts-content:before { content:""; position:absolute; top:50%; left:0; width:5px; height:130px; background:linear-gradient(180deg,var(--abts-purple),var(--abts-gold)); border-radius:0 50px 50px 0; transform:translateY(-50%); }
.abts-title { margin:0; color:var(--abts-text); font-size:clamp(40px,4.5vw,58px); font-weight:700; line-height:1.08; letter-spacing:-.03em; text-transform:uppercase; }
.abts-subtitle { margin:28px 0 0; color:var(--abts-text); font-size:17px; font-weight:700; line-height:1.45; text-transform:uppercase; }
.abts-text { margin:28px 0 0; color:var(--abts-muted); font-size:15px; font-weight:400; line-height:1.9; }
.abts-text > :first-child { margin-top:0; }
.abts-text > :last-child { margin-bottom:0; }
.abts-button-wrap { margin-top:34px; }
.abts-slide.abts-animate .abts-title { animation:abtsFadeUp .72s ease .08s both; }
.abts-slide.abts-animate .abts-subtitle { animation:abtsFadeLeft .72s ease .22s both; }
.abts-slide.abts-animate .abts-text { animation:abtsFadeUp .78s ease .38s both; }
.abts-slide.abts-animate .abts-button-wrap { animation:abtsFadeRight .78s ease .52s both; }
.abts-button { position:relative; min-width:160px; min-height:52px; padding:14px 24px; display:inline-flex; align-items:center; justify-content:center; overflow:hidden; color:var(--abts-white); background:var(--abts-purple); border:1px solid var(--abts-purple); border-radius:6px; text-decoration:none; font-size:13px; font-weight:700; line-height:1; letter-spacing:.04em; text-transform:uppercase; transition:color .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.abts-button:not(.ab-clinic-premium-cta):after { content:""; position:absolute; left:50%; bottom:0; width:0; height:3px; background:var(--abts-gold); transform:translateX(-50%); transition:width .28s ease; }
.abts-button:hover,.abts-button:focus-visible { color:var(--abts-purple-dark); background:var(--abts-white); border-color:rgba(125,60,162,.5); box-shadow:0 12px 28px rgba(29,39,54,.1); }
.abts-button:not(.ab-clinic-premium-cta):hover:after,.abts-button:not(.ab-clinic-premium-cta):focus-visible:after { width:calc(100% - 18px); }
.abts-button:focus-visible,.abts-arrow:focus-visible { outline:3px solid rgba(125,60,162,.18); outline-offset:3px; }
.abts-controls { position:absolute; right:24px; bottom:24px; z-index:6; display:flex; align-items:center; gap:12px; }
.abts-arrow { width:44px; height:44px; padding:0; display:inline-flex; align-items:center; justify-content:center; color:var(--abts-text); background:rgba(255,255,255,.95); border:1px solid var(--abts-line); border-radius:50%; cursor:pointer; transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease; }
.abts-arrow:hover,.abts-arrow:focus-visible { color:var(--abts-white); background:var(--abts-purple); border-color:var(--abts-purple); transform:translateY(-2px); }
.abts-arrow svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.abts-dots { display:flex; align-items:center; justify-content:center; gap:10px; }
.abts-dot { width:10px; height:10px; padding:0; background:#d8d1dd; border:0; border-radius:50%; cursor:pointer; transition:transform .25s ease,background .25s ease; }
.abts-dot.is-active { background:var(--abts-purple); transform:scale(1.2); }
@keyframes abtsImageReveal { from{opacity:.72;transform:scale(1.06)} to{opacity:1;transform:scale(1)} }
@keyframes abtsFadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes abtsFadeLeft { from{opacity:0;transform:translateX(28px)} to{opacity:1;transform:translateX(0)} }
@keyframes abtsFadeRight { from{opacity:0;transform:translateX(-28px)} to{opacity:1;transform:translateX(0)} }
@media(max-width:980px){
    .abts-treatment-slider{padding:68px 20px}.abts-layout{min-height:auto;grid-template-columns:1fr}.abts-media{min-height:420px}.abts-image{height:420px;min-height:420px}.abts-content{min-height:430px;padding:52px 40px 100px}.abts-content:before{top:0;left:50%;width:110px;height:5px;transform:translateX(-50%);border-radius:0 0 50px 50px}.abts-controls{right:30px;bottom:24px}
}
@media(max-width:620px){
    .abts-treatment-slider{padding:52px 14px}.abts-shell{border-radius:16px}.abts-media{min-height:280px}.abts-image{height:280px;min-height:280px}.abts-content{min-height:440px;padding:38px 22px 92px}.abts-title{font-size:clamp(30px,10vw,40px)}.abts-subtitle{margin-top:18px;font-size:15px;line-height:1.5}.abts-text{margin-top:18px;font-size:14px;line-height:1.8}.abts-button-wrap{margin-top:24px}.abts-button{min-width:145px;min-height:48px;font-size:12px}.abts-controls{right:16px;left:16px;bottom:14px;justify-content:space-between}.abts-arrow{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){.abts-treatment-slider *,.abts-treatment-slider *:before,.abts-treatment-slider *:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}

/* Treatment Showcase Slider: premium CTA compatibility.
 * The icon stays in normal flex flow after the label, so longer text can
 * never slide underneath it. Hover/focus text is always kept white.
 */
.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta {
    width: fit-content;
    max-width: 100%;
    min-height: 52px;
    padding: 9px 10px 9px 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    white-space: normal;
    text-align: center;
}

.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta .abts-button-label {
    position: relative;
    z-index: 2;
    display: block;
    min-width: 0;
    max-width: 100%;
    line-height: 1.35;
    flex: 0 1 auto;
}

/* Keep the premium arrow beside the text instead of absolutely overlaying it. */
.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta::after {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    transform: none !important;
}

.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta:hover,
.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta:focus-visible,
.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta:hover .abts-button-label,
.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta:focus-visible .abts-button-label {
    color: #ffffff !important;
}

.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta:hover::after,
.abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta:focus-visible::after {
    transform: translateX(2px) !important;
}

@media (max-width: 767px) {
    .abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta {
        min-height: 46px;
        padding: 7px 8px 7px 20px !important;
        gap: 12px !important;
    }

    .abts-treatment-slider .abts-button-wrap > a.ab-clinic-premium-cta::after {
        flex-basis: 31px !important;
        width: 31px !important;
        height: 31px !important;
    }
}

/* ========================================================================
   Responsive layout hardening
   ------------------------------------------------------------------------
   Elementor's generated widget CSS can keep desktop responsive-control
   values active on smaller devices. That can force the two-column grid,
   desktop min-heights and desktop panel padding back onto tablet/mobile.
   These breakpoint rules intentionally own only the small-screen structure
   so every slide remains inside the viewport without horizontal breakage.
   ======================================================================== */
@media (max-width: 1024px) {
    .abts-treatment-slider {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        padding: 64px 20px !important;
    }

    .abts-treatment-slider .abts-inner,
    .abts-treatment-slider .abts-shell,
    .abts-treatment-slider .abts-slides,
    .abts-treatment-slider .abts-slide,
    .abts-treatment-slider .abts-layout,
    .abts-treatment-slider .abts-media,
    .abts-treatment-slider .abts-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .abts-treatment-slider .abts-shell {
        overflow: hidden;
    }

    .abts-treatment-slider .abts-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        min-height: 0 !important;
        align-items: stretch;
    }

    .abts-treatment-slider .abts-media {
        position: relative;
        height: auto;
        min-height: 0 !important;
        aspect-ratio: 16 / 10;
        overflow: hidden;
    }

    .abts-treatment-slider .abts-image {
        display: block;
        width: 100% !important;
        max-width: 100%;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover;
    }

    .abts-treatment-slider .abts-content {
        min-height: 0 !important;
        padding: 48px 38px 100px !important;
        overflow: hidden;
        overflow-wrap: break-word;
        word-break: normal;
    }

    /* Change the desktop vertical accent into a compact top accent. */
    .abts-treatment-slider .abts-content::before {
        top: 0 !important;
        left: 50% !important;
        width: 110px !important;
        height: 5px !important;
        border-radius: 0 0 50px 50px !important;
        transform: translateX(-50%) !important;
    }

    .abts-treatment-slider .abts-title,
    .abts-treatment-slider .abts-subtitle,
    .abts-treatment-slider .abts-text,
    .abts-treatment-slider .abts-button-wrap {
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .abts-treatment-slider .abts-controls {
        right: 28px !important;
        bottom: 22px !important;
        left: auto !important;
        max-width: calc(100% - 56px);
    }
}

@media (max-width: 767px) {
    .abts-treatment-slider {
        padding: 48px 12px !important;
    }

    .abts-treatment-slider .abts-shell {
        border-radius: 16px;
    }

    .abts-treatment-slider .abts-media {
        aspect-ratio: 4 / 3;
    }

    .abts-treatment-slider .abts-content {
        padding: 36px 20px 88px !important;
    }

    .abts-treatment-slider .abts-title {
        max-width: 100%;
        font-size: clamp(28px, 9vw, 40px);
        line-height: 1.1;
    }

    .abts-treatment-slider .abts-subtitle {
        margin-top: 18px;
        max-width: 100%;
        font-size: 15px;
        line-height: 1.5;
    }

    .abts-treatment-slider .abts-text {
        margin-top: 18px;
        max-width: 100%;
        font-size: 14px;
        line-height: 1.75;
    }

    .abts-treatment-slider .abts-button-wrap {
        margin-top: 24px;
    }

    .abts-treatment-slider .abts-controls {
        right: 14px !important;
        bottom: 14px !important;
        left: 14px !important;
        width: auto;
        max-width: none;
        justify-content: space-between;
    }

    .abts-treatment-slider .abts-dots {
        min-width: 0;
        flex-wrap: wrap;
        gap: 7px;
    }

    .abts-treatment-slider .abts-arrow {
        flex: 0 0 40px;
        width: 40px !important;
        height: 40px !important;
    }
}

@media (max-width: 420px) {
    .abts-treatment-slider {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .abts-treatment-slider .abts-content {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .abts-treatment-slider .abts-title {
        font-size: clamp(26px, 9vw, 34px);
    }
}
