/* ==========================================================================
   Valgón — fichas de servicio (content/blocks/block-service-card.html)
   Numeradas como artículos de un código: «Art. 1», «Art. 2»…
   ========================================================================== */

.valgon-service-grid.wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 !important;
    margin: 0 auto;
    counter-reset: valgon-article;
    border-top: 1px solid var(--valgon-rule-strong);
}

.valgon-service-grid > .wp-block-column.valgon-service-card {
    flex-basis: auto !important;
    margin: 0 !important;
}

.valgon-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 2.25rem 0 2.5rem;
    border-bottom: 1px solid var(--valgon-rule);
    counter-increment: valgon-article;
    transition: background-color 0.3s var(--valgon-ease);
}

.valgon-service-card > * {
    margin: 0 !important;
}

.valgon-service-card::before {
    content: "Art. " counter(valgon-article);
    font-family: var(--valgon-font-serif);
    font-style: italic;
    font-size: 0.9375rem;
    color: var(--valgon-brass-deep);
}

.valgon-service-card__kicker {
    margin-top: 0.4rem !important;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--valgon-stone);
}

.valgon-service-card__kicker:empty {
    display: none;
}

.valgon-service-card__title {
    margin-top: 1.25rem !important;
    font-family: var(--valgon-font-serif);
    font-size: 1.5rem;
    line-height: 1.25;
    max-width: 18em;
}

.valgon-service-card__text {
    margin-top: 1rem !important;
    font-size: 0.9875rem;
    line-height: 1.75;
    color: var(--valgon-stone);
    max-width: 36em;
}

@media (min-width: 760px) {
    .valgon-service-grid.wp-block-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .valgon-service-card {
        padding: 2.5rem 2.5rem 3rem 0;
    }

    .valgon-service-card:nth-child(2n) {
        padding-left: 2.5rem;
        padding-right: 0;
        border-left: 1px solid var(--valgon-rule);
    }
}

@media (min-width: 1180px) {
    .valgon-service-grid.wp-block-columns {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .valgon-service-card,
    .valgon-service-card:nth-child(2n) {
        padding: 2.75rem 2.5rem 3.25rem;
        border-left: 1px solid var(--valgon-rule);
    }

    .valgon-service-card:nth-child(3n + 1) {
        padding-left: 0;
        border-left: 0;
    }

    .valgon-service-card:nth-child(3n) {
        padding-right: 0;
    }
}

/* Ficha de cierre: invita a consultar lo que no está en la lista */
.valgon-service-card--cta {
    counter-increment: none;
    justify-content: center;
    padding: 2.5rem 2rem 2.75rem !important;
    background: var(--valgon-ink);
    color: var(--valgon-paper);
    border-bottom-color: var(--valgon-ink);
}

.valgon-service-card--cta::before {
    content: "§";
    font-family: var(--valgon-font-display);
    font-style: normal;
    font-size: 2rem;
    line-height: 1;
    color: var(--valgon-brass-light);
}

.valgon-service-card--cta .valgon-service-card__kicker {
    margin-top: 1rem !important;
    color: var(--valgon-brass-light);
}

.valgon-service-card--cta .valgon-service-card__title {
    color: var(--valgon-paper);
    font-family: var(--valgon-font-display);
    font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem);
    max-width: 16em;
}

.valgon-service-card--cta .valgon-link-arrow {
    margin-top: 1.75rem !important;
}

.valgon-service-card--cta .valgon-link-arrow a {
    color: var(--valgon-paper);
    border-bottom-color: var(--valgon-rule-light);
}

.valgon-service-card--cta .valgon-link-arrow a:hover {
    color: var(--valgon-brass-light);
    border-bottom-color: var(--valgon-brass-light);
}

/* La última ficha ocupa las columnas que queden libres: nunca hay huecos. */
@media (min-width: 760px) and (max-width: 1179px) {
    .valgon-service-card:last-child:nth-child(2n + 1) {
        grid-column: 1 / -1;
        border-left: 0;
        padding-right: 0;
    }
}

@media (min-width: 1180px) {
    .valgon-service-card:last-child:nth-child(3n + 1) {
        grid-column: 1 / -1;
    }

    .valgon-service-card:last-child:nth-child(3n + 2) {
        grid-column: span 2;
    }
}

@media (max-width: 759px) {
    .valgon-service-card--cta {
        margin-top: 1.5rem !important;
    }
}

