/**
 * Rugare Medical full-width banner hero system.
 *
 * Every public hero now uses one predictable composition: full-bleed media,
 * a protected reading zone and a consistent lower-left content anchor.
 */

.rm-hero {
	position: relative;
	isolation: isolate;
	display: grid !important;
	width: 100%;
	min-height: clamp(32rem, 62vh, 43rem) !important;
	padding: 0 !important;
	overflow: hidden;
	border: 0 !important;
	border-bottom: 3px solid var(--rugare-health-green) !important;
	background: var(--rugare-navy);
	color: var(--rugare-white);
}

/* The photograph always fills the banner instead of occupying a split panel. */
.rm-hero > .authentic-media,
.rm-hero > img.page-banner {
	position: absolute !important;
	z-index: -2;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	overflow: hidden;
	background: #183f58;
}

.rm-hero > .authentic-media picture,
.rm-hero > .authentic-media img,
.rm-hero > img.page-banner {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	object-fit: cover;
	filter: none !important;
	transform: none !important;
}

/* A layered gradient protects copy over bright and visually complex photography. */
.rm-hero::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	display: block !important;
	background:
		linear-gradient(180deg, rgb(4 29 46 / 8%) 0%, rgb(4 29 46 / 5%) 45%, rgb(4 29 46 / 38%) 100%),
		linear-gradient(90deg, rgb(5 34 53 / 82%) 0%, rgb(7 43 67 / 68%) 34%, rgb(7 43 67 / 22%) 58%, rgb(7 43 67 / 3%) 78%, transparent 100%);
	content: '' !important;
	pointer-events: none;
}

.rm-hero::after,
.rm-hero > .authentic-media::before,
.rm-hero > .authentic-media::after {
	display: none !important;
	content: none !important;
}

.rm-hero > .container,
.rm-hero > .container.page-hero__inner,
.rm-hero > .container.contact-page__hero-inner {
	position: relative;
	z-index: 1;
	display: flex !important;
	width: min(var(--container), calc(100% - (2 * var(--gutter)))) !important;
	max-width: var(--container) !important;
	min-height: inherit !important;
	align-items: flex-end !important;
	grid-area: auto !important;
	margin-inline: auto !important;
	padding: clamp(4.5rem, 10vh, 7rem) 0 clamp(3.25rem, 7vh, 5rem) !important;
}

.rm-hero :is(.homepage-hero__content, .page-hero__inner, .service-page__hero-copy, .pharmacy-shop-page__hero-copy, .contact-page__hero-copy, .article-hero__inner) {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 46rem !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	text-align: left !important;
}

.rm-hero h1 {
	max-width: none !important;
	margin: 0 !important;
	color: var(--rugare-white) !important;
	font-size: clamp(2.8rem, 5vw, 4.75rem) !important;
	font-weight: 750;
	letter-spacing: -.045em;
	line-height: .99 !important;
	text-shadow: 0 .12rem 1rem rgb(0 0 0 / 24%) !important;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: wrap;
}

.rm-hero :is(.homepage-hero__lead, .about-page__hero-lead, .information-page__hero-copy > p, .service-page__hero-statement, .service-page__introduction, .contact-page__hero-lead, .pharmacy-shop-page__hero-copy > p) {
	max-width: 39rem !important;
	margin: 1.15rem 0 0 !important;
	color: rgb(255 255 255 / 92%) !important;
	font-size: clamp(1.0625rem, 1.45vw, 1.25rem) !important;
	font-weight: 500;
	line-height: 1.55 !important;
	text-shadow: 0 .1rem .65rem rgb(0 0 0 / 32%) !important;
	text-wrap: pretty;
}

.rm-hero :is(.eyebrow, .service-page__hero-eyebrow, .contact-page__hero-eyebrow, .pharmacy-shop-page__eyebrow, .badge) {
	margin: 0 0 1rem !important;
	color: #b7e579 !important;
	font-size: .8125rem;
	font-weight: 750;
	letter-spacing: .11em;
	text-shadow: 0 .1rem .5rem rgb(0 0 0 / 30%);
	text-transform: uppercase;
}

.rm-hero .eyebrow > span {
	background: #b7e579 !important;
}

.rm-hero :is(.homepage-hero__actions, .about-page__hero-actions, .information-page__hero-actions, .service-page__actions, .contact-page__hero-actions, .pharmacy-shop-page__hero-actions, .services-overview__hero-actions) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem 1rem;
	margin-top: 1.75rem !important;
}

.rm-hero .button--primary {
	border-color: var(--rugare-white) !important;
	background: var(--rugare-white) !important;
	color: var(--rugare-navy) !important;
}

.rm-hero .button--primary:hover,
.rm-hero .button--primary:focus-visible {
	border-color: var(--rugare-health-green) !important;
	background: var(--rugare-health-green) !important;
	color: var(--rugare-navy) !important;
}

.rm-hero .button--outline {
	border-color: rgb(255 255 255 / 72%) !important;
	background: rgb(5 34 53 / 22%) !important;
	color: var(--rugare-white) !important;
	backdrop-filter: blur(4px);
}

