/* Γραμματοσειρές φιλοξενούνται τοπικά (χωρίς κλήσεις σε Google, χωρίς cookies).
   Literata, Commissioner, Inter και Manrope, άδεια SIL Open Font License 1.1 (βλ. assets/fonts). */
@font-face {
  font-family: "Literata";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url("../fonts/literata-greek-opsz-normal.woff2") format("woff2-variations"), url("../fonts/literata-greek-opsz-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: "Literata";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url("../fonts/literata-latin-opsz-normal.woff2") format("woff2-variations"), url("../fonts/literata-latin-opsz-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: "Literata";
  font-style: italic;
  font-display: swap;
  font-weight: 200 900;
  src: url("../fonts/literata-greek-opsz-italic.woff2") format("woff2-variations"), url("../fonts/literata-greek-opsz-italic.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: "Literata";
  font-style: italic;
  font-display: swap;
  font-weight: 200 900;
  src: url("../fonts/literata-latin-opsz-italic.woff2") format("woff2-variations"), url("../fonts/literata-latin-opsz-italic.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: "Commissioner";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/commissioner-greek-full-normal.woff2") format("woff2-variations"), url("../fonts/commissioner-greek-full-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: "Commissioner";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/commissioner-latin-full-normal.woff2") format("woff2-variations"), url("../fonts/commissioner-latin-full-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: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/inter-greek-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-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: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-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: "Manrope";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/manrope-greek-wght-normal.woff2") format("woff2-variations"), 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-display: swap;
  font-weight: 200 800;
  src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2-variations"), 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;
}

/* Ελένη Ισπόγλου · κοινή δομή για όλα τα στιλ.
   Τα χρώματα και οι γραμματοσειρές ορίζονται στα style-a.css («Λιτό»), style-b.css («Χρώμα»), style-c.css («Μοντέρνο»).
   Κανόνας: κείμενο 16px στο κινητό (το τηλέφωνο το μεγαλώνει αν έχει μεγάλα γράμματα), ετικέτες με πεζά. */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 1.5rem; }
body {
  margin: 0;
  overflow-x: clip;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.65;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--link-hover); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
h1, h2, h3, h4 { margin: 0; line-height: 1.15; text-wrap: balance; font-family: var(--font-head); font-weight: var(--head-weight); letter-spacing: var(--head-tracking); }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.center { text-align: center; }

:root {
  --fs-body: 1rem;
  --fs-small: .875rem;
  --fs-h1: clamp(2rem, 1.45rem + 2.4vw, 3.3rem);
  --fs-h2: clamp(1.25rem, 1.05rem + 1vw, 1.85rem);
  --fs-h3: clamp(1.05rem, 1rem + .35vw, 1.25rem);
  --fs-lede: clamp(1rem, .96rem + .3vw, 1.15rem);
  --wrap: 1120px;
  --gutter: clamp(16px, 4vw, 40px);
  --space: clamp(2.75rem, 6vw, 5.5rem);
}
@media (min-width: 768px) { :root { --fs-body: 1.0625rem; } }

h1 { font-size: var(--fs-h1); }
.h1 { font-size: var(--fs-h1); }
.h2 { font-size: var(--fs-h2); }
.h3 { font-size: var(--fs-h3); }
.h4 { font-family: var(--font-ui); font-size: .9375rem; letter-spacing: 0; font-weight: 600; text-transform: none; color: var(--ink-soft); margin-top: 1.4rem; }
.lede { font-size: var(--fs-lede); color: var(--ink-soft); line-height: 1.6; max-width: 40em; }
.note { font-family: var(--font-ui); font-size: var(--fs-small); color: var(--ink-soft); }
.fine { font-family: var(--font-ui); font-size: .875rem; color: var(--ink-soft); }
.meta { font-family: var(--font-ui); font-size: var(--fs-small); color: var(--ink-soft); margin-top: .5rem; }
.eyebrow, .kicker { font-family: var(--font-ui); font-size: .875rem; font-weight: 600; letter-spacing: 0; color: var(--accent); margin: 0 0 .7rem; }
.em { font-style: italic; }
.stack > * + * { margin-top: 1em; }
.plain { color: inherit; text-decoration: none; }
.plain:hover { color: var(--accent); }

.skip { position: absolute; left: 1rem; top: -4rem; z-index: 50; background: var(--btn-bg); color: var(--btn-ink); padding: .6rem 1rem; font-family: var(--font-ui); }
.skip:focus { top: 1rem; }

.wrap { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.wrap.narrow { max-width: calc(44rem + 2 * var(--gutter)); }
.section { padding-block: var(--space); overflow-x: clip; }
.section--tight { padding-top: calc(var(--space) * .5); }
.section--alt { background: var(--alt); }
.section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: clamp(1.4rem, 3vw, 2.2rem); }
.split { display: grid; gap: clamp(2rem, 5vw, 4.5rem); grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: start; }
.two-col { display: grid; gap: clamp(2rem, 5vw, 4.5rem); grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: start; }
@media (max-width: 860px) { .split, .two-col { grid-template-columns: 1fr; } }

/* ---------- Κουμπιά και links ---------- */
.actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: 1.6rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 42px; text-align: center;
  font-family: var(--font-ui); font-size: var(--btn-fs); font-weight: var(--btn-weight); letter-spacing: var(--btn-tracking); text-transform: var(--btn-case);
  padding: var(--btn-pad); border-radius: var(--btn-radius);
  background: var(--btn-bg); color: var(--btn-ink); border: 1px solid var(--btn-bg);
  text-decoration: none; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.btn:hover { background: var(--btn-bg-hover); border-color: var(--btn-bg-hover); color: var(--btn-ink); }
.btn--ghost { background: transparent; color: var(--ink); border-color: var(--ghost-line); }
.btn--ghost:hover { background: transparent; color: var(--accent); border-color: var(--accent); }
.btn--small { padding: .55rem 1rem; }
.btn svg { width: 1.1em; height: 1.1em; flex: none; }
.textlink { font-family: var(--font-ui); font-size: var(--fs-small); font-weight: 600; color: var(--ink); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.textlink:hover { color: var(--accent); }
.tile-head .textlink, .h-head .textlink { white-space: nowrap; }
.textlink::after { content: " →"; }

/* ---------- Κεφαλίδα ---------- */
.site-header { border-bottom: 1px solid var(--line); background: var(--header-bg, var(--bg)); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 68px; }
.wordmark { font-family: var(--font-head); font-weight: 650; letter-spacing: -.01em; font-size: 1.1rem; color: var(--ink); text-decoration: none; white-space: nowrap; }
.wordmark:hover { color: var(--accent); }
.nav { display: flex; align-items: center; gap: .15rem; }
.nav a { font-family: var(--font-ui); font-size: var(--nav-fs); letter-spacing: var(--nav-tracking); text-transform: var(--nav-case); font-weight: 500; color: var(--ink); text-decoration: none; padding: .45rem .6rem; white-space: nowrap; }
.nav a:hover { color: var(--accent); }
.nav a[aria-current="page"] { color: var(--accent); }
.nav .lang { color: var(--ink-soft); }
@media (max-width: 960px) {
  .header-inner { flex-direction: column; align-items: stretch; gap: .2rem; padding-block: .8rem 0; min-height: 0; }
  .wordmark { text-align: center; font-size: 1rem; }
  .nav { flex-wrap: wrap; justify-content: center; gap: .1rem .1rem; padding-bottom: .5rem; }
  .nav a { font-size: .9375rem; padding: .45rem .55rem; }
}

/* ---------- Εισαγωγή αρχικής ---------- */
.hero { padding-block: clamp(2rem, 5vw, 4.5rem); }
.hero-grid { display: grid; gap: clamp(1.75rem, 5vw, 4.5rem); grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
.hero-grid .hero-photo { order: 2; }
.hero-photo { position: relative; justify-self: center; width: 100%; }
.hero-photo img { width: 100%; object-fit: cover; position: relative; z-index: 1; }
/* Πορτρέτο σε κύκλο, με λεπτό κοραλλί δαχτυλίδι γύρω του */
.hero-photo--round { max-width: 360px; aspect-ratio: 1; }
.hero-photo--round img { aspect-ratio: 1; border-radius: 50%; }
.hero-photo--round::before { content: ""; position: absolute; inset: -14px; border: 1px solid var(--accent); border-radius: 50%; transform: translate(10px, 8px); }
/* Πορτρέτο σε αψίδα, με λεπτό περίγραμμα μετατοπισμένο από πίσω */
.hero-photo--arch { max-width: 380px; }
.hero-photo--arch img { aspect-ratio: 4 / 5; border-radius: 999px 999px 24px 24px; object-position: 50% 30%; }
.hero-photo--arch::before { content: ""; position: absolute; inset: 0; border: 1.5px solid var(--accent); border-radius: 999px 999px 24px 24px; transform: translate(16px, -16px); }
.hero-text h1 { font-size: clamp(2.3rem, 1.6rem + 3.2vw, 4.2rem); line-height: 1.02; }
.hero-intro { margin-top: 1.2rem; font-size: var(--fs-lede); line-height: 1.65; color: var(--ink-soft); max-width: 32em; }
.hero-links { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; margin-top: 1.8rem; font-family: var(--font-ui); font-size: .9rem; letter-spacing: .02em; font-weight: 600; }
.hero-links a { display: inline-block; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line-strong); padding: .35rem 0 .2rem; }
.hero-links a:hover { color: var(--accent); border-color: var(--accent); }
@media (max-width: 860px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-grid .hero-photo { order: 0; justify-self: start; }
  .hero-photo--round { max-width: 220px; margin: 8px 0 0 4px; }
  .hero-photo--round::before { inset: -10px; transform: translate(7px, 6px); }
  .hero-photo--arch { max-width: 260px; margin-top: 16px; }
  .hero-photo--arch::before { transform: translate(12px, -12px); }
}

/* ---------- Εξώφυλλα ---------- */
.cover { display: block; position: relative; box-shadow: var(--shadow-book); background: var(--alt); }
.cover img { width: 100%; }

/* Νέο βιβλίο */
.feature-grid { display: grid; gap: clamp(2rem, 5vw, 4.5rem); grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); align-items: start; }
.feature-cover { display: block; max-width: 340px; width: 100%; justify-self: center; }
.feature-body { margin-top: 1.3rem; display: grid; gap: .7rem; max-width: 36em; }
@media (max-width: 860px) {
  .feature-grid { grid-template-columns: 1fr; }
  .feature-cover { max-width: 230px; justify-self: start; }
}

/* Πλέγμα βιβλίων */
.book-grid { list-style: none; display: grid; gap: clamp(1.25rem, 4vw, 3rem); grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
.book-grid--small { max-width: 520px; margin-top: 1.5rem; }
@media (max-width: 400px) { .book-grid--small { grid-template-columns: 1fr; } .book-grid--small .cover { max-width: 140px; } }
.book-card a { display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; text-decoration: none; color: var(--ink); }
.book-card .cover { transition: transform .25s ease; }
.book-card a:hover .cover { transform: translateY(-3px); }
.book-card-text { display: grid; gap: .15rem; overflow-wrap: break-word; hyphens: auto; min-width: 0; }
.book-card-title { font-family: var(--font-head); font-size: var(--fs-h3); line-height: 1.25; }
.book-card-meta { font-family: var(--font-ui); font-size: .9rem; color: var(--ink-soft); display: block; }
.book-card a:hover .book-card-title { color: var(--accent); }
.book-minor { display: inline-grid; grid-template-columns: 72px minmax(0, 1fr); gap: 1rem; align-items: center; margin-top: 2.2rem; text-decoration: none; color: var(--ink); padding-top: 1.6rem; border-top: 1px solid var(--line); min-width: min(100%, 420px); }
.book-minor > span:last-child { display: grid; gap: .1rem; }
.book-minor-sub { font-style: italic; color: var(--ink-soft); font-size: .95rem; }
.book-minor:hover .book-card-title { color: var(--accent); }

/* Σελίδα βιβλίων και βιβλίου */
.book-row { display: grid; gap: clamp(1.5rem, 5vw, 4rem); grid-template-columns: minmax(0, 300px) minmax(0, 1fr); align-items: start; }
.book-row--low { grid-template-columns: minmax(0, 230px) minmax(0, 1fr); }
.book-row--compact { grid-template-columns: 96px minmax(0, 1fr); gap: 1.25rem; }
.book-row-cover { display: block; width: 100%; }
.book-row-text .lede { margin-top: 1rem; }
.subtitle { font-style: italic; color: var(--ink-soft); font-size: var(--fs-h3); margin-top: .35rem; }
.subtitle-en { color: var(--ink-soft); margin: .2rem 0 .5rem; }
@media (max-width: 700px) {
  .book-row, .book-row--low { grid-template-columns: 1fr; }
  .book-row .book-row-cover { max-width: 200px; }
  .book-row--compact { grid-template-columns: 80px minmax(0, 1fr); }
}
.en-books h3 a { display: inline-block; padding: .15rem 0; }
.en-prose { max-width: 680px; margin-top: 1.2rem; }
.en-links { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin-top: .7rem; }
.en-books .gr { margin-top: .8rem; }
.en-books .honors { margin: .2rem 0 .7rem; }
.en-books { list-style: none; display: grid; gap: 2.2rem; margin-top: 2rem; max-width: 760px; }

.book-hero { padding-block: clamp(1.5rem, 4vw, 3rem) var(--space); }
.book-hero h1 { font-size: var(--fs-h1); }
.crumbs { font-family: var(--font-ui); font-size: .875rem; color: var(--ink-soft); padding-top: 1.1rem; }
.crumbs a { color: var(--ink-soft); display: inline-block; padding: .3rem 0; }  /* μεγαλύτερη επιφάνεια για το δάχτυλο */
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 0 .4rem; }
.crumbs li + li::before { content: "/"; margin-right: .4rem; opacity: .6; }
.facts { margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: .9rem 2rem; font-family: var(--font-ui); font-size: 1rem; }
.facts dt { font-size: .875rem; letter-spacing: 0; font-weight: 600; color: var(--ink-soft); }
.facts dd { margin: .1rem 0 0; font-variant-numeric: tabular-nums; }
.buy-box { margin-top: 1.8rem; display: grid; gap: .6rem; }
.buy-box .label { font-family: var(--font-ui); font-size: .9375rem; letter-spacing: 0; font-weight: 600; color: var(--ink-soft); }
.buy-box .actions { margin-top: 0; }

.backcover, .poem { display: grid; gap: .9rem; margin-top: 1.2rem; font-family: var(--font-read); font-size: var(--fs-lede); line-height: 1.7; }
.side { display: grid; gap: 1rem; align-content: start; }
.side .h3 { margin-bottom: .2rem; }

.excerpt { margin-top: 1.5rem; display: grid; gap: 1em; font-family: var(--font-read); font-size: 1.05em; line-height: 1.8; }
.excerpt .gap { text-align: center; color: var(--ink-soft); }
.excerpt .src { font-family: var(--font-ui); font-size: var(--fs-small); color: var(--ink-soft); margin-top: .5rem; }

/* Playlist */
.playlist { margin-top: 1.8rem; padding: 1.2rem; border: 1px solid var(--line); background: var(--playlist-bg, transparent); border-radius: var(--card-radius); display: grid; gap: .9rem; max-width: 34rem; }
.playlist-head { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .8rem; align-items: start; }
.playlist-head .ico { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border-radius: 50%; background: var(--alt); color: var(--accent); }
.playlist-head .ico svg { width: 1.2rem; height: 1.2rem; }
.playlist-title { font-family: var(--font-ui); font-weight: 600; font-size: 1rem; }
.playlist-note { font-size: 1rem; color: var(--ink-soft); margin-top: .15rem; }
.playlist-frame { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: center; }
.playlist-frame.is-loaded { display: grid; gap: .6rem; }
.playlist-frame iframe { width: 100%; max-width: 100%; }

/* ---------- Κριτικές ---------- */
.quotes { display: grid; gap: clamp(1.5rem, 4vw, 3rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); margin-top: clamp(1.5rem, 3vw, 2.5rem); }
/* Τέσσερις κριτικές: δύο δύο, όχι τρεις και μία μόνη της */
@media (min-width: 700px) { .quotes:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; margin-inline: auto; } }
.quote blockquote { margin: 0; font-family: var(--font-quote); font-size: var(--fs-quote); font-style: var(--quote-style); line-height: 1.4; font-weight: var(--quote-weight); }
.quote figcaption { margin-top: .8rem; font-family: var(--font-ui); font-size: .8125rem; color: var(--ink-soft); display: grid; gap: .1rem; }
.quote .who { color: var(--ink); font-weight: 600; }

