/* =========================================================================
   ΝΗΜΑ design system
   Palette and type sampled from the seminar poster: warm cream paper, one red
   "thread", charcoal serif headings, navy footer with a red wavy edge.
   ========================================================================= */

:root {
	--nhma-cream: #F0F0EE;
	--nhma-cream-rgb: 240, 240, 238;   /* the same colour, for translucent overlays */
	--nhma-cream-2: #E8E8E5;
	--nhma-paper: #FAFAFA;
	--nhma-sand: #E2E2DF;
	--nhma-line: #DBDBD7;
	--nhma-tan: #97938C;
	--nhma-red: #DC1B0F;
	--nhma-red-ink: #B3160C;
	--nhma-ink: #232321;
	--nhma-text: #373634;
	--nhma-muted: #676360;
	--nhma-navy: #242A36;
	--nhma-navy-2: #1D222C;
	--nhma-on-navy: #EDE6DF;

	--nhma-display: "Noto Serif", "Iowan Old Style", Georgia, "Times New Roman", serif;
	--nhma-sans: "Manrope", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;

	--nhma-radius: 20px;
	--nhma-radius-sm: 14px;
	--nhma-radius-lg: 26px;
	--nhma-shadow: 0 1px 2px rgba(35, 30, 28, .04), 0 12px 32px -18px rgba(35, 30, 28, .22);
	--nhma-maxw: 1200px;
	--nhma-gutter: clamp(20px, 4vw, 40px);
	--nhma-header-h: 84px;

	/* The red line/dot/line divider from the poster. */
	--nhma-rule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='10' viewBox='0 0 150 10'%3E%3Cpath d='M0 5h63M87 5h63' stroke='%23DC1B0F' stroke-width='1.4'/%3E%3Ccircle cx='75' cy='5' r='4' fill='%23DC1B0F'/%3E%3C/svg%3E");
}

/* ----------------------------------------------------------------- base */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nhma-header-h) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body.nhma {
	background: var(--nhma-cream);
	color: var(--nhma-text);
	font-family: var(--nhma-sans);
	font-size: 1.0625rem;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.nhma h1, body.nhma h2, body.nhma h3, body.nhma h4 {
	font-family: var(--nhma-display);
	font-weight: 400;
}
body.nhma h1, body.nhma h2 { font-weight: 300; }
body.nhma h1, body.nhma h2, body.nhma h3, body.nhma h4 {
	color: var(--nhma-ink);
	letter-spacing: -0.01em;
	line-height: 1.15;
}

body.nhma a { color: var(--nhma-red-ink); text-underline-offset: .18em; text-decoration-thickness: 1px; }
body.nhma a:hover { color: var(--nhma-red); }
body.nhma :focus-visible { outline: 2px solid var(--nhma-red); outline-offset: 3px; border-radius: 4px; }
body.nhma ::selection { background: var(--nhma-red); color: #fff; }

.nhma-red, body.nhma .nhma-red { color: var(--nhma-red); }
body.nhma strong.nhma-red, body.nhma b.nhma-red { font-weight: 600; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto; z-index: 100000; top: 12px; left: 12px;
	padding: 10px 16px; background: var(--nhma-ink); color: #fff; border-radius: 8px;
}

/* --------------------------------------------------------------- header */
.nhma-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(var(--nhma-cream-rgb), .88);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color .3s, box-shadow .3s, background .3s;
}
.admin-bar .nhma-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .nhma-header { top: 0; } }
.nhma-header.is-scrolled { border-bottom-color: var(--nhma-line); box-shadow: 0 8px 24px -20px rgba(35, 30, 28, .35); background: rgba(var(--nhma-cream-rgb), .96); }

.nhma-header__inner {
	max-width: calc(var(--nhma-maxw) + 2 * var(--nhma-gutter));
	margin: 0 auto; padding: 10px var(--nhma-gutter);
	min-height: var(--nhma-header-h);
	display: flex; align-items: center; gap: 24px;
}

.nhma-brand { display: flex; align-items: center; gap: 14px; text-decoration: none; flex-shrink: 0; }
.nhma-brand__logo { width: 60px; height: auto; display: block; }
.nhma-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.nhma-brand__name { font-family: var(--nhma-display); font-weight: 500; font-size: 1.45rem; color: var(--nhma-ink); letter-spacing: .14em; }
.nhma-brand__tag { font-size: .72rem; color: var(--nhma-muted); letter-spacing: .02em; }

.nhma-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; }
.nhma-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.nhma-menu > li { position: relative; }
.nhma-menu a, body.nhma .nhma-menu a {
	display: block; padding: 10px 12px; border-radius: 10px; white-space: nowrap;
	font-size: .95rem; font-weight: 500; color: var(--nhma-ink); text-decoration: none;
	transition: color .2s, background .2s;
}
body.nhma .nhma-menu a:hover, body.nhma .nhma-menu .current-menu-item > a, body.nhma .nhma-menu .current-menu-ancestor > a { color: var(--nhma-red-ink); }
.nhma-menu .menu-item-has-children > a::after {
	content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; vertical-align: 3px;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg);
}
.nhma-menu .sub-menu {
	list-style: none; margin: 0; padding: 10px;
	position: absolute; top: calc(100% + 6px); left: -8px; min-width: 250px;
	background: var(--nhma-paper); border: 1px solid var(--nhma-line); border-radius: var(--nhma-radius-sm);
	box-shadow: var(--nhma-shadow);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s;
	max-height: calc(100vh - 110px); overflow-y: auto; overscroll-behavior: contain;
}
.nhma-menu .sub-menu .sub-menu {
	/* Το κενό από το από πάνω μενού γίνεται με διάφανο περίγραμμα και όχι με margin, ώστε να
	   ανήκει στο ίδιο το στοιχείο: αλλιώς το ποντίκι το διασχίζει «έξω» από το μενού και αυτό
	   κλείνει στη μέση της διαδρομής. Το margin-left: 13px ευθυγραμμίζει την άκρη του πλαισίου
	   με την άκρη του από πάνω μενού (12px padding + 1px περίγραμμα). */
	top: -12px; left: 100%; margin-left: 13px; min-width: 236px; max-height: none; overflow: visible;
	border-left: 9px solid transparent; background-clip: padding-box;
}
.nhma-menu .sub-menu li { position: relative; }
/* Το βελάκι που δείχνει ότι το στοιχείο ανοίγει παραπέρα. */
.nhma-menu .sub-menu .menu-item-has-children > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nhma-menu .sub-menu .menu-item-has-children > a::after {
	content: ""; width: 6px; height: 6px; flex: none;
	border-right: 1.5px solid var(--nhma-muted); border-bottom: 1.5px solid var(--nhma-muted); transform: rotate(-45deg);
}
/* Όσο είναι ανοιχτό το τρίτο επίπεδο, το δεύτερο δεν πρέπει να κόβει το περιεχόμενό του. */
.nhma-menu > li:hover > .sub-menu { overflow: visible; }
.nhma-menu .sub-menu { padding: 12px; }
.nhma-menu .sub-menu a { font-size: .92rem; padding: 10px 14px; border-radius: 8px; }
.nhma-menu .sub-menu > li + li { margin-top: 2px; }
.nhma-menu .sub-menu a:hover { background: var(--nhma-cream); }
.nhma-menu li:hover > .sub-menu, .nhma-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

.nhma-nav__cta { display: flex; align-items: center; gap: 16px; }
.nhma-phone { display: inline-flex; align-items: center; gap: 8px; color: var(--nhma-ink) !important; text-decoration: none; font-weight: 600; font-size: .95rem; white-space: nowrap; }
.nhma-phone .nhma-i { color: var(--nhma-red); }

/* Theme button (header/footer). Elementor buttons get the same look via the Kit + rules below. */
.nhma-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 22px; border-radius: 999px; background: var(--nhma-red); color: #fff !important;
	font-weight: 600; font-size: .95rem; text-decoration: none; white-space: nowrap;
	transition: background .2s, transform .2s;
}
.nhma-button:hover { background: var(--nhma-red-ink); transform: translateY(-1px); }

.nhma-nav-toggle, .nhma-sub-toggle { display: none; }

/* Elementor's Kit styles every <button>; keep the header controls neutral. */
body.nhma .nhma-header button.nhma-nav-toggle, body.nhma .nhma-header button.nhma-sub-toggle,
body.nhma .nhma-header button.nhma-nav-toggle:hover, body.nhma .nhma-header button.nhma-sub-toggle:hover {
	background-color: var(--nhma-paper); color: var(--nhma-ink); padding: 0; border-radius: 12px; font-size: 0;
}
body.nhma .nhma-header button.nhma-sub-toggle, body.nhma .nhma-header button.nhma-sub-toggle:hover { background-color: transparent; border: 0; }

