/*
Theme Name: The Unique Factory
Theme URI: https://theuniquefactory.com/
Author: The Unique Factory
Description: Ελαφρύ, πολύγλωσσο theme για δωρεάν επεξεργασία φωτογραφιών από ανθρώπους (όχι AI). Περιλαμβάνει μενού διαχείρισης «Unique Factory», blocks (Πλαίσιο ανεβάσματος, Πριν & Μετά, Ομάδα, Trustpilot, Buy us a coffee, Φόρμα επικοινωνίας), έτοιμα patterns και αυτόματη δημιουργία σελίδων σε 6 γλώσσες με Polylang.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: unique-factory
*/

:root {
	--uf-paper: #FAF5EC;
	--uf-paper-2: #F2E9DA;
	--uf-card: #FFFDF8;
	--uf-ink: #2A211C;
	--uf-ink-soft: #5C4F45;
	--uf-accent: #B5502F;
	--uf-accent-dark: #8E3B20;
	--uf-sage: #6E7F63;
	--uf-gold: #C99A4A;
	--uf-line: #E3D7C3;
	--uf-serif: Literata, Georgia, "Times New Roman", serif;
	--uf-sans: Commissioner, "Segoe UI", system-ui, -apple-system, sans-serif;
	--uf-wide: 1200px;
	--uf-narrow: 760px;
	--uf-gutter: clamp(16px, 4vw, 40px);
	--uf-radius: 18px;
	--uf-shadow: 0 1px 2px rgba(42, 33, 28, .06), 0 10px 30px -12px rgba(42, 33, 28, .22);
	--uf-section: clamp(56px, 8vw, 104px);
}

/* ---------- Βάση ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
body {
	margin: 0;
	background-color: var(--uf-paper);
	/* λεπτή υφή χαρτιού */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.25 0 0 0 0 0.15 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	color: var(--uf-ink);
	font-family: var(--uf-sans);
	font-size: 1.0625rem;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: var(--uf-accent); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--uf-accent-dark); }
:focus-visible { outline: 3px solid var(--uf-gold); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3, h4 { font-family: var(--uf-serif); font-weight: 600; line-height: 1.2; color: var(--uf-ink); margin: 0 0 .5em; letter-spacing: -.01em; text-wrap: balance; }
h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 3.2vw, 2.5rem); }
h3 { font-size: 1.3rem; }
p { margin: 0 0 1em; text-wrap: pretty; }
.uf-icon { width: 1.15em; height: 1.15em; flex: none; vertical-align: -.2em; }

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

/* ---------- Κουμπιά ---------- */
.uf-btn,
.wp-block-button__link {
	display: inline-flex; align-items: center; gap: .55em;
	background: var(--uf-accent); color: #fff !important;
	font-family: var(--uf-sans); font-weight: 600; font-size: 1rem; line-height: 1.2;
	padding: .9em 1.6em; border-radius: 999px; border: 2px solid var(--uf-accent);
	text-decoration: none; cursor: pointer;
	box-shadow: 0 6px 18px -8px rgba(181, 80, 47, .7);
	transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.uf-btn:hover, .wp-block-button__link:hover { background: var(--uf-accent-dark); border-color: var(--uf-accent-dark); transform: translateY(-1px); color: #fff; }
.uf-btn--small { padding: .6em 1.1em; font-size: .92rem; }
.uf-btn--ghost,
.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--uf-ink) !important; border-color: var(--uf-ink); box-shadow: none;
}
.uf-btn--ghost:hover, .is-style-outline > .wp-block-button__link:hover { background: var(--uf-ink); color: var(--uf-paper) !important; border-color: var(--uf-ink); }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.6em 0 1em; }
.wp-block-buttons.uf-center { justify-content: center; }