.rm-hero .button--outline:hover,
.rm-hero .button--outline:focus-visible {
	border-color: var(--rugare-white) !important;
	background: var(--rugare-white) !important;
	color: var(--rugare-navy) !important;
}

.rm-hero__text-link {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	gap: .6rem;
	color: var(--rugare-white) !important;
	font-weight: 750;
	text-decoration-color: rgb(255 255 255 / 58%);
	text-underline-offset: .25rem;
}

.rm-hero__text-link:hover,
.rm-hero__text-link:focus-visible {
	color: var(--rugare-white) !important;
	text-decoration-thickness: .12rem;
}

.rm-hero__text-link span,
.rm-hero .service-page__hero-location .icon {
	color: #b7e579 !important;
}

.rm-hero .service-page__hero-location {
	color: rgb(255 255 255 / 90%) !important;
}

.rm-hero .service-page__hero-availability {
	display: grid;
	max-width: 42rem;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: .8rem;
	align-items: center;
	padding: .8rem 1rem;
	border: 1px solid rgb(255 255 255 / 22%);
	border-left: 3px solid #8dc63f;
	border-radius: .35rem;
	margin-top: 1.25rem;
	background: rgb(7 39 61 / 34%);
	backdrop-filter: blur(8px);
}

.rm-hero .service-page__hero-availability-icon {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	color: #b7e579;
}

