/* OrthoConnect — Home hero banner carousel. */
.oc-hero {
	--oc-hero-header: calc(var(--wp--custom--header-height) + 1px);
	--oc-hero-available: calc(100vh - var(--oc-hero-header-measured, var(--oc-hero-header)) - 2.75rem);
	width: 100%;
	margin: 0;
	background: var(--wp--preset--color--sky);
}

/* Full-bleed inside root-padded post content (beats core's .alignfull negative margins). */
.has-global-padding > .oc-hero.alignfull {
	width: auto;
	max-width: none;
	margin-inline: calc(var(--wp--style--root--padding-left, 0px) * -1) calc(var(--wp--style--root--padding-right, 0px) * -1);
}
@supports (height: 100dvh) {
	.oc-hero { --oc-hero-available: calc(100dvh - var(--oc-hero-header-measured, var(--oc-hero-header)) - 2.75rem); }
}
.oc-hero__empty {
	margin: 0;
	padding: var(--wp--preset--spacing--80);
	text-align: center;
	color: var(--wp--preset--color--muted);
}
.oc-hero__viewport {
	display: grid;
	height: max(0px, min(calc(100vw * 941 / 1672), var(--oc-hero-available)));
	overflow: hidden;
	touch-action: pan-y pinch-zoom;
	isolation: isolate;
}
.oc-hero__slide {
	grid-area: 1 / 1;
	min-width: 0;
	min-height: 0;
	z-index: 0;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 1000ms ease-in-out, visibility 0s 1000ms;
}
/* No-JS / editor fallback: first slide visible */
.oc-hero:not([data-oc-ready]) .oc-hero__slide:first-child {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}
.oc-hero__slide.is-previous { z-index: 1; visibility: visible; opacity: 1; transition: none; }
.oc-hero__slide.is-active { z-index: 2; visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
.oc-hero__link,
.oc-hero__slide picture { display: block; width: 100%; height: 100%; }
.oc-hero__slide img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center top;
}
.oc-hero__link:focus-visible { outline-offset: -6px; }

@media (min-width: 761px) {
	.oc-hero__viewport { height: max(0px, min(calc(100vw * 700 / 1920), var(--oc-hero-available))); }
	.oc-hero__slide img { object-fit: contain; object-position: center; }
}

.oc-hero__dots { display: flex; align-items: center; justify-content: center; height: 2.75rem; }
.oc-hero__dots[hidden] { display: none; }
.oc-hero__dot {
	display: grid;
	place-items: center;
	flex: none;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.oc-hero__dot:hover { background: var(--wp--preset--color--teal-light); }
.oc-hero__dot > span {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 1rem;
	background: var(--wp--preset--color--muted);
	transition: width 200ms ease, background-color 200ms ease;
}
.oc-hero__dot[aria-current="true"] > span { width: 1.5rem; background: var(--wp--preset--color--teal); }
.oc-hero__status {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
@media print { .oc-hero { display: none; } }
