﻿

a {
    color: inherit;
    text-decoration: none
}

button {
    cursor: pointer;
    font-family: inherit
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(16px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes cardIn {
    from {
        opacity: 0;
        transform: translateY(8px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes shimmer {
    0% {
        background-position: -700px 0
    }

    100% {
        background-position: 700px 0
    }
}


/* ─────────────────────────────────────────
   BREADCRUMB
───────────────────────────────────────── */
.breadcrumb {
    background: #fff;
    border-bottom: 1px solid var(--border)
}

.breadcrumb-inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: .85rem 2rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .78rem;
    color: var(--muted)
}

.bc-sep {
    color: var(--border)
}

.bc-link {
    color: var(--sub);
    font-weight: 500;
    transition: color .15s
}

    .bc-link:hover {
        color: var(--navy)
    }

.bc-cur {
    color: var(--dark);
    font-weight: 600
}

/* ─────────────────────────────────────────
   TOOL STRIP (inside each review card)
───────────────────────────────────────── */
.rc-tool {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .65rem .85rem;
    background: white;
    border: 2px solid #75a1dc;
    border-radius: var(--radius);
    margin-bottom: .2rem;
    transition: border-color .15s;
    box-shadow: 0 16px 40px rgba(43, 59, 171, .1), 0 4px 12px rgba(0, 0, 0, .05);
    border-color: #2b3bab2e;
}

    .rc-tool:hover {
        border-color: rgba(43,59,171,.2)
    }

.rc-tool-icon {
    width: 67px;
    height: 53px;
    border-radius: 9px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .95rem;
    border: 1px solid var(--border);
}

.rc-tool-info {
    flex: 1;
    min-width: 0
}

.rc-tool-name {
    font-size: .95rem;
    font-weight: 800;
    color: var(--dark);
    white-space: nowrap;
    text-overflow: ellipsis
}

.rc-tool-meta {
    font-size: .9rem;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
    margin-top: .08rem
}

.rc-tool-score {
    display: flex;
    align-items: center;
    gap: .2rem
}

.rc-tool-score-stars {
    font-size: .9rem;
    color: #4CAF50;
    letter-spacing: .05em
}

.rc-tool-score-val {
    font-size: .9rem;
    font-weight: 700;
    color: var(--dark)
}

.rc-tool-dot {
    color: var(--border)
}

.rc-tool-cat {
    font-size: .8rem;
    font-weight: 600;
    padding: .1rem .42rem;
    border-radius: 100px;
    background: #4CAF50;
    color: white;
    border: 2px solid #bfdbfe;
    white-space: nowrap
}

.rc-tool-pricing {
    font-size: .9rem;
    font-weight: 600;
    padding: .1rem .42rem;
    border-radius: 100px;
    white-space: nowrap
}

    .rc-tool-pricing.free {
        background: #f0fdf4;
        color: #16a34a;
        border: 1px solid #bbf7d0
    }

    .rc-tool-pricing.paid {
        background: #fff7ed;
        color: #ea580c;
        border: 1px solid #fed7aa
    }

    .rc-tool-pricing.freemium {
        background: #faf5ff;
        color: #7c3aed;
        border: 1px solid #e9d5ff
    }

.rc-tool-link {
    display: inline-flex;
    align-items: center;
    gap: .22rem;
    font-size: .8rem;
    font-weight: 600;
    color: white;
    margin-left: auto;
    flex-shrink: 0;
    padding: .2rem .6rem;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--border-blue);
    background: #4CAF50;
    transition: all .15s
}

    .rc-tool-link:hover {
        background: #4CAF50;
        border-color: var(--navy)
    }

.btn-write {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.3rem;
    border-radius: var(--radius);
    border: none;
    background: linear-gradient(135deg,var(--green),var(--green-l));
    color: #fff;
    font-size: .875rem;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(95,168,30,.4);
    transition: transform .15s,box-shadow .15s
}

    .btn-write:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 22px rgba(95,168,30,.45)
    }

/* ─────────────────────────────────────────
   STICKY FILTER BAR
───────────────────────────────────────── */
.filter-bar {
    position: sticky;
    top: 64px;
    z-index: 200;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
    padding: .7rem 0
}

.filter-bar-inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    flex-wrap: wrap
}

.fb-search {
    position: relative;
    flex: 1;
    min-width: 220px
}

    .fb-search svg {
        position: absolute;
        left: .8rem;
        top: 50%;
        transform: translateY(-50%);
        width: 14px;
        height: 14px;
        stroke: var(--muted);
        stroke-width: 2;
        fill: none;
        stroke-linecap: round;
        pointer-events: none
    }

    .fb-search input {
        width: 100%;
        padding: .5rem .85rem .5rem 2.2rem;
        border: 1.5px solid var(--border);
        border-radius: var(--radius);
        font-family: 'Inter',sans-serif;
        font-size: .82rem;
        color: var(--text);
        background: #fff;
        outline: none;
        transition: border-color .15s,box-shadow .15s
    }

        .fb-search input:focus {
            border-color: var(--navy);
            box-shadow: 0 0 0 3px rgba(43,59,171,.09)
        }

        .fb-search input::placeholder {
            color: #c4c9d4
        }

.fb-select {
    padding: .48rem .8rem;
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    font-family: 'Inter',sans-serif;
    font-size: .78rem;
    color: var(--sub);
    background: #fff;
    outline: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .65rem center;
    padding-right: 1.9rem;
    cursor: pointer;
    transition: border-color .15s;
    flex-shrink: 0
}

    .fb-select:focus {
        border-color: var(--navy)
    }

.fb-clear {
    display: none;
    padding: .46rem .8rem;
    border-radius: var(--radius);
    border: 1.5px solid #fecdd3;
    background: #fff5f5;
    font-size: .75rem;
    font-weight: 600;
    color: #ef4444;
    transition: all .15s;
    flex-shrink: 0
}

    .fb-clear:hover {
        background: #fecdd3
    }

    .fb-clear.show {
        display: flex;
        align-items: center;
        gap: .3rem
    }

.fb-results {
    font-size: .75rem;
    color: var(--muted);
    flex-shrink: 0;
    white-space: nowrap
}

    .fb-results strong {
        color: var(--dark)
    }

/* star pills */
.star-pills {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap
}

.sp {
    padding: .28rem .72rem;
    border-radius: 100px;
    border: 1.5px solid var(--border);
    background: #fff;
    font-size: .85rem;
    font-weight: 500;
    color: var(--sub);
    cursor: pointer;
    transition: all .15s;
    white-space: nowrap;
    flex-shrink: 0
}

    .sp:hover {
        border-color: var(--navy);
        color: var(--navy)
    }

    .sp.on {
        background: var(--navy);
        border-color: var(--navy);
        color: #fff;
        font-weight: 600
    }

/* ─────────────────────────────────────────
   MAIN LAYOUT
───────────────────────────────────────── */
.page-wrap {
    max-width: var(--container);
    margin: 0 auto;
    padding: 2rem 2rem 4rem;
    display: grid;
    grid-template-columns: 1fr 310px;
    gap: 2rem;
    align-items: start
}

/* ─────────────────────────────────────────
   RESULTS HEADER
───────────────────────────────────────── */
.results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 1.25rem
}