/* ---------- Λίστες ---------- */
.text-list { list-style: none; border-top: 1px solid var(--line); }
.text-list li { border-bottom: 1px solid var(--line); }
.text-list a { display: grid; gap: .3rem; padding-block: 1.2rem; text-decoration: none; color: var(--ink); }
.text-list a:hover .text-title { color: var(--accent); }
.text-kind { font-family: var(--font-ui); font-size: .875rem; letter-spacing: 0; font-weight: 600; color: var(--accent); }
.text-title { font-family: var(--font-head); font-size: var(--fs-h3); line-height: 1.3; transition: color .2s ease; }
.text-teaser { color: var(--ink-soft); font-size: 1rem; max-width: 46em; }

.rows { list-style: none; border-top: 1px solid var(--line); margin-top: 1.2rem; }
.row { border-bottom: 1px solid var(--line); }
.row a { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr) auto; gap: .3rem 1.5rem; padding-block: 1rem; text-decoration: none; color: inherit; align-items: baseline; }
.row a:hover .row-title { color: var(--accent); }
.row-outlet { font-family: var(--font-ui); font-size: .875rem; font-weight: 600; letter-spacing: 0; color: var(--ink-soft); }
.row-title { font-family: var(--font-head); font-size: 1.05rem; line-height: 1.4; transition: color .2s ease; }
.row-meta { font-family: var(--font-ui); font-size: .875rem; color: var(--ink-soft); white-space: nowrap; }
.row-sub { grid-column: 2; font-family: var(--font-ui); font-size: .875rem; color: var(--ink-soft); }
.after-rows { margin-top: 1.4rem; }
@media (max-width: 700px) {
  .row a { grid-template-columns: 1fr; gap: .2rem; }
  .row-sub { grid-column: auto; }
  .row-meta { white-space: normal; }
}

