/* An editorial outfit workspace, within LUNEVE's existing cream/ink identity. */
body[data-view-mode="me"] .hero, body[data-view-mode="me"] .personal-bar { display:none; }
.today-look[hidden] { display:none; }
.today-look { max-width:1440px; margin:auto; padding:40px clamp(20px,4vw,64px) 24px; display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); gap:32px 56px; }
.today-look button, .today-look summary { -webkit-tap-highlight-color:transparent; }
.today-look button:focus-visible,.today-look summary:focus-visible { outline:3px solid #765135; outline-offset:4px; }
.today-look button:disabled { cursor:not-allowed; opacity:.6; }
.today-intro,.today-result { min-width:0; }
.today-kicker { margin:0 0 14px; font-size:.75rem; letter-spacing:.12em; line-height:1.5; color:#6e6257; }
.today-kicker > span { margin-left:12px; letter-spacing:0; color:#6e6a63; }
.today-intro h1 { margin:0; font-size:clamp(2rem,3.2vw,3rem); font-weight:500; line-height:1.3; letter-spacing:-.045em; word-break:keep-all; }
.today-lead { margin:18px 0 28px; font-size:1rem; line-height:1.8; color:#625e58; word-break:keep-all; }
.today-fieldset { border:0; padding:0; margin:0 0 22px; min-width:0; }
.today-fieldset legend { padding:0; margin-bottom:10px; font-size:.94rem; font-weight:600; }
.today-fieldset legend span { margin-right:8px; font-size:.75rem; font-weight:400; color:#8a7763; }
.today-options { display:flex; flex-wrap:wrap; gap:8px; }
.today-options button { border:1px solid #d4cec3; border-radius:6px; padding:11px 15px; min-height:44px; background:transparent; font-size:.875rem; cursor:pointer; transition:background .15s,color .15s; }
.today-options button:hover { border-color:#807363; }
.today-options button[aria-pressed="true"] { background:#262f2c; color:#fffdf8; border-color:#262f2c; }
.today-help { margin:8px 0 0; color:#746d63; font-size:.75rem; line-height:1.6; }
.today-photo { margin-top:28px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:4px 12px; align-items:center; }
.today-photo-icon { width:42px; height:48px; background:#e7e4dc; display:grid; place-items:center; border-radius:5px; grid-row:1/3; }
.today-photo strong { display:block; font-size:.875rem; }
.today-photo p { margin:5px 0; font-size:.8125rem; line-height:1.6; color:#625e58; }
.today-photo small { grid-column:2/-1; font-size:.75rem; color:#746d63; line-height:1.7; }
.today-text-button { min-height:44px; padding:4px; font-size:.875rem; text-decoration:underline; text-underline-offset:5px; border:0; background:none; cursor:pointer; }
.today-about { margin-top:16px; font-size:.875rem; line-height:1.8; color:#625e58; }
.today-about summary { cursor:pointer; min-height:44px; }
.today-about p { margin:0 0 12px; }
.today-suggestion { background:#fffdf8; border:1px solid #ddd7cd; border-radius:12px; overflow:hidden; }
.today-card-heading { padding:22px 24px 18px; display:flex; gap:14px; justify-content:space-between; align-items:center; }
.today-card-heading .today-kicker { margin-bottom:7px; font-size:.75rem; }
.today-card-heading h3 { margin:0; font-size:1.45rem; font-weight:500; letter-spacing:-.04em; line-height:1.5; word-break:keep-all; }
.today-next { border:0; background:transparent; display:flex; align-items:center; gap:14px; font-size:.875rem; white-space:nowrap; min-height:44px; cursor:pointer; padding:8px 0 8px 10px; }
.today-next span { font-size:1.5rem; }
.today-view-tabs { margin:0 24px; display:flex; align-items:center; flex-wrap:wrap; gap:0 16px; border-bottom:1px solid #ded8cd; }
.today-view-tabs button { padding:10px 0; min-height:44px; border:0; border-bottom:2px solid transparent; background:none; font-size:.875rem; cursor:pointer; }
.today-view-tabs button[aria-pressed="true"] { border-bottom-color:#252e2b; font-weight:600; }
.today-view-tabs > span { margin-left:auto; color:#746d63; font-size:.75rem; line-height:1.6; }
.today-view-tabs > .today-no-result { margin-left:0; font-size:.875rem; padding:10px 0; }
.today-personal-next { margin:16px 24px; padding:16px; border:1px solid #d4cec3; border-radius:8px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.today-personal-next > div { flex:1 1 220px; min-width:0; }
.today-personal-next strong { font-size:1rem; line-height:1.6; }
.today-personal-next p { margin:4px 0 0; font-size:.875rem; line-height:1.7; color:#625e58; overflow-wrap:anywhere; }
.today-personal-next .btn { font-size:.875rem; min-height:48px; height:auto; white-space:normal; }
.today-personal-next small { flex-basis:100%; font-size:.875rem; line-height:1.7; color:#625e58; }
.today-stage { margin:18px 24px 0; display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:12px; min-height:310px; }
.today-main-product { position:relative; min-width:0; width:100%; min-height:310px; border:0; border-radius:6px; background:#f1efe9; padding:36px 18px 50px; display:grid; place-items:center; cursor:zoom-in; }
.today-main-product > img { width:100%; height:250px; object-fit:contain; mix-blend-mode:multiply; }
.today-image-label { position:absolute; left:14px; top:12px; font-size:.75rem; color:#625e58; }
.today-image-caption { position:absolute; bottom:14px; left:14px; right:14px; font-size:.875rem; display:flex; justify-content:space-between; gap:8px; text-align:left; }
.today-product-rail { display:flex; flex-direction:column; gap:10px; }
.today-product-rail button { flex:1; border:1px solid transparent; background:#f1efe9; border-radius:6px; padding:8px; display:grid; place-items:center; gap:4px; min-height:80px; cursor:pointer; }
.today-product-rail button:hover { border-color:#807363; }
.today-product-rail img { width:100%; height:88px; object-fit:contain; mix-blend-mode:multiply; }
.today-product-rail span { font-size:.75rem; color:#625e58; }
.today-stage.is-personal { display:block; }
.today-avatar { width:100%; height:330px; object-fit:contain; border-radius:6px; background:#f1efe9; }
.today-preview-note { margin:12px 24px 0; font-size:.75rem; color:#746d63; line-height:1.7; }
.today-reason { margin:18px 24px; padding-top:16px; border-top:1px solid #e7e0d6; }
.today-reason > strong { font-size:.875rem; font-weight:600; }
.today-match-tags { display:inline-flex; gap:6px; flex-wrap:wrap; margin-left:10px; }
.today-match-tags span { color:#43544b; background:#e8ede7; padding:3px 8px; font-size:.75rem; border-radius:3px; }
.today-reason p { font-size:1rem; line-height:1.8; margin:8px 0 0; color:#625e58; word-break:keep-all; }
.today-reason .today-caution { color:#825326; }
.today-buy-row { border-top:1px solid #e7e0d6; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.today-buy-row strong { display:block; font-size:1.35rem; font-weight:600; margin:3px 0; }
.today-buy-row small { display:block; font-size:.75rem; line-height:1.6; color:#746d63; }
.today-buy-row .btn { background:#262f2c; border-color:#262f2c; font-size:.875rem; min-height:48px; padding:12px 20px; height:auto; }
.today-update { text-align:right; font-size:.75rem; color:#746d63; margin:10px 0 0; }
.today-memory { grid-column:1/-1; border-top:1px solid #d6cebf; border-bottom:1px solid #d6cebf; padding:24px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.today-memory .today-kicker { display:block; margin:0 0 7px; }
.today-memory strong { display:block; font-size:1.125rem; font-weight:500; word-break:keep-all; }
.today-memory p { font-size:.875rem; color:#625e58; line-height:1.7; margin:8px 0 0; }
.today-memory .btn { flex-shrink:0; font-size:.875rem; }
.today-empty { padding:50px 28px; line-height:1.8; }
.today-image-error { display:grid; place-items:center; min-height:88px; font-size:.8125rem; line-height:1.7; color:#746d63; }
body[data-view-mode="me"] #shopSection { padding-top:26px; }
@media(max-width:1050px) {
  .today-look { column-gap:28px; padding-inline:24px; }
  .today-card-heading,.today-buy-row { padding-inline:18px; }
  .today-stage,.today-reason,.today-personal-next { margin-inline:18px; }
  .today-view-tabs { margin-inline:18px; }
  .today-stage { grid-template-columns:minmax(0,1fr) 82px; }
  .today-photo { grid-template-columns:36px minmax(0,1fr); }
  .today-photo .today-text-button { grid-column:2; justify-self:start; }
  .today-photo-icon { width:36px; }
  .today-buy-row { flex-wrap:wrap; }
}
@media(max-width:760px) {
  .today-look { grid-template-columns:minmax(0,1fr); padding:24px 16px 16px; gap:24px; }
  .today-intro h1 { font-size:2rem; }
  .today-lead { margin-bottom:24px; }
  .today-fieldset { margin-bottom:18px; }
  .today-options { gap:7px; }
  .today-options button { padding:10px 13px; }
  .today-photo { grid-template-columns:42px minmax(0,1fr) auto; margin-top:24px; }
  .today-photo .today-text-button { grid-column:3; grid-row:1/2; }
  .today-photo-icon { width:42px; }
  .today-stage { grid-template-columns:minmax(0,1fr) 88px; min-height:290px; }
  .today-main-product { min-height:290px; }
  .today-main-product > img { height:220px; }
  .today-card-heading h3 { font-size:1.25rem; }
  .today-card-heading .today-kicker > span { display:block; margin-left:0; }
  .today-buy-row .btn { flex:1; min-width:150px; }
  .today-personal-next .btn { width:100%; }
  .today-memory { align-items:flex-start; flex-direction:column; padding:22px 0; }
  .today-memory .btn { width:100%; }
}
@media(max-width:380px) {
  .today-stage { margin-inline:12px; grid-template-columns:minmax(0,1fr) 72px; gap:8px; }
  .today-photo { grid-template-columns:36px minmax(0,1fr); }
  .today-photo .today-text-button { grid-column:2; grid-row:auto; }
  .today-view-tabs > span { margin:0 0 6px; flex-basis:100%; }
  .today-match-tags { display:flex; margin:8px 0 0; }
}
@media(prefers-reduced-motion:reduce) { .today-look * { transition:none !important; scroll-behavior:auto; } }
