/*
Theme Name: GeneratePress Child - A Home For Stories
Template: generatepress
Description: Child theme για το A Home For Stories. Ενιαία λογοτεχνική αισθητική (δαμασκηνί / κοραλλί / ιβουάρ) σε όλο το site, βασισμένη στις οδηγίες αρχικής σελίδας. Δεν πειράζει ποτέ το parent theme.
Version: 2.1.0
Text Domain: generatepress-child
*/

/* ==========================================================================
   ΣΗΜΕΙΩΣΗ v2.0 (redesign αρχικής σελίδας, Σεπτέμβριος 2026):
   Το παλιό dual light/dark θέμα Romance (ανοιχτό) / Mystery (σκούρο navy) που
   περιγράφεται στο ιστορικό v1.0–v1.4 αντικαθίσταται εδώ από ΕΝΙΑΙΑ παλέτα
   (δαμασκηνί / κοραλλί / ιβουάρ-μπεζ) σε όλο το site — αρχική, αρχείο,
   μεμονωμένα άρθρα — μετά από ρητή έγκριση του πελάτη (extend στο category/
   single pages). Τα παλιά --accent-page-bg-2/--accent-on-dark και τα σχετικά
   dark-mode selectors αφαιρέθηκαν· δεν χρειάζονται πια ειδικοί κανόνες
   αντίθεσης ανά κύκλο, μιας και δεν υπάρχει πλέον σκούρο φόντο πουθενά.
   ========================================================================== */

/* ==========================================================================
   1. Brand variables — ενιαία παλέτα (βλ. Οδηγίες αρχικής σελίδας)
   ========================================================================== */
