/* =========================================================================
   Bluefairy — main.css
   Mobile-first. Breakpoints: 640px (tablet), 960px (desktop).
   ========================================================================= */

/* ---------- Γραμματοσειρές (self-hosted, χωρίς Google Fonts) ---------- */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope-greek-wght-normal.woff2") format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "JetBrains Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/jetbrains-mono-greek-500-normal.woff2") format("woff2");
	unicode-range: U+0370-03FF;
}
@font-face {
	font-family: "JetBrains Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+2000-206F;
}

/* ---------- Tokens ---------- */
:root {
	--ink: #0B1020;
	--ink-2: #2B3350;
	--muted: #4A5370;
	--line: #DDE2EE;
	--line-2: #EEF1F8;
	--bg: #F4F6FB;
	--white: #FFFFFF;
	--primary: #0074BF;      /* σκούρο μπλε από το #00AEEF του λογότυπου */
	--primary-dark: #005A94;
	--spark: #D7FF3A;
	--on-dark: #C9D0E4;
	--on-primary: #E3E8FF;

	/* Tints — ζωηρή παλέτα (29/10/2026).
	   Προηγούμενη, παστέλ: blue #DCE6FF · peach #FFE3D3 · lime #E4F9C9 · lilac #EDE3FF · mint #D6F5EF · sand #FFF1C9 */
	--tint-blue: #75D4FC;
	--tint-peach: #FFAA6E;
	--tint-lime: #E1F980;
	--tint-lilac: #D2B9FD;
	--tint-mint: #77ECD7;
	--tint-sand: #FFF668;

	--radius-lg: 28px;
	--radius-md: 20px;
	--radius-sm: 14px;
	--shadow: 0 30px 80px rgba(6, 16, 60, .30);
	--shadow-sm: 0 16px 40px rgba(6, 16, 60, .18);

	--font: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

	--gutter: 16px;
	--section: 64px;
}
@media (min-width: 640px) { :root { --gutter: 24px; --section: 96px; --radius-lg: 36px; } }
@media (min-width: 960px) { :root { --section: 120px; } }

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--bg);
	color: var(--ink);
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.6;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: var(--primary); }
a:hover { color: var(--primary-dark); }
:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--ink); color: var(--white); padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { left: 8px; }

.container { width: 100%; max-width: 1288px; margin: 0 auto; padding: 0 var(--gutter); }

