/* Widget "Carousel cards": carrusel con el diseño de Tratamiento: planteamiento */
.ds-ccards {
    --cc-columns: 3;
    --cc-gap: 18px;
    --cc-border-style: dashed;
    --cc-border-color: rgba(9, 30, 53, 0.35);
    --cc-border-width: 1px;
    --cc-arrow-size: 44px;
    --cc-arrow-color: var(--e-global-color-db260d1, #091e35);
    --cc-arrow-bg: transparent;
    --cc-arrow-color-hover: #ffffff;
    --cc-arrow-bg-hover: var(--e-global-color-db260d1, #091e35);
    width: 100%;
}

.ds-ccards__track {
    display: flex;
    gap: var(--cc-gap);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
}

.ds-ccards__track::-webkit-scrollbar {
    display: none;
}

.ds-ccards__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

/* sangrado: el carrusel se extiende hasta el borde derecho de la pantalla */
.elementor-widget.ds-ccards-bleed-yes .ds-ccards__track {
    margin-right: calc(50% - 50vw);
    padding-right: calc(50vw - 50%);
    scroll-padding-right: calc(50vw - 50%);
}

.ds-ccards__card {
    box-sizing: border-box;
    flex: 0 0 calc((100% - var(--cc-gap) * (var(--cc-columns) - 1)) / var(--cc-columns));
    min-width: 0;
    scroll-snap-align: start;
    padding: 28px 24px 32px;
    border: var(--cc-border-width) var(--cc-border-style) var(--cc-border-color);
    border-radius: 4px;
}

.ds-ccards__number {
    margin: 0 0 14px;
    font-family: var(--e-global-typography-primary-font-family, "Fraunces"), serif;
    font-weight: 300;
    font-size: 2.4rem;
    line-height: 1;
    color: var(--e-global-color-db260d1, #091e35);
}

.ds-ccards__title {
    margin: 0 0 18px;
    font-family: var(--e-global-typography-text-font-family, "Geist"), sans-serif;
    font-weight: 400;
    font-size: 1.05rem;
    line-height: 1.3;
    color: var(--e-global-color-text, #074b94);
}

.ds-ccards__content {
    font-family: var(--e-global-typography-text-font-family, "Geist"), sans-serif;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--e-global-color-db260d1, #091e35);
}

.ds-ccards__content > * {
    margin: 0;
}

.ds-ccards__content > * + * {
    margin-top: 1em;
}

/* ---------- flechas (mismo estilo que el resto del sitio) ---------- */
.ds-ccards__nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.ds-ccards .ds-ccards__nav button.ds-ccards__arrow,
.ds-ccards .ds-ccards__nav button.ds-ccards__arrow:is(:focus, :active) {
    box-sizing: border-box;
    width: var(--cc-arrow-size);
    height: var(--cc-arrow-size);
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 1px solid var(--cc-arrow-color);
    border-radius: 50%;
    background: var(--cc-arrow-bg);
    background-image: none;
    box-shadow: none;
    color: var(--cc-arrow-color);
    font-size: 0;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    outline: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.ds-ccards .ds-ccards__nav button.ds-ccards__arrow svg {
    display: block;
    width: 16px;
    height: 12px;
    flex: 0 0 auto;
}

.ds-ccards .ds-ccards__nav button.ds-ccards__arrow:hover,
.ds-ccards .ds-ccards__nav button.ds-ccards__arrow:focus-visible {
    background: var(--cc-arrow-bg-hover);
    border-color: var(--cc-arrow-bg-hover);
    color: var(--cc-arrow-color-hover);
}

.ds-ccards .ds-ccards__nav button.ds-ccards__arrow:focus-visible {
    outline: 2px solid var(--cc-arrow-color);
    outline-offset: 3px;
}

.ds-ccards .ds-ccards__nav button.ds-ccards__arrow:disabled,
.ds-ccards .ds-ccards__nav button.ds-ccards__arrow:disabled:is(:hover, :focus, :active) {
    opacity: 0.3;
    background: var(--cc-arrow-bg);
    color: var(--cc-arrow-color);
    border-color: var(--cc-arrow-color);
    cursor: default;
}

@media (max-width: 1024px) {
    .ds-ccards {
        --cc-columns: 2;
    }
}

@media (max-width: 767px) {
    .ds-ccards {
        --cc-columns: 1;
    }
}
