/* Scoped to the review form: override inherited WordPress form/table styles. */
#review-form { box-sizing:border-box; margin:24px 0 32px; padding:0 20px; color:#333; font-size:16px; line-height:1.7; }
#review-form *,#review-form *::before,#review-form *::after { box-sizing:border-box; }
#review-form .review-note { margin:0 0 24px; padding:16px 18px; border:1px solid #f2d9c9; border-radius:6px; background:#fff8f3; font-size:14px; line-height:1.8; }
#review-form .review-fields { display:grid; gap:0; border:1px solid #dedede; border-radius:6px; overflow:hidden; }
#review-form .review-row { display:grid; grid-template-columns:140px minmax(0,1fr); margin:0; padding:0; border:0; border-bottom:1px solid #e5e5e5; min-width:0; }
#review-form .review-row:last-child { border-bottom:0; }
#review-form .review-label { display:flex; align-items:center; margin:0; padding:18px 16px; background:#f7f6f4; font-size:15px; font-weight:600; line-height:1.6; }
#review-form .review-control { min-width:0; padding:16px; }
#review-form input[type="text"],#review-form select,#review-form textarea { display:block; width:100%; max-width:100%; min-height:46px; margin:0; padding:10px 12px; border:1px solid #bcbcbc; border-radius:4px; background:#fff; color:#333; font:inherit; line-height:1.5; box-shadow:none; }
#review-form select { width:180px; }
#review-form textarea { height:190px; min-height:150px; resize:vertical; }
#review-form .review-options { display:flex; flex-wrap:wrap; gap:12px; }
#review-form .review-option { display:inline-flex; align-items:center; gap:9px; min-width:100px; min-height:46px; margin:0; padding:9px 14px; border:1px solid #c8c8c8; border-radius:4px; background:#fff; font-size:16px; font-weight:400; line-height:1.5; cursor:pointer; }
#review-form .review-option:has(input:checked) { border-color:#c54a13; background:#fff4eb; }
#review-form input[type="radio"] { appearance:auto; display:inline-block; flex:0 0 18px; width:18px; height:18px; min-height:0; margin:0; padding:0; border:0; accent-color:#c54a13; box-shadow:none; }
#review-form input:focus-visible,#review-form select:focus-visible,#review-form textarea:focus-visible,#review-form button:focus-visible { outline:3px solid #9b451a; outline-offset:3px; }
#review-form .review-verification { width:100%; max-width:360px; min-height:65px; margin:24px auto 0; }
#review-form .cf-turnstile { width:100%; }
/* Turnstile flexible mode has a 300px minimum. Use the page's side margins
   at 320px so the official widget stays complete without scaling or clipping. */
@media(max-width:360px) { #review-form .review-verification { width:300px; max-width:none; margin-left:calc((100% - 300px)/2); margin-right:0; } }
#review-form .review-actions { display:flex; justify-content:center; margin:20px 0 0; padding:0; }
#review-form button[type="submit"] { appearance:none; display:block; width:100%; max-width:320px; min-height:50px; margin:0; padding:12px 20px; border:1px solid #c34a13; border-radius:5px; background:#c34a13; color:#fff; font:inherit; font-weight:600; line-height:1.5; box-shadow:none; cursor:pointer; }
#review-form button[type="submit"]:hover { background:#a83d0e; }
#review-form button[type="submit"]:disabled { opacity:.6; cursor:wait; }
#review-form #review-result { margin:16px 0 0; padding:0; font-size:15px; line-height:1.8; text-align:center; overflow-wrap:anywhere; }
#review-form #review-result:empty { display:none; }
@media(max-width:600px) {
 #review-form { padding:0; margin-top:20px; }
 #review-form .review-note { padding:14px; margin-bottom:20px; }
 #review-form .review-row { grid-template-columns:minmax(0,1fr); }
 #review-form .review-label { padding:12px 14px 0; background:#fff; }
 #review-form .review-control { padding:10px 14px 16px; }
 #review-form .review-options { gap:12px; }
 #review-form .review-option { flex:1; justify-content:center; }
 #review-form textarea { height:180px; }
 #review-form .review-verification { margin-top:20px; }
}
