@charset "UTF-8";
/* ==========================================================================
   Νηστειοδρόμιο — αυτόνομο ένθεμα (gkpc.gr)

   Το ένθεμα δεν εξαρτάται από το template του ιστότοπου. Για να το ταιριάξετε
   με τα χρώματά σας, ορίστε τις παρακάτω μεταβλητές στο δικό σας CSS:

     .gnist { --gnist-accent: #6e1f23; --gnist-radius: 4px; }
   ========================================================================== */

.gnist {
	--gnist-bg:        var(--gnist-surface, #fff);
	--gnist-ink:       #23201d;
	--gnist-muted:     #6d665f;
	--gnist-line:      #e4ded4;
	--gnist-accent:    #6e1f23;
	--gnist-radius:    4px;
	--gnist-font:      inherit;

	/* Χρώματα κατηγοριών */
	--gnist-all:       #2fb457;
	--gnist-all-bg:    #e8f8ec;
	--gnist-all-fg:    #1e7a3c;

	--gnist-fish:      #2f95e0;
	--gnist-fish-bg:   #e3f2fd;
	--gnist-fish-fg:   #1668b0;

	--gnist-wine:      #f5a623;
	--gnist-wine-bg:   #fff3d9;
	--gnist-wine-fg:   #a9690a;

	--gnist-dairy:     #a25cf0;
	--gnist-dairy-bg:  #f3e8fe;
	--gnist-dairy-fg:  #6d2cb0;

	--gnist-xero:      #e8384f;
	--gnist-xero-bg:   #fde4e7;
	--gnist-xero-fg:   #b01528;

	font-family: var(--gnist-font);
	color: var(--gnist-ink);
	line-height: 1.5;
}

.gnist *, .gnist *::before, .gnist *::after { box-sizing: border-box; }

/* Ανά κατηγορία — μία μεταβλητή που κληρονομούν τα παιδιά */
.gnist-cat-all      { --c: var(--gnist-all);   --c-bg: var(--gnist-all-bg);   --c-fg: var(--gnist-all-fg); }
.gnist-cat-fish     { --c: var(--gnist-fish);  --c-bg: var(--gnist-fish-bg);  --c-fg: var(--gnist-fish-fg); }
.gnist-cat-wine_oil { --c: var(--gnist-wine);  --c-bg: var(--gnist-wine-bg);  --c-fg: var(--gnist-wine-fg); }
.gnist-cat-dairy    { --c: var(--gnist-dairy); --c-bg: var(--gnist-dairy-bg); --c-fg: var(--gnist-dairy-fg); }
.gnist-cat-xero     { --c: var(--gnist-xero);  --c-bg: var(--gnist-xero-bg);  --c-fg: var(--gnist-xero-fg); }

/* --------------------------------------------------------------- σήμερα */
.gnist-today {
	display: flex;
	align-items: stretch;
	gap: 0;
	border: 1px solid var(--gnist-line);
	border-inline-start: 4px solid var(--c, var(--gnist-accent));
	border-radius: var(--gnist-radius);
	background: var(--gnist-bg);
	overflow: hidden;
}

.gnist-today__date {
	flex: 0 0 5.6rem;
	display: grid;
	align-content: center;
	justify-items: center;
	gap: 0.05rem;
	padding: 0.9rem 0.5rem;
	background: var(--c-bg, #f6f3ee);
	color: var(--c-fg, var(--gnist-ink));
	text-align: center;
}

.gnist-today__dow {
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.85;
}

.gnist-today__num {
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.gnist-today__month { font-size: 0.74rem; opacity: 0.85; }

.gnist-today__body { padding: 0.9rem 1.1rem; display: grid; gap: 0.3rem; align-content: center; }

.gnist-today__period {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gnist-accent);
}

.gnist-today__label {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--c-fg, var(--gnist-ink));
}

.gnist-today__icon {
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--c, var(--gnist-accent));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--c, var(--gnist-accent)) 20%, transparent);
}

.gnist-today__desc { margin: 0; font-size: 0.84rem; color: var(--gnist-muted); }

.gnist-today__feast {
	margin: 0.25rem 0 0;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--gnist-accent);
}

