/* Feedback form */
.form-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--mist);border-radius:20px;padding:2.2rem;box-shadow:0 18px 40px rgba(46,26,51,.08)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.field{margin-bottom:1.3rem}
.field>label,.field>legend,fieldset.field legend{display:block;font-weight:600;color:var(--plum);margin-bottom:.4rem;padding:0}
.field .req{color:var(--orchid)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1.5px solid #dcc9d0;border-radius:12px;padding:.75rem 1rem}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orchid);box-shadow:0 0 0 3px rgba(184,69,111,.18)}
.field.invalid input,.field.invalid select{border-color:#b3261e}
.err{display:block;color:#b3261e;font-size:.9rem;min-height:1.2em;margin-top:.25rem}
fieldset.field{border:0}
.stars{display:inline-flex;flex-direction:row-reverse;gap:.15rem}
.stars input{position:absolute;opacity:0;width:1px;height:1px}
.stars label{font-size:2.4rem;line-height:1;color:#d9c8cf;cursor:pointer;transition:color .15s}
.stars input:checked~label,.stars label:hover,.stars label:hover~label{color:var(--gold)}
.stars input:focus-visible+label{outline:3px solid var(--orchid);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hint{font-size:.9rem;color:#6b5d71}
.check{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.9rem}
.check input{width:1.2rem;height:1.2rem;margin-top:.3rem;accent-color:var(--orchid);flex:none}
.check a{color:var(--orchid);text-decoration:underline}
.captcha{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.captcha .q{font-family:var(--display);font-size:1.4rem;color:var(--plum);background:var(--blush);padding:.45rem 1rem;border-radius:12px}
.captcha input{width:90px!important}
.captcha button{background:none;border:0;color:var(--orchid);font:inherit;text-decoration:underline;cursor:pointer}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.btn[disabled]{opacity:.6;cursor:wait}
.form-msg{margin-top:1rem;color:#b3261e;font-weight:600}
.thanks{text-align:center;padding:2rem 1rem}
.thanks h2{margin-bottom:.6rem}
.thanks .tick{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1.2rem;border-radius:50%;background:var(--blush);color:var(--orchid);font-size:2.2rem}
@media (max-width:640px){.row{grid-template-columns:1fr}.form-card{padding:1.4rem}}
