
.tr-reviews-section,
.tr-business-reviews-page,
.tr-points-page,
.tr-review-simple-card {
    --tr-navy:#0B315F;
    --tr-red:#EF334F;
    --tr-green:#2E8B3C;
    --tr-muted:#64748B;
    --tr-border:#E2E8F0;
}

.tr-reviews-section {
    margin-top: 28px;
    padding: clamp(22px,4vw,36px);
    border: 1px solid var(--tr-border);
    border-radius: 24px;
    background:#fff;
    box-shadow:0 16px 42px rgba(11,49,95,.07);
}

.tr-reviews-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.tr-reviews-heading > div:first-child > span,
.tr-reviews-page-hero > span,
.tr-points-hero > div > span {
    color:var(--tr-red);
    font-size:13px;
    font-weight:900;
}

.tr-reviews-heading h2,
.tr-reviews-page-hero h1,
.tr-points-hero h1 {
    margin:5px 0 0;
    color:var(--tr-navy);
}

.tr-rating-summary {
    display:flex;
    align-items:center;
    gap:12px;
}

.tr-rating-summary > strong {
    color:var(--tr-navy);
    font-size:38px;
}

.tr-rating-summary > div {
    display:grid;
    gap:2px;
}

.tr-rating-summary small,
.tr-review-card small {
    color:var(--tr-muted);
}

.tr-stars {
    display:inline-flex;
    direction:ltr;
    gap:2px;
}

.tr-stars i {
    color:#cbd5e1;
    font-style:normal;
}

.tr-stars i.is-filled {
    color:#f59e0b;
}

.tr-family-recommended-badge {
    display:inline-flex;
    margin-top:14px;
    padding:7px 12px;
    border-radius:999px;
    color:#166534;
    background:#dcfce7;
    font-weight:900;
}

.tr-rating-breakdown {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:18px;
}

.tr-rating-breakdown article {
    display:grid;
    gap:3px;
    padding:14px;
    border-radius:14px;
    background:#f8fafc;
}

.tr-rating-breakdown span {
    color:var(--tr-muted);
    font-size:12px;
}

.tr-rating-breakdown strong {
    color:var(--tr-navy);
    font-size:20px;
}

.tr-review-list {
    display:grid;
    gap:12px;
    margin-top:20px;
}

.tr-review-card {
    padding:18px;
    border:1px solid var(--tr-border);
    border-radius:16px;
    background:#fff;
}

.tr-review-card-head {
    display:flex;
    justify-content:space-between;
    gap:16px;
}

.tr-review-card-head > div {
    display:grid;
}

.tr-review-card > p {
    margin:13px 0 0;
}

.tr-business-reply {
    margin-top:14px;
    padding:13px;
    border-right:4px solid var(--tr-navy);
    border-radius:10px;
    background:#eff6ff;
}

.tr-business-reply p {
    margin:4px 0 0;
}

.tr-review-empty {
    margin-top:18px;
    padding:24px;
    border:1px dashed #cbd5e1;
    border-radius:16px;
    color:var(--tr-muted);
    text-align:center;
}

.tr-review-form-wrap {
    margin-top:22px;
    padding-top:22px;
    border-top:1px solid var(--tr-border);
}

.tr-review-form-wrap h3 {
    color:var(--tr-navy);
}

.tr-review-form {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
}

.tr-review-form label {
    display:grid;
    gap:6px;
}

.tr-review-form label > span {
    color:var(--tr-navy);
    font-size:13px;
    font-weight:900;
}

.tr-review-form select,
.tr-review-form textarea {
    width:100%;
    margin:0;
    padding:10px 12px;
    border:1px solid var(--tr-border);
    border-radius:11px;
    font:inherit;
}

.tr-review-full,
.tr-review-form button {
    grid-column:1/-1;
}

.tr-review-form button,
.tr-business-review-card button {
    min-height:48px;
    border:0;
    border-radius:12px;
    color:#fff;
    background:var(--tr-navy);
    font:inherit;
    font-weight:900;
    cursor:pointer;
}

.tr-business-reviews-page,
.tr-points-page,
.tr-review-simple-card {
    width:min(calc(100% - 28px),1180px);
    margin:clamp(32px,5vw,70px) auto;
}

.tr-reviews-page-hero,
.tr-points-hero,
.tr-business-review-card,
.tr-points-rules article,
.tr-points-history,
.tr-review-simple-card {
    border:1px solid var(--tr-border);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 38px rgba(11,49,95,.06);
}

.tr-reviews-page-hero,
.tr-points-hero {
    padding:clamp(28px,5vw,50px);
    background:linear-gradient(135deg,#fff,#f5f9fd);
}

.tr-reviews-page-hero p,
.tr-points-hero p {
    color:var(--tr-muted);
}

.tr-business-review-list {
    display:grid;
    gap:14px;
    margin-top:18px;
}

.tr-business-review-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:20px;
    padding:22px;
}

.tr-business-review-card h2 {
    color:var(--tr-navy);
}

.tr-business-review-card form,
.tr-business-review-card label {
    display:grid;
    gap:7px;
}

.tr-business-review-card textarea {
    width:100%;
    padding:10px;
    border:1px solid var(--tr-border);
    border-radius:10px;
    font:inherit;
}

.tr-points-hero {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.tr-points-hero > strong {
    color:var(--tr-red);
    font-size:52px;
}

.tr-points-rules {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
    margin-top:16px;
}

.tr-points-rules article {
    display:grid;
    gap:3px;
    padding:18px;
}

.tr-points-rules strong {
    color:var(--tr-navy);
    font-size:24px;
}

.tr-points-rules span {
    color:var(--tr-muted);
}

.tr-points-history {
    margin-top:16px;
    padding:24px;
}

.tr-points-history h2 {
    margin-top:0;
    color:var(--tr-navy);
}

.tr-points-history article {
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:12px 0;
    border-bottom:1px solid var(--tr-border);
}

.tr-points-history article > div {
    display:grid;
}

.tr-points-history small {
    color:var(--tr-muted);
}

.tr-points-history b {
    color:var(--tr-green);
}

.tr-review-simple-card {
    max-width:620px;
    padding:34px;
    text-align:center;
}

@media(max-width:800px){
    .tr-rating-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tr-business-review-card{grid-template-columns:1fr}
}

@media(max-width:600px){
    .tr-reviews-heading,.tr-points-hero{display:block}
    .tr-rating-summary{margin-top:14px}
    .tr-review-form,.tr-rating-breakdown,.tr-points-rules{grid-template-columns:1fr}
    .tr-review-full,.tr-review-form button{grid-column:auto}
}


.tr-review-message {
    margin-bottom: 18px;
    padding: 13px 15px;
    border-radius: 12px;
    font-weight: 800;
}

.tr-review-message-success {
    color: #166534;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
}

.tr-review-message-error {
    color: #991b1b;
    border: 1px solid #fecaca;
    background: #fef2f2;
}
