/**
 * RCC Connect — frontend styles
 */

.rcc-cn {
	max-width: 720px;
	margin: 0 auto;
	font-family: var(--wp--preset--font-family--manrope, system-ui, sans-serif);
	color: var(--wp--preset--color--eggplant, #3a1f47);
}

.rcc-cn__intro { margin-bottom: 1.5rem; }

.rcc-cn__title {
	font-family: var(--wp--preset--font-family--fraunces, Georgia, serif);
	font-size: 1.75rem;
	font-weight: 500;
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--eggplant, #3a1f47);
}

.rcc-cn__desc { margin: 0; opacity: 0.85; line-height: 1.55; }

.rcc-cn__fieldset {
	border: 1px solid var(--wp--preset--color--soft-lavender, #d9cce8);
	border-radius: 8px;
	padding: 1.25rem 1.5rem 1rem;
	margin: 0 0 1.25rem;
	background-color: var(--wp--preset--color--warm-white, #fafaf7);
}

.rcc-cn__legend {
	font-family: var(--wp--preset--font-family--fraunces, Georgia, serif);
	font-size: 1.125rem;
	font-weight: 500;
	padding: 0 0.5rem;
	color: var(--wp--preset--color--deep-lavender, #6b4a8e);
}

/* ---------- Step transitions ---------- */
.rcc-cn__step[hidden] { display: none !important; }

.rcc-cn__step--2:not([hidden]) {
	animation: rcc-cn-slide-in 0.25s ease-out;
}

@keyframes rcc-cn-slide-in {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.rcc-cn__step--2:not([hidden]) { animation: none; }
}

/* ---------- Subject cards ---------- */
.rcc-cn__cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.625rem;
	margin-top: 0.5rem;
}

@media (min-width: 700px) {
	.rcc-cn__cards { grid-template-columns: 1fr 1fr; }
}

.rcc-cn__card { display: block; cursor: pointer; position: relative; }

.rcc-cn__card input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.rcc-cn__card-inner {
	display: block;
	padding: 0.875rem 1rem;
	background-color: #fff;
	border: 2px solid var(--wp--preset--color--soft-lavender, #d9cce8);
	border-radius: 8px;
	transition: border-color 0.15s ease, background-color 0.15s ease;
	height: 100%;
	box-sizing: border-box;
}

.rcc-cn__card:hover .rcc-cn__card-inner {
	border-color: var(--wp--preset--color--lavender, #a58ac7);
}

.rcc-cn__card input[type="radio"]:focus-visible + .rcc-cn__card-inner {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
	outline: none;
}

.rcc-cn__card input[type="radio"]:checked + .rcc-cn__card-inner {
	border-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	background-color: var(--wp--preset--color--lavender-mist, #efe9f7);
}

.rcc-cn__card-label {
	display: block;
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: 0.2rem;
	color: var(--wp--preset--color--eggplant, #3a1f47);
}

.rcc-cn__card-desc {
	display: block;
	font-size: 0.875rem;
	opacity: 0.8;
	line-height: 1.45;
}

/* ---------- Summary bar (step 2) ---------- */
.rcc-cn__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 1rem;
	margin: 0 0 1.25rem;
	background-color: var(--wp--preset--color--lavender-mist, #efe9f7);
	border: 1px solid var(--wp--preset--color--soft-lavender, #d9cce8);
	border-radius: 8px;
	font-size: 0.9375rem;
}

.rcc-cn__summary-label {
	color: var(--wp--preset--color--muted, #6b5f73);
	margin-right: 0.25rem;
}

.rcc-cn__summary-value {
	color: var(--wp--preset--color--eggplant, #3a1f47);
	font-weight: 600;
}

.rcc-cn__summary-change {
	background: transparent;
	border: 1px solid var(--wp--preset--color--deep-lavender, #6b4a8e);
	color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	padding: 0.375rem 0.875rem;
	border-radius: 6px;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.rcc-cn__summary-change:hover,
.rcc-cn__summary-change:focus-visible {
	background-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	color: var(--wp--preset--color--warm-white, #fafaf7);
	outline: none;
}

.rcc-cn__summary-change:focus-visible {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
}

/* ---------- PHI notice ---------- */
.rcc-cn__notice {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	padding: 0.75rem 0.875rem;
	margin: 0 0 1.25rem;
	background-color: var(--wp--preset--color--lavender-mist, #efe9f7);
	border-left: 3px solid var(--wp--preset--color--deep-lavender, #6b4a8e);
	border-radius: 4px;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--eggplant, #3a1f47);
}

.rcc-cn__notice-icon {
	font-weight: 700;
	color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	flex-shrink: 0;
}

/* ---------- Fields ---------- */
.rcc-cn__field { margin: 0 0 1rem; }

.rcc-cn__field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	font-size: 0.9375rem;
}

.rcc-cn__req { color: #b32d2e; font-weight: 700; margin-left: 0.125rem; }
.rcc-cn__opt { color: var(--wp--preset--color--muted, #6b5f73); font-weight: 400; font-size: 0.8125rem; margin-left: 0.25rem; }

.rcc-cn__field input[type="text"],
.rcc-cn__field input[type="email"],
.rcc-cn__field input[type="tel"],
.rcc-cn__field select,
.rcc-cn__field textarea {
	width: 100%;
	padding: 0.625rem 0.75rem;
	font-size: 1rem;
	font-family: inherit;
	border: 1px solid var(--wp--preset--color--soft-lavender, #d9cce8);
	border-radius: 6px;
	background-color: #fff;
	color: var(--wp--preset--color--eggplant, #3a1f47);
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rcc-cn__field input:focus,
.rcc-cn__field select:focus,
.rcc-cn__field textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
}

.rcc-cn__field textarea { resize: vertical; min-height: 110px; }

.rcc-cn__help {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted, #6b5f73);
	font-weight: 400;
}

.rcc-cn__help--block { display: block; margin: 0 0 0.75rem; }

.rcc-cn__subject-desc { min-height: 1.2em; margin-top: 0.5rem; }

.rcc-cn__field--error input,
.rcc-cn__field--error select,
.rcc-cn__field--error textarea {
	border-color: #b32d2e;
	background-color: #fdf0f0;
}

.rcc-cn__grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

@media (max-width: 600px) {
	.rcc-cn__grid-2 { grid-template-columns: 1fr; }
}

/* ---------- Path cards (consultation/intake) ---------- */
.rcc-cn__path-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.625rem;
	margin-top: 0.25rem;
}

@media (min-width: 600px) {
	.rcc-cn__path-grid { grid-template-columns: 1fr 1fr; }
}

.rcc-cn__path { display: block; cursor: pointer; position: relative; }

.rcc-cn__path input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.rcc-cn__path-inner {
	display: block;
	padding: 0.875rem 1rem;
	background-color: #fff;
	border: 2px solid var(--wp--preset--color--soft-lavender, #d9cce8);
	border-radius: 8px;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.rcc-cn__path:hover .rcc-cn__path-inner {
	border-color: var(--wp--preset--color--lavender, #a58ac7);
}

.rcc-cn__path input[type="radio"]:focus-visible + .rcc-cn__path-inner {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
	outline: none;
}

.rcc-cn__path input[type="radio"]:checked + .rcc-cn__path-inner {
	border-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	background-color: var(--wp--preset--color--lavender-mist, #efe9f7);
}

.rcc-cn__path-label {
	display: block;
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: 0.2rem;
}

.rcc-cn__path-desc {
	display: block;
	font-size: 0.875rem;
	opacity: 0.8;
	line-height: 1.45;
}

.rcc-cn__path-grid.rcc-cn__field--error .rcc-cn__path-inner {
	border-color: #b32d2e;
	background-color: #fdf0f0;
}

/* ---------- Chips (days + windows) ---------- */
.rcc-cn__check-group { margin: 0 0 1rem; }

.rcc-cn__check-heading {
	display: block;
	font-weight: 600;
	font-size: 0.9375rem;
	margin-bottom: 0.5rem;
}

.rcc-cn__check-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.rcc-cn__chip { display: inline-flex; align-items: center; cursor: pointer; }

.rcc-cn__chip input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.rcc-cn__chip span {
	display: inline-block;
	padding: 0.375rem 0.75rem;
	background-color: #fff;
	border: 1px solid var(--wp--preset--color--soft-lavender, #d9cce8);
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 500;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.rcc-cn__chip:hover span {
	border-color: var(--wp--preset--color--lavender, #a58ac7);
}

.rcc-cn__chip input[type="checkbox"]:focus-visible + span {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
}

.rcc-cn__chip input[type="checkbox"]:checked + span {
	background-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	border-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	color: var(--wp--preset--color--warm-white, #fafaf7);
}

/* ---------- Honeypot ---------- */
.rcc-cn__hp {
	position: absolute !important;
	left: -9999px;
	top: -9999px;
	height: 0;
	overflow: hidden;
}

/* ---------- Turnstile ---------- */
.rcc-cn__turnstile { margin: 0 0 1rem; }

/* ---------- Consent ---------- */
.rcc-cn__consent {
	padding: 0.875rem;
	background-color: var(--wp--preset--color--lavender-mist, #efe9f7);
	border-radius: 6px;
	margin: 0 0 1rem;
}

.rcc-cn__consent label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-weight: 500;
	cursor: pointer;
}

.rcc-cn__consent input[type="checkbox"] {
	margin-top: 0.25rem;
	width: 1.1rem;
	height: 1.1rem;
	flex-shrink: 0;
	accent-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
}

/* ---------- Submit / status / success ---------- */
.rcc-cn__actions { margin: 1.25rem 0 0; }

.rcc-cn__submit {
	display: inline-flex;
	align-items: center;
	padding: 0.875rem 1.75rem;
	font-size: 1rem;
	font-weight: 600;
	font-family: inherit;
	background-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	color: var(--wp--preset--color--warm-white, #fafaf7);
	border: 0;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.rcc-cn__submit:hover,
.rcc-cn__submit:focus-visible {
	background-color: var(--wp--preset--color--eggplant, #3a1f47);
	outline: none;
}

.rcc-cn__submit:focus-visible {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
}

.rcc-cn__submit:disabled { opacity: 0.6; cursor: not-allowed; }

.rcc-cn__status {
	margin-top: 1rem;
	padding: 0.75rem 0.875rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	display: none;
}

.rcc-cn__status--error {
	display: block;
	background-color: #fdf0f0;
	color: #8a2121;
	border: 1px solid #f5c6c6;
}

.rcc-cn__success {
	padding: 1.5rem 1.75rem;
	background-color: var(--wp--preset--color--soft-honey, #ecd9a8);
	border: 1px solid var(--wp--preset--color--honey, #d4a829);
	border-radius: 8px;
	color: var(--wp--preset--color--eggplant, #3a1f47);
}

.rcc-cn__success h3 {
	font-family: var(--wp--preset--font-family--fraunces, Georgia, serif);
	font-size: 1.375rem;
	font-weight: 500;
	margin: 0 0 0.5rem;
}

.rcc-cn__success p { margin: 0 0 0.5rem; line-height: 1.55; }

.rcc-cn__success-crisis {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(0,0,0,0.12);
	font-size: 0.9375rem;
}

.rcc-cn__success-crisis a {
	color: var(--wp--preset--color--eggplant, #3a1f47);
	font-weight: 700;
}

/* ---------- Crisis modal overlay ---------- */
body.rcc-cn-modal-open { overflow: hidden; }

.rcc-cn__modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	box-sizing: border-box;
}

.rcc-cn__modal:not(.is-open) { display: none; }

.rcc-cn__modal-backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(58, 31, 71, 0.65);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	animation: rcc-cn-fade-in 0.2s ease-out;
}

.rcc-cn__modal-dialog {
	position: relative;
	width: 100%;
	max-width: 520px;
	max-height: calc(100vh - 2rem);
	overflow-y: auto;
	background-color: var(--wp--preset--color--warm-white, #fafaf7);
	border: 1px solid var(--wp--preset--color--honey, #d4a829);
	border-radius: 12px;
	padding: 1.75rem 1.75rem 1.5rem;
	box-shadow: 0 12px 48px rgba(58, 31, 71, 0.35);
	color: var(--wp--preset--color--eggplant, #3a1f47);
	font-family: var(--wp--preset--font-family--manrope, system-ui, sans-serif);
	animation: rcc-cn-modal-in 0.25s ease-out;
}

@keyframes rcc-cn-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes rcc-cn-modal-in {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.rcc-cn__modal-backdrop,
	.rcc-cn__modal-dialog { animation: none; }
}

.rcc-cn__modal-close {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--muted, #6b5f73);
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.rcc-cn__modal-close:hover,
.rcc-cn__modal-close:focus-visible {
	background-color: var(--wp--preset--color--lavender-mist, #efe9f7);
	color: var(--wp--preset--color--eggplant, #3a1f47);
	outline: none;
}

.rcc-cn__modal-close:focus-visible {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
}

.rcc-cn__modal-heading {
	font-family: var(--wp--preset--font-family--fraunces, Georgia, serif);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.3;
	margin: 0 2rem 0.75rem 0;
	color: var(--wp--preset--color--eggplant, #3a1f47);
}

.rcc-cn__modal-body { margin: 0 0 1.25rem; line-height: 1.55; font-size: 1rem; }

.rcc-cn__modal-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

@media (max-width: 500px) {
	.rcc-cn__modal-actions { grid-template-columns: 1fr; }
}

.rcc-cn__modal-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	background-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	color: var(--wp--preset--color--warm-white, #fafaf7);
	transition: background-color 0.15s ease;
}

.rcc-cn__modal-action:hover,
.rcc-cn__modal-action:focus-visible {
	background-color: var(--wp--preset--color--eggplant, #3a1f47);
	color: var(--wp--preset--color--warm-white, #fafaf7);
	outline: none;
}

.rcc-cn__modal-action:focus-visible {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
}

.rcc-cn__modal-action--emergency {
	background-color: #b32d2e;
	grid-column: 1 / -1;
}

.rcc-cn__modal-action--emergency:hover,
.rcc-cn__modal-action--emergency:focus-visible {
	background-color: #8a2121;
	color: #fff;
}

.rcc-cn__modal-dismiss {
	display: block;
	width: 100%;
	padding: 0.625rem 1rem;
	margin-top: 0.25rem;
	background: transparent;
	border: 1px solid var(--wp--preset--color--soft-lavender, #d9cce8);
	border-radius: 8px;
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--wp--preset--color--muted, #6b5f73);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.rcc-cn__modal-dismiss:hover,
.rcc-cn__modal-dismiss:focus-visible {
	background-color: var(--wp--preset--color--lavender-mist, #efe9f7);
	color: var(--wp--preset--color--eggplant, #3a1f47);
	border-color: var(--wp--preset--color--lavender, #a58ac7);
	outline: none;
}

.rcc-cn__modal-dismiss:focus-visible {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
}

/* ---------- Submit-time crisis modal extras ---------- */
.rcc-cn__modal--submit .rcc-cn__modal-dialog {
	max-width: 560px;
}

.rcc-cn__modal-section {
	margin-bottom: 0.75rem;
}

.rcc-cn__modal-subheading {
	font-family: var(--wp--preset--font-family--fraunces, Georgia, serif);
	font-size: 1.0625rem;
	font-weight: 500;
	margin: 0 0 0.625rem;
	color: var(--wp--preset--color--deep-lavender, #6b4a8e);
}

.rcc-cn__modal-helptext {
	margin: 0 0 0.75rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--muted, #6b5f73);
}

.rcc-cn__modal-divider {
	display: flex;
	align-items: center;
	margin: 1rem 0;
	color: var(--wp--preset--color--muted, #6b5f73);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.rcc-cn__modal-divider::before,
.rcc-cn__modal-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background-color: var(--wp--preset--color--soft-lavender, #d9cce8);
}

.rcc-cn__modal-divider span {
	padding: 0 0.75rem;
}

.rcc-cn__modal-send {
	display: block;
	width: 100%;
	padding: 0.875rem 1.25rem;
	background-color: var(--wp--preset--color--warm-white, #fafaf7);
	border: 2px solid var(--wp--preset--color--deep-lavender, #6b4a8e);
	border-radius: 8px;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.rcc-cn__modal-send:hover,
.rcc-cn__modal-send:focus-visible {
	background-color: var(--wp--preset--color--deep-lavender, #6b4a8e);
	color: var(--wp--preset--color--warm-white, #fafaf7);
	outline: none;
}

.rcc-cn__modal-send:focus-visible {
	box-shadow: 0 0 0 2px var(--wp--preset--color--honey, #d4a829);
}
