.referral-step1-remix {
	--green: #1D9E75;
	--green-dark: #0F6E56;
	--green-light: #E1F5EE;
	--green-mid: #9FE1CB;
	--amber-bg: #FAEEDA;
	--amber-text: #854F0B;
	--border: rgba(0,0,0,0.1);
	--surface: #fff;
	--page: #F5F4F0;
	--text: #1a1a18;
	--muted: #6b6b67;
	--faint: #999990;
	--radius: 10px;
	--radius-sm: 6px;
	color: var(--text);
	box-sizing: border-box;
	background: var(--page);
	margin: 0 -15px 1.5rem;
	padding: 1.75rem 15px 2.5rem;
}
.referral-step1-remix *, .referral-step1-remix *::before, .referral-step1-remix *::after { box-sizing: border-box; }

.referral-step1-remix-main {
	width: 100%;
}

.referral-step1-remix .section-label {
	font-size: inherit;
	font-weight: 700;
	letter-spacing: normal;
	text-transform: none;
	color: inherit;
	margin-bottom: 10px;
}

.referral-step1-remix .section-label--product {
	text-transform: none;
	letter-spacing: 0.02em;
	color: var(--muted);
	font-size: 13px;
	font-weight: 500;
	margin-top: 0.25rem;
	margin-bottom: 8px;
}

.referral-step1-remix .centre-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 1.75rem;
}

.referral-step1-remix .centre-btn {
	background: var(--surface);
	border: 1.5px solid var(--border);
	border-radius: var(--radius);
	padding: 14px 16px;
	cursor: pointer;
	text-align: left;
	transition: border-color 0.15s, background 0.15s;
	font-family: inherit;
	position: relative;
	overflow: hidden;
	margin: 0;
	font-weight: normal;
	display: block;
	width: 100%;
}

.referral-step1-remix .centre-btn::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--green-light);
	opacity: 0;
	transition: opacity 0.15s;
}

.referral-step1-remix .centre-btn:hover { border-color: var(--green-mid); }
.referral-step1-remix .centre-btn:hover::before { opacity: 0.5; }

.referral-step1-remix .centre-btn.selected {
	border-color: var(--green);
	background: var(--green-light);
}

.referral-step1-remix .centre-btn.selected::before { opacity: 0; }

.referral-step1-remix .centre-btn > div { position: relative; }

.referral-step1-remix .centre-name {
	font-size: inherit;
	font-weight: 700;
	color: var(--text);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 2px;
}

.referral-step1-remix .centre-btn.selected .centre-name { color: var(--green-dark); }

.referral-step1-remix .check-dot {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 1.5px solid var(--border);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: border-color 0.15s, background 0.15s;
	margin-left: auto;
}

.referral-step1-remix .centre-btn.selected .check-dot {
	border-color: var(--green);
	background: var(--green);
}

.referral-step1-remix .check-dot svg { display: none; }
.referral-step1-remix .centre-btn.selected .check-dot svg { display: block; }

.referral-step1-remix .centre-address {
	font-size: 12px;
	color: var(--muted);
}

.referral-step1-remix .centre-btn.selected .centre-address { color: var(--green-dark); opacity: 0.8; }

.referral-step1-remix .info-banner {
	display: none;
	align-items: center;
	gap: 10px;
	background: var(--green-light);
	border: 1px solid var(--green-mid);
	border-radius: var(--radius-sm);
	padding: 9px 14px;
	font-size: 13px;
	color: var(--green-dark);
	margin-bottom: 1.25rem;
}

.referral-step1-remix .info-banner.visible { display: flex; }

.referral-step1-remix .info-banner svg { flex-shrink: 0; }

.referral-step1-remix .choose-banner {
	display: none;
	align-items: center;
	gap: 10px;
	background: var(--amber-bg);
	border: 1px solid #f0d08a;
	border-radius: var(--radius-sm);
	padding: 9px 14px;
	font-size: 13px;
	color: var(--amber-text);
	margin-bottom: 1.25rem;
}

.referral-step1-remix .choose-banner.visible { display: flex; }

.referral-step1-remix .choose-banner svg { flex-shrink: 0; }

.referral-step1-remix .table-card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
}

.referral-step1-remix .table-card table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}

.referral-step1-remix .table-card thead th {
	padding: 10px 14px;
	font-size: inherit;
	font-weight: 700;
	color: var(--muted);
	text-align: right;
	background: var(--page);
	border-bottom: 1px solid var(--border);
	white-space: nowrap;
}

.referral-step1-remix .table-card thead th:first-child { text-align: left; }

.referral-step1-remix .table-card tr.section-header td {
	padding: 9px 14px;
	font-weight: 700;
	font-size: inherit;
	background: #f9f9f7;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	color: var(--text);
}

.referral-step1-remix .table-card tr.service-row td {
	padding: 10px 14px;
	border-bottom: 1px solid var(--border);
	vertical-align: middle;
	transition: opacity 0.2s;
}

.referral-step1-remix .table-card tr.service-row td:first-child:not(.sub-label) {
	font-weight: 700;
}

.referral-step1-remix .table-card tr.service-row:last-child td { border-bottom: none; }

.referral-step1-remix .table-card tr.service-row td:not(:first-child) { text-align: right; }

.referral-step1-remix .price {
	font-family: inherit;
	font-size: inherit;
	color: var(--text);
}

.referral-step1-remix .sub-label { padding-left: 22px; color: var(--muted); }

.referral-step1-remix tr.unavailable td:not(.action-cell) {
	opacity: 0.32;
}

.referral-step1-remix tr.service-row.unavailable .referral-step1-remix-checkbox {
	pointer-events: none;
	opacity: 0.45;
}

.referral-step1-remix .unavail-pill {
	display: inline-block;
	font-size: 11px;
	background: #f1f0ec;
	color: var(--faint);
	border-radius: 20px;
	padding: 4px 10px;
	border: 1px solid var(--border);
	white-space: nowrap;
}

.referral-step1-remix .btn-referral:disabled {
	background: #c5c5c0;
	color: #fff;
	cursor: not-allowed;
}

.referral-step1-remix .btn-referral[hidden] {
	display: none !important;
}

.referral-step1-remix .btn-referral {
	background: var(--green);
	color: #fff;
	border: none;
	border-radius: var(--radius-sm);
	padding: 6px 14px;
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s;
}
.referral-step1-remix .btn-referral:not(:disabled):hover { background: var(--green-dark); }

.referral-step1-remix .cardiac-action td {
	padding: 10px 14px;
	text-align: right;
	border-bottom: 1px solid var(--border);
}

.referral-step1-remix input[type="checkbox"].referral-step1-remix-checkbox {
	accent-color: var(--green);
	width: 15px;
	height: 15px;
	cursor: pointer;
}

@media (max-width: 600px) {
	.referral-step1-remix .centre-grid { grid-template-columns: 1fr; }
	.referral-step1-remix .table-card thead th:nth-child(2) { display: none; }
	.referral-step1-remix .table-card tr.service-row td:nth-child(2) { display: none; }
}

.referral-step1-remix-footnote {
	margin: 1rem 0 0;
	font-size: inherit;
	color: var(--muted);
}
