/* Creditory COP — Intake Form Styles */

/* ── Base ─────────────────────────────────────────────── */
.ccop-intake-wrap {
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	max-width: 740px !important;
	margin: 0 auto 60px !important;
	color: #0f172a;
	box-sizing: border-box;
}
.ccop-intake-wrap *, .ccop-intake-wrap *::before, .ccop-intake-wrap *::after { box-sizing: inherit; }

/* ── Hero banner ──────────────────────────────────────── */
.ccop-intake-hero {
	background: linear-gradient(135deg, #0f2a44 0%, #163655 100%);
	border-radius: 16px 16px 0 0;
	padding: 44px 40px 40px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.ccop-intake-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 70% 0%, rgba(201,162,77,.18) 0%, transparent 65%);
	pointer-events: none;
}
.ccop-intake-logo { height: 52px; width: auto; margin-bottom: 20px; display: block; margin-left: auto; margin-right: auto; }
.ccop-intake-title {
	font-size: 26px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 10px;
	letter-spacing: -.01em;
}
.ccop-intake-title span {
	background: linear-gradient(90deg, #c9a24d, #e8920a);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.ccop-intake-sub {
	font-size: 14px;
	color: rgba(255,255,255,.72);
	margin: 0;
	line-height: 1.6;
}

/* ── Notice ───────────────────────────────────────────── */
.ccop-intake-notice { padding: 12px 16px; border-radius: 8px; font-size: 14px; margin: 16px 0 0; }
.ccop-intake-notice-error { background: #fee2e2; border: 1px solid #fca5a5; color: #991b1b; }

/* ── Form card ────────────────────────────────────────── */
.ccop-intake-form {
	background: #fff;
	border: 1px solid #dce3ed;
	border-top: none;
	border-radius: 0 0 16px 16px;
	box-shadow: 0 8px 32px rgba(15,42,68,.12);
	overflow: hidden;
}

/* ── Sections ─────────────────────────────────────────── */
.ccop-intake-section {
	padding: 28px 36px;
	border-bottom: 1px solid #edf2f7;
}
.ccop-intake-section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 700;
	color: #0f2a44;
	margin-bottom: 22px;
	padding-left: 12px;
	border-left: 3px solid #c9a24d;
}

/* ── Grid row ─────────────────────────────────────────── */
.ccop-intake-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 20px;
}
.ccop-intake-row:last-child { margin-bottom: 0; }
.ccop-intake-row-full { grid-template-columns: 1fr; }

/* ── Field ────────────────────────────────────────────── */
.ccop-intake-field { display: flex; flex-direction: column; gap: 7px; }
.ccop-intake-field > label {
	font-size: 13px;
	font-weight: 600;
	color: #0f2a44;
	line-height: 1.4;
}
.ccop-intake-field input[type="text"],
.ccop-intake-field input[type="email"],
.ccop-intake-field select,
.ccop-intake-field textarea {
	border: 1.5px solid #dce3ed;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 14px;
	font-family: inherit;
	color: #0f172a;
	background: #f8fafc;
	transition: border-color .15s, box-shadow .15s, background .15s;
	width: 100%;
}
.ccop-intake-field input:focus,
.ccop-intake-field select:focus,
.ccop-intake-field textarea:focus {
	outline: none;
	border-color: #c9a24d;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(201,162,77,.15);
}
.ccop-intake-field textarea { resize: vertical; min-height: 96px; }

/* ── Radio pills ──────────────────────────────────────── */
.ccop-intake-radios { display: flex; gap: 10px; flex-wrap: wrap; padding: 2px 0; }
.ccop-radio-pill {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 7px 16px;
	border: 1.5px solid #dce3ed;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	color: #475569;
	cursor: pointer;
	transition: border-color .15s, background .15s, color .15s;
	background: #f8fafc;
	user-select: none;
}
.ccop-radio-pill input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}
.ccop-radio-pill:has(input:checked) {
	border-color: #c9a24d;
	background: rgba(201,162,77,.08);
	color: #0f2a44;
	font-weight: 600;
}
.ccop-radio-pill:hover {
	border-color: #c9a24d;
	background: rgba(201,162,77,.05);
	color: #0f2a44;
}

