/* OrthoConnect — site footer (template part "footer"). */
.oc-footer {
	margin-block-start: 0;
	color: var(--wp--preset--color--dark-text);
	background: var(--wp--preset--color--navy);
	font-size: var(--wp--preset--font-size--body);
}
.oc-footer :focus-visible { outline-color: var(--wp--preset--color--dark-accent); }
.oc-footer a { color: inherit; }

.oc-footer .oc-footer__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1.1fr;
	gap: clamp(3.5rem, 5.5vw, 5rem);
	margin-block: 0;
}
.oc-footer .oc-footer__grid > * { margin-block: 0; }

/* Identity */
.oc-footer .oc-footer__identity .oc-logo {
	position: relative;
	display: block;
	box-sizing: content-box;
	width: 10rem;
	height: 6.25rem;
	margin: 0;
	padding-inline: var(--wp--preset--spacing--30);
	overflow: hidden;
	border-radius: var(--wp--custom--radius--small);
	background: var(--wp--preset--color--base);
}
.oc-footer .oc-footer__identity .oc-logo a { display: block; width: 100%; height: 100%; }
.oc-footer .oc-footer__identity .oc-logo img {
	position: absolute;
	left: calc(-0.875rem + var(--wp--preset--spacing--30));
	top: -2.375rem;
	width: 11.5rem !important;
	height: 11.5rem !important;
	max-width: none;
}
.oc-footer .oc-footer__identity > p {
	margin-block: var(--wp--preset--spacing--50) 0;
	font-size: var(--wp--preset--font-size--note);
	line-height: var(--wp--custom--line-height--body);
}
.oc-footer .oc-footer__identity strong { color: var(--wp--preset--color--base); }

/* Column titles */
/* .has-text-color (!important, printed after .has-base-color) would otherwise win. */
.oc-footer h2.oc-footer__title.has-text-color { color: var(--wp--preset--color--base) !important; }
h2.oc-footer__title.oc-footer__title,
.oc-footer .oc-footer__title {
	margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--body);
	letter-spacing: var(--wp--custom--tracking--normal);
}

/* Footer navigation: two columns of 44px rows */
.oc-footer .oc-footer__nav .wp-block-navigation__container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: var(--wp--preset--spacing--40);
	row-gap: 0;
	width: 100%;
	align-items: stretch;
}
.oc-footer .oc-footer__nav .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	min-height: var(--wp--custom--tap-size);
	padding: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--line-height--small);
	color: var(--wp--preset--color--dark-text);
}
.oc-footer .oc-footer__nav .wp-block-navigation-item__content:hover,
.oc-footer .oc-footer__legal .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--base);
	text-decoration: underline;
}

/* Consultation column */
.oc-footer .oc-footer__consult p {
	margin-block: 0;
	font-size: var(--wp--preset--font-size--note);
}
.oc-footer .oc-footer__consult p.oc-footer__cta { margin-top: var(--wp--preset--spacing--40); font-weight: 700; }
.oc-footer .oc-footer__cta a {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--dark-accent);
}
.oc-footer .oc-footer__cta a::after {
	content: "";
	width: 1.125rem;
	height: 1.125rem;
	background: currentColor;
	-webkit-mask: var(--oc-icon-arrow) center / contain no-repeat;
	mask: var(--oc-icon-arrow) center / contain no-repeat;
	transition: transform 160ms ease;
}
.oc-footer .oc-footer__cta a:hover::after { transform: translateX(0.25rem); }
.oc-footer .oc-footer__consult p.oc-footer__note {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--50);
	border-top: var(--wp--custom--border-width) solid var(--wp--preset--color--dark-line);
}
:root { --oc-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E"); }

/* Bottom bar */
.oc-footer .oc-footer__bottom {
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--60);
	margin-top: var(--wp--preset--spacing--90);
	padding-top: var(--wp--preset--spacing--50);
	border-top: var(--wp--custom--border-width) solid var(--wp--preset--color--dark-line);
	font-size: var(--wp--preset--font-size--caption);
}
.oc-footer .oc-footer__bottom > p { display: flex; align-items: center; margin: 0; }
.oc-footer .oc-footer__legal { font-size: var(--wp--preset--font-size--caption); }
.oc-footer .oc-footer__legal .wp-block-navigation__container { gap: var(--wp--preset--spacing--50); flex-wrap: wrap; }
.oc-footer .oc-footer__legal .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--tap-size);
	padding: 0;
	color: var(--wp--preset--color--dark-text);
}

@media (max-width: 900px) {
	.oc-footer .oc-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--90); }
	.oc-footer .oc-footer__consult { grid-column: 1 / -1; max-width: var(--wp--custom--reading-width); }
}
@media (max-width: 760px) {
	.oc-footer .oc-footer__title { margin-top: var(--wp--preset--spacing--30); }
	.oc-footer .oc-footer__bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 560px) {
	.oc-footer .oc-footer__grid { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--70); }
	.oc-footer .oc-footer__consult { grid-column: auto; }
}
@media print { .oc-footer { display: none; } }