.rh-left {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap
}

.rh-title {
    font-family: 'Syne',sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--dark)
}

.rh-count {
    font-size: .8rem;
    color: var(--muted)
}

    .rh-count strong {
        color: var(--dark)
    }

.rh-active-filters {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap
}

.af-tag {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .2rem .65rem;
    border-radius: 100px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    font-size: .68rem;
    font-weight: 600;
    color: var(--navy)
}

    .af-tag button {
        background: none;
        border: none;
        padding: 0;
        color: var(--navy);
        font-size: .7rem;
        line-height: 1;
        cursor: pointer;
        opacity: .6;
        transition: opacity .15s
    }

        .af-tag button:hover {
            opacity: 1
        }

.sort-wrap {
    display: flex;
    align-items: center;
    gap: .5rem
}

.sort-label {
    font-size: .75rem;
    color: var(--muted);
    white-space: nowrap
}

.sort-sel {
    padding: .42rem .8rem;
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    font-family: 'Inter',sans-serif;
    font-size: .78rem;
    color: var(--sub);
    background: #fff;
    outline: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .65rem center;
    padding-right: 1.9rem;
    cursor: pointer;
    transition: border-color .15s
}

    .sort-sel:focus {
        border-color: var(--navy)
    }

/* ─────────────────────────────────────────
   REVIEW CARDS
───────────────────────────────────────── */
.review-list {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.rc {
    background: #fff;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 1.4rem 1.5rem;
    transition: border-color .15s,box-shadow .15s;
    animation: cardIn .28s ease both
}

    .rc:hover {
        border-color: rgba(43,59,171,.18);
        box-shadow: var(--shadow)
    }

    .rc.top {
        border-color: rgba(43,59,171,.22);
        background: linear-gradient(135deg,#fafbff,#fff)
    }

        .rc.top::before {
            content: '⭐ Top Review';
            font-size: .6rem;
            font-weight: 700;
            letter-spacing: .07em;
            text-transform: uppercase;
            background: var(--navy);
            color: #fff;
            padding: .2rem .65rem;
            border-radius: 100px;
            display: inline-block;
            margin-bottom: .85rem
        }

    .rc.critical::before {
        content: '⚠️ Critical Review';
        font-size: .6rem;
        font-weight: 700;
        letter-spacing: .07em;
        text-transform: uppercase;
        background: #ef4444;
        color: #fff;
        padding: .2rem .65rem;
        border-radius: 100px;
        display: inline-block;
        margin-bottom: 1rem
    }

/* head */
.rc-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .2rem;
    padding-left:27px;
    padding-top:15px;
}

.rc-user {
    display: flex;
    align-items: center;
    gap: .75rem
}

.rc-av {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    font-weight: 700;
    color: #fff;
    box-shadow: var(--shadow-sm)
}

.rc-uinfo {
}

.rc-name {
    font-size: .95rem;
    font-weight: 700;
    color: black;
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap
}

.rc-vbadge {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    background: #f0fdf4;
    color: #16a34a;
    border: 1px solid #bbf7d0;
    padding: .1rem .42rem;
    border-radius: 100px
}

.rc-role {
    font-size: .9rem;
    color: black;
    margin-top: .06rem
}

.rc-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .3rem;
    flex-shrink: 0
}

