/* Posting belongs to the same quiet blue-and-white interface as discovery. */
body[data-view=post-promo] { background:#fff; }
body[data-view=post-promo] #detailPage { padding-top:24px; padding-bottom:56px; }
body[data-view=post-promo] .header-post-button { display:none; }
.post-page { max-width:1120px; margin:0 auto; color:var(--ink); }
.post-page svg { width:22px; height:22px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.post-back { display:inline-flex; align-items:center; gap:8px; min-height:40px; margin:0 0 24px; padding:4px 0; border:0; background:none; box-shadow:none; color:var(--muted); font-size:13px; font-weight:450; }
.post-back:hover { color:var(--accent); background:none; }
.post-back svg { width:17px; height:17px; }
.post-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:64px; }
.post-eyebrow { margin:0 0 15px; color:var(--accent); font-size:13px; line-height:1.4; font-weight:500; }
.post-intro h1 { margin:0; font-size:clamp(32px,3.1vw,43px); line-height:1.15; letter-spacing:-1.35px; font-weight:600; }
.post-intro h1 > span { display:block; }
.post-lead { max-width:460px; margin:20px 0 26px; color:var(--muted); font-size:15px; line-height:1.65; font-weight:400; }
.post-start-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.post-page .post-start-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:50px; padding:13px 22px; border:1px solid var(--accent); border-radius:999px; background:var(--accent); color:#fff; font-size:14px; line-height:22px; font-weight:550; box-shadow:none; }
.post-page .post-start-button:hover { background:var(--accent-ink); border-color:var(--accent-ink); }
.post-start-button svg { width:19px; height:19px; }
.post-account-note { margin:0; color:var(--muted); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.post-account-note strong { font-weight:500; color:var(--ink); }
.post-login-link { min-height:44px; padding:4px; margin:-10px -4px; border:0; background:none; box-shadow:none; font-size:inherit; font-weight:550; color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.post-login-link:hover { color:var(--accent); background:none; }
.post-edit-note { display:flex; align-items:flex-start; gap:8px; max-width:430px; margin:22px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.post-edit-note svg { width:16px; height:16px; margin-top:1px; }
.post-visual { position:relative; display:grid; place-items:center; min-height:370px; padding:28px 44px 42px 28px; background:var(--soft); border-radius:28px; isolation:isolate; }
.post-visual::before { content:''; position:absolute; inset:28px; border:1px solid #e1e8f3; border-radius:50%; z-index:-1; }
.post-preview { width:100%; max-width:310px; padding:16px; background:#fff; border:1px solid var(--line); border-radius:19px; box-shadow:0 16px 32px #1826380b; transform:translateY(-10px) rotate(-3deg); }
.post-preview-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; font-size:12px; font-weight:500; }
.post-preview-top small { color:var(--muted); font-size:10px; font-weight:450; }
.post-preview-image { display:grid; place-items:center; height:174px; background:#f5f8fc; border-radius:12px; }
.post-preview-image img { display:block; width:160px; height:160px; object-fit:contain; }
.post-preview-bottom { display:grid; gap:5px; padding:13px 2px 2px; }
.post-preview-bottom strong { font-size:13px; line-height:1.4; font-weight:500; }
.post-preview-bottom span { color:var(--muted); font-size:11px; line-height:1.45; }
.post-map-note { position:absolute; right:18px; bottom:12px; display:flex; align-items:center; gap:9px; max-width:calc(100% - 36px); padding:10px 14px; background:#fff; border:1px solid var(--line); border-radius:13px; color:var(--ink); box-shadow:0 6px 18px #18263808; font-size:12px; line-height:1.4; font-weight:500; }
.post-map-note svg { color:var(--accent); width:22px; height:22px; }
.post-process { margin-top:56px; }
.post-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px; }
.post-section-heading h2 { margin:0; font-size:22px; line-height:1.3; letter-spacing:-.5px; font-weight:550; }
.post-section-heading p { max-width:350px; margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.post-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; margin:0; padding:0; }
.post-steps > li { position:relative; min-width:0; padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.post-step-number { position:absolute; top:24px; right:22px; color:#6e7b8d; font-size:12px; font-weight:450; font-variant-numeric:tabular-nums; }
.post-step-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:var(--accent-soft); color:var(--accent); margin-bottom:18px; }
.post-steps h3 { margin:0 0 8px; font-size:16px; line-height:1.4; font-weight:550; letter-spacing:-.15px; }
.post-steps p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; font-weight:400; }
.post-ready-note { display:flex; align-items:center; gap:16px; padding:20px 22px; margin-top:22px; border-radius:14px; background:var(--soft); }
.post-ready-note > svg { width:26px; height:26px; color:var(--muted); }
.post-ready-note h2 { margin:0 0 4px; font-size:14px; line-height:1.4; font-weight:550; }
.post-ready-note p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.post-page button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@media (min-width:761px) and (max-width:1099px) {
  .post-hero { gap:32px; }
  .post-intro h1 { font-size:34px; letter-spacing:-1px; }
  .post-visual { padding:26px 26px 42px 20px; min-height:340px; }
  .post-preview { padding:13px; }
  .post-preview-image { height:156px; }
  .post-preview-image img { width:144px; height:144px; }
  .post-section-heading { align-items:flex-start; }
  .post-section-heading p { max-width:250px; }
  .post-steps > li { padding:18px; }
  .post-step-number { right:18px; }
}
@media (max-width:760px) {
  body[data-view=post-promo] #detailPage { padding-top:12px; padding-bottom:28px; }
  .post-back { margin-bottom:18px; }
  .post-hero { grid-template-columns:minmax(0,1fr); gap:28px; }
  .post-eyebrow { margin-bottom:12px; font-size:12px; }
  .post-intro h1 { font-size:32px; line-height:1.18; letter-spacing:-.9px; }
  .post-lead { max-width:520px; margin:16px 0 22px; font-size:14px; line-height:1.65; }
  .post-start-actions { gap:13px; align-items:stretch; }
  .post-page .post-start-button { width:100%; min-height:50px; padding-inline:18px; justify-content:space-between; }
  .post-account-note { text-align:center; font-size:12px; }
  .post-edit-note { margin-top:18px; font-size:11px; }
  .post-visual { min-height:0; height:274px; padding:18px 42px 30px 24px; border-radius:22px; }
  .post-visual::before { inset:20px 28px; }
  .post-preview { max-width:262px; padding:12px; border-radius:15px; }
  .post-preview-top { margin-bottom:8px; font-size:11px; }
  .post-preview-top small { font-size:9px; }
  .post-preview-image { height:118px; }
  .post-preview-image img { width:116px; height:116px; }
  .post-preview-bottom { padding-top:10px; gap:4px; }
  .post-preview-bottom strong { font-size:11px; }
  .post-preview-bottom span { font-size:10px; }
  .post-map-note { bottom:10px; right:12px; padding:9px 12px; font-size:11px; }
  .post-process { margin-top:32px; }
  .post-section-heading { display:block; margin-bottom:18px; }
  .post-section-heading h2 { font-size:20px; line-height:1.35; letter-spacing:-.35px; }
  .post-section-heading p { margin-top:8px; font-size:12px; }
  .post-steps { grid-template-columns:minmax(0,1fr); gap:12px; }
  .post-steps > li { display:grid; grid-template-columns:38px minmax(0,1fr); column-gap:14px; row-gap:6px; padding:18px; }
  .post-step-number { display:none; }
  .post-step-icon { grid-column:1; grid-row:1/3; width:38px; height:38px; margin:0; }
  .post-steps h3 { grid-column:2; margin:0; font-size:14px; }
  .post-steps p { grid-column:2; font-size:12px; line-height:1.6; }
  .post-ready-note { align-items:flex-start; gap:12px; margin-top:16px; padding:18px; }
  .post-ready-note > svg { width:22px; height:22px; }
  .post-ready-note h2 { font-size:13px; }
  .post-ready-note p { font-size:12px; }
}
@media (max-width:359px) {
  .post-intro h1 { font-size:29px; }
  .post-visual { padding-left:20px; padding-right:32px; }
  .post-steps > li { padding:16px; column-gap:12px; }
}
