/* ==========================================================================
   NFCR row list  [nfcr_row_list]
   ========================================================================== */

.nfcr-rl {
	box-sizing: border-box;
	padding: 10px var(--nfcr-panel-pad-x) 26px;
	background: var(--nfcr-white);
	border-radius: var(--nfcr-r-section);
	box-shadow: var(--nfcr-shadow);
	font-family: var(--nfcr-font);
}
.nfcr-rl:not(.nfcr-rl--has-note) { padding-bottom: 10px; }

.nfcr-rl .nfcr-rl__rows { margin: 0; padding: 0; list-style: none; }

.nfcr-rl .nfcr-rl__row {
	display: grid;
	grid-template-columns: 44px 230px minmax(0, 1fr);
	align-items: start;
	align-content: start; /* rows stretched to match a taller neighbour keep title and text together */
	gap: 18px;
	margin: 0;
	padding: 22px 0;
	list-style: none;
	border-bottom: 1px solid var(--nfcr-line);
}
.nfcr-rl--none .nfcr-rl__row,
.nfcr-rl--amount .nfcr-rl__row { grid-template-columns: 230px minmax(0, 1fr); }

/* Amount: the title is a large figure ("$250") with the description beside it */
.nfcr-rl--amount .nfcr-rl__row { align-items: center; }
.nfcr-rl--amount .nfcr-rl__title {
	font-size: var(--nfcr-fs-figure);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.5px;
}

/* No note: last divider goes */
.nfcr-rl:not(.nfcr-rl--has-note) .nfcr-rl__row:last-child,
.nfcr-rl--cols-2:not(.nfcr-rl--has-note) .nfcr-rl__row:nth-last-child(2):nth-child(odd) { border-bottom: 0; }

.nfcr-rl .nfcr-rl__marker {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--nfcr-surface);
	color: var(--nfcr-orange);
	font-size: 14px;
	font-weight: 700;
}

.nfcr-rl .nfcr-rl__title {
	margin: 0;
	padding: 0;
	font-family: var(--nfcr-font);
	font-size: var(--nfcr-fs-h3);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.3px;
	color: var(--nfcr-navy);
	text-transform: none;
}
.nfcr-rl .nfcr-rl__head .nfcr-tag { margin-top: 7px; }

.nfcr-rl .nfcr-rl__text {
	margin: 0;
	font-size: var(--nfcr-fs-body);
	line-height: 1.7;
	color: var(--nfcr-text);
}

/* 2 columns (Treatments): description sits under the title */
.nfcr-rl--cols-2 .nfcr-rl__rows {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 56px;
}
.nfcr-rl--cols-2 .nfcr-rl__row { grid-template-columns: 40px minmax(0, 1fr); gap: 5px 16px; }
.nfcr-rl--cols-2.nfcr-rl--none .nfcr-rl__row { grid-template-columns: minmax(0, 1fr); }
.nfcr-rl--cols-2 .nfcr-rl__marker { width: 40px; height: 40px; grid-row: span 2; }
.nfcr-rl--cols-2 .nfcr-rl__text { grid-column: -2; }

/* Note */
.nfcr-rl .nfcr-rl__note { margin-top: 20px; }
.nfcr-rl .nfcr-rl__note p { margin: 0 0 12px; color: inherit; font-size: inherit; line-height: inherit; font-weight: inherit; }
.nfcr-rl .nfcr-rl__note p:last-child { margin-bottom: 0; }
.nfcr-rl .nfcr-rl__note--plain {
	max-width: 900px;
	font-size: var(--nfcr-fs-body);
	line-height: 1.7;
	color: var(--nfcr-text);
}
.nfcr-rl .nfcr-rl__note--plain strong { font-weight: 600; color: var(--nfcr-navy); }
.nfcr-rl .nfcr-rl__note--callout {
	margin-top: 22px;
	padding: 16px 20px;
	background: var(--nfcr-surface);
	border-radius: var(--nfcr-r-callout);
	font-size: var(--nfcr-fs-body);
	line-height: 1.68;
	font-weight: 500;
	color: var(--nfcr-navy);
}
.nfcr-rl .nfcr-rl__note--callout strong { font-weight: 700; }