.rc-stars {
    display: flex;
    gap: .14rem
}

.rc-star {
    font-size: 1.5rem !important;
    color: #4CAF50;
}

    .rc-star.dim {
        opacity: .2;
        color: #FFC107;
    }

.rc-date {
    font-size: .67rem;
    color: var(--muted)
}

.rc-plan {
    font-size: .64rem;
    font-weight: 600;
    padding: .16rem .52rem;
    border-radius: 100px;
    background: #eff6ff;
    color: var(--navy);
    border: 1px solid #bfdbfe
}

/* body */
.rc-title {
    font-size: .97rem;
    font-weight: 800;
    color: var(--dark);
    margin-bottom: .5rem;
    line-height: 1.3;
    padding-left:27px;
}

.rc-body {
    font-size: .9rem;
    color: var(--sub);
    line-height: 1.75
}

    .rc-body.clamp {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin-left:27px;
    }

.rc-toggle {
    font-size: .77rem;
    color: var(--navy);
    font-weight: 600;
    cursor: pointer;
    margin-top: .4rem;
    display: inline-block;
    transition: color .15s;
    margin-left: 27px;
}

    .rc-toggle:hover {
        text-decoration: underline
    }

/* sub-ratings */
.rc-subs {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: .9rem;
    padding-top: .85rem;
    border-top: 1px solid var(--border);
    margin-left: 27px;
}

.rc-sub {
    display: flex;
    align-items: center;
    gap: .38rem
}

.rc-sub-lbl {
    font-size: .67rem;
    font-weight: 600;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .05em
}

.rc-sub-stars {
    display: flex;
    gap: .07rem
}

.rc-sub-star {
    font-size: .64rem;
    color: #f59e0b
}

    .rc-sub-star.dim {
        opacity: .2
    }