/* ---------- Κεφαλίδα ---------- */
.uf-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(250, 245, 236, .9);
	-webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color .2s, box-shadow .2s;
}
.admin-bar .uf-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .uf-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .uf-header { top: 0; } }
.uf-header.is-scrolled { border-color: var(--uf-line); box-shadow: 0 6px 20px -16px rgba(42,33,28,.5); }
.uf-header__inner { max-width: var(--uf-wide); margin: 0 auto; padding: 14px var(--uf-gutter); display: flex; align-items: center; gap: 24px; }
.uf-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--uf-ink); margin-right: auto; }
.uf-logo:hover { color: var(--uf-ink); }
.uf-logo__mark { color: var(--uf-accent); display: inline-flex; }
.uf-logo__text { font-family: var(--uf-serif); font-weight: 600; font-size: 1.3rem; line-height: 1; letter-spacing: -.01em; }
.uf-logo__text small { font-size: .7em; font-weight: 400; color: var(--uf-ink-soft); }
.uf-logo__text em { color: var(--uf-accent); }
.uf-logo__img { max-height: 52px; width: auto; }
.uf-nav { display: flex; align-items: center; gap: 22px; }
.uf-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.uf-nav__list a { display: block; padding: 8px 12px; border-radius: 999px; color: var(--uf-ink); text-decoration: none; font-weight: 500; font-size: .98rem; }
.uf-nav__list a:hover { background: var(--uf-paper-2); color: var(--uf-ink); }
.uf-nav__list .current-menu-item > a, .uf-nav__list a[aria-current="page"] { color: var(--uf-accent); background: rgba(181, 80, 47, .08); }
.uf-nav__list .sub-menu { display: none; }
.uf-nav__tools { display: flex; align-items: center; gap: 12px; }

.uf-lang { position: relative; }
.uf-lang__toggle { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px solid var(--uf-line); color: var(--uf-ink); border-radius: 999px; padding: 7px 12px; font: 600 .85rem var(--uf-sans); cursor: pointer; }
.uf-lang__toggle:hover { border-color: var(--uf-ink-soft); }
.uf-lang__menu { position: absolute; right: 0; top: calc(100% + 8px); background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: 12px; box-shadow: var(--uf-shadow); list-style: none; margin: 0; padding: 6px; min-width: 170px; z-index: 10; }
.uf-lang__menu a { display: block; padding: 8px 12px; border-radius: 8px; color: var(--uf-ink); text-decoration: none; }
.uf-lang__menu a:hover, .uf-lang__menu a[aria-current] { background: var(--uf-paper-2); }
.uf-lang__menu a[aria-current] { font-weight: 600; color: var(--uf-accent); }

.uf-burger { display: none; background: none; border: 0; padding: 10px; cursor: pointer; color: var(--uf-ink); }
.uf-burger__lines, .uf-burger__lines::before, .uf-burger__lines::after { display: block; width: 24px; height: 2px; background: currentColor; border-radius: 2px; position: relative; transition: transform .2s, background .2s; }
.uf-burger__lines::before, .uf-burger__lines::after { content: ""; position: absolute; left: 0; }
.uf-burger__lines::before { top: -7px; }
.uf-burger__lines::after { top: 7px; }
.uf-nav-open .uf-burger__lines { background: transparent; }
.uf-nav-open .uf-burger__lines::before { transform: translateY(7px) rotate(45deg); }
.uf-nav-open .uf-burger__lines::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 960px) {
	.uf-burger { display: block; }
	.uf-nav {
		position: fixed; inset: 69px 0 auto 0; flex-direction: column; align-items: stretch; gap: 16px;
		background: var(--uf-paper); border-bottom: 1px solid var(--uf-line); padding: 16px var(--uf-gutter) 24px;
		box-shadow: 0 20px 30px -20px rgba(42,33,28,.4);
		transform: translateY(-8px); opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s;
		max-height: calc(100vh - 69px); overflow-y: auto;
	}
	.admin-bar .uf-nav { top: calc(69px + 46px); }
	.uf-nav-open .uf-nav { transform: none; opacity: 1; visibility: visible; }
	.uf-nav__list { flex-direction: column; }
	.uf-nav__list a { padding: 12px 14px; font-size: 1.05rem; }
	.uf-nav__tools { justify-content: space-between; }
	.uf-lang__menu { right: auto; left: 0; }
}

