/* The Peace Center: retreat discovery questionnaire */
.rms-disc{--d-green:#0b3d17;--d-deep:#06300f;--d-gold:#c9a24e;--d-gold-l:#f0d27e;--d-ink:#1f2a1f;--d-muted:#5d6458;--d-line:#e6dcc3;--d-cream:#fbf7ec;--d-card:#fffdf8;--d-err:#a3312f;max-width:760px !important;margin:10px auto 60px !important;font-family:var(--rms-sans,'Inter',system-ui,sans-serif);color:var(--d-ink)}
.rms-disc-card{position:relative;background:var(--d-card);border:1px solid var(--d-line);border-radius:22px;box-shadow:0 24px 60px rgba(11,61,23,.10);padding:clamp(22px,5vw,52px)}
.rms-disc-card::before{content:'';position:absolute;inset:10px;border:1px solid rgba(201,162,78,.35);border-radius:16px;pointer-events:none}
.rms-disc-loading,.rms-disc-noscript{text-align:center;color:var(--d-muted);margin:30px 0}
.rms-disc-shell{transition:opacity .22s ease,transform .22s ease}
.rms-disc-shell.is-entering{opacity:0;transform:translateY(10px)}
.rms-disc-shell.is-leaving,.rms-disc-root>.is-leaving{opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}

/* progress */
.rms-disc-progress{margin:0 0 26px}
.rms-disc-count{margin:0 0 10px;font-family:var(--rms-cinzel,'Cinzel',serif);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:#8a6a22}
.rms-disc-bar{height:6px;border-radius:6px;background:#efe7d3;overflow:hidden}
.rms-disc-bar span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--d-green),#2c6b33 60%,var(--d-gold));transition:width .35s ease}

/* question */
.rms-disc-q{font-family:'Cormorant Garamond',var(--rms-serif,Georgia),serif !important;font-weight:600 !important;font-size:clamp(1.7rem,3.6vw,2.35rem) !important;line-height:1.18 !important;color:var(--d-green) !important;margin:0 0 8px !important;outline:none}
.rms-disc-q:focus-visible{outline:2px dashed var(--d-gold);outline-offset:6px;border-radius:4px}
.rms-disc-help,.rms-disc-reqnote{margin:0 0 18px;color:var(--d-muted);font-size:.95rem}
.rms-disc-reqnote{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#8a6a22;margin-bottom:14px}
.rms-disc-set{border:0;margin:0;padding:0;min-width:0}

/* option cards */
.rms-disc-opts{display:grid;gap:12px;grid-template-columns:1fr}
.rms-disc-opts.is-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.rms-disc-opts.is-retreats{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.rms-disc-opt{position:relative;display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1.5px solid var(--d-line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;margin:0 !important}
.rms-disc-opt:hover{border-color:rgba(201,162,78,.75);background:#fffbf1}
.rms-disc-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.rms-disc-opt-mark{flex:none;width:22px;height:22px;margin-top:1px;border:1.5px solid #b9ab86;border-radius:50%;background:#fff;position:relative;transition:all .15s}
.rms-disc-opt input[type=checkbox]~.rms-disc-opt-mark{border-radius:6px}
.rms-disc-opt input:checked~.rms-disc-opt-mark{background:var(--d-green);border-color:var(--d-green)}
.rms-disc-opt input:checked~.rms-disc-opt-mark::after{content:'';position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid var(--d-gold-l);border-width:0 2px 2px 0;transform:rotate(45deg)}
.rms-disc-opt:has(input:checked){border-color:var(--d-gold);background:#fbf5e4;box-shadow:0 6px 18px rgba(201,162,78,.18)}
.rms-disc-opt:focus-within{outline:3px solid rgba(11,61,23,.35);outline-offset:2px}
.rms-disc-opt-text{display:flex;flex-direction:column;gap:3px}
.rms-disc-opt-label{font-size:1rem;line-height:1.4;color:var(--d-ink)}
.rms-disc-opt-hint{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#8a6a22}
.rms-disc-opts.is-retreats .rms-disc-opt-label{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.18rem;font-weight:600;color:var(--d-green)}

/* text fields */
.rms-disc-field{display:flex;flex-direction:column;gap:6px;margin:0 0 4px}
.rms-disc-label{font-weight:500;font-size:.95rem;color:var(--d-ink);padding:0;margin:0 0 4px}
.rms-disc-req{color:var(--d-err)}
.rms-disc-opt-tag{color:var(--d-muted);font-weight:400}
.rms-disc input[type=text],.rms-disc input[type=email],.rms-disc input[type=tel],.rms-disc textarea{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;color:var(--d-ink);background:#fff;border:1.5px solid var(--d-line);border-radius:12px;padding:13px 15px;transition:border-color .15s,box-shadow .15s}
.rms-disc textarea{min-height:140px;resize:vertical;line-height:1.55}
.rms-disc input:focus,.rms-disc textarea:focus{outline:none;border-color:var(--d-green);box-shadow:0 0 0 3px rgba(11,61,23,.15)}
.rms-disc [aria-invalid=true]{border-color:var(--d-err) !important}
.rms-disc-counter{align-self:flex-end;font-size:.75rem;color:var(--d-muted)}
.rms-disc ::placeholder{color:#9a9a8c}

/* follow-ups, notices, errors */
.rms-disc-extras>*{margin-top:18px}
.rms-disc-followup{padding:16px 18px;border-left:3px solid var(--d-gold);background:#fbf7ec;border-radius:0 12px 12px 0}
.rms-disc-subset{border:0;padding:0;margin:0}
.rms-disc-subset .rms-disc-opts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.rms-disc-notice{padding:14px 18px;border-radius:12px;background:#eef3ea;color:var(--d-green);border:1px solid #cfdcc8;line-height:1.55}
.rms-disc-err{color:var(--d-err);font-size:.92rem;margin:8px 0 0}
.rms-disc-err[hidden],.rms-disc [hidden]{display:none !important}

/* contact */
.rms-disc-contact{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.rms-disc-cf-email,.rms-disc-consents{grid-column:1/-1}
.rms-disc-consents{display:flex;flex-direction:column;gap:12px;margin-top:6px;padding-top:16px;border-top:1px solid var(--d-line)}
.rms-disc-check{display:flex;gap:12px;align-items:flex-start;font-size:.94rem;line-height:1.5;cursor:pointer;margin:0 !important}
.rms-disc-check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--d-green)}
.rms-disc-check a{color:var(--d-green);text-decoration:underline}

/* navigation */
.rms-disc-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid var(--d-line)}
.rms-disc-nav-r{display:flex;align-items:center;gap:16px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.rms-disc-back,.rms-disc-skip,.rms-disc-edit{background:none;border:0;padding:10px 4px;font:inherit;font-size:.95rem;color:var(--d-green);cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(201,162,78,.8)}
.rms-disc-back::before{content:'\2190\00a0'}
.rms-disc-skip{color:var(--d-muted)}
.rms-disc-back:focus-visible,.rms-disc-skip:focus-visible,.rms-disc-edit:focus-visible,.rms-disc .rms-btn:focus-visible{outline:3px solid rgba(11,61,23,.4);outline-offset:3px;border-radius:6px}
.rms-disc .rms-btn[disabled]{opacity:.65;cursor:progress}

/* review */
.rms-disc-review{margin:10px 0 0;padding:0}
.rms-disc-review-row{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--d-line)}
.rms-disc-review-row dt{grid-column:1;font-size:.9rem;color:var(--d-muted);margin:0}
.rms-disc-review-row dd{grid-column:1;margin:0;display:flex;flex-direction:column;gap:2px;color:var(--d-ink);white-space:pre-wrap;word-break:break-word}
.rms-disc-review-row .rms-disc-edit{grid-column:2;grid-row:1/span 2;align-self:center}
.rms-disc-review-skip{color:#9a9a8c;font-style:italic}
.rms-disc-status{margin-top:16px}

/* done */
.rms-disc-done{text-align:center;padding:10px 0}
.rms-disc-done p{font-size:1.06rem;line-height:1.7;color:var(--d-ink);max-width:560px;margin:0 auto 14px}
.rms-disc-done-mark{width:88px;height:88px;margin:0 auto 18px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#1b5222,#0b3d17 60%,#06300f);box-shadow:0 10px 30px rgba(11,61,23,.25);position:relative}
.rms-disc-done-mark::after{content:'';position:absolute;left:33px;top:20px;width:18px;height:34px;border:solid var(--d-gold-l);border-width:0 4px 4px 0;transform:rotate(45deg)}
.rms-disc-done-links{margin-top:24px !important}

/* privacy notice block on the page */
.rms-disc-privacy{max-width:760px;margin:0 auto 40px;font-size:.92rem;color:var(--d-muted,#5d6458)}
.rms-disc-privacy summary{cursor:pointer;color:#0b3d17;font-weight:500}

@media (max-width:640px){
	.rms-disc-contact{grid-template-columns:1fr}
	.rms-disc-nav{flex-wrap:wrap}
	.rms-disc-nav-r{width:100%;justify-content:space-between}
	.rms-disc-next,.rms-disc-submit{flex:1}
	.rms-disc-card::before{inset:6px}
}
@media (prefers-reduced-motion:reduce){
	.rms-disc *,.rms-disc-shell{transition:none !important;animation:none !important}
}