/* ---------- Εκδηλώσεις ---------- */
.events { list-style: none; display: grid; margin-top: 1.2rem; border-top: 1px solid var(--line); }
.event { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1.2rem; padding-block: 1.3rem; border-bottom: 1px solid var(--line); }
.event[data-past] { display: none; }
.event-date { font-family: var(--font-ui); font-variant-numeric: tabular-nums; text-align: left; }
.event-date .d { display: block; font-size: 1.8rem; line-height: 1; font-weight: 300; }
.event-date .m { display: block; font-size: .875rem; letter-spacing: .03em; font-weight: 600; color: var(--accent); margin-top: .35rem; }
.event-date .y { display: block; font-size: .875rem; color: var(--ink-soft); }
.event h3 { font-size: var(--fs-h3); }
.event .where { font-family: var(--font-ui); font-size: .9375rem; color: var(--ink-soft); margin-top: .3rem; }
.event .note { margin-top: .5rem; font-family: var(--font-body); font-size: 1rem; color: var(--ink); }
.event .textlink { display: inline-block; margin-top: .7rem; }
.after-events { margin-top: 1.3rem; color: var(--ink-soft); }
.side-photo img { width: 100%; }
.side-photo { max-width: 400px; justify-self: center; width: 100%; }
.side-photo--small { max-width: 280px; margin-top: 1rem; justify-self: start; }
@media (max-width: 860px) { .side-photo { max-width: 340px; justify-self: start; } }

.talks { display: grid; gap: 1.2rem; margin-top: 1.4rem; }
.talk { padding-left: 1.1rem; border-left: 2px solid var(--accent); }
.talk h3 { font-size: var(--fs-h3); }
.talk p { color: var(--ink-soft); margin-top: .35rem; }

.qlist { margin-top: 1.2rem; padding-left: 1.3rem; display: grid; gap: .9rem; max-width: 42em; }
.qlist li { padding-left: .3rem; }
.qlist li::marker { font-family: var(--font-ui); color: var(--accent); font-weight: 600; }

/* ---------- Σελίδες ---------- */
.page-head { padding-block: clamp(2.2rem, 6vw, 4.5rem) clamp(1rem, 3vw, 2rem); }
.page-head .lede { margin-top: .9rem; }
.page-head--404 { padding-bottom: var(--space); }

.article-head { padding-block: clamp(1.5rem, 4vw, 3rem) 1.5rem; }
.article-head h1 { font-size: clamp(1.7rem, 1.3rem + 2vw, 2.8rem); }
.prose { display: grid; gap: 1.15em; font-family: var(--font-read); font-size: 1.06em; line-height: 1.85; }
.article .prose, .article .poem { padding-bottom: 1rem; }
.article .poem { font-style: italic; }
.signature { margin-top: 2.2rem; margin-bottom: var(--space); font-family: var(--font-ui); letter-spacing: 0; font-size: 1rem; font-weight: 600; color: var(--ink-soft); }
.about-text .signature { margin-bottom: 0; }

.themes { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.themes li { font-family: var(--font-ui); font-size: .85rem; padding: .45rem .9rem; border: 1px solid var(--line-strong); border-radius: var(--chip-radius); }

.faq { display: grid; margin-top: 1.2rem; border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; font-family: var(--font-ui); font-weight: 600; font-size: 1rem; padding: 1rem 0; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-weight: 300; font-size: 1.3rem; line-height: 1; color: var(--accent); }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding-bottom: 1.1rem; color: var(--ink-soft); }

/* ---------- Επικοινωνία ---------- */
.email-box { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; font-family: var(--font-ui); }
.email-box .addr { font-size: 1.05rem; font-weight: 600; user-select: all; overflow-wrap: anywhere; }
.email-box--big { margin-bottom: 1.8rem; }
.email-box--big .addr { font-size: var(--fs-h3); }
.copy-btn { font-family: var(--font-ui); font-size: .875rem; font-weight: 600; cursor: pointer; background: transparent; color: var(--ink); border: 1px solid var(--ghost-line); border-radius: var(--btn-radius); padding: .35rem .75rem; }
.copy-btn:hover { color: var(--accent); border-color: var(--accent); }

.channels { list-style: none; display: grid; gap: .6rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); }
.channel a { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .8rem; align-items: center; padding: .8rem .9rem; text-decoration: none; color: var(--ink); border: 1px solid var(--line); border-radius: var(--card-radius); background: var(--card-bg, transparent); transition: border-color .2s ease; }
.channel a:hover { border-color: var(--accent); color: var(--ink); }
.channel .ico { width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; background: var(--alt); color: var(--ink); }
.section--alt .channel .ico { background: var(--bg); }
.channel .ico svg { width: 1.15rem; height: 1.15rem; }
.channel .name { font-family: var(--font-ui); font-weight: 600; font-size: 1rem; display: block; }
.channel .handle { font-family: var(--font-ui); font-size: .875rem; color: var(--ink-soft); display: block; overflow-wrap: anywhere; }

.dedication { display: grid; gap: clamp(2rem, 5vw, 4rem); grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
@media (max-width: 860px) { .dedication { grid-template-columns: 1fr; } }
.form { display: grid; gap: 1rem; padding: clamp(1.2rem, 3vw, 2rem); background: var(--bg); border: 1px solid var(--line); border-radius: var(--card-radius); }
.field { display: grid; gap: .35rem; }
.field label { font-family: var(--font-ui); font-size: .9375rem; font-weight: 600; }
.field .hint { font-weight: 400; color: var(--ink-soft); }
.field input, .field select, .field textarea { font: inherit; font-family: var(--font-ui); font-size: 1rem; color: var(--ink); background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--input-radius); padding: .65rem .8rem; width: 100%; }
.field textarea { min-height: 5.5rem; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--focus); outline-offset: 1px; }
.form-row { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
@media (max-width: 560px) { .form-row { grid-template-columns: 1fr; } }
.form .btn { justify-self: start; }
.form-status { font-family: var(--font-ui); font-size: .9375rem; }

/* ---------- Νέα (Viber) ---------- */
.news-grid { display: grid; gap: clamp(1.4rem, 4vw, 3rem); grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); align-items: start; }
.news-item { display: grid; gap: 1rem; justify-items: start; }
.news-item p { color: var(--ink-soft); }
@media (max-width: 860px) { .news-grid { grid-template-columns: 1fr; } }

/* ---------- Διαφήμιση (κλειστή) ---------- */
.ad-slot { margin-block: 2rem; min-height: 120px; display: grid; place-items: center; border: 1px dashed var(--line-strong); }
.ad-slot .ad-label { font-family: var(--font-ui); font-size: .8125rem; letter-spacing: .02em; color: var(--ink-soft); }