@media (max-width: 1180px) {
	.nhma-nav-toggle {
		display: inline-flex; align-items: center; justify-content: center;
		margin-left: auto; width: 46px; height: 46px; border-radius: 12px;
		border: 1px solid var(--nhma-line); background: var(--nhma-paper); cursor: pointer; padding: 0;
	}
	.nhma-nav-toggle__bars, .nhma-nav-toggle__bars::before, .nhma-nav-toggle__bars::after {
		display: block; width: 20px; height: 1.5px; background: var(--nhma-ink); position: relative; transition: transform .25s, background .25s;
	}
	.nhma-nav-toggle__bars::before, .nhma-nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
	.nhma-nav-toggle__bars::before { top: -6px; }
	.nhma-nav-toggle__bars::after { top: 6px; }
	.nhma-nav-toggle[aria-expanded="true"] .nhma-nav-toggle__bars { background: transparent; }
	.nhma-nav-toggle[aria-expanded="true"] .nhma-nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
	.nhma-nav-toggle[aria-expanded="true"] .nhma-nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

	.nhma-nav {
		position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 18px;
		padding: 18px var(--nhma-gutter) 28px; background: var(--nhma-cream);
		border-bottom: 1px solid var(--nhma-line); box-shadow: 0 24px 40px -30px rgba(35, 30, 28, .45);
		max-height: calc(100vh - var(--nhma-header-h)); overflow-y: auto;
		display: none;
	}
	.nhma-nav.is-open { display: flex; }
	.nhma-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.nhma-menu > li { border-bottom: 1px solid var(--nhma-line); }
	.nhma-menu a { padding: 14px 4px; font-size: 1.05rem; }
	.nhma-menu .sub-menu {
		position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
		border: 0; background: transparent; padding: 0 0 10px 14px; min-width: 0; display: none;
		max-height: none; overflow: visible;
	}
	.nhma-menu .sub-menu .sub-menu { top: auto; left: auto; margin-left: 0; border-left: 0; }
	.nhma-menu .sub-menu .menu-item-has-children > a::after { display: none; }
	.nhma-menu .sub-menu .nhma-sub-toggle { top: 0; height: 40px; }
	.nhma-menu li.is-open > .sub-menu { display: block; }
	.nhma-menu .menu-item-has-children > a { padding-right: 52px; }
	.nhma-menu .menu-item-has-children > a::after { display: none; }
	.nhma-sub-toggle {
		display: block; position: absolute; right: 0; top: 4px; width: 46px; height: 46px;
		border: 0; background: transparent; cursor: pointer; padding: 0;
	}
	.nhma-sub-toggle::before {
		content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px;
		border-right: 1.5px solid var(--nhma-ink); border-bottom: 1.5px solid var(--nhma-ink);
		transform: translate(-50%, -70%) rotate(45deg); transition: transform .2s;
	}
	.nhma-menu li.is-open > .nhma-sub-toggle::before { transform: translate(-50%, -25%) rotate(-135deg); }
	.nhma-nav__cta { flex-direction: column; align-items: stretch; }
	.nhma-nav__cta .nhma-button { padding: 14px 22px; }
	.nhma-phone { justify-content: center; padding: 10px; }
}
@media (max-width: 480px) {
	:root { --nhma-header-h: 72px; }
	.nhma-brand__logo { width: 48px; }
	.nhma-brand__name { font-size: 1.3rem; }
	.nhma-brand__tag { font-size: .66rem; }
}

/* --------------------------------------------------------------- footer */
.nhma-footer { position: relative; margin-top: clamp(40px, 6vw, 80px); color: var(--nhma-on-navy); }
.nhma-footer__wave { position: relative; height: clamp(70px, 9vw, 130px); margin-bottom: -1px; }
.nhma-footer__wave svg { display: block; width: 100%; height: 100%; overflow: visible; }
.nhma-footer__fill { fill: var(--nhma-navy); }
.nhma-footer__thread { fill: none; stroke: var(--nhma-red); stroke-width: 2; }
.nhma-footer__dot {
	position: absolute; left: calc(120 / 1440 * 100%); top: calc(132 / 160 * 100%);
	width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--nhma-red);
}
.nhma-footer__body { background: var(--nhma-navy); padding: clamp(24px, 4vw, 48px) var(--nhma-gutter) 28px; }
.nhma-footer__grid {
	max-width: var(--nhma-maxw); margin: 0 auto;
	display: grid; grid-template-columns: 1.4fr 1fr .8fr; gap: clamp(28px, 5vw, 72px);
}
.nhma-footer__logo { display: inline-block; }
.nhma-footer__about { font-size: .98rem; line-height: 1.75; color: rgba(237, 230, 223, .8); margin: 20px 0 0; max-width: 34ch; }
.nhma-footer__logo img { width: 116px; height: auto; }
.nhma-footer__title { font-family: var(--nhma-sans) !important; font-size: .8rem !important; letter-spacing: .14em; text-transform: uppercase; color: #fff !important; margin: 8px 0 18px; font-weight: 700 !important; }
.nhma-footer__contact, .nhma-footer__links { list-style: none; margin: 0; padding: 0; }
.nhma-footer__contact li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; font-size: .95rem; line-height: 1.5; }
.nhma-footer__contact .nhma-i { flex-shrink: 0; margin-top: 2px; color: #FF5A4E; }
.nhma-footer__links li { margin-bottom: 10px; }
body.nhma .nhma-footer a { color: var(--nhma-on-navy); text-decoration: none; }
body.nhma .nhma-footer a:hover { color: #fff; text-decoration: underline; }
.nhma-footer__bottom {
	max-width: var(--nhma-maxw); margin: clamp(32px, 5vw, 56px) auto 0; padding-top: 22px;
	border-top: 1px solid rgba(237, 230, 223, .14);
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: .82rem; color: rgba(237, 230, 223, .6);
}
.nhma-footer__bottom p { margin: 0; }
/* Right-hand side of the bottom bar: the privacy link (when a privacy page is set) and the credit. */
/* margin-left:auto keeps it on the right even when the bar wraps onto two lines on a phone. */
.nhma-footer__meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-left: auto; }
@media (max-width: 860px) { .nhma-footer__grid { grid-template-columns: 1fr 1fr; } .nhma-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .nhma-footer__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Elementor building blocks (add these classes in Elementor → Advanced → CSS Classes)
   ========================================================================== */

/* Sections */
.nhma-sec { position: relative; }
.nhma-sec--alt { background: var(--nhma-cream-2); }
.nhma-sec--paper { background: var(--nhma-paper); }

/* Eyebrow label: short red rule + small text */
.nhma-eyebrow .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 12px;
	font-family: var(--nhma-sans) !important; font-size: .82rem !important; font-weight: 700 !important;
	letter-spacing: .12em !important; color: var(--nhma-red-ink) !important; line-height: 1.4 !important;
}
.nhma-eyebrow .elementor-heading-title::before { content: ""; width: 28px; height: 1.5px; background: var(--nhma-red); }
.nhma-eyebrow--center { text-align: center; }

/* Display heading (hero H1). Ο τίτλος είναι σκέτο κείμενο με μια αλλαγή γραμμής μέσα του:
   το «pre-line» την εμφανίζει και το «::first-line» κρατά την πρώτη γραμμή σκούρα, ώστε η
   δεύτερη να βγαίνει κόκκινη χωρίς ούτε μία ετικέτα μέσα στο πεδίο που ανοίγει ο πελάτης. */
.nhma-display .elementor-heading-title {
	font-size: clamp(2.1rem, 1.3rem + 3.2vw, 3.8rem) !important; line-height: 1.12 !important;
	font-weight: 500 !important; letter-spacing: -0.016em !important;
	white-space: pre-line;
}
body.nhma .nhma-display .elementor-heading-title { color: var(--nhma-red) !important; }
body.nhma .nhma-display .elementor-heading-title::first-line { color: var(--nhma-ink); }
.nhma-rule .elementor-heading-title::after {
	content: ""; display: block; width: 150px; height: 10px; margin-top: .7em; background: var(--nhma-rule) no-repeat;
}
.nhma-rule--center .elementor-heading-title::after { margin-left: auto; margin-right: auto; }
.nhma-page-title .elementor-heading-title::after { width: 118px; margin-top: .55em; background-size: 118px 8px; }

.nhma-h2 .elementor-heading-title { font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.5rem) !important; line-height: 1.18 !important; font-weight: 300 !important; letter-spacing: -0.012em !important; }
.nhma-h3 .elementor-heading-title { font-size: clamp(1.25rem, 1.1rem + .55vw, 1.5rem) !important; line-height: 1.3 !important; font-weight: 500 !important; }
/* Ο τίτλος που βρίσκεται μέσα στη ροή του κειμένου: λίγος αέρας από πάνω και μια λεπτή
   κόκκινη γραμμή, ώστε να μη διαβάζεται σαν ακόμα μια παράγραφος. */
