/*
Theme Name: AROVIS
Theme URI: https://www.arovis.co.in
Author: Graphix Studio
Description: AROVIS corporate theme — AI-First Healthcare. Built for the Future of Medicine. Pixel-matched to the AROVIS website design.
Version: 1.0.15
License: Proprietary
Text Domain: arovis
*/

/* The compiled design stylesheet already resets native element spacing.
   Do not reset Gutenberg block classes here: unlayered WordPress theme CSS
   would outrank Tailwind's layered mt-*, p-* and space-* utilities. */
:where(details.wp-block-details summary) { cursor: pointer; }
:where(.wp-block-image img) { height: auto; }

/* ---- WordPress front-end wrappers: make Gutenberg's injected containers transparent
   so the original agency layout classes still control columns, spacing and width. ---- */
.wp-block-group__inner-container {
	display: contents;
}

/* `display: contents` flattens the wrapper visually but not for sibling selectors,
   so Tailwind's divide-y / space-y rules stop drawing the design's hairline dividers.
   Re-apply them across the injected wrapper. */
.wp-block-group.divide-y > .wp-block-group__inner-container > * + *,
.wp-block-group.divide-y > * + * {
	border-top: 1px solid var(--border);
}

.wp-block-group.divide-primary-foreground\/20 > .wp-block-group__inner-container > * + *,
.wp-block-group.divide-primary-foreground\/20 > * + * {
	border-top-color: color-mix(in oklab, var(--primary-foreground) 20%, transparent);
}

.wp-block-group.space-y-px > .wp-block-group__inner-container > * + *,
.wp-block-group.space-y-px > * + * {
	margin-top: 1px;
}



.site-container {
	margin-inline: auto !important;
}

/* Keep classic WordPress alignment helpers from constraining full-width sections. */
#main-content > .wp-block-group,
.product-page .hcp-content > .wp-block-group {
	max-width: none;
}

/* Make grouped sections behave like the source design even after WordPress adds wrappers. */
.wp-block-group.hero,
.wp-block-group.section,
.wp-block-group.quality-trust,
.wp-block-group.bg-secondary,
.wp-block-group.bg-primary {
	width: 100%;
}

/* ---- WordPress layout hardening for imported inner pages ----
   Some hosts keep extra Gutenberg layout rules active even when the theme
   dequeues the block library. These overrides keep the original website
   structure in charge on Home and all inside pages. */
#main-content {
	width: 100%;
	overflow-x: clip;
}

#main-content > .wp-block-group,
.product-page .hcp-content > .wp-block-group,
.entry-content > .wp-block-group {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

#main-content .site-container,
.product-page .site-container,
.site-footer .site-container,
header .site-container {
	width: calc(100% - 64px) !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.hero,
.page-intro,
.product-hero {
	isolation: isolate;
}

.hero-shade,
.page-intro-shade,
.product-hero-shade {
	z-index: 1 !important;
	pointer-events: none;
}

.page-intro-image,
.page-intro-visual,
.product-hero-art,
.product-hero-visual,
.hero-scientific {
	z-index: 0 !important;
}

.hero .site-container,
.page-intro .site-container,
.product-hero .site-container {
	position: relative !important;
	z-index: 2 !important;
}

.hero > .absolute,
.page-intro > .absolute,
.product-hero > .absolute {
	z-index: 3 !important;
}

#main-content .section,
#main-content .quality-trust,
.product-page .hcp-content .section {
	clear: both;
	position: relative;
}

/* Preserve column/grid sections if WordPress adds layout wrappers around them. */
#main-content :where(.grid.wp-block-group, .wp-block-group.grid),
.product-page :where(.grid.wp-block-group, .wp-block-group.grid) {
	display: grid;
}

#main-content :where(.flex.wp-block-group, .wp-block-group.flex),
.product-page :where(.flex.wp-block-group, .wp-block-group.flex) {
	display: flex;
}

/* Do not globally clear text max-widths. The imported design deliberately uses
   max-w-* classes to keep hero copy, supporting text and legal copy readable. */
.page-intro .max-w-4xl { max-width: 56rem !important; }
.page-intro .max-w-2xl { max-width: 42rem !important; }
.product-hero .max-w-3xl { max-width: 48rem !important; }
.product-hero .max-w-2xl { max-width: 42rem !important; }
.section .section-title { max-width: 760px !important; }
.section .prose-copy { max-width: 760px !important; }

/* Careers openings: each vacancy remains a distinct, evenly spaced section
   even when WordPress flattens Gutenberg's group wrappers. */
#main-content .job-role {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

#main-content .job-role > .site-container {
	padding-top: 56px !important;
	padding-bottom: 56px !important;
}

#main-content .job-role + .job-role {
	margin-top: 0 !important;
}

#main-content .job-role .prose-copy {
	align-self: center;
}

/* WordPress renders buttons with a structural wrapper and applies its global
   button skin to the inner link. Flatten the wrapper so each CTA has one
   correctly sized surface, then restore the design variants on the link. */