/* ---------- Υποσέλιδο ---------- */
.site-footer { background: var(--footer-bg); color: var(--footer-ink); padding-block: clamp(1.4rem, 3vw, 2rem) 1rem; border-top: 1px solid var(--line); }
.site-footer a { color: var(--footer-ink); }
.site-footer a:hover { color: var(--accent); }
.footer-top { display: grid; gap: .35rem; justify-items: start; }
.footer-label { font-family: var(--font-head); font-size: 1.125rem; font-weight: 650; letter-spacing: 0; color: var(--footer-ink); }
.footer-social { list-style: none; display: flex; flex-wrap: wrap; gap: .2rem; margin-inline: -.55rem; }
.footer-social a { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; }
.footer-social a:hover { background: var(--alt); }
.footer-social svg { width: 1.6rem; height: 1.6rem; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 0 .9rem; margin-top: .6rem; font-family: var(--font-ui); font-size: .75rem; }
.footer-nav a { text-decoration: none; padding-block: .2rem; }
.footer-bottom { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .1rem 1.2rem; font-family: var(--font-ui); font-size: .75rem; color: var(--footer-soft); }
.footer-bottom a { color: var(--footer-soft); }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
@media print { .site-header, .site-footer, .actions, .ad-slot, .playlist { display: none !important; } body { background: #fff; color: #000; } }

/* Κείμενα: ημερομηνία, φωτογραφία, υπότιτλοι */
.article-meta { font-family: var(--font-ui); font-size: var(--fs-small); color: var(--ink-soft); margin-top: .8rem; }
.article-meta a { color: inherit; }
.article-photo { margin-top: 1.4rem; margin-bottom: 1.8rem; }
.article-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 35%; border-radius: 16px; }
.article-art { margin-top: 1.4rem; margin-bottom: 1.8rem; }
.article-art img { width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; border-radius: var(--photo-radius, 16px); }
.prose h2 { font-family: var(--font-head); font-size: var(--fs-h3); line-height: 1.3; margin-top: .6em; }
.prose a { color: var(--link); }

/* Εκδηλώσεις: φωτογραφία ή αφίσα, online */
.event--photo { grid-template-columns: 4.5rem minmax(0, 1fr) 160px; }
.event-photo { display: block; align-self: start; }
.event-photo img { width: 100%; height: auto; border-radius: 12px; }
.online { display: inline-block; font-weight: 600; color: var(--accent); }
@media (max-width: 700px) {
  .event--photo { grid-template-columns: 4.5rem minmax(0, 1fr); }
  .event--photo .event-photo { grid-column: 2; max-width: 150px; margin-top: .2rem; }
}

/* Γκαλερί «Στιγμές» */
.gallery { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.8rem, 2vw, 1.4rem); margin-top: 1.4rem; }
.gallery-link { display: block; border-radius: 18px; overflow: hidden; background: var(--alt); }
.gallery-link img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .4s ease; }
.gallery-link:hover img { transform: scale(1.03); }
.gallery-cap { font-family: var(--font-ui); font-size: var(--fs-small); color: var(--ink-soft); margin-top: .55rem; line-height: 1.4; }
@media (max-width: 760px) { .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gallery-link { border-radius: 14px; } }

/* Μεγέθυνση φωτογραφίας */
.lightbox { border: 0; padding: 0; background: transparent; max-width: min(94vw, 1100px); max-height: 92vh; overflow: visible; }
.lightbox::backdrop { background: rgba(15, 12, 12, .86); }
.lightbox img { display: block; max-width: min(94vw, 1100px); max-height: 80vh; width: auto; height: auto; border-radius: 14px; margin: 0 auto; }
.lightbox p:empty { display: none; }
.lightbox p { color: #F3EDE7; font-family: var(--font-ui); font-size: .92rem; text-align: center; margin-top: .8rem; }
.lightbox-close { position: absolute; top: -2.6rem; right: 0; background: rgba(255, 255, 255, .14); color: #fff; border: 0; border-radius: 999px; width: 2.4rem; height: 2.4rem; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.lightbox-close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Τύπος: φωτογραφίες για δημοσίευση */
.press-grid { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.8rem, 2vw, 1.4rem); margin-top: 1.4rem; }
.press-grid img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 16px; }
.press-grid figcaption { font-family: var(--font-ui); font-size: var(--fs-small); color: var(--ink-soft); margin-top: .5rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .2rem .8rem; }
.press-grid figcaption a { font-weight: 600; color: var(--ink); }
@media (max-width: 760px) { .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Βιβλία: φωτογραφία με τα τρία βιβλία */
.books-banner { margin-bottom: clamp(1rem, 3vw, 2rem); }
.books-banner img { width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; border-radius: 22px; }
@media (max-width: 760px) { .books-banner img { aspect-ratio: 16 / 10; border-radius: 16px; } }

/* Επικοινωνία: Viber */
.viber-photo { display: block; max-width: 340px; }
.viber-photo img { border-radius: 18px; }
.press-grid img.is-landscape { object-fit: contain; background: var(--alt); }

/* Για μένα: λιγότερα και πιο καθαρά */
.about-text { max-width: 36em; }
.about-links { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; margin-top: .4rem; }
.about-photo-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(.8rem, 2vw, 1.4rem); }
.about-photo-row img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; }
@media (max-width: 760px) { .about-photo-row { grid-template-columns: 1fr; } .about-photo-row img { aspect-ratio: 3 / 2; border-radius: 16px; } }

/* Tab Viber στο μενού */
.nav a.nav-viber { display: inline-flex; align-items: center; gap: .35rem; background: #665CAC; color: #fff; border-radius: 999px; padding-inline: .8rem .9rem; font-weight: 600; }
.nav a.nav-viber:hover { background: #564C9C; color: #fff; }
.nav a.nav-viber svg { width: 1rem; height: 1rem; }

/* ---------- Μενού «burger» σε κινητό και tablet ---------- */
.menu-btn { display: none; }
.menu-icon, .menu-icon::before, .menu-icon::after { display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, background-color .2s ease; }
.menu-icon { position: relative; }
.menu-icon::before, .menu-icon::after { content: ""; position: absolute; left: 0; }
.menu-icon::before { top: -6px; }
.menu-icon::after { top: 6px; }
.is-open .menu-icon { background: transparent; }
.is-open .menu-icon::before { transform: translateY(6px) rotate(45deg); }
.is-open .menu-icon::after { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 960px) {
  html.js .header-inner { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .5rem; padding-block: .55rem; min-height: 0; }
  html.js .wordmark { text-align: left; margin-right: auto; }
  html.js .menu-btn { display: inline-grid; place-items: center; flex: none; width: 42px; height: 42px; padding: 0; border-radius: 999px; border: 1px solid var(--line-strong); background: transparent; color: var(--ink); cursor: pointer; }
  html.js .menu-btn:hover { border-color: var(--ink); }
  html.js .nav { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: .1rem; padding: .3rem 0 .4rem; border-top: 1px solid var(--line); margin-top: .2rem; }
  html.js .site-header.is-open .nav { display: flex; }
  html.js .nav a { font-size: 1rem; padding: .7rem .9rem; border-radius: 14px; text-align: left; }
  /* στο μενού του κινητού το Viber είναι απλή γραμμή, όπως τα άλλα */
  html.js .nav a.nav-viber { background: transparent; color: var(--ink); font-weight: 500; padding: .7rem .9rem; gap: .5rem; }
  html.js .nav a.nav-viber:hover { background: var(--alt); color: var(--ink); }
  html.js .nav .lang { align-self: flex-start; margin: .3rem 0 0 .4rem; }
}
@media print { .menu-btn { display: none !important; } }

/* ---------- Κοινά για τα τρία μοντέρνα στιλ ---------- */
.btn--viber { background: #665CAC; border-color: #665CAC; color: #FFFFFF; }
.btn--viber:hover { background: #564C9C; border-color: #564C9C; color: #FFFFFF; }
.hero-photo--rect { max-width: 340px; }
.hero-photo--rect img { aspect-ratio: 4 / 5; object-position: 50% 30%; border-radius: var(--photo-radius, 20px); }
@media (max-width: 860px) { .hero-photo--rect { max-width: 220px; } }
.gallery--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery--4 .gallery-link img { aspect-ratio: 1; }
@media (max-width: 860px) { .gallery--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Αρχική των στιλ 1 και 2 (templates/home.html): μόνο η δομή ---------- */
.h-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; }
.h-hero h1 { font-size: clamp(2.3rem, 1.4rem + 3vw, 3.8rem); line-height: 1.04; }
.h-hero-line { margin-top: 1.1rem; font-size: var(--fs-lede); line-height: 1.55; color: var(--ink-soft); max-width: 26em; }
.h-hero-pic img { width: 100%; height: auto; }
.h-book-grid { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; }
.h-book-cover { display: block; }
.h-book h2 { font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3rem); line-height: 1.08; }
.h-book-lead { margin-top: 1rem; font-size: var(--fs-lede); line-height: 1.6; max-width: 32em; }
.h-title { font-size: var(--fs-h2); }
.h-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .4rem 1rem; margin-bottom: 1.4rem; }
.h-quotes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.4rem, 3.5vw, 3rem); margin-top: 1.6rem; }
.h-quotes .for-book { display: block; }
.h-shelf-list { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); }
.h-shelf-book { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 1.2rem; align-items: center; text-decoration: none; color: var(--ink); }
.h-shelf-book:hover { color: var(--ink); }
.h-shelf-title { display: block; font-family: var(--font-head); font-weight: var(--head-weight); letter-spacing: var(--head-tracking); font-size: 1.25rem; line-height: 1.25; }
.h-shelf-meta { display: block; margin-top: .35rem; font-size: var(--fs-small); color: var(--ink-soft); }
.h-shelf-book:hover .h-shelf-title { color: var(--accent); }
.h-more-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 4rem); }
.h-list { list-style: none; border-top: 1px solid var(--line); }
.h-list li { border-bottom: 1px solid var(--line); }
.h-list a { display: block; padding-block: .95rem; color: var(--ink); text-decoration: none; font-weight: 500; line-height: 1.4; }
.h-list a:hover { color: var(--accent); }
.h-more .events { margin-top: 0; }
.h-viber-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem 2rem; }
.h-viber h2 { font-size: var(--fs-h2); }
.h-viber p { margin-top: .45rem; max-width: 36em; }
@media (max-width: 860px) {
  .h-quotes-grid, .h-more-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .h-hero-grid, .h-book-grid, .h-shelf-list { grid-template-columns: 1fr; }
  .h-book-cover { max-width: 150px; }
  .h-shelf-book { grid-template-columns: 84px minmax(0, 1fr); gap: 1rem; }
  .h-shelf-title { font-size: 1.15rem; }
  .h-viber-inner .btn { flex: 1 1 auto; }
}

