/* ReviewZX review widgets: [bzx_reviews], [bzx-review-overallratings] and [bzx-shopreviews].
   Every colour is a custom property: bzx-review-shortcode-dark.css and the colour settings replace them. */
.reviewzx-wrapper{
    --rzx-bg:#ffffff;
    --rzx-card:#ffffff;
    --rzx-panel:#F7F8FB;
    --rzx-ink:#1B2A66;
    --rzx-heading:var(--rzx-ink);
    --rzx-body:#4A5272;
    --rzx-muted:#6B7290;
    --rzx-line:#E3E4EA;
    --rzx-line-soft:#EEEFF3;
    --rzx-input-line:#D5D8E2;
    --rzx-track:#EEEFF3;
    --rzx-track-panel:#E3E5EC;
    --rzx-bar:#1B2A66;
    --rzx-star-box:#1B2A66;
    --rzx-star:#F07142;
    --rzx-star-empty:#FFFFFF;
    --rzx-accent:#F07142;
    --rzx-accent-ink:#FFFFFF;
    --rzx-chip:#F4F5F8;
    --rzx-avatar:#E8EAF3;
    --rzx-logo:#F1F2F6;
    --rzx-hover:#ECEEF5;
    --rzx-selected:#E6E9F3;
    --rzx-filter:#FFF1EB;
    --rzx-filter-ink:#B5441B;
    --rzx-filter-line:#F8C9B5;
    --rzx-hover-row:#FAFBFC;
    --rzx-quote:#3A4672;
    --rzx-fstar-on:linear-gradient(140deg,rgba(27,42,102,.78),rgba(27,42,102,.55));
    --rzx-fstar-off:rgba(27,42,102,.04);
    --rzx-fstar-glyph-off:#C3C8D6;

    box-sizing:border-box;
    max-width:1240px;
    margin-left:auto;
    margin-right:auto;
    padding:clamp(20px,4vw,48px);
    border-radius:20px;
    background:var(--rzx-bg);
    color:var(--rzx-ink);
    font-family:inherit;
    -webkit-font-smoothing:antialiased;
    display:flex;
    flex-direction:column;
    gap:36px;
}

.reviewzx-wrapper *,
.reviewzx-wrapper *::before,
.reviewzx-wrapper *::after{
    box-sizing:border-box;
}

.reviewzx-wrapper [hidden]{
    display:none !important;
}

.reviewzx-wrapper a{
    color:var(--rzx-ink);
}

.reviewzx-wrapper a:hover{
    color:var(--rzx-accent);
}

.reviewzx-wrapper a:focus-visible,
.reviewzx-wrapper button:focus-visible,
.reviewzx-wrapper select:focus-visible,
.reviewzx-wrapper input:focus-visible{
    outline:2px solid var(--rzx-ink);
    outline-offset:2px;
}

.reviewzx-sr{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
}

/* Summary */
.reviewzx-summary{
    display:flex;
    flex-direction:column;
    gap:36px;
}

.reviewzx-summary-page{
    gap:32px;
}

.reviewzx-summary-head{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
}

.reviewzx-summary-title{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.reviewzx-wrapper .reviewzx-summary-title h2{
    margin:0;
    padding:0;
    font-family:inherit;
    font-size:clamp(26px,3vw,34px);
    font-weight:800;
    letter-spacing:-.02em;
    line-height:1.15;
    color:var(--rzx-heading);
    text-transform:none;
}

.reviewzx-wrapper .reviewzx-summary-page .reviewzx-summary-title h2{
    font-size:clamp(28px,3.4vw,40px);
}

.reviewzx-basis{
    margin:0;
    font-size:15px;
    line-height:1.5;
    color:var(--rzx-body);
}

.reviewzx-wrapper .reviewzx-see-all{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:15px;
    font-weight:600;
    text-decoration:none;
}

.reviewzx-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
    gap:32px;
    align-items:start;
}