body.nhma .nhma-prose + .nhma-h3 .elementor-heading-title,
body.nhma .nhma-h3 .elementor-heading-title { padding-top: .1em; }
.nhma-h3 .elementor-heading-title::before { content: ""; display: block; width: 26px; height: 2px; margin-bottom: .55em; background: var(--nhma-red); }
/* Όταν ο τίτλος είναι το πρώτο πράγμα του σώματος, η γραμμή έρχεται αμέσως μετά το κόκκινο
   διαχωριστικό του hero και διαβάζεται ως λάθος. */
body.nhma .nhma-h3:first-child .elementor-heading-title::before { content: none; }

.nhma-lead { font-size: clamp(1.05rem, .98rem + .3vw, 1.18rem); line-height: 1.68; color: var(--nhma-text); }
.nhma-lead p { margin: 0 0 .8em; }
.nhma-lead p:last-child { margin-bottom: 0; }
.nhma-muted { color: var(--nhma-muted); }
.nhma-center { text-align: center; }
.nhma-narrow { max-width: 62ch; }
.nhma-center.nhma-narrow, .nhma-narrow.nhma-center { margin-inline: auto; }

/* Motto line (single emphasised sentence) */
.nhma-motto .elementor-heading-title {
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem) !important; line-height: 1.3 !important; text-align: center; font-weight: 300 !important;
}
.nhma-motto .elementor-heading-title strong { font-weight: 500; color: var(--nhma-red); }

/* Buttons (Elementor button widget) */
body.nhma .elementor-button {
	border-radius: 999px; font-family: var(--nhma-sans); font-weight: 600; letter-spacing: .01em;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s;
	color: #fff;
}
/* Buttons are <a>, so `body.nhma a` ties with the rule above on specificity and the link
   colour wins on source order, leaving dark ink on the red background. One extra element
   in the selector settles it without !important, so the ghost/light variants still win. */