/* ---------- Βίντεο: η εικόνα όπως στο YouTube, με ▶ ---------- */
.yt-thumb {
  position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 12px;
  /* όσο φορτώνει ή αν δεν φορτώσει η εικόνα: σκούρο πλαίσιο όπως στο YouTube */
  background: #1B1B1B;
}
.yt-thumb picture, .yt-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; }
.yt-thumb img { object-fit: cover; transition: transform .35s ease; }
.yt-thumb img.is-broken { display: none; }
.yt-play {
  position: absolute; left: .55rem; bottom: .55rem; width: 2.5rem; height: 1.75rem;
  display: grid; place-items: center; border-radius: 11px; background: #D9261C; color: #fff;
  transition: background .2s ease;
}
.yt-play svg { width: .95rem; height: .95rem; margin-left: 2px; }
/* χωρίς εικόνα: το ▶ στη μέση */
.yt-thumb.is-empty .yt-play { left: 50%; top: 50%; bottom: auto; transform: translate(-50%, -50%); }
a:hover .yt-play, a:focus-visible .yt-play { background: #B31B13; }
a:hover .yt-thumb img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .yt-thumb img, .yt-play { transition: none; } a:hover .yt-thumb img { transform: none; } }

.video-grid { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr)); gap: clamp(1.1rem, 2.6vw, 1.8rem); margin-top: 1.4rem; }
@media (max-width: 560px) {
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem .9rem; }
  .video-title { font-size: .9375rem; }
  .video-card .yt-play { width: 2.1rem; height: 1.5rem; border-radius: 8px; left: .4rem; bottom: .4rem; }
}
.video-card a { display: grid; gap: .7rem; text-decoration: none; color: inherit; }
.video-text { display: grid; gap: .2rem; }
.video-text .row-sub { grid-column: auto; }
.video-title { font-family: var(--font-head); font-size: 1rem; line-height: 1.4; transition: color .2s ease; }
.video-card a:hover .video-title { color: var(--accent); }

/* Γραμμή στη λίστα με μικρή εικόνα βίντεο */
.row--video a { grid-template-columns: 7.5rem minmax(0, 11rem) minmax(0, 1fr) auto; align-items: center; }
.row--video .yt-thumb { grid-row: span 2; border-radius: 8px; }
.row--video .yt-play { width: 1.7rem; height: 1.2rem; border-radius: 6px; left: .3rem; bottom: .3rem; }
.row--video .yt-play svg { width: .7rem; height: .7rem; }
.row--video .row-sub { grid-column: 3; }
@media (max-width: 760px) {
  .row--video a { grid-template-columns: 6.5rem minmax(0, 1fr); gap: .2rem .9rem; align-items: start; }
  .row--video .yt-thumb { grid-row: span 4; }
  .row--video .row-sub { grid-column: 2; }
}

/* Εκδήλωση με βίντεο */
.event-video .yt-thumb { border-radius: 12px; }

