.kylayhdistys-feedback { box-sizing: border-box; max-width: 920px; margin: 30px auto; padding: clamp(22px,5vw,52px); border-radius: 24px; color: #173d2d; background: linear-gradient(145deg,#f5fbf7,#e5f2e9); box-shadow: 0 16px 42px rgba(23,71,47,.12); }
.kylayhdistys-feedback * { box-sizing: border-box; }
.kylayhdistys-feedback__inner { max-width: 720px; margin: auto; }
.kylayhdistys-feedback__eyebrow { margin: 0 0 5px; color: #347956; font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.kylayhdistys-feedback h2 { margin: 0; color: #173d2d; font-size: clamp(30px,5vw,46px); line-height: 1.08; }
.kylayhdistys-feedback__intro { margin: 14px 0 28px; font-size: 18px; line-height: 1.55; }
.kylayhdistys-feedback__form { display: grid; gap: 20px; }
.kylayhdistys-feedback__field { min-width: 0; margin: 0; padding: 0; border: 0; }
.kylayhdistys-feedback__field > label,
.kylayhdistys-feedback__field > legend { display: block; margin-bottom: 8px; color: #173d2d; font-size: 17px; font-weight: 750; }
.kylayhdistys-feedback__field input[type=text],
.kylayhdistys-feedback__field input[type=email],
.kylayhdistys-feedback__field textarea,
.kylayhdistys-feedback__field select { width: 100%; min-height: 52px; padding: 12px 14px; border: 2px solid #aac5b4; border-radius: 11px; color: #17251e; background: #fff; font: inherit; }
.kylayhdistys-feedback__field textarea { min-height: 118px; resize: vertical; }
.kylayhdistys-feedback__field input:focus,
.kylayhdistys-feedback__field textarea:focus,
.kylayhdistys-feedback__field select:focus { border-color: #205b3d; outline: 3px solid rgba(32,91,61,.18); }
.kylayhdistys-feedback__rating { display: grid; grid-template-columns: repeat(5,minmax(52px,1fr)); gap: 10px; }
.kylayhdistys-feedback__rating label { position: relative; }
.kylayhdistys-feedback__rating input { position: absolute; opacity: 0; }
.kylayhdistys-feedback__rating span { display: grid; min-height: 58px; place-items: center; border: 2px solid #aac5b4; border-radius: 12px; background: #fff; font-size: 20px; font-weight: 800; cursor: pointer; }
.kylayhdistys-feedback__rating input:checked + span { border-color: #205b3d; color: #fff; background: #205b3d; }
.kylayhdistys-feedback__rating input:focus-visible + span { outline: 3px solid #f1b633; outline-offset: 2px; }
.kylayhdistys-feedback__field > small { display: block; margin-top: 7px; color: #52615a; }
.kylayhdistys-feedback__checkbox,
.kylayhdistys-feedback__consent { display: flex; align-items: flex-start; gap: 12px; padding: 15px; border-radius: 11px; background: #fff; line-height: 1.45; }
.kylayhdistys-feedback__checkbox input,
.kylayhdistys-feedback__consent input { flex: 0 0 24px; width: 24px; height: 24px; margin: 0; }
.kylayhdistys-feedback__newsletter { overflow: hidden; border: 2px solid #bad9c5; border-radius: 14px; background: #fff; }
.kylayhdistys-feedback__newsletter > label { display: flex; align-items: flex-start; gap: 12px; padding: 17px; background: #e9f6ed; cursor: pointer; }
.kylayhdistys-feedback__newsletter > label input { flex: 0 0 24px; width: 24px; height: 24px; margin: 0; }
.kylayhdistys-feedback__newsletter > label strong,
.kylayhdistys-feedback__newsletter > label small { display: block; }
.kylayhdistys-feedback__newsletter > label small { margin-top: 4px; color: #52615a; }
.kylayhdistys-feedback__newsletter-details { display: grid; grid-template-columns: 1fr 1.3fr; gap: 14px; padding: 16px; }
.kylayhdistys-feedback__newsletter-details label { display: grid; gap: 6px; font-weight: 700; }
.kylayhdistys-feedback__newsletter-details input { width: 100%; min-height: 50px; padding: 10px 12px; border: 2px solid #aac5b4; border-radius: 10px; font: inherit; }
.kylayhdistys-feedback__submit { min-height: 58px; padding: 13px 24px; border: 0; border-radius: 12px; color: #fff; background: #205b3d; font-size: 18px; font-weight: 800; cursor: pointer; }
.kylayhdistys-feedback__submit:hover { background: #173d2d; }
.kylayhdistys-feedback__submit:disabled { opacity: .65; cursor: wait; }
.kylayhdistys-feedback__message { min-height: 1px; color: #8c251d; font-weight: 700; }
.kylayhdistys-feedback__success { padding: 36px 20px; text-align: center; }
.kylayhdistys-feedback__success > span { display: grid; width: 68px; height: 68px; margin: 0 auto 16px; place-items: center; border-radius: 50%; color: #fff; background: #205b3d; font-size: 34px; }
.kylayhdistys-feedback__success h3 { margin: 0 0 8px; color: #173d2d; font-size: 28px; }
.kylayhdistys-feedback__trap { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .kylayhdistys-feedback { margin: 16px 0; border-radius: 16px; } .kylayhdistys-feedback__rating { gap: 6px; } .kylayhdistys-feedback__rating span { min-height: 52px; } .kylayhdistys-feedback__newsletter-details { grid-template-columns: 1fr; } }