:root {
	--ahfs-plum: #583B48;        /* κύριο δαμασκηνί — τίτλοι, κουμπιά, ενεργή καρτέλα, links */
	--ahfs-plum-soft: #6d4b5a;   /* ελαφρώς πιο ανοιχτό δαμασκηνί, hover states */
	--ahfs-charcoal: #40383A;    /* θερμό ανθρακί — κείμενο */
	--ahfs-coral: #C9826E;       /* απαλό κοραλλί — μικρές λεπτομέρειες, λογότυπο, ενδείξεις εβδομάδων */
	--ahfs-bg: #F3EBDD;          /* κύριο φόντο, ανοιχτό ιβουάρ-μπεζ */
	--ahfs-surface: #F7F1E8;     /* κάρτες / εσωτερικά πλαίσια */
	--ahfs-footer-bg: #EDE1D1;   /* footer, ελαφρώς βαθύτερο ουδέτερο μπεζ */
	--ahfs-taupe: #CFC2B3;       /* διακριτικά περιγράμματα, χαμηλή ένταση */
	--ahfs-on-plum: #F7F1E8;     /* ανοιχτό κείμενο πάνω σε δαμασκηνί φόντο (κουμπιά) */

	--font-heading: "Playfair Display", serif;
	--font-body: "Raleway", sans-serif;
	--font-menu: "Noto Serif", serif;

	/* Πολύ διακριτική, ανομοιόμορφη υφή παλιού χαρτιού: SVG fractal noise,
	   πολύ χαμηλή αδιαφάνεια, αποχρωματισμένη (γκριζοκάστανη), για απαλές
	   ίνες/κόκκους/φθορές χαμηλής αντίθεσης. Ίδια υφή χρησιμοποιείται παντού
	   (header, hero, ενότητες) πάνω από το --ahfs-bg ώστε να "συνεχίζεται
	   αρμονικά" όπως ζητήθηκε. */
	--ahfs-paper-texture: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.012 0.9' numOctaves='2' seed='7' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0.34  0 0 0 0 0.28  0 0 0 0 0.22  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ==========================================================================
   2. Βάση / φόντο με υφή χαρτιού — εφαρμόζεται σε ΟΛΟ το site
   ========================================================================== */
html, body {
	background-color: var(--ahfs-bg);
}

body {
	background-image: var(--ahfs-paper-texture);
	background-repeat: repeat;
	font-family: var(--font-body);
	color: var(--ahfs-charcoal);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.main-title {
	font-family: var(--font-heading);
	color: var(--ahfs-plum);
}

a { color: var(--ahfs-plum); }
a:hover { color: var(--ahfs-coral); }

/* Το κυρίως κείμενο άρθρου παραμένει ανθρακί, ευανάγνωστο — ποτέ δαμασκηνί,
   ώστε να διατηρείται σταθερή αντίθεση WCAG AA πάνω στο ανοιχτόχρωμο --ahfs-surface. */
.entry-content,
.entry-content p {
	color: var(--ahfs-charcoal);
	font-family: var(--font-body);
}

.inside-article,
.site-content .inside-right-sidebar {
	background-color: var(--ahfs-surface);
	border: 1px solid var(--ahfs-taupe);
	border-radius: 10px;
}

/* ==========================================================================
   3. Κεφαλίδα — λιτό οριζόντιο λογότυπο (ήδη περιέχει σύμβολο + wordmark +
   tagline) + hamburger menu δεξιά, γραμματοσειρά μενού Noto Serif.
   ========================================================================== */
.site-header {
	background-color: var(--ahfs-bg);
	background-image: var(--ahfs-paper-texture);
	border-bottom: 1px solid var(--ahfs-taupe);
}

.site-branding-container {
	display: flex;
	align-items: center;
	gap: 14px;
}
.site-header .header-image,
.site-logo img {
	max-height: 48px !important;
	width: auto !important;
	height: auto !important;
	display: block;
}
.site-branding {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.site-branding .main-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 22px;
	line-height: 1.15;
}
.site-branding .main-title a {
	color: var(--ahfs-plum);
	text-decoration: none;
}
.site-description {
	margin: 2px 0 0;
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--ahfs-charcoal);
	opacity: 0.75;
}
@media (max-width: 480px) {
	.site-description { display: none; }
	.site-branding .main-title { font-size: 17px; }
}



#site-navigation,
.main-navigation {
	background-color: #FBF8F2 !important;
}
#site-navigation {
	border-bottom: 1px solid var(--ahfs-taupe);
	box-shadow: 0 2px 8px rgba(88, 59, 72, 0.06);
}
.main-navigation,
.main-navigation a {
	font-family: var(--font-menu);
}
.main-navigation a {
	color: var(--ahfs-charcoal);
}
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation a:hover {
	color: var(--ahfs-plum);
}
.menu-toggle { color: var(--ahfs-plum) !important; }

.main-navigation ul ul {
	background-color: var(--ahfs-surface);
	border: 1px solid var(--ahfs-taupe);
}
.main-navigation ul ul a { color: var(--ahfs-charcoal); }
.main-navigation ul ul a:hover { color: var(--ahfs-plum); }

/* ==========================================================================
   4. Homepage wrapper
   ========================================================================== */
.ahfs-home {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
}

.ahfs-notice {
	margin: 20px 0;
	padding: 14px 18px;
	border-radius: 6px;
	font-family: var(--font-body);
}
.ahfs-notice-success { background: #e7f0e3; color: #33502b; border: 1px solid var(--ahfs-taupe); }
.ahfs-notice-error { background: #f5e3e0; color: #7a3428; border: 1px solid var(--ahfs-taupe); }

/* ==========================================================================
   5. Hero
   ========================================================================== */
.ahfs-hero {
	text-align: center;
	padding: 64px 10px 20px;
}
.ahfs-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(28px, 5vw, 46px);
	color: var(--ahfs-plum);
	line-height: 1.25;
	margin: 0 0 8px;
}
.ahfs-hero-title .ahfs-hero-line2 {
	display: block;
	font-size: clamp(20px, 3.2vw, 28px);
	font-style: italic;
	color: var(--ahfs-charcoal);
	margin-top: 6px;
}
.ahfs-hero-subtitle {
	font-family: var(--font-body);
	font-size: 17px;
	color: var(--ahfs-charcoal);
	max-width: 620px;
	margin: 18px auto 28px;
}
.ahfs-hero-cta {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 600;
	background: var(--ahfs-plum);
	color: var(--ahfs-on-plum) !important;
	padding: 14px 32px;
	border-radius: 30px;
	text-decoration: none !important;
	transition: transform 0.15s ease, background 0.15s ease;
}
.ahfs-hero-cta:hover {
	background: var(--ahfs-coral);
	transform: translateY(-2px);
}

/* ==========================================================================
   6. Κεντρική εικονογράφηση
   ========================================================================== */
.ahfs-hero-illustration {
	margin: 10px auto 40px;
	max-width: 900px;
}
.ahfs-hero-illustration img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
}

