/* ===== Base ===== */
.pvgr{
    color:#000000;
    font-family: inherit;
}

.pvgr__header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin:0 0 12px 0;
}

.pvgr__title{
    margin:0;
    font-size:20px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.2px;
}

/* ===== Shell / Track ===== */
.pvgr__shell{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
}

.pvgr__track{
    flex:1 1 auto;
    display:flex;
    gap:16px;
    overflow:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:4px 2px 10px;
    -webkit-overflow-scrolling: touch;

    /* hide scrollbars (still scrollable) */
    scrollbar-width: none;          /* Firefox */
    -ms-overflow-style: none;       /* IE/Edge legacy */
}
.pvgr__track::-webkit-scrollbar{   /* Chrome/Safari */
    width:0;
    height:0;
}

/* Cards: 4 visible on large screens */
.pvgr__card{
    flex:0 0 calc((100% - 16px*3) / 4);
    min-width:260px;
    scroll-snap-align:start;
    border:1px solid #e5e7eb;
    border-radius:16px;
    background:#fff;
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:10px;
    box-shadow: 0 8px 26px rgba(17,24,39,.06);
}

@media (max-width: 1024px){
    .pvgr__card{ flex-basis: calc((100% - 16px*2) / 3); }
}
@media (max-width: 780px){
    .pvgr__shell{ gap:8px; }
    .pvgr__card{ flex-basis: calc((100% - 16px) / 2); }
}
@media (max-width: 520px){
    .swiper-button-prev,
    .swiper-button-next{ display:none; }
    .pvgr__card{ flex-basis: 85%; }
}

/* ===== Card top ===== */
.pvgr__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.pvgr__who{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.pvgr__avatar{
    width:36px;
    height:36px;
    border-radius:999px;
    object-fit:cover;
    border:1px solid #e5e7eb;
    background:#f3f4f6;
    flex:0 0 auto;
}
.pvgr__avatar--empty{
    display:inline-block;
    background: radial-gradient(circle at 30% 30%, #e5e7eb, #f3f4f6);
}

.pvgr__name{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.pvgr__nameText{
    font-size:14px;
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.pvgr__date{
    font-size:12px;
    color:#6b7280;
}

.pvgr__google{
    width:32px;
    height:32px;
    border-radius:999px;
    border:1px solid #e5e7eb;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}
.pvgr__gicon{
    width:16px;
    height:16px;
    display:block;
}

/* Stars */
.pvgr__stars{
    font-size:14px;
    letter-spacing:1px;
    color:#f59e0b;
    text-align: center;
}

/* Text */
.pvgr__text{
    margin:0;
    font-size:14px;
    line-height:1.45;
    color:#374151;
    display:-webkit-box;
    -webkit-line-clamp:5;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height: calc(1.45em * 3);
}

/* ===== Swiper/Elementor arrows ===== */
.swiper-button-prev,
.swiper-button-next{
    position:relative;
    width:44px;
    height:44px;
    border-radius:50%;
    background:#ffffff;
    border:1px solid #e5e7eb;
    box-shadow:0 6px 20px rgba(0,0,0,.08);
    cursor:pointer;
    user-select:none;
    flex:0 0 auto;
    font-size:0;
    line-height:0;
    transition: transform .08s ease, background .15s ease, box-shadow .15s ease;
}
.swiper-button-prev:hover,
.swiper-button-next:hover{
    background:#f9fafb;
    box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.swiper-button-prev:active,
.swiper-button-next:active{ transform:scale(.98); }

.swiper-button-prev::after,
.swiper-button-next::after{
    content:'';
    width:10px;
    height:10px;
    border-right:2px solid #111827;
    border-bottom:2px solid #111827;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) rotate(-45deg);
}
.swiper-button-prev::after{
    transform:translate(-50%,-50%) rotate(135deg);
}

.swiper-button-prev:disabled,
.swiper-button-next:disabled{
    opacity:.35;
    cursor:not-allowed;
    box-shadow:none;
}

/* ===== Dots (pagination) ===== */
.swiper-pagination.elementor-swiper-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:14px;
}

.swiper-pagination-bullet{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#d1d5db;
    opacity:1;
    cursor:pointer;
    transition: transform .2s ease, background .2s ease;
}
.swiper-pagination-bullet-active{
    background:#111827;
    transform:scale(1.2);
}

/* ===== CTA button (center, black, square corners) ===== */
.pvgr__cta{
    display:flex;
    justify-content:center;
    margin-top:16px;
}

.pvgr__ctaBtn, .pvgr__ctaBtn:hover {
    display:inline-block;
    background:#000;
    color:#fff;
    text-decoration:none;
    padding:15px 20px;
    margin-top: 20px;
    border-radius:0;     /* no rounded corners */
    font-size:14px;
    font-weight:600;
    letter-spacing:.2px;
}
.pvgr__ctaBtn:hover{ opacity:.9; }
.pvgr__ctaBtn:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px rgba(0,0,0,.25);
}
