/* Rumi's Den Client Forms — public form styling */
.rcf-wrap { --rcf-red:#8b2f2a; --rcf-ink:#33241f; --rcf-line:#e3d7c4; --rcf-sand:#faf5ec;
	max-width: 720px; margin: 0 auto; padding: 8px 0 48px; color: var(--rcf-ink); }
.rcf-wrap .rcf-title { font-size: clamp(28px, 4vw, 38px); line-height:1.15; margin:0 0 12px; }
.rcf-wrap .rcf-intro { color:#5f544d; line-height:1.65; margin:0 0 26px; }
.rcf-wrap .rcf-card { background:#fff; border:1px solid var(--rcf-line); border-radius:14px; padding:24px; margin-bottom:20px; }
.rcf-wrap fieldset.rcf-card legend { font-size:19px; font-weight:600; padding:0 6px; }
.rcf-wrap .rcf-field { margin-bottom:20px; }
.rcf-wrap .rcf-field:last-child { margin-bottom:0; }
.rcf-wrap .rcf-label { display:block; font-weight:600; margin-bottom:6px; }
.rcf-wrap .rcf-req { color:var(--rcf-red); }
.rcf-wrap .rcf-help { font-size:13px; color:#7a6f68; margin:0 0 8px; }
.rcf-wrap input[type="text"], .rcf-wrap input[type="email"], .rcf-wrap input[type="tel"],
.rcf-wrap input[type="date"], .rcf-wrap input[type="number"], .rcf-wrap select, .rcf-wrap textarea {
	width:100%; box-sizing:border-box; padding:11px 13px; border:1px solid var(--rcf-line);
	border-radius:8px; background:#fff; font-size:16px; font-family:inherit; color:inherit; }
.rcf-wrap input:focus, .rcf-wrap select:focus, .rcf-wrap textarea:focus {
	outline:none; border-color:var(--rcf-red); box-shadow:0 0 0 3px rgba(139,47,42,.12); }
.rcf-wrap .rcf-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:600px) { .rcf-wrap .rcf-grid { grid-template-columns:1fr; } }
.rcf-wrap .rcf-section { border-bottom:1px solid var(--rcf-line); margin:6px 0 20px; padding-bottom:8px; }
.rcf-wrap .rcf-section h3 { margin:0; font-size:21px; }
.rcf-wrap .rcf-choices { display:flex; flex-direction:column; gap:9px; }
.rcf-wrap .rcf-choice { display:flex; align-items:center; gap:9px; font-weight:400; cursor:pointer; }
.rcf-wrap .rcf-choice input { width:auto; }
.rcf-wrap .rcf-signature { background:var(--rcf-sand); border:1px solid var(--rcf-line); border-radius:10px; padding:14px; }
.rcf-wrap .rcf-sign-input { font-size:20px; font-style:italic; }
.rcf-wrap .rcf-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; }
.rcf-wrap .rcf-privacy { font-size:13px; color:#7a6f68; margin:0; }
.rcf-wrap .rcf-submit { background:var(--rcf-red); color:#fff; border:none; border-radius:999px;
	padding:14px 30px; font-size:16px; font-weight:600; cursor:pointer; transition:opacity .15s ease; }
.rcf-wrap .rcf-submit:hover { opacity:.9; }
.rcf-wrap .rcf-errors { background:#fdeceb; border:1px solid #f0c0bd; color:#8f231f;
	border-radius:10px; padding:14px 18px; margin-bottom:20px; }
.rcf-wrap .rcf-errors p { margin:4px 0; }
.rcf-wrap .rcf-thanks { text-align:center; background:#fff; border:1px solid var(--rcf-line); border-radius:14px; padding:48px 28px; }
.rcf-wrap .rcf-check { width:56px; height:56px; margin:0 auto 18px; border-radius:50%;
	background:#e9f6ee; color:#256b40; font-size:28px; line-height:56px; }
.rcf-wrap .rcf-thanks h2 { margin:0 0 10px; font-size:30px; }
.rcf-wrap .rcf-thanks p { color:#5f544d; margin:0 auto; max-width:420px; line-height:1.6; }
.rcf-notice { padding:16px; background:#faf5ec; border:1px solid #e3d7c4; border-radius:10px; }

/* ---- multi-tab (stepped) forms ---- */
.rcf-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 22px; }
.rcf-tab { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #e0ddd7; border-radius: 999px;
	padding: 7px 14px 7px 8px; font: inherit; font-size: 13px; font-weight: 600; color: #6b6b76; cursor: pointer; }
.rcf-tab:hover { border-color: #c9a9ad; color: #1b1b1f; }
.rcf-tab-n { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%;
	background: #f1eeea; color: #6b6b76; font-size: 12px; }
.rcf-tab.is-active { border-color: #8b1e2d; color: #8b1e2d; background: #fdf6f6; }
.rcf-tab.is-active .rcf-tab-n { background: #8b1e2d; color: #fff; }
.rcf-tab.is-done .rcf-tab-n { background: #1f6b38; color: #fff; }
.rcf-step { display: none; }
.rcf-step.is-active { display: block; }
.rcf-step-title { margin: 0 0 6px; font-size: 21px; }
.rcf-step-error { background: #fdeceb; border: 1px solid #f0bfbb; color: #8a1f16; padding: 9px 13px; border-radius: 8px; margin: 0 0 14px; width: 100%; }
.rcf-field.rcf-invalid > .rcf-label { color: #8b1e2d; }
.rcf-field.rcf-invalid input, .rcf-field.rcf-invalid select, .rcf-field.rcf-invalid textarea { border-color: #c0392b; background: #fffafa; }
.rcf-prev, .rcf-next { background: #fff; border: 1px solid #8b1e2d; color: #8b1e2d; border-radius: 8px; padding: 11px 22px;
	font: inherit; font-weight: 600; cursor: pointer; }
.rcf-next { background: #8b1e2d; color: #fff; }
.rcf-prev:hover { background: #fdf6f6; }
.rcf-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* ---- long policy / consent text blocks ---- */
.rcf-content { background: #faf8f5; border: 1px solid #ece8e2; border-radius: 10px; padding: 16px 18px; margin: 0 0 20px;
	max-height: 340px; overflow-y: auto; }
.rcf-content h4 { margin: 0 0 8px; font-size: 16px; }
.rcf-content p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.6; color: #33333a; }
.rcf-content p:last-child { margin-bottom: 0; }
