/* Product Review components only. Existing Best Of CSS is untouched. */
.gpl-pr { width: min(calc(100% - 2rem), 1040px); margin: clamp(1.5rem, 3vw, 2.5rem) auto; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--gpl-border); border-top: 3px solid var(--gpl-primary); border-radius: 8px; background: #fff; line-height: 1.65; }
.gpl-pr h2 { color: var(--gpl-heading); font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.15; margin-bottom: 1.25rem; }
.gpl-pr h3 { color: var(--gpl-heading); font-size: clamp(1.3rem, 2vw, 2rem); line-height: 1.25; }
.gpl-pr-summary { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.3fr); gap: clamp(1rem, 3vw, 2rem); align-items: start; }
.gpl-pr-summary > * { min-width: 0; }
.gpl-pr-image { display: grid; place-items: center; padding: clamp(1rem, 3vw, 2rem); background: var(--gpl-surface); border-radius: 8px; }
.gpl-pr-image .gpl-product-image { width: auto; max-width: 100%; height: auto; max-height: none; object-fit: contain; }
.gpl-pr-score { display: flex; gap: .6rem; align-items: baseline; flex-wrap: wrap; }
.gpl-pr-score strong { color: var(--gpl-primary); font-size: clamp(1.25rem, 1.6vw, 1.75rem); }
.gpl-pr-score span { color: var(--gpl-muted); font-size: .85rem; font-weight: 700; }
.gpl-pr-status { padding: .6rem .8rem; background: var(--gpl-primary-light); border-radius: 4px; }
.gpl-pr-disclosure { margin: .75rem 0 0; color: var(--gpl-text); font-size: .875rem; }
.gpl-pr-criteria { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 0; }
.gpl-pr-criterion { padding: 1rem; border: 1px solid var(--gpl-border); border-radius: 8px; background: var(--gpl-surface); }
.gpl-pr-criterion dt { color: var(--gpl-heading); font-weight: 700; }
.gpl-pr-criterion dd { margin: .4rem 0 0; }
.gpl-pr-criterion dd > strong { color: var(--gpl-primary); font-size: 1.25rem; }
.gpl-pr-criterion p { margin: .65rem 0 0; }
.gpl-pr-points { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.gpl-pr-point-panel { padding: 1rem; border: 1px solid; border-radius: 8px; }
.gpl-pr-point-panel--pro { background: #F0FDF4; border-color: #15803D; }
.gpl-pr-point-panel--con { background: #FEF2F2; border-color: #B91C1C; }
.gpl-pr-point-panel h3 { font-size: 1.2rem; }
.gpl-pr-point-panel ul { margin: 0; padding-left: 1.25rem; }
.gpl-pr-point-panel li + li { margin-top: .6rem; }
.gpl-pr-specifications { margin: 0; }
.gpl-pr-specifications > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); border-bottom: 1px solid var(--gpl-border); }
.gpl-pr-specifications dt, .gpl-pr-specifications dd { padding: .8rem; margin: 0; overflow-wrap: anywhere; }
.gpl-pr-specifications dt { background: var(--gpl-surface); font-weight: 700; }
.gpl-pr-specifications > div:last-child { border-bottom: 0; }
/* Native Post Content has no control for its descendant table scroll region. */
.gpl-product-review-candidate .gpl-pr-body .wp-block-table { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid #E5E7EB; border-radius: 8px; margin-inline: 0; }
.gpl-product-review-candidate .gpl-pr-body table { width: 100%; min-width: 42rem; border-collapse: collapse; font-size: 1rem; }
.gpl-product-review-candidate .gpl-pr-body :is(th,td) { padding: .8rem; vertical-align: top; }
.gpl-product-review-candidate .gpl-pr-body .wp-block-table:focus-visible { outline: 3px solid #1C4A7A; outline-offset: 3px; }
.gpl-product-review-candidate .gpl-pr-table-hint { color: #1C4A7A; font-size: .875rem; }
@media (max-width: 1024px) { .gpl-pr-summary { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .gpl-pr-points, .gpl-pr-criteria { grid-template-columns: 1fr; } }