.rm-hero .service-page__hero-availability-icon svg {
	width: 2rem;
	height: 2rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.rm-hero .service-page__hero-availability p { margin: 0; color: rgb(255 255 255 / 84%); font-size: .875rem; line-height: 1.5; }
.rm-hero .service-page__hero-availability strong { display: block; margin-bottom: .1rem; color: var(--rugare-white); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rm-hero .service-page__hero-availability p > span { display: block; }

/* Gallery — keep the real group portrait visible while protecting the reading area. */
.information-page--gallery .rm-hero { min-height: clamp(31rem, 58vh, 39rem) !important; }
.information-page--gallery .rm-hero > .authentic-media img { object-position: center 47% !important; }
.information-page--gallery .rm-hero::before {
	background:
		linear-gradient(180deg, rgb(4 29 46 / 3%) 0%, rgb(4 29 46 / 5%) 55%, rgb(4 29 46 / 38%) 100%),
		linear-gradient(90deg, rgb(5 34 53 / 78%) 0%, rgb(7 43 67 / 56%) 31%, rgb(7 43 67 / 16%) 61%, transparent 82%);
}
.information-page--gallery .information-page__hero-copy { max-width: 41rem !important; }
.information-page--gallery .information-page__hero-copy > p:last-child { max-width: 37rem !important; }

/* Secondary facts stay out of the hero so the banner remains focused. */
.rm-hero .service-page__hero-facts {
	display: none !important;
}

.rm-hero.about-page__hero .about-page__hero-trust {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem 1.25rem;
	margin: 1.5rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid rgb(255 255 255 / 30%);
	color: var(--rugare-white);
}

/* Flagship has a little more cinematic breathing room. */
.rm-hero--home {
	min-height: clamp(37rem, 72vh, 49rem) !important;
}

.rm-hero--home .homepage-hero__location {
	display: none;
}

.rm-hero--home .homepage-hero__media img {
	object-position: center 42% !important;
}

/* Page-specific subject placement keeps faces away from the reading zone. */
.service-page--dialysis .rm-hero img { object-position: 62% center !important; }
.service-page--pharmacy .rm-hero img { object-position: 66% center !important; }
.service-page--gp .rm-hero img { object-position: 72% center !important; }
.service-page--homecare .rm-hero img { object-position: 72% center !important; }
.service-page--dentist .rm-hero img { object-position: 68% center !important; }
.service-page--physician .rm-hero img { object-position: 68% center !important; }
.service-page--diagnostic-laboratory .rm-hero img { object-position: 60% 26% !important; }
.service-page--ambulance-service .rm-hero img { object-position: 65% center !important; }
.services-overview__hero img { object-position: 66% center !important; }
.about-page__hero img { object-position: 68% center !important; }

/* Text-only pages remain full-width branded banners, without pretending to have photography. */
.rm-hero--utility:not(:has(> .authentic-media)):not(:has(> img.page-banner)) {
	min-height: clamp(20rem, 38vh, 27rem) !important;
	background:
		radial-gradient(circle at 82% 18%, rgb(141 198 63 / 18%) 0 8rem, transparent 8.1rem),
		linear-gradient(118deg, #082f4a 0%, #0b3a5b 58%, #0f6c9f 100%);
}

.rm-hero--utility:not(:has(> .authentic-media)):not(:has(> img.page-banner))::before {
	background: linear-gradient(90deg, rgb(4 29 46 / 32%), transparent 72%);
}

.not-found.rm-hero--utility > .not-found__inner {
	position: relative;
	z-index: 1;
	width: min(var(--container), calc(100% - (2 * var(--gutter))));
	margin-inline: auto;
	padding-block: clamp(4rem, 8vw, 6rem);
}

@media (max-width: 47.9375rem) {
	.rm-hero .service-page__hero-availability { grid-template-columns: 2.5rem minmax(0, 1fr); padding: .75rem .8rem; margin-top: 1rem; backdrop-filter: none; }
	.rm-hero .service-page__hero-availability-icon { width: 2.5rem; height: 2.5rem; }
	.rm-hero,
	.rm-hero--home {
		min-height: clamp(32rem, 78vh, 40rem) !important;
	}

	.rm-hero::before {
		background:
			linear-gradient(180deg, rgb(4 29 46 / 4%) 0%, rgb(4 29 46 / 16%) 34%, rgb(4 29 46 / 72%) 68%, rgb(4 29 46 / 92%) 100%),
			linear-gradient(90deg, rgb(5 34 53 / 28%), rgb(5 34 53 / 3%) 72%);
	}

	.information-page--gallery .rm-hero > .authentic-media img { object-position: 51% center !important; }
	.information-page--gallery .rm-hero::before {
		background:
			linear-gradient(180deg, rgb(4 29 46 / 5%) 0%, rgb(4 29 46 / 15%) 38%, rgb(4 29 46 / 78%) 72%, rgb(4 29 46 / 94%) 100%);
	}

	.rm-hero > .container,
	.rm-hero > .container.page-hero__inner,
	.rm-hero > .container.contact-page__hero-inner {
		width: calc(100% - (2 * var(--gutter))) !important;
		align-items: flex-end !important;
		grid-area: auto !important;
		padding: 7rem 0 2.5rem !important;
		background: transparent !important;
	}

	.rm-hero h1 {
		max-width: none !important;
		font-size: clamp(2.35rem, 11vw, 3.25rem) !important;
		line-height: 1.02 !important;
	}

	.rm-hero :is(.homepage-hero__lead, .about-page__hero-lead, .information-page__hero-copy > p, .service-page__hero-statement, .service-page__introduction, .contact-page__hero-lead, .pharmacy-shop-page__hero-copy > p) {
		font-size: 1.0625rem !important;
		line-height: 1.52 !important;
	}

	.rm-hero :is(.homepage-hero__actions, .about-page__hero-actions, .information-page__hero-actions, .service-page__actions, .contact-page__hero-actions, .pharmacy-shop-page__hero-actions, .services-overview__hero-actions) {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
	}

	.rm-hero :is(.homepage-hero__actions, .about-page__hero-actions, .information-page__hero-actions, .service-page__actions, .contact-page__hero-actions, .pharmacy-shop-page__hero-actions, .services-overview__hero-actions) .button {
		width: auto !important;
	}

	.rm-hero.about-page__hero {
		padding: 0 !important;
	}

	.rm-hero.about-page__hero .about-page__hero-trust {
		display: none;
	}

	.rm-hero--utility:not(:has(> .authentic-media)):not(:has(> img.page-banner)) {
		min-height: 22rem !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rm-hero *,
	.rm-hero *::before,
	.rm-hero *::after {
		transition: none !important;
		animation: none !important;
	}
}

/* Final service banner contract: one restrained, image-led system. */
:is(.service-page, .information-page--corporate-health) .rm-hero {
	min-height: clamp(32rem, 58vh, 40rem) !important;
}

:is(.service-page, .information-page--corporate-health) .rm-hero::before {
	background: rgb(4 29 46 / 52%);
}

:is(.service-page, .information-page--corporate-health) .rm-hero h1 {
	max-width: 17ch !important;
	font-size: clamp(3rem, 4.5vw, 4rem) !important;
	line-height: 1.02 !important;
	text-wrap: pretty;
}

:is(.service-page, .information-page--corporate-health) .rm-hero .button {
	min-height: 3rem;
}

:is(.service-page, .information-page--corporate-health) .rm-hero .button--outline,
:is(.service-page, .information-page--corporate-health) .rm-hero .service-page__hero-availability {
	backdrop-filter: none;
}

:is(.service-page, .information-page--corporate-health) .rm-hero .service-page__hero-availability {
	border-radius: .5rem;
	background: rgb(4 29 46 / 64%);
}

@media (max-width: 47.9375rem) {
	:is(.service-page, .information-page--corporate-health) .rm-hero {
		min-height: clamp(31rem, 72vh, 37rem) !important;
	}

	:is(.service-page, .information-page--corporate-health) .rm-hero::before {
		background: rgb(4 29 46 / 60%);
	}

	:is(.service-page, .information-page--corporate-health) .rm-hero h1 {
		font-size: clamp(2.125rem, 10vw, 2.625rem) !important;
		line-height: 1.06 !important;
	}

	:is(.service-page, .information-page--corporate-health) .rm-hero :is(.service-page__actions, .information-page__hero-actions) {
		width: min(100%, 22rem);
		align-items: stretch;
	}

	:is(.service-page, .information-page--corporate-health) .rm-hero :is(.service-page__actions, .information-page__hero-actions) .button {
		width: 100% !important;
	}
}
