/*
Theme Name: GeneratePress Child - A Home For Stories
Template: generatepress
Description: Child theme για το A Home For Stories. Περιέχει το dual branding (Romance / Mystery) και δεν πειράζει ποτέ το parent theme, ώστε τα updates του GeneratePress να μη σβήνουν τις αλλαγές.
Version: 1.1.0
Text Domain: generatepress-child
*/

/* ==========================================================================
   ΣΗΜΕΙΩΣΗ v1.1: Στο v1.0 βάφαμε ΟΛΟΚΛΗΡΟ το body σκούρο (background + text
   color) για το Mystery. Το πρόβλημα: το GeneratePress βάζει το περιεχόμενο
   (.inside-article, widgets) μέσα σε ΛΕΥΚΑ "κουτιά". Το ανοιχτόχρωμο κείμενο
   που ορίζαμε στο body έπεφτε πάνω σε λευκό φόντο = σχεδόν αόρατο.
   Λύση v1.1: ΔΕΝ αλλάζουμε ποτέ το χρώμα του βασικού κειμένου (μένει σκούρο,
   ευανάγνωστο, WCAG-safe σε λευκό φόντο). Το accent χρώμα κάθε κύκλου
   χρησιμοποιείται μόνο σε: φόντο σελίδας (πολύ ανοιχτή απόχρωση), τίτλους,
   links, borders, κουμπιά — ποτέ στο σώμα του κειμένου.
   ========================================================================== */

/* ==========================================================================
   1. Global brand variables (fallback / site-wide defaults)
   ========================================================================== */
:root {
	--accent-primary: #b09617;
	--accent-secondary: #dfb644;
	--accent-page-bg: #ffffff;
	--accent-heading: #2c2c2c;
	--font-heading: "Playfair Display", serif;
	--font-body: "Raleway", sans-serif;
}

/* ==========================================================================
   2. Romance Cycle palette
   Εφαρμόζεται σε: single posts της κατηγορίας "Romance Cycle" (slug: romance-cycle)
   και στο category archive της.
   Φόντο σελίδας: πολύ ανοιχτή nude απόχρωση (όχι έντονο μπεζ) ώστε το λευκό
   κουτί περιεχομένου να ξεχωρίζει καθαρά.
   Τίτλοι/links: βαθύ, ζεστό καφέ — contrast ratio >7:1 πάνω σε λευκό/nude.
   ========================================================================== */
body.cycle-romance,
body.category-romance-cycle {
	--accent-primary: #b5717e;   /* deep dusty rose — για links (καλό contrast σε λευκό) */
	--accent-secondary: #d8a7b1; /* dusty rose — decorative μόνο (borders, κουμπιά) */
	--accent-page-bg: #fbf3ee;   /* πολύ ανοιχτή nude, φόντο σελίδας */
	--accent-heading: #4a3b35;   /* βαθύ καφέ, τίτλοι */
}

/* ==========================================================================
   3. Mystery Cycle palette
   slug: mystery-cycle
   Φόντο σελίδας: πολύ ανοιχτή ψυχρή γκρι-μπλε απόχρωση.
   Τίτλοι/links: graphite — σκούρο αρκετά για WCAG AA πάνω σε λευκό/ανοιχτό φόντο.
   ========================================================================== */
body.cycle-mystery,
body.category-mystery-cycle {
	--accent-primary: #2c3e50;   /* graphite — links */
	--accent-secondary: #95a5a6; /* dusty blue/grey — decorative μόνο */
	--accent-page-bg: #eef1f2;   /* πολύ ανοιχτή ψυχρή απόχρωση, φόντο σελίδας */
	--accent-heading: #2c3e50;   /* graphite, τίτλοι */
}

/* ==========================================================================
   4. Εφαρμογή των μεταβλητών — ΙΔΙΑ regels και για τους δύο κύκλους.
   Το σώμα κειμένου (.entry-content, p) ΔΕΝ αλλάζει χρώμα — μένει το default
   του GeneratePress (σκούρο γκρι σε λευκό), εγγυημένα ευανάγνωστο.
   ========================================================================== */
body.cycle-romance,
body.category-romance-cycle,
body.cycle-mystery,
body.category-mystery-cycle {
	background-color: var(--accent-page-bg);
}

body.cycle-romance .entry-title,
body.category-romance-cycle .entry-title,
body.cycle-mystery .entry-title,
body.category-mystery-cycle .entry-title,
body.cycle-romance .site-title,
body.category-romance-cycle .site-title,
body.cycle-mystery .site-title,
body.category-mystery-cycle .site-title {
	color: var(--accent-heading);
}

body.cycle-romance .entry-content a,
body.category-romance-cycle .entry-content a,
body.cycle-mystery .entry-content a,
body.category-mystery-cycle .entry-content a,
body.cycle-romance a:not(.gb-button),
body.category-romance-cycle a:not(.gb-button),
body.cycle-mystery a:not(.gb-button),
body.category-mystery-cycle a:not(.gb-button) {
	color: var(--accent-primary);
}

body.cycle-romance .site-header,
body.category-romance-cycle .site-header,
body.cycle-mystery .site-header,
body.category-mystery-cycle .site-header {
	border-bottom: 3px solid var(--accent-secondary);
}

/* ==========================================================================
   5. Typography (κοινή για όλο το site, σύμφωνα με το brief)
   ========================================================================== */
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title {
	font-family: var(--font-heading);
}

