/* Seelenbalsam — Popular Treatments ("Beliebte Behandlungen")
 * Centered header + diamond rule + 3 white cards. */

.sb-treat {
    background-image: url('../images/angebote-bg.webp') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.sb-treat__inner {
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding-block: clamp(48px, 5vw, 88px) clamp(64px, 8vw, 120px) !important;
    padding-inline: clamp(22px, 4.6vw, 64px) !important;
    box-sizing: border-box !important;
}

/* ── Header ──────────────────────────────────────────────── */
.sb-treat__head {
    text-align: center !important;
    max-width: 760px !important;
    margin: 0 auto 26px !important;
}
.sb-treat__heading {
    margin: 0 0 26px !important;
    font-family: 'Gelica', 'Tiempos Headline', 'Suisse Intl', "Aileron", Georgia, serif !important;
    font-size: clamp(36px, 3.6vw, 58px) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.005em !important;
    color: var(--mx-color-ink, #45375c) !important;
}
.sb-treat__intro {
    margin: 0 auto !important;
    max-width: 82ch !important;
    white-space: pre-line !important;
    font-family: 'Suisse Intl', "Aileron", system-ui, sans-serif !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #72657B !important;
}

/* Diamond + line separator, centered */
.sb-treat__rule {
    position: relative !important;
    display: block !important;
    width: 120px !important;
    height: 2px !important;
    margin: 22px auto 0 !important;
    background: #EFA1A2 !important;
}
.sb-treat__rule::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 9px !important;
    height: 9px !important;
    background: #EFA1A2 !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

/* ── Tabs ────────────────────────────────────────────────── */
.sb-treat__tabs {
    display: flex !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto clamp(34px, 4vw, 52px) !important;
    padding: 6px !important;
    background: #ffffff !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}
.sb-treat__tab {
    appearance: none !important;
    border: 0 !important;
    cursor: pointer !important;
    padding: 13px clamp(26px, 3vw, 40px) !important;
    border-radius: 999px !important;
    background: transparent !important;
    font-family: var(--mx-font-body, "Aileron", system-ui, sans-serif) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--mx-color-ink, #45375c) !important;
    transition: background 0.25s ease, color 0.25s ease !important;
}
.sb-treat__tab.is-active {
    background: linear-gradient(267deg, #F372B3 0.6%, #FF60AF 99.4%) !important;
    color: #ffffff !important;
}

/* ── Slider (deck / viewport / track) + cards ────────────── */
.sb-treat__deck[hidden] { display: none !important; }
.sb-treat__viewport { width: 100% !important; }
.sb-treat__track {
    display: flex !important;
    gap: 22px !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 16px 6px 18px !important;
    scroll-snap-type: x mandatory !important;
    cursor: grab !important;
}
.sb-treat__track.is-dragging {
    cursor: grabbing !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    user-select: none !important;
}
.sb-treat__track.is-dragging img { pointer-events: none !important; }
.sb-treat__track::-webkit-scrollbar { display: none !important; }
.sb-treat__track .sb-treat__card {
    flex: 0 0 calc((100% - 44px) / 3) !important;
    scroll-snap-align: start !important;
}
.sb-treat__card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}
/* whole card clickable: link stretched over the entire card */
.sb-treat__link::after { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; }
.sb-treat__link { position: relative !important; z-index: 2 !important; }
.sb-treat__card:hover {
    transform: translateY(-4px) !important;
    box-shadow: none !important;
}
.sb-treat__media {
    aspect-ratio: 16 / 11 !important;
    margin: 18px 18px 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}
.sb-treat__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 12px !important;
    transition: transform 0.6s ease !important;
}
.sb-treat__card:hover .sb-treat__media img { transform: scale(1.04) !important; }

.sb-treat__body {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    flex: 1 !important;
    padding: clamp(22px, 2vw, 30px) !important;
}
.sb-treat__title {
    margin: 0 0 12px !important;
    font-family: 'Gelica', 'Tiempos Headline', 'Suisse Intl', "Aileron", Georgia, serif !important;
    font-size: clamp(22px, 1.7vw, 27px) !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    color: var(--mx-color-ink, #45375c) !important;
}
.sb-treat__meta {
    margin: 0 0 10px !important;
    font-family: 'Suisse Intl', "Aileron", system-ui, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #8a7d92 !important;
}
.sb-treat__price {
    margin: 0 0 22px !important;
    font-family: var(--mx-font-body, "Aileron", system-ui, sans-serif) !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    color: var(--mx-color-ink, #45375c) !important;
}
.sb-treat__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: auto !important;
    font-family: var(--mx-font-body, "Aileron", system-ui, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    color: var(--mx-color-brand, #f372b3) !important;
    transition: gap 0.25s ease, color 0.25s ease !important;
}
.sb-treat__link:hover { gap: 16px !important; color: #dc5691 !important; }
.sb-treat__arrow { flex-shrink: 0 !important; }

/* ── Nav arrows (bottom-right, with rule line) ───────────── */
.sb-treat__nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    margin-top: 24px !important;
}
.sb-treat__progress {
    flex: 1 1 auto !important;
    height: 2px !important;
    margin-right: 10px !important;
    background: rgba(69, 55, 92, 0.14) !important;
    border-radius: 2px !important;
    overflow: hidden !important;
}
.sb-treat__progress-fill {
    display: block !important;
    height: 100% !important;
    width: 12% !important;
    border-radius: 2px !important;
    background: linear-gradient(90deg, #F372B3 0%, #FF60AF 100%) !important;
    transition: width 0.35s ease !important;
}
.sb-treat__navbtn {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--mx-color-brand, #f372b3) !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
}
.sb-treat__navbtn--prev { color: #e9a7bd !important; }
.sb-treat__navbtn--prev svg { width: 20px !important; height: 20px !important; }
.sb-treat__navbtn--next svg { width: 28px !important; height: 28px !important; }
.sb-treat__navbtn:hover { color: var(--mx-color-brand-deep, #dc5691) !important; }
.sb-treat__navbtn--next:hover { transform: translateX(2px) !important; }
.sb-treat__navbtn--prev:hover { transform: translateX(-2px) !important; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .sb-treat__track .sb-treat__card { flex: 0 0 calc((100% - 22px) / 2) !important; }
}
@media (max-width: 700px) {
    .sb-treat__track { padding-inline: 0 !important; scroll-padding-inline: 0 !important; }
    .sb-treat__track .sb-treat__card {
        flex: 0 0 100% !important;
        scroll-snap-align: center !important;
    }
}

/* ── Responsive padding fix ── */
@media (max-width: 1024px) {
    .sb-popular-treatments { padding-inline: 40px !important; }
}
@media (max-width: 1024px) {
    .sb-popular-treatments { padding-inline: 20px !important; }
}

/* ── Button overflow fix on mobile ── */
@media (max-width: 1024px) {
    .sb-popular-treatments__cta {
        max-width: 100% !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
        white-space: normal !important;
        text-align: center !important;
    }
}
