/* ── Pagination — base styles ─────────────────────────────────────────────── */

.wp-block-query-pagination {
    --oi-pag-size: 36px;
    --oi-pag-gap: 4px;
    --oi-pag-radius: 4px;
    --oi-pag-font: 0.875rem;
    --oi-pag-bg: transparent;
    --oi-pag-bg-hover: var(--wp--preset--color--palette-8);
    --oi-pag-bg-active: var(--wp--preset--color--palette-1);
    --oi-pag-color: var(--wp--preset--color--palette-3);
    --oi-pag-color-hover: var(--wp--preset--color--palette-3);
    --oi-pag-color-active: var(--wp--preset--color--palette-13);
}

.wp-block-query-pagination-numbers {
    display: flex;
    align-items: center;
    gap: var(--oi-pag-gap);
    list-style: none;
    padding: 0;
    margin: 0;
}

.wp-block-query-pagination-numbers .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: var(--oi-pag-size);
    height: var(--oi-pag-size);
    padding: 0 8px;
    border-radius: var(--oi-pag-radius);
    font-size: var(--oi-pag-font);
    font-weight: 500;
    text-decoration: none;
    color: var(--oi-pag-color);
    background: var(--oi-pag-bg);
    transition: background 0.15s ease, color 0.15s ease;
}

.wp-block-query-pagination-numbers .page-numbers:hover {
    background: var(--oi-pag-bg-hover);
    color: var(--oi-pag-color-hover);
}

.wp-block-query-pagination-numbers .page-numbers.current {
    background: var(--oi-pag-bg-active);
    color: var(--oi-pag-color-active);
    font-weight: 600;
}

.wp-block-query-pagination-numbers .page-numbers.dots {
    background: none;
    cursor: default;
    opacity: 0.5;
}

.wp-block-query-pagination-numbers .page-numbers.dots:hover {
    background: none;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
    color: var(--oi-pag-color);
    text-decoration: none;
    font-size: var(--oi-pag-font);
    font-weight: 500;
    transition: color 0.15s ease;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
    color: var(--oi-pag-bg-active);
}

/* ── Style: Pills (rounded) ──────────────────────────────────────────────── */

.is-style-oi-pills {
    --oi-pag-radius: 100px;
    --oi-pag-bg: var(--wp--preset--color--palette-8);
}

/* ── Style: Squares ──────────────────────────────────────────────────────── */

.is-style-oi-squares {
    --oi-pag-radius: 4px;
    --oi-pag-bg: var(--wp--preset--color--palette-8);
}

/* ── Style: Contained (full-width bar) ───────────────────────────────────── */

.is-style-oi-contained {
    --oi-pag-radius: 0;
    --oi-pag-bg: var(--wp--preset--color--palette-8);
    --oi-pag-gap: 0;
    background: var(--wp--preset--color--palette-8);
    border-radius: 6px;
    padding: 4px;
}

.is-style-oi-contained .wp-block-query-pagination-numbers .page-numbers {
    border-radius: 4px;
}

.is-style-oi-contained .wp-block-query-pagination-numbers .page-numbers,
.is-style-oi-contained .wp-block-query-pagination-previous,
.is-style-oi-contained .wp-block-query-pagination-next {
    background: transparent;
}

.is-style-oi-contained .wp-block-query-pagination-numbers .page-numbers.current {
    background: var(--oi-pag-bg-active);
    color: var(--oi-pag-color-active);
}

/* ── Style: Minimal (prev/next text only, no number backgrounds) ─────────── */

.is-style-oi-minimal {
    --oi-pag-bg: transparent;
    --oi-pag-bg-hover: transparent;
    --oi-pag-color-hover: var(--wp--preset--color--palette-1);
}

.is-style-oi-minimal .wp-block-query-pagination-numbers .page-numbers.current {
    background: none;
    color: var(--wp--preset--color--palette-1);
    text-decoration: underline;
    text-underline-offset: 4px;
}