/* pros/cons */
.rc-procon {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
    margin-top: .9rem;
    padding-top: .85rem;
    border-top: 1px solid var(--border);
    margin-left: 27px;
}

.rc-pros {
    background: #a6f0bd;
    border: 1px solid #30b15d;
    border-radius: var(--radius);
    padding: .65rem .8rem
}

.rc-cons {
    background: #fff5f5;
    border: 1px solid #fecdd3;
    border-radius: var(--radius);
    padding: .65rem .8rem
}

.rc-pc-h {
    font-size: .9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .45rem
}

.rc-pros .rc-pc-h {
    color: #16a34a
}

.rc-cons .rc-pc-h {
    color: #ef4444
}

.rc-pc-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: .28rem
}

    .rc-pc-list li {
        font-size: .89rem;
        color: #151414;
        display: flex;
        align-items: flex-start;
        gap: .38rem;
        line-height: 1.45;
        font-weight: 600;
    }

        .rc-pc-list li::before {
            flex-shrink: 0;
            margin-top: .04rem
        }

.rc-pros .rc-pc-list li::before {
    content: '✓';
    color: #16a34a;
    font-weight: 700
}

.rc-cons .rc-pc-list li::before {
    content: '✗';
    color: #ef4444;
    font-weight: 700
}

/* screenshots */
.rc-shots {
    display: flex;
    gap: .5rem;
    margin-top: .9rem;
    flex-wrap: wrap
}

.rc-shot {
    width: 82px;
    height: 62px;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--border);
    overflow: hidden;
    cursor: pointer;
    flex-shrink: 0;
    background: #f0f4ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .68rem;
    color: var(--muted);
    transition: border-color .15s,transform .15s
}

    .rc-shot:hover {
        border-color: var(--navy);
        transform: scale(1.04)
    }

    .rc-shot img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

/* tags */
.rc-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .32rem;
    margin-top: .85rem;
    margin-left: 27px;
}

.rc-tag {
    font-size: .89rem;
    font-weight: 500;
    padding: .17rem .52rem;
    border-radius: 100px;
    background: var(--bg);
    border: 1px solid var(--border);
    color: var(--sub);
    cursor: pointer;
    transition: all .15s
}

    .rc-tag:hover {
        border-color: var(--navy);
        color: var(--navy);
        background: #f0f4ff
    }

/* footer */
.rc-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: .85rem;
    border-top: 1px solid var(--border);
    flex-wrap: wrap;
    gap: .65rem
}

.rc-helpful {
    display: flex;
    align-items: center;
    gap: .45rem
}

.rc-helpful-lbl {
    font-size: .73rem;
    color: var(--muted)
}

.rc-hbtn {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    padding: .3rem .72rem;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--border);
    background: #fff;
    font-size: .73rem;
    font-weight: 500;
    color: var(--sub);
    transition: all .15s
}

    .rc-hbtn:hover, .rc-hbtn.voted {
        border-color: var(--green);
        color: var(--green);
        background: #f0fdf4
    }

    .rc-hbtn.dn:hover, .rc-hbtn.dn.voted {
        border-color: #ef4444;
        color: #ef4444;
        background: #fff5f5
    }

.rc-actions {
    display: flex;
    align-items: center;
    gap: .55rem
}

.rc-action {
    font-size: .7rem;
    color: var(--muted);
    cursor: pointer;
    transition: color .15s;
    background: none;
    border: none;
    padding: 0;
    font-family: inherit
}

    .rc-action:hover {
        color: var(--navy)
    }

    .rc-action.danger:hover {
        color: #ef4444
    }

/* ── Skeleton loader ── */
.skeleton {
    background: #f1f5f9;
    border-radius: var(--radius-xl);
    padding: 1.4rem 1.5rem;
    border: 1.5px solid var(--border)
}

.skel-line {
    height: 14px;
    border-radius: 6px;
    background: linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);
    background-size: 700px 100%;
    animation: shimmer 1.4s infinite;
    margin-bottom: .65rem
}

    .skel-line.short {
        width: 40%
    }

    .skel-line.med {
        width: 65%
    }

    .skel-line.full {
        width: 100%
    }

