/* ===========================================================================
   Block: reviews-grid — client review cards (2 per row) from `review` CPT
   Matched to the original reviews page:
   - grid: 2 cols lg, gap 30px
   - card: white, radius 30px; article padding 32px 22px (mobile) / 48px (lg)
   - domain 22px medium · person 14px/500 · role 14px
   - stars 20px #CAD63A · date 12px #7F8287
   - quote text 14px/20px #0D172D with quote.png marks (16px) before/after
   =========================================================================== */

.voctos-reviews-grid {
    font-family: 'Unbounded', sans-serif;
    margin-bottom: 16px;
}

.voctos-reviews-grid .rvg-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 1024px) {
    .voctos-reviews-grid .rvg-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px;
    }
}

.voctos-reviews-grid .rvg-card {
    background: #fff;
    border-radius: 30px;
}
.voctos-reviews-grid .rvg-card--hidden { display: none; }

.voctos-reviews-grid .rvg-inner {
    padding: 32px 22px;
    display: flex;
    flex-direction: column;
    height: 100%;
}
@media (min-width: 1024px) {
    .voctos-reviews-grid .rvg-inner { padding: 32px 48px; }
}

/* ── Header ─────────────────────────────────────────────────── */
.voctos-reviews-grid .rvg-head {
    display: grid;
    grid-template-columns: 1fr 90px;
    align-items: center;
    margin-bottom: 30px;
    column-gap: 16px;
}
@media (min-width: 1024px) {
    .voctos-reviews-grid .rvg-head { grid-template-columns: 1fr auto; }
}

.voctos-reviews-grid .rvg-id { grid-column: 1; }
.voctos-reviews-grid .rvg-logo {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: start;
}
.voctos-reviews-grid .rvg-logo img {
    max-width: 143px;
    height: auto;
    max-height: 65px;
    object-fit: contain;
}

.voctos-reviews-grid .rvg-domain {
    font-size: 22px;
    font-weight: 500;
    color: #0D172D;
    word-break: break-all;
    margin: 0 0 10px;
}
.voctos-reviews-grid .rvg-domain a {
    color: inherit;
    text-decoration: none;
}
.voctos-reviews-grid .rvg-domain a:hover { color: #7616F4; }

.voctos-reviews-grid .rvg-name {
    font-size: 14px;
    font-weight: 500;
    color: #0D172D;
    line-height: 1.25;
    margin: 0 0 4px;
}
.voctos-reviews-grid .rvg-role {
    font-size: 14px;
    color: #0D172D;
    line-height: 1.25;
    margin: 0;
}

/* stars + date row (full width under id/logo) */
.voctos-reviews-grid .rvg-meta {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}
.voctos-reviews-grid .rvg-stars {
    display: inline-flex;
    gap: 4px;
    color: #CAD63A;
}
.voctos-reviews-grid .rvg-star {
    width: 20px;
    height: 20px;
}
.voctos-reviews-grid .rvg-date {
    font-size: 12px;
    color: #7F8287;
}

/* ── Quote body ─────────────────────────────────────────────── */
.voctos-reviews-grid .rvg-quote {
    position: relative;
    font-size: 14px;
    line-height: 20px;
    color: #0D172D;
    padding: 2px 0;
    margin-bottom: auto;
}
.voctos-reviews-grid .rvg-quote p { margin: 0 0 10px; }
.voctos-reviews-grid .rvg-quote p:last-child { margin-bottom: 0; }

.voctos-reviews-grid .rvg-quote::before,
.voctos-reviews-grid .rvg-quote::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    background: url('../assets/quote.png') center / contain no-repeat;
}
.voctos-reviews-grid .rvg-quote::before {
    left: 0;
    top: -16px;
}
.voctos-reviews-grid .rvg-quote::after {
    right: 0;
    bottom: -16px;
    transform: rotate(180deg);
}
@media (min-width: 1024px) {
    .voctos-reviews-grid .rvg-quote::before { top: -2px;    left: -20px; }
    .voctos-reviews-grid .rvg-quote::after  { bottom: -2px; right: -20px; }
    .voctos-reviews-grid .rvg-inner { padding-left: 48px; padding-right: 48px; }
    .voctos-reviews-grid .rvg-quote { margin-left: 20px; margin-right: 20px; }
}

/* ── Footer: original PDF link ──────────────────────────────── */
.voctos-reviews-grid .rvg-foot { margin-top: 20px; }
.voctos-reviews-grid .rvg-original {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #7616F4;
    text-decoration: none;
}
.voctos-reviews-grid .rvg-original::before {
    content: "";
    width: 24px;
    height: 28px;
    flex-shrink: 0;
    background: url('../assets/pdf.svg') center / contain no-repeat;
}
.voctos-reviews-grid .rvg-original:hover { text-decoration: underline; }

/* ── Pagination (numbered circles like the original) ────────── */
.voctos-reviews-grid .rvg-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}
.voctos-reviews-grid .rvg-page {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #0D172D;
    font-family: 'Unbounded', sans-serif;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.18s, color 0.18s;
}
.voctos-reviews-grid .rvg-page:hover {
    background: #7616F4;
    color: #fff;
}
.voctos-reviews-grid .rvg-page.is-active {
    background: #7616F4;
    color: #fff;
    cursor: default;
}
.voctos-reviews-grid .rvg-page--arrow {
    font-size: 20px;
    line-height: 1;
    padding-bottom: 3px;
}

/* ── Mobile dots pagination (autoplay carousel) ── */
.voctos-reviews-grid .rvg-pagination--dots {
    gap: 8px;
    margin-top: 24px;
}
.voctos-reviews-grid .rvg-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(13, 23, 45, 0.22);
    cursor: pointer;
    transition: background-color 0.25s ease, width 0.25s ease, border-radius 0.25s ease;
}
.voctos-reviews-grid .rvg-dot:hover {
    background: rgba(13, 23, 45, 0.45);
}
.voctos-reviews-grid .rvg-dot.is-active {
    width: 26px;
    border-radius: 6px;
    background: #7616F4;
    cursor: default;
}
