/* The Learning Loft Shop extras: reviews. Uses the kit's colors and fonts (--ts-*). */
div.product > .lls-reviews { grid-column: 1 / -1; }
.lls-reviews { padding-top: 34px; border-top: 1.5px solid var(--ts-line, #e3e7ec); max-width: 52em; }
.lls-reviews h2 { font-size: 1.45rem; margin-bottom: 6px; }
.lls-reviews h3 { font-size: 1.15rem; margin: 28px 0 10px; }
.lls-reviews__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin-bottom: 14px; }
.lls-reviews__sum { margin: 0; display: flex; align-items: center; gap: 8px; color: var(--ts-muted, #4b5563); }
.lls-reviews__sum strong { color: var(--ts-ink, #2a2140); }
.lls-reviews__none, .lls-reviews__note { color: var(--ts-muted, #4b5563); }
.lls-reviews__thanks { padding: 12px 16px; background: var(--ts-tint, #fff3f7); border-radius: var(--ts-radius-s, 8px); font-weight: 600; }

.lls-stars { position: relative; display: inline-block; width: 6.2em; height: 1.2em; vertical-align: -0.2em;
	background: left center / 1.24em 1.2em repeat-x url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232a2140' stroke-width='1.6' stroke-linejoin='round' d='M12 2.8l2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.2l-5.6 3 1.1-6.3L2.9 9.5l6.3-.9z'/%3E%3C/svg%3E"); }
.lls-stars__fill { position: absolute; inset: 0 auto 0 0; overflow: hidden;
	background: left center / 1.24em 1.2em repeat-x url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fec646' stroke='%232a2140' stroke-width='1.6' stroke-linejoin='round' d='M12 2.8l2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.2l-5.6 3 1.1-6.3L2.9 9.5l6.3-.9z'/%3E%3C/svg%3E"); }

.lls-rating-line { display: inline-flex; align-items: center; gap: 8px; margin: -4px 0 12px; text-decoration: none; color: var(--ts-muted, #4b5563); font-weight: 600; }
.lls-rating-line:hover span { text-decoration: underline; }

.lls-reviews__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.lls-review { padding: 18px 20px; background: var(--ts-paper, #fff); border: 1.5px solid var(--ts-line, #e3e7ec); border-radius: var(--ts-radius, 14px); }
.lls-review__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-bottom: 8px; }
.lls-review__verified { font-size: .85rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; background: var(--ts-tint, #fff3f7); color: var(--ts-ink, #2a2140); }
.lls-review time { font-size: .9rem; color: var(--ts-muted, #4b5563); }
.lls-review__text p { margin: 0 0 .6em; }
.lls-review__text p:last-child { margin-bottom: 0; }
.lls-review__reply { margin-top: 12px; padding: 12px 16px; background: var(--ts-soft, #f6f7f9); border-radius: var(--ts-radius-s, 8px); }
.lls-review__reply p { margin: .3em 0 0; }

.lls-reviews__form { display: grid; gap: 14px; }
.lls-reviews__form p { margin: 0; }
.lls-reviews__form label, .lls-rate legend { display: block; font-weight: 700; margin-bottom: 6px; }
.lls-reviews__form input[type="text"], .lls-reviews__form input[type="email"], .lls-reviews__form textarea {
	width: 100%; max-width: 34em; padding: 11px 14px; font: inherit; color: var(--ts-ink, #2a2140);
	background: var(--ts-paper, #fff); border: 1.5px solid var(--ts-line, #e3e7ec); border-radius: var(--ts-radius-s, 8px); }
.lls-reviews__form input:focus-visible, .lls-reviews__form textarea:focus-visible { outline: 3px solid var(--ts-ink, #2a2140); outline-offset: 1px; }
.lls-rate { border: 0; margin: 0; padding: 0; }
.lls-rate__stars { display: inline-flex; flex-direction: row-reverse; gap: 2px; }
.lls-rate__stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lls-rate__stars label { width: 2.1em; height: 2.1em; margin: 0; cursor: pointer;
	background: center/1.9em no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232a2140' stroke-width='1.6' stroke-linejoin='round' d='M12 2.8l2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.2l-5.6 3 1.1-6.3L2.9 9.5l6.3-.9z'/%3E%3C/svg%3E"); }
.lls-rate__stars input:checked ~ label, .lls-rate__stars label:hover, .lls-rate__stars label:hover ~ label {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fec646' stroke='%232a2140' stroke-width='1.6' stroke-linejoin='round' d='M12 2.8l2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.2l-5.6 3 1.1-6.3L2.9 9.5l6.3-.9z'/%3E%3C/svg%3E"); }
.lls-rate__stars input:focus-visible + label { outline: 3px solid var(--ts-ink, #2a2140); outline-offset: 1px; border-radius: 6px; }
.lls-reviews .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