body,
p,
.entry-content {
	font-family: var(--font-body);
}

/* GenerateBlocks containers/κουμπιά που θέλουμε να ακολουθούν το accent
   χρώμα του κύκλου — εδώ ΕΠΙΤΡΕΠΕΤΑΙ το ανοιχτόχρωμο κείμενο, γιατί το ίδιο
   το container έχει σκούρο φόντο (background + color πηγαίνουν πάντα μαζί). */
.gb-container.uses-cycle-accent {
	background-color: var(--accent-heading);
	color: #ffffff;
}

/* ==========================================================================
   6. Custom Home Template (template-home.php)
   ========================================================================== */
.ahfs-home {
	max-width: 1100px;
	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: #e7f5ea; color: #1e5b2f; border: 1px solid #b6ddc0; }
.ahfs-notice-error { background: #fbeaea; color: #7a1f1f; border: 1px solid #eebcbc; }

/* Hero */
.ahfs-hero {
	text-align: center;
	padding: 60px 10px 40px;
}
.ahfs-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(28px, 5vw, 44px);
	color: #2c2c2c;
	margin-bottom: 14px;
}
.ahfs-hero-subtitle {
	font-family: var(--font-body);
	font-size: 18px;
	color: #555;
	max-width: 620px;
	margin: 0 auto 26px;
}
.ahfs-hero-cta {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 600;
	background: #2c2c2c;
	color: #fff !important;
	padding: 14px 30px;
	border-radius: 30px;
	text-decoration: none;
	transition: transform 0.15s ease, background 0.15s ease;
}
.ahfs-hero-cta:hover {
	background: #b09617;
	transform: translateY(-2px);
}

/* Cycle cards */
.ahfs-cycles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin: 30px 0 60px;
}
@media (max-width: 640px) {
	.ahfs-cycles { grid-template-columns: 1fr; }
}
.ahfs-cycle-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 36px 28px;
	border-radius: 14px;
	text-decoration: none !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
.ahfs-cycle-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(0,0,0,0.1);
}
.ahfs-cycle-label {
	font-family: var(--font-heading);
	font-size: 30px;
	font-weight: 700;
}
.ahfs-cycle-desc {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
}
.ahfs-cycle-btn {
	margin-top: auto;
	font-family: var(--font-body);
	font-weight: 600;
	padding-top: 10px;
}

.ahfs-cycle-romance {
	background: #fbf3ee;
}
.ahfs-cycle-romance .ahfs-cycle-label,
.ahfs-cycle-romance .ahfs-cycle-btn { color: #b5717e; }
.ahfs-cycle-romance .ahfs-cycle-desc { color: #6b5850; }

.ahfs-cycle-mystery {
	background: #2c3e50;
}
.ahfs-cycle-mystery .ahfs-cycle-label,
.ahfs-cycle-mystery .ahfs-cycle-btn { color: #ffffff; }
.ahfs-cycle-mystery .ahfs-cycle-desc { color: #cfd8dc; }

/* Section titles */
.ahfs-section-title {
	font-family: var(--font-heading);
	font-size: 26px;
	margin-bottom: 24px;
	text-align: center;
}

/* Story cards grid */
.ahfs-story-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 22px;
	margin-bottom: 60px;
}
.ahfs-story-card {
	display: block;
	text-decoration: none !important;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,0.07);
	transition: transform 0.15s ease;
}
.ahfs-story-card:hover { transform: translateY(-3px); }
.ahfs-story-thumb {
	position: relative;
	aspect-ratio: 16 / 10;
	background: #f0ece7;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.ahfs-story-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ahfs-story-thumb-fallback { font-size: 42px; }
.ahfs-story-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 4px 10px;
	border-radius: 20px;
	color: #fff;
}
.ahfs-story-card.romance .ahfs-story-badge { background: #b5717e; }
.ahfs-story-card.mystery .ahfs-story-badge { background: #2c3e50; }
.ahfs-story-title {
	font-family: var(--font-heading);
	font-size: 18px;
	margin: 14px 16px 6px;
	color: #2c2c2c;
}
.ahfs-story-excerpt {
	font-family: var(--font-body);
	font-size: 14px;
	color: #666;
	margin: 0 16px 16px;
	line-height: 1.5;
}

/* Newsletter */
.ahfs-newsletter {
	text-align: center;
	background: #f7f5f2;
	border-radius: 14px;
	padding: 40px 20px;
	margin-bottom: 60px;
}
.ahfs-newsletter-form {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	max-width: 420px;
	margin: 0 auto;
}
.ahfs-newsletter-form input[type="email"] {
	flex: 1 1 220px;
	padding: 12px 14px;
	border-radius: 6px;
	border: 1px solid #ccc;
	font-family: var(--font-body);
	font-size: 15px;
}
.ahfs-newsletter-form button {
	padding: 12px 22px;
	border: none;
	border-radius: 6px;
	background: #2c2c2c;
	color: #fff;
	font-family: var(--font-body);
	font-weight: 600;
	cursor: pointer;
}
.ahfs-newsletter-form button:hover { background: #b09617; }

/* Cookie consent banner */
.ahfs-cookie-banner {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	max-width: 640px;
	margin: 0 auto;
	background: #2c2c2c;
	color: #fff;
	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: #fff;
	color: #2c2c2c;
	border: none;
	padding: 8px 16px;
	border-radius: 6px;
	font-weight: 600;
	cursor: pointer;
	flex-shrink: 0;
}
