.reviews-section .review-visual{height:250px;background:#f7f5f0;overflow:hidden}
.reviews-section .review-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.reviews-section .review-text{overflow-wrap:anywhere}
.reviews-section [role=note]{padding:18px;border:1px solid #b8dcd5;border-radius:16px;background:#eff9f6;line-height:1.6}
.reviews-section{scroll-margin-top:100px}
.public-review-shell{max-width:820px}
.public-review-page h1{font-size:clamp(2rem,5vw,3rem);line-height:1.15;margin:14px 0 22px}
.public-review-shell>p{line-height:1.7}
.public-review-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px;padding:clamp(20px,4vw,36px);border:1px solid #dce1df;border-radius:24px;background:#fff}
.public-review-form>label{display:grid;gap:8px;align-content:start;font-weight:600;min-width:0}
.public-review-form input:not([type=checkbox]):not([type=radio]),.public-review-form textarea{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-weight:400;padding:13px;border:1px solid #adbdb8;border-radius:10px;background:#fff;color:#172d27}
.public-review-form textarea{resize:vertical}
.public-review-form small{font-weight:400;color:#53665f;line-height:1.5}
.public-review-full,.public-review-rating{grid-column:1/-1}
.public-review-rating{border:0;padding:0;margin:0;min-width:0}
.public-review-rating legend{font-weight:600;margin-bottom:10px}
.public-review-rating>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:420px}
.public-review-rating label{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border:1px solid #adbdb8;border-radius:10px;cursor:pointer}
.public-review-rating input{width:16px;height:16px;margin:0;accent-color:#17644e}
.public-review-rating span{white-space:nowrap}
.public-review-rating label:has(input:checked){border-color:#17644e;background:#e8f5ef}
.public-review-form>.public-review-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.6}
.public-review-consent input{flex:0 0 auto;margin-top:6px;accent-color:#17644e;width:18px;height:18px}
.public-review-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.public-review-actions a,.public-review-actions button{white-space:normal;text-align:center}
.public-review-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.public-review-error{padding:18px;border:1px solid #b76a50;border-radius:12px;background:#fff3eb;color:#6b2917}
.public-review-success{padding:26px;border:1px solid #a9ccba;border-radius:20px;background:#edf8f2;margin:24px 0}
.public-review-form :focus-visible{outline:3px solid #17644e;outline-offset:3px}
.public-review-photo{display:grid;gap:10px;min-width:0;padding:20px;border:1px dashed #adbdb8;border-radius:16px;background:#f7faf8}
.public-review-photo>label{font-weight:600}
.public-review-photo>p{margin:0;line-height:1.5}
.public-review-photo figure{margin:8px 0 0;min-width:0}
.public-review-photo figure[hidden]{display:none}
.public-review-photo img{display:block;max-width:100%;max-height:320px;border-radius:12px;object-fit:contain;background:#fff}
.public-review-photo figcaption{margin-top:8px;overflow-wrap:anywhere;font-size:.9rem;color:#53665f}
.public-review-photo .btn-secondary{justify-self:start}
.public-review-photo input[type=file]{font-size:.9rem;max-width:100%}
@media(max-width:600px){.public-review-form{grid-template-columns:1fr}.public-review-rating>div{gap:6px}.public-review-rating label{padding:9px}.public-review-actions .btn-primary{width:100%}}