/* ---- Responsive ---- */
@media (max-width: 1024px) {
	.nfcr-rl .nfcr-rl__row { grid-template-columns: 44px 180px minmax(0, 1fr); }
	.nfcr-rl--none .nfcr-rl__row,
	.nfcr-rl--amount .nfcr-rl__row { grid-template-columns: 180px minmax(0, 1fr); }
	.nfcr-rl--cols-2 .nfcr-rl__rows { column-gap: 32px; }
}
@media (max-width: 767px) {
	.nfcr-rl { padding-left: 20px; padding-right: 20px; }
	.nfcr-rl .nfcr-rl__row,
	.nfcr-rl--cols-2 .nfcr-rl__row { grid-template-columns: 40px minmax(0, 1fr); gap: 6px 14px; padding: 18px 0; }
	.nfcr-rl--none .nfcr-rl__row,
	.nfcr-rl--amount .nfcr-rl__row,
	.nfcr-rl--cols-2.nfcr-rl--none .nfcr-rl__row { grid-template-columns: minmax(0, 1fr); }
	.nfcr-rl .nfcr-rl__marker { width: 40px; height: 40px; grid-row: span 2; }
	.nfcr-rl .nfcr-rl__text { grid-column: -2; }
	.nfcr-rl--cols-2 .nfcr-rl__rows { grid-template-columns: minmax(0, 1fr); }
	.nfcr-rl--cols-2:not(.nfcr-rl--has-note) .nfcr-rl__row:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid var(--nfcr-line); }
}

/* ---- Year marker (timeline): rows sit straight on the page, no white panel ---- */
.nfcr-rl--year {
	padding: 0;
	background: none;
	border-radius: 0;
	box-shadow: none;
}
.nfcr-rl--year .nfcr-rl__row {
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 5px 24px;
	border-bottom-color: var(--nfcr-line-chip);
}
.nfcr-rl--year:not(.nfcr-rl--has-note) .nfcr-rl__row:last-child { border-bottom: 1px solid var(--nfcr-line-chip); }
.nfcr-rl--year .nfcr-rl__year {
	grid-row: span 2;
	font-size: var(--nfcr-fs-ui);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -.3px;
	color: var(--nfcr-orange);
}
.nfcr-rl--year .nfcr-rl__text { grid-column: -2; }
@media (max-width: 767px) {
	.nfcr-rl--year .nfcr-rl__row { grid-template-columns: 64px minmax(0, 1fr); gap: 4px 16px; }
	.nfcr-rl--year .nfcr-rl__year { grid-row: span 2; }
	.nfcr-rl--year .nfcr-rl__text { grid-column: -2; }
}

/* ---- Linked rows (documents): whole row is a link, optional file badge + action icon ---- */
.nfcr-rl .nfcr-rl__row--link { display: block; padding: 0; }
.nfcr-rl .nfcr-rl__link {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	padding: 20px 0;
	color: var(--nfcr-navy);
	text-decoration: none !important;
}
.nfcr-rl .nfcr-rl__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nfcr-rl .nfcr-rl__link .nfcr-rl__text { color: var(--nfcr-text-2); }
.nfcr-rl .nfcr-rl__aside { display: inline-flex; align-items: center; gap: 10px; }
.nfcr-rl .nfcr-rl__badge {
	padding: 4px 11px;
	background: var(--nfcr-surface);
	border-radius: var(--nfcr-r-chip);
	font-size: var(--nfcr-fs-label);
	font-weight: 700;
	letter-spacing: .5px;
	color: var(--nfcr-navy);
}
.nfcr-rl .nfcr-rl__action { display: inline-flex; color: var(--nfcr-navy); }
.nfcr-rl .nfcr-rl__link:hover .nfcr-rl__title,
.nfcr-rl .nfcr-rl__link:hover .nfcr-rl__action,
.nfcr-rl .nfcr-rl__link:focus-visible .nfcr-rl__title { color: var(--nfcr-orange); }

/* ---- Panel header + photo (Financials: "Our financial documents") ---- */
.nfcr-rl .nfcr-rl__main { display: flex; flex-direction: column; min-width: 0; }
.nfcr-rl--has-head { padding-top: var(--nfcr-panel-pad-y); }
.nfcr-rl--has-head .nfcr-rl__rows { margin-top: 10px; }
.nfcr-rl--has-media {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	padding: 0;
	overflow: hidden;
}
.nfcr-rl--has-media .nfcr-rl__media { position: relative; min-height: 420px; background: var(--nfcr-line-chip); }
.nfcr-rl--has-media .nfcr-rl__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.nfcr-rl--has-media .nfcr-rl__main { padding: 44px 48px; }
.nfcr-rl--has-media .nfcr-rl__row:last-child { border-bottom: 0; }

/* Note as a check line (Tax ID) */
.nfcr-rl .nfcr-rl__note--check {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: none;
	margin-top: auto;
	padding-top: 14px;
	font-size: var(--nfcr-fs-small);
	line-height: 1.5;
	color: var(--nfcr-text-2);
}
.nfcr-rl .nfcr-rl__note-icon { display: inline-flex; flex-shrink: 0; color: var(--nfcr-success); }