.skel-head {
    display: flex;
    gap: .75rem;
    align-items: center;
    margin-bottom: 1rem
}

.skel-av {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    flex-shrink: 0;
    background: linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);
    background-size: 700px 100%;
    animation: shimmer 1.4s infinite
}

/* ── Empty state ── */
.empty-state {
    text-align: center;
    padding: 4rem 1rem;
    display: none
}

    .empty-state.show {
        display: block
    }

.es-icon {
    font-size: 3rem;
    margin-bottom: 1rem
}

.es-title {
    font-family: 'Syne',sans-serif;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--dark);
    margin-bottom: .35rem
}

.es-sub {
    font-size: .84rem;
    color: var(--muted);
    margin-bottom: 1.25rem
}

.es-clear {
    padding: .6rem 1.4rem;
    border-radius: var(--radius);
    border: 1.5px solid var(--border);
    background: #fff;
    font-size: .84rem;
    font-weight: 600;
    color: var(--sub);
    transition: all .15s
}

    .es-clear:hover {
        border-color: var(--navy);
        color: var(--navy)
    }

/* ─────────────────────────────────────────
   PAGINATION
───────────────────────────────────────── */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin-top: 2rem;
    flex-wrap: wrap
}

.pg-btn {
    min-width: 36px;
    height: 36px;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--border);
    background: #fff;
    font-size: .82rem;
    font-weight: 600;
    color: var(--sub);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s;
    cursor: pointer;
    padding: 0 .6rem
}

    .pg-btn:hover {
        border-color: var(--navy);
        color: var(--navy);
        background: #f0f4ff
    }

    .pg-btn.active {
        background: var(--navy);
        border-color: var(--navy);
        color: #fff;
        box-shadow: 0 2px 8px rgba(43,59,171,.3)
    }

    .pg-btn.disabled {
        opacity: .4;
        pointer-events: none
    }

.pg-dots {
    color: var(--muted);
    font-size: .85rem;
    padding: 0 .25rem;
    display: flex;
    align-items: center
}

.pg-info {
    font-size: .75rem;
    color: var(--muted);
    margin-top: .65rem;
    text-align: center
}

    .pg-info strong {
        color: var(--dark)
    }

