/* Shared chrome, measured against Figma Home 133:2076 (1728px canvas).
 * Keep the existing dynamic blocks, WordPress menus and keyboard behaviour.
 * Logo artwork is the original Figma export, not a font reconstruction.
 */
:is(.wp-site-blocks > header, .editor-styles-wrapper) .rx-site-header-shell .rx-header {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-inline: var(--rx-figma-gutter);
}

/* Il Gruppo uses an authored core Cover, not the legacy hero class. */
body:has(main .rx-group-page-hero) .wp-site-blocks > header { position: relative; z-index: 40; }
body:has(main .rx-group-page-hero) .wp-site-blocks > main { margin-block-start: 0; }
html:not(.has-rexpol-primary-open):not(.has-rexpol-menu-open) body:has(main .rx-group-page-hero) .wp-site-blocks > header .rx-site-header-shell .rx-header {
	position: absolute;
	inset: 0 0 auto;
	color: var(--wp--preset--color--paper);
	background: linear-gradient(180deg, rgb(0 0 0 / .38), transparent);
	border-color: rgb(255 255 255 / .35);
}
body:has(main .rx-group-page-hero) .wp-site-blocks > header .custom-logo-link img { filter: brightness(0) invert(1); }
html.has-rexpol-menu-open .wp-site-blocks > header .rx-site-header-shell.wp-block-rexpol-site-header .rx-header {
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--paper);
}

.rx-site-header-shell .rx-header > .rx-brand {
	display: inline-flex;
	align-items: center;
	inline-size: 6.25rem;
	min-block-size: 2.75rem;
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
}
.rx-site-header-shell .rx-header > .rx-brand sup { font-size: 0; margin: 0; }
.rx-site-header-shell .rx-header > .rx-brand::before {
	content: '';
	display: block;
	flex: 0 0 100%;
	inline-size: 100%;
	block-size: .9rem;
	background: currentColor;
	mask: url('../icons/rexpol-header-original.png') left center / contain no-repeat;
}

/* The footer has two company columns, an intentional empty span, then menus.
 * Row height follows content; the wordmark is never absolute-positioned.
 */
.rx-footer.rx-figma-footer {
	grid-template-columns: minmax(0, 216fr) minmax(0, 216fr) minmax(0, 520fr) minmax(0, 157fr) minmax(0, 176fr) minmax(0, 152fr) minmax(0, 141fr);
	column-gap: 0;
	row-gap: 3rem;
	align-items: start;
	min-block-size: 50.75rem;
	padding-block: 8.25rem .875rem;
}
.rx-footer.rx-figma-footer > * { min-inline-size: 0; }
.rx-footer.rx-figma-footer > .rx-footer__company { padding-inline-end: 1rem; }
.rx-footer.rx-figma-footer > nav { padding-inline-end: .625rem; }
.rx-footer.rx-figma-footer .rx-footer__company strong,
.rx-footer.rx-figma-footer nav > .rx-figma-kicker {
	margin-block: 0 1.5rem;
	font-size: 1.1875rem;
	line-height: 1.1;
}
.rx-footer.rx-figma-footer .rx-footer__address {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}
.rx-footer.rx-figma-footer .rx-footer-menu li { margin: 0; }
.rx-footer.rx-figma-footer .rx-footer-menu a {
	min-block-size: 1.5rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}
.rx-footer.rx-figma-footer > .rx-figma-footer-wordmark {
	inline-size: min(50.13%, 49.4375rem);
	block-size: auto;
	aspect-ratio: 1349 / 363;
	margin-inline-start: -.75rem;
	font-size: 0;
	line-height: 0;
	background: url('../icons/rexpol-footer-original.png') left bottom / contain no-repeat;
}
.rx-footer.rx-figma-footer .rx-figma-footer-wordmark__o { display: none; }
.rx-footer.rx-figma-footer:is([class*="-font-size"], [style*="font-size"]) :is(.rx-footer__company strong, .rx-figma-kicker, .rx-footer__address, .rx-footer-menu a) { font-size: inherit; }
.rx-footer.rx-figma-footer:is([class*="-font-family"], [style*="font-family"]) :is(.rx-footer__company strong, .rx-figma-kicker, .rx-footer__address, .rx-footer-menu) { font-family: inherit; }