/* ==========================================================================
   7. Κάρτες Romance / Mystery
   ========================================================================== */
.ahfs-cycles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	margin: 0 0 60px;
}
@media (max-width: 640px) {
	.ahfs-cycles { grid-template-columns: 1fr; }
}
.ahfs-cycle-card {
	display: flex;
	flex-direction: column;
	background: var(--ahfs-surface);
	border: 1px solid var(--ahfs-taupe);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	box-shadow: 0 4px 14px rgba(64, 56, 58, 0.06);
}
.ahfs-cycle-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(64, 56, 58, 0.12);
}
.ahfs-cycle-card-image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.ahfs-cycle-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ahfs-cycle-card-body {
	padding: 24px 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ahfs-cycle-label {
	font-family: var(--font-heading);
	font-size: 26px;
	font-weight: 700;
	color: var(--ahfs-plum);
}
.ahfs-cycle-desc {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.55;
	color: var(--ahfs-charcoal);
}
.ahfs-cycle-btn {
	margin-top: 8px;
	font-family: var(--font-body);
	font-weight: 600;
	color: var(--ahfs-coral);
}

/* ==========================================================================
   8. Ενότητα τεσσάρων εβδομάδων (tabs Romance / Mystery)
   ========================================================================== */
.ahfs-weeks-section {
	padding: 20px 0 50px;
	text-align: center;
}
.ahfs-section-title {
	font-family: var(--font-heading);
	font-size: clamp(24px, 3.4vw, 32px);
	color: var(--ahfs-plum);
	margin-bottom: 10px;
}
.ahfs-section-subtitle {
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--ahfs-charcoal);
	max-width: 640px;
	margin: 0 auto 28px;
}

.ahfs-tabs {
	display: flex;
	justify-content: center;
	gap: 36px;
	margin-bottom: 26px;
}
.ahfs-tab-btn {
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--font-heading);
	font-size: 19px;
	font-weight: 600;
	padding: 6px 4px 10px;
	color: var(--ahfs-charcoal);
	border-bottom: 2px solid transparent;
}
.ahfs-tab-btn[aria-selected="true"] {
	color: var(--ahfs-plum);
	border-bottom: 2px solid var(--ahfs-plum);
}

.ahfs-weeks-panel {
	display: none;
	background: var(--ahfs-surface);
	border: 1px solid var(--ahfs-taupe);
	border-radius: 14px;
	overflow: hidden;
}
.ahfs-weeks-panel.is-active { display: grid; }
.ahfs-weeks-panel {
	grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 900px) {
	.ahfs-weeks-panel.is-active { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
	.ahfs-weeks-panel.is-active { grid-template-columns: 1fr; }
}
.ahfs-week {
	padding: 30px 22px;
	text-align: left;
	border-left: 1px solid var(--ahfs-taupe);
}
.ahfs-week:first-child { border-left: none; }
@media (max-width: 560px) {
	.ahfs-week { border-left: none; border-top: 1px solid var(--ahfs-taupe); }
	.ahfs-week:first-child { border-top: none; }
}
.ahfs-week-label {
	display: block;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ahfs-coral);
	margin-bottom: 10px;
}
.ahfs-week-title {
	font-family: var(--font-heading);
	font-size: 18px;
	color: var(--ahfs-plum);
	margin: 0 0 10px;
}
.ahfs-week-desc {
	font-family: var(--font-body);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ahfs-charcoal);
	margin: 0;
}

