/* ==========================================================================
   karea — αρχική σελίδα
   ========================================================================== */

.pk-sechead { text-align: center; margin: 0 auto 44px; max-width: 760px; }
.pk-sechead h2 { margin: .3em 0 0; }
.pk-sechead--row { display: flex; align-items: end; justify-content: space-between; gap: 20px; text-align: left; max-width: none; flex-wrap: wrap; }
.pk-center { text-align: center; margin-top: 30px; }
.pk-empty { text-align: center; color: var(--pk-muted); font-style: italic; }
.pk-today, .pk-week, .pk-patrons, .pk-news, .pk-albums, .pk-visit { padding: clamp(70px, 9vw, 120px) 0; }

/* ---------- 1. Μενεξεδένιο φως ---------- */
.pk-hero {
	--pk-sky-top: #1b1533; --pk-sky-bot: #6b4f86;
	position: relative; min-height: 100svh; min-height: 100vh; overflow: hidden; isolation: isolate;
	display: grid; grid-template-rows: 1fr auto; color: #f7efe0;
	background: linear-gradient(180deg, var(--pk-sky-top), var(--pk-sky-bot));
}
@supports (min-height: 100svh) { .pk-hero { min-height: 100svh; } }
.pk-hero__sky { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -3; }
.pk-hero__land { position: absolute; inset: auto 0 0 0; width: 100%; height: 58%; z-index: -2; }
.pk-ridge, .pk-pines { transition: fill 2s; }
.pk-hero__glow {
	position: absolute; z-index: -1; pointer-events: none; width: 70vmax; height: 70vmax; border-radius: 50%;
	left: var(--gx, 78%); top: var(--gy, 58%); transform: translate(-50%, -50%);
	background: radial-gradient(circle, rgba(255, 190, 110, calc(.22 * var(--glow, 1))) 0%, rgba(255, 150, 80, calc(.08 * var(--glow, 1))) 25%, transparent 60%);
	mix-blend-mode: screen;
}
.pk-hero__inner { align-self: center; padding-top: calc(var(--pk-header-h) + 40px); padding-bottom: 40px; position: relative; z-index: 2; }
.pk-hero__kicker { font-family: var(--pk-f-ui); font-size: .78rem; letter-spacing: .28em; text-transform: uppercase; color: #f0d79c; margin: 0 0 22px; display: flex; align-items: center; gap: 12px; }
.pk-hero__kicker::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.pk-hero__title { margin: 0; color: #fffaf0; font-size: clamp(2.7rem, 1.5rem + 5.4vw, 6.3rem); line-height: .98; letter-spacing: -.005em; text-shadow: 0 2px 30px rgba(20, 10, 40, .45); max-width: 14ch; }
.pk-hero__line { display: block; }
.pk-hero__amp { display: block; font-size: .42em; font-style: italic; color: #f0d79c; margin: .18em 0 .1em .08em; letter-spacing: .06em; }
.pk-hero__lead { font-size: clamp(1.15rem, 1rem + .6vw, 1.5rem); max-width: 34ch; margin: 26px 0 34px; color: #eee3f5; text-shadow: 0 1px 14px rgba(20, 10, 40, .5); }
.pk-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.pk-btn--glass { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .28); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.pk-btn--glass:hover { background: rgba(255, 255, 255, .22); color: #fff; }

.pk-hero__title .pk-hero__line, .pk-hero__amp, .pk-hero__lead, .pk-hero__cta, .pk-hero__kicker { animation: pk-rise 1.3s cubic-bezier(.2, .7, .2, 1) both; }
.pk-hero__amp { animation-delay: .15s; }
.pk-hero__title .pk-hero__line:last-child { animation-delay: .25s; }
.pk-hero__lead { animation-delay: .45s; }
.pk-hero__cta { animation-delay: .6s; }
@keyframes pk-rise { from { opacity: 0; transform: translateY(28px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }

.pk-hero__status {
	position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; padding-bottom: 30px;
	font-family: var(--pk-f-ui); font-size: .82rem; letter-spacing: .04em; color: #e6dcf0;
}
.pk-dot { width: 8px; height: 8px; border-radius: 50%; background: #f0c060; box-shadow: 0 0 0 0 rgba(240, 192, 96, .6); animation: pk-pulse 2.4s infinite; flex: none; }
.pk-dot.is-live { background: #ff6f5a; box-shadow: 0 0 0 0 rgba(255, 111, 90, .6); }
@keyframes pk-pulse { 70% { box-shadow: 0 0 0 10px rgba(240, 192, 96, 0); } 100% { box-shadow: 0 0 0 0 rgba(240, 192, 96, 0); } }
.pk-hero__scroll { position: absolute; left: 50%; bottom: 26px; width: 26px; height: 42px; border: 1.5px solid rgba(255, 255, 255, .5); border-radius: 14px; transform: translateX(-50%); z-index: 2; }
.pk-hero__scroll span { position: absolute; left: 50%; top: 8px; width: 3px; height: 8px; margin-left: -1.5px; border-radius: 2px; background: #fff; animation: pk-scroll 1.8s infinite; }
@keyframes pk-scroll { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
@media (max-width: 700px) { .pk-hero__scroll { display: none; } }

/* Φωτογραφία του Ναού μέσα από «παράθυρο φωτός» (αν οριστεί) */
.pk-hero__photo { position: absolute; z-index: -1; right: 6%; bottom: 14%; width: min(34vw, 460px); aspect-ratio: 3 / 4; border-radius: 999px 999px 18px 18px; overflow: hidden; box-shadow: 0 30px 80px rgba(10, 5, 25, .55); border: 1px solid rgba(255, 230, 180, .35); }
.pk-hero__photo img { width: 100%; height: 100%; object-fit: cover; }

/* Το καντήλι */
.pk-lamp {
	position: absolute; z-index: 1; top: 0; right: clamp(24px, 14vw, 260px); width: clamp(70px, 8vw, 118px);
	transform-origin: 50% 0; transform: rotate(var(--sway, 0deg)); will-change: transform; pointer-events: none;
}
.pk-lamp__svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .35)); }
.pk-lamp__flame { position: absolute; left: 50%; top: 58.5%; width: 44%; height: auto; transform: translate(-50%, -100%); mix-blend-mode: screen; }
@media (max-width: 760px) {
	.pk-lamp { right: 16px; width: 58px; top: calc(var(--pk-header-h) - 70px); }
}

/* ---------- 2. Σήμερα ---------- */
.pk-today { background: var(--pk-bg); position: relative; }
.pk-today__grid { display: grid; grid-template-columns: .9fr 1.4fr 1fr; gap: 24px; align-items: stretch; }
@media (max-width: 980px) { .pk-today__grid { grid-template-columns: 1fr 1fr; } .pk-saint { grid-column: 1 / -1; order: -1; } }
@media (max-width: 620px) { .pk-today__grid { grid-template-columns: 1fr; } }
.pk-daycard, .pk-saint, .pk-next {
	background: var(--pk-paper); border: 1px solid var(--pk-line); border-radius: 20px; padding: 30px 28px;
	box-shadow: var(--pk-shadow); position: relative; overflow: hidden;
}
.pk-daycard { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px;
	background: radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--pk-gold-2) 24%, transparent), transparent 70%), var(--pk-paper); }
.pk-daycard__num { font-family: var(--pk-f-display); font-size: 6.4rem; line-height: .9; color: var(--pk-red); }
.pk-daycard__month { font-family: var(--pk-f-display); font-size: 1.45rem; }
.pk-daycard__dow { font-family: var(--pk-f-ui); font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: var(--pk-muted); }
.pk-daycard__julian { font-size: .95rem; color: var(--pk-muted); font-style: italic; margin-top: 8px; }
.pk-fast { margin-top: auto; padding-top: 18px; display: flex; align-items: center; gap: 12px; text-align: left; font-family: var(--pk-f-ui); font-size: .84rem; line-height: 1.3; }
.pk-fast__icon { font-size: 1.6rem; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--pk-bg-2); flex: none; }
.pk-fast small { display: block; color: var(--pk-muted); font-size: .9em; margin-top: 2px; }
.pk-fast--xero .pk-fast__icon { background: color-mix(in srgb, var(--pk-red) 16%, transparent); }
.pk-fast--wine_oil .pk-fast__icon { background: color-mix(in srgb, #7a8f3a 20%, transparent); }
.pk-fast--fish .pk-fast__icon { background: color-mix(in srgb, #3a6f9a 18%, transparent); }

.pk-saint { display: flex; flex-direction: column; gap: 12px; }
.pk-saint::before { content: ""; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--pk-gold-2) 45%, transparent), transparent 65%); opacity: .55; }
.pk-saint__label, .pk-next__label { font-family: var(--pk-f-ui); font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; color: var(--pk-gold); font-weight: 600; }
.pk-saint__name { font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.35rem); margin: 0; position: relative; }
.pk-saint__syn { color: var(--pk-ink-2); margin: 0; font-size: 1.12rem; }
.pk-saint__names { font-family: var(--pk-f-ui); font-size: .84rem; color: var(--pk-muted); margin: 0; }
.pk-saint .pk-btn { align-self: flex-start; margin-top: auto; }

.pk-next { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; }
.pk-next__ring { position: relative; width: 150px; height: 150px; margin: 8px 0 4px; }
.pk-next__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.pk-next__track { fill: none; stroke: var(--pk-line); stroke-width: 5; }
.pk-next__bar { fill: none; stroke: url(#pkNextGrad); stroke: var(--pk-gold); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 326.7; stroke-dashoffset: 326.7; transition: stroke-dashoffset 1s; }
.pk-next.is-live .pk-next__bar { stroke: var(--pk-red); }
.pk-next__count { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--pk-f-display); font-size: 1.7rem; line-height: 1.05; }
.pk-next__count small { display: block; font-family: var(--pk-f-ui); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pk-muted); }
.pk-next__title { margin: 4px 0 0; font-size: 1.4rem; }
.pk-next__when { margin: 0; color: var(--pk-muted); font-size: 1rem; }
.pk-next .pk-btn { margin-top: auto; }

/* ---------- 3. Πρόγραμμα ---------- */
.pk-week { background: var(--pk-bg-2); }
.pk-week__days { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
@media (max-width: 1000px) { .pk-week__days { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 620px) { .pk-week__days { grid-template-columns: 1fr; } }
.pk-week__day { background: var(--pk-paper); border: 1px solid var(--pk-line); border-radius: 16px; padding: 18px 16px; display: flex; flex-direction: column; gap: 10px; min-height: 150px; transition: transform .25s, box-shadow .25s; }
.pk-week__day:hover { transform: translateY(-3px); box-shadow: var(--pk-shadow); }
.pk-week__day.is-today { border-color: var(--pk-gold); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pk-gold-2) 35%, transparent); }
.pk-week__dname { font-family: var(--pk-f-ui); font-weight: 600; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pk-violet); }
.pk-week__svc { font-size: 1.04rem; line-height: 1.3; }
.pk-week__svc time { display: block; font-family: var(--pk-f-ui); font-size: .8rem; font-weight: 600; color: var(--pk-red); margin-bottom: 2px; font-variant-numeric: tabular-nums; }
.pk-week__svc.is-offseason { display: none; }
.pk-week__date { font-family: var(--pk-f-display); font-size: 1.05rem; color: var(--pk-muted); margin-top: -6px; }
.pk-week__date b { font-weight: 400; font-size: 2.1rem; color: var(--pk-ink); margin-right: 2px; }
.pk-week__feast { font-size: 1rem; line-height: 1.3; color: var(--pk-ink-2); flex: 1; }
.pk-week__day.is-major .pk-week__feast { color: var(--pk-red); font-weight: 500; }
.pk-week__fast { font-family: var(--pk-f-ui); font-size: .72rem; color: var(--pk-muted); border-top: 1px dashed var(--pk-line); padding-top: 8px; }
.pk-week__pan { align-self: flex-start; font-family: var(--pk-f-ui); font-size: .66rem; letter-spacing: .08em; padding: 3px 8px; border-radius: 99px; background: var(--pk-red); color: #fff; }
.pk-week__day.is-sunday { background: color-mix(in srgb, var(--pk-gold-soft) 60%, var(--pk-paper)); }
.pk-week__day.is-panigyri { border-color: var(--pk-red); }
.pk-week__note { text-align: center; margin: 28px auto 0; max-width: 70ch; color: var(--pk-ink-2); font-style: italic; }

/* ---------- 4. Οι δύο προστάτες ---------- */
.pk-patrons__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
@media (max-width: 800px) { .pk-patrons__grid { grid-template-columns: 1fr; } }
.pk-patron {
	--mx: 50%; --my: 30%;
	position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; gap: 10px;
	min-height: 360px; padding: 40px 36px; border-radius: 24px; text-decoration: none; color: #f7efe0;
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s;
	box-shadow: 0 30px 60px -30px rgba(20, 10, 40, .6);
}
.pk-patron:hover { color: #fff; }
.pk-patron--paul { background: radial-gradient(120% 90% at 100% 0%, #6a2c26, transparent 60%), linear-gradient(160deg, #2a1f3f, #140f22); }
.pk-patron--prous { background: radial-gradient(120% 90% at 100% 0%, #3c3a7a, transparent 60%), linear-gradient(160deg, #1d2447, #0f1224); }
.pk-patron::before { /* φύλλο χρυσού που ακολουθεί το φως */
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .9;
	background: radial-gradient(420px circle at var(--mx) var(--my), rgba(240, 200, 120, .28), transparent 45%);
}
.pk-patron::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(240, 210, 150, .28); border-radius: 16px; pointer-events: none; }
.pk-patron__halo { position: absolute; right: -60px; bottom: -60px; width: 300px; height: 300px; border-radius: 50%; z-index: -1;
	background: repeating-conic-gradient(from 0deg, rgba(240, 205, 130, .16) 0 2deg, transparent 2deg 12deg); mask: radial-gradient(circle, #000 30%, transparent 70%); -webkit-mask: radial-gradient(circle, #000 30%, transparent 70%);
	animation: pk-spin 90s linear infinite; }
@keyframes pk-spin { to { transform: rotate(360deg); } }
.pk-patron__date { font-family: var(--pk-f-ui); font-size: .74rem; letter-spacing: .22em; text-transform: uppercase; color: #f0d79c; }
.pk-patron h3 { color: #fff; font-size: clamp(2rem, 1.5rem + 1.6vw, 2.8rem); margin: 0; }
.pk-patron p { max-width: 40ch; color: #e7dcef; font-size: 1.15rem; }
.pk-patron__more { margin-top: auto; font-family: var(--pk-f-ui); font-size: .9rem; color: #f0d79c; }

/* ---------- 8. Άλμπουμ: μωσαϊκό ---------- */
.pk-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 12px; }
.pk-mosaic__item { position: relative; overflow: hidden; border-radius: 14px; display: block; }
.pk-mosaic__item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.pk-mosaic__item:nth-child(4), .pk-mosaic__item:nth-child(5), .pk-mosaic__item:nth-child(6) { grid-column: span 2; }
.pk-mosaic__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); display: block; }
.pk-mosaic__item:hover img { transform: scale(1.06); }
.pk-mosaic__cap { position: absolute; inset: auto 0 0 0; padding: 40px 16px 14px; font-family: var(--pk-f-display); font-size: 1.15rem; color: #fff; background: linear-gradient(transparent, rgba(15, 10, 25, .8)); }
@media (max-width: 800px) { .pk-mosaic { grid-template-columns: 1fr 1fr; grid-auto-rows: 170px; } .pk-mosaic__item:nth-child(n+4) { grid-column: auto; } .pk-mosaic__item:nth-child(6) { display: none; } }

/* ---------- 9. Επίσκεψη ---------- */
.pk-visit { background: var(--pk-bg-2); }
.pk-visit__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 50px; align-items: center; }
@media (max-width: 880px) { .pk-visit__grid { grid-template-columns: 1fr; } }
.pk-visit h2 { margin-top: .3em; }
.pk-visit__addr { font-size: 1.3rem; font-family: var(--pk-f-display); }
.pk-visit__list { list-style: none; padding: 0; margin: 0 0 26px; display: grid; gap: 10px; }
.pk-visit__list li { display: flex; gap: 14px; align-items: baseline; }
.pk-visit__list span { font-family: var(--pk-f-ui); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--pk-muted); min-width: 90px; }
.pk-visit__cta { display: flex; flex-wrap: wrap; gap: 10px; }
.pk-visit__map { border-radius: 24px; overflow: hidden; box-shadow: var(--pk-shadow); background: var(--pk-paper); border: 1px solid var(--pk-line); }
.pk-visit__map svg { display: block; width: 100%; height: auto; }

/* ---------- Ο Ναός στην κορυφογραμμή ---------- */
.pk-church { transition: fill 2s; }
.pk-windows { transition: fill 2s; filter: drop-shadow(0 0 3px var(--pk-win, transparent)); }
.pk-hero.is-service .pk-windows { animation: pk-win 3s ease-in-out infinite alternate; }
@keyframes pk-win { to { filter: drop-shadow(0 0 7px rgba(255, 196, 110, .9)); } }
.pk-saint__eve { margin: 0; padding: 10px 14px; border-radius: 12px; background: var(--pk-violet-soft); font-size: 1rem; }
.pk-saint__eve span { display: block; font-family: var(--pk-f-ui); font-size: .72rem; letter-spacing: .08em; color: var(--pk-violet); }

/* Στενές οθόνες: το τοπίο κρατά τις αναλογίες του και ο Ναός έρχεται στο κέντρο */
@media (max-width: 900px) {
	.pk-hero__land { width: auto; max-width: none; aspect-ratio: 1600 / 520; left: 50%; right: auto; transform: translateX(-66%); height: 46%; }
	.pk-hero__inner { padding-top: calc(var(--pk-header-h) + 120px); }
}