/* -------------------------------------------------------------- εβδομάδα */
.gnist-week {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0.3rem;
	list-style: none;
	margin: 0.8rem 0 0;
	padding: 0;
}

.gnist-week__day {
	display: grid;
	justify-items: center;
	gap: 0.2rem;
	padding: 0.55rem 0.2rem;
	border: 1px solid var(--gnist-line);
	border-radius: var(--gnist-radius);
	background: var(--gnist-bg);
	text-align: center;
}

.gnist-week__day.is-today {
	border-color: var(--c, var(--gnist-accent));
	background: var(--c-bg, #f6f3ee);
}

.gnist-week__dow { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.06em; color: var(--gnist-muted); text-transform: uppercase; }
.gnist-week__num { font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; }

.gnist-week__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--c, var(--gnist-accent));
}

.gnist-week__label { font-size: 0.56rem; color: var(--gnist-muted); line-height: 1.2; }

@media (max-width: 30rem) {
	.gnist-week__label { display: none; }
}

/* ----------------------------------------------------------------- μήνας */
.gnist-month { margin-top: 0.8rem; }

.gnist-month__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.gnist-month__title {
	font-size: 0.94rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--gnist-accent);
}

.gnist-month__nav {
	display: grid;
	place-items: center;
	width: 1.9rem;
	height: 1.9rem;
	border: 1px solid var(--gnist-line);
	border-radius: var(--gnist-radius);
	color: var(--gnist-muted);
	text-decoration: none;
	font-size: 1.05rem;
	line-height: 1;
	transition: border-color .2s, color .2s, background .2s;
}

.gnist-month__nav:hover { border-color: var(--gnist-accent); color: var(--gnist-accent); }

.gnist-month__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 2px;
}

.gnist-month__dow {
	padding: 0.25rem 0;
	text-align: center;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gnist-muted);
}

.gnist-month__day {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	border-radius: var(--gnist-radius);
	background: var(--c-bg, transparent);
	color: var(--c-fg, var(--gnist-ink));
	font-size: 0.82rem;
	font-variant-numeric: tabular-nums;
	cursor: default;
}

.gnist-month__day.is-today {
	outline: 2px solid var(--c, var(--gnist-accent));
	outline-offset: -2px;
	font-weight: 700;
}

/* Κουκκίδα για τις κινητές εορτές */
.gnist-month__day.has-feast::after {
	content: "";
	position: absolute;
	inset-block-end: 3px;
	inset-inline-start: 50%;
	translate: -50% 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--gnist-accent);
}

/* ---------------------------------------------------------------- υπόμνημα */
.gnist-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.9rem;
	list-style: none;
	margin: 0.8rem 0 0;
	padding: 0;
	font-size: 0.68rem;
	color: var(--gnist-muted);
}

.gnist-legend li { display: flex; align-items: center; gap: 0.35rem; margin: 0; }

.gnist-legend__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--c, var(--gnist-accent));
}

.gnist-pascha {
	margin: 0.8rem 0 0;
	font-size: 0.74rem;
	color: var(--gnist-muted);
	text-align: center;
}

/* ------------------------------------------------------- σκούρα templates
   Το ένθεμα ακολουθεί το template του ιστότοπου, όχι το λειτουργικό σύστημα.
   Αν το τοποθετήσετε σε σκούρο σημείο, δώστε του .gnist[data-scheme="dark"]
   ή ορίστε μόνοι σας τις μεταβλητές.                                        */
.gnist[data-scheme="dark"] {
	--gnist-bg:    transparent;
	--gnist-ink:   #f2ece1;
	--gnist-muted: #b6ab9c;
	--gnist-line:  rgb(255 255 255 / 16%);

	--gnist-all-bg:   rgb(47 180 87 / 14%);   --gnist-all-fg:   #7fe0a0;
	--gnist-fish-bg:  rgb(47 149 224 / 14%);  --gnist-fish-fg:  #85c6f5;
	--gnist-wine-bg:  rgb(245 166 35 / 14%);  --gnist-wine-fg:  #f2c473;
	--gnist-dairy-bg: rgb(162 92 240 / 14%);  --gnist-dairy-fg: #cba4f7;
	--gnist-xero-bg:  rgb(232 56 79 / 14%);   --gnist-xero-fg:  #f4909e;
}