.wp-block-buttons .wp-block-button {
	display: contents !important;
}

.wp-block-buttons .wp-block-button__link {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	max-width: 100% !important;
	min-height: 3rem !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .5rem !important;
	padding: .75rem 1.75rem !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	font-family: var(--font-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border: 1px solid transparent !important;
	outline: 0 !important;
}

.wp-block-buttons {
	align-items: center !important;
}

.wp-block-buttons .wp-block-button__link.bg-accent {
	background: var(--accent) !important;
	color: var(--accent-foreground) !important;
}

.wp-block-buttons .wp-block-button__link.bg-accent:hover,
.wp-block-buttons .wp-block-button__link.bg-accent:focus-visible {
	background: var(--primary) !important;
	color: var(--primary-foreground) !important;
	border-color: transparent !important;
}

.wp-block-buttons .wp-block-button__link.bg-background {
	background: var(--background) !important;
	color: var(--primary) !important;
}

.wp-block-buttons .wp-block-button__link.bg-background:hover,
.wp-block-buttons .wp-block-button__link.bg-background:focus-visible {
	background: var(--secondary) !important;
	color: var(--primary) !important;
}

.wp-block-buttons .wp-block-button__link.bg-transparent {
	background: transparent !important;
	color: inherit !important;
}

.hero .wp-block-buttons .wp-block-button__link.bg-transparent {
	border-color: color-mix(in srgb, var(--primary-foreground) 48%, transparent) !important;
	color: var(--primary-foreground) !important;
}

.hero .wp-block-buttons .wp-block-button__link.bg-transparent:hover,
.hero .wp-block-buttons .wp-block-button__link.bg-transparent:focus-visible {
	background: var(--background) !important;
	border-color: var(--background) !important;
	color: var(--primary) !important;
}

.section .wp-block-buttons .wp-block-button__link.bg-transparent {
	border-color: color-mix(in srgb, var(--primary) 40%, transparent) !important;
	color: var(--primary) !important;
}

.section .wp-block-buttons .wp-block-button__link.bg-transparent:hover,
.section .wp-block-buttons .wp-block-button__link.bg-transparent:focus-visible {
	background: var(--primary) !important;
	border-color: var(--primary) !important;
	color: var(--primary-foreground) !important;
}

/* Outline CTAs sitting on a dark navy surface: the link itself carries
   text-primary-foreground, so key the light hairline border off that. */
.wp-block-buttons .wp-block-button__link.bg-transparent.text-primary-foreground,
.section .wp-block-buttons .wp-block-button__link.bg-transparent.text-primary-foreground,
.bg-primary .wp-block-buttons .wp-block-button__link.bg-transparent,
.bg-surface-dark .wp-block-buttons .wp-block-button__link.bg-transparent,
.on-dark .wp-block-buttons .wp-block-button__link.bg-transparent {
	border-color: color-mix(in srgb, var(--primary-foreground) 55%, transparent) !important;
	color: var(--primary-foreground) !important;
}

.wp-block-buttons .wp-block-button__link.bg-transparent.text-primary-foreground:hover,
.wp-block-buttons .wp-block-button__link.bg-transparent.text-primary-foreground:focus-visible,
.section .wp-block-buttons .wp-block-button__link.bg-transparent.text-primary-foreground:hover,
.section .wp-block-buttons .wp-block-button__link.bg-transparent.text-primary-foreground:focus-visible,
.bg-primary .wp-block-buttons .wp-block-button__link.bg-transparent:hover,
.bg-primary .wp-block-buttons .wp-block-button__link.bg-transparent:focus-visible,
.bg-surface-dark .wp-block-buttons .wp-block-button__link.bg-transparent:hover,
.bg-surface-dark .wp-block-buttons .wp-block-button__link.bg-transparent:focus-visible,
.on-dark .wp-block-buttons .wp-block-button__link.bg-transparent:hover,
.on-dark .wp-block-buttons .wp-block-button__link.bg-transparent:focus-visible {
	background: var(--background) !important;
	border-color: var(--background) !important;
	color: var(--primary) !important;
}

/* Product portfolio: use explicit WordPress-safe spacing instead of Tailwind's
   sibling utility, which some Gutenberg builds strip from imported blocks. */
#main-content .portfolio-grid,
#main-content .site-container.space-y-20,
#main-content .site-container.space-y-20 > .wp-block-group__inner-container {
	display: block !important;
}

#main-content .portfolio-product,
#main-content .site-container.space-y-20 > article,
#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	align-items: center !important;
	gap: clamp(44px, 6vw, 80px) !important;
	min-height: 410px;
}

#main-content .portfolio-product + .portfolio-product,
#main-content .site-container.space-y-20 > article + article,
#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article + article {
	margin-top: 96px !important;
	padding-top: 96px !important;
	border-top: 1px solid var(--border);
}

