/* Dot.Forms inherits Dot.Rich's public theme; paper stays legible in both modes. */
#app .dr-v2 .forms-page { color:var(--dr-ink); background:var(--dr-paper); padding-bottom:80px; }
#app .dr-v2 .forms-intro { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,5vw,76px); padding-block:62px 70px; align-items:start; }
#app .dr-v2 .forms-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:22px; color:var(--dr-muted); text-underline-offset:5px; }
#app .dr-v2 .forms-intro h1 { color:var(--dr-red); font-size:clamp(44px,5vw,72px); line-height:1.1; letter-spacing:-.035em; margin:0 0 24px; }
#app .dr-v2 .forms-intro h1 span { display:block; color:var(--dr-ink); font-size:clamp(30px,3.5vw,48px); line-height:1.25; letter-spacing:-.025em; margin-top:20px; }
#app .dr-v2 .forms-intro > div > p { max-width:48ch; line-height:1.8; color:var(--dr-muted); }
#app .dr-v2 .forms-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin-top:32px; font-variant-numeric:tabular-nums; }
#app .dr-v2 .forms-price strong { font-size:60px; color:var(--dr-ink); line-height:1.1; letter-spacing:-.03em; }
#app .dr-v2 .forms-price del { color:var(--dr-muted); font-size:22px; }
#app .dr-v2 .forms-price > span { color:var(--dr-muted); font-size:14px; }
#app .dr-v2 .forms-intro .forms-availability { font-size:14px; padding-block:20px; border-block:1px solid var(--dr-rule); margin-top:24px; }
#app .dr-v2 .forms-availability strong { color:var(--dr-ink); }
#app .dr-v2 .forms-preview > h2 { font-size:22px; line-height:1.4; margin:0 0 18px; color:var(--dr-ink); }
#app .dr-v2 .forms-type-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-bottom:18px; }
#app .dr-v2 .forms-type-controls button { min-width:0; min-height:46px; padding:10px 6px; background:var(--dr-white); color:var(--dr-ink); border:1px solid var(--dr-rule); border-radius:8px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
#app .dr-v2 .forms-type-controls button:hover { border-color:var(--dr-red); }
#app .dr-v2 .forms-type-controls button[aria-pressed="true"] { background:#c70e30; border-color:#c70e30; color:#fff; }
#app .dr-v2 .forms-page :is(a,button):focus-visible { outline:2px solid var(--dr-red); outline-offset:4px; }
#app .dr-v2 .forms-paper { background:#fff; color:#222; padding:clamp(18px,3vw,36px); border:1px solid #d6d6d0; font-size:13px; line-height:1.65; min-width:0; font-variant-numeric:tabular-nums; }
#app .dr-v2 .forms-paper header { display:flex; justify-content:space-between; align-items:start; gap:16px; border-bottom:2px solid #c70e30; padding-bottom:20px; }
#app .dr-v2 .forms-paper header > div { min-width:0; }
#app .dr-v2 .forms-paper header > div:last-child { text-align:right; }
#app .dr-v2 .forms-paper header :is(span,small) { display:block; }
#app .dr-v2 .forms-paper-brand { color:#b70b2c; font-size:22px; letter-spacing:-.03em; }
#app .dr-v2 .forms-paper header small { color:#555; font-size:11px; margin-top:8px; }
#app .dr-v2 .forms-paper h3 { font-size:22px; line-height:1.4; margin:0 0 6px; color:#222; }
#app .dr-v2 .forms-paper-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; margin:22px 0; }
#app .dr-v2 .forms-paper-meta dt { font-size:11px; color:#555; }
#app .dr-v2 .forms-paper-meta dd { margin:2px 0 0; overflow-wrap:anywhere; }
#app .dr-v2 .forms-paper table { width:100%; border-collapse:collapse; table-layout:fixed; }
#app .dr-v2 .forms-paper-caption { text-align:left; font-weight:600; padding-bottom:8px; }
#app .dr-v2 .forms-paper :is(td,th) { border-bottom:1px solid #deded8; text-align:right; vertical-align:top; padding:10px 7px; overflow-wrap:anywhere; }
#app .dr-v2 .forms-paper th { background:#f9e9ec; color:#661126; font-weight:600; }
#app .dr-v2 .forms-paper :is(td,th):first-child { width:46%; text-align:left; }
#app .dr-v2 .forms-paper-total { display:flex; justify-content:space-between; gap:20px; padding-block:20px; border-bottom:1px solid #deded8; }
#app .dr-v2 .forms-paper-total strong { color:#b70b2c; font-size:22px; }
#app .dr-v2 .forms-paper-note { color:#444; font-size:12px; margin:18px 0 32px; }
#app .dr-v2 .forms-paper-signatures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; text-align:center; padding-top:12px; }
#app .dr-v2 .forms-paper-signatures span { display:block; border-top:1px solid #999; padding-top:8px; }
#app .dr-v2 .forms-paper-signatures small { color:#555; }
#app .dr-v2 .forms-paper footer { margin-top:24px; color:#555; text-align:center; font-size:11px; }
#app .dr-v2 .forms-preview-context { min-height:88px; color:var(--dr-muted); font-size:14px; line-height:1.8; margin:16px 0 0; }
#app .dr-v2 :is(.forms-scope,.forms-boundary) { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,5vw,76px); border-top:1px solid var(--dr-rule); padding-block:48px; }
#app .dr-v2 :is(.forms-scope,.forms-boundary) h2 { color:var(--dr-ink); font-size:clamp(28px,3.5vw,42px); line-height:1.2; letter-spacing:-.025em; margin:0 0 18px; }
#app .dr-v2 :is(.forms-scope,.forms-boundary) p { color:var(--dr-muted); max-width:65ch; line-height:1.8; }
#app .dr-v2 .forms-scope dl { margin:0; }
#app .dr-v2 .forms-scope dl > div { border-bottom:1px solid var(--dr-rule); padding:20px 0; }
#app .dr-v2 .forms-scope dl > div:first-child { padding-top:0; }
#app .dr-v2 .forms-scope dt { font-size:19px; font-weight:700; margin-bottom:6px; color:var(--dr-ink); }
#app .dr-v2 .forms-scope dd { margin:0; color:var(--dr-muted); line-height:1.8; }
#app .dr-v2 .offer-forms-link { background:transparent; border:1px solid var(--dr-rule); color:var(--dr-ink); margin-bottom:16px; font-size:14px; }
#app .dr-v2 .offer-forms-link:hover { background:var(--dr-ink); color:var(--dr-paper); }
@media (max-width:980px) {
  #app .dr-v2 :is(.forms-intro,.forms-scope,.forms-boundary) { grid-template-columns:1fr; gap:32px; }
  #app .dr-v2 .forms-intro { padding-top:30px; }
}
@media (max-width:600px) {
  #app .dr-v2 .forms-type-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .dr-v2 .forms-paper { padding:16px 12px; font-size:12px; }
  #app .dr-v2 .forms-paper header { flex-direction:column; gap:16px; }
  #app .dr-v2 .forms-paper header > div:last-child { text-align:left; }
  #app .dr-v2 .forms-paper :is(td,th) { padding:10px 4px; }
}
body.preview-mobile #app .dr-v2 :is(.forms-intro,.forms-scope,.forms-boundary) { grid-template-columns:1fr; }
body.preview-mobile #app .dr-v2 .forms-type-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
