/* NPS Reviews — formulář recenze. Barvy dědí z tématu; jen rozvržení a přístupnost. */
.nps-reviews { max-width: 40rem; }
.nps-reviews-form .nps-reviews-field { margin: 0 0 1.25rem; }
.nps-reviews-form label { display: block; font-weight: 600; margin-bottom: .35rem; }
.nps-reviews-form .nps-reviews-check label { display: flex; gap: .5rem; align-items: flex-start; font-weight: 400; }
.nps-reviews-form select,
.nps-reviews-form input[type="text"],
.nps-reviews-form input[type="email"],
.nps-reviews-form textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.nps-reviews-rating { border: 0; padding: 0; margin: 0 0 1.25rem; min-width: 0; }
.nps-reviews-rating legend { font-weight: 600; margin-bottom: .35rem; padding: 0; }
.nps-reviews-rating .nps-reviews-scale { font-weight: 400; font-size: .9em; }
.nps-reviews-form .nps-reviews-star { display: inline-flex; align-items: center; margin: 0 .25rem 0 0; cursor: pointer; font-weight: 400; }
.nps-reviews-star input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nps-reviews-star svg { fill: none; stroke: currentColor; stroke-width: 1.5; }
.nps-reviews-rating:has(input:checked) .nps-reviews-star svg { fill: currentColor; }
.nps-reviews-rating .nps-reviews-star:has(input:checked) ~ .nps-reviews-star svg { fill: none; }
.nps-reviews-star input:focus-visible + svg { outline: 3px solid currentColor; outline-offset: 2px; border-radius: 2px; }
.nps-reviews-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.nps-reviews-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nps-reviews-hint { font-size: .9em; margin: .25rem 0 0; }
.nps-reviews-error { font-weight: 600; margin: .35rem 0 0; }
.nps-reviews-errors,
.nps-reviews-notice { border-left: 4px solid currentColor; padding: .75rem 1rem; margin: 0 0 1.25rem; }
.nps-reviews-errors:focus,
.nps-reviews-notice:focus { outline: 3px solid currentColor; outline-offset: 2px; }
.nps-reviews-search { margin: 0 0 1.25rem; }
.nps-reviews-search input[type="search"] { max-width: 100%; }
