/* Review intake only. Shared style.css / ui-polish.css remain the brand owners. */
.review-write-main{padding:110px 0 64px;min-height:75vh}
.review-write-shell{max-width:1000px}
.review-write-intro{max-width:720px;margin-bottom:24px}
.review-write-intro .section-title{font-size:clamp(27px,4vw,38px);line-height:1.5;margin-bottom:14px}
.review-write-intro p{line-height:1.85;color:var(--color-text-sub)}
.review-steps{display:flex;list-style:none;padding:0;margin:24px 0;gap:12px;flex-wrap:wrap;color:var(--color-text-sub);font-size:14px}
.review-steps li{display:flex;align-items:center;gap:8px}
.review-steps span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:50%;font-size:12px}
.review-steps [aria-current=step]{color:var(--color-text);font-weight:700}
.review-steps [aria-current=step] span{color:#fff;background:var(--color-lilac);border-color:transparent}
.review-write-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(220px,1fr);align-items:start;gap:24px}
.review-write-card{padding:28px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:0 8px 28px rgba(80,54,127,.06);min-width:0;overflow-wrap:anywhere}
.review-write-card h2{font-size:21px;line-height:1.6;margin:0 0 16px}
.review-write-card h3{font-size:16px;line-height:1.6;margin:0 0 10px}
.review-write-card>section{padding:0}
.review-write-card [hidden],.review-write-main [hidden]{display:none!important}
.review-write-field{margin:0 0 22px}
.review-write-field>label{display:block;font-weight:700;font-size:15px;margin-bottom:8px}
.review-write-field input,.review-write-field textarea{display:block;width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:16px;line-height:1.7;min-height:48px;box-sizing:border-box}
.review-write-field textarea{min-height:180px}
.review-write-help,.review-write-count{font-size:13px;line-height:1.8;margin:7px 0 0;color:var(--color-text-sub)}
.review-write-count{text-align:right}
.review-write-tag{font-size:11px;font-weight:500;display:inline-block;border:1px solid var(--color-border);border-radius:6px;padding:1px 7px;margin-left:6px;color:var(--color-text-sub);vertical-align:middle}
.review-private{padding:18px;border:1px dashed var(--color-border);border-radius:12px;background:var(--color-bg2);margin-bottom:22px}
.review-private .review-write-field{margin-bottom:0}
.review-consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.85;cursor:pointer}
.review-consent input{flex:none;margin-top:4px;width:22px;height:22px;accent-color:var(--color-lilac)}
.review-write-error{color:var(--color-danger,#af3151);font-size:14px;margin:7px 0;line-height:1.7}
body.dark-mode .review-write-error{color:#ffb4c5}
.review-write-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.review-write-actions .btn-primary,.review-write-actions .btn-outline{font:inherit;min-height:48px;max-width:100%;white-space:normal;text-align:center;line-height:1.65;padding:12px 24px}
.review-write-actions button:disabled{cursor:wait;opacity:.65;transform:none}
.review-write-note{margin:0 0 16px;padding:14px 16px;border-left:3px solid var(--color-lilac);background:var(--color-bg2);border-radius:0 10px 10px 0;line-height:1.85;font-size:14px;color:var(--color-text-sub)}
.review-write-preview{white-space:pre-wrap;line-height:1.95;overflow-wrap:anywhere;margin:12px 0 24px}
.review-write-aside p{font-size:14px;line-height:1.85;color:var(--color-text-sub)}
.review-write-aside p+h3{margin-top:20px}
.review-write-aside a{text-decoration:underline;text-underline-offset:3px}
.review-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.review-write-back{display:inline-flex;min-height:44px;align-items:center;font-size:14px;margin-top:24px;text-decoration:underline;text-underline-offset:4px}
.review-entry{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;justify-content:space-between;padding:22px 24px;margin:0 0 28px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}
.review-entry p{color:var(--color-text-sub);line-height:1.8;font-size:14px;margin:5px 0 0}
.reviews-footer{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.member-review-entry{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.member-review-entry p{color:var(--member-muted);font-size:14px;margin-top:8px;line-height:1.8}
.member-review-entry a{flex-shrink:0}
@media(max-width:760px){.review-write-main{padding-top:98px}.review-write-layout{grid-template-columns:1fr}.review-write-card{padding:22px 18px}.review-steps{gap:10px;font-size:13px}.review-write-actions>*{flex:1 1 180px}.review-entry{padding:20px}.member-review-entry{display:block}.member-review-entry a{margin-top:18px;width:100%;text-align:center}}