/* ---------- Δομή περιεχομένου ---------- */
.uf-content > .alignfull,
.uf-page-header { width: 100%; padding-left: var(--uf-gutter); padding-right: var(--uf-gutter); }
.uf-content > .wp-block-group.alignfull > *,
.uf-section > * { max-width: var(--uf-wide); margin-left: auto; margin-right: auto; }
.uf-content--plain { max-width: var(--uf-narrow); margin: 0 auto; padding: 0 var(--uf-gutter) var(--uf-section); }
.uf-section { padding-top: var(--uf-section); padding-bottom: var(--uf-section); }
.uf-section--tight { padding-top: 28px; padding-bottom: 28px; }
.uf-section--paper2 { background: var(--uf-paper-2); }
.uf-section--narrow > * { max-width: var(--uf-narrow) !important; }
.uf-section--ink { background: var(--uf-ink); color: #EFE6D8; }
.uf-section--ink h2, .uf-section--ink h3 { color: #FFF8EE; }
.uf-section--ink a { color: #F0B494; }
.uf-section--ink .uf-eyebrow { color: var(--uf-gold); }
.uf-center { text-align: center; }
.uf-lead { font-size: clamp(1.08rem, 1.6vw, 1.22rem); color: var(--uf-ink-soft); max-width: 680px; }
.uf-center.uf-lead, p.uf-center { margin-left: auto !important; margin-right: auto !important; }
.uf-eyebrow { font-family: var(--uf-sans); text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 600; color: var(--uf-accent); margin-bottom: 1em; }
.uf-eyebrow a { color: inherit; text-decoration: none; }
.uf-prose p { font-size: 1.1rem; }
.wp-block-columns { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 56px); margin: 0 0 1em; }
.wp-block-column { flex: 1 1 0; min-width: 0; }
@media (max-width: 781px) { .wp-block-columns { flex-direction: column; } .wp-block-column { flex-basis: 100% !important; } }
.wp-block-columns.uf-split { align-items: center; }
.uf-split > .wp-block-column, .uf-ba-grid { width: 100%; }
.wp-block-image { margin: 0 0 1em; }
.uf-rounded img { border-radius: var(--uf-radius); box-shadow: var(--uf-shadow); }

/* ---------- Κεφαλίδα σελίδας ---------- */
.uf-page-header { padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(32px, 5vw, 64px); text-align: center; position: relative; }
.uf-page-header > * { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
.uf-page-header::after { content: ""; display: block; width: 64px; height: 3px; margin: 28px auto 0; background: var(--uf-accent); border-radius: 3px; opacity: .7; }
.uf-page-title { margin-bottom: .35em; }
.uf-page-header + .uf-section, .uf-content > .uf-page-header + .wp-block-group.uf-section { padding-top: clamp(24px, 4vw, 48px); }

/* ---------- Hero ---------- */
.uf-hero { padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(48px, 7vw, 96px); position: relative; overflow: hidden; }
.uf-hero::before { content: ""; position: absolute; right: -10%; top: -20%; width: 60%; aspect-ratio: 1; background: radial-gradient(closest-side, rgba(201,154,74,.22), transparent 70%); pointer-events: none; }
.uf-hero__cols { align-items: center; position: relative; }
.uf-hero__cols > .wp-block-column:first-child { flex: 1.15 1 0; }
.uf-hero__title { font-size: clamp(2.3rem, 5.2vw, 3.8rem); line-height: 1.08; }
.uf-hero__lead { font-size: clamp(1.1rem, 1.7vw, 1.28rem); color: var(--uf-ink-soft); max-width: 560px; }
.uf-hero__note { font-size: .9rem; color: var(--uf-ink-soft); letter-spacing: .02em; }
.uf-hero__note::before { content: "✦ "; color: var(--uf-gold); }
.uf-hero .wp-block-column:last-child { position: relative; }
.uf-hero__image { margin: 0; transform: rotate(2.2deg); }
.uf-hero__image img { background: #fff; padding: 12px 12px 48px; border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,.08), 0 24px 50px -18px rgba(42,33,28,.45); aspect-ratio: 4 / 4.4; object-fit: cover; width: 100%; }
.uf-stamp {
	position: absolute; left: -14px; bottom: 26px; margin: 0;
	background: var(--uf-accent); color: #fff; font-weight: 600; font-size: .9rem;
	padding: 10px 16px; border-radius: 999px; transform: rotate(-4deg);
	box-shadow: 0 10px 20px -8px rgba(142,59,32,.6);
}
.uf-stamp::before { content: "✋ "; }
@media (max-width: 781px) { .uf-hero__image { transform: rotate(1.2deg); max-width: 440px; margin: 0 auto; } .uf-stamp { left: 6px; } }

/* ---------- Πλαίσιο ανεβάσματος ---------- */
.uf-section--upload { padding-top: 0; margin-top: -24px; }
.uf-upload { scroll-margin-top: 100px; }
.uf-upload__card {
	max-width: 920px; margin: 0 auto; background: var(--uf-card); border: 1px solid var(--uf-line);
	border-radius: 24px; padding: clamp(22px, 4vw, 44px); box-shadow: var(--uf-shadow); position: relative;
}
.uf-upload__card::before { content: ""; position: absolute; inset: 10px; border: 1.5px dashed rgba(181,80,47,.25); border-radius: 18px; pointer-events: none; }
.uf-upload__head { display: flex; gap: 18px; align-items: flex-start; position: relative; }
.uf-upload__icon { flex: none; width: 56px; height: 56px; border-radius: 16px; background: var(--uf-accent); color: #fff; display: grid; place-items: center; }
.uf-upload__icon .uf-icon { width: 28px; height: 28px; }
.uf-upload__title { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-bottom: .2em; }
.uf-upload__text { color: var(--uf-ink-soft); margin: 0; }
.uf-upload__badges { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 20px 0; position: relative; }
.uf-upload__badges li { display: inline-flex; align-items: center; gap: 6px; background: var(--uf-paper-2); border-radius: 999px; padding: 6px 12px; font-size: .88rem; font-weight: 500; }
.uf-upload__badges .uf-icon { color: var(--uf-accent); }
.uf-upload__embed { position: relative; min-height: 120px; }
.uf-upload__embed iframe { width: 100%; border: 0; border-radius: 12px; min-height: 480px; }
.uf-upload__placeholder { display: grid; place-items: center; text-align: center; min-height: 200px; border-radius: 14px; background: repeating-linear-gradient(-45deg, var(--uf-paper), var(--uf-paper) 12px, var(--uf-paper-2) 12px, var(--uf-paper-2) 24px); color: var(--uf-ink-soft); padding: 24px; font-weight: 500; }
.uf-upload__privacy { display: flex; gap: 8px; align-items: center; justify-content: center; font-size: .85rem; color: var(--uf-ink-soft); margin: 16px 0 0; position: relative; }
.uf-upload__privacy .uf-icon { color: var(--uf-sage); }

/* ---------- Αξιολογήσεις ---------- */
.uf-reviews { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: var(--uf-radius); padding: 24px clamp(20px, 4vw, 36px); }
.uf-reviews__text { flex: 1 1 380px; }
.uf-reviews__title { font-size: 1.35rem; margin: .3em 0 .2em; }
.uf-reviews__text p { margin: 0; color: var(--uf-ink-soft); font-size: .95rem; }
.uf-reviews__widget { flex: 1 1 280px; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.uf-reviews__widget .trustpilot-widget { width: 100%; }
.uf-stars { display: inline-flex; gap: 3px; color: #00B67A; }
.uf-stars .uf-icon { fill: currentColor; width: 20px; height: 20px; }
@media (max-width: 781px) { .uf-reviews__widget { align-items: flex-start; } }

/* ---------- Βήματα ---------- */
.uf-steps { counter-reset: step; margin-top: 2.5em; }
.uf-steps > .wp-block-column { background: var(--uf-card); border-radius: var(--uf-radius); padding: 30px 28px; border: 1px solid var(--uf-line); position: relative; }
.uf-step__num { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-family: var(--uf-serif); font-size: 1.5rem; font-weight: 700; color: var(--uf-accent); border: 2px solid currentColor; margin-bottom: 18px; }
.uf-steps p:last-child { margin-bottom: 0; color: var(--uf-ink-soft); }

/* ---------- Πριν & Μετά ---------- */
.uf-ba-grid { display: grid; gap: clamp(18px, 3vw, 32px); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); margin-top: 2.5em; }
.uf-ba-grid--1 { grid-template-columns: 1fr; margin-top: 0; }
.uf-compare { margin: 0; }
.uf-compare__stage { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--uf-radius); box-shadow: var(--uf-shadow); background: var(--uf-paper-2); user-select: none; touch-action: pan-y; }
.uf-compare__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.uf-compare__after { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--pos, 50%)); }
.uf-compare__label { position: absolute; top: 12px; padding: 4px 10px; border-radius: 999px; font-size: .78rem; font-weight: 600; letter-spacing: .04em; background: rgba(42,33,28,.72); color: #fff; pointer-events: none; }
.uf-compare__label--before { left: 12px; }
.uf-compare__label--after { right: 12px; background: var(--uf-accent); }
.uf-compare__handle { position: absolute; top: 0; bottom: 0; left: var(--pos, 50%); width: 3px; margin-left: -1.5px; background: #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.1); pointer-events: none; }
.uf-compare__handle span { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.uf-compare__handle span::before, .uf-compare__handle span::after { content: ""; position: absolute; top: 50%; width: 0; height: 0; border: 6px solid transparent; margin-top: -6px; }
.uf-compare__handle span::before { left: 8px; border-right-color: var(--uf-ink); }
.uf-compare__handle span::after { right: 8px; border-left-color: var(--uf-ink); }
.uf-compare__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
.uf-compare__range:focus-visible + * { outline: none; }
.uf-compare:focus-within .uf-compare__stage { outline: 3px solid var(--uf-gold); outline-offset: 3px; }
.uf-compare__caption { text-align: center; font-family: var(--uf-serif); font-style: italic; color: var(--uf-ink-soft); margin-top: 12px; }

/* ---------- Άνθρωπος vs AI ---------- */
.uf-why { align-items: center; }
.uf-vs { margin: 0; }
.uf-vs table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,.04); border-radius: var(--uf-radius); overflow: hidden; font-size: .97rem; }
.uf-vs th, .uf-vs td { padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.1); text-align: left; vertical-align: middle; }
.uf-vs th { font-family: var(--uf-serif); font-weight: 600; color: #FFF8EE; font-size: 1rem; }
.uf-vs th:nth-child(2), .uf-vs td:nth-child(2) { background: rgba(181,80,47,.22); text-align: center; color: #fff; font-weight: 700; }
.uf-vs td:nth-child(3), .uf-vs th:nth-child(3) { text-align: center; color: #BFB2A3; }
.uf-vs td:nth-child(2) { color: #9FE0B7; font-size: 1.15rem; }
.uf-vs tr:last-child td { border-bottom: 0; }

/* ---------- Κάρτες ---------- */
.uf-cards { margin-top: 2.5em; }
.uf-cards > .wp-block-column { background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: var(--uf-radius); padding: 30px 28px; transition: transform .2s, box-shadow .2s; }
.uf-cards > .wp-block-column:hover { transform: translateY(-3px); box-shadow: var(--uf-shadow); }
.uf-cards h3 { position: relative; padding-top: 18px; }
.uf-cards h3::before { content: ""; position: absolute; top: 0; left: 0; width: 34px; height: 3px; background: var(--uf-accent); border-radius: 3px; }
.uf-more { font-weight: 600; margin-bottom: 0; }
.uf-more a, a.uf-more { text-decoration: none; }

/* ---------- Λίστα με τικ ---------- */
.uf-checklist { list-style: none; padding: 0; margin: 1.2em 0; }
.uf-checklist li { position: relative; padding-left: 34px; margin-bottom: .7em; }
.uf-checklist li::before { content: "✓"; position: absolute; left: 0; top: .1em; width: 22px; height: 22px; border-radius: 50%; background: rgba(110,127,99,.18); color: var(--uf-sage); display: grid; place-items: center; font-size: .8rem; font-weight: 700; }
.uf-section--ink .uf-checklist li::before { background: rgba(159,224,183,.15); color: #9FE0B7; }

/* ---------- Ομάδα ---------- */
.uf-team { display: grid; gap: 28px; grid-template-columns: repeat(auto-fit, minmax(220px, 280px)); justify-content: center; margin-top: 2.5em; }
.uf-person { text-align: center; }
.uf-person__photo { position: relative; aspect-ratio: 5 / 6; border-radius: 160px 160px var(--uf-radius) var(--uf-radius); overflow: hidden; background: var(--uf-paper-2); margin-bottom: 18px; box-shadow: var(--uf-shadow); }
.uf-person__photo img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.12); }
.uf-person__initial { display: grid; place-items: center; height: 100%; font: 600 4rem var(--uf-serif); color: var(--uf-accent); }
.uf-person__name { margin-bottom: .1em; font-size: 1.25rem; }
.uf-person__role { color: var(--uf-accent); font-weight: 600; font-size: .9rem; margin-bottom: .5em; }
.uf-person__bio { color: var(--uf-ink-soft); font-size: .95rem; }

/* ---------- FAQ ---------- */
.uf-faq > .wp-block-details { max-width: var(--uf-narrow) !important; }
.uf-faq__item { background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: 14px; padding: 0 22px; margin-bottom: 12px; }
.uf-faq__item summary { cursor: pointer; list-style: none; padding: 18px 32px 18px 0; font-family: var(--uf-serif); font-weight: 600; font-size: 1.1rem; position: relative; }
.uf-faq__item summary::-webkit-details-marker { display: none; }
.uf-faq__item summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font: 400 1.6rem var(--uf-sans); color: var(--uf-accent); transition: transform .2s; }
.uf-faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.uf-faq__item p { color: var(--uf-ink-soft); padding-bottom: 6px; }
.uf-faq h2 { margin-bottom: 1.2em; }

/* ---------- Coffee ---------- */
.uf-coffee { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; background: linear-gradient(135deg, #FFF6E6, #F6E3C6); border: 1px solid #EBD3AE; border-radius: var(--uf-radius); padding: 26px clamp(20px, 4vw, 36px); }
.uf-coffee > div { flex: 1 1 320px; }
.uf-coffee__icon { width: 58px; height: 58px; border-radius: 50%; background: #fff; color: var(--uf-gold); display: grid; place-items: center; flex: none; box-shadow: 0 6px 16px -8px rgba(201,154,74,.8); }
.uf-coffee__icon .uf-icon { width: 28px; height: 28px; }
.uf-coffee__title { font-size: 1.35rem; margin-bottom: .2em; }
.uf-coffee p { margin: 0; color: var(--uf-ink-soft); }

/* ---------- CTA ---------- */
.uf-cta { background: var(--uf-accent); color: #fff; text-align: center; }
.uf-cta h2 { color: #fff; }
.uf-cta .wp-block-button__link { background: #fff; color: var(--uf-accent) !important; border-color: #fff; }
.uf-cta .wp-block-button__link:hover { background: var(--uf-ink); color: #fff !important; border-color: var(--uf-ink); }

/* ---------- Φόρμα ---------- */
.uf-form label { display: block; font-weight: 600; font-size: .92rem; margin-bottom: 6px; }
.uf-form input[type=text], .uf-form input[type=email], .uf-form textarea {
	width: 100%; font: inherit; color: var(--uf-ink); background: var(--uf-card);
	border: 1.5px solid var(--uf-line); border-radius: 12px; padding: 12px 14px; transition: border-color .15s, box-shadow .15s;
}
.uf-form input:focus, .uf-form textarea:focus { outline: none; border-color: var(--uf-accent); box-shadow: 0 0 0 4px rgba(181,80,47,.12); }
.uf-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .uf-form__row { grid-template-columns: 1fr; } }
.uf-form__consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; color: var(--uf-ink-soft); }
.uf-form__consent input { margin-top: .35em; accent-color: var(--uf-accent); }
.uf-hp { position: absolute !important; left: -9999px; }
.uf-notice { padding: 14px 18px; border-radius: 12px; font-weight: 500; }
.uf-notice--ok { background: rgba(110,127,99,.15); color: #3D4B35; }
.uf-notice--err { background: rgba(181,80,47,.12); color: var(--uf-accent-dark); }
.uf-contact__direct { margin-top: 1.5em; color: var(--uf-ink-soft); }
.uf-empty { padding: 20px; border: 2px dashed var(--uf-line); border-radius: 12px; text-align: center; color: var(--uf-ink-soft); background: var(--uf-card); }

/* ---------- Νέα ---------- */
.uf-posts { display: grid; gap: 28px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.uf-post-card { background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: var(--uf-radius); overflow: hidden; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.uf-post-card:hover { transform: translateY(-3px); box-shadow: var(--uf-shadow); }
.uf-post-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--uf-paper-2); }
.uf-post-card__img img { width: 100%; height: 100%; object-fit: cover; }
.uf-post-card__ph { display: grid; place-items: center; height: 100%; color: var(--uf-accent); }
.uf-post-card__ph .uf-icon { width: 48px; height: 48px; }
.uf-post-card__body { padding: 22px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.uf-post-card__body time { font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; color: var(--uf-ink-soft); }
.uf-post-card__title { font-size: 1.3rem; margin: .4em 0 .5em; }
.uf-post-card__title a { color: var(--uf-ink); text-decoration: none; }
.uf-post-card__title a:hover { color: var(--uf-accent); }
.uf-post-card__body p { color: var(--uf-ink-soft); flex: 1; }
.uf-pagination { margin-top: 48px; text-align: center; }
.uf-pagination .nav-links { display: inline-flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.uf-pagination .page-numbers { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--uf-line); text-decoration: none; color: var(--uf-ink); }
.uf-pagination .current { background: var(--uf-ink); color: #fff; border-color: var(--uf-ink); }
.uf-single__img { max-width: 1000px; margin: 0 auto 48px; padding: 0 var(--uf-gutter); }
.uf-single__img img { border-radius: var(--uf-radius); width: 100%; }
.uf-single__nav { max-width: var(--uf-narrow); margin: 0 auto var(--uf-section); padding: 24px var(--uf-gutter) 0; border-top: 1px solid var(--uf-line); display: flex; justify-content: space-between; gap: 20px; font-weight: 600; }
.uf-single__nav a { text-decoration: none; }
.uf-content--plain h2 { margin-top: 1.4em; }
.uf-content--plain ul, .uf-content--plain ol { padding-left: 1.3em; }

/* ---------- 404 ---------- */
.uf-404 { text-align: center; padding: var(--uf-section) var(--uf-gutter); max-width: 680px; margin: 0 auto; }
.uf-404__code { font: 700 clamp(6rem, 18vw, 10rem)/1 var(--uf-serif); color: transparent; -webkit-text-stroke: 2px var(--uf-accent); margin: 0 0 .1em; opacity: .7; }

/* ---------- Υποσέλιδο ---------- */
.uf-footer { background: var(--uf-ink); color: #CFC3B3; margin-top: 0; }
.uf-footer__inner { max-width: var(--uf-wide); margin: 0 auto; padding: 64px var(--uf-gutter) 40px; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
@media (max-width: 781px) { .uf-footer__inner { grid-template-columns: 1fr; gap: 28px; } }
.uf-footer__logo { font-family: var(--uf-serif); font-size: 1.5rem; color: #FFF8EE; margin-bottom: .5em; }
.uf-footer__logo em { color: #F0B494; }
.uf-footer__brand p { max-width: 420px; }
.uf-footer__badge { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 6px 14px; font-size: .88rem; color: #FFF8EE; }
.uf-footer__title { font-family: var(--uf-sans); font-size: .8rem; text-transform: uppercase; letter-spacing: .14em; color: var(--uf-gold); margin-bottom: 1em; }
.uf-footer__menu { list-style: none; margin: 0; padding: 0; }
.uf-footer__menu li { margin-bottom: .55em; }
.uf-footer__menu a { color: #EFE6D8; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.uf-footer__menu a:hover { color: #F0B494; }
.uf-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); text-align: center; padding: 20px var(--uf-gutter); font-size: .85rem; }
.uf-footer__bottom p { margin: 0; }

/* ---------- WordPress στοιχεία ---------- */
.alignwide { max-width: var(--uf-wide); margin-left: auto; margin-right: auto; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption-text, figcaption { font-size: .88rem; color: var(--uf-ink-soft); }
.wp-block-separator { border: 0; border-top: 1px solid var(--uf-line); margin: 2em auto; }
.wp-block-quote { border-left: 3px solid var(--uf-accent); margin: 1.5em 0; padding: .2em 0 .2em 1.2em; font-family: var(--uf-serif); font-size: 1.2rem; font-style: italic; }