@media (max-width: 900px) {
	.nfcr-rl--has-media { grid-template-columns: minmax(0, 1fr); }
	.nfcr-rl--has-media .nfcr-rl__media { min-height: 240px; }
	.nfcr-rl--has-media .nfcr-rl__main { padding: 32px 26px; }
}
@media (max-width: 767px) {
	.nfcr-rl .nfcr-rl__link { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 14px; }
	.nfcr-rl--has-media .nfcr-rl__main { padding: 28px 20px; }
}

/* ---- Year timeline on a navy panel (Row List -> Background: On a navy panel) ---- */
.nfcr-rl--on-dark .nfcr-rl__year { color: var(--nfcr-orange-soft); }
.nfcr-rl--on-dark .nfcr-rl__title { color: #fff; }
.nfcr-rl--on-dark .nfcr-rl__text { color: var(--nfcr-on-dark-soft); }
.nfcr-rl--year.nfcr-rl--on-dark .nfcr-rl__row,
.nfcr-rl--year.nfcr-rl--on-dark:not(.nfcr-rl--has-note) .nfcr-rl__row:last-child { border-bottom-color: var(--nfcr-on-dark-line); }

/* ---- 0.9.17: open list (Patients & Caregivers paths): no panel, dividers only, circle arrow on the right ---- */
.nfcr-rl--open {
	padding: 0;
	background: none;
	border-radius: 0;
	box-shadow: none;
}
.nfcr-rl--open .nfcr-rl__row { border-bottom: 0; border-top: 1px solid var(--nfcr-line-chip); }
.nfcr-rl--open .nfcr-rl__row:first-child { border-top: 1px solid var(--nfcr-line-chip); }
.nfcr-rl--open:not(.nfcr-rl--has-note) .nfcr-rl__row:last-child { border-bottom: 0; } /* no line after the last row (design) */
.nfcr-rl--open .nfcr-rl__link { grid-template-columns: 44px minmax(0, 1fr) 40px; padding: 20px 4px; transition: background-color .15s ease; }
.nfcr-rl--open .nfcr-rl__link:hover { background: rgba(0, 44, 118, .03); }
.nfcr-rl--open .nfcr-rl__marker { font-size: var(--nfcr-fs-meta); font-weight: 700; color: var(--nfcr-orange); }
.nfcr-rl--open .nfcr-rl__title { font-size: var(--nfcr-fs-title-sm); }
.nfcr-rl--open .nfcr-rl__action--circle {
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1.5px solid var(--nfcr-line-soft);
	border-radius: 50%;
	color: var(--nfcr-navy);
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.nfcr-rl--open .nfcr-rl__link:hover .nfcr-rl__action--circle,
.nfcr-rl--open .nfcr-rl__link:focus-visible .nfcr-rl__action--circle { background: var(--nfcr-navy); border-color: var(--nfcr-navy); color: #fff; }
.nfcr-rl--open .nfcr-rl__link:hover .nfcr-rl__title,
.nfcr-rl--open .nfcr-rl__link:focus-visible .nfcr-rl__title { color: var(--nfcr-orange); }

/* on a navy panel */
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__row,
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__row:first-child,
.nfcr-rl--open.nfcr-rl--on-dark:not(.nfcr-rl--has-note) .nfcr-rl__row:last-child { border-color: var(--nfcr-on-dark-line); }
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__link { color: #fff; }
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__link:hover { background: var(--nfcr-on-dark-wash); }
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__marker { color: var(--nfcr-orange-soft); }
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__link .nfcr-rl__text { color: var(--nfcr-on-dark-link); }
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__action--circle { border-color: var(--nfcr-on-dark-box); color: #fff; }
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__link:hover .nfcr-rl__action--circle,
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__link:focus-visible .nfcr-rl__action--circle { background: #fff; border-color: #fff; color: var(--nfcr-navy); }
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__link:hover .nfcr-rl__title,
.nfcr-rl--open.nfcr-rl--on-dark .nfcr-rl__link:focus-visible .nfcr-rl__title { color: var(--nfcr-orange-soft); }
@media (max-width: 767px) {
	.nfcr-rl--open .nfcr-rl__link { grid-template-columns: 32px minmax(0, 1fr) 36px; gap: 12px; }
	.nfcr-rl--open .nfcr-rl__action--circle { width: 36px; height: 36px; }
}
.nfcr-rl--open .nfcr-rl__marker { width: auto; height: auto; justify-content: flex-start; background: none; border-radius: 0; line-height: 1.4; }