@media (min-width: 50.001rem) {
	:is(.wp-site-blocks > header, .editor-styles-wrapper) .rx-site-header-shell .rx-header,
	body:has(main .rx-home-hero:first-child) .wp-site-blocks > header .rx-site-header-shell .rx-header {
		min-block-size: 6.5rem;
		padding-block: 0;
		grid-template-columns: minmax(6.5rem, 505fr) minmax(0, 1073fr);
		column-gap: 0;
	}
	:is(.wp-site-blocks > header, .editor-styles-wrapper) .rx-site-header-shell .rx-primary-nav { grid-column: 2; }
	:is(.wp-site-blocks > header, .editor-styles-wrapper) .rx-site-header-shell .rx-primary-nav > .rx-menu { gap: clamp(.75rem, 1.6vw, 1.75rem); }
	.rx-site-header-shell .rx-mega-menu__close { top: calc(var(--rx-mega-header-bottom, 6.5rem) + .75rem); }
	.rx-site-header-shell .rx-mega-menu__inner { padding-top: calc(var(--rx-mega-header-bottom, 6.5rem) + 4.5rem); }
	.rx-site-header-shell .rx-primary-nav .rx-menu [data-rx-mega-target] { display: inline-flex; align-items: center; gap: .5rem; }
	.rx-primary-menu__indicator { flex-shrink: 0; }
}
@media (min-width: 50.001rem) and (max-width: 80rem) {
	:is(.wp-site-blocks > header, .editor-styles-wrapper) .rx-site-header-shell .rx-header,
	body:has(main .rx-home-hero:first-child) .wp-site-blocks > header .rx-site-header-shell .rx-header { grid-template-columns: minmax(6.5rem, 1fr) minmax(0, 5fr); column-gap: 1.5rem; }
	:is(.wp-site-blocks > header, .editor-styles-wrapper) .rx-site-header-shell .rx-primary-nav > .rx-menu { column-gap: .875rem; }
	.rx-footer.rx-figma-footer { grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 1.5rem; min-block-size: 40rem; padding-block-start: 5rem; }
	.rx-footer.rx-figma-footer > .rx-footer__modules { grid-column: 3; }
}
@media (max-width: 50rem) {
	:is(.wp-site-blocks > header, .editor-styles-wrapper) .rx-site-header-shell .rx-header,
	body:has(main .rx-home-hero:first-child) .wp-site-blocks > header .rx-site-header-shell .rx-header { min-block-size: 5.25rem; padding-inline: 1.25rem; }
	html.has-rexpol-primary-open .wp-site-blocks > header .rx-site-header-shell.wp-block-rexpol-site-header .rx-header { position: fixed; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
	.rx-footer.rx-figma-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.25rem; min-block-size: 0; padding-block: 3.5rem 1.25rem; }
	.rx-footer.rx-figma-footer > .rx-footer__company,
	.rx-footer.rx-figma-footer > .rx-footer__modules { grid-column: auto; padding-inline-end: 0; }
	.rx-footer.rx-figma-footer > nav { padding-inline-end: 0; }
	.rx-footer.rx-figma-footer .rx-footer-menu a { min-block-size: 2.75rem; }
	.rx-footer.rx-figma-footer > .rx-figma-footer-wordmark { inline-size: 100%; max-inline-size: 49.4375rem; margin-inline-start: 0; }
}
@media (max-width: 24rem) {
	.rx-footer.rx-figma-footer { grid-template-columns: minmax(0, 1fr); }
}
@media (forced-colors: active) {
	.rx-site-header-shell .rx-header > .rx-brand { font-size: 1.25rem; line-height: 1.2; }
	.rx-site-header-shell .rx-header > .rx-brand::before { display: none; }
	.rx-site-header-shell .rx-header > .rx-brand sup { font-size: .4em; }
}
