/* Βάση: reset επιπέδου theme, typography, helpers. */
*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-primary);
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
	font-weight: var(--font-weight-regular);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

h1, h2, h3 { font-family: var(--font-primary); font-weight: var(--font-weight-bold); margin: 0 0 var(--space-md); }
h1 { font-size: var(--font-size-h1); line-height: 1.2; }
h2 { font-size: var(--font-size-h2); line-height: 1.2; }
h3 { font-size: var(--font-size-h3); line-height: 1.2; }

a { color: inherit; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}
.skip-link:focus {
	position: fixed !important;
	top: 8px; left: 8px;
	z-index: 1000;
	width: auto; height: auto;
	margin: 0; padding: 12px 16px;
	clip: auto; clip-path: none;
	background: var(--color-black); color: var(--color-white);
}

:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

[hidden] { display: none !important; }

/* Μάσκα εικονιδίου: χρωματίζεται με currentColor */
.ilb-icon {
	display: inline-block;
	background-color: currentColor;
	-webkit-mask: var(--ilb-icon) center / contain no-repeat;
	mask: var(--ilb-icon) center / contain no-repeat;
}

.site-main { min-height: 40vh; }

.ilb-page { padding: var(--space-3xl) var(--space-container); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* Overrides του Hello Elementor: boxed πλάτος, flex header και ροζ hover στα buttons */
body .site-header:not(.dynamic-header),
body .site-footer:not(.dynamic-footer),
body:not([class*="elementor-page-"]) .site-main {
	max-width: none;
	width: 100%;
	margin-inline: 0;
}
body .site-header:not(.dynamic-header) {
	display: block;
	padding: 0;
}
body .site-footer:not(.dynamic-footer) {
	padding-inline: var(--space-container);
}
body:not([class*="elementor-page-"]) .site-main { padding-inline: 0; }

.site-header button:hover,
.site-header button:focus,
.site-header button:active {
	background-color: transparent;
	color: inherit;
	text-decoration: none;
}
.site-header .site-nav__link:hover,
.site-header .site-nav__toggle[aria-expanded="true"] { color: var(--color-accent); }
.site-header .site-search__submit:hover,
.site-header .site-search__submit:focus { background-color: var(--color-black); color: var(--color-white); }