/* ==========================================================================
   9. Πρόσκληση για συνδρομή (χωρίς τιμές/πακέτα)
   ========================================================================== */
.ahfs-subscribe-cta {
	text-align: center;
	padding: 10px 10px 56px;
}
.ahfs-subscribe-cta p {
	font-family: var(--font-heading);
	font-size: clamp(19px, 2.6vw, 24px);
	color: var(--ahfs-plum);
	margin-bottom: 22px;
}
.ahfs-subscribe-cta .ahfs-hero-cta {
	background: var(--ahfs-plum);
}

/* ==========================================================================
   10. Εγγραφή σε ενημερώσεις
   ========================================================================== */
.ahfs-newsletter {
	text-align: center;
	background: var(--ahfs-surface);
	border: 1px solid var(--ahfs-taupe);
	border-radius: 16px;
	padding: 44px 24px;
	margin-bottom: 60px;
}
.ahfs-newsletter-eyebrow {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ahfs-coral);
	margin-bottom: 10px;
}
.ahfs-newsletter h2 {
	margin: 0 0 10px;
}
.ahfs-newsletter-desc {
	font-family: var(--font-body);
	color: var(--ahfs-charcoal);
	margin-bottom: 22px;
}
.ahfs-newsletter-form {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	max-width: 440px;
	margin: 0 auto 14px;
}
.ahfs-newsletter-form input[type="email"] {
	flex: 1 1 240px;
	padding: 13px 16px;
	border-radius: 30px;
	border: 1px solid var(--ahfs-taupe);
	background: #fff;
	font-family: var(--font-body);
	font-size: 15px;
}
.ahfs-newsletter-form button {
	padding: 13px 26px;
	border: none;
	border-radius: 30px;
	background: var(--ahfs-plum);
	color: var(--ahfs-on-plum);
	font-family: var(--font-body);
	font-weight: 600;
	cursor: pointer;
}
.ahfs-newsletter-form button:hover { background: var(--ahfs-coral); }
.ahfs-newsletter-privacy {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--ahfs-charcoal);
}
.ahfs-newsletter-privacy a { color: var(--ahfs-plum); text-decoration: underline; }

/* ==========================================================================
   11. Footer
   ========================================================================== */
.site-footer,
.site-footer .inside-top-bar,
.site-footer .footer-widgets,
.site-footer .inside-footer {
	display: none !important;
}

.ahfs-footer {
	background-color: var(--ahfs-footer-bg);
	background-image: var(--ahfs-paper-texture);
	border-top: 1px solid var(--ahfs-plum);
	padding: 50px 20px 26px;
	font-family: var(--font-body);
	color: var(--ahfs-charcoal);
}
.ahfs-footer-inner {
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	gap: 32px;
}
@media (max-width: 720px) {
	.ahfs-footer-inner { grid-template-columns: 1fr; }
}
.ahfs-footer-col h3 {
	font-family: var(--font-heading);
	font-size: 15px;
	color: var(--ahfs-plum);
	margin: 0 0 14px;
}
.ahfs-footer-col img { max-height: 46px; width: auto; margin-bottom: 12px; }
.ahfs-footer-col p { margin: 0 0 6px; font-size: 14px; }
.ahfs-footer-col ul { list-style: none; margin: 0; padding: 0; }
.ahfs-footer-col ul li { margin-bottom: 8px; }
.ahfs-footer-col ul a {
	color: var(--ahfs-charcoal);
	text-decoration: none;
	font-size: 14px;
}
.ahfs-footer-col ul a:hover { color: var(--ahfs-plum); }
.ahfs-footer-social {
	display: flex;
	gap: 12px;
	margin-top: 14px;
}
.ahfs-footer-social a {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid var(--ahfs-taupe);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ahfs-plum);
	text-decoration: none;
	font-size: 14px;
}
.ahfs-footer-bottom {
	max-width: 1140px;
	margin: 34px auto 0;
	padding-top: 18px;
	border-top: 1px solid var(--ahfs-taupe);
	text-align: center;
	font-size: 13px;
	color: var(--ahfs-charcoal);
}

