/* Final review palette and hierarchy — loaded after all legacy landing styles. */
.pl-wordmark + .pl-hero-tagline {
    color: #ffdb38;
    font-family: var(--font-heading);
    font-size: clamp(12px, 3.45vw, 14px);
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: -.035em;
}

.pl-review-summary { padding: 0 4px; text-align: center; }
.pl-review-summary > div { display: none; }
.pl-review-summary h2 { margin: 0; color: #fff; font-family: var(--font-heading); font-size: 23px; font-weight: 800; letter-spacing: -.045em; }
.pl-review-summary p { margin: 8px 0 27px; color: rgba(190,199,214,.58); font-size: 10px; line-height: 1.5; }

.pl-review-scroll article {
    padding: 17px 16px 18px;
    border: 1px solid rgba(239,192,54,.34);
    border-radius: 15px;
    background: linear-gradient(145deg,#101a2b,#091221);
    box-shadow: 0 12px 28px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,227,132,.025);
}
.pl-review-scroll article::before,
.pl-review-scroll article::after { display: none; }
.pl-review-scroll header { display: flex; align-items: center; justify-content: space-between; min-height: 38px; }
.pl-review-user { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pl-review-user > i { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border: 1px solid rgba(246,205,73,.22); border-radius: 50%; background: #050912; font-size: 19px; font-style: normal; }
.pl-review-user > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pl-review-user strong { color: #fff; font-size: 11px; font-weight: 800; }
.pl-review-user small { color: rgba(183,194,210,.58); font-size: 9px; }
.pl-review-scroll header > b { padding: 0; border: 0; background: transparent; color: #f5f6f8; font-size: 11px; font-weight: 800; }
.pl-review-scroll header > b { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.pl-review-scroll header > b em { color: #ffd638; font-size: 13px; font-style: normal; }
.pl-review-scroll header > b > small { color: rgba(181,191,205,.52); font-size: 8px; font-weight: 500; }
.pl-review-scroll article > div { margin-top: 0; }
.pl-review-scroll article > p { margin: 15px 0 0; color: #fff; font-size: 12px; font-weight: 500; line-height: 1.78; letter-spacing: -.022em; word-break: keep-all; }

.pl-review-scroll {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: visible;
    padding: 0;
}
.pl-review-scroll article {
    min-width: 0;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    animation: reviewCardIn .34s ease both;
}
.pl-review-scroll article[hidden] { display: none; }
@keyframes reviewCardIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.pl-review-pagination { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 18px; }
.pl-review-pagination button {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(239,192,54,.38);
    border-radius: 50%;
    background: #0a1424;
    color: #ffdb38;
    font-size: 17px;
    cursor: pointer;
}
.pl-review-pagination button:disabled { opacity: .28; cursor: default; }
.pl-review-pagination > span { min-width: 42px; color: rgba(187,198,214,.56); font-size: 10px; text-align: center; }
.pl-review-pagination > span b { color: #fff; font-size: 12px; }
.pl-review-pagination > span i { color: rgba(187,198,214,.72); font-style: normal; }
.pl-review-loading { padding: 28px 12px; color: rgba(188,199,214,.58); font-size: 11px; text-align: center; }

/* Long reviews must grow naturally instead of being clamped or clipped. */
.pl-review-scroll article > p {
    display: block;
    height: auto;
    max-height: none;
    overflow: visible;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}