body.nhma a.elementor-button { color: #fff; }
body.nhma .elementor-button:hover { transform: translateY(-1px); }
.nhma-btn--ghost .elementor-button {
	background: transparent !important; color: var(--nhma-ink) !important; border: 1px solid var(--nhma-tan) !important;
}
.nhma-btn--ghost .elementor-button:hover { border-color: var(--nhma-red) !important; color: var(--nhma-red-ink) !important; }
.nhma-btn--light .elementor-button { background: #fff !important; color: var(--nhma-ink) !important; }

/* Inline "read more" link inside text blocks */
.nhma-more a, a.nhma-more {
	display: inline-flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: none;
	color: var(--nhma-red-ink);
}
.nhma-more a::after, a.nhma-more::after { content: "→"; transition: transform .2s; }
.nhma-more a:hover::after, a.nhma-more:hover::after { transform: translateX(3px); }
/* Σύνδεσμος που ανοίγει αρχείο, όχι σελίδα. Το βελάκι γίνεται σήμα «PDF», και το λέει ο
   επιλογέας κοιτώντας την ίδια τη διεύθυνση: έτσι δε χρειάζεται καμία ετικέτα μέσα στο
   κείμενο, και ένα καινούργιο PDF παίρνει το σήμα του χωρίς να το θυμηθεί κανείς. */
.nhma-more a[href$=".pdf"]::after, a.nhma-more[href$=".pdf"]::after {
	content: "PDF"; font-size: .62rem; font-weight: 700; letter-spacing: .09em; line-height: 1;
	padding: 4px 6px 3px; border: 1px solid currentColor; border-radius: 4px; opacity: .85;
}
.nhma-more a[href$=".pdf"]:hover::after, a.nhma-more[href$=".pdf"]:hover::after { transform: none; opacity: 1; }
.nhma-list a[href$=".pdf"]::after { content: "PDF"; font-size: .7rem; font-weight: 700; letter-spacing: .09em; }

/* ---------------------------------------------------------------- hero */
/* The red thread decoration is defined with the specificity fixes below (.nhma-hero--thread / --corner). */
.nhma-hero { overflow: hidden; }
.nhma-hero > .e-con-inner, .nhma-hero > .e-con { position: relative; z-index: 1; }
.nhma-hero__media img { width: 100%; height: auto; max-width: 520px; margin-left: auto; display: block; }

/* Four icon features separated by hairlines (poster bottom row) */
.nhma-features { border-top: 1px solid var(--nhma-line); }
.nhma-features > .e-con, .nhma-features > .e-con-inner > .e-con { position: relative; }
@media (min-width: 768px) {
	.nhma-features > .e-con:not(:first-child)::before,
	.nhma-features > .e-con-inner > .e-con:not(:first-child)::before {
		content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 1px; background: var(--nhma-line);
	}
}
.nhma-feature .elementor-icon-box-icon .elementor-icon,
.nhma-icon .elementor-icon {
	width: 84px; height: 84px; border-radius: 50%; background: var(--nhma-sand);
	display: inline-flex; align-items: center; justify-content: center; color: var(--nhma-red);
	font-size: 36px; padding: 0;
}
.nhma-feature .elementor-icon svg, .nhma-icon .elementor-icon svg { width: 36px; height: 36px; fill: none; stroke: currentColor; }
.nhma-icon--sm .elementor-icon { width: 60px; height: 60px; }
.nhma-icon--sm .elementor-icon svg { width: 28px; height: 28px; }
.nhma-feature .elementor-icon-box-title { font-family: var(--nhma-sans) !important; font-size: 1.02rem !important; font-weight: 700 !important; margin-bottom: 4px !important; color: var(--nhma-ink); }
.nhma-feature .elementor-icon-box-title a { color: inherit; text-decoration: none; }
.nhma-feature .elementor-icon-box-description { font-size: .92rem; line-height: 1.55; color: var(--nhma-muted); margin: 0; }

/* ---------------------------------------------------------------- cards */
.nhma-card {
	background: var(--nhma-paper); border: 1px solid var(--nhma-line); border-radius: var(--nhma-radius);
	transition: transform .25s, box-shadow .25s, border-color .25s;
}
.nhma-card:hover { transform: translateY(-3px); box-shadow: var(--nhma-shadow); border-color: #D6C5B7; }
.nhma-card .elementor-heading-title { font-size: clamp(1.25rem, 1.12rem + .5vw, 1.5rem) !important; line-height: 1.25 !important; }
.nhma-card .elementor-widget-text-editor { font-size: .98rem; line-height: 1.7; }
.nhma-card .elementor-widget-text-editor p { margin: 0 0 .7em; }
.nhma-card .elementor-widget-text-editor p:last-child { margin: 0; }
.nhma-note { font-size: .9rem; color: var(--nhma-muted); border-left: 2px solid var(--nhma-red); padding-left: 12px; }

/* Link pills (e.g. all services) */
.nhma-pills ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.nhma-pills--center ul { justify-content: center; }
.nhma-pills a {
	display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--nhma-line);
	background: var(--nhma-paper); color: var(--nhma-ink); text-decoration: none; font-size: .92rem; font-weight: 500;
	transition: border-color .2s, color .2s;
}
.nhma-pills a:hover { border-color: var(--nhma-red); color: var(--nhma-red-ink); }

/* ------------------------------------------------------------- people */
.nhma-person__photo img { width: 200px !important; height: 200px !important; object-fit: cover; }
body.nhma .nhma-person__role p {
	margin: 0; font-size: .95rem; font-weight: 600; letter-spacing: .02em; color: var(--nhma-red-ink);
}

/* ------------------------------------------------------------- quote */
.nhma-quote { font-family: var(--nhma-display); font-weight: 300; font-size: clamp(1.25rem, 1rem + 1vw, 1.8rem); line-height: 1.5; letter-spacing: -0.004em; color: var(--nhma-ink); }
.nhma-quote p { margin: 0 0 .6em; }
.nhma-quote p::before { content: "«"; color: var(--nhma-red); }
.nhma-quote p::after { content: "»"; color: var(--nhma-red); }
body.nhma .nhma-quote__by p { margin: 0; font-family: var(--nhma-sans); font-size: .95rem; color: var(--nhma-muted); }

/* ----------------------------------------------------------- lists */
.nhma-list ul { list-style: none; margin: 0; padding: 0; columns: 2 340px; column-gap: 48px; }
.nhma-list li { break-inside: avoid; border-bottom: 1px solid var(--nhma-line); }
.nhma-list a {
	display: flex; justify-content: space-between; gap: 16px; padding: 14px 2px;
	font-family: var(--nhma-display); font-size: 1.12rem; line-height: 1.35; color: var(--nhma-ink); text-decoration: none;
}
.nhma-list a::after { content: "→"; color: var(--nhma-red); font-family: var(--nhma-sans); transition: transform .2s; }
.nhma-list a:hover { color: var(--nhma-red-ink); }
.nhma-list a:hover::after { transform: translateX(3px); }
.nhma-list small { display: block; font-family: var(--nhma-sans); font-size: .8rem; color: var(--nhma-muted); }

/* Οι συνεντεύξεις. Κάθε μία είναι πια δικό της κουτί με δύο κανονικά widget (επικεφαλίδα με
   σύνδεσμο, και η πηγή), ώστε να τις αλλάζει ο πελάτης χωρίς HTML. Η εικόνα όμως μένει ίδια
   με πριν: δύο στήλες που γεμίζουν κατακόρυφα, τίτλος αριστερά, πηγή σε στήλη 7rem δεξιά,
   βελάκι στην άκρη, γραμμή κάτω από την καθεμία.

   Οι δύο στήλες γίνονται με «columns» και όχι με πλέγμα, όπως και πριν: έτσι τα πρώτα μισά
   πέφτουν αριστερά και τα υπόλοιπα δεξιά (το πλέγμα τα μοιράζει εναλλάξ), και η επιστροφή σε
   μία στήλη γίνεται όταν δε χωρούν 340px, όχι στο breakpoint του Elementor. */
body.nhma .e-con.nhma-src-list {
	display: block !important; grid-template-columns: none !important;
	columns: 2 340px; column-gap: 48px;
}
body.nhma .e-con.nhma-src-card {
	display: grid; width: 100%; break-inside: avoid;
	grid-template-columns: minmax(0, 1fr) 7rem 14px;
	column-gap: 14px; align-items: baseline;
	padding: 14px 2px; border-bottom: 1px solid var(--nhma-line);
}
/* Το βελάκι είναι του κουτιού, στην τρίτη στήλη, όχι κολλημένο στον τίτλο. */
body.nhma .e-con.nhma-src-card::after {
	content: "→"; color: var(--nhma-red); font-family: var(--nhma-sans); transition: transform .2s;
}
body.nhma .nhma-src-card:hover::after { transform: translateX(3px); }
body.nhma .nhma-src-card__title .elementor-heading-title {
	font-family: var(--nhma-display); font-size: 1.12rem; line-height: 1.35; font-weight: 400;
}
body.nhma .nhma-src-card__title a { color: var(--nhma-ink); text-decoration: none; }
body.nhma .nhma-src-card:hover .nhma-src-card__title a { color: var(--nhma-red-ink); }
body.nhma .nhma-src-card__from p {
	margin: 0; font-family: var(--nhma-sans); font-size: .8rem; line-height: 1.35;
	color: var(--nhma-muted); text-align: right;
}
@media (max-width: 720px) {
	body.nhma .e-con.nhma-src-card { grid-template-columns: minmax(0, 1fr) 14px; row-gap: 2px; }
	body.nhma .nhma-src-card__title { grid-area: 1 / 1; }
	body.nhma .nhma-src-card__from { grid-area: 2 / 1; }
	body.nhma .nhma-src-card__from p { text-align: left; }
	body.nhma .e-con.nhma-src-card::after { grid-area: 1 / 2; }
}

.nhma-checks ul { list-style: none; margin: .4em 0 0; padding: 0; }
.nhma-checks li { position: relative; padding-left: 26px; margin-bottom: .45em; }
.nhma-checks li::before { content: ""; position: absolute; left: 5px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--nhma-red); }

/* ------------------------------------------------------------ videos */
.nhma-video-card .elementor-widget-video { border-radius: var(--nhma-radius-sm); overflow: hidden; box-shadow: var(--nhma-shadow); }
.nhma-video-card .elementor-heading-title { font-family: var(--nhma-sans) !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.4 !important; }
/* Το κάτω περιθώριο ήταν του ίδιου του <p> (0.9rem, από το θέμα) και κρατούσε το ύψος της
   κάρτας. Μετρημένο στο preview: χωρίς αυτό κάθε σειρά καρτών κόνταινε 14 εικονοστοιχεία. */
/* Δύο περιπτώσεις: στις κάρτες βίντεο η κλάση κάθεται πια στο widget και το κείμενο από μέσα
   είναι παράγραφος· στα ηχητικά είναι <span> μέσα σε html widget. Ο πρώτος κανόνας καλύπτει
   και τα δύο, ο δεύτερος ξαναδίνει στην παράγραφο το κάτω περιθώριο που είχε (0.9rem, από το
   θέμα) και κρατούσε το ύψος της κάρτας: χωρίς αυτό κάθε σειρά κόνταινε 14 εικονοστοιχεία. */
.nhma-video-meta { font-size: .85rem; color: var(--nhma-muted); }
body.nhma .nhma-video-meta p { margin: 0 0 .9rem; font-size: .85rem; color: var(--nhma-muted); }
.nhma-audio audio { width: 100%; height: 44px; }
.nhma-audio .nhma-audio__title { font-family: var(--nhma-display); font-size: 1.15rem; color: var(--nhma-ink); margin: 0 0 6px; }

/* ----------------------------------------------------------- seminar */
/* Η κόκκινη γραμμή στο πάνω μέρος της κάρτας ενός post. Η κάρτα δε σηκώνεται με το ποντίκι:
   έχει δικό της κουμπί, και η ανύψωση υπόσχεται κλικ που δε δέχεται (ο κανόνας που τη
   σταματά είναι πιο κάτω, μαζί με τις υπόλοιπες παρακάμψεις του Elementor). */
.nhma-program { border-top: 3px solid var(--nhma-red); }

.nhma-facts ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.nhma-facts li { display: flex; gap: 10px; font-size: .95rem; }
.nhma-facts li strong { min-width: 92px; color: var(--nhma-ink); font-weight: 600; }

/* Dark band (navy) */
.nhma-sec--navy { background: var(--nhma-navy); color: var(--nhma-on-navy); }
.nhma-sec--navy .elementor-heading-title { color: #fff !important; }
body.nhma .nhma-sec--navy a { color: #fff; }
.nhma-sec--navy .nhma-eyebrow .elementor-heading-title { color: #FF7A70 !important; }

/* Contact band */
.nhma-contact-item .elementor-icon-box-title { font-family: var(--nhma-sans) !important; font-size: .8rem !important; letter-spacing: .12em; font-weight: 700 !important; color: var(--nhma-muted) !important; }
.nhma-contact-item .elementor-icon-box-description { font-family: var(--nhma-display); font-size: 1.25rem; color: var(--nhma-ink); margin: 0; }
.nhma-contact-item .elementor-icon-box-description a { color: var(--nhma-ink); text-decoration: none; }
.nhma-contact-item .elementor-icon-box-description a:hover { color: var(--nhma-red-ink); }

/* Soft media */
.nhma-media-soft img { border-radius: var(--nhma-radius); box-shadow: var(--nhma-shadow); }

/* Η φωτογραφία με το κόκκινο νήμα, στην «Επικοινωνία» της αρχικής. Είναι όρθια, 640×784, και
   δίπλα στα στοιχεία επικοινωνίας στέκεται σωστά. Στο tablet όμως η στήλη γίνεται ολόκληρη
   σειρά και η ίδια φωτογραφία έπιανε μισή οθόνη πριν φανεί το τηλέφωνο. Αντί να κρυφτεί,
   κόβεται στο κάτω χέρι: πλατιά λωρίδα 5:2, όσο δηλαδή χρειάζεται για να φαίνεται η ανοιχτή
   παλάμη με το κουβάρι, χωρίς να ενοχλεί στο κύλισμα. Το 78% είναι το ύψος της παλάμης μέσα
   στη φωτογραφία. */
@media (max-width: 1024px) {
	body.nhma .nhma-media-hand img { aspect-ratio: 5 / 2; object-fit: cover; object-position: center 78%; }
}

/* Plain (non-Elementor) pages get comfortable reading typography */
body.nhma .page-content, body.nhma .entry-content { font-size: 1.0625rem; }
body.nhma .page-header .entry-title { font-size: clamp(2.2rem, 1.6rem + 2.6vw, 3.6rem); margin: 48px 0 12px; }
body.nhma .site-main { padding-bottom: 24px; }
body.nhma .site-main:not(.elementor) { max-width: 820px; margin-inline: auto; padding-inline: var(--nhma-gutter); }

/* ==========================================================================
   Specificity fixes: Elementor's Kit/post CSS loads after this file, so the
   rules below are scoped under body.nhma to win cleanly.
   ========================================================================== */

/* Hero thread (Elementor also uses ::before on containers for overlays). */
body.nhma .e-con.nhma-hero--thread::before, body.nhma .e-con.nhma-hero--corner::before {
	content: ""; display: block; position: absolute; inset: 0; width: auto; height: auto; pointer-events: none; z-index: 0;
	mix-blend-mode: normal; opacity: .9; border-radius: 0;
	background: no-repeat right top / min(1100px, 92%) auto
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1100 720' fill='none'%3E%3Cpath d='M150 -10C170 90 250 170 380 186C520 204 610 120 720 128C860 138 900 262 1010 300C1060 318 1090 312 1110 300' stroke='%23DC1B0F' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Line icons: thin red strokes in sand circles */
body.nhma .nhma-icon .elementor-icon, body.nhma .nhma-feature .elementor-icon, body.nhma .nhma-contact-item .elementor-icon { color: var(--nhma-red) !important; }
body.nhma .nhma-icon .elementor-icon svg, body.nhma .nhma-feature .elementor-icon svg, body.nhma .nhma-contact-item .elementor-icon svg {
	fill: none !important; stroke: currentColor !important;
}
body.nhma .nhma-contact-item .elementor-icon {
	width: 60px; height: 60px; border-radius: 50%; background: var(--nhma-sand);
	display: inline-flex; align-items: center; justify-content: center; font-size: 26px; padding: 0;
}
body.nhma .nhma-contact-item .elementor-icon svg { width: 26px; height: 26px; }

/* YouTube thumbnails fill the 16:9 box */
body.nhma .nhma-yt .nhma-yt__img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }

/* Text on the navy band */
body.nhma .nhma-sec--navy .elementor-widget-text-editor,
body.nhma .nhma-sec--navy .elementor-widget-text-editor p { color: rgba(237, 230, 223, .82); }
body.nhma .nhma-sec--navy .nhma-video-meta p { color: rgba(237, 230, 223, .6); }

/* Article list: charcoal titles, red arrows */
body.nhma .nhma-list a { color: var(--nhma-ink); text-decoration: none; }
body.nhma .nhma-list a:hover { color: var(--nhma-red-ink); }

/* On the homepage every /#anchor link counts as "current": keep the menu neutral there. */
body.home .nhma-menu .current-menu-item > a, body.home .nhma-menu .current-menu-ancestor > a,
body.home .nhma-menu .current_page_item > a { color: var(--nhma-ink); }

/* Phone buttons: line icon instead of an emoji */
.nhma-btn--phone .elementor-button-text::before {
	content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; vertical-align: -2px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Sticky side column (press section) */
@media (min-width: 1025px) {
	body.nhma .nhma-sticky { position: sticky; top: calc(var(--nhma-header-h) + 40px); align-self: flex-start; }
}

/* ------------------------------------------------------------ phones */
@media (max-width: 767px) {
	body.nhma .e-con.nhma-hero--thread::before { display: none; }
	body.nhma .e-con.nhma-hero--corner::before { background-size: 90% auto; opacity: .55; }
	body.nhma .nhma-hide-mobile { display: none !important; }
	/* Φωτογραφία που κρατά όλο το πλάτος αλλά χαμηλώνει, για να μη σπρώχνει το κείμενο κάτω. */
	body.nhma .nhma-media-short img { aspect-ratio: 2 / 1; object-fit: cover; }
	.nhma-feature .elementor-icon-box-icon .elementor-icon { width: 64px; height: 64px; }
	.nhma-feature .elementor-icon svg { width: 28px !important; height: 28px !important; }
	.nhma-feature .elementor-icon-box-description { font-size: .85rem; }
}

/* ------------------------------------------------ contact form (CF7) */
.nhma-form .wpcf7 p { margin: 0 0 16px; }
.nhma-form .wpcf7 label { display: block; font-size: .9rem; font-weight: 600; color: var(--nhma-ink); }
.nhma-form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
body.nhma .nhma-form input[type="text"], body.nhma .nhma-form input[type="email"], body.nhma .nhma-form input[type="tel"], body.nhma .nhma-form textarea {
	width: 100%; padding: 13px 16px; border: 1px solid var(--nhma-line); border-radius: 12px; background: #fff;
	font: inherit; font-size: 1rem; color: var(--nhma-ink); transition: border-color .2s, box-shadow .2s;
}
body.nhma .nhma-form textarea { min-height: 150px; resize: vertical; }
body.nhma .nhma-form input:focus, body.nhma .nhma-form textarea:focus { outline: none; border-color: var(--nhma-red); box-shadow: 0 0 0 3px rgba(220, 27, 15, .12); }
body.nhma .nhma-form input[type="submit"] { width: auto; padding: 14px 30px; border: 0; border-radius: 999px; background: var(--nhma-red); color: #fff; font-weight: 600; cursor: pointer; }
body.nhma .nhma-form input[type="submit"]:hover { background: var(--nhma-red-ink); }
.nhma-form .wpcf7-not-valid-tip { font-size: .85rem; color: var(--nhma-red-ink); margin-top: 4px; }
.nhma-form .wpcf7 form .wpcf7-response-output { margin: 12px 0 0; border-radius: 12px; padding: 12px 16px; font-size: .95rem; }
.nhma-form .wpcf7-spinner { vertical-align: middle; }

/* ------------------------------------------- map (loads on request) */
.nhma-map {
	position: relative; min-height: 260px; border-radius: var(--nhma-radius); overflow: hidden; border: 1px solid var(--nhma-line);
	background: var(--nhma-cream-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 24 24' fill='none' stroke='%23DC1B0F' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.99-5.54 10.19-7.4 11.8a1 1 0 0 1-1.2 0C9.54 20.19 4 14.99 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") no-repeat center 34px;
	display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 10px; padding: 24px; text-align: center;
}
body.nhma .nhma-map__btn { border: 1px solid var(--nhma-tan); background: var(--nhma-paper); color: var(--nhma-ink); border-radius: 999px; padding: 11px 22px; font: 600 .95rem var(--nhma-sans); cursor: pointer; }
body.nhma .nhma-map__btn:hover { border-color: var(--nhma-red); color: var(--nhma-red-ink); background: var(--nhma-paper); }
.nhma-map__note { font-size: .82rem; color: var(--nhma-muted); margin: 0; }
.nhma-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nhma-map.is-loaded { min-height: 340px; }

/* Smaller thread in the top-right corner for inner-page heroes (no image to hide behind). */
body.nhma .e-con.nhma-hero--corner::before { background-size: min(620px, 60%) auto; background-position: right -40px top -30px; }

/* Audio cards (video page) */
body.nhma .nhma-audio-card { padding: 22px 22px 18px; }
.nhma-audio { margin: 0; }
.nhma-audio figcaption { display: flex; flex-direction: column; gap: 2px; margin-bottom: 14px; }
.nhma-audio .nhma-audio__title { display: block; font-family: var(--nhma-display); font-size: 1.2rem; line-height: 1.3; color: var(--nhma-ink); }

/* Laptops: keep the full menu on one line */
@media (min-width: 1181px) and (max-width: 1340px) {
	.nhma-brand__tag { display: none; }
	.nhma-phone span { display: none; }
	.nhma-nav { gap: 16px; }
	body.nhma .nhma-menu a { padding: 10px 9px; }
}

/* ==========================================================================
   Picture cards, inner pages
   ========================================================================== */

/* Card with a photo on top (replaces the old icon cards) */
.nhma-img-card {
	background: var(--nhma-paper); border: 1px solid var(--nhma-line); border-radius: var(--nhma-radius);
	overflow: hidden; height: 100%;
	transition: transform .25s, box-shadow .25s, border-color .25s;
}
.nhma-img-card:hover { transform: translateY(-3px); box-shadow: var(--nhma-shadow); border-color: #D6C5B7; }
body.nhma .nhma-img-card__media img {
	display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0;
}
.nhma-img-card__body .elementor-heading-title { font-size: clamp(1.12rem, 1.02rem + .4vw, 1.32rem) !important; line-height: 1.3 !important; }
.nhma-img-card__body .elementor-widget-text-editor { font-size: .95rem; line-height: 1.65; color: var(--nhma-text); }
.nhma-img-card__body .elementor-widget-text-editor p { margin: 0 0 .5em; }
.nhma-img-card__body .elementor-widget-text-editor p:last-child { margin: 0; }
.nhma-card-links p { margin: 0 0 .25em; }
.nhma-card-links p:last-child { margin: 0; }

/* Picture tile that is only a link */
.nhma-img-card--link .nhma-img-card__body .elementor-heading-title { font-size: 1.1rem !important; }
body.nhma .nhma-img-card--link .elementor-heading-title a { color: var(--nhma-ink); text-decoration: none; }
body.nhma .nhma-img-card--link:hover .elementor-heading-title a { color: var(--nhma-red-ink); }
body.nhma .nhma-img-card--link .nhma-img-card__media img { aspect-ratio: 16 / 10; }

/* Η γραμμή κάτω από τον τίτλο της αρχικής, και το διαχωριστικό που ακολουθεί. */
.nhma-h1-sub .elementor-heading-title {
	margin-top: .85em; font-family: var(--nhma-sans) !important; font-weight: 500 !important;
	font-size: clamp(.95rem, .85rem + .35vw, 1.15rem) !important; letter-spacing: .02em;
	/* Όσο ήταν <span> μέσα στον H1 κληρονομούσε το line-height του (1.12). Ως δικό του
	   στοιχείο ξεκινά από το κανονικό, και η γραμμή έβγαινε 2px κοντύτερη. */
	line-height: 1.12 !important; color: var(--nhma-muted) !important;
}
/* Το διαχωριστικό κρεμόταν από τον H1 και ο αέρας του ήταν .7em του μεγάλου γράμματος. Τώρα
   κρέμεται από τη μικρή γραμμή, όπου το .7em είναι τέσσερις φορές μικρότερο, οπότε ζητιέται
   ρητά το ίδιο κενό: το .7 της ίδιας κλίμακας που δίνει το μέγεθος του τίτλου. Μετρημένο. */
.nhma-h1-sub .elementor-heading-title::after { margin-top: clamp(1.47rem, .91rem + 2.24vw, 2.66rem); }

/* ----------------------------------------------------- inner page hero */
.nhma-page-hero { background: var(--nhma-cream-2); border-bottom: 1px solid var(--nhma-line); }
.nhma-page-title .elementor-heading-title {
	font-size: clamp(1.75rem, 1.25rem + 2vw, 2.6rem) !important; line-height: 1.14 !important;
	font-weight: 500 !important; letter-spacing: -0.016em !important;
}
.nhma-breadcrumbs { font-size: .84rem; color: var(--nhma-muted); }
body.nhma .nhma-breadcrumbs a { color: var(--nhma-muted); text-decoration: none; }
body.nhma .nhma-breadcrumbs a:hover { color: var(--nhma-red-ink); }
.nhma-breadcrumbs .breadcrumb_last { color: var(--nhma-ink); }

/* Ενότητα μέσα στο σώμα μιας υποσελίδας. Η «--alt» κρατά την εναλλαγή φόντου που είχαν οι
   ολόπλατες ενότητες, τώρα που η στήλη μοιράζεται τη σελίδα με την πλαϊνή κάρτα. */
.nhma-group--alt { background: var(--nhma-cream-2); border-radius: var(--nhma-radius); }

/* Section heading inside an inner page body */
.nhma-h2.nhma-rule .elementor-heading-title::after { width: 118px; margin-top: .5em; background-size: 118px 8px; }

/* ---------------------------------------------------------- page body */
.nhma-prose { font-size: 1.05rem; line-height: 1.8; color: var(--nhma-text); max-width: 68ch; }
.nhma-prose p { margin: 0 0 1em; }
.nhma-prose p:last-child { margin: 0; }
.nhma-prose.nhma-checks li { margin-bottom: .6em; }
.nhma-quote--sm { font-size: clamp(1.2rem, 1.05rem + .7vw, 1.6rem); border-left: 2px solid var(--nhma-red); padding-left: 20px; }
.nhma-quote--sm p::before, .nhma-quote--sm p::after { content: none; }

/* Text next to a picture inside the page body */
.nhma-media-row { padding: 4px 0; }
body.nhma .nhma-media-row .nhma-media-soft img { border-radius: var(--nhma-radius-sm); }

/* Contact details: each label is a small heading, tied to its value by a left rule. */
.nhma-contact-list p {
	margin: 0 0 22px; padding-left: 18px; border-left: 2px solid var(--nhma-line);
	font-size: 1.02rem; line-height: 1.6;
}

/* Τα κοινωνικά δίκτυα, με το όνομά τους δίπλα στο σχήμα. Ήταν σκέτα εικονίδια σε κύκλο, αλλά
   οι σελίδες στο Facebook είναι πια δύο, του ινστιτούτου και του Γιώργου Γιαννούση, και δύο
   ίδιοι κύκλοι δίπλα δίπλα διαβάζονται ως λάθος. */
body.nhma .nhma-social { display: flex; flex-wrap: wrap; gap: 6px 20px; }
/* Το σχήμα και το όνομά του στο ίδιο ύψος. Ήταν στοιχισμένα στη βάση της γραμμής, όπου ένα
   εικονίδιο κάθεται ολόκληρο πάνω από τη γραμμή και το κείμενο μισό πάνω μισό κάτω, οπότε το
   σχήμα έδειχνε τέσσερα εικονοστοιχεία χαμηλότερα απ' όσο έπρεπε. */
body.nhma .nhma-social__link {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--nhma-sans); font-size: .92rem; line-height: 1.6;
	color: var(--nhma-ink); text-decoration: none;
	transition: color .15s ease;
}
body.nhma .nhma-social__link:hover,
body.nhma .nhma-social__link:focus-visible { color: var(--nhma-red-ink); }
body.nhma .nhma-social .nhma-i { flex: none; width: 20px; height: 20px; color: var(--nhma-red); }
/* Στη σελίδα και στην αρχική, δύο ανά σειρά: πρώτα οι δύο σελίδες στο Facebook μαζί, από κάτω
   το YouTube και το Instagram. Με απλό flex η σειρά έσπαγε όπου τύχαινε, ανάλογα με το πλάτος
   της στήλης, και τα δύο Facebook κατέληγαν σε διαφορετικές γραμμές. Στοίχιση με το κείμενο
   των από πάνω στοιχείων: εκείνα ξεκινούν 2px γραμμή συν 18px εσοχή μέσα από την άκρη. */
body.nhma .nhma-social:not(.nhma-social--footer) {
	display: grid; grid-template-columns: repeat(2, max-content); gap: 10px 26px; padding-left: 20px;
}
/* Στο κινητό δε χωρούν δύο ονόματα δίπλα δίπλα, οπότε γίνονται τέσσερις γραμμές. */
@media (max-width: 600px) {
	body.nhma .nhma-social:not(.nhma-social--footer) { grid-template-columns: max-content; gap: 10px; }
}
/* Στο footer κάθονται στη στήλη των στοιχείων επικοινωνίας, μία γραμμή ο καθένας, ακριβώς
   όπως η διεύθυνση, τα τηλέφωνα και το e-mail από πάνω τους. */
body.nhma .nhma-social--footer { flex-direction: column; gap: 10px; }
body.nhma .nhma-social--footer .nhma-social__link { color: inherit; }
body.nhma .nhma-social--footer .nhma-social__link:hover,
body.nhma .nhma-social--footer .nhma-social__link:focus-visible { color: #FF5A4E; }
.nhma-contact-list p:last-child { margin-bottom: 0; }
.nhma-contact-list strong {
	display: block; font-family: var(--nhma-display); font-size: 1.12rem; font-weight: 500;
	line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--nhma-ink); margin-bottom: 1px;
}
body.nhma .nhma-contact-list a { color: var(--nhma-ink); text-decoration: none; }
body.nhma .nhma-contact-list a:hover { color: var(--nhma-red-ink); }

/* Sticky aside */
.nhma-aside { padding: 28px 26px; }
.nhma-aside__title .elementor-heading-title {
	font-family: var(--nhma-sans) !important; font-size: .78rem !important; font-weight: 700 !important;
	letter-spacing: .12em; text-transform: uppercase; color: var(--nhma-muted) !important;
}
.nhma-aside .elementor-widget-text-editor { font-size: .98rem; line-height: 1.7; }
.nhma-aside .elementor-widget-text-editor p { margin: 0; }
.nhma-aside-links ul { list-style: none; margin: 0; padding: 0; }
.nhma-aside-links li { border-top: 1px solid var(--nhma-line); }
.nhma-aside-links li:first-child { border-top: 0; }
.nhma-aside-links a { display: block; padding: 9px 0; font-size: .96rem; }
body.nhma .nhma-aside a:not(.elementor-button) { color: var(--nhma-ink); text-decoration: none; }
body.nhma .nhma-aside a:hover { color: var(--nhma-red-ink); }

@media (max-width: 1024px) {
	.nhma-prose { max-width: none; }
	.nhma-page-hero .nhma-media-soft img { max-width: min(520px, 100%); margin-inline: auto; }
}

/* ==========================================================================
   Soft corners: photos and cards
   Elementor's frontend.min.css loads after this file and resets `.elementor img`
   (border-radius 0, box-shadow none) and `.e-con` (radius/overflow from its own
   custom properties), both at the same specificity as a plain class. Scoping
   under body.nhma wins without !important; the --border-radius/--overflow
   custom properties are set too, so Elementor's own rule lands on the same value.
   ========================================================================== */

/* Cards */
body.nhma .e-con.nhma-card,
body.nhma .e-con.nhma-img-card {
	--border-radius: var(--nhma-radius);
	border-radius: var(--nhma-radius);
}
body.nhma .e-con.nhma-img-card {
	--overflow: hidden;
	overflow: hidden;
}
body.nhma .e-con.nhma-card:hover,
body.nhma .e-con.nhma-img-card:hover { box-shadow: var(--nhma-shadow); }
/* Εξαίρεση: οι κάρτες των posts. Η ανύψωση με το ποντίκι λέει «κάνε κλικ πάνω μου», αλλά η
   κάθε κάρτα έχει πια το δικό της κουμπί και το κλικ γίνεται εκεί· η κάρτα ολόκληρη δεν
   οδηγεί πουθενά. Η κόκκινη γραμμή από πάνω μένει, είναι το σχήμα της κάρτας. */
body.nhma .e-con.nhma-program:hover {
	transform: none; box-shadow: none;
	border-color: var(--nhma-line); border-top-color: var(--nhma-red);
}

/* A photo filling the top of a card follows the card's corners. */
body.nhma .nhma-img-card__media img { border-radius: calc(var(--nhma-radius) - 1px) calc(var(--nhma-radius) - 1px) 0 0; }

/* Photos standing on the page: rounder, with a hairline edge and a soft shadow. */
body.nhma .nhma-media-soft img {
	border-radius: var(--nhma-radius-lg);
	box-shadow: 0 0 0 1px rgba(35, 30, 28, .07), 0 24px 48px -30px rgba(35, 30, 28, .55);
}
body.nhma .nhma-hero__media img { border-radius: 0; box-shadow: none; }
body.nhma .nhma-media-row .nhma-media-soft img { border-radius: var(--nhma-radius); }

/* Video thumbnails */
body.nhma .nhma-video-card .elementor-widget-video { border-radius: var(--nhma-radius-sm); }

/* Portraits: the photo, a paper mat, then a thin ring. */
body.nhma .nhma-person__photo img {
	border-radius: 50%;
	padding: 6px;
	background: var(--nhma-paper);
	border: 2px solid var(--nhma-tan);
	box-shadow: 0 14px 30px -20px rgba(35, 30, 28, .5);
	transition: border-color .25s;
}
body.nhma .nhma-person:hover .nhma-person__photo img { border-color: var(--nhma-red); }

/* Cards in a grid row are equal height, so their last element (the links, or the seminar
   buttons) is pushed to the bottom: otherwise it floats wherever the text happens to end. */
body.nhma .e-con.nhma-img-card__body { flex-grow: 1; }
body.nhma .nhma-img-card__body > .nhma-card-links,
body.nhma .e-con.nhma-program > .e-con.nhma-card-actions { margin-top: auto; }

/* ----------------------------------------------------------- άρθρα
   Ο κατάλογος άρθρων. Στο παλιό site ήταν μια στήλη με εικόνες και λεζάντες, χωρίς συνδέσμους,
   και το ιστολόγιο που δείχνει έχει κατέβει. Όσα άρθρα σώζονται σήμερα είναι <a>, τα υπόλοιπα
   <span>: ίδια κάρτα, χωρίς όμως να υπόσχεται κλικ που δεν οδηγεί πουθενά.
   Οι εικόνες έρχονται από το παλιό site σε ανάμεικτες αναλογίες, γι' αυτό μπαίνουν σε σταθερό
   κουτί 16:10 με object-fit: cover, αλλιώς το πλέγμα γίνεται πριονωτό. */
/* Οι κάρτες των άρθρων είναι πια κανονικά widget του Elementor, εικόνα και επικεφαλίδα: ο
   πελάτης αλλάζει φωτογραφία από τη βιβλιοθήκη και τίτλο από το πεδίο του, και προσθέτει
   άρθρο αντιγράφοντας μια κάρτα. Η εικόνα μένει ίδια με πριν. Οι φωτογραφίες έρχονται από το
   παλιό site σε ανάμεικτες αναλογίες, γι' αυτό κόβονται σε σταθερό 16:10. */
body.nhma .e-con.nhma-article { gap: 10px; }
/* Έξι ανά σειρά όπως στο nhmacenter.gr. Τα ίδια σημεία αλλαγής με πριν (1024 και 600), που
   δεν είναι του Elementor, γι' αυτό γράφονται εδώ. */
@media (max-width: 1024px) {
	body.nhma .e-con.nhma-articles--grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	body.nhma .e-con.nhma-articles--grid { grid-template-columns: repeat(2, 1fr); }
}
/* Στη σελίδα των άρθρων, το ένα κάτω από το άλλο: μικρή εικόνα αριστερά, τίτλος δίπλα. */
body.nhma .e-con.nhma-article--row {
	flex-direction: row; align-items: center; gap: 18px;
	padding: 14px 0; border-bottom: 1px solid var(--nhma-line);
}
body.nhma .nhma-articles > .nhma-article--row:first-child { border-top: 1px solid var(--nhma-line); }
body.nhma .e-con.nhma-article--row > .e-con:first-child { flex: 0 0 104px; width: 104px; }
body.nhma .e-con.nhma-article--row > .e-con:last-child { flex: 1 1 auto; width: auto; }
body.nhma .nhma-article--row .nhma-article__shot img { aspect-ratio: 4 / 3; }
body.nhma .nhma-article--row .nhma-article__title .elementor-heading-title { font-size: 1rem; }
@media (max-width: 480px) {
	body.nhma .e-con.nhma-article--row > .e-con:first-child { flex-basis: 76px; width: 76px; }
	body.nhma .nhma-article--row .nhma-article__title .elementor-heading-title { font-size: .92rem; }
}
body.nhma .nhma-article__shot .elementor-widget-container,
body.nhma .nhma-article__shot a { display: block; line-height: 0; }
body.nhma .nhma-article__shot img {
	width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block;
	border-radius: var(--nhma-radius-sm); border: 1px solid var(--nhma-line);
	background: var(--nhma-paper);
	transition: transform .4s ease, border-color .2s, box-shadow .2s;
}
/* Το μέγεθος το ορίζει η ίδια η επικεφαλίδα μέσα στο widget, όχι το widget: αλλιώς μένει το
   h3 του θέματος, 28px, και ο κατάλογος γίνεται αφίσα. Ίδια νούμερα με πριν. */
body.nhma .nhma-article__title .elementor-heading-title {
	font-family: var(--nhma-sans); font-size: .94rem; line-height: 1.45; font-weight: 500;
	/* Σε πλάτος τηλεφώνου οι κάρτες πέφτουν σε δύο στήλες και τίτλοι όπως το
	   «Δια(σ)τροφικές συνήθειες» δε χωράνε σε μία λέξη: σπάνε αντί να βγουν έξω. */
	overflow-wrap: break-word;
}
body.nhma .nhma-article__title a { color: var(--nhma-ink); text-decoration: none; }
/* Μόνο οι κάρτες που πράγματι οδηγούν κάπου αντιδρούν στο ποντίκι, και ολόκληρες: ο τίτλος
   κοκκινίζει και η φωτογραφία μεγαλώνει μαζί, όπου κι αν βρίσκεται ο κέρσορας πάνω τους. */
body.nhma .nhma-article__title a::after { content: " →"; color: var(--nhma-red); white-space: nowrap; }
body.nhma .nhma-article:hover .nhma-article__title a { color: var(--nhma-red-ink); }
body.nhma .nhma-article:hover .nhma-article__shot img {
	transform: scale(1.04); border-color: #D6C5B7; box-shadow: var(--nhma-shadow);
}
body.nhma .nhma-article--plain:hover .nhma-article__shot img {
	transform: none; border-color: var(--nhma-line); box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
	body.nhma .nhma-article__shot img { transition: none; }
	body.nhma .nhma-article:hover .nhma-article__shot img { transform: none; }
}

/* ------------------------------------------------------- γκαλερί του χώρου */
/* Όλα τα πλακίδια στο ίδιο σχήμα, όσες κι αν είναι οι φωτογραφίες: μια γκαλερί που δέχεται
   δύο ή δέκα χωρίς να χρειάζεται νέο CSS. */
body.nhma .nhma-gallery__item img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
	border-radius: var(--nhma-radius-sm); box-shadow: var(--nhma-shadow);
}
/* Το πλακίδιο είναι σύνδεσμος προς τη μεγάλη φωτογραφία: ο δείκτης το λέει πριν το κλικ. */
body.nhma .nhma-gallery__item a { display: block; cursor: zoom-in; }
body.nhma .nhma-gallery__item img { transition: transform .25s ease; }
body.nhma .nhma-gallery__item a:hover img { transform: scale(1.015); }
@media (prefers-reduced-motion: reduce) {
	body.nhma .nhma-gallery__item img { transition: none; }
	body.nhma .nhma-gallery__item a:hover img { transform: none; }
}

/* ------------------------------------------- η φωτογραφία σε μεγέθυνση (lightbox) */
/* Δικό μας και όχι του Elementor: εκείνο ανοίγει την κάθε εικόνα μόνη της, χωρίς τρόπο να
   περάσεις στην επόμενη, γιατί ομαδοποιεί μόνο τα δικά του widget γκαλερί. */
html.nhma-lightbox-open, html.nhma-lightbox-open body { overflow: hidden; }

body.nhma .nhma-lightbox {
	position: fixed; inset: 0; z-index: 9999;
	display: flex; align-items: center; justify-content: center;
	padding: clamp(14px, 4vw, 40px);
	background: rgba(29, 34, 44, .94);
}
body.nhma .nhma-lightbox[hidden] { display: none; }

body.nhma .nhma-lightbox__stage {
	margin: 0; display: flex; flex-direction: column; align-items: center; gap: 14px;
	max-width: min(1100px, calc(100% - 140px));
}
body.nhma .nhma-lightbox__stage img {
	display: block; width: auto; height: auto; max-width: 100%; max-height: 76vh;
	border-radius: var(--nhma-radius-sm); box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .7);
}
body.nhma .nhma-lightbox figcaption {
	display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 14px;
	font-family: var(--nhma-sans); font-size: 15px; line-height: 1.45; text-align: center;
	color: var(--nhma-on-navy);
}
body.nhma .nhma-lightbox__count { color: var(--nhma-tan); font-size: 14px; }

body.nhma .nhma-lightbox__nav, body.nhma .nhma-lightbox__close {
	position: absolute; display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; padding: 0; border-radius: 50%; cursor: pointer;
	border: 1px solid rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .08);
	color: #fff; font-family: var(--nhma-sans); line-height: 1;
	transition: background .18s ease, border-color .18s ease;
}
body.nhma .nhma-lightbox__nav:hover, body.nhma .nhma-lightbox__close:hover,
body.nhma .nhma-lightbox__nav:focus-visible, body.nhma .nhma-lightbox__close:focus-visible {
	background: rgba(255, 255, 255, .18); border-color: rgba(255, 255, 255, .5);
}
body.nhma .nhma-lightbox__nav { top: 50%; transform: translateY(-50%); font-size: 30px; }
body.nhma .nhma-lightbox__nav--prev { left: clamp(8px, 2vw, 28px); }
body.nhma .nhma-lightbox__nav--next { right: clamp(8px, 2vw, 28px); }
body.nhma .nhma-lightbox__close { top: clamp(10px, 2vw, 26px); right: clamp(8px, 2vw, 28px); font-size: 26px; }

/* Σε στενή οθόνη τα βελάκια κατεβαίνουν κάτω, για να μη φάνε πλάτος από τη φωτογραφία. */
@media (max-width: 600px) {
	body.nhma .nhma-lightbox__stage { max-width: 100%; }
	body.nhma .nhma-lightbox__stage img { max-height: 62vh; }
	body.nhma .nhma-lightbox__nav { top: auto; bottom: 18px; transform: none; }
}

/* ------------------------------------------------- εγγραφή στο newsletter */
/* Σκούρη ζώνη αμέσως μετά το hero: ξεχωρίζει από τις ανοιχτόχρωμες ενότητες γύρω της, και
   δεν ακουμπά την επόμενη εναλλακτική ζώνη του αποφθέγματος. Η φόρμα είναι του Contact
   Form 7, οπότε η μορφοποίηση κρέμεται από τις δικές του κλάσεις. */
body.nhma .nhma-newsletter { background: var(--nhma-navy); color: var(--nhma-on-navy); }
body.nhma .nhma-newsletter .elementor-heading-title { color: var(--nhma-on-navy); }
body.nhma .nhma-newsletter .elementor-widget-text-editor { color: rgba(237, 230, 223, .78); }

body.nhma .nhma-newsletter .wpcf7 { width: 100%; }
body.nhma .nhma-newsletter .wpcf7-form {
	display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px;
}
body.nhma .nhma-newsletter .wpcf7-form > .hidden-fields-container { display: none; }
body.nhma .nhma-newsletter .wpcf7-form > p { margin: 0; flex: 0 0 auto; }
body.nhma .nhma-newsletter .wpcf7-form > p:first-of-type { flex: 1 1 240px; }
body.nhma .nhma-newsletter .wpcf7-form label {
	display: block; font-family: var(--nhma-sans); font-size: 13px; line-height: 2;
	letter-spacing: .04em; text-transform: uppercase; color: rgba(237, 230, 223, .62);
}
body.nhma .nhma-newsletter .wpcf7-form-control-wrap { display: block; }
/* Διάφανο πεδίο αντί για συμπαγές λευκό: πάνω στο σκούρο, μια λευκή πλάκα χτυπάει στο μάτι
   πιο δυνατά από το ίδιο το μήνυμα. Εδώ το πεδίο είναι μια φωτεινή επιφάνεια μέσα στη ζώνη. */
body.nhma .nhma-newsletter input[type="email"] {
	width: 100%; height: 50px; padding: 0 18px; box-sizing: border-box;
	font-family: var(--nhma-sans); font-size: 16px; color: #FFF;
	background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .22);
	border-radius: var(--nhma-radius-sm);
	transition: background .18s ease, border-color .18s ease;
}
body.nhma .nhma-newsletter input[type="email"]::placeholder { color: rgba(237, 230, 223, .45); }
body.nhma .nhma-newsletter input[type="email"]:hover { border-color: rgba(255, 255, 255, .34); }
body.nhma .nhma-newsletter input[type="email"]:focus {
	outline: none; background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .55);
}
body.nhma .nhma-newsletter input[type="submit"] {
	height: 50px; padding: 0 28px; border: 0; border-radius: var(--nhma-radius-sm); cursor: pointer;
	font-family: var(--nhma-sans); font-size: 14px; font-weight: 600; letter-spacing: .04em;
	color: #FFF; background: var(--nhma-red); transition: background .18s ease;
}
body.nhma .nhma-newsletter input[type="submit"]:hover { background: var(--nhma-red-ink); }
/* Το μήνυμα μετά την υποβολή πιάνει ολόκληρη τη γραμμή, κάτω από το πεδίο. */
body.nhma .nhma-newsletter .wpcf7-response-output,
body.nhma .nhma-newsletter .wpcf7-not-valid-tip {
	flex: 1 0 100%; margin: 0; padding: 0; border: 0;
	font-family: var(--nhma-sans); font-size: 14px; color: var(--nhma-on-navy);
}
body.nhma .nhma-newsletter .wpcf7-not-valid-tip { color: #FFB3AD; }

@media (max-width: 480px) {
	body.nhma .nhma-newsletter .wpcf7-form > p,
	body.nhma .nhma-newsletter .wpcf7-form > p:first-of-type { flex: 1 1 100%; }
	body.nhma .nhma-newsletter input[type="submit"] { width: 100%; }
}

/* ------------------------------------------- ενημέρωση για τα στατιστικά */
/* Εμφανίζεται μόνο όταν υπάρχει κωδικός GA4 και μόνο μέχρι να απαντήσει ο επισκέπτης. Κάτω
   κάτω και διακριτική: δεν κλείνει τη σελίδα, δεν εμποδίζει την ανάγνωση. */
body.nhma .nhma-privacy {
	position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 9998;
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px;
	width: min(760px, calc(100vw - 32px)); padding: 14px 18px; box-sizing: border-box;
	background: var(--nhma-navy); color: var(--nhma-on-navy);
	border-radius: var(--nhma-radius-sm); box-shadow: 0 18px 46px -22px rgba(0, 0, 0, .6);
	font-family: var(--nhma-sans);
}
body.nhma .nhma-privacy p { flex: 1 1 320px; margin: 0; font-size: 14px; line-height: 1.5; }
body.nhma .nhma-privacy__btns { display: flex; flex-wrap: wrap; gap: 8px; }
body.nhma .nhma-privacy button {
	height: 38px; padding: 0 16px; border-radius: 999px; cursor: pointer;
	font-family: var(--nhma-sans); font-size: 13px; font-weight: 600; white-space: nowrap;
	border: 1px solid rgba(255, 255, 255, .26); background: transparent; color: var(--nhma-on-navy);
	transition: background .18s ease, border-color .18s ease;
}
body.nhma .nhma-privacy button[data-nhma-privacy="ok"] {
	background: var(--nhma-red); border-color: var(--nhma-red); color: #FFF;
}
body.nhma .nhma-privacy button:hover { background: rgba(255, 255, 255, .14); }
body.nhma .nhma-privacy button[data-nhma-privacy="ok"]:hover { background: var(--nhma-red-ink); border-color: var(--nhma-red-ink); }