/* ─────────────────────────────────────────
   RIGHT SIDEBAR
───────────────────────────────────────── */
.sidebar {
    position: sticky;
    top: 80px;
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.widget {
    background: #fff;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-xl);
    overflow: hidden
}

.widget-head {
    padding: .85rem 1.1rem;
    border-bottom: 1px solid var(--border);
    font-size: .9rem;
    font-weight: 800;
    color: var(--dark);
    display: flex;
    align-items: center;
    gap: .45rem
}

.widget-body {
    padding: 1.1rem
}

/* write cta */
.write-cta {
    background: linear-gradient(135deg, #2196F3, #673AB7);
    border-radius: var(--radius-xl);
    padding: 1.4rem;
    text-align: center
}

.wc-title {
    font-family: 'Syne',sans-serif;
    font-size: .97rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: .3rem
}

.wc-sub {
    font-size: .9rem;
    color: white;
    margin-bottom: 1rem;
    line-height: 1.6
}

.btn-wc {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    padding: .7rem;
    border-radius: var(--radius);
    border: none;
    background: #4CAF50;
    color: white;
    font-size: .875rem;
    font-weight: 700;
    transition: all .15s;
    box-shadow: 0 2px 10px rgba(0,0,0,.15)
}

    .btn-wc:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(0,0,0,.2)
    }

/* rating breakdown */
.rs-big {
    text-align: center;
    padding: .4rem 0 .85rem
}

.rs-score {
    font-family: 'Syne',sans-serif;
    font-size: 3.4rem;
    font-weight: 800;
    color: var(--dark);
    line-height: 1
}

.rs-stars {
    display: flex;
    justify-content: center;
    gap: .24rem;
    margin: .45rem 0
}

.rs-star {
    font-size: 1.2rem;
    color: #f59e0b
}

    .rs-star.dim {
        opacity: .2
    }

.rs-total {
    font-size: .73rem;
    color: var(--muted)
}

.rbar-list {
    display: flex;
    flex-direction: column;
    gap: .48rem;
    margin-top: .9rem
}

.rbar {
    display: flex;
    align-items: center;
    gap: .58rem;
    cursor: pointer
}

    .rbar:hover .rbar-lbl {
        color: var(--navy)
    }

.rbar-lbl {
    font-size: .71rem;
    font-weight: 600;
    color: var(--sub);
    width: 16px;
    text-align: right;
    flex-shrink: 0
}

.rbar-track {
    flex: 1;
    height: 7px;
    background: var(--bg);
    border-radius: 100px;
    overflow: hidden;
    border: 1px solid var(--border)
}

.rbar-fill {
    height: 100%;
    border-radius: 100px;
    transition: width .5s ease
}

.rbar-pct {
    font-size: .67rem;
    color: var(--muted);
    width: 30px;
    text-align: right;
    flex-shrink: 0
}

/* sub-ratings */
.srl {
    display: flex;
    flex-direction: column;
    gap: .7rem
}

.srl-row {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.srl-label {
    font-size: .9rem;
    color: var(--sub);
    font-weight: 500
}

.srl-right {
    display: flex;
    align-items: center;
    gap: .42rem
}

.srl-stars {
    display: flex;
    gap: .09rem
}

.srl-star {
    font-size: .74rem;
    color: #f59e0b
}

    .srl-star.dim {
        opacity: .2
    }

.srl-score {
    font-size: .74rem;
    font-weight: 700;
    color: var(--dark)
}

/* use case chips */
.uc-list {
    display: flex;
    flex-wrap: wrap;
    gap: .38rem
}

.uc-chip {
    font-size: .85rem;
    font-weight: 500;
    padding: .22rem .65rem;
    border-radius: 100px;
    border: 1.5px solid var(--border);
    background: var(--bg);
    color: var(--sub);
    cursor: pointer;
    transition: all .15s
}

    .uc-chip:hover, .uc-chip.on {
        border-color: var(--navy);
        color: var(--navy);
        background: #f0f4ff;
        font-weight: 600
    }

    .uc-chip span {
        font-size: .61rem;
        color: var(--muted);
        margin-left: .18rem
    }

/* review stats */
.stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem
}

.stat-box {
    background: var(--bg);
    border-radius: var(--radius);
    padding: .7rem .8rem
}

.stat-val {
    font-family: 'Syne',sans-serif;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--dark)
}

.stat-lbl {
    font-size: .76rem;
    color: var(--muted);
    margin-top: .1rem
}

/* trending tags */
.trend-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem
}

.trend-tag {
    font-size: .85rem;
    font-weight: 500;
    padding: .2rem .6rem;
    border-radius: 100px;
    background: var(--bg);
    border: 1px solid var(--border);
    color: var(--sub);
    cursor: pointer;
    transition: all .15s
}

    .trend-tag:hover {
        border-color: var(--navy);
        color: var(--navy);
        background: #f0f4ff
    }

    .trend-tag .cnt {
        font-size: .6rem;
        color: var(--muted);
        margin-left: .18rem
    }

/* ─────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────── */
@media(max-width:1024px) {
    .page-wrap {
        grid-template-columns: 1fr
    }

    .sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2,1fr)
    }
}

@media(max-width:768px) {
    .rc-tool-pricing {
        display: none;
    }
    .nav-links, .nav-search-btn {
        display: none
    }
    .review-list {
        max-width: 340px;
    }
    .filter-bar-inner {
        gap: .5rem
    }

    .rc-procon {
        grid-template-columns: 1fr
    }

    .sidebar {
        grid-template-columns: 1fr
    }
}

@media(max-width:600px) {
    .rc-tool-pricing{
        display:none;
    }
    .th-actions {
        width: 100%
    }
    .review-list {
        max-width: 340px;
    }
    .stat-grid {
        grid-template-columns: 1fr
    }

    .results-header {
        flex-direction: column;
        align-items: flex-start
    }
}