/* ==========================================================================
   12. Cookie consent banner
   ========================================================================== */
.ahfs-cookie-banner[hidden] {
	display: none !important;
}
.ahfs-cookie-banner {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	max-width: 640px;
	margin: 0 auto;
	background: var(--ahfs-plum);
	color: var(--ahfs-on-plum);
	padding: 16px 20px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-family: var(--font-body);
	font-size: 14px;
	z-index: 9999;
	box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
.ahfs-cookie-banner p { margin: 0; }
.ahfs-cookie-banner button {
	background: var(--ahfs-on-plum);
	color: var(--ahfs-plum);
	border: none;
	padding: 8px 16px;
	border-radius: 6px;
	font-weight: 600;
	cursor: pointer;
	flex-shrink: 0;
}


/* ==========================================================================
   13. Πλήρες πλάτος αρχικής σελίδας (χωρίς sidebar)
   ========================================================================== */

/* Η ενότητα .inside-article του GeneratePress παίρνει λευκό φόντο από μια
   Customizer-generated inline ρύθμιση (var(--base-3)) με μεγαλύτερη
   ειδικότητα (.separate-containers .inside-article) από τον γενικό μας
   κανόνα· στην αρχική σελίδα το αφαιρούμε εντελώς ώστε να φαίνεται μόνο
   το ενιαίο υφασμένο φόντο ιβουάρ-μπεζ, χωρίς λευκό "κουτί" γύρω από το
   περιεχόμενο. */
body.home .inside-article,
body.home .site-content .inside-right-sidebar {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
body.home .site-content {
	display: block;
}
body.home #right-sidebar {
	display: none !important;
}
body.home #primary {
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}


/* ==========================================================================
   14. ESPA / Ελλάδα 2.0 banner
   ========================================================================== */
.ahfs-espa-banner {
	background: #ffffff;
	border-bottom: 1px solid var(--ahfs-taupe);
	text-align: center;
	padding: 6px 12px;
}
.ahfs-espa-banner img {
	height: 40px;
	width: auto;
	display: inline-block;
}
@media (max-width: 480px) {
	.ahfs-espa-banner img { height: 30px; }
}

/* ==========================================================================
   15. Romance / Mystery — σταθερή χρωματική ταυτότητα ΜΟΝΟ στις σελίδες
   έργων + αρχεία κύκλων. Header/menu/footer παραμένουν στην κοινή παλέτα.
   ========================================================================== */
body.category-romance-cycle,
body.ahfs-work-romance {
	--cyc-bg: #E8C5BE;
	--cyc-card: #FBF6EF;
	--cyc-title: #4A2C43;
	--cyc-accent: #B7606D;
	--cyc-btn-bg: #4A2C43;
	--cyc-btn-text: #FBF6EF;
	--cyc-muted: #8a6a7c;
	--cyc-card-title: #4A2C43;
	--cyc-card-muted: #8a6a7c;
	--cyc-card-accent: #B7606D;
	background-color: var(--cyc-bg) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E") !important;
}

body.category-mystery-cycle,
body.ahfs-work-mystery {
	--cyc-bg: #354052;
	--cyc-card: #FAF6F0;
	--cyc-title: #F4EFE7;
	--cyc-accent: #D8D1D5;
	--cyc-btn-bg: #232C3A;
	--cyc-btn-text: #F4EFE7;
	--cyc-muted: #D8D1D5;
	--cyc-card-title: #2E3446;
	--cyc-card-muted: #6B7280;
	--cyc-card-accent: #6B4C63;
	background-color: var(--cyc-bg) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E") !important;
}

body.category-romance-cycle .site-content,
body.category-mystery-cycle .site-content,
body.ahfs-work-romance .site-content,
body.ahfs-work-mystery .site-content {
	display: block;
}
body.category-romance-cycle #right-sidebar,
body.category-mystery-cycle #right-sidebar,
body.ahfs-work-romance #right-sidebar,
body.ahfs-work-mystery #right-sidebar {
	display: none !important;
}
body.category-romance-cycle #primary,
body.category-mystery-cycle #primary,
body.ahfs-work-romance #primary,
body.ahfs-work-mystery #primary {
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

