/* Koinonia theme: mobile-first, no frameworks, system fonts. */

:root {
	--ink: #1f2326;
	--muted: #5b6066;
	--charcoal: #2a2e32;
	--burgundy: #5e1214;
	--burgundy-dark: #440c0e;
	--brown: #5a3d3a;
	--gold: #8a5f36;
	--gold-light: #c9a26b;
	--paper: #f3f1ee;
	--card: #fff;
	--line: #dedad4;
	--radius: 4px;
	--shadow: 0 1px 2px rgb(0 0 0 / .06), 0 4px 14px rgb(0 0 0 / .06);
	--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
	--gutter: 1rem;
	--max: 77rem; /* 1200px περιεχόμενο + 2 × gutter, όπως το live */
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

body {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--ink);
	background: var(--paper);
	text-rendering: optimizeLegibility;
}

img, video, iframe, svg { max-width: 100%; height: auto; }
a { color: var(--burgundy); text-underline-offset: .15em; }
a:hover { color: var(--burgundy-dark); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

h1, h2, h3, h4 { font-family: var(--font-serif); line-height: 1.25; margin: 0 0 .5em; text-wrap: balance; }

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

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
	clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip-link:focus { position: fixed !important; z-index: 1000; top: .5rem; left: .5rem; width: auto; height: auto; margin: 0; padding: .75rem 1rem; clip-path: none; background: #fff; color: var(--burgundy); box-shadow: var(--shadow); }

/* ---------- Header ---------- */
.site-brand { background: var(--charcoal); color: #fff; text-align: center; border-bottom: 3px solid var(--gold); }
.site-brand__inner { max-width: 1200px; margin-inline: auto; }
.site-brand .site-tagline { display: none; }
.site-title--art { margin: 0; line-height: 0; letter-spacing: 0; text-transform: none; }
.site-title__img { display: block; width: 100%; max-width: 1200px; height: clamp(66px, 14.2vw, 170px); margin-inline: auto; object-fit: cover; object-position: center; }
.site-title { margin: 0; font-family: var(--font-serif); font-size: clamp(1.2rem, 5.4vw, 2.8rem); letter-spacing: .06em; overflow-wrap: anywhere; text-transform: uppercase; font-weight: 600; }
.site-title a { color: #fff; text-decoration: none; }
.site-tagline { margin: .35rem 0 0; color: #d6cfc6; font-size: .95rem; }
.site-logo img { max-height: 110px; width: auto; }

.site-nav-bar { background: var(--burgundy); color: #fff; position: relative; z-index: 50; }
.site-nav-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 3.25rem; }
.nav-toggle, .search-toggle { appearance: none; background: transparent; color: #fff; border: 0; padding: .6rem .75rem; min-height: 44px; min-width: 44px; font: inherit; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; display: inline-flex; align-items: center; gap: .5rem; }
.nav-toggle:hover, .search-toggle:hover { background: var(--burgundy-dark); }
.nav-toggle__icon, .nav-toggle__icon::before, .nav-toggle__icon::after { display: block; width: 20px; height: 2px; background: currentColor; position: relative; content: ""; }
.nav-toggle__icon::before { position: absolute; top: -6px; }
.nav-toggle__icon::after { position: absolute; top: 6px; }

.primary-nav { display: none; position: absolute; inset: 100% 0 auto; background: var(--burgundy-dark); max-height: 80vh; overflow-y: auto; }
.primary-nav.is-open { display: block; }
.primary-nav ul { list-style: none; margin: 0; padding: 0; }
.primary-nav a { display: block; padding: .8rem var(--gutter); color: #fff; text-decoration: none; font-weight: 700; font-size: .875rem; text-transform: uppercase; letter-spacing: .03em; }
.primary-nav a:hover, .primary-nav .current-menu-item > a, .primary-nav .current-cat > a { background: rgb(255 255 255 / .12); }
.primary-nav li { position: relative; }
.primary-nav .sub-menu, .primary-nav .children { display: none; background: rgb(0 0 0 / .18); }
.primary-nav .is-open > .sub-menu, .primary-nav .is-open > .children { display: block; }
.primary-nav .sub-menu a, .primary-nav .children a { padding-left: calc(var(--gutter) * 2); text-transform: none; font-weight: 600; font-size: .95rem; }
.primary-nav .sub-menu .sub-menu a { padding-left: calc(var(--gutter) * 3); }
.submenu-toggle { position: absolute; top: 0; right: 0; width: 48px; height: 44px; background: transparent; border: 0; color: #fff; cursor: pointer; }
.submenu-toggle::before { content: ""; display: block; width: 8px; height: 8px; margin: auto; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s; }
.is-open > .submenu-toggle::before { transform: rotate(-135deg); }

.header-search { background: var(--burgundy-dark); padding-block: .75rem; }
.header-search[hidden] { display: none; }

@media (min-width: 62rem) {
	.nav-toggle { display: none; }
	.primary-nav { display: block; position: static; background: transparent; max-height: none; overflow: visible; flex: 1; }
	.primary-nav > ul { display: flex; flex-wrap: wrap; }
	.primary-nav > ul > li > a { padding: 1rem .9rem; }
	.primary-nav .submenu-toggle { display: none; }
	.primary-nav .sub-menu, .primary-nav .children { display: none; position: absolute; top: 100%; left: 0; min-width: 16rem; background: var(--burgundy-dark); box-shadow: var(--shadow); z-index: 60; }
	.primary-nav .sub-menu .sub-menu, .primary-nav .children .children { top: 0; left: 100%; }
	.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu,
	.primary-nav li:hover > .children, .primary-nav li:focus-within > .children { display: block; }
	.primary-nav .sub-menu a, .primary-nav .children a { padding: .6rem 1rem !important; }
}

/* ---------- Layout ---------- */
.site-main { padding-block: 1.25rem 3rem; }
.layout { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 62rem) { .layout { grid-template-columns: minmax(0, 1fr) 17.375rem; gap: 1.8125rem; } } /* κύρια στήλη 893px + sidebar 278px, όπως το live */
.layout__main { min-width: 0; }

.breadcrumbs { padding-block: .75rem 0; font-size: .85rem; color: var(--muted); }
.breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem; margin: 0; padding: 0; }
.breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: .35rem; color: var(--muted); }
.breadcrumbs a { color: var(--muted); }

.page-title { font-size: clamp(1.6rem, 4vw, 2.2rem); }
.archive-header { margin-bottom: 1.5rem; border-bottom: 2px solid var(--line); padding-bottom: .75rem; }
.archive-description { color: var(--muted); }
.section-title { font-size: 1.1rem; text-transform: uppercase; letter-spacing: .08em; color: var(--charcoal); margin: 0 0 1rem; padding-bottom: .5rem; border-bottom: 3px solid var(--gold); display: inline-block; }

/* ---------- Buttons ---------- */
.button, .search-form__submit, .comment-form .submit, .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .6rem 1.25rem;
	background: var(--burgundy); color: #fff; border: 0; border-radius: var(--radius); font: inherit; font-weight: 700; text-decoration: none; cursor: pointer;
	transition: background-color .15s;
}
.button:hover, .search-form__submit:hover, .comment-form .submit:hover { background: var(--burgundy-dark); color: #fff; }

/* ---------- Search form ---------- */
.search-form { display: flex; gap: .5rem; }
.search-form__field { flex: 1; min-width: 0; min-height: 44px; padding: .5rem .75rem; font: inherit; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--ink); }
.widget--search .search-form__submit, .widget_search .search-form__submit { padding-inline: .9rem; }

/* ---------- Hero ---------- */
.hero { position: relative; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 2.5rem; overflow: hidden; }
.hero__track { list-style: none; margin: 0; padding: 0; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.hero__track::-webkit-scrollbar { display: none; }
.hero__slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
.hero__media { display: block; aspect-ratio: 3 / 2; background: var(--charcoal); }
.hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero__body { padding: 1.25rem 1.25rem 3.5rem; display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; }
/* Πάνελ με το χρώμα της κατηγορίας (--hero-c) και κάθετη γραμμή που το χωρίζει από την εικόνα. */
.hero__body { background: var(--hero-c, #393b38); color: #fff; border-top: 4px solid rgb(255 255 255 / .85); }
.hero__title a { color: #fff; text-decoration: none; }
.hero__title a:hover { color: #fff; text-decoration: underline; }
.hero__excerpt { margin: 0 0 .5rem; color: rgb(255 255 255 / .92); }
.hero__body .button { background: #fff; color: #1f2326; }
.hero__body .button:hover { background: #1f2326; color: #fff; }
.hero__meta, .card__meta, .entry-meta { font-size: .85rem; color: var(--muted); display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: center; }
.hero__meta, .hero__meta .posted-on, .hero__meta time { color: rgb(255 255 255 / .9); }
.hero__meta .kicker { color: #fff; background: rgb(0 0 0 / .28); padding: .15rem .55rem; border-radius: 3px; }
.hero__title { font-size: clamp(1.4rem, 3.4vw, 2rem); margin: 0; }
.hero__controls { position: absolute; right: 1rem; bottom: .75rem; display: flex; align-items: center; gap: .5rem; font-size: .9rem; color: var(--muted); }
.hero__btn { width: 44px; height: 44px; border: 1px solid var(--line); background: #fff; border-radius: 50%; font-size: 1.1rem; cursor: pointer; color: var(--burgundy); }
.hero__btn:hover { background: var(--burgundy); color: #fff; }
/* Σε συσκευές με hover τα κουμπιά εμφανίζονται μόνο στο hover/focus· σε αφή μένουν πάντα ορατά. */
@media (hover: hover) {
	.hero__controls { opacity: 0; transition: opacity .2s; }
	.hero:hover .hero__controls, .hero:focus-within .hero__controls { opacity: 1; }
}
@media (hover: hover) and (prefers-reduced-motion: reduce) { .hero__controls { transition: none; } }
@media (min-width: 48rem) {
	.hero__slide { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: auto; align-items: stretch; }
	.hero__media { aspect-ratio: 3 / 2; min-height: 0; align-self: start; }
	.hero__body { padding: 1.25rem; justify-content: center; border-top: 0; border-left: 4px solid rgb(255 255 255 / .85); }
	.hero__controls { right: auto; left: .75rem; bottom: .75rem; background: rgb(0 0 0 / .55); color: #fff; padding: .25rem .5rem; border-radius: 999px; }
	.hero__body .button { white-space: nowrap; padding: .6rem 1rem; font-size: .9rem; }
	.hero__title { font-size: clamp(1.15rem, 2.2vw, 1.5rem); display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
	.hero__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .95rem; margin-bottom: .25rem; }
}

/* ---------- Kicker / meta ---------- */
.kicker { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--gold); text-decoration: none; }
a.kicker:hover { text-decoration: underline; color: var(--burgundy); }
.meta-sep { opacity: .6; }

/* ---------- Cards ---------- */
.card-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
@media (min-width: 48rem) { .card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.card { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.card:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgb(0 0 0 / .08), 0 10px 24px rgb(0 0 0 / .1); }
.card__media { display: block; aspect-ratio: 16 / 9; background: var(--charcoal); overflow: hidden; }
.card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.card__body { padding: 1rem 1.1rem 1.25rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.card__title { font-size: 1.1rem; margin: 0; }
.card__title a { color: var(--ink); text-decoration: none; }
.card__title a::after { content: ""; position: absolute; inset: 0; } /* ολόκληρη η κάρτα κλικαμπλ */
.card { position: relative; }
.card__title a:hover { color: var(--burgundy); }
.card__excerpt { margin: 0; color: var(--muted); font-size: .95rem; }
.card__more { margin-top: auto; align-self: flex-start; padding: .5rem .9rem; background: var(--burgundy); color: #fff; font-size: .85rem; font-weight: 700; border-radius: var(--radius); }
.card:hover .card__more { background: var(--burgundy-dark); }

/* ---------- Picks / tabs ---------- */
.picks { margin-bottom: 2.5rem; background: #fff; border-radius: 6px; overflow: hidden; box-shadow: var(--shadow); }
/* Μπάρα «Επιλογές»: τίτλος + καρτέλες-pills στο ίδιο μπορντό πλαίσιο. */
.picks__bar { min-height: 5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; background: var(--burgundy); padding: .7rem 1rem; }
.picks__title { margin: 0; font-size: 1.35rem; text-transform: none; letter-spacing: 0; color: var(--gold-light); }
.tabs__list { display: none; }
.tabs.is-enhanced .tabs__list { display: flex; flex-wrap: wrap; gap: .4rem; }
.tabs__tab { --tab-bg: #b32a30; --tab-fg: #fff; appearance: none; background: transparent; color: #fff; border: 1px solid rgb(255 255 255 / .35); border-radius: 999px; font: inherit; font-size: .95rem; padding: .4rem 1rem; min-height: 38px; cursor: pointer; transition: background-color .15s, border-color .15s; }
.tabs__tab:hover { background: rgb(255 255 255 / .12); }
.tabs__tab[aria-selected="true"] { background: var(--tab-bg); border-color: var(--tab-bg); color: var(--tab-fg); font-weight: 600; }
/* Κάθε καρτέλα έχει δικό της χρώμα όταν είναι επιλεγμένη. */
#tab-video { --tab-bg: #b32a30; }
#tab-articles { --tab-bg: #1b7ba3; }
#tab-audio { --tab-bg: #c38e0a; --tab-fg: #1f2326; }
.picks__body { padding: 1.1rem; background: var(--paper); }
.picks .card { box-shadow: none; border: 1px solid var(--line); }
.picks .card:hover { box-shadow: 0 2px 8px rgb(0 0 0 / .1); }
.tabs.is-enhanced [data-js-hidden] { display: none; }

/* ---------- Homepage columns, texts, topics ---------- */
.home-cols { display: grid; gap: 2rem; margin-top: 2.5rem; }
@media (min-width: 52rem) { .home-cols { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
.home-col { min-width: 0; background: #fff; border-radius: 6px; overflow: hidden; box-shadow: var(--shadow); }
.home-col .picks__bar { min-height: 5rem; background: #393b38; }
.home-col .picks__title { color: #dcc694; }
.home-col .picks__title { font-size: 1.35rem; letter-spacing: 0; text-transform: none; }
.home-col__list { background: #fff; padding: 1rem; display: flex; flex-direction: column; gap: 1rem; }
.feature { display: flex; flex-direction: column; gap: .75rem; }
.feature__media, .row-item__media { position: relative; display: block; background: var(--charcoal); overflow: hidden; border-radius: var(--radius); }
.feature__media { aspect-ratio: 16 / 9; }
.feature__media img, .row-item__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.feature__meta { font-size: .8rem; color: var(--muted); display: flex; flex-wrap: wrap; gap: .25rem .75rem; }
.feature__title { font-size: 1.3rem; margin: .1rem 0 .25rem; }
.feature__title a, .row-item__title a { color: var(--ink); text-decoration: none; }
.feature__title a:hover, .row-item__title a:hover { color: var(--burgundy); text-decoration: underline; }
.feature__excerpt { margin: .35rem 0; color: var(--muted); font-size: .95rem; }
.feature__tags { margin: 0 0 .5rem; font-size: .85rem; color: var(--muted); }
.byline { margin: 0; font-size: .85rem; font-style: italic; color: var(--gold); }
.more { font-weight: 700; font-size: .9rem; text-decoration: none; }
.more:hover { text-decoration: underline; }
.row-item { display: grid; grid-template-columns: 7.5rem 1fr; gap: .85rem; align-items: start; padding-top: 1rem; border-top: 1px solid var(--line); }
.row-item__media { aspect-ratio: 16 / 9; }
.row-item__title { font-size: 1rem; margin: 0 0 .15rem; line-height: 1.35; }
.row-item .posted-on { font-size: .8rem; color: var(--muted); }
.has-play::after { content: ""; position: absolute; inset: 0; margin: auto; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: rgb(0 0 0 / .55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") center / 60% no-repeat; pointer-events: none; }
.row-item .has-play::after { width: 1.9rem; height: 1.9rem; }
.term-block { margin-top: 2.5rem; background: #fff; border-radius: 6px; overflow: hidden; box-shadow: var(--shadow); }
.term-block .picks__bar { background: #393b38; }
.term-block .picks__title { color: #dcc694; }
.terms { padding: 1.1rem 1.25rem 1.25rem; }
.terms__search input { width: 100%; font: inherit; padding: .65rem .9rem; border: 1px solid #cfc9bf; border-radius: 8px; min-height: 44px; margin-bottom: .9rem; background: #fff; color: var(--ink); }
.terms__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.terms__chips .chip { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .35rem .9rem; border: 1px solid #d9d2c7; border-radius: 999px; background: #faf8f5; color: var(--ink) !important; text-decoration: none; font-size: .98rem; }
.terms__chips .chip:hover { border-color: var(--burgundy); background: #fff; color: var(--burgundy) !important; }
.terms__chips .chip small { color: var(--muted); font-size: .78rem; }
.terms__chips .is-top .chip { font-size: 1.05rem; font-weight: 600; }
.terms.is-collapsed .is-extra, .terms .is-hidden { display: none; }
.terms__empty { margin: .5rem 0 0; color: var(--muted); }
.terms__more { margin-top: .9rem; background: none; border: 1px solid var(--burgundy); color: var(--burgundy); font: inherit; font-weight: 700; padding: .65rem 1.1rem; border-radius: 6px; cursor: pointer; min-height: 44px; }
.terms__more:hover { background: var(--burgundy); color: #fff; }
.terms__az[hidden], .terms__search[hidden], .terms__more[hidden], .terms__empty[hidden] { display: none; }
.terms__az { display: flex; flex-wrap: wrap; gap: .25rem; margin: .9rem 0 .2rem; }
.terms__az button { min-width: 40px; min-height: 40px; border: 1px solid #d9d2c7; border-radius: 6px; background: #fff; cursor: pointer; font: inherit; color: var(--ink); }
.terms__az button[aria-pressed="true"] { background: var(--burgundy); border-color: var(--burgundy); color: #fff; }
.term-block__count { font: 400 .8rem var(--font-sans); opacity: .8; margin-left: .3rem; }

/* ---------- Φωτοθήκη στην αρχική ---------- */
.photo-block { margin-top: 2.5rem; background: #2d3748; color: #e9e4dc; border-radius: 6px; overflow: hidden; box-shadow: var(--shadow); }
.photo-block .picks__bar { background: #1a202c; }
.photo-block .picks__title { color: #dcc694; }
.photo-block__inner { padding: 1.25rem; }
.photo-block .button { background: #ecc94b; color: #2d3748; }
.photo-block .button:hover { background: #fff; color: #1a202c; }
.photo-block__grid { display: grid; gap: 1.25rem; }
@media (min-width: 40rem) { .photo-block__grid { grid-template-columns: 2fr 1fr; } .photo-item--lead { grid-row: span 2; } }
.photo-item { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.photo-item__media { display: block; aspect-ratio: 3 / 2; background: #1b1e21; overflow: hidden; border-radius: var(--radius); }
.photo-item--lead .photo-item__media { aspect-ratio: 16 / 10; }
.photo-item__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-item__title { margin: 0; font-size: 1rem; }
.photo-item__title a { color: var(--gold-light); text-decoration: none; }
.photo-item__title a:hover { text-decoration: underline; color: #fff; }
.photo-item__excerpt { margin: 0; color: #b9b3aa; font-size: .95rem; }
.photo-item__excerpt a { color: var(--gold-light); font-weight: 700; }
.photo-block__all { margin: 1.25rem 0 0; text-align: center; }
.hero__btn--pause { font-size: .7rem; letter-spacing: -.1em; }

/* ---------- Κατηγορία: πρόσφατο άρθρο στην κορυφή ---------- */
.archive-lead { display: grid; gap: 0; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; margin-bottom: 2rem; border-top: 4px solid var(--gold); }
.archive-lead__label { margin: 0; padding: .6rem 1.25rem; background: var(--burgundy); color: #fff; font-size: .9rem; letter-spacing: .02em; }
.archive-lead__label strong { color: var(--gold-light); }
@media (min-width: 48rem) { .archive-lead__label { grid-column: 1 / -1; } }
.archive-lead__media { display: block; aspect-ratio: 16 / 9; background: var(--charcoal); }
.archive-lead__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.archive-lead__body { padding: 1.25rem 1.25rem 1.5rem; display: flex; flex-direction: column; gap: .4rem; align-items: flex-start; justify-content: center; }
.archive-lead__title { font-size: clamp(1.4rem, 3vw, 1.9rem); margin: 0; }
.archive-lead__title a { color: var(--ink); text-decoration: none; }
.archive-lead__title a:hover { color: var(--burgundy); text-decoration: underline; }
.archive-lead__excerpt { margin: .25rem 0 .5rem; color: var(--muted); }
@media (min-width: 48rem) { .archive-lead { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 0; } .archive-lead__media { aspect-ratio: auto; min-height: 18rem; } .archive-lead__body { padding: 1.5rem; } }

/* ---------- Σελίδες βίντεο: σκούρο φόντο (όπως το παλιό θέμα) ---------- */
body.is-dark { --ink: #fff; --muted: #d4d0c8; --paper: #222; --card: #393b38; --line: #5a5c58; --shadow: none; background: #222; color: #fff; }
:where(.video-view) a { color: #ffdd77; }
:where(.video-view) a:hover { color: #fff; }
body.is-dark .breadcrumbs, body.is-dark .breadcrumbs a { color: #d4d0c8; }
.video-view { padding-block: 1.5rem 2.5rem; max-width: 80rem; }
.video-archive-title { font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; color: #eea; margin: 0 0 1rem; }
/* ---- Σελίδα βίντεο: κύριο βίντεο + «Νεότερα» δεξιά ---- */
.vlayout { display: grid; gap: 1.5rem; margin-bottom: 2rem; }
@media (min-width: 62rem) { .vlayout { grid-template-columns: minmax(0, 1fr) 22rem; } .vaside { position: sticky; top: 1rem; align-self: start; } }
.vmain { min-width: 0; }
.vplayer, .video-player { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: 8px; overflow: hidden; margin: 0 0 1rem; }
.vplayer iframe, .video-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border: 0; border-radius: 0; }
.vplayer__btn { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #000; cursor: pointer; display: block; }
.vplayer__btn img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .92; }
.vplayer__btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(0 0 0 / .5), transparent 45%); pointer-events: none; }
.vplayer__play { position: absolute; z-index: 2; inset: 0; margin: auto; width: 5.25rem; height: 5.25rem; border-radius: 50%; border: 4px solid rgb(255 255 255 / .8); background: rgb(0 0 0 / .35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") 56% 50% / 50% no-repeat; transition: transform .15s, background-color .15s, border-color .15s; }
.vplayer__btn:hover .vplayer__play, .vplayer__btn:focus-visible .vplayer__play { transform: scale(1.07); background-color: #b32a30; border-color: #fff; }
.vmain__title { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 1rem 0 .4rem; color: #ffdd77; }
.vmain__title a { color: inherit; text-decoration: none; }
.vmain__title a:hover { text-decoration: underline; }
.vmain__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; color: #cfcac0; font-size: .9rem; }
.vmain__facts { display: flex; flex-wrap: wrap; gap: .3rem .6rem; }
.vmain__meta .share { margin: 0; padding: 0; border: 0; }
.chips { display: flex; flex-wrap: wrap; gap: .45rem; margin: .9rem 0; overflow: visible; padding: 0; }
.vmain .chip { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid rgb(255 255 255 / .35); border-radius: 999px; padding: .35rem .9rem; font-size: .9rem; min-height: 36px; color: #fff !important; text-decoration: none; background: transparent; transition: background-color .15s, border-color .15s; }
.vmain .chip small { color: #cfcac0; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.vmain .chip:hover { background: rgb(255 255 255 / .12); border-color: #ffdd77; }
.vmain .chip--cat { border-color: #c38e0a; }
.vmain .chip--topic { border-color: #1b7ba3; }
.vmain .chip--who { border-color: #b32a30; }
.vdesc { color: #eee; max-width: 60rem; position: relative; overflow: hidden; font-size: 1.02rem; }
.vdesc > * { max-width: none; }
.vdesc.is-clamped { max-height: 5em; }
.vdesc.is-clamped::after { content: ""; position: absolute; inset: auto 0 0 0; height: 2em; background: linear-gradient(0deg, #222, transparent); }
body.is-dark .more-btn { color: #ffdd77; }
.vaside { background: #393b38; border-radius: 8px; overflow: hidden; }
.vaside__title { margin: 0; font-size: 1.05rem; background: #403f3d; color: #ffdd77; padding: .75rem 1rem; border-bottom: 3px solid #808080; }
.vaside__list { padding: .4rem; display: flex; flex-direction: column; gap: .1rem; max-height: 34rem; overflow: auto; }
.vrow { display: grid; grid-template-columns: 9.5rem 1fr; gap: .7rem; padding: .5rem; border-radius: 6px; text-decoration: none; color: #fff !important; transition: background-color .15s; }
.vrow:hover { background: rgb(255 255 255 / .08); }
.vrow__media { position: relative; display: block; aspect-ratio: 16 / 9; background: #000; border-radius: 5px; overflow: hidden; }
.vrow__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vrow__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; font-size: .92rem; line-height: 1.3; }
.vrow__date { display: block; font-size: .78rem; color: #eeaa77; margin-top: .2rem; }
.vaside__all { display: block; margin: .4rem; text-align: center; background: #c38e0a; color: #1f2326 !important; font-weight: 700; padding: .7rem 1rem; border-radius: 4px; text-decoration: none; }
.vaside__all:hover { background: #fff; }
.vsection { margin-bottom: 2rem; }
.vsection__title { font-size: 1.05rem; background: #403f3d; color: #ffdd77; padding: .6rem 1rem; margin: 0 0 1rem; border-bottom: 3px solid #808080; }
.vgrid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.vcard { background: #393b38; border-radius: 8px; overflow: hidden; transition: transform .15s, background-color .15s; }
.vcard:hover { background: #4a4c48; transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .vcard:hover { transform: none; } }
.vcard__media { position: relative; display: block; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.vcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vcard__body { padding: .7rem .9rem 1rem; }
.vcard__title { font-size: 1rem; line-height: 1.3; margin: 0 0 .25rem; }
.vcard__title a { color: #ffdd77; text-decoration: none; }
.vcard__title a:hover { text-decoration: underline; color: #fff; }
.vcard__date { font-size: .8rem; color: #eeaa77; }
.vcard__excerpt { margin: .35rem 0 0; font-size: .85rem; color: #e6e2da; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vbtn { display: inline-block; margin-top: 1.2rem; background: #c38e0a; color: #1f2326 !important; font-weight: 700; padding: .7rem 1.2rem; border-radius: 4px; text-decoration: none; }
.vbtn:hover { background: #fff; }
body.is-dark .pagination .page-numbers { background: #393b38; color: #fff; box-shadow: none; }
body.is-dark .pagination .page-numbers.current, body.is-dark .pagination .page-numbers:hover { background: var(--gold-light); color: #222; }
.video-empty { color: #d4d0c8; }

/* ---------- Φωτοθήκη: σκούρο μπλε-γκρι (όπως το παλιό θέμα) ---------- */
body.is-photo { --paper: #1a202c; --card: #232a37; --line: #4a5568; background: #1a202c; }
:where(.photo-view) a { color: #ecc94b; }
:where(.photo-view) a:hover { color: #fff; }
.photo-view { padding-block: 1.5rem 2.5rem; max-width: 80rem; }
.photo-head { margin-bottom: 1.25rem; }
.photo-head__title { margin: 0 0 .9rem; font-family: var(--font-serif); font-size: clamp(1.3rem, 3vw, 1.7rem); color: #fff; }
.chips { display: flex; gap: .5rem; overflow-x: auto; padding: .15rem 0 .25rem; scrollbar-width: thin; }
.chip { flex: 0 0 auto; white-space: nowrap; border: 1px solid #4a5568; color: #fff !important; text-decoration: none; border-radius: 999px; padding: .45rem 1rem; min-height: 40px; display: inline-flex; align-items: center; }
.chip:hover { background: #2d3748; }
.chip.is-current { background: #ecc94b; border-color: #ecc94b; color: #1a202c !important; font-weight: 700; }
.badge { display: inline-flex; gap: .4rem; align-items: center; background: rgb(0 0 0 / .65); color: #fff; border-radius: 999px; padding: .2rem .7rem; font-size: .8rem; }
.btn { display: inline-block; background: #ecc94b; color: #1a202c !important; font-weight: 700; padding: .65rem 1.1rem; border-radius: var(--radius); text-decoration: none; }
.btn:hover { background: #fff; }
.photo-hero { position: relative; border-radius: 8px; overflow: hidden; min-height: 22rem; display: flex; align-items: flex-end; background: #000; margin: 1.25rem 0 2rem; }
.photo-hero__media { position: absolute; inset: 0; }
.photo-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(0 0 0 / .85) 0, transparent 70%); pointer-events: none; }
.photo-hero__body { position: relative; z-index: 1; padding: 1.5rem; max-width: 44rem; display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; }
.photo-hero__title { margin: 0; font-size: clamp(1.5rem, 3.5vw, 2.2rem); }
.photo-hero__title a { color: #fff; text-decoration: none; }
.photo-section-title { font-size: 1.1rem; background: #2d3748; color: #ecc94b; padding: .55rem 1rem; border-radius: var(--radius); margin: 0 0 1rem; }
.album-grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }
.album { display: flex; flex-direction: column; background: #232a37; border-radius: 8px; overflow: hidden; text-decoration: none; color: #fff; }
.album:hover { background: #2d3748; }
.album__media { position: relative; display: block; aspect-ratio: 4 / 3; background: #000; overflow: hidden; }
.album__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.album:hover .album__media img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .album:hover .album__media img { transform: none; } }
.album__media .badge { position: absolute; right: .6rem; bottom: .6rem; }
.album__body { display: flex; flex-direction: column; gap: .15rem; padding: .8rem 1rem 1rem; }
.album__title { font-family: var(--font-serif); font-size: 1.02rem; line-height: 1.3; color: #fff; }
.album .kicker { color: #ecc94b; }
.photo-more { margin-top: 2rem; }

.viewer__stage { position: relative; background: #000; border-radius: 8px; overflow: hidden; }
.viewer__img { display: block; width: 100%; height: min(72vh, 46rem); object-fit: contain; background: #000; }
.viewer__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgb(0 0 0 / .65); color: #fff; font-size: 1.3rem; cursor: pointer; }
.viewer__nav:hover { background: #ecc94b; color: #1a202c; }
.viewer__nav--prev { left: .75rem; }
.viewer__nav--next { right: .75rem; }
.viewer__bar { position: absolute; inset: auto 0 0 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .6rem .9rem; background: linear-gradient(0deg, rgb(0 0 0 / .8), transparent); font-size: .9rem; color: #fff; }
.viewer__tools { display: flex; align-items: center; gap: .6rem; flex: 0 0 auto; }
.viewer__btn { background: rgb(0 0 0 / .65); color: #fff; border: 1px solid rgb(255 255 255 / .3); border-radius: var(--radius); padding: .35rem .7rem; cursor: pointer; font: inherit; }
.viewer__btn:hover { background: #ecc94b; color: #1a202c; }
.viewer__btn { min-height: 44px; }
@media (max-width: 40rem) {
	.viewer__img { height: min(60vh, 46rem); }
	.viewer__bar { flex-direction: column; align-items: stretch; gap: .35rem; }
	.viewer__tools { justify-content: space-between; }
	.viewer__nav { width: 44px; height: 44px; }
}
.viewer__stage:fullscreen { border-radius: 0; display: flex; flex-direction: column; justify-content: center; }
.viewer__stage:fullscreen .viewer__img { height: 100vh; }
.viewer__strip { list-style: none; margin: 0; padding: .75rem 0; display: flex; gap: .5rem; overflow-x: auto; }
.viewer__strip a { display: block; width: 96px; aspect-ratio: 3 / 2; border: 2px solid transparent; border-radius: 4px; overflow: hidden; background: #000; opacity: .65; }
.viewer__strip a:hover, .viewer__strip a[aria-current="true"] { opacity: 1; }
.viewer__strip a[aria-current="true"] { border-color: #ecc94b; }
.viewer__strip img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-info { display: grid; gap: 1.25rem; margin-top: 1rem; }
@media (min-width: 56rem) { .photo-info { grid-template-columns: 2fr 1fr; align-items: start; } }
.photo-single__title { color: #ecc94b; font-size: clamp(1.4rem, 3vw, 1.9rem); margin: 0 0 .5rem; }
.desc { color: #e2e8f0; position: relative; overflow: hidden; }
.desc p { margin: 0; }
.desc.is-clamped { max-height: 5.6em; }
.desc.is-clamped::after { content: ""; position: absolute; inset: auto 0 0 0; height: 2.5em; background: linear-gradient(0deg, #1a202c, transparent); }
.more-btn { background: none; border: 0; color: #ecc94b; cursor: pointer; font: inherit; font-weight: 700; padding: .4rem 0; }
.photo-meta { margin: 0; background: #232a37; border-radius: 8px; padding: 1rem; display: grid; gap: .4rem; font-size: .92rem; }
.photo-meta div { display: flex; gap: .75rem; }
.photo-meta dt { color: #a0aec0; min-width: 6rem; }
.photo-meta dd { margin: 0; }
.album-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; flex-wrap: wrap; }
.album-nav__link { flex: 1 1 16rem; background: #232a37; border-radius: 8px; padding: .8rem 1rem; text-decoration: none; color: #fff !important; display: block; }
.album-nav__link:hover { background: #2d3748; }
.album-nav__link small { display: block; color: #a0aec0; }
.album-nav__link--next { text-align: right; margin-left: auto; }
body.is-photo .pagination .page-numbers { background: #2d3748; color: #fff; box-shadow: none; }
body.is-photo .pagination .page-numbers.current, body.is-photo .pagination .page-numbers:hover { background: #ecc94b; color: #1a202c; }

/* ---------- Sidebar ---------- */
.sidebar { display: flex; flex-direction: column; gap: 1.5rem; }
.widget { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 1.1rem; }
.widget--search, .widget_search { padding: .75rem; }
.widget__title { font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .75rem; color: var(--charcoal); }
.widget ul { margin: 0; padding-left: 1.1rem; }
.widget--saints { background: var(--brown); color: #fff; padding: 0; overflow: hidden; }
.widget__title--dark { background: var(--charcoal); color: #fff; padding: 1rem 1.1rem; margin: 0; border-bottom: 8px solid var(--gold-light); }
.saints-list { list-style: none; margin: 0; padding: .5rem 1.1rem; }
.saints-list__item { display: grid; grid-template-columns: auto 1fr; gap: .75rem; padding: .85rem 0; border-bottom: 1px solid rgb(255 255 255 / .18); align-items: start; }
.saints-list__item:last-child { border-bottom: 0; }
.saints-list__thumb { display: block; width: 64px; height: 64px; border-radius: var(--radius); overflow: hidden; }
.saints-list__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.saints-list__title { color: #fff; font-weight: 600; font-size: .95rem; line-height: 1.35; display: block; text-decoration: none; }
.saints-list__title:hover { text-decoration: underline; color: #fff; }
.saints-list__date { display: block; font-size: .8rem; color: #e8d9c8; margin-top: .2rem; }
.saints-list__sub { display: block; font-size: .85rem; font-style: italic; color: #e8d9c8; line-height: 1.35; margin-top: .15rem; text-decoration: none; }
.saints-list__sub:hover { color: #fff; text-decoration: underline; }
.widget__more { display: block; padding: .9rem 1.1rem; background: rgb(0 0 0 / .18); color: #fff; font-weight: 700; text-decoration: none; }
.widget__more:hover { background: rgb(0 0 0 / .3); color: #fff; }
.social, .footer-menu { list-style: none; padding: 0 !important; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.social a { display: inline-block; padding: .5rem .9rem; border-radius: 999px; background: var(--burgundy); color: #fff; text-decoration: none; font-weight: 700; font-size: .9rem; min-height: 44px; line-height: 28px; }
.social a:hover { background: var(--burgundy-dark); color: #fff; }

/* ---------- Sidebar: Ηχητικά - Ομιλίες / Αναγνώσματα ---------- */
.widget--audio { padding: 0; overflow: hidden; --accent: #c38e0a; --hover: #a87608; --on-accent: #fff; }
.widget--audio.is-blue { --accent: #005c7f; --hover: #005c7f; --on-accent: #fff; }
.widget__title--audio { text-transform: none; letter-spacing: 0; margin: 0; background: #403f3d; font-size: 1.35rem; padding: 1rem 1.25rem; border-bottom: 8px solid var(--accent); }
.widget__title--audio a { color: #fff; text-decoration: none; }
.widget__title--audio a:hover { text-decoration: underline; }
.widget .audio-list { list-style: none; margin: 0; padding: 0; background: #bcbcbc; }
.audio-list li { border-bottom: 1px solid #ababab; }
.audio-list li:last-child { border-bottom: 0; }
.audio-list a { display: block; padding: .55rem 1.1rem; color: #403f3d; text-decoration: none; font-size: 1rem; line-height: 1.35; min-height: 44px; }
.audio-list a:hover, .audio-list a:focus-visible { background: var(--hover); color: var(--on-accent); }

/* ---------- Sidebar: Νέα βίντεο (χρώματα του live) ---------- */
.widget--newvideo { padding: 0; overflow: hidden; background: #3c3c3c; }
.widget__title--video { margin: 0; background: #262626; color: #ececec; font-size: 1.35rem; text-transform: none; letter-spacing: 0; padding: 1rem 1.25rem; border-bottom: 8px solid #eec643; }
.widget .nv-list { list-style: none; margin: 0; padding: .35rem; }
.nv-item { padding: .6rem; border-bottom: 1px solid #262626; }
.nv-item:last-child { border-bottom: 0; }
.nv-item__media { position: relative; display: block; aspect-ratio: 3 / 2; background: #111; overflow: hidden; border-radius: var(--radius); }
.nv-item__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nv-item__media.has-play::after { width: 4.5rem; height: 4.5rem; background: rgb(0 0 0 / .12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' fill-opacity='.85' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") 58% 50% / 52% no-repeat; border: 3px solid rgb(255 255 255 / .6); }
.nv-item__title { display: block; margin-top: .6rem; color: #f2f0ea; text-decoration: none; font-family: var(--font-sans); font-size: .95rem; line-height: 1.45; font-weight: 400; }
.nv-item__title:hover { color: #fff; text-decoration: underline; }
.nv-item__date { display: block; margin-top: .3rem; color: #fff; font-size: .8rem; font-weight: 600; }
.widget--newvideo .widget__more { background: #262626; }
.widget--newvideo .widget__more:hover { background: #000; }
.nv-item__author { display: block; margin-top: .45rem; color: #dcc694; font-size: .95rem; }

/* ---------- Ηχητικός συναξαριστής: ημερολόγιο ---------- */
.agio { padding-block: 1.5rem 2.5rem; }
.agio__title { font-size: clamp(1.4rem, 3vw, 1.9rem); margin: 0 0 .2rem; }
.agio__lead { margin: 0 0 1rem; color: var(--muted); }
.agio__months { display: flex; gap: .4rem; overflow-x: auto; padding: .1rem 0 .9rem; }
.agio__months .chip { flex: 0 0 auto; border: 1px solid #cfc9bf; background: #fff; color: var(--ink) !important; text-decoration: none; border-radius: 999px; padding: .35rem .9rem; min-height: 36px; display: inline-flex; align-items: center; }
.agio__months a.chip:hover { border-color: var(--brown); }
.agio__months .chip.is-current { background: var(--brown); border-color: var(--brown); color: #fff !important; font-weight: 700; }
.agio__months .chip.is-off { opacity: .4; }
.agio__bar { background: var(--brown); color: #fff; border-radius: 6px 6px 0 0; padding: .9rem 1.1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.agio__bar h2 { margin: 0; font-size: 1.25rem; color: #fff; }
.agio__nav { display: flex; gap: .4rem; }
.agio__nav a, .agio__nav span { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgb(255 255 255 / .4); background: rgb(0 0 0 / .2); color: #fff !important; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-size: 1.2rem; }
.agio__nav a:hover { background: #fff; color: var(--brown) !important; }
.agio__nav .is-off { opacity: .35; }
.agio__body { background: #fff; border-radius: 0 0 6px 6px; padding: 1rem; box-shadow: var(--shadow); }
.agio__split { display: grid; gap: 1.25rem; }
@media (min-width: 52rem) { .agio__split { grid-template-columns: minmax(0, 1fr) 22rem; } }
.agio__cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; align-self: start; }
.agio__wd { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); text-align: center; padding: .2rem 0; }
.agio__day { position: relative; aspect-ratio: 1 / 1; border-radius: 6px; background: #f1eeea; padding: .35rem .45rem; border: 2px solid transparent; overflow: hidden; display: block; text-decoration: none; color: var(--ink); }
.agio__day b { font-family: var(--font-serif); font-size: .95rem; }
.agio__day.is-blank { background: none; }
.agio__day.is-empty { opacity: .45; }
.agio__day.has-entry { background: #fff; border-color: #e4ded6; }
.agio__day.has-entry:hover { border-color: var(--brown); background: #faf5f1; }
.agio__day.is-sel { border-color: var(--burgundy); background: #f6e9e9; }
.agio__day.is-today { box-shadow: inset 0 0 0 2px var(--gold-light); }
.agio__day img { position: absolute; right: 3px; bottom: 3px; width: 42%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 4px; }
@media (max-width: 34rem) { .agio__day { aspect-ratio: auto; min-height: 3rem; } .agio__day img { display: none; } .agio__day.has-entry::after { content: ""; position: absolute; right: .45rem; bottom: .4rem; width: 8px; height: 8px; border-radius: 50%; background: var(--brown); } }
.agio__detail { background: var(--charcoal); color: #fff; border-radius: 8px; padding: 1rem 1.1rem; align-self: start; }
.agio__big { margin: 0; font-size: 1.3rem; color: #dcc694; }
.agio__detail img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 6px; margin: .6rem 0; display: block; background: #222; }
.agio__detail p { margin: .2rem 0 .8rem; font-style: italic; color: #e8d9c8; }
.agio__btn { display: inline-block; background: #dcc694; color: #1f2326 !important; font-weight: 700; padding: .6rem 1rem; border-radius: 4px; text-decoration: none; }
.agio__btn:hover { background: #fff; }
.agio__sub { font-size: 1rem; color: var(--brown); margin: 1.4rem 0 .5rem; }
.agio__list { display: grid; gap: .3rem; }
.agio__row { display: grid; grid-template-columns: 3.2rem 56px 1fr; gap: .7rem; align-items: center; padding: .5rem; border-radius: 6px; border: 1px solid transparent; text-decoration: none; color: var(--ink); }
.agio__row:hover { background: #faf5f1; border-color: #e6dcd4; }
.agio__row.is-sel { background: #f6e9e9; border-color: var(--burgundy); }
.agio__n { font-family: var(--font-serif); font-weight: 700; font-size: 1.3rem; color: var(--brown); text-align: center; line-height: 1; }
.agio__n small { display: block; font: 600 .62rem var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-top: .15rem; }
.agio__thumb img { width: 56px; height: 56px; border-radius: 5px; object-fit: cover; display: block; background: #ddd; }
.agio__txt { display: grid; gap: .1rem; }
.agio__txt strong { font-size: .98rem; }
.agio__txt em { font-size: .88rem; color: var(--muted); }
.agio__none { color: var(--muted); text-align: center; padding: 1rem; }

/* ---------- Άγιοι της ημέρας: κάρτα «Τελευταία» + καρουζέλ προηγούμενων ---------- */
.saint-card { padding: 1.1rem 1.1rem .9rem; text-align: center; }
.saint-card__kick { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-light); font-weight: 700; }
.saint-card__num { font-family: var(--font-serif); font-weight: 700; font-size: 4.2rem; line-height: 1; margin: .2rem 0 0; }
.saint-card__mon { font-family: var(--font-serif); font-weight: 600; font-size: 1.1rem; color: var(--gold-light); text-transform: uppercase; letter-spacing: .12em; margin-bottom: .7rem; }
.saint-card__img { display: block; width: 96px; height: 96px; margin: .2rem auto .6rem; border-radius: 50%; overflow: hidden; border: 3px solid var(--gold-light); }
.saint-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.saint-card__sub { margin: 0; font-size: .85rem; font-style: italic; color: #e8d9c8; line-height: 1.4; }
.saint-card__btn { display: inline-block; margin-top: .8rem; background: #dcc694; color: #1f2326 !important; font-weight: 700; padding: .55rem 1rem; border-radius: 4px; text-decoration: none; }
.saint-card__btn:hover { background: #fff; }
.saint-rail { border-top: 1px solid rgb(255 255 255 / .18); background: rgb(0 0 0 / .13); padding: .7rem 0 .9rem; }
.saint-rail__head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: 0 1.1rem .55rem; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: #e8d9c8; font-weight: 700; }
.saint-rail__ctrl { display: flex; gap: .3rem; }
.saint-rail__ctrl button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgb(255 255 255 / .4); background: rgb(0 0 0 / .2); color: #fff; cursor: pointer; font-size: .85rem; padding: 0; }
.saint-rail__ctrl button:hover { background: #fff; color: var(--brown); }
.saint-rail__track { list-style: none; margin: 0; padding: 0 1.1rem; display: flex; gap: .55rem; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
.saint-rail__track::-webkit-scrollbar { display: none; }
.saint-mc { flex: 0 0 112px; background: rgb(0 0 0 / .2); border-radius: 6px; overflow: hidden; }
.saint-mc:hover { background: rgb(0 0 0 / .35); }
.saint-mc a { display: block; color: #fff !important; text-decoration: none; }
.saint-mc img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.saint-mc__body { display: block; padding: .4rem .5rem .55rem; }
.saint-mc__body b { display: block; font-family: var(--font-serif); font-size: .9rem; }
.saint-mc__body span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .74rem; line-height: 1.3; font-style: italic; color: #e8d9c8; margin-top: .1rem; }

/* ---------- Ηχητικά/Αναγνώσματα: ακορντεόν (κινητό) ---------- */
details.widget--audio > summary { list-style: none; cursor: pointer; display: block; }
details.widget--audio > summary::-webkit-details-marker { display: none; }
.widget__title--audio { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.audio-chev { display: none; width: 10px; height: 10px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); margin: -.2rem .3rem 0 0; transition: transform .2s; flex: 0 0 auto; }
details.widget--audio[open] .audio-chev { transform: rotate(-135deg); margin-top: .3rem; }
@media (min-width: 62rem) { details.widget--audio > summary { pointer-events: none; } details.widget--audio > summary a { pointer-events: auto; } }
@media (max-width: 61.99rem) { .audio-chev { display: block; } }

/* ---------- Αρχική στο κινητό: νέα σειρά ενοτήτων και οριζόντια swipe ---------- */
@media (max-width: 61.99rem) {
	.layout--home { gap: 1.5rem; }
	.layout--home > .layout__main, .layout--home > .sidebar { display: contents; }
	.layout--home .hero, .layout--home .picks, .layout--home .home-cols, .layout--home .photo-block, .layout--home .term-block { margin: 0; }
	.layout--home .sidebar > * { order: 10; }
	.layout--home .hero { order: 1; }
	.layout--home .widget--saints { order: 2; }
	.layout--home .picks { order: 3; }
	.layout--home .home-cols { order: 4; }
	.layout--home .widget--newvideo { order: 5; }
	.layout--home .photo-block { order: 6; }
	.layout--home .term-block { order: 7; }
	.layout--home .widget--audio { order: 8; }
	.layout--home .widget--search, .layout--home .widget_search { order: 9; }
	.layout--home .widget--saints, .layout--home .widget--newvideo, .layout--home .widget--audio, .layout--home .widget--search, .layout--home .widget_search { margin: 0; }
	.picks .card-grid--3 { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .25rem; }
	.picks .card-grid--3::-webkit-scrollbar { display: none; }
	.picks .card-grid--3 > .card { flex: 0 0 82%; scroll-snap-align: start; }
	.home-col__list > :nth-child(n+4) { display: none; }
	.widget--newvideo .nv-list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.widget--newvideo .nv-list::-webkit-scrollbar { display: none; }
	.widget--newvideo .nv-item { flex: 0 0 78%; scroll-snap-align: start; border-bottom: 0; border-right: 1px solid #262626; }
	.widget--newvideo .nv-item:last-child { border-right: 0; }
}

/* ---------- Single / page ---------- */
.entry { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 1.25rem; }
@media (min-width: 48rem) { .entry { padding: 2rem 2.5rem; } }
.entry-title { font-size: clamp(1.7rem, 4.5vw, 2.6rem); margin: .25rem 0 .75rem; }
.entry-header { margin-bottom: 1.25rem; }
.entry-media { margin: 0 0 1.5rem; }
.entry-media img { width: 100%; border-radius: var(--radius); display: block; }
.entry-media figcaption { font-size: .85rem; color: var(--muted); padding-top: .4rem; }
/* Μικρές εικόνες (< 900px πλάτος): γεμίζουν το πλάτος της στήλης και το ύψος ακολουθεί αναλογικά, χωρίς κοπή. */
.entry-media--wrap img { width: 100%; height: auto; }
/* Εικόνα στο φυσικό της μέγεθος αριστερά, πληροφορίες δεξιά· το κείμενο ξεκινά από κάτω. Κινητό: μία στήλη. */
.entry-lead { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin: 0 0 1.5rem; align-items: start; }
.entry-lead .entry-media { margin: 0; }
@media (min-width: 48rem) { .entry-lead { grid-template-columns: minmax(0, 570px) minmax(0, 1fr); gap: 1.5rem; } }
.entry-facts { margin: 0; }
.entry-facts > div { padding: .55rem 0; border-bottom: 1px solid var(--line); }
.entry-facts > div:first-child { padding-top: 0; }
.entry-facts dt { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.entry-facts dd { margin: .15rem 0 0; font-size: .95rem; line-height: 1.4; }
.entry-side .share { margin-top: 1rem; gap: .4rem; }
.entry-side .share__label { flex-basis: 100%; margin: 0 0 .1rem; font-size: .8rem; }
.entry-side .share__link { padding: .3rem .75rem; min-height: 44px; font-size: .85rem; }
.entry-content { font-size: 1.125rem; line-height: 1.8; overflow-wrap: break-word; display: flow-root; }
.entry-footer, .post-navigation { clear: both; }
/* Plugin «Προτείνουμε επίσης» (SOSERE): αντικαθιστούμε τα floats/πλάτη 170px με responsive grid. */
.entry-content .sosere-recommendation.entry-utility { float: none !important; margin: 2.5rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.entry-content .sosere-recommendation h3 { margin: 0 0 1rem; font-size: 1.15rem; color: var(--burgundy); }
.entry-content ul.sosere-recommendation { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 1rem; list-style: none; margin: 0; padding: 0; }
.entry-content li.sosere-recommendation-thumbs { float: none !important; width: auto !important; margin: 0; padding: 0; }
.entry-content li.sosere-recommendation-thumbs a { display: flex; flex-direction: column; gap: .4rem; width: auto !important; text-decoration: none; font-size: .9rem; line-height: 1.35; }
.entry-content li.sosere-recommendation-thumbs img { width: 100% !important; height: auto; aspect-ratio: 1; object-fit: cover; }
.entry-content > * { max-width: 100%; } /* το κείμενο γεμίζει τη στήλη, στο ίδιο πλάτος με την εικόνα (πριν: 46rem, 77px κενό δεξιά) */
.entry-content > .alignwide, .entry-content > .alignfull, .entry-content > figure, .entry-content > iframe, .entry-content > .wp-block-embed { max-width: 100%; }
.entry-content h2 { font-size: 1.6rem; margin-top: 2rem; }
.entry-content h3 { font-size: 1.3rem; margin-top: 1.6rem; }
.entry-content blockquote { margin: 1.5rem 0; padding: .5rem 1.25rem; border-left: 4px solid var(--gold); background: var(--paper); font-family: var(--font-serif); font-style: italic; }
.entry-content img { border-radius: var(--radius); }
.entry-content table { border-collapse: collapse; width: 100%; }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: .5rem .75rem; }
.wp-block-embed__wrapper, .entry-content .wp-has-aspect-ratio iframe { max-width: 100%; }
.entry-footer { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); display: grid; gap: 1rem; }
.tags__label, .share__label { font-weight: 700; margin-right: .5rem; }
.share { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.share__link { padding: .4rem .9rem; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
.share__link:hover { background: var(--burgundy); color: #fff; border-color: var(--burgundy); }

.post-navigation .nav-links { display: grid; gap: 1rem; margin: 1.5rem 0; }
@media (min-width: 48rem) { .post-navigation .nav-links { grid-template-columns: 1fr 1fr; } }
.post-navigation a { display: block; padding: 1rem; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); text-decoration: none; color: var(--ink); height: 100%; }
.post-navigation .nav-next { text-align: right; }
.nav-sub { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--gold); font-weight: 700; }
.nav-title { font-family: var(--font-serif); font-weight: 600; }
.related { margin-top: 2rem; }

/* ---------- Pagination ---------- */
.pagination { margin-top: 2rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.pagination .page-numbers { min-width: 44px; min-height: 44px; padding: .5rem .8rem; display: inline-flex; align-items: center; justify-content: center; background: var(--card); border-radius: var(--radius); text-decoration: none; box-shadow: var(--shadow); color: var(--ink); font-weight: 600; }
.pagination .page-numbers.current, .pagination .page-numbers:hover { background: var(--burgundy); color: #fff; }
.pagination .dots { background: transparent; box-shadow: none; }

/* ---------- Comments ---------- */
.comments { margin-top: 2rem; background: var(--card); padding: 1.25rem; border-radius: var(--radius); box-shadow: var(--shadow); }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: 1.25rem; border-left: 2px solid var(--line); }
.comment-body { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: .6rem .75rem; font: inherit; border: 1px solid var(--line); border-radius: var(--radius); }

/* ---------- 404 / none ---------- */
.not-found, .no-results { background: var(--card); padding: 2rem; border-radius: var(--radius); box-shadow: var(--shadow); max-width: 40rem; margin-inline: auto; text-align: center; }
.not-found .search-form { margin-block: 1rem; }

/* ---------- Footer ---------- */
.site-footer { background: var(--charcoal); color: #d6cfc6; border-top: 3px solid var(--gold); margin-top: 2rem; }
.site-footer a { color: #fff; }
.site-footer__grid { display: grid; gap: 1.75rem; padding-block: 2rem; }
@media (min-width: 40rem) { .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 62rem) { .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 2rem; } }
.site-footer__title { font-family: var(--font-serif); font-size: 1.05rem; color: #fff; margin: 0 0 .6rem; }
.site-footer__col .footer-menu { list-style: none; margin: 0; padding: 0; }
.site-footer__col .footer-menu a { display: block; padding: .35rem 0; min-height: 36px; text-decoration: none; }
.site-footer__col .footer-menu a:hover { text-decoration: underline; }
.footer-newsletter form { display: grid; gap: .55rem; }
.footer-newsletter input[type="email"], .footer-newsletter input[type="text"] { font: inherit; padding: .7rem .9rem; border-radius: 6px; border: 1px solid #6b6f73; background: #1f2326; color: #fff; min-height: 44px; width: 100%; }
.footer-newsletter label { font-size: .85rem; }
.footer-newsletter input[type="submit"], .footer-newsletter button { background: #dcc694; color: #1f2326; font: inherit; font-weight: 700; border: 0; border-radius: 6px; padding: .7rem 1rem; min-height: 44px; cursor: pointer; }
.footer-newsletter input[type="submit"]:hover, .footer-newsletter button:hover { background: #fff; }
.site-footer__name { font-family: var(--font-serif); font-size: 1.3rem; color: #fff; margin: 0 0 .25rem; }
.site-footer__desc { margin: 0 0 1rem; }
.site-footer .widget { background: transparent; box-shadow: none; padding: 0; }
.site-footer .widget__title { color: #fff; }
.footer-menu { flex-direction: column; }
.site-footer__bottom { border-top: 1px solid rgb(255 255 255 / .15); padding-block: 1rem; font-size: .85rem; }
.site-footer__bottom p { margin: 0; }


/* ---------- Video / embeds ---------- */
.entry-content iframe, .video-player iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; display: block; background: #000; border-radius: var(--radius); }
.entry-content .embed-container { position: relative; }
.video-player { margin-bottom: 1.5rem; max-width: 100%; }
.type-video .card__media, .type-ixitiko_sinaxari .card__media { position: relative; }
.type-video .card__media::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 56px; height: 56px; margin: -28px 0 0 -28px; border-radius: 50%; background: rgb(0 0 0 / .6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 7v10l8-5z'/%3E%3C/svg%3E") center / 60% no-repeat; transition: background-color .15s; }
.card:hover .card__media::after { background-color: var(--burgundy); }
.term-chips { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: .75rem 0 0; padding: 0; }
.term-chips li { display: flex; align-items: center; gap: .35rem; font-size: .85rem; color: var(--muted); }
.term-chips a { padding: .2rem .7rem; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; color: var(--ink); min-height: 32px; display: inline-flex; align-items: center; }
.term-chips a:hover { background: var(--burgundy); border-color: var(--burgundy); color: #fff; }
.widget__title--dark { display: flex; align-items: center; justify-content: space-between; gap: .5rem; white-space: nowrap; font-size: 1.35rem; letter-spacing: 0; text-transform: none; padding: 1rem 1.25rem; }
.saints-icon { flex: 0 0 auto; width: 1.6rem; height: 1.6rem; color: #fff; opacity: .9; }
.saints-list__meta { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .2rem; }
.saints-list__meta .saints-list__date { margin-top: 0; }
.saints-list__sound { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; color: #e8d9c8; }

/* Players από meta (ήχος/video/iframe) */
.media-override { margin: 0 0 1.5rem; }
.media-override iframe, .media-override video { width: 100%; max-width: 100%; border: 0; border-radius: var(--radius); background: #000; }
.media-override iframe { aspect-ratio: 16 / 9; height: auto; }
.media-override audio { width: 100%; display: block; }
.entry-subtitle { margin: 0 0 .5rem; font-family: var(--font-serif); font-size: 1.15rem; color: var(--gold); }
.entry-chanter { margin: 0 0 .5rem; color: var(--muted); }
.entry-author { margin: 0 0 .5rem; font-size: 1.05rem; }

/* Φωτοθήκη: πλήρες πλάτος για τις φωτογραφίες */
.entry--photo .entry-content > * { max-width: 100%; }
.entry-content .gallery, .entry-content .wp-block-gallery { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); margin: 1.5rem 0; }
.entry-content .gallery img, .entry-content .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; display: block; }
.entry-content .gallery-item { margin: 0; }

/* WP core alignment helpers */
.alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .wp-element-caption { font-size: .85rem; color: var(--muted); }
.sticky { }
.gallery { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); }

@media print {
	.site-nav-bar, .sidebar, .share, .related, .comments, .site-footer, .post-navigation, .hero__controls { display: none !important; }
	body { background: #fff; }
	.entry { box-shadow: none; padding: 0; }
}