/* χρώματα / tints */
.accent { color: var(--primary); }
.c-spark { color: var(--spark); }
.c-primary { color: var(--primary); }
.c-orange { color: #C2410C; }
.c-ink { color: var(--ink); }
.bg-spark { background: var(--spark); }
.bg-ink { background: var(--ink); }
.tint-blue { background: var(--tint-blue); }
.tint-peach { background: var(--tint-peach); }
.tint-lime { background: var(--tint-lime); }
.tint-lilac { background: var(--tint-lilac); }
.tint-mint { background: var(--tint-mint); }
.tint-sand { background: var(--tint-sand); }

/* ---------- Τυπογραφία ---------- */
.h2 {
	font-size: clamp(34px, 4.6vw, 64px);
	line-height: 1.03;
	font-weight: 800;
	letter-spacing: -.04em;
}
.lead { font-size: 17px; line-height: 1.6; color: var(--muted); }
@media (min-width: 960px) { .lead { font-size: 19px; } }

/* ---------- Κουμπιά ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 26px;
	border: 1px solid transparent;
	border-radius: 999px;
	font: inherit;
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
	transition: transform .15s ease, background-color .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn--primary { background: var(--primary); color: var(--white); }
.btn--primary:hover { background: var(--primary-dark); color: var(--white); }
.btn--dark { background: var(--ink); color: var(--white); }
.btn--dark:hover { color: var(--white); background: #1A2240; }
.btn--light { background: var(--white); color: var(--ink); border-color: var(--line); }
.btn--light:hover { color: var(--ink); border-color: var(--ink-2); }
.btn--spark { background: var(--spark); color: var(--ink); }
.btn--spark:hover { color: var(--ink); background: #E4FF6E; }
.btn--block { width: 100%; }
.btn-row { display: flex; flex-direction: column; gap: 10px; }
@media (min-width: 640px) { .btn-row { flex-direction: row; flex-wrap: wrap; } }

.icon-btn {
	width: 48px; height: 48px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--white);
	border: 1px solid var(--line);
	color: var(--ink);
	cursor: pointer;
}
.icon-btn--dark { background: var(--ink); border-color: var(--ink); color: var(--white); }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(244, 246, 251, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 10px; padding-bottom: 10px; position: relative; }
.site-header__logo img { width: 56px; height: 56px; }
.site-header__mobile { display: flex; gap: 8px; }

/* Μενού κινητού: πάνελ κάτω από το header */
.site-nav {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	left: var(--gutter);
	right: var(--gutter);
	flex-direction: column;
	padding: 12px;
	background: var(--ink);
	border-radius: 24px;
	box-shadow: var(--shadow);
}
.site-nav.is-open { display: flex; }
.site-nav a { color: var(--white); text-decoration: none; font-size: 20px; font-weight: 700; padding: 14px 16px; }
.site-nav a:hover { color: var(--spark); }
.site-nav .site-nav__cta { margin-top: 8px; background: var(--spark); color: var(--ink); font-size: 17px; }

@media (min-width: 960px) {
	.site-header__logo img { width: 72px; height: 72px; }
	.site-header__mobile { display: none; }
	.site-nav {
		display: flex;
		position: static;
		flex-direction: row;
		align-items: center;
		gap: 28px;
		padding: 0;
		background: none;
		box-shadow: none;
	}
	.site-nav a { color: var(--ink-2); font-size: 15px; font-weight: 600; padding: 12px 0; }
	.site-nav a:hover { color: var(--primary); }
	.site-nav .site-nav__cta { margin: 0; background: var(--ink); color: var(--white); font-size: 15px; padding: 12px 22px; min-height: 0; }
	.site-nav .site-nav__cta:hover { color: var(--white); }
}

/* ---------- Hero ---------- */
.hero { padding-top: 20px; }
.hero__intro { display: flex; flex-direction: column; gap: 20px; }
.hero__text { display: flex; flex-direction: column; gap: 20px; }
.hero__aside { display: flex; flex-direction: column; gap: 22px; }
.hero__title { font-size: clamp(44px, 7.2vw, 104px); line-height: .98; font-weight: 800; letter-spacing: -.045em; }
.pill {
	align-self: flex-start;
	display: inline-flex; align-items: center; gap: 10px;
	padding: 7px 16px 7px 10px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 999px;
	font-size: 13px; font-weight: 600; color: var(--ink-2);
}
.pill__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--primary); animation: bf-pulse 2s ease-in-out infinite; }

@media (min-width: 960px) {
	.hero__intro { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 32px; padding-top: 40px; }
	.hero__text { flex: 1 1 640px; }
	.hero__aside { flex: 0 1 420px; }
	.pill { font-size: 14px; }
}

/* Βιτρίνα */
.stage {
	position: relative;
	margin-top: 28px;
	padding: 28px 16px 24px;
	background: var(--primary);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.stage__ring { position: absolute; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); }
.stage__ring--lg { width: 900px; height: 900px; right: -260px; top: -320px; }
.stage__ring--md { width: 620px; height: 620px; right: -120px; top: -180px; }
.stage__orbit { position: absolute; width: 620px; height: 620px; right: -120px; top: -180px; animation: bf-spin 24s linear infinite; }
.stage__planet { position: absolute; left: 50%; top: -7px; width: 14px; height: 14px; border-radius: 50%; background: var(--spark); }
.stage__inner { position: relative; display: flex; flex-direction: column; gap: 14px; }
.stage__cards { display: flex; flex-direction: column; gap: 14px; }

@media (min-width: 960px) {
	.stage { margin-top: 40px; padding: 56px 40px 0; min-height: 540px; }
	.stage__inner { max-width: 1080px; margin: 0 auto; flex-direction: row; align-items: flex-end; justify-content: center; gap: 28px; }
	.stage__cards { flex: 0 1 300px; min-width: 260px; gap: 16px; padding-bottom: 40px; }
}

