/* ============================================================================
   DIY Off Road — PDP Reviews (carousel + empty state + form).
   Built on design-system.css tokens. Reuses the carousel mechanics/classes
   from related-carousel.css (.jadog-carousel-wrap/track/arrow).
   ========================================================================== */

.jadog-reviews { clear: both; }

/* Heading row: title + aggregate ------------------------------------------- */
.jadog-reviews__head {
    display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px;
}
.jadog-reviews__title { margin-bottom: 0; flex: 1 1 auto; }
.jadog-reviews__agg { display: inline-flex; align-items: center; gap: 8px; padding-bottom: var(--diy-space-3); }
.jadog-reviews__aggtext { font-size: 13px; color: var(--diy-muted); }
.jadog-reviews__aggtext strong { color: var(--diy-text); font-size: 15px; }

/* Star meter --------------------------------------------------------------- */
.jadog-stars {
    --n: 0;
    display: inline-block; position: relative;
    font-size: 17px; line-height: 1; color: var(--diy-hair-2);
    font-family: Arial, "Helvetica Neue", sans-serif; white-space: nowrap;
}
.jadog-stars::before { content: "\2605\2605\2605\2605\2605"; }
.jadog-stars::after {
    content: "\2605\2605\2605\2605\2605";
    position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap;
    color: var(--diy-brand); width: calc(var(--n) / 5 * 100%);
}

/* "Write a review" bar ----------------------------------------------------- */
.jadog-reviews__bar { margin: 16px 0 4px; }
.jadog-reviews__write,
.jadog-reviews__cta {
    appearance: none; cursor: pointer;
    font-family: var(--diy-font-display);
    text-transform: uppercase; letter-spacing: .07em; font-weight: 600; font-size: 13px;
    color: var(--diy-brand); background: none;
    border: 1px solid var(--diy-brand); border-radius: var(--diy-radius);
    padding: 9px 18px; transition: background .18s ease, color .18s ease;
}
.jadog-reviews__write:hover,
.jadog-reviews__cta:hover { background: var(--diy-brand); color: #fff; }

/* Carousel track spacing (mechanics inherited from related-carousel.css) ---- */
.jadog-reviews__wrap { margin-top: 14px; }

.jadog-review-card {
    flex: 0 0 auto; width: 320px; scroll-snap-align: start;
    display: flex; flex-direction: column;
    background: var(--diy-paper);
    border: 1px solid var(--diy-hair); border-radius: var(--diy-radius);
    padding: 20px 22px; text-align: left;
}
.jadog-review-card__top {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 12px; gap: 10px;
}
.jadog-review-card__date {
    font-family: var(--diy-font-mono); font-size: 11px; letter-spacing: .06em;
    text-transform: uppercase; color: var(--diy-faint);
}
.jadog-review-card__body {
    font-size: 14.5px; line-height: 1.6; color: var(--diy-text);
    margin: 0 0 16px; flex: 1 1 auto;
    overflow: hidden; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical;
}
.jadog-review-card__by {
    margin: 0; font-family: var(--diy-font-display);
    text-transform: uppercase; letter-spacing: .06em; font-weight: 600;
    font-size: 13px; color: var(--diy-muted);
}
.jadog-review-card__by::before {
    content: "// "; font-family: var(--diy-font-mono); color: var(--diy-brand); font-weight: 400;
}

/* Empty state -------------------------------------------------------------- */
.jadog-reviews__empty {
    text-align: center; padding: 30px 20px 8px;
    border: 1px dashed var(--diy-hair-2); border-radius: var(--diy-radius);
    background: var(--diy-paper-2);
}
.jadog-reviews__empty .jadog-stars { font-size: 22px; margin-bottom: 10px; }
.jadog-reviews__emptytext { margin: 0 0 16px; color: var(--diy-muted); font-size: 14px; }

/* Review form (revealed) --------------------------------------------------- */
.jadog-reviews__form {
    margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--diy-hair);
}
.jadog-reviews__form .review-add .block-title { margin-bottom: 14px; }
.jadog-reviews__form .review-add .block-title strong {
    font-family: var(--diy-font-display); text-transform: uppercase;
    letter-spacing: .06em; font-weight: 600; font-size: 16px; color: var(--diy-text);
}
.jadog-reviews__form .legend.review-legend { color: var(--diy-muted); font-size: 14px; }
.jadog-reviews__form .review-field-nickname,
.jadog-reviews__form .review-field-text { max-width: 560px; }
.jadog-reviews__form input.input-text,
.jadog-reviews__form textarea {
    border: 1px solid var(--diy-hair-2); border-radius: var(--diy-radius-sm);
}
.jadog-reviews__form input.input-text:focus,
.jadog-reviews__form textarea:focus {
    border-color: var(--diy-brand); box-shadow: 0 0 0 2px rgba(25,121,195,.15);
}
.jadog-reviews__form .action.submit.primary {
    background: var(--diy-brand); border-color: var(--diy-brand); border-radius: var(--diy-radius);
}
.jadog-reviews__form .action.submit.primary:hover {
    background: var(--diy-brand-deep); border-color: var(--diy-brand-deep);
}

@media (max-width: 768px) {
    .jadog-review-card { width: 270px; padding: 18px; }
}