/* ---------- Goodreads: αστέρια ---------- */
.gr { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .7rem; font-family: var(--font-ui); font-size: var(--fs-small); color: var(--ink-soft); margin-top: 1rem; }
.gr .stars { flex: none; }
.gr .stars-empty { fill: var(--line-strong); }
.gr .stars-full { fill: var(--star, #D98A2B); }
.gr-text strong { color: var(--ink); font-weight: 650; }
.gr .textlink { font-size: var(--fs-small); }

/* ---------- Διακρίσεις βιβλίου (best seller κ.λπ.) ---------- */
.honors { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .7rem; }
.honors li {
  display: inline-flex; align-items: center; gap: .35rem; padding: .24rem .75rem .24rem .55rem; border-radius: .9rem;
  background: #CDD4D6; color: #1F1B1A; border: 1px solid rgba(31, 27, 26, .1);
  font-family: var(--font-ui); font-size: .75rem; font-weight: 600; letter-spacing: .005em; line-height: 1.3;
}
.honors svg { width: .8rem; height: .8rem; flex: none; color: var(--honor-star, #6B5B4E); }
/* Ανοιχτό γκρι σαν το φόντο του εξωφύλλου· το αστεράκι παίρνει το χρώμα του βιβλίου */
.honors--pos-na-se-sygchoriso { --honor-star: #D9544A; }
.honors--gia-osa-tolmisa { --honor-star: #50677A; }

/* ---------- Φόρμες (Web3Forms) ---------- */
.hp { display: none !important; }
.contact-grid { display: grid; gap: clamp(1.6rem, 4vw, 3rem); grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
@media (max-width: 860px) { .contact-grid { grid-template-columns: 1fr; } }
.channels-title { font-family: var(--font-ui); font-size: .9375rem; font-weight: 600; color: var(--ink-soft); margin-bottom: .7rem; }
.contact-grid .channels { margin-top: 0; }
.after-form { margin-top: .9rem; font-family: var(--font-ui); font-size: .9375rem; color: var(--ink-soft); }
.form-status:empty { display: none; }
.form-status.is-ok { color: var(--ink); font-weight: 600; }
.form-status.is-err { color: var(--accent); font-weight: 600; }
.form.is-sending .btn { opacity: .6; pointer-events: none; }

/* Στιλ 3 · «Μοντέρνο»
   Στρογγυλεμένα πλακίδια (bento) στα χρώματα των εξωφύλλων: το γκριζογάλαζο, το κοραλλί, το ροδακινί
   και το δαμασκηνί του «Πώς να σε συγχωρήσω;», η άμμος και το γαλάζιο του «Για όσα τόλμησα»,
   το λιλά της «μία ιστορία αγάπης». Στρογγυλά σχήματα σαν αυτά των εξωφύλλων.
   Τίτλοι σε Commissioner, κείμενο σε Inter, κριτικές σε Literata. */

:root {
  --bg: #F3F0EB;
  --alt: #EAE5DE;
  --card: #FFFFFF;
  --ink: #1F1B1A;
  --ink-soft: #5C5552;
  --line: rgba(31, 27, 26, .12);
  --line-strong: rgba(31, 27, 26, .26);
  --ghost-line: rgba(31, 27, 26, .35);
  --accent: #A63D35;
  --link: #1F1B1A;
  --link-hover: #A63D35;
  --focus: #A63D35;
  --btn-bg: #1F1B1A;
  --btn-ink: #FFFFFF;
  --btn-bg-hover: #A63D35;
  --header-bg: rgba(255, 255, 255, .78);
  --footer-bg: #3F2529;
  --footer-ink: #F3EDE7;
  --footer-soft: #BDB3AD;
  --sage: #D3DFD8;
  --coral: #E66359;
  --coral-ink: #1F1B1A;
  --plum: #4A292E;
  --plum-ink: #F7ECE7;
  --shadow-book: 0 2px 6px rgba(31, 27, 26, .12), 0 20px 36px -18px rgba(31, 27, 26, .55);
  --card-bg: var(--card);
  --playlist-bg: transparent;

  --font-head: "Commissioner", "Noto Sans", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", "Noto Sans", "Segoe UI", system-ui, sans-serif;
  --font-read: "Literata", "Noto Serif", Georgia, serif;
  --font-quote: "Literata", "Noto Serif", Georgia, serif;
  --font-ui: "Inter", "Noto Sans", "Segoe UI", system-ui, sans-serif;
  --head-weight: 600;
  --head-tracking: -.03em;
  --fs-quote: clamp(1rem, .96rem + .3vw, 1.15rem);
  --quote-style: normal;
  --quote-weight: 400;

  --btn-fs: .9375rem;
  --btn-weight: 600;
  --btn-tracking: 0;
  --btn-case: none;
  --btn-pad: .6rem 1.2rem;
  --btn-radius: 999px;
  --card-radius: 28px;
  --input-radius: 14px;
  --chip-radius: 999px;
  --nav-fs: .9375rem;
  --nav-tracking: 0;
  --nav-case: none;
  --tile-radius: clamp(20px, 3vw, 32px);

  --pos-bg: #D5DCDC;   --pos-accent: #9E362F;
  --tol-bg: #E9E0D5;   --tol-accent: #4B5F6E;
  --mia-bg: #F1ECF1;   --mia-accent: #6E2A63;
  --c-blue: #D5DCDC; --c-coral: #E4705F; --c-peach: #F2B4A2; --c-rose: #F7DFD6; --c-plum: #6B3A40;
  --c-sand: #ECE3D6; --c-sky: #DCE7EE; --c-lilac: #F1ECF1;
  --blob-sky: #B9CFDD; --blob-lilac: #DCCBE0; --blob-tol: #A9C4D6; --blob-mia: #D3B6D8;
  --hero-ink: #2A2322; --hero-soft: #4A4240; --hero-accent: #A6342C;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #121010;
    --alt: #181414;
    --card: #1C1818;
    --ink: #F2ECE6;
    --ink-soft: #BDB2AC;
    --line: rgba(242, 236, 230, .12);
    --line-strong: rgba(242, 236, 230, .26);
    --ghost-line: rgba(242, 236, 230, .45);
    --accent: #F08A7D;
    --link: #F2ECE6;
    --link-hover: #F08A7D;
    --focus: #F08A7D;
    --btn-bg: #F2ECE6;
    --btn-ink: #121010;
    --btn-bg-hover: #F08A7D;
    --header-bg: rgba(28, 24, 24, .8);
    --footer-bg: #1C1818;
    --footer-ink: #F2ECE6;
    --footer-soft: #A89E98;
    --sage: #1E2924;
    --coral: #D05A50;
    --coral-ink: #121010;
    --plum: #3A2024;
    --plum-ink: #F7ECE7;
    --shadow-book: 0 2px 6px rgba(0, 0, 0, .45), 0 20px 36px -16px rgba(0, 0, 0, .9);
    --pos-bg: #232A2B;   --pos-accent: #F08A7D;
    --tol-bg: #2A241F;   --tol-accent: #A9BDCC;
    --mia-bg: #282127;   --mia-accent: #DDA8D2;
    --c-blue: #1E2627; --c-coral: #B9493F; --c-peach: #7A4A42; --c-rose: #2B201E; --c-plum: #C98E96;
    --c-sand: #28221C; --c-sky: #1B2328; --c-lilac: #241E24;
    --blob-sky: #2A3A45; --blob-lilac: #3A2E3B; --blob-tol: #34495A; --blob-mia: #4E3651;
    --hero-ink: #F2ECE6; --hero-soft: #CFC5C0; --hero-accent: #F4A193;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #121010;
  --alt: #181414;
  --card: #1C1818;
  --ink: #F2ECE6;
  --ink-soft: #BDB2AC;
  --line: rgba(242, 236, 230, .12);
  --line-strong: rgba(242, 236, 230, .26);
  --ghost-line: rgba(242, 236, 230, .45);
  --accent: #F08A7D;
  --link: #F2ECE6;
  --link-hover: #F08A7D;
  --focus: #F08A7D;
  --btn-bg: #F2ECE6;
  --btn-ink: #121010;
  --btn-bg-hover: #F08A7D;
  --header-bg: rgba(28, 24, 24, .8);
  --footer-bg: #1C1818;
  --footer-ink: #F2ECE6;
  --footer-soft: #A89E98;
  --sage: #1E2924;
  --coral: #D05A50;
  --coral-ink: #121010;
  --plum: #3A2024;
  --plum-ink: #F7ECE7;
  --shadow-book: 0 2px 6px rgba(0, 0, 0, .45), 0 20px 36px -16px rgba(0, 0, 0, .9);
  --pos-bg: #232A2B;   --pos-accent: #F08A7D;
  --tol-bg: #2A241F;   --tol-accent: #A9BDCC;
  --mia-bg: #282127;   --mia-accent: #DDA8D2;
  --c-blue: #1E2627; --c-coral: #B9493F; --c-peach: #7A4A42; --c-rose: #2B201E; --c-plum: #C98E96;
  --c-sand: #28221C; --c-sky: #1B2328; --c-lilac: #241E24;
  --blob-sky: #2A3A45; --blob-lilac: #3A2E3B; --blob-tol: #34495A; --blob-mia: #4E3651;
  --hero-ink: #F2ECE6; --hero-soft: #CFC5C0; --hero-accent: #F4A193;
  color-scheme: dark;
}

.book-pos-na-se-sygchoriso { --band: var(--pos-bg); --accent: var(--pos-accent); }
.book-gia-osa-tolmisa { --band: var(--tol-bg); --accent: var(--tol-accent); }
.book-mia-istoria-agapis { --band: var(--mia-bg); --accent: var(--mia-accent); }

/* ---------- Κεφαλίδα: πλωτή «χάπι» ---------- */
.site-header { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 10px); z-index: 30; border: 0; background: transparent; padding-inline: clamp(8px, 2vw, 24px); margin-top: 10px; }
.header-inner { background: var(--header-bg); -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); border: 1px solid var(--line); border-radius: 999px; min-height: 58px; padding-inline: 1.3rem .5rem; box-shadow: 0 8px 30px -18px rgba(0, 0, 0, .35); max-width: 1180px; }
.wordmark { font-weight: 700; }
.nav a { border-radius: 999px; font-weight: 500; }
.nav a:hover { background: var(--alt); color: var(--ink); }
.nav a[aria-current="page"] { background: var(--ink); color: var(--bg); }
.nav .lang { border: 1px solid var(--line); margin-left: .2rem; }
@media (max-width: 960px) {
  .site-header { position: static; }
  .header-inner { border-radius: 24px; padding: .8rem .6rem .4rem; }
  html.js .header-inner { padding: .5rem .5rem .5rem 1.1rem; border-radius: 28px; }
  html.js .site-header.is-open .header-inner { padding-bottom: .6rem; }
}
html { scroll-padding-top: 5.5rem; }

/* ---------- Τίτλοι ---------- */
.page-head h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem); line-height: 1.02; }
.h2 { font-weight: 600; }
.pill { display: inline-block; font-family: var(--font-ui); font-size: .8125rem; font-weight: 600; padding: .25rem .75rem; border-radius: 999px; background: var(--ink); color: var(--bg); margin-bottom: .9rem; }

/* ---------- Bento αρχικής ---------- */
.bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 16px); padding-block: clamp(1.2rem, 3vw, 2rem) clamp(2rem, 5vw, 3.5rem); max-width: 1240px; }
.tile { background: var(--card); border-radius: var(--tile-radius); padding: clamp(1.2rem, 2.6vw, 2.2rem); position: relative; overflow: hidden; border: 1px solid var(--line); isolation: isolate; }
.tile h2 { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); font-weight: 600; }
.tile-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .3rem 1rem; margin-bottom: .9rem; }
.tile-sub { font-size: var(--fs-small); color: var(--ink-soft); }
.mini-title { display: block; font-family: var(--font-head); font-weight: 600; font-size: 1.05rem; line-height: 1.25; letter-spacing: -.01em; }
.mini-meta { display: block; margin-top: .2rem; font-size: .875rem; color: var(--ink-soft); }

/* Εμφάνιση με ήπια κίνηση καθώς κατεβαίνεις (όχι αν ο χρήστης έχει ζητήσει λιγότερη κίνηση) */
html.js .reveal { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease; }
html.js .reveal.is-in, html.reveal-done .reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.js .reveal { opacity: 1; transform: none; transition: none; } }

/* Πρώτη ματιά: το γκριζογάλαζο του εξωφύλλου με κοραλλί και ροδακινί σχήματα, η φωτογραφία δεξιά */
.tile-hero { grid-column: span 12; padding: 0; border: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(320px, 44vh, 440px);
  background: var(--c-blue); color: var(--hero-ink); --ink: var(--hero-ink); --ink-soft: var(--hero-soft); --accent: var(--hero-accent); --focus: var(--hero-accent);
  --btn-bg: var(--hero-ink); --btn-ink: var(--c-blue); --btn-bg-hover: var(--c-plum); --ghost-line: color-mix(in srgb, var(--hero-ink) 45%, transparent); }