.mock-browser { flex: none; min-width: 0; max-width: 680px; background: var(--white); border-radius: 16px; box-shadow: var(--shadow); overflow: hidden; }
@media (min-width: 960px) { .mock-browser { flex: 1 1 560px; border-radius: 20px 20px 0 0; } }
.mock-browser__bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; background: var(--line-2); }
.dot { width: 10px; height: 10px; border-radius: 50%; background: var(--line); flex: none; }
.dot--r { background: #FF6B5E; } .dot--y { background: #FFC23D; } .dot--g { background: #2ECC71; }
.mock-browser__url { margin-left: 10px; flex: 1; background: var(--white); border-radius: 8px; padding: 5px 12px; font-family: var(--mono); font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mock-shop { padding: 16px; display: flex; flex-direction: column; gap: 14px; }
.mock-shop__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 15px; }
.mock-shop__head span { font-size: 12px; color: var(--muted); }
.mock-shop__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; font-size: 12px; }
.mock-shop__grid div { display: flex; flex-direction: column; gap: 6px; }
.mock-shop__img { display: block; height: 72px; border-radius: 12px; }
.mock-shop__pay { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: var(--bg); border-radius: 12px; padding: 12px 14px; font-size: 12px; font-weight: 600; }
.mock-shop__btn { flex: none; background: var(--ink); color: var(--white); font-size: 12px; font-weight: 700; padding: 8px 14px; border-radius: 999px; }
@media (min-width: 960px) {
	.mock-shop { padding: 24px; gap: 18px; }
	.mock-shop__head { font-size: 18px; }
	.mock-shop__grid { gap: 14px; font-size: 13px; }
	.mock-shop__img { height: 120px; border-radius: 14px; }
	.mock-shop__pay { font-size: 14px; padding: 14px 16px; }
}

