/* ============================================================
 * Our Reflection — public form styles
 * Self-contained; the theme may override the --orc-* variables.
 * ========================================================== */

.orc-form,
.orc-newsletter{
	--orc-plum:#4B1D3F;
	--orc-terra:#C0654A;
	--orc-terra-dark:#a4503a;
	--orc-gold:#C6A75C;
	--orc-cream:#F6F1EB;
	--orc-ink:#3B2A25;
	--orc-line:#e3d8ca;
	--orc-radius:8px;
}

/* Honeypot — visually and programmatically hidden. */
.orc-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}

/* ---- Form layout ----------------------------------------- */
.orc-form{margin:0;}
.orc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;}
@media(max-width:640px){.orc-grid{grid-template-columns:1fr;}}
.orc-field{margin:0;display:flex;flex-direction:column;}
.orc-field.orc-full{grid-column:1 / -1;}

.orc-form label{font-family:inherit;font-size:12px;letter-spacing:.5px;text-transform:uppercase;font-weight:700;color:var(--orc-plum);margin-bottom:7px;}
.orc-req{color:var(--orc-terra);}

.orc-form input[type=text],
.orc-form input[type=email],
.orc-form input[type=tel],
.orc-form input[type=number],
.orc-form input[type=date],
.orc-form select,
.orc-form textarea{
	width:100%;
	font-family:inherit;
	font-size:16px;
	color:var(--orc-ink);
	background:#fff;
	border:1px solid var(--orc-line);
	border-radius:var(--orc-radius);
	padding:13px 15px;
	transition:border-color .18s ease, box-shadow .18s ease;
	-webkit-appearance:none;appearance:none;
}
.orc-form textarea{resize:vertical;min-height:120px;line-height:1.6;}
.orc-form select{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234B1D3F' d='M6 8 0 1.4 1.4 0 6 4.6 10.6 0 12 1.4z'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;
}
.orc-form input:focus,
.orc-form select:focus,
.orc-form textarea:focus{
	outline:none;
	border-color:var(--orc-terra);
	box-shadow:0 0 0 3px rgba(192,101,74,.14);
}

.orc-check{grid-column:1 / -1;margin:2px 0 0;}
.orc-check label{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0;font-weight:400;font-size:14px;color:var(--orc-ink);}
.orc-check input{width:17px;height:17px;accent-color:var(--orc-terra);}

/* ---- Actions / button ------------------------------------ */
.orc-actions{display:flex;align-items:center;gap:14px;margin-top:22px;}
.orc-btn{
	font-family:inherit;
	font-size:15px;font-weight:700;letter-spacing:.4px;
	color:#fff;background:var(--orc-terra);
	border:0;border-radius:var(--orc-radius);
	padding:15px 34px;cursor:pointer;
	box-shadow:0 10px 26px rgba(192,101,74,.28);
	transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.orc-btn:hover{background:var(--orc-terra-dark);transform:translateY(-1px);box-shadow:0 14px 32px rgba(192,101,74,.36);}
.orc-btn:active{transform:translateY(0);}
.orc-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none;}

/* ---- Spinner --------------------------------------------- */
.orc-spinner{display:none;width:20px;height:20px;border:2.5px solid rgba(75,29,63,.18);border-top-color:var(--orc-plum);border-radius:50%;animation:orc-spin .7s linear infinite;}
.orc-form.is-sending .orc-spinner{display:inline-block;}
@keyframes orc-spin{to{transform:rotate(360deg);}}

/* ---- Messages -------------------------------------------- */
.orc-message{display:none;margin-top:18px;padding:14px 18px;border-radius:var(--orc-radius);font-size:14.5px;line-height:1.55;}
.orc-message.orc-success{display:block;background:#e9f3ec;color:#23694a;border:1px solid #c6e4d2;}
.orc-message.orc-error{display:block;background:#fbeceb;color:#a33329;border:1px solid #f1cfcb;}

/* ---- Newsletter inline block ----------------------------- */
.orc-newsletter{background:var(--orc-cream);border:1px solid var(--orc-line);border-radius:14px;padding:30px 32px;}
.orc-nl-title{font-family:inherit;color:var(--orc-plum);font-size:24px;margin:0 0 6px;line-height:1.2;}
.orc-nl-text{color:var(--orc-ink);font-size:15px;margin:0 0 18px;opacity:.85;}
.orc-nl-row{display:flex;gap:10px;flex-wrap:wrap;}
.orc-nl-row input[type=email]{
	flex:1;min-width:220px;font-family:inherit;font-size:16px;color:var(--orc-ink);
	background:#fff;border:1px solid var(--orc-line);border-radius:var(--orc-radius);padding:14px 16px;
}
.orc-nl-row input[type=email]:focus{outline:none;border-color:var(--orc-terra);box-shadow:0 0 0 3px rgba(192,101,74,.14);}
.orc-newsletter .orc-message{margin-top:14px;}
