/* Smart-intake enhancements — layered on top of styles.css.
   Palette + dark-mode follow the same --cream-*/--rust vars as the rest of the site. */

/* First-visit + welcome-back notes */
.intake-note{display:flex;align-items:flex-start;gap:10px;border-radius:10px;padding:12px 16px;margin:0 0 16px;font-size:14.5px;line-height:1.5}
.intake-note svg{flex:none;margin-top:1px}
.intake-note.first-visit{background:var(--cream-fade);border:1px solid var(--cream-border);color:var(--body-text)}
.intake-note.resume{background:#e8f1e6;border:1px solid #cfe0cb;color:#3e5a3a}
.intake-note.resume strong{color:#2f4a2c}
:root[data-theme="dark"] .intake-note.resume{background:#23301f;border-color:#3c5234;color:#bcd6b6}
:root[data-theme="dark"] .intake-note.resume strong{color:#d6ecd0}

/* "Anything changed since last time?" prefill hint */
.intake-note.prefill-hint{background:#fdf0e9;border:1px solid var(--cream-border);color:#5a4a40}
:root[data-theme="dark"] .intake-note.prefill-hint{background:#2a211a;border-color:#3a322b;color:#e6d6c4}

/* Live "Saved ✓" indicator near the submit button */
.save-status{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--sage,#6b8068);font-weight:700;
  opacity:0;transform:translateY(2px);transition:opacity .25s ease,transform .25s ease;min-height:20px}
.save-status.show{opacity:1;transform:none}
.save-status.idle{color:#8a8078;font-weight:500}
.save-status svg{flex:none}
:root[data-theme="dark"] .save-status{color:#9ecb8e}
:root[data-theme="dark"] .save-status.idle{color:var(--muted,#a99c8c)}

/* Pain / tension 0–10 range slider */
.range-field{display:flex;flex-direction:column;gap:8px}
.range-field input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;
  background:linear-gradient(90deg,var(--sage,#8B9A7F),var(--gold,#C8B896) 50%,var(--rust,#9b440d));
  outline:none;cursor:pointer;margin:6px 0}
.range-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;
  background:#fff;border:3px solid var(--rust,#9b440d);box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:pointer}
.range-field input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;
  background:#fff;border:3px solid var(--rust,#9b440d);box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:pointer}
.range-field input[type=range]:focus-visible{box-shadow:0 0 0 3px rgba(155,68,13,.3)}
.range-scale{display:flex;justify-content:space-between;font-size:12.5px;color:#8a8078}
.range-readout{display:inline-flex;align-items:baseline;gap:6px;font-weight:700;color:var(--title-text)}
.range-readout .range-num{font-size:24px;color:var(--rust,#9b440d);font-family:var(--font-title,'Playfair Display',serif);min-width:1.4ch;text-align:center}
.range-readout .range-word{font-size:14px;color:var(--body-text);font-weight:500}
:root[data-theme="dark"] .range-scale{color:var(--muted,#a99c8c)}
:root[data-theme="dark"] .range-field input[type=range]::-webkit-slider-thumb{background:#241f1b}
:root[data-theme="dark"] .range-field input[type=range]::-moz-range-thumb{background:#241f1b}

/* Optional concern-area photo upload */
.photo-field{display:flex;flex-direction:column;gap:10px}
.photo-drop{display:inline-flex;align-items:center;gap:8px;border:2px dashed var(--cream-border);border-radius:8px;
  background:#fff;color:var(--rust,#9b440d);font-family:var(--font-body);font-weight:700;font-size:15px;
  padding:14px 18px;cursor:pointer;transition:border-color .15s,background .15s;align-self:flex-start;min-height:48px}
.photo-drop:hover{border-color:var(--rust,#9b440d);background:var(--cream-fade)}
.photo-drop svg{flex:none}
.photo-preview{position:relative;display:inline-block;max-width:240px}
.photo-preview img{display:block;max-width:240px;max-height:240px;border-radius:8px;border:1px solid var(--cream-border)}
.photo-remove{position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;border:none;
  background:#a02020;color:#fff;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.photo-remove:hover{background:#c02828}
.photo-status{font-size:13px;color:#8a8078}
:root[data-theme="dark"] .photo-drop{background:var(--surface,#241f1b);color:#e0a36b}
:root[data-theme="dark"] .photo-drop:hover{background:var(--surface-2,#2c2620)}
:root[data-theme="dark"] .photo-preview img{border-color:#564a3e}
:root[data-theme="dark"] .photo-status{color:var(--muted,#a99c8c)}

/* ---- intake a11y + validation (added) ---- */
.bm-region{cursor:pointer}
.bm-region:focus-visible{outline:3px solid var(--rust,#9b440d);outline-offset:1px}
.form-row.field-invalid{outline:2px solid #d24a2c;outline-offset:4px;border-radius:8px;transition:outline-color .2s}

/* ---- intake slide wizard (item #1): one section per step ---- */
.intake-progress{margin:0 0 16px}
.intake-step-label{font-family:var(--font-title,'Playfair Display',serif);font-weight:700;color:var(--title-text);font-size:16px;margin-bottom:10px}
.intake-dots{display:flex;gap:6px;flex-wrap:wrap}
.intake-dot{flex:1 1 0;min-width:18px;height:8px;border-radius:999px;border:0;padding:0;background:var(--cream-border,#e3d8c8);cursor:pointer;transition:background .2s}
.intake-dot.done{background:var(--sage,#8B9A7F)}
.intake-dot.active{background:var(--rust,#9b440d)}
.intake-dot:disabled{cursor:default}
.intake-slide{animation:intakeFade .25s ease}
@keyframes intakeFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.intake-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px}
.intake-nav .btn-rust{min-width:128px}
.intake-nav .btn-ghost{min-width:96px}
:root[data-theme="dark"] .intake-dot{background:#3a322b}

/* ---- intake body-map: tablet "MY BODY CARE" clone (zone rails flank the model) ---- */
.bodymap2 .bm-stage{display:grid;grid-template-columns:minmax(118px,150px) 1fr minmax(118px,150px);
  align-items:center;gap:14px;margin:4px 0 6px}
.bodymap2 .bm-rail{display:flex;flex-direction:column;gap:12px;justify-content:center}
.bm-zone{display:inline-flex;align-items:center;justify-content:center;text-align:center;width:100%;
  min-height:46px;padding:10px 14px;border:1.5px solid var(--cream-border,#d8c6ad);border-radius:999px;
  background:#fff;color:#3a342d;font:700 13.5px/1.15 var(--font-body,'DM Sans',sans-serif);
  letter-spacing:.02em;cursor:pointer;transition:border-color .14s,background .14s,color .14s,box-shadow .14s}
.bm-zone:hover{border-color:var(--rust,#9b440d)}
.bm-zone.focus{background:var(--rust,#9b440d);border-color:var(--rust,#9b440d);color:#fff;box-shadow:0 2px 8px rgba(155,68,13,.28)}
.bm-zone:focus-visible{outline:3px solid var(--rust,#9b440d);outline-offset:2px}
.bm-zone-label{pointer-events:none}
.bodymap2 .bm-figure{margin:0}
.bodymap2 .bm-figure svg{max-width:460px}
/* phone: rails drop below the figure as a 2-col button grid (nothing cramped) */
@media(max-width:680px){
  .bodymap2 .bm-stage{display:flex;flex-direction:column;gap:14px}
  .bodymap2 .bm-figure{order:-1}
  .bodymap2 .bm-rail{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
}
:root[data-theme="dark"] .bm-zone{background:var(--surface,#241f1b);color:#e6dccd;border-color:#564a3e}
:root[data-theme="dark"] .bm-zone:hover{border-color:#e0834a}
:root[data-theme="dark"] .bm-zone.focus{background:#c2570f;border-color:#c2570f;color:#fff;box-shadow:none}

/* ---- tablet-style intake chrome: card + section tab strip + bottom pagination ---- */
.intake-tablet{background:var(--card-bg,#fff);border:1px solid var(--cream-border,#e3d8c8);border-radius:18px;
  padding:18px clamp(16px,4vw,30px) 22px;box-shadow:0 8px 30px rgba(80,50,25,.07)}
/* the fixed site header is 68px — leave clearance so step-to-step scroll never hides the tabs */
#intake-root,.intake-tablet,.intake-slide{scroll-margin-top:84px}
.intake-tablet .intake-progress{margin:0}
.intake-tablet .intake-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;
  border-bottom:2px solid var(--cream-border,#e3d8c8);margin:0 0 18px}
.intake-tablet .intake-tabs::-webkit-scrollbar{display:none}
.intake-tab{flex:0 0 auto;border:0;background:none;cursor:pointer;padding:9px 15px 12px;
  font:600 14px/1 var(--font-body,'DM Sans',sans-serif);color:var(--muted,#9a8c7c);white-space:nowrap;
  border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}
.intake-tab:hover:not(:disabled){color:var(--title-text)}
.intake-tab.done{color:var(--title-text)}
.intake-tab.active{color:var(--rust,#9b440d);border-bottom-color:var(--rust,#9b440d)}
.intake-tab.locked{opacity:.45;cursor:default}
.intake-tab:focus-visible{outline:2px solid var(--rust,#9b440d);outline-offset:-2px;border-radius:6px}
.intake-tablet .step-head{text-align:center;margin-bottom:12px}
.intake-tablet .step-head h3{font-family:var(--font-title,'Playfair Display',serif);
  font-size:clamp(21px,4vw,27px);color:var(--title-text);margin:2px 0}
.intake-dotbar{display:flex;flex-direction:column;align-items:center;gap:8px;margin:20px 0 4px}
.intake-step-count{font-size:12.5px;color:var(--muted,#9a8c7c);font-weight:600;letter-spacing:.02em}
.intake-tablet .intake-nav{justify-content:center}
:root[data-theme="dark"] .intake-tablet{background:var(--surface,#241f1b);border-color:#3a322b;box-shadow:0 8px 30px rgba(0,0,0,.3)}
:root[data-theme="dark"] .intake-tablet .intake-tabs{border-bottom-color:#3a322b}
:root[data-theme="dark"] .intake-tab{color:#a99c8c}
:root[data-theme="dark"] .intake-tab.done{color:#e6dccd}
:root[data-theme="dark"] .intake-tab.active{color:#e0834a;border-bottom-color:#e0834a}