/* ── Required marker ──────────────────────────────────── */
.ccop-req { color: #dc2626; margin-left: 2px; }

/* ── Footer / submit ──────────────────────────────────── */
.ccop-intake-footer {
	padding: 32px 36px;
	text-align: center;
	border-top: 1px solid #edf2f7;
	background: #fff;
}
.ccop-intake-submit,
.ccop-intake-submit:link,
.ccop-intake-submit:visited {
	background: linear-gradient(135deg, #c9a24d 0%, #e8920a 100%) !important;
	color: #fff !important;
	border: none !important;
	outline: none !important;
	border-radius: 10px !important;
	padding: 14px 48px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	font-family: inherit !important;
	cursor: pointer !important;
	box-shadow: 0 4px 16px rgba(201,162,77,.40) !important;
	transition: opacity .15s, box-shadow .15s, transform .1s !important;
	letter-spacing: .01em !important;
	text-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.ccop-intake-submit:hover,
.ccop-intake-submit:focus {
	background: linear-gradient(135deg, #d4ae5a 0%, #f09a14 100%) !important;
	color: #fff !important;
	border: none !important;
	box-shadow: 0 6px 22px rgba(201,162,77,.50) !important;
	transform: translateY(-1px) !important;
	opacity: 1 !important;
}
.ccop-intake-submit:active {
	transform: translateY(0) !important;
	opacity: 1 !important;
}
.ccop-intake-privacy { font-size: 12px; color: #94a3b8; margin: 12px 0 0; line-height: 1.5; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 640px) {
	.ccop-intake-wrap { max-width: 100% !important; padding-left: 10px !important; padding-right: 10px !important; margin-left: 0 !important; margin-right: 0 !important; }
	.ccop-intake-hero { padding: 32px 22px 28px; border-radius: 12px 12px 0 0; }
	.ccop-intake-title { font-size: 21px; }
	.ccop-intake-section { padding: 22px 18px; }
	.ccop-intake-row { grid-template-columns: 1fr; }
	.ccop-intake-footer { padding: 24px 18px; }
	.ccop-intake-submit { width: 100% !important; padding: 14px 20px !important; display: block !important; }
}

/* Hide WP theme page title */
.page-id-credit-intake .entry-header,
.page-id-credit-intake .page-header { display: none !important; }

/* ── Confirmation card ────────────────────────────────── */
.ccop-confirm-card {
	background: #fff;
	border: 1px solid #dce3ed;
	border-radius: 16px;
	box-shadow: 0 8px 32px rgba(15,42,68,.12);
	padding: 52px 48px;
	text-align: center;
}
.ccop-confirm-icon-wrap { margin-bottom: 24px; }
.ccop-confirm-icon {
	width: 72px; height: 72px;
	background: linear-gradient(135deg, #c9a24d, #e8920a);
	color: #fff;
	border-radius: 50%;
	font-size: 32px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto;
	box-shadow: 0 6px 20px rgba(201,162,77,.45);
}
.ccop-confirm-heading { font-size: 30px; font-weight: 700; color: #0f2a44; margin: 0 0 10px; }
.ccop-confirm-lead { font-size: 16px; color: #374151; margin: 0 0 36px; }
.ccop-confirm-steps { display: flex; flex-direction: column; gap: 14px; text-align: left; margin-bottom: 32px; }
.ccop-confirm-step { display: flex; align-items: flex-start; gap: 16px; background: #f8fafc; border: 1px solid #edf2f7; border-radius: 10px; padding: 16px 20px; }
.ccop-confirm-step-num { background: #0f2a44; color: #c9a24d; border-radius: 50%; width: 32px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; margin-top: 1px; }
.ccop-confirm-step strong { font-size: 14px; color: #0f2a44; display: block; margin-bottom: 4px; }
.ccop-confirm-step p { font-size: 13px; color: #64748b; margin: 0; line-height: 1.5; }
.ccop-confirm-note { font-size: 13px; color: #64748b; margin-bottom: 24px; }
.ccop-confirm-note a { color: #c9a24d; font-weight: 600; text-decoration: none; }
.ccop-confirm-back { display: inline-block; background: #0f2a44; color: #fff; padding: 11px 28px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .15s; }
.ccop-confirm-back:hover { background: #163655; color: #fff; text-decoration: none; }
@media (max-width: 600px) { .ccop-confirm-card { padding: 32px 20px; } }

/* ── Score Slider ─────────────────────────────────────── */
.ccop-score-slider-wrap { padding: 8px 0 4px; }
.ccop-score-slider-wrap input[type="range"] {
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
	height: 6px;
	border-radius: 99px;
	background: linear-gradient(to right, #c9a24d 0%, #c9a24d var(--val, 44%), #e2e8f0 var(--val, 44%), #e2e8f0 100%);
	outline: none;
	cursor: pointer;
	margin: 0;
}
.ccop-score-slider-wrap input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #c9a24d;
	border: 3px solid #fff;
	box-shadow: 0 2px 6px rgba(201,162,77,.5);
	cursor: pointer;
}
.ccop-score-slider-wrap input[type="range"]::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #c9a24d;
	border: 3px solid #fff;
	box-shadow: 0 2px 6px rgba(201,162,77,.5);
	cursor: pointer;
}
.ccop-score-slider-labels {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 8px;
	font-size: 12px;
	color: #94a3b8;
}
.ccop-score-slider-val {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #c9a24d !important;
	line-height: 1;
}

/* ── Credit Report Guide ─────────────────────────────────────── */
.ccop-report-guide {
	background: #f0f6ff;
	border: 1.5px solid #c3d9f7;
	border-radius: 14px;
	padding: 28px 28px 20px;
	margin-bottom: 28px;
}
.ccop-report-guide-title {
	font-size: 17px;
	font-weight: 700;
	color: #0f2a44;
	margin: 0 0 6px;
}
.ccop-report-guide-sub {
	font-size: 13.5px;
	color: #4b6280;
	margin: 0 0 20px;
}
.ccop-guide-steps {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 16px;
}
.ccop-guide-step {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.ccop-guide-step-num {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #c9a24d;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ccop-guide-step-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-top: 4px;
}
.ccop-guide-step-body strong {
	font-size: 14px;
	color: #0f2a44;
	font-weight: 600;
}
.ccop-guide-step-body span {
	font-size: 13px;
	color: #4b6280;
	line-height: 1.5;
}
.ccop-guide-step-body a {
	color: #c9a24d;
	font-weight: 600;
	text-decoration: none;
}
.ccop-guide-tip {
	background: #fff8e6;
	border-left: 3px solid #c9a24d;
	border-radius: 0 8px 8px 0;
	padding: 10px 14px;
	font-size: 13px;
	color: #5a4010;
}

/* ── File Upload Section ─────────────────────────────────────── */
.ccop-upload-hint {
	font-size: 13px;
	color: #64748b;
	margin: -4px 0 16px;
}
.ccop-upload-row {
	grid-template-columns: repeat(2, 1fr) !important;
}
@media (max-width: 620px) {
	.ccop-upload-row { grid-template-columns: 1fr !important; }
}
.ccop-upload-field {}
.ccop-upload-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 600;
	color: #0f2a44;
	margin-bottom: 6px;
}
.ccop-bureau-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
}
.ccop-bureau-eq { background: #d32f2f; }
.ccop-bureau-ex { background: #1565c0; }
.ccop-bureau-tu { background: #2e7d32; }
.ccop-bureau-ot { background: #6d4c41; }
.ccop-file-input {
	width: 100%;
	padding: 10px 12px;
	background: #f8fafc;
	border: 1.5px dashed #c3d9f7;
	border-radius: 8px;
	font-size: 13px;
	color: #0f2a44;
	cursor: pointer;
	transition: border-color .2s;
}
.ccop-file-input:hover { border-color: #c9a24d; }
