/* Opinie — karty w stylu Booksy. Jednostki w px, bo motyw ustawia html{font-size:62.5%}
   (1rem=10px), przez co rem-y były ~1.6x za małe. */

.nsc-opinie { margin: 0; }
.nsc-opinie__list { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }

.nsc-review {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 20px 22px;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.nsc-review__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.nsc-stars { letter-spacing: 2px; font-size: 20px; line-height: 1; white-space: nowrap; }
.nsc-star { color: #e0d7d2; }
.nsc-star.is-on { color: #f5a623; }
.nsc-review__date { color: #8a8a8a; font-size: 14px; white-space: nowrap; }
.nsc-review__author { font-weight: 700; font-size: 17px; margin: 10px 0 4px; color: #56463f; }
.nsc-review__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 12px; align-items: center; }
.nsc-review__service {
    display: inline-block; background: #f7ede9; color: #56463f;
    border-radius: 999px; padding: 4px 13px; font-size: 13px; line-height: 1.3;
}
.nsc-review__staff { color: #8a7d76; font-size: 13px; }
.nsc-review__body { color: #333; font-size: 16px; line-height: 1.6; }
.nsc-review__body p { margin: 0 0 10px; }
.nsc-review__body p:last-child { margin-bottom: 0; }

.nsc-opinie__pagination { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; margin: 32px 0; }
.nsc-opinie__pagination .page-numbers {
    display: inline-block; padding: 9px 14px; border: 1px solid #e6ddd8;
    border-radius: 8px; text-decoration: none; color: #56463f; font-size: 15px; line-height: 1;
}
.nsc-opinie__pagination .page-numbers.current { background: #b6806b; color: #fff; border-color: #b6806b; }
.nsc-opinie__pagination .page-numbers:hover:not(.current) { background: #f7ede9; }

.nsc-form { max-width: 820px; margin: 36px auto 0; padding: 26px; border: 1px solid #ececec; border-radius: 12px; background: #fafafa; }
.nsc-form h2 { margin: 0 0 18px; color: #56463f; font-size: 22px; }
.nsc-form label { display: block; font-weight: 600; font-size: 15px; margin-bottom: 14px; color: #56463f; }
.nsc-form input[type=text], .nsc-form select, .nsc-form textarea {
    width: 100%; padding: 11px 13px; border: 1px solid #e0d7d2; border-radius: 8px;
    font: inherit; font-size: 16px; margin-top: 5px; box-sizing: border-box; color: #333; background: #fff;
}
.nsc-form textarea { min-height: 120px; resize: vertical; }
.nsc-form select {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    padding-right: 42px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2356463f' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}
.nsc-form__submit { background: #b6806b; color: #fff; border: 0; border-radius: 8px; padding: 13px 26px; cursor: pointer; font-size: 16px; }
.nsc-form__submit:hover { background: #a06f5b; }
.nsc-form__notice { padding: 12px 16px; border-radius: 8px; margin-bottom: 18px; font-size: 15px; }
.nsc-form__notice--ok { background: #e7f6ec; color: #1b7a3d; }
.nsc-form__notice--err { background: #fdecec; color: #b42318; }

@media (max-width: 600px) {
    .nsc-review { padding: 16px 16px; }
    .nsc-form { padding: 18px 16px; }
    .nsc-review__body { font-size: 15px; }
}