.reviewzx-summary-page .reviewzx-stats{
    padding:28px;
    border-radius:16px;
    background:var(--rzx-panel);
}

.reviewzx-score-block{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.reviewzx-summary-page .reviewzx-score-block{
    gap:8px;
}

.reviewzx-score{
    display:flex;
    align-items:baseline;
    gap:8px;
}

.reviewzx-big-rating{
    font-size:64px;
    font-weight:800;
    letter-spacing:-.04em;
    line-height:1;
    color:var(--rzx-heading);
}

.reviewzx-summary-page .reviewzx-big-rating{
    font-size:56px;
}

.reviewzx-score-max{
    font-size:18px;
    font-weight:600;
    color:var(--rzx-muted);
}

.reviewzx-summary-page .reviewzx-score-max{
    font-size:17px;
}

.reviewzx-score-count{
    font-size:14px;
    color:var(--rzx-body);
}

/* Stars: navy squares, the star glyph filled up to --rzx-fill */
.reviewzx-stars{
    display:inline-flex;
    gap:3px;
    line-height:1;
}

.reviewzx-star{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:2px;
    background:var(--rzx-star-box);
    font-size:14px;
    line-height:1;
}

.reviewzx-star span{
    background:linear-gradient(90deg,var(--rzx-star) var(--rzx-fill),var(--rzx-star-empty) var(--rzx-fill));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.reviewzx-stars-lg{
    gap:5px;
}

.reviewzx-stars-lg .reviewzx-star{
    width:32px;
    height:32px;
    border-radius:4px;
    font-size:20px;
}

.reviewzx-stars-md{
    gap:4px;
}

.reviewzx-stars-md .reviewzx-star{
    width:28px;
    height:28px;
    border-radius:3px;
    font-size:17px;
}

@media (forced-colors:active){
    .reviewzx-star span{
        background:none;
        color:CanvasText;
    }
}

/* Star distribution and category averages */
.reviewzx-dist{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.reviewzx-summary-page .reviewzx-dist{
    gap:6px;
}

.reviewzx-dist-row{
    display:grid;
    grid-template-columns:28px 1fr 40px;
    align-items:center;
    gap:10px;
    font-size:13.5px;
}

.reviewzx-wrapper button.reviewzx-dist-row{
    width:100%;
    min-height:0;
    margin:0;
    padding:3px 6px;
    border:0;
    border-radius:6px;
    background:transparent;
    box-shadow:none;
    color:var(--rzx-ink);
    font:inherit;
    font-size:13.5px;
    line-height:1.5;
    letter-spacing:normal;
    text-align:left;
    text-transform:none;
    cursor:pointer;
}

.reviewzx-wrapper button.reviewzx-dist-row:hover{
    background:var(--rzx-hover);
}

.reviewzx-wrapper button.reviewzx-dist-row[aria-pressed="true"]{
    background:var(--rzx-selected);
}

.reviewzx-wrapper button.reviewzx-dist-row:disabled{
    cursor:default;
    background:transparent;
    opacity:.5;
}

.reviewzx-dist-label{
    font-weight:600;
    white-space:nowrap;
}

.reviewzx-dist-count{
    color:var(--rzx-muted);
    text-align:right;
}

.reviewzx-bar{
    display:block;
    height:8px;
    border-radius:4px;
    background:var(--rzx-track);
    overflow:hidden;
}

.reviewzx-summary-page .reviewzx-bar{
    background:var(--rzx-track-panel);
}

.reviewzx-bar > span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:var(--rzx-bar);
}

.reviewzx-wrapper .reviewzx-bar-thin{
    height:4px;
    border-radius:2px;
}

.reviewzx-hint{
    padding-left:6px;
    font-size:12px;
    color:var(--rzx-muted);
}

.reviewzx-cats{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.reviewzx-cat{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.reviewzx-cat-head{
    display:flex;
    justify-content:space-between;
    font-size:14px;
}

.reviewzx-cat-head span{
    font-weight:600;
}

.reviewzx-cat-head strong{
    font-weight:700;
}

/* Platforms */
.reviewzx-platforms{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.reviewzx-wrapper .reviewzx-platform{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 16px 10px 10px;
    border:1px solid var(--rzx-line);
    border-radius:12px;
    color:var(--rzx-ink);
    text-decoration:none;
    transition:border-color .2s ease;
}

.reviewzx-wrapper a.reviewzx-platform:hover{
    border-color:var(--rzx-ink);
    color:var(--rzx-ink);
}

.reviewzx-platform-logo{
    display:grid;
    place-items:center;
    flex:none;
    width:36px;
    height:36px;
    border-radius:8px;
    background:var(--rzx-logo);
}

.reviewzx-platform-logo img{
    display:block;
    width:22px;
    height:22px;
    object-fit:contain;
}

.reviewzx-platform-text{
    display:flex;
    flex-direction:column;
    gap:1px;
}

.reviewzx-platform-name{
    font-size:13px;
    color:var(--rzx-body);
}

.reviewzx-platform-score{
    font-size:15px;
    font-weight:700;
    white-space:nowrap;
}

.reviewzx-platform-star{
    color:var(--rzx-star);
}

.reviewzx-platform-count{
    font-size:13px;
    font-weight:400;
    color:var(--rzx-muted);
}

/* Review cards */
.reviewzx-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
    gap:16px;
}

.reviewzx-card{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:16px;
    padding:24px;
    border:1px solid var(--rzx-line);
    border-radius:16px;
    background:var(--rzx-card);
    color:var(--rzx-ink);
}

.reviewzx-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}

.reviewzx-date{
    font-size:13px;
    color:var(--rzx-muted);
    white-space:nowrap;
}

.reviewzx-review-title{
    display:block;
    font-size:15px;
    font-weight:700;
}

.reviewzx-quote{
    flex:1;
    margin:0;
    font-size:16px;
    line-height:1.55;
    text-wrap:pretty;
    overflow-wrap:anywhere;
    display:-webkit-box;
    -webkit-line-clamp:5;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.reviewzx-card-author{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid var(--rzx-line-soft);
}

.reviewzx-avatar{
    display:grid;
    place-items:center;
    flex:none;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--rzx-avatar);
    color:var(--rzx-ink);
    font-size:14px;
    font-weight:700;
    overflow:hidden;
}

.reviewzx-avatar img{
    display:block;
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
}

.reviewzx-author{
    display:flex;
    flex-direction:column;
    flex:1;
    min-width:0;
}

.reviewzx-author-name{
    font-size:14px;
    font-weight:600;
    overflow-wrap:anywhere;
}

.reviewzx-author-source{
    font-size:12.5px;
    color:var(--rzx-muted);
}

.reviewzx-wrapper .reviewzx-author-source a{
    color:inherit;
    text-decoration:underline;
    text-decoration-color:var(--rzx-line);
    text-underline-offset:2px;
}

.reviewzx-wrapper .reviewzx-author-source a:hover{
    color:var(--rzx-ink);
    text-decoration-color:currentColor;
}

/* The source link covers the whole card: a click anywhere opens the original review */
.reviewzx-card:has(.reviewzx-card-link){
    cursor:pointer;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.reviewzx-card:has(.reviewzx-card-link):hover{
    border-color:var(--rzx-ink);
    box-shadow:0 6px 18px rgba(27,42,102,.08);
}

.reviewzx-card-link::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    border-radius:16px;
}

.reviewzx-wrapper .reviewzx-card-link:focus-visible{
    outline:none;
}

.reviewzx-wrapper .reviewzx-card-link:focus-visible::after{
    outline:2px solid var(--rzx-ink);
    outline-offset:2px;
}

/* Full cards of [bzx-shopreviews]: masonry columns, sized to their content */
.reviewzx-review-list{
    columns:2 360px;
    column-gap:16px;
}

.reviewzx-card-full{
    break-inside:avoid;
    margin-bottom:16px;
    padding:22px;
    gap:14px;
}

.reviewzx-card-head{
    display:flex;
    align-items:center;
    gap:12px;
}

.reviewzx-card-full .reviewzx-avatar{
    width:40px;
    height:40px;
    font-size:15px;
}

.reviewzx-card-full .reviewzx-author-name{
    font-size:15px;
}

.reviewzx-card-head .reviewzx-date{
    flex:none;
}

.reviewzx-card-rating{
    display:flex;
    align-items:center;
    gap:10px;
}

.reviewzx-rating-scale{
    font-size:13px;
    color:var(--rzx-muted);
}

.reviewzx-review-text{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.reviewzx-review-text p{
    margin:0;
    font-size:15.5px;
    line-height:1.6;
    text-wrap:pretty;
    overflow-wrap:anywhere;
}

.reviewzx-score-chips{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.reviewzx-score-chip{
    padding:4px 8px;
    border-radius:6px;
    background:var(--rzx-chip);
    font-size:12.5px;
}

.reviewzx-dish{
    font-size:13px;
    color:var(--rzx-body);
}

.reviewzx-dish strong{
    font-weight:600;
    color:var(--rzx-ink);
}

.reviewzx-scope{
    font-size:12.5px;
    color:var(--rzx-muted);
}

.reviewzx-reply{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:14px 16px;
    border-radius:10px;
    background:var(--rzx-panel);
}

.reviewzx-reply strong{
    font-size:12.5px;
    font-weight:700;
}

.reviewzx-reply p{
    margin:0;
    font-size:14px;
    line-height:1.5;
    color:var(--rzx-body);
    overflow-wrap:anywhere;
}

/* Filters and sort order of [bzx-shopreviews] */
.reviewzx-toolbar{
    position:sticky;
    top:var(--wp-admin--admin-bar--height,0px);
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid var(--rzx-line-soft);
    background:var(--rzx-bg);
}

.reviewzx-toolbar-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.reviewzx-chips{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

.reviewzx-wrapper button.reviewzx-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:0;
    margin:0;
    padding:8px 14px;
    border:1px solid var(--rzx-input-line);
    border-radius:999px;
    background:var(--rzx-bg);
    box-shadow:none;
    color:var(--rzx-ink);
    font:inherit;
    font-size:14px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:normal;
    text-transform:none;
    cursor:pointer;
}

.reviewzx-wrapper button.reviewzx-chip:hover{
    border-color:var(--rzx-ink);
}

.reviewzx-wrapper button.reviewzx-chip[aria-pressed="true"]{
    border-color:var(--rzx-ink);
    background:var(--rzx-ink);
    color:var(--rzx-bg);
}

.reviewzx-wrapper button.reviewzx-rating-chip{
    border-color:var(--rzx-filter-line);
    background:var(--rzx-filter);
    color:var(--rzx-filter-ink);
}

.reviewzx-controls{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:16px;
}

.reviewzx-wrapper .reviewzx-controls label{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    color:var(--rzx-ink);
    font-size:14px;
    font-weight:400;
}

.reviewzx-wrapper .reviewzx-text-only{
    cursor:pointer;
}

.reviewzx-wrapper .reviewzx-controls input[type="checkbox"]{
    width:18px;
    height:18px;
    margin:0;
    accent-color:var(--rzx-ink);
}

.reviewzx-wrapper .reviewzx-controls select{
    width:auto;
    height:auto;
    min-height:0;
    margin:0;
    padding:8px 10px;
    border:1px solid var(--rzx-input-line);
    border-radius:8px;
    background-color:var(--rzx-bg);
    color:var(--rzx-ink);
    font:inherit;
    font-size:14px;
}

.reviewzx-result-count{
    margin:0;
    font-size:13.5px;
    color:var(--rzx-muted);
}

.reviewzx-empty{
    margin:0;
    text-align:center;
    color:var(--rzx-muted);
    font-size:15px;
}

/* End of the list: next batch loads when this scrolls into view */
.reviewzx-load-more{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:1px;
}

.reviewzx-loader{
    width:28px;
    height:28px;
    border:3px solid var(--rzx-line);
    border-top-color:var(--rzx-ink);
    border-radius:50%;
    animation:reviewzx-spin .8s linear infinite;
}

@keyframes reviewzx-spin{
    to{transform:rotate(360deg);}
}

/* [bzx-productreviews]: header figures, search, category chips and the ranked dish table */
.reviewzx-product-reviews{
    gap:24px;
}

/* fullwidth: the whole browser width, whatever the theme's content column. --rzx-scrollbar (set by the
   script) keeps a vertical scrollbar from causing sideways scrolling. */
.reviewzx-wrapper.reviewzx-fullwidth{
    --rzx-viewport:calc(100vw - var(--rzx-scrollbar,0px));
    width:var(--rzx-viewport);
    max-width:none;
    margin-left:calc(50% - var(--rzx-viewport) / 2);
    margin-right:0;
    border-radius:0;
    padding-left:clamp(16px,4vw,64px);
    padding-right:clamp(16px,4vw,64px);
}

.reviewzx-pr-head{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
}

.reviewzx-pr-title{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.reviewzx-wrapper .reviewzx-pr-title h2{
    margin:0;
    padding:0;
    color:var(--rzx-heading);
    font-family:inherit;
    font-size:30px;
    font-weight:700;
    letter-spacing:-.01em;
    line-height:1.2;
}

.reviewzx-pr-title p{
    margin:0;
    color:var(--rzx-body);
    font-size:15px;
}

.reviewzx-pr-stats{
    display:flex;
    gap:32px;
    margin:0;
}

.reviewzx-pr-stats div{
    display:flex;
    flex-direction:column-reverse;
    gap:2px;
}

.reviewzx-pr-stats dt{
    color:var(--rzx-body);
    font-size:12px;
}

.reviewzx-pr-stats dd{
    margin:0;
    color:var(--rzx-heading);
    font-size:24px;
    font-weight:700;
    line-height:1.2;
}

.reviewzx-pr-controls{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
}

.reviewzx-wrapper .reviewzx-pr-search{
    flex:0 1 260px;
    margin:0;
}

.reviewzx-wrapper .reviewzx-pr-search input{
    width:100%;
    height:38px;
    margin:0;
    padding:0 14px;
    border:1px solid var(--rzx-input-line);
    border-radius:8px;
    background:var(--rzx-bg);
    color:var(--rzx-ink);
    font:inherit;
    font-size:14px;
}

.reviewzx-wrapper .reviewzx-pr-search input:focus{
    border-color:var(--rzx-ink);
    outline:none;
}

.reviewzx-pr-controls .reviewzx-chips{
    gap:6px;
}

.reviewzx-wrapper .reviewzx-pr-controls button.reviewzx-chip{
    height:34px;
    padding:0 14px;
    font-size:13px;
}

/* Sort menu for phones; the column headings sort on larger screens */
.reviewzx-wrapper .reviewzx-pr-sort{
    display:none;
    align-items:center;
    gap:8px;
    margin:0;
    color:var(--rzx-ink);
    font-size:14px;
}

.reviewzx-wrapper .reviewzx-pr-sort select{
    width:auto;
    height:auto;
    margin:0;
    padding:8px 10px;
    border:1px solid var(--rzx-input-line);
    border-radius:8px;
    background-color:var(--rzx-bg);
    color:var(--rzx-ink);
    font:inherit;
    font-size:14px;
}

.reviewzx-pr-table-wrap{
    border:1px solid var(--rzx-line);
    border-radius:10px;
    overflow:hidden;
}

.reviewzx-wrapper .reviewzx-pr-table{
    width:100%;
    margin:0;
    border:0;
    border-collapse:collapse;
    table-layout:fixed;
    color:var(--rzx-ink);
    font-size:14px;
}

.reviewzx-wrapper .reviewzx-pr-table th,
.reviewzx-wrapper .reviewzx-pr-table td{
    padding:14px 8px;
    border:0;
    border-bottom:1px solid var(--rzx-line-soft);
    background:none;
    text-align:left;
    vertical-align:middle;
}

.reviewzx-wrapper .reviewzx-pr-table th:first-child,
.reviewzx-wrapper .reviewzx-pr-table td:first-child{
    padding-left:20px;
}

.reviewzx-wrapper .reviewzx-pr-table th:last-child,
.reviewzx-wrapper .reviewzx-pr-table td:last-child{
    padding-right:20px;
}

.reviewzx-pr-col-rank{ width:68px; }
.reviewzx-pr-col-name{ width:24%; }
.reviewzx-pr-col-rating{ width:146px; }
.reviewzx-pr-col-count{ width:92px; }
.reviewzx-pr-col-recommend{ width:116px; }
.reviewzx-pr-col-latest{ width:112px; }

.reviewzx-wrapper .reviewzx-pr-table thead th{
    padding-top:12px;
    padding-bottom:12px;
    border-bottom-color:var(--rzx-line);
    background:var(--rzx-panel);
    color:var(--rzx-body);
    font-size:12px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.reviewzx-wrapper .reviewzx-pr-table thead button{
    display:inline-flex;
    gap:4px;
    margin:0;
    padding:0;
    border:0;
    background:none;
    box-shadow:none;
    color:inherit;
    font:inherit;
    letter-spacing:inherit;
    text-transform:inherit;
    cursor:pointer;
}

.reviewzx-wrapper .reviewzx-pr-table thead button:hover{
    color:var(--rzx-ink);
}

.reviewzx-wrapper .reviewzx-pr-table tbody tr:hover > *{
    background:var(--rzx-hover-row);
}

.reviewzx-wrapper .reviewzx-pr-table tbody tr:last-child > *{
    border-bottom:0;
}

.reviewzx-pr-rank span{
    display:inline-grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--rzx-chip);
    font-size:12px;
    font-weight:700;
}

.reviewzx-wrapper .reviewzx-pr-table .reviewzx-pr-dish{
    font-weight:400;
}

.reviewzx-pr-dish{
    display:flex;
    align-items:center;
    gap:12px;
}

.reviewzx-wrapper .reviewzx-pr-table th.reviewzx-pr-dish{
    display:table-cell;
}

.reviewzx-pr-dish img,
.reviewzx-pr-photo{
    float:left;
    width:52px;
    height:40px;
    margin-right:12px;
    border-radius:6px;
    object-fit:cover;
}

.reviewzx-pr-photo{
    background:repeating-linear-gradient(45deg,var(--rzx-chip) 0 6px,var(--rzx-line) 6px 12px);
}

.reviewzx-pr-dish-text{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
    min-height:40px;
    justify-content:center;
}

.reviewzx-wrapper .reviewzx-pr-dish-text a{
    color:var(--rzx-ink);
    font-weight:600;
    text-decoration:none;
    overflow-wrap:anywhere;
}

.reviewzx-wrapper .reviewzx-pr-dish-text a:hover{
    color:var(--rzx-accent);
}

.reviewzx-pr-meta{
    color:var(--rzx-body);
    font-size:12px;
}

.reviewzx-pr-rating strong{
    display:block;
    margin-bottom:5px;
    font-weight:700;
}

.reviewzx-pr-count{
    font-weight:600;
}

.reviewzx-pr-latest{
    color:var(--rzx-body);
    font-size:13px;
}

.reviewzx-pr-recent{
    font-size:13px;
}

.reviewzx-pr-review + .reviewzx-pr-review{
    margin-top:8px;
}

.reviewzx-pr-review{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
}

.reviewzx-pr-review-head{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--rzx-muted);
    font-size:11px;
}

.reviewzx-pr-review-text{
    overflow:hidden;
    color:var(--rzx-quote);
    line-height:1.4;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* Frosted star squares; the glyph and the square fill up to --rzx-fill */
.reviewzx-fstars{
    display:inline-flex;
    gap:2px;
    line-height:1;
}

.reviewzx-fstar{
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:3px;
    background:var(--rzx-fstar-on) 0 0 / var(--rzx-fill) 100% no-repeat, var(--rzx-fstar-off);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 1px 3px rgba(27,42,102,.18);
    font-size:13px;
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
}

.reviewzx-fstar span{
    background:linear-gradient(90deg,var(--rzx-star) var(--rzx-fill),var(--rzx-fstar-glyph-off) var(--rzx-fill));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.reviewzx-fstars-xs .reviewzx-fstar{
    width:13px;
    height:13px;
    font-size:9px;
}

@media (forced-colors:active){
    .reviewzx-fstar span{
        background:none;
        color:CanvasText;
    }
}

.reviewzx-product-reviews .reviewzx-empty{
    padding:32px;
}

.reviewzx-pr-note{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
    margin:0;
    color:var(--rzx-muted);
    font-size:12.5px;
}

/* Phones and narrow columns: each dish becomes a card */
@media (max-width:900px){
    .reviewzx-wrapper .reviewzx-pr-sort{
        display:flex;
    }

    .reviewzx-wrapper .reviewzx-pr-search{
        flex:1 1 220px;
    }

    .reviewzx-pr-table-wrap{
        border:0;
        border-radius:0;
        overflow:visible;
    }

    .reviewzx-wrapper .reviewzx-pr-table thead{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
    }

    .reviewzx-wrapper .reviewzx-pr-table,
    .reviewzx-wrapper .reviewzx-pr-table tbody{
        display:block;
    }

    .reviewzx-wrapper .reviewzx-pr-table tbody tr{
        position:relative;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:12px 10px;
        margin-bottom:12px;
        padding:16px;
        border:1px solid var(--rzx-line);
        border-radius:12px;
    }

    .reviewzx-wrapper .reviewzx-pr-table tbody tr[hidden]{
        display:none;
    }

    .reviewzx-wrapper .reviewzx-pr-table tbody tr:hover > *{
        background:none;
    }

    .reviewzx-wrapper .reviewzx-pr-table tbody th,
    .reviewzx-wrapper .reviewzx-pr-table tbody td,
    .reviewzx-wrapper .reviewzx-pr-table tbody th:first-child,
    .reviewzx-wrapper .reviewzx-pr-table tbody td:first-child,
    .reviewzx-wrapper .reviewzx-pr-table tbody td:last-child{
        display:block;
        padding:0;
        border:0;
    }

    .reviewzx-wrapper .reviewzx-pr-table .reviewzx-pr-rank{
        position:absolute;
        top:16px;
        right:16px;
    }

    .reviewzx-wrapper .reviewzx-pr-table th.reviewzx-pr-dish{
        display:block;
        grid-column:1 / -1;
        padding-right:40px;
    }

    .reviewzx-wrapper .reviewzx-pr-table .reviewzx-pr-rating{
        grid-column:span 2;
    }

    .reviewzx-wrapper .reviewzx-pr-table .reviewzx-pr-latest,
    .reviewzx-wrapper .reviewzx-pr-table .reviewzx-pr-recent{
        grid-column:1 / -1;
    }

    .reviewzx-wrapper .reviewzx-pr-table .reviewzx-pr-recent:empty{
        display:none;
    }

    .reviewzx-pr-table td[data-label]::before{
        content:attr(data-label);
        display:block;
        margin-bottom:4px;
        color:var(--rzx-muted);
        font-size:11px;
        font-weight:600;
        letter-spacing:.04em;
        text-transform:uppercase;
    }

    .reviewzx-pr-latest[data-label]::before{
        display:inline;
        margin-right:6px;
    }

    .reviewzx-pr-rating strong{
        display:inline;
        margin:0 6px 0 0;
    }

    .reviewzx-pr-review-text{
        white-space:normal;
    }

    .reviewzx-pr-stats{
        gap:20px;
    }
}

/* Page links under the list (pagination="yes") */
.reviewzx-wrapper .wpbr-review-pagination{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:6px;
    padding-top:8px;
    font-size:14px;
    color:var(--rzx-muted);
}

.reviewzx-wrapper .wpbr-review-pagination a{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-width:40px;
    height:40px;
    padding:0 12px;
    border:1px solid var(--rzx-input-line);
    border-radius:10px;
    background:var(--rzx-bg);
    color:var(--rzx-ink);
    font-weight:600;
    text-decoration:none;
}

.reviewzx-wrapper .wpbr-review-pagination a:hover{
    border-color:var(--rzx-ink);
    color:var(--rzx-ink);
}

.reviewzx-wrapper .wpbr-review-pagination a[aria-current="page"]{
    border-color:var(--rzx-ink);
    background:var(--rzx-ink);
    color:var(--rzx-bg);
}

/* "Read all reviews" and "Write a review" */
.reviewzx-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.reviewzx-wrapper .reviewzx-button{
    display:inline-block;
    padding:13px 22px;
    border-radius:10px;
    font-size:15px;
    font-weight:700;
    line-height:1.2;
    text-decoration:none;
}

.reviewzx-wrapper .reviewzx-button-primary,
.reviewzx-wrapper .reviewzx-button-primary:hover{
    background:var(--rzx-accent);
    color:var(--rzx-accent-ink);
}

.reviewzx-wrapper .reviewzx-button-primary:hover{
    filter:brightness(.94);
}

.reviewzx-wrapper .reviewzx-button-secondary{
    padding:12px 22px;
    border:1px solid var(--rzx-ink);
    color:var(--rzx-ink);
    font-weight:600;
}

.reviewzx-wrapper .reviewzx-button-secondary:hover{
    background:var(--rzx-ink);
    color:var(--rzx-bg);
}

/* Slider of [bzx_reviews] */
.reviewzx-slider{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.reviewzx-testimonial-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
}

.reviewzx-wrapper .reviewzx-testimonial-title{
    margin:0;
    font-family:inherit;
    font-size:20px;
    font-weight:700;
    color:var(--rzx-heading);
}

.reviewzx-navigation{
    display:flex;
    gap:8px;
}

.reviewzx-wrapper button.reviewzx-nav{
    width:44px;
    height:44px;
    min-height:0;
    margin:0;
    padding:0;
    border:1px solid var(--rzx-line);
    border-radius:12px;
    background:var(--rzx-bg);
    box-shadow:none;
    color:var(--rzx-ink);
    font-size:18px;
    line-height:1;
    cursor:pointer;
}

.reviewzx-wrapper button.reviewzx-nav:hover{
    border-color:var(--rzx-ink);
}

.reviewzx-carousel{
    display:flex;
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
}

.reviewzx-carousel::-webkit-scrollbar{
    display:none;
}

.reviewzx-carousel .reviewzx-card{
    flex:0 0 min(340px,85%);
    scroll-snap-align:start;
}

.wpbr-no-reviews{
    margin:0;
    color:var(--rzx-muted);
}

@media (max-width:767px){
    /* Filters wrap onto several lines on phones: keep them in the flow instead of covering the reviews */
    .reviewzx-toolbar{
        position:static;
    }

    .reviewzx-big-rating{
        font-size:54px;
    }
}

@media (prefers-reduced-motion:reduce){
    .reviewzx-carousel{
        scroll-behavior:auto;
    }

    .reviewzx-loader{
        animation-duration:2s;
    }
}