#main-content .portfolio-product > .relative,
#main-content .site-container.space-y-20 > article > .relative,
#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article > .relative {
	min-height: 390px;
	padding-bottom: 0;
}

#main-content .portfolio-product .scientific-visual,
#main-content .site-container.space-y-20 > article .scientific-visual,
#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article .scientific-visual {
	width: 100%;
	height: 100%;
	min-height: 390px;
}

#main-content .portfolio-product .product-pack,
#main-content .site-container.space-y-20 > article .product-pack,
#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article .product-pack {
	width: 100%;
	max-width: 390px;
}

#main-content .portfolio-product > .relative > .absolute.-bottom-7,
#main-content .site-container.space-y-20 > article > .relative > .absolute.-bottom-7,
#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article > .relative > .absolute.-bottom-7 {
	right: 1.5rem !important;
	bottom: 1.5rem !important;
	width: 62% !important;
}

/* All five product pages use the same reliable vertical rhythm. */
.product-page .hcp-content > section.section {
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}

.product-page .product-hero .site-container {
	min-height: 620px !important;
}

.product-page .product-hero .product-pack {
	width: 100%;
	max-width: 520px;
	justify-self: end;
}

.product-page .formula-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Existing imported pages also receive the two-column correction immediately,
   without requiring editors to overwrite their current content. */
.product-page .product-soft .grid.md\:grid-cols-3:has(> article:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.product-page .wp-block-details {
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
}

.product-page .wp-block-details summary {
	position: relative;
	padding-right: 2rem;
	font-weight: 600;
	color: var(--primary);
}

.product-page .wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 0;
	font-size: 1.25rem;
	font-weight: 400;
}

.product-page .wp-block-details[open] summary::after {
	content: "−";
}

.product-page .wp-block-details > p {
	margin-top: 1rem !important;
	line-height: 1.75;
	color: var(--muted-foreground);
}

.product-page .product-final .wp-block-buttons {
	justify-content: center !important;
}

/* Gutenberg may mark nested groups as constrained. Keep the group itself in
   its grid track without stretching its text beyond the source design. */
#main-content :where(.is-layout-constrained, .is-layout-flow),
.product-page :where(.is-layout-constrained, .is-layout-flow) {
	min-width: 0;
}

@media (max-width: 767px) {
	#main-content .site-container,
	.product-page .site-container,
	.site-footer .site-container,
	header .site-container {
		width: calc(100% - 32px) !important;
	}
}

/* Admin bar offset for sticky site header. */
.admin-bar header.sticky {
	top: 32px;
}
@media (max-width: 782px) {
	.admin-bar header.sticky {
		top: 46px;
	}
}

/* ---- HCP acknowledgement: one overlay, never a second page hero ---- */
.product-page .hcp-gate {
	display: flex;
	position: fixed;
	inset: 0;
	z-index: 10000;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: color-mix(in srgb, var(--primary) 88%, transparent);
	backdrop-filter: blur(5px);
}
.product-page .hcp-gate .hcp-dialog {
	width: min(100%, 720px);
	border: 1px solid color-mix(in srgb, var(--primary-foreground) 28%, transparent);
	background: var(--primary);
	padding: clamp(24px, 5vw, 48px);
	color: var(--primary-foreground);
	box-shadow: var(--shadow-architectural);
}
.product-page .hcp-content { display: block; }
html.hcp-ok .product-page .hcp-gate { display: none; }
html.hcp-ok .product-page .hcp-content { display: block; }

@media (max-width: 767px) {
	#main-content .portfolio-product,
	#main-content .site-container.space-y-20 > article,
	#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 32px !important;
		min-height: 0;
	}
	#main-content .portfolio-product + .portfolio-product,
	#main-content .site-container.space-y-20 > article + article,
	#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article + article {
		margin-top: 64px !important;
		padding-top: 64px !important;
	}
	#main-content .portfolio-product > .relative,
	#main-content .site-container.space-y-20 > article > .relative,
	#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article > .relative { min-height: 330px; padding-bottom: 0; }
	#main-content .portfolio-product .absolute.-bottom-7,
	#main-content .site-container.space-y-20 > article .absolute.-bottom-7,
	#main-content .site-container.space-y-20 > .wp-block-group__inner-container > article .absolute.-bottom-7 {
		position: absolute;
		right: 1rem !important;
		bottom: 1rem !important;
		width: calc(100% - 2rem) !important;
		margin: 0;
	}
	.product-page .hcp-content > section.section {
		padding-top: 64px !important;
		padding-bottom: 64px !important;
	}
	.product-page .product-hero .site-container {
		min-height: auto !important;
		padding-top: 64px !important;
		padding-bottom: 64px !important;
	}
	.product-page .product-hero .product-pack {
		justify-self: stretch;
	}
	.product-page .formula-grid-2 {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.product-page .product-soft .grid.md\:grid-cols-3:has(> article:nth-child(2):last-child) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}
