/* ============================================================
   Review builder — page-only styles for /quick-support/review-help/.
   Loaded AFTER support.css and composes it: .note, the numbered <ol>
   steps, .copybtn, the masthead and the footer all come from there.
   Nothing here restyles a support.css class; every selector is rh-*.

   Why a second stylesheet instead of adding to support.css: this is the
   only page in the library with a form in it, and support.css is linked
   by every article. Keeping it here means no ?v= bump across the library.

   CACHE NOTE: nginx serves css/js `expires 30d; immutable`. This is
   linked as review.css?v=YYYYMMDD; bump that stamp in index.html
   whenever this file changes. Same for review.js.
   ============================================================ */

/* ---------- step scaffolding inside the numbered <ol> ---------- */
.rh-steps > li{margin-bottom:2rem}
.rh-step-t{font-family:var(--display);font-weight:600;font-size:1.25rem;line-height:1.2;letter-spacing:-.01em;margin:0}
.rh-step-h{font-size:.95rem;color:var(--gray);margin:.35rem 0 0}
.rh-step-h + *{margin-top:.9rem}

/* ---------- shape picker ---------- */
.rh-shapes{display:grid;gap:.6rem}
@media (min-width:620px){.rh-shapes{grid-template-columns:1fr 1fr}}
.rh-shape{position:relative;display:grid;gap:.15rem;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.rh-shape input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rh-shape b{font-family:var(--display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}
.rh-shape span{font-size:.86rem;color:var(--gray);line-height:1.45}
.rh-shape:hover{border-color:var(--accent)}
.rh-shape.is-on,.rh-shape:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),4px 4px 0 0 var(--stack-lite)}
.rh-shape:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}

/* ---------- tick-box pills ---------- */
.rh-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.rh-chip{position:relative;display:inline-flex;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:99px;padding:.55rem 1rem;cursor:pointer;font-size:.92rem;font-weight:600;color:var(--gray);line-height:1.25;transition:border-color .15s,color .15s,background .15s}
.rh-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rh-chip:hover{border-color:var(--accent);color:var(--accent)}
.rh-chip.is-on,.rh-chip:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--white)}
.rh-chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}

/* ---------- fill-in-the-blank fields ---------- */
.rh-field{display:grid;gap:.5rem;margin-top:1.4rem}
/* inside the two-up row the grid gap does the spacing, so no stacking margin */
.rh-row .rh-field{margin-top:0}
.rh-lead{display:block;font-family:var(--display);font-weight:600;font-size:1.15rem;line-height:1.3;letter-spacing:-.01em}
.rh-lead i{font-style:normal;color:var(--accent)}
.rh-opt{display:block;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--gray);font-weight:600}
.rh-field textarea,.rh-field input[type=text]{width:100%;font-family:var(--body);font-weight:500;font-size:1rem;line-height:1.55;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:8px;padding:.7rem .8rem;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.rh-field textarea{min-height:5rem;resize:vertical}
.rh-field textarea::placeholder,.rh-field input::placeholder{color:#9a9da2}
.rh-field textarea:focus,.rh-field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(237,142,28,.16)}
.rh-row{display:grid;gap:.8rem}
@media (min-width:560px){.rh-row{grid-template-columns:1fr 1fr}}

/* ---------- "stuck? start from one of these" ---------- */
.rh-egs{margin:0}
.rh-egs-lab{display:inline-flex;align-items:center;gap:.45rem;list-style:none;cursor:pointer;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:600;color:var(--gray)}
.rh-egs-lab::-webkit-details-marker{display:none}
.rh-egs-lab::after{content:"+";font-size:1rem;line-height:1;color:var(--accent)}
.rh-egs[open] > .rh-egs-lab::after{content:"\2013"}
.rh-egs-lab:hover{color:var(--accent)}
.rh-egs-list{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;margin-top:.7rem}
.rh-eg{font-family:var(--body);font-weight:500;font-size:.92rem;line-height:1.4;text-align:left;color:var(--gray);background:var(--white);border:1px dashed var(--line);border-radius:8px;padding:.5rem .7rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.rh-eg:hover{color:var(--ink);border-color:var(--accent);border-style:solid;background:#fffaf3}

/* ---------- the draft ---------- */
.rh-draft-card{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:1.2rem 0 1.6rem;
  box-shadow:6px 6px 0 0 var(--stack-mid), 12px 12px 0 0 var(--stack-lite)}
.rh-draft-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);background:#fafbfc;
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--accent)}
.rh-draft-head b{color:var(--gray);font-weight:600}
.rh-draft{display:block;width:100%;min-height:11rem;resize:vertical;font-family:var(--body);font-weight:500;font-size:1.02rem;line-height:1.62;color:var(--ink);background:var(--white);border:0;border-radius:0;padding:1.1rem;-webkit-appearance:none;appearance:none}
.rh-draft:focus{outline:0;box-shadow:inset 0 0 0 2px var(--accent)}
.rh-draft::placeholder{color:#9a9da2}
.rh-draft-foot{display:grid;gap:.8rem;padding:1.1rem;border-top:1px solid var(--line);background:#fafbfc}
.rh-rebuild{display:none;justify-self:start;font-family:var(--body);font-size:.9rem;font-weight:600;color:#8a5a12;background:#fdf3e5;border:1px solid var(--stack-mid);border-radius:8px;padding:.5rem .8rem;cursor:pointer}
.rh-rebuild.show{display:inline-block}
.rh-actions{display:grid;gap:.5rem}
@media (min-width:540px){.rh-actions{grid-template-columns:1fr auto}}
.rh-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.9rem;padding:0 1.2rem;font-family:var(--body);font-size:1rem;font-weight:700;line-height:1;border-radius:8px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.rh-btn:hover{border-color:var(--accent);color:var(--accent)}
/* primary is ink, not accent: white on #ED8E1C does not carry enough contrast */
.rh-btn-primary{background:var(--ink);border-color:var(--ink);color:var(--white)}
.rh-btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2);color:var(--white)}
.rh-mini{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:600;color:var(--gray)}
.rh-mini button{font:inherit;color:var(--gray);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.rh-mini button:hover{color:var(--accent)}
.rh-live{font-size:.9rem;font-weight:600;color:#2e8b57;min-height:1.4em;margin:0}

/* ---------- sticky "see your draft" ---------- */
.rh-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:.8rem;padding:.6rem clamp(1.25rem,4vw,3rem);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -2px 14px rgba(16,16,16,.06);transform:translateY(115%);transition:transform .22s ease}
.rh-bar span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;color:var(--gray)}
.rh-bar .rh-btn{min-height:2.4rem;padding:0 .9rem;font-size:.9rem}
.rh-bar.show{transform:none}
@media (prefers-reduced-motion:reduce){.rh-bar{transition:none}}