.tile-hero::before { content: ""; position: absolute; z-index: -1; width: clamp(150px, 17vw, 230px); aspect-ratio: 1.15; left: -6%; bottom: -30%; background: var(--c-coral); border-radius: 58% 42% 50% 50% / 55% 48% 52% 45%; }
.tile-hero::after { content: ""; position: absolute; z-index: -1; width: clamp(70px, 8vw, 120px); aspect-ratio: 1; left: 34%; top: -7%; background: var(--c-peach); border-radius: 50%; }
.tile-hero .btn--ghost { color: var(--hero-ink); }
.tile-hero .btn--ghost:hover { background: color-mix(in srgb, #FFFFFF 35%, transparent); color: var(--hero-ink); border-color: var(--hero-ink); }
.hero-copy { position: relative; padding: clamp(1.8rem, 5vw, 4rem); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.hero-copy::after { content: ""; position: absolute; z-index: -1; width: 34px; aspect-ratio: 1; right: 12%; top: 16%; background: var(--c-plum); border-radius: 50%; }
.tile-hero h1 { font-size: clamp(1.8rem, 1.25rem + 1.4vw, 2.5rem); font-weight: 600; line-height: 1.08; letter-spacing: -.02em; }
.tile-hero .eyebrow { margin-bottom: .4rem; }
.tile-hero .hero-bio { margin-top: .9rem; max-width: 32em; color: var(--ink); font-size: .8125rem; line-height: 1.6; }
.hero-photo-c { position: relative; min-height: 100%; }
.hero-photo-c picture, .hero-photo-c img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-photo-c img { object-fit: cover; object-position: 50% 22%; }

/* Το νέο βιβλίο: μόνο το εξώφυλλο, πάνω σε κοραλλί σχήμα */
.tile-book { grid-column: span 12; background: var(--c-rose); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(1.4rem, 4vw, 3rem); align-items: center; border: 0; }
.tile-book-visual { position: relative; display: block; width: 100%; max-width: 230px; justify-self: center; margin-block: .6rem; }
.tile-book-visual::before { content: ""; position: absolute; z-index: -1; inset: 14% -20% -9% -16%; background: var(--c-coral); border-radius: 55% 45% 52% 48% / 48% 55% 45% 52%; }
.tile-book-visual .cover img { border-radius: 3px; }
.tile-book h2 { font-size: clamp(1.6rem, 1.15rem + 1.8vw, 2.4rem); letter-spacing: -.03em; }
.tile-book .tile-lead { margin-top: .9rem; color: var(--ink-soft); max-width: 32em; }

/* Κριτικές: τρεις ισότιμες, μικρά γράμματα, χωρίς έντονα */
.tile-quotes { grid-column: span 12; background: var(--c-sand); border: 0; --line: rgba(31, 27, 26, .14); }
.tile-quotes-title { margin-bottom: 1.1rem; }
.quotes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.1rem, 3vw, 2.4rem); }
.tile-quotes .quote { border-top: 1px solid var(--line); padding-top: 1rem; }
.tile-quotes .quote blockquote { font-size: .9375rem; line-height: 1.55; }
.tile-quotes .quote figcaption { font-size: .75rem; margin-top: .6rem; }
@media (max-width: 760px) {
  .tile-quotes .quote { padding-top: .8rem; }
  .tile-quotes .quote blockquote { font-size: .875rem; }
  .tile-quotes .quotes-grid { gap: .8rem; }
}
.tile-quotes .quote .who { font-weight: 600; }
.quote .for-book { display: block; margin-top: .1rem; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tile-quotes { --line: rgba(242, 236, 230, .16); } }
:root[data-theme="dark"] .tile-quotes { --line: rgba(242, 236, 230, .16); }

/* Τα προηγούμενα βιβλία */
.tile-shelf { grid-column: span 12; }
.shelf-books { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.shelf-book { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 1rem; align-items: center; padding: .75rem 1rem .75rem .75rem; border-radius: 18px; background: var(--band); color: var(--ink); text-decoration: none; transition: transform .2s ease; }
.shelf-book:hover { color: var(--ink); transform: translateX(4px); }
.shelf-book .cover img { border-radius: 3px; box-shadow: 0 4px 10px -5px rgba(0, 0, 0, .45); }

/* Στιγμές */
.tile-moments { grid-column: span 12; }
.tile-moments .tile-head { margin-bottom: 0; }
.gallery--tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1rem; }
.gallery--tiles .gallery-link img { aspect-ratio: 1; }

/* Κάτω σειρά: κείμενα, εκδηλώσεις, Viber */
.tile-texts { grid-column: span 4; background: var(--c-lilac); border: 0; }
.mini-list { list-style: none; display: grid; }
.mini-list li { border-top: 1px solid var(--line); }
.mini-list a { display: block; padding-block: .8rem; text-decoration: none; color: var(--ink); font-weight: 500; font-size: 1rem; line-height: 1.4; }
.mini-list a:hover { color: var(--accent); }
.tile-events { grid-column: span 4; background: var(--c-sky); border: 0; }
.tile-events .events { margin-top: 0; }
.tile-news { grid-column: span 4; background: #665CAC; color: #FFFFFF; border: 0; --ink: #FFFFFF; --ink-soft: #FFFFFF; --focus: #FFFFFF; display: grid; gap: .8rem; align-content: start; }
.tile-news::after { content: ""; position: absolute; z-index: -1; width: 120px; aspect-ratio: 1; right: -30px; bottom: -40px; background: #7E74C0; border-radius: 50%; }
.tile-news .actions { margin-top: .2rem; }
.tile-news .btn--viber { background: #FFFFFF; border-color: #FFFFFF; color: #3D3480; }
.tile-news .btn--viber:hover { background: #F0EEFA; border-color: #F0EEFA; color: #3D3480; }

/* Σε άλλες σελίδες (π.χ. English): στρογγυλεμένο ορθογώνιο */
.hero-photo--rect img { border-radius: var(--tile-radius); }

@media (max-width: 1100px) {
  .tile-hero { min-height: 340px; }
  .tile-texts, .tile-events { grid-column: span 6; }
  .tile-news { grid-column: span 12; }
  .tile-news p { max-width: 52ch; }
}

/* ---------- Κινητό ---------- */
@media (max-width: 760px) {
  .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .tile, .tile-hero, .tile-book, .tile-quotes, .tile-shelf, .tile-moments, .tile-texts, .tile-events, .tile-news { grid-column: span 2; }
  .tile { padding: 1.2rem 1.15rem; }
  /* Μικρή κάρτα: φωτογραφία αριστερά (όλη, όχι μόνο το πρόσωπο), όνομα δεξιά */
  .tile-hero { grid-template-columns: minmax(0, 44%) minmax(0, 1fr); grid-template-rows: 1fr auto auto 1fr; column-gap: 1rem; align-items: center; min-height: 0; padding: 1rem; }
  .tile-hero::before { width: 100px; left: auto; right: -46px; bottom: -58px; }
  .tile-hero::after { width: 56px; left: auto; right: -14px; top: -16px; }
  .hero-copy::after { display: none; }
  .hero-copy { display: contents; }
  .hero-photo-c { grid-column: 1; grid-row: 1 / 5; width: 100%; min-height: 0; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 2px var(--c-coral), 0 12px 24px -14px rgba(0, 0, 0, .5); }
  .hero-photo-c img { object-position: 50% 15%; }
  .tile-hero .eyebrow { grid-column: 2; grid-row: 2; margin: 0 0 .15rem; }
  .tile-hero h1 { grid-column: 2; grid-row: 3; font-size: 1.45rem; }
  .tile-hero .hero-bio { grid-column: 1 / -1; grid-row: 5; margin-top: .9rem; font-size: .8125rem; line-height: 1.55; max-width: none; }
  .btn { font-size: .875rem; padding: .55rem 1rem; min-height: 40px; }
  .tile-book { grid-template-columns: 1fr; gap: 1.1rem; }
  .tile-book-visual { max-width: 140px; justify-self: start; margin: .4rem 0 .2rem .8rem; }
  .tile-book h2 { font-size: 1.45rem; }
  .quotes-grid { grid-template-columns: 1fr; gap: 1rem; }
  .gallery--tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shelf-books { grid-template-columns: 1fr; }
  .page-head h1 { font-size: 1.75rem; }
  .event-date .d { font-size: 1.45rem; }
  .book-hero .book-row-cover { max-width: 170px; }
  .side-photo { max-width: 260px; }
  .side-photo--small, .viber-photo { max-width: 280px; justify-self: center; }  /* χωρίς κενό δεξιά */
}

/* ---------- Υπόλοιπες σελίδες: πλωτά στρογγυλεμένα πάνελ ---------- */
.section--alt, .book-hero, .book-band, section.section[class*="book-"], .news { margin-inline: clamp(8px, 2vw, 24px); border-radius: var(--tile-radius); }
.section--alt { background: var(--card); border: 1px solid var(--line); }
.book-hero, .book-band, section.section[class*="book-"] { background: var(--band, var(--card)); border: 0; }
.book-hero { margin-top: .5rem; }
.news { background: #665CAC; color: #FFFFFF; --ink: #FFFFFF; --ink-soft: #FFFFFF; --btn-bg: #FFFFFF; --btn-ink: #3D3480; --btn-bg-hover: #F0EEFA; --focus: #FFFFFF; margin-bottom: clamp(8px, 2vw, 24px); }
.news .btn:hover { color: #3D3480; }
.section + .section--alt, .section--alt + .section { margin-top: 0; }

.hero:not(.bento) { padding-block: clamp(2rem, 5vw, 4rem); }
.book-card a { background: var(--band, var(--card)); padding: clamp(1rem, 2.5vw, 1.4rem); border-radius: var(--tile-radius); }
.book-minor { background: var(--band, var(--card)); border: 0; padding: 1rem 1.2rem 1rem 1rem; border-radius: 20px; }
.talk { border-left: 0; padding: 1.2rem; background: var(--bg); border-radius: 20px; }
.form { border-radius: 24px; }
.channel a { border-radius: 18px; background: var(--card); }
.side-photo img, .photo img, .press-photos img { border-radius: 24px; }
.text-list li { border-color: var(--line); }

/* Υποσέλιδο σε σκούρο πάνελ */
.site-footer { margin: 0 clamp(8px, 2vw, 24px) clamp(8px, 2vw, 24px); border-radius: var(--tile-radius); border: 0; --line: rgba(243, 237, 231, .16); --accent: #F2A99B; --alt: rgba(255, 255, 255, .08); }
.site-footer .wordmark { font-weight: 700; }

/* ---------- Στρογγυλά σχήματα σαν των εξωφύλλων, σε όλες τις σελίδες ----------
   Μένουν πάντα στις γωνίες ή πίσω από φωτογραφίες και εξώφυλλα, για να μην πέφτουν πάνω στο κείμενο. */
.book-pos-na-se-sygchoriso { --blob: var(--c-coral); }
.book-gia-osa-tolmisa { --blob: var(--blob-tol); }
.book-mia-istoria-agapis { --blob: var(--blob-mia); }
.page-head, .section--alt, .book-hero, .book-band, .news { position: relative; isolation: isolate; overflow: hidden; }

/* Τίτλος κάθε σελίδας: κοραλλί σχήμα δεξιά και ένας ροδακινί κύκλος */
.page-head::before { content: ""; position: absolute; z-index: -1; width: clamp(120px, 15vw, 210px); aspect-ratio: 1.15; right: -46px; top: 12%; background: var(--c-coral); border-radius: 58% 42% 50% 50% / 55% 48% 52% 45%; }
.page-head .wrap { padding-right: calc(var(--gutter) + clamp(60px, 10vw, 150px)); }
.page-head::after { content: ""; position: absolute; z-index: -1; width: clamp(38px, 4.5vw, 64px); aspect-ratio: 1; right: calc(clamp(120px, 15vw, 210px) - 20px); top: 6%; background: var(--c-peach); border-radius: 50%; }

/* Πάνελ: ροδακινί κύκλος στην κάτω δεξιά γωνία */
.section--alt::after { content: ""; position: absolute; z-index: -1; width: clamp(80px, 9vw, 130px); aspect-ratio: 1; right: -34px; bottom: -44px; background: var(--c-peach); border-radius: 50%; }
.news::after { background: #7E74C0; }

/* Εξώφυλλα στη σελίδα κάθε βιβλίου και στη λίστα: σχήμα από πίσω, στο χρώμα του βιβλίου */
.book-row-cover { position: relative; isolation: isolate; }
.book-row-cover::before { content: ""; position: absolute; z-index: -1; inset: 14% -16% -8% -14%; background: var(--blob, var(--c-coral)); border-radius: 55% 45% 52% 48% / 48% 55% 45% 52%; }
.book-row--compact .book-row-cover::before { inset: 18% -14% -8% -16%; }
.book-hero::after { content: ""; position: absolute; z-index: -1; width: clamp(90px, 11vw, 150px); aspect-ratio: 1; right: -36px; top: -36px; background: var(--c-peach); border-radius: 50%; }
.book-band::after { content: ""; position: absolute; z-index: -1; width: clamp(70px, 8vw, 110px); aspect-ratio: 1; right: -28px; bottom: -36px; background: var(--c-peach); border-radius: 50%; }

/* Φωτογραφίες στο «Για μένα» και στην αγγλική σελίδα */
.about-split .side-photo, .hero-photo--rect { position: relative; isolation: isolate; }
.about-split .side-photo::before, .hero-photo--rect::before { content: ""; position: absolute; z-index: -1; inset: 22% -8% -7% 24%; background: var(--c-coral); border-radius: 58% 42% 50% 50% / 55% 48% 52% 45%; transform: none; border: 0; }
.hero-photo--rect::after { content: ""; position: absolute; z-index: -1; width: 22%; aspect-ratio: 1; left: -8%; top: -5%; background: var(--c-peach); border-radius: 50%; }

/* Αρχική: σχήματα στις γωνίες των πλακιδίων */
.tile-book::after { content: ""; position: absolute; z-index: -1; width: clamp(70px, 8vw, 110px); aspect-ratio: 1; right: -24px; top: -24px; background: var(--c-peach); border-radius: 50%; }
.tile-quotes::after { content: ""; position: absolute; z-index: -1; width: 110px; aspect-ratio: 1.15; right: -52px; bottom: -58px; background: var(--c-coral); border-radius: 58% 42% 50% 50% / 55% 48% 52% 45%; }
.tile-quotes::before { content: ""; position: absolute; z-index: -1; width: 22px; aspect-ratio: 1; right: 7%; top: 1.4rem; background: var(--c-plum); border-radius: 50%; }
.tile-shelf::after { content: ""; position: absolute; z-index: -1; width: 100px; aspect-ratio: 1; right: -36px; bottom: -46px; background: var(--c-peach); border-radius: 50%; }
.tile-texts::after { content: ""; position: absolute; z-index: -1; width: 100px; aspect-ratio: 1; right: -36px; bottom: -46px; background: var(--blob-lilac); border-radius: 50%; }
.tile-events::after { content: ""; position: absolute; z-index: -1; width: 110px; aspect-ratio: 1.15; right: -44px; bottom: -50px; background: var(--blob-sky); border-radius: 55% 45% 52% 48% / 48% 55% 45% 52%; }
@media (max-width: 760px) {
  .page-head::before { width: 110px; right: -52px; top: 18%; }
  .page-head::after { width: 34px; right: 64px; top: 10%; }
  .tile-book::after { width: 64px; right: -20px; top: -20px; }
}

/* Κανάλι Viber: πιο μαζεμένο κουτί */
.section.news { padding-block: clamp(1.3rem, 3vw, 2rem); }
.news .news-grid { gap: .55rem 2rem; align-items: center; }
.news .h2 { font-size: clamp(1.15rem, 1.05rem + .5vw, 1.4rem); }
.news .news-item { gap: .7rem; }
.news .news-item p { font-size: .9375rem; }
.news .btn, .tile-news .btn--viber { padding: .5rem 1.05rem; min-height: 38px; font-size: .875rem; }
.news::after { width: 70px; right: -24px; bottom: -32px; }
.tile-news { gap: .55rem; }
.tile-news p { font-size: .9375rem; }
.tile-news::after { width: 80px; right: -24px; bottom: -32px; }
/* ίδιο κενό πάνω και κάτω από το κουτί */
.section.news, .section + .section.news { margin-top: clamp(8px, 2vw, 24px); }
/* στον υπολογιστή: τίτλος, φράση και κουμπί στη σειρά */
@media (min-width: 861px) {
  .news .news-grid { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.4rem; }
  .news .news-item { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; }
}

/* Αρχική: πιο μικρά γράμματα στις λίστες «Κείμενα» και «Εκδηλώσεις» (όχι μέσα στα κείμενα) */
.mini-list a { font-size: .9375rem; line-height: 1.38; padding-block: .65rem; }
.tile-events .event { padding-block: 1rem; }
.tile-events .event h3 { font-size: 1rem; line-height: 1.35; }
.tile-events .event .where { font-size: .8125rem; }
.tile-events .event-date .d { font-size: 1.5rem; }
@media (max-width: 760px) {
  .mini-list a { font-size: .875rem; }
  .tile-events .event h3 { font-size: .9375rem; }
}
