/**
 * IONYX brand polish.
 *
 * Visual styling only. Business logic belongs in ionyx-core.
 */

:root {
	--ionyx-brand-blue: #0078a3;
	--ionyx-brand-blue-dark: #005f7d;
	--ionyx-brand-cyan: #23b7d7;
	--ionyx-brand-navy: #092f45;
	--ionyx-brand-ink: #17242b;
	--ionyx-brand-graphite: #4f565c;
	--ionyx-brand-silver: #d9e3e8;
	--ionyx-brand-paper: #f6f8fa;
	--ionyx-brand-white: #ffffff;
	--ionyx-brand-shadow: 0 14px 34px rgba(9, 47, 69, 0.1);
	--ionyx-brand-shadow-soft: 0 8px 24px rgba(9, 47, 69, 0.08);
	--ionyx-radius-card: 8px;
	--ionyx-radius-button: 6px;
	--ionyx-section-space: 86px;
	--ionyx-section-space-mobile: 64px;
	--ionyx-card-padding: 28px;
	--ionyx-button-min-width: 238px;
	--ionyx-button-height: 46px;
}

body {
	color: var(--ionyx-brand-ink);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

body #top-header {
	display: none !important;
}

body #main-header {
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid var(--ionyx-brand-silver);
	box-shadow: 0 10px 28px rgba(9, 47, 69, 0.08);
}

body #main-header .container {
	max-width: 1240px;
	width: 92%;
}

body #main-header #logo {
	max-height: 54px;
}

body #main-header #et_top_search {
	display: none !important;
}

body.et_fixed_nav #page-container {
	padding-top: 86px;
}

body #top-menu li a,
body .et_mobile_menu li a {
	color: var(--ionyx-brand-ink);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

body #top-menu li.current-menu-item > a,
body #top-menu li a:hover,
body .et_mobile_menu li a:hover {
	color: var(--ionyx-brand-blue);
	opacity: 1;
}

body .mobile_menu_bar::before {
	color: var(--ionyx-brand-blue);
}

@media (max-width: 980px) {
	body.et_fixed_nav #page-container {
		padding-top: 78px;
	}
}

@media (max-width: 767px) {
	body #main-header #logo {
		max-height: 42px;
	}
}

/* 2026 Home polish: restrained Apple-like boxes, consistent spacing, and accessible controls. */
html body #main-header {
	min-height: 74px;
}

html body.et_fixed_nav #page-container {
	padding-top: 78px;
}

html body #main-header.et-fixed-header {
	box-shadow: 0 8px 24px rgba(9, 47, 69, 0.08) !important;
}

html body #main-header .container {
	max-width: 1220px;
	width: 92%;
}

html body #main-header #logo {
	max-height: 46px;
	width: auto;
}

html body #top-menu-nav > ul > li {
	padding-right: 20px;
}

html body #top-menu-nav > ul > li > a {
	padding-bottom: 27px !important;
}

html body #top-menu li a,
html body .et_mobile_menu li a {
	letter-spacing: 0;
}

html body .et_mobile_menu {
	border-color: var(--ionyx-brand-blue);
	border-radius: 0 0 var(--ionyx-radius-card) var(--ionyx-radius-card);
	box-shadow: var(--ionyx-brand-shadow-soft);
	padding: 10px 0;
}

html body .et_mobile_menu li a {
	border-bottom-color: rgba(217, 227, 232, 0.7);
	padding: 13px 5%;
}

html body a:focus-visible,
html body button:focus-visible,
html body summary:focus-visible {
	outline: 3px solid rgba(0, 120, 163, 0.34);
	outline-offset: 4px;
}

@media (max-width: 980px) {
	html body #main-header #logo {
		max-height: 42px;
	}
}

@media (max-width: 767px) {
	html body.et_fixed_nav #page-container {
		padding-top: 72px;
	}
}

/* Keep the Home brand-panel logos contained without depending on front-page state. */
html body .et_pb_group:has(img[src*="ge-passoni-villa-temporary-lockup"]) .et_pb_image,
html body .et_pb_group:has(img[src*="ge-passoni-villa-temporary-lockup"]) .et_pb_image_wrap {
	align-items: center;
	display: flex;
	height: 44px;
	justify-content: flex-start;
	min-height: 0;
	width: 100%;
}

html body .et_pb_group:has(img[src*="ge-passoni-villa-temporary-lockup"]) .et_pb_image img {
	border-radius: 0;
	box-shadow: none;
	height: auto;
	max-height: 40px;
	max-width: 100%;
	min-height: 0;
	object-fit: contain;
	object-position: left center;
	width: auto;
}