body.category-romance-cycle .inside-article,
body.category-mystery-cycle .inside-article,
body.ahfs-work-romance .inside-article,
body.ahfs-work-mystery .inside-article {
	background: transparent;
	border: none;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
}
body.category-romance-cycle .page-header,
body.category-mystery-cycle .page-header {
	display: none;
}

body.category-romance-cycle h1, body.category-romance-cycle h2, body.category-romance-cycle h3,
body.category-mystery-cycle h1, body.category-mystery-cycle h2, body.category-mystery-cycle h3,
body.ahfs-work-romance h1, body.ahfs-work-romance h2, body.ahfs-work-romance h3,
body.ahfs-work-mystery h1, body.ahfs-work-mystery h2, body.ahfs-work-mystery h3 {
	color: var(--cyc-title);
}

.ahfs-work-page, .ahfs-archive-page {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 24px 72px;
	color: var(--cyc-title);
}

.ahfs-breadcrumb {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--cyc-muted);
	margin-bottom: 22px;
}
.ahfs-breadcrumb a { color: var(--cyc-muted); text-decoration: none; }
.ahfs-breadcrumb a:hover { text-decoration: underline; }
.ahfs-breadcrumb span { margin: 0 6px; }
.ahfs-breadcrumb .is-current { color: var(--cyc-title); font-weight: 600; }

.ahfs-badge {
	display: inline-block;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--cyc-accent);
	margin-bottom: 10px;
}
.ahfs-badge-onimg {
	position: absolute;
	top: 16px;
	left: 16px;
	background: var(--cyc-card-accent);
	color: #fff !important;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 11px;
	margin: 0;
}

.ahfs-work-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
	margin-bottom: 56px;
}
.ahfs-work-title {
	font-family: var(--font-heading);
	font-size: 42px;
	color: var(--cyc-title);
	margin: 0 0 6px;
}
.ahfs-work-author {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 19px;
	color: var(--cyc-accent) !important;
	margin: 0 0 18px;
}
.ahfs-work-divider {
	width: 48px;
	height: 2px;
	background: var(--cyc-accent);
	border: none;
	margin: 0 0 18px;
}
.ahfs-work-intro {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--cyc-title) !important;
	opacity: 0.9;
	max-width: 420px;
}
.ahfs-work-hero-image img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	display: block;
	box-shadow: 0 12px 32px rgba(0,0,0,0.18);
}

.ahfs-weeks-heading-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
}
.ahfs-weeks-heading {
	font-family: var(--font-heading);
	font-size: 28px;
	color: var(--cyc-title);
	margin: 0;
}
.ahfs-weeks-subtitle {
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--cyc-muted) !important;
	text-align: right;
	margin: 0;
	max-width: 320px;
}
.ahfs-weeks-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.ahfs-week-card {
	background: var(--cyc-card);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(0,0,0,0.10);
}
.ahfs-week-card-image {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.ahfs-week-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ahfs-week-card.is-locked .ahfs-week-card-image img {
	filter: grayscale(1) brightness(0.5);
}
.ahfs-week-number {
	position: absolute;
	top: 12px;
	left: 12px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--cyc-card-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 13px;
	z-index: 2;
}
.ahfs-week-status {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: rgba(20,20,20,0.68);
	color: #fff;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	padding: 5px 10px;
	border-radius: 20px;
	z-index: 2;
}
.ahfs-week-card-body { padding: 18px 20px 20px; }
.ahfs-week-card-label {
	display: block;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--cyc-card-accent) !important;
	margin-bottom: 6px;
}
.ahfs-week-card-title {
	font-family: var(--font-heading);
	font-size: 20px;
	color: var(--cyc-card-title) !important;
	margin: 0 0 8px;
}
.ahfs-week-card-desc {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.55;
	color: var(--cyc-card-title) !important;
	opacity: 0.85;
	margin: 0 0 16px;
}
.ahfs-week-card-btn {
	display: inline-block;
	background: var(--cyc-btn-bg);
	color: var(--cyc-btn-text) !important;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 13px;
	padding: 10px 18px;
	border-radius: 30px;
	text-decoration: none !important;
}
.ahfs-week-card-btn:hover { opacity: 0.88; }
.ahfs-week-card-soon {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	color: var(--cyc-card-muted) !important;
}
.ahfs-week-card.is-locked .ahfs-week-card-title,
.ahfs-week-card.is-locked .ahfs-week-card-desc { opacity: 0.7; }

