/* T19930 Gold Peach Realty agent signing flow. Ported from the T19336 esign.css; palette from gpr_brand_standards/STANDARDS.md
   (ink #1a1a1a, warm gold #c9a84c, cream #f8f5f0). The horizontal black-lettering logo sits on a white panel only (brand pack v3). */
:root { --ink: #1a1a1a; --body: #2b2a27; --muted: #5f5a50; --gold: #c9a84c; --gold-ink: #7a5c16; --cream: #f8f5f0; --panel: #f4f1ea; --rule: #e4dccb; --white: #ffffff; }
* { box-sizing: border-box; }
body.gpr-shell { margin: 0; background: var(--cream); color: var(--body); font: 400 16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.masthead { background: var(--white); border-bottom: 1px solid var(--rule); }
.masthead__in { max-width: 880px; margin: 0 auto; padding: 14px 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.masthead .brand img { display: block; height: auto; max-width: min(250px, 60vw); }
.masthead__contact { font: 600 13px/1.3 system-ui, -apple-system, "Segoe UI", Arial, sans-serif; color: var(--ink); letter-spacing: .02em; }
.gpr-button { display: inline-block; background: var(--ink); color: var(--white); border: 0; border-radius: 9px; font: 600 15px/1 system-ui, -apple-system, "Segoe UI", Arial, sans-serif; padding: 14px 26px; cursor: pointer; text-decoration: none; }
.gpr-button:hover { background: #000; }
.gpr-button:focus-visible, .esign a:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.gpr-optional { font-weight: 400; color: var(--muted); }
.gpr-fineprint { font-size: 13px; color: var(--muted); margin: 0; }
.gpr-footer { background: var(--ink); color: #e8e3db; padding: 22px 16px; font-size: 13px; line-height: 1.6; }
.gpr-footer p { max-width: 880px; margin: 0 auto; }
.esign-main { padding: 28px 16px 64px; min-height: 70vh; }
.esign-test { max-width: 880px; margin: 0 auto 18px; background: #fff4d6; color: #6b4a00; border: 1px solid #f0d48a; border-radius: 8px; padding: 10px 14px; font-weight: 600; font-size: 13px; line-height: 1.45; }
.esign-steps { max-width: 880px; margin: 0 auto 16px; padding: 0; list-style: none; display: flex; gap: 8px; counter-reset: s; }
.esign-steps li { flex: 1; counter-increment: s; font-weight: 600; font-size: 12px; line-height: 1.2; letter-spacing: .06em; text-transform: uppercase; color: #8a8478; border-top: 3px solid var(--rule); padding-top: 8px; }
.esign-steps li::before { content: counter(s) ". "; }
.esign-steps li.on { color: var(--ink); border-top-color: var(--gold); }
.esign-error { max-width: 880px; margin: 0 auto 14px; background: #fde8e8; color: #8a1c1c; border-radius: 8px; padding: 10px 14px; font-weight: 500; font-size: 14px; line-height: 1.45; }
.esign-card { max-width: 880px; margin: 0 auto; background: var(--white); border: 1px solid var(--rule); border-radius: 14px; padding: clamp(20px, 4vw, 40px); }
.eyebrow { font-weight: 600; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); margin: 0; }
.esign-card h1 { font: 700 clamp(26px, 4vw, 36px)/1.15 Georgia, "Times New Roman", serif; color: var(--ink); margin: 6px 0 10px; text-wrap: balance; }
.esign-lede { color: var(--body); margin: 0 0 22px; max-width: 62ch; }
.esign-form { display: grid; gap: 16px; }
.esign-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.esign-grid label, .esign-form > label { display: grid; gap: 6px; font-weight: 600; font-size: 13px; line-height: 1.3; color: var(--ink); }
.esign-grid input { font: 500 16px/1.3 system-ui, -apple-system, "Segoe UI", Arial, sans-serif; padding: 12px 13px; border: 1px solid #cfc6b4; border-radius: 9px; background: #fffdf9; color: var(--ink); width: 100%; }
.esign-grid input:focus { outline: 2px solid var(--gold); outline-offset: 1px; border-color: var(--gold); }
.esign-hint { font-weight: 400; font-size: 12.5px; color: var(--muted); }
.esign-hp { position: absolute; left: -9999px; }
.esign-toggle, .esign-check { display: flex !important; align-items: flex-start; gap: 10px; font-weight: 500 !important; font-size: 14.5px !important; line-height: 1.5 !important; background: var(--panel); border: 1px solid var(--rule); border-radius: 10px; padding: 12px 14px; cursor: pointer; }
.esign-toggle input, .esign-check input { width: 19px; height: 19px; margin-top: 2px; accent-color: var(--ink); flex: none; }
.esign-go { justify-self: start; }
.esign-terms { margin: 0 0 10px; padding: 16px 18px 16px 34px; background: var(--ink); color: #ece7dd; border-radius: 12px; display: grid; gap: 8px; font-size: 15px; line-height: 1.55; }
.esign-terms strong { color: var(--white); }
.esign-terms li::marker { color: var(--gold); }
.esign-src { font-size: 11.5px; letter-spacing: .04em; color: #b9b2a3; white-space: nowrap; }
.esign-docs { display: grid; gap: 8px; }
.esign-doc-row { border: 1px solid var(--rule); border-radius: 10px; background: var(--white); }
.esign-doc-row summary { text-align: left; cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; padding: 13px 15px; font-weight: 600; font-size: 14.5px; line-height: 1.35; color: var(--ink); }
.esign-doc-row summary::-webkit-details-marker { display: none; }
.esign-doc-row summary::before { content: "+"; color: var(--gold-ink); font-weight: 700; margin-right: 6px; }
.esign-doc-row[open] summary::before { content: "\2013"; }
.esign-doc-title { flex: 1 1 260px; }
.esign-doc-meta { color: var(--muted); font-weight: 500; font-size: 12.5px; }
.esign-doc-body, .esign-doc__body { max-height: 420px; overflow: auto; padding: 4px 18px 18px; border-top: 1px solid #ece6d9; font-size: 14px; line-height: 1.6; color: #2a2722; }
.esign-doc__body { max-height: none; }
.esign-doc-body h1, .esign-doc-body h2, .esign-doc__body h1, .esign-doc__body h2 { font: 700 17px/1.3 Georgia, "Times New Roman", serif; margin: 18px 0 6px; color: var(--ink); }
.esign-doc-body table, .esign-doc__body table { border-collapse: collapse; width: 100%; font-size: 13px; display: block; overflow-x: auto; }
.esign-doc-body th, .esign-doc-body td, .esign-doc__body th, .esign-doc__body td { border: 1px solid var(--rule); padding: 6px 8px; text-align: left; vertical-align: top; }
.esign-preview { min-height: 34px; margin: -4px 0 0; }
.esign-script { font: italic 600 26px/1.2 "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive; color: var(--ink); }
.esign-next { margin: 0; padding-left: 20px; display: grid; gap: 10px; font-size: 15px; line-height: 1.55; color: var(--body); }
.esign-signed { max-width: 880px; margin: 22px auto 0; display: grid; gap: 14px; }
.esign-cert, .esign-doc { background: var(--white); border: 1px solid var(--rule); border-radius: 12px; padding: 20px 22px; min-width: 0; }
.esign-cert h2, .esign-doc h2 { font: 700 20px/1.25 Georgia, "Times New Roman", serif; margin: 2px 0 8px; color: var(--ink); }
.esign-cert dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 16px; margin: 0; font-size: 13.5px; line-height: 1.5; }
.esign-cert dt { font-weight: 600; color: var(--muted); }
.esign-cert dd { margin: 0; }
.esign-consent, .esign-sha { color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.esign-sha, .esign-cert dd { overflow-wrap: anywhere; }
.esign-sigblock { border-top: 1px dashed #cfc6b4; margin-top: 12px; padding-top: 10px; font-size: 14px; line-height: 1.6; }
.esign-initials { margin: 4px 0; font-size: 13.5px; }
.esign-print { background: var(--cream); padding: 24px 16px; color: var(--ink); font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
@media (max-width: 640px) { .esign-grid { grid-template-columns: 1fr; } .esign-cert dl { grid-template-columns: 1fr; } .esign-steps li { font-size: 10.5px; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
@media print { .esign-doc-body { max-height: none; } .masthead, .gpr-footer, .esign-steps { display: none; } }
