/* BizLab global visual system: typography, rhythm and consistent responsive layouts. */
:root {
	--bl-ink: #122038;
	--bl-copy: #526277;
	--bl-muted: #718096;
	--bl-line: #e4e9ef;
	--bl-soft: #f5f7fa;
	--bl-orange: #ff6a00;
	--bl-orange-dark: #e95f00;
	--bl-radius: 16px;
	--bl-shadow: 0 14px 38px rgba(18, 32, 56, .08);
}

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

body {
	color: var(--bl-copy);
	font-family: "Manrope", "Segoe UI", Arial, sans-serif;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body :is(h1, h2, h3, h4, h5, h6, .title, .wd-entities-title) {
	color: var(--bl-ink);
	font-family: "Manrope", "Segoe UI", Arial, sans-serif;
	font-weight: 800;
	letter-spacing: -.025em;
	text-wrap: balance;
}

body :is(p, li) {
	line-height: 1.7;
}

body :is(input, select, textarea, button) {
	font-family: inherit;
}

.page-title {
	margin-bottom: clamp(32px, 4vw, 56px);
}

.page-title :is(.entry-title, h1) {
	font-size: clamp(34px, 4vw, 52px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.04em;
}

.page-title .breadcrumbs {
	font-size: 13px;
	line-height: 1.55;
}

.scrollToTop {
	right: 16px !important;
	left: auto !important;
}

@media (min-width: 1025px) {
	.wd-header-main-nav :is(.wd-nav-main, #menu-main-navigation) {
		flex-wrap: nowrap !important;
		gap: 0 7px !important;
	}

	.wd-header-main-nav .menu-item > a {
		white-space: nowrap;
	}

	.whb-general-header a[href*="eggrafi-chondrikis"] {
		padding-right: 14px !important;
		padding-left: 14px !important;
		white-space: nowrap;
	}
}

/* Long-form service pages: one readable, full-width composition without the legacy sidebar. */
:is(.page-id-1184, .page-id-1185, .page-id-1186) .wd-content-layout {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .sidebar-container {
	display: none !important;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content {
	width: 100% !important;
	max-width: none !important;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article {
	width: min(100%, 1120px);
	margin: 0 auto;
	padding: clamp(28px, 4.5vw, 58px);
	border: 1px solid var(--bl-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--bl-shadow);
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article > :first-child {
	margin-top: 0;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article p {
	margin: 0 0 22px;
	color: var(--bl-copy);
	font-size: 17px;
	line-height: 1.78;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article h2 {
	margin: 50px 0 18px;
	font-size: clamp(26px, 2.8vw, 35px);
	line-height: 1.2;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article h3 {
	margin: 34px 0 14px;
	font-size: clamp(21px, 2.1vw, 27px);
	line-height: 1.28;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article ul {
	display: grid;
	gap: 10px;
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article li {
	position: relative;
	padding-left: 28px;
	font-size: 16px;
}

:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article li::before {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--bl-orange);
	content: "✓";
	font-weight: 900;
}

/* Contact page: equal cards and a calm, consistent form system. */
.page-id-72 .elementor-element-a3c9a1c {
	align-items: stretch;
	gap: 28px;
}

.page-id-72 :is(.elementor-element-1508543, .elementor-element-e5307ca) {
	padding: clamp(27px, 3.4vw, 44px) !important;
	border: 1px solid var(--bl-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--bl-shadow);
}

.page-id-72 .elementor-element-1508543 {
	background: linear-gradient(145deg, #fff 0%, #fff8f2 100%);
}

.page-id-72 .wpcf7-form p {
	margin: 0 0 17px;
}

.page-id-72 .wpcf7-form label {
	display: block;
	color: var(--bl-ink);
	font-size: 13px;
	font-weight: 800;
}

.page-id-72 .wpcf7-form :is(input:not([type="submit"]), select, textarea) {
	width: 100%;
	margin-top: 7px;
	border: 1px solid #dbe2ea;
	border-radius: 10px;
	background: #f8fafc;
	box-shadow: none;
}

.page-id-72 .wpcf7-form :is(input:not([type="submit"]), select) {
	min-height: 50px;
}

.page-id-72 .wpcf7-form textarea {
	min-height: 150px;
	resize: vertical;
}

.page-id-72 .wpcf7-form :is(input, select, textarea):focus {
	border-color: var(--bl-orange);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(255, 106, 0, .12);
	outline: 0;
}

.page-id-72 .wpcf7-form input[type="submit"] {
	min-width: 190px;
	min-height: 50px;
	border: 0;
	background: linear-gradient(135deg, var(--bl-orange), #ff8a29);
	color: #fff;
	box-shadow: 0 9px 20px rgba(255, 106, 0, .2);
}

/* Product detail pages: aligned type, controls and mobile-safe breadcrumbs. */
.single-product .product_title {
	font-size: clamp(28px, 3vw, 40px) !important;
	line-height: 1.16 !important;
}

.single-product .summary-inner :is(p, li) {
	line-height: 1.7;
}

.single-product .wd-breadcrumbs {
	font-size: 13px;
	line-height: 1.55;
}

.single-product .variations .label {
	color: var(--bl-ink);
	font-size: 13px;
	font-weight: 800;
}

.single-product :is(.woocommerce-tabs, .wd-tab-wrapper, .related-and-upsells) {
	border-radius: var(--bl-radius);
}

.single-product .single_add_to_cart_button {
	background: linear-gradient(135deg, var(--bl-orange), #ff8a29) !important;
	color: #fff !important;
}

/* Primary actions use the black BizLab brand colour across the site. */
body:not(.wp-admin) :is(a.button, .btn, button[type="submit"], input[type="submit"], .single_add_to_cart_button, .elementor-button),
body.home .bl-home .bl-button-primary,
body:not(.wp-admin) .products .product-grid-item :is(.button, .add_to_cart_button) {
	border-color: #111 !important;
	background: #111 !important;
	background-image: none !important;
	color: #fff !important;
	box-shadow: 0 9px 20px rgba(17, 17, 17, .18) !important;
}

body:not(.wp-admin) :is(a.button, .btn, button[type="submit"], input[type="submit"], .single_add_to_cart_button, .elementor-button):hover,
body.home .bl-home .bl-button-primary:hover,
body:not(.wp-admin) .products .product-grid-item :is(.button, .add_to_cart_button):hover {
	border-color: #000 !important;
	background: #000 !important;
	background-image: none !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	:is(.page-id-1184, .page-id-1185, .page-id-1186) .wd-toolbar-sidebar {
		display: none !important;
	}

	.page-title {
		margin-bottom: 28px;
	}

	.page-title :is(.entry-title, h1) {
		font-size: 34px !important;
	}

	:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article {
		padding: 24px 20px;
		border-radius: 16px;
	}

	:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article p {
		font-size: 16px;
	}

	:is(.page-id-1184, .page-id-1185, .page-id-1186) .site-content > article h2 {
		margin-top: 38px;
	}

	.page-id-72 .elementor-element-a3c9a1c {
		gap: 20px;
	}

	.page-id-72 :is(.elementor-element-1508543, .elementor-element-e5307ca) {
		padding: 24px 20px !important;
		border-radius: 16px;
	}

	.page-id-72 .wpcf7-form input[type="submit"],
	.single-product .single_add_to_cart_button {
		width: 100%;
	}

	.single-product .wd-breadcrumbs {
		display: block !important;
		width: 100%;
		overflow: visible !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	.single-product .product_title {
		font-size: 27px !important;
	}
}