.mock-card { background: var(--white); border-radius: 18px; padding: 14px 16px; box-shadow: var(--shadow); display: flex; gap: 12px; align-items: center; font-size: 14px; line-height: 1.4; }
.mock-card b { display: block; font-weight: 800; }
.mock-card small { display: block; color: var(--muted); font-size: 13px; }
.mock-card__icon { flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--spark); display: flex; align-items: center; justify-content: center; }
.mock-card--float { animation: bf-float 5s ease-in-out infinite; }
.mock-card--dark { background: var(--ink); color: var(--white); flex-direction: column; align-items: stretch; gap: 10px; }
.mock-card__label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--spark); }
.mock-card__q { color: var(--on-dark); }
.mock-card__a { background: #1A2240; border-radius: 12px; padding: 10px 12px; }
.mock-card--chart { flex-direction: column; align-items: stretch; animation-delay: 1s; display: none; }
.mock-card--chart small { font-weight: 700; }
.bars { display: flex; align-items: flex-end; gap: 8px; height: 72px; }
.bars i { flex: 1; height: var(--h); border-radius: 6px; background: var(--tint-blue); }
.bars i.on { background: var(--primary); }
@media (min-width: 960px) { .mock-card--chart { display: flex; } }

/* ---------- Τεχνολογίες ---------- */
.tech { padding-top: 32px; }
.tech__inner { display: flex; flex-direction: column; gap: 12px; }
.tech__label { font-size: 13px; font-weight: 700; color: var(--muted); }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-list li { background: var(--white); border: 1px solid var(--line); border-radius: 999px; padding: 8px 16px; font-weight: 700; font-size: 13px; }
@media (min-width: 960px) {
	.tech { padding-top: 40px; }
	.tech__inner { flex-direction: row; align-items: center; justify-content: center; gap: 12px; }
	.tech__label { margin-right: 8px; font-size: 14px; }
	.tag-list li { font-size: 14px; padding: 10px 18px; }
}

/* ---------- Ενότητες ---------- */
.section { padding-top: var(--section); }
.section--last { padding-bottom: var(--section); }
.section__head { display: flex; flex-direction: column; gap: 16px; margin-bottom: 28px; }
.section__intro { max-width: 380px; color: var(--muted); font-size: 16px; }
.section__intro--on-dark { color: var(--on-dark); max-width: 420px; }
.section__head .h2 { max-width: 820px; }
.panel .section__head { flex-direction: column !important; align-items: flex-start !important; }
.panel .section__head .h2 { max-width: none; }
.panel .section__intro--on-dark { max-width: 720px; }
@media (min-width: 960px) {
	.section__head { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 44px; }
	.section__intro { font-size: 17px; }
}

.panel { border-radius: var(--radius-lg); padding: 32px 20px; position: relative; overflow: hidden; }
.panel--dark { background: var(--ink); color: var(--white); }
.panel--primary { background: var(--primary); color: var(--white); }
@media (min-width: 640px) { .panel { padding: 56px 48px; } }
@media (min-width: 960px) { .panel { padding: 64px 48px; } }

/* Bento υπηρεσιών */
.bento { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (min-width: 1100px) { .bento { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.bento__card { background: var(--white); border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 960px) { .bento__card { border-radius: var(--radius-lg); padding: 32px; min-height: 290px; } }
.bento__card h3 { margin-top: 6px; font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
@media (min-width: 960px) { .bento__card h3 { font-size: 26px; } }
.bento__card p { color: var(--muted); font-size: 15px; }
.bento__card--dark { background: var(--ink); color: var(--white); }
.bento__card--dark p { color: var(--on-dark); }
.bento__card--spark { background: var(--spark); }
.bento__card--spark p { color: #1F2A10; }
.bento__icon { width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; }
.bento__link { margin-top: auto; padding-top: 6px; font-weight: 800; text-decoration: none; color: inherit; }
.bento__card--dark .bento__link { color: var(--spark); }
.bento__card--spark .bento__link { color: var(--ink); }

/* Αριθμοί */
.numbers { background: var(--ink); color: var(--white); border-radius: var(--radius-lg); padding: 32px 24px; display: grid; gap: 24px; grid-template-columns: 1fr; }
.numbers div { display: flex; flex-direction: column; gap: 4px; }
.numbers strong { font-size: 52px; line-height: 1.1; font-weight: 800; letter-spacing: -.04em; color: var(--spark); }
.numbers span { color: var(--on-dark); font-size: 15px; }
@media (min-width: 640px) { .numbers { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 56px 48px; gap: 36px; } .numbers strong { font-size: 64px; } }

/* ---------- Έργα ---------- */
.filters { display: flex; gap: 8px; overflow-x: auto; margin: 0 calc(var(--gutter) * -1); padding: 2px var(--gutter) 4px; }
@media (min-width: 960px) { .filters { margin: 0; padding: 0; flex-wrap: wrap; } }
.filter { flex: none; min-height: 46px; padding: 12px 20px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); color: var(--ink-2); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.filter.is-active { background: var(--ink); color: var(--white); border-color: var(--ink); }

.projects { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .projects { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (min-width: 1100px) { .projects { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.project { background: var(--white); border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; }
@media (min-width: 960px) { .project { border-radius: var(--radius-lg); } }
.project[hidden] { display: none; }
.project__stage { height: 200px; display: flex; justify-content: center; padding-top: 24px; }
@media (min-width: 960px) { .project__stage { height: 230px; padding-top: 28px; } }
.project__browser { width: 86%; margin-top: auto; height: calc(100% - 0px); background: var(--white); border-radius: 12px 12px 0 0; box-shadow: var(--shadow-sm); overflow: hidden; display: flex; flex-direction: column; }
.project__bar { display: flex; align-items: center; gap: 6px; padding: 9px 12px; border-bottom: 1px solid var(--line-2); }
.project__domain { margin-left: 6px; font-family: var(--mono); font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.project__browser img { width: 100%; flex: 1; min-height: 0; height: auto; object-fit: cover; object-position: top center; }
.project__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
@media (min-width: 960px) { .project__body { padding: 24px 28px 28px; } }
.project__meta { display: flex; gap: 6px; flex-wrap: wrap; }
.project__meta span { background: var(--bg); border-radius: 999px; padding: 4px 12px; font-size: 12px; font-weight: 700; color: var(--ink-2); }
.project__name { margin-top: 4px; font-size: 21px; font-weight: 800; letter-spacing: -.02em; }
.project__desc { color: var(--muted); font-size: 15px; line-height: 1.55; }
.project__services { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line-2); }
.chip { border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 800; }
.chip--design { background: var(--tint-blue); color: #13307A; }
.chip--hosting { background: var(--tint-lime); color: #2C4A0E; }
.chip--support { background: var(--tint-peach); color: #7A2E0B; }
.projects__more { margin-top: 14px; }
@media (min-width: 640px) { .projects__more { display: none !important; } }

/* ---------- Εφαρμογές ---------- */
.app-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 28px; }
@media (min-width: 640px) { .app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .app-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 40px; } }
.app-grid li { background: #141B33; border: 1px solid #252F52; border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.app-grid .icon { color: var(--spark); }
.app-grid strong { font-size: 18px; font-weight: 800; margin-top: 4px; }
.app-grid span { color: var(--on-dark); font-size: 15px; line-height: 1.55; }

/* ---------- Βήματα ---------- */
.steps { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
@media (min-width: 640px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 40px; } }
@media (min-width: 1100px) { .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.steps li { background: var(--white); border-radius: 22px; padding: 22px; display: grid; grid-template-columns: auto 1fr; column-gap: 14px; row-gap: 4px; align-items: start; }
.steps h3 { font-size: 18px; font-weight: 800; align-self: center; }
.steps p { grid-column: 2; color: var(--muted); font-size: 15px; }
.steps__n { grid-row: span 2; width: 42px; height: 42px; border-radius: 50%; background: var(--primary); color: var(--white); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.steps__n--spark { background: var(--spark); color: var(--ink); }
@media (min-width: 640px) {
	.steps li { grid-template-columns: 1fr; padding: 28px; row-gap: 10px; }
	.steps__n { grid-row: auto; }
	.steps h3 { font-size: 20px; margin-top: 6px; }
	.steps p { grid-column: auto; }
}

/* ---------- Συντήρηση ---------- */
.care { display: flex; flex-direction: column; gap: 28px; }
@media (min-width: 960px) { .care { flex-direction: row; gap: 48px; } }
.care__ring { position: absolute; width: 520px; height: 520px; left: -200px; bottom: -300px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .22); }
.care__text { position: relative; flex: 1 1 380px; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.care__text .h2 { font-size: clamp(32px, 4vw, 56px); }
.care__text p { color: var(--on-primary); font-size: 16px; }
@media (min-width: 960px) { .care__text p { font-size: 18px; } }
.care__price { display: flex; align-items: baseline; gap: 10px; }
.care__price strong { font-size: 40px; font-weight: 800; color: var(--white); letter-spacing: -.03em; }
.care__list { position: relative; flex: 1 1 460px; display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 480px) { .care__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
.care__list li { background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.care__list span { color: var(--on-primary); font-size: 14px; line-height: 1.5; }

/* ---------- Εταιρεία ---------- */
.about { display: flex; flex-direction: column; gap: 28px; }
.about__text { display: flex; flex-direction: column; gap: 18px; }
@media (min-width: 960px) { .about { flex-direction: row; gap: 48px; } .about__text, .values { flex: 1 1 0; } }
.values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 640px) { .values { gap: 14px; } }
.values li { background: var(--white); border-radius: 20px; padding: 18px; display: flex; flex-direction: column; gap: 6px; }
@media (min-width: 640px) { .values li { padding: 24px; } }
.values strong { font-size: 17px; font-weight: 800; }
.values span { color: var(--muted); font-size: 14px; line-height: 1.55; }

/* ---------- Επικοινωνία ---------- */
.contact { display: flex; flex-direction: column; gap: 24px; padding-left: 16px; padding-right: 16px; padding-bottom: 16px; }
@media (min-width: 640px) { .contact { padding: 56px 48px; } }
@media (min-width: 960px) { .contact { flex-direction: row; gap: 48px; padding: 64px 48px; } }
.contact__text { flex: 1 1 360px; display: flex; flex-direction: column; gap: 20px; padding: 0 4px; }
.contact__text > p { color: var(--on-dark); font-size: 17px; }
.contact__details { display: flex; flex-direction: column; gap: 10px; font-weight: 700; font-size: 17px; }
.contact__details a { color: var(--white); text-decoration: none; }
.contact__details a:hover { color: var(--spark); }
.contact__details li:last-child { color: var(--on-dark); font-weight: 500; }
.contact__form { flex: 1 1 500px; min-width: 0; }

/* Φόρμα Contact Form 7 */
.bf-form { background: var(--white); color: var(--ink); border-radius: 22px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 640px) { .bf-form { border-radius: 26px; padding: 32px; gap: 16px; } }
.bf-form .field { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 700; }
.bf-form .field-row { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .bf-form .field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.bf-form .wpcf7-form-control-wrap { display: block; }
.bf-form input[type="text"],
.bf-form input[type="email"],
.bf-form input[type="tel"],
.bf-form select,
.bf-form textarea {
	width: 100%;
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 14px;
	font: inherit;
	font-size: 16px; /* 16px: δεν κάνει zoom το iOS */
	font-weight: 500;
	color: var(--ink);
}
.bf-form textarea { min-height: 120px; resize: vertical; }
.bf-form input:focus, .bf-form select:focus, .bf-form textarea:focus { outline: 2px solid var(--primary); outline-offset: 1px; border-color: var(--primary); }
.bf-form .consent { font-size: 13px; color: var(--muted); line-height: 1.5; font-weight: 500; }
.bf-form .consent .wpcf7-list-item { margin: 0; display: block; }
.bf-form .consent label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.bf-form .consent input[type="checkbox"] { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--primary); }
.bf-form .wpcf7-submit { align-self: stretch; background: var(--primary); color: var(--white); border: 0; border-radius: 999px; min-height: 54px; padding: 16px 32px; font: inherit; font-size: 17px; font-weight: 800; cursor: pointer; }
@media (min-width: 640px) { .bf-form .wpcf7-submit { align-self: flex-start; } }
.bf-form .wpcf7-submit:hover { background: var(--primary-dark); }
.bf-form .wpcf7-submit:disabled { opacity: .5; cursor: not-allowed; }
.bf-form .form-note { font-size: 13px; color: var(--muted); line-height: 1.5; font-weight: 500; }
.bf-form .wpcf7-spinner { margin: 8px auto 0; }
.bf-form .wpcf7-not-valid-tip { color: #B42318; font-size: 13px; font-weight: 600; margin-top: 4px; }
.bf-form .wpcf7-response-output { margin: 0 !important; padding: 12px 14px !important; border-radius: 12px; border: 0 !important; font-size: 14px; font-weight: 600; }
.bf-form.sent .wpcf7-response-output { background: var(--tint-lime); color: #2C4A0E; }
.bf-form.invalid .wpcf7-response-output,
.bf-form.unaccepted .wpcf7-response-output,
.bf-form.failed .wpcf7-response-output,
.bf-form.spam .wpcf7-response-output { background: #FDE7E4; color: #8A1C11; }
.wpcf7 form .wpcf7-response-output:empty { display: none; }
/* Honeypot του WP Armour: πρέπει να μένει αόρατο */
.bf-form .altEmail_container { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Footer ---------- */
.site-footer { padding: 0 0 36px; }
.site-footer__inner { display: flex; flex-direction: column; gap: 14px; font-size: 13px; color: var(--muted); }
.site-footer__brand { display: flex; flex-direction: column; gap: 12px; }
.site-footer__brand img { width: 48px; height: 48px; }
.site-footer__nav { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.site-footer__nav a { color: var(--ink-2); text-decoration: none; padding: 8px 0; }
.site-footer__nav a:hover { color: var(--primary); }
@media (min-width: 960px) {
	.site-footer__inner { flex-direction: row; align-items: center; justify-content: space-between; font-size: 14px; }
	.site-footer__brand { flex-direction: row; align-items: center; gap: 14px; }
}

/* ---------- Εσωτερικές σελίδες ---------- */
.page { padding-top: 48px; padding-bottom: var(--section); }
.page__article { max-width: 760px; margin: 0 auto; background: var(--white); border-radius: var(--radius-lg); padding: 28px 20px; }
@media (min-width: 640px) { .page__article { padding: 56px; } }
.page__title { font-size: clamp(32px, 4vw, 48px); line-height: 1.08; font-weight: 800; letter-spacing: -.03em; margin-bottom: 24px; }
.prose { color: var(--ink-2); font-size: 16px; line-height: 1.7; }
.prose > * + * { margin-top: 1em; }
.prose h2, .prose h3, .prose h4 { color: var(--ink); line-height: 1.25; margin-top: 1.6em; font-weight: 800; }
.prose h2 { font-size: 26px; } .prose h3 { font-size: 21px; } .prose h4 { font-size: 18px; }
.prose ul { list-style: disc; padding-left: 1.3em; }
.prose ol { list-style: decimal; padding-left: 1.3em; }
.prose .wp-block-table { margin: 1.4em 0; overflow-x: auto; }
.prose table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.prose th, .prose td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.prose th { background: var(--bg); color: var(--ink); font-weight: 800; }

/* ---------- Banner συγκατάθεσης ---------- */
.consent { position: fixed; z-index: 90; left: var(--gutter); right: var(--gutter); bottom: var(--gutter); max-width: 460px; background: var(--white); color: var(--ink); border: 1px solid var(--line); border-radius: 22px; padding: 20px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 10px; }
.consent[hidden] { display: none; }
.consent__title { font-weight: 800; font-size: 17px; }
.consent__text { font-size: 14px; color: var(--muted); line-height: 1.55; }
.consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; }
.consent__actions .btn { min-height: 48px; padding: 12px 16px; font-size: 15px; }
@media (min-width: 640px) { .consent { right: auto; padding: 24px; } }

/* ---------- Κίνηση ---------- */
@keyframes bf-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes bf-spin { to { transform: rotate(360deg); } }
@keyframes bf-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	html { scroll-behavior: auto; }
}