.ahfs-archive-title {
	font-family: var(--font-heading);
	font-size: 40px;
	margin: 0 0 12px;
	color: var(--cyc-title);
}
.ahfs-archive-intro {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	max-width: 560px;
	opacity: 0.9;
	margin: 0 0 40px;
}
.ahfs-archive-subheading {
	font-family: var(--font-heading);
	font-size: 24px;
	color: var(--cyc-title);
	margin: 0 0 18px;
	position: relative;
	padding-bottom: 10px;
}
.ahfs-archive-subheading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 3px;
	background: var(--cyc-accent);
}

.ahfs-current-work {
	display: grid;
	grid-template-columns: 380px 1fr;
	background: var(--cyc-card);
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 48px;
	box-shadow: 0 10px 28px rgba(0,0,0,0.12);
}
.ahfs-current-work-image { position: relative; }
.ahfs-current-work-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	min-height: 260px;
}
.ahfs-current-work-body {
	padding: 32px 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ahfs-current-work-month {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--cyc-card-muted) !important;
	margin-bottom: 8px;
}
.ahfs-current-work-title {
	font-family: var(--font-heading);
	font-size: 28px;
	color: var(--cyc-card-title) !important;
	margin: 0 0 4px;
}
.ahfs-current-work-author {
	font-family: var(--font-heading);
	font-style: italic;
	color: var(--cyc-card-accent) !important;
	margin: 0 0 14px;
}
.ahfs-current-work-desc {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.6;
	color: var(--cyc-card-title) !important;
	opacity: 0.9;
	margin: 0 0 22px;
}
.ahfs-current-work-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.ahfs-current-work-weeks {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--cyc-card-muted) !important;
}
.ahfs-current-work-btn {
	display: inline-block;
	background: var(--cyc-btn-bg);
	color: var(--cyc-btn-text) !important;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	padding: 12px 24px;
	border-radius: 30px;
	text-decoration: none !important;
	white-space: nowrap;
}
.ahfs-current-work-btn:hover { opacity: 0.88; }

.ahfs-previous-works-empty {
	background: var(--cyc-card);
	border-radius: 16px;
	padding: 40px 24px;
	text-align: center;
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--cyc-card-muted) !important;
	opacity: 0.9;
}

@media (max-width: 900px) {
	.ahfs-work-hero { grid-template-columns: 1fr; }
	.ahfs-weeks-grid { grid-template-columns: 1fr; }
	.ahfs-current-work { grid-template-columns: 1fr; }
	.ahfs-current-work-image img { min-height: 220px; }
	.ahfs-weeks-heading-row { flex-direction: column; align-items: flex-start; }
	.ahfs-weeks-subtitle { text-align: left; }
}
@media (max-width: 480px) {
	.ahfs-work-title { font-size: 32px; }
	.ahfs-archive-title { font-size: 30px; }
	.ahfs-current-work-body { padding: 24px; }
}


/* Απόκρυψη προεπιλεγμένου τίτλου σελίδας GeneratePress στις σελίδες έργων
   (χρησιμοποιούμε τον δικό μας τίτλο μέσα στο .ahfs-work-hero) */
body.ahfs-work-romance .page-header,
body.ahfs-work-mystery .page-header,
body.ahfs-work-romance .entry-header,
body.ahfs-work-mystery .entry-header {
	display: none !important;
}
