/**
 * Site Footer
 */

.rc-footer {
	background-color: var(--color-primary-900);
	color: var(--color-primary-100);
}

.rc-footer__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-gutter);
}

.rc-footer__main .rc-footer__inner {
	display: grid;
	gap: var(--space-6);
	padding-block: var(--space-8);
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.rc-footer__main .rc-footer__inner {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.rc-footer__main .rc-footer__inner {
		grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
		gap: var(--space-7);
	}
}

/* --- Columns -------------------------------------------------------- */

.rc-footer__column {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.rc-footer__heading {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-small);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color: var(--color-neutral-0);
}

.rc-footer__brand {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-h4);
	font-weight: var(--weight-semibold);
	color: var(--color-neutral-0);
}

.rc-footer__doctor {
	margin: 0;
	display: flex;
	flex-direction: column;
	font-size: var(--text-body);
	color: var(--color-primary-100);
}

.rc-footer__doctor span {
	font-size: var(--text-small);
	color: var(--color-primary-200);
}

.rc-footer__about {
	margin: 0;
	max-width: 40ch;
	font-size: var(--text-small);
	line-height: var(--leading-relaxed);
	color: var(--color-primary-200);
}

/* --- Lists and links ------------------------------------------------ */

.rc-footer__list {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-footer a {
	color: var(--color-primary-100);
	text-decoration: none;
}

.rc-footer a:hover {
	color: var(--color-neutral-0);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.rc-footer a:focus-visible {
	outline: var(--focus-ring-width) solid var(--color-neutral-0);
	outline-offset: var(--focus-ring-offset);
	border-radius: var(--radius-sm);
}

.rc-footer__list a {
	display: inline-flex;
	align-items: center;
	/*
	 * Footer navigation links are interactive targets and meet the 44px
	 * minimum (DESIGN_SYSTEM.md, Accessibility), matching the primary nav and
	 * the footer social icons rather than the denser --space-5 they carried
	 * before. This audience has reduced fine motor control.
	 */
	min-height: var(--target-min);
	font-size: var(--text-small);
}

/* --- Contact -------------------------------------------------------- */

.rc-footer__address {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	font-style: normal;
	font-size: var(--text-small);
	line-height: var(--leading-relaxed);
	color: var(--color-primary-200);
}

.rc-footer__contact {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--text-small);
}

.rc-footer__contact li {
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

.rc-footer__contact .rc-icon {
	flex-shrink: 0;
	color: var(--color-primary-300);
}

/* Link-variant button inside the dark footer. */
.rc-footer .rc-button--variant-link {
	align-self: flex-start;
	color: var(--color-primary-100);
}

.rc-footer .rc-button--variant-link:hover {
	color: var(--color-neutral-0);
}

/* --- Social --------------------------------------------------------- */

.rc-footer__social {
	display: flex;
	gap: var(--space-2);
	margin: var(--space-1) 0 0;
	padding: 0;
	list-style: none;
}

.rc-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--target-min);
	height: var(--target-min);
	border: var(--border-width) solid rgba(255, 255, 255, 0.2);
	border-radius: var(--radius-full);
	transition:
		background-color var(--duration-fast) var(--ease-standard),
		border-color var(--duration-fast) var(--ease-standard);
}

.rc-footer__social a:hover {
	background-color: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.4);
}

/* --- Bottom bar ----------------------------------------------------- */

.rc-footer__bottom {
	border-top: var(--border-width) solid rgba(255, 255, 255, 0.12);
}

.rc-footer__bottom .rc-footer__inner {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding-block: var(--space-4);
}

.rc-footer__copyright {
	margin: 0;
	font-size: var(--text-small);
	color: var(--color-primary-200);
}

.rc-footer__disclaimer {
	margin: 0;
	max-width: 90ch;
	font-size: var(--text-caption);
	line-height: var(--leading-normal);
	color: var(--color-primary-300);
}
