/* Koinonia Newsletter Popup: σκούρη κάρτα με την Παναγία, χρυσή γραμμή κάτω. */
.knp { --knp-lift: 0px; --knp-gold: linear-gradient(90deg, #b8860b, #e8bd4d 50%, #b8860b); position: fixed; right: 1rem; bottom: calc(1rem + var(--knp-lift)); z-index: 99998; width: min(24.5rem, calc(100vw - 2rem)); min-height: 12.5rem; box-sizing: border-box; padding: 1.15rem 1.15rem 1.7rem 8.9rem; border-radius: 14px; overflow: hidden; color: #fff; font-family: inherit; font-size: 1rem; line-height: 1.45; background: radial-gradient(circle at 4.5rem 100%, rgba(139, 0, 0, .55), transparent 11rem), linear-gradient(160deg, #343a43, #1d2025); box-shadow: 0 14px 44px rgba(0, 0, 0, .4); transform: translateY(1.5rem); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
.knp[hidden] { display: none; }
.knp--open { transform: none; opacity: 1; }
.knp::before { content: ""; position: absolute; left: .2rem; bottom: 5px; width: 9.6rem; height: 12rem; background: url("panagia.webp") no-repeat left bottom / contain; pointer-events: none; }
.knp::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--knp-gold); }
.knp__close { position: absolute; top: .5rem; right: .5rem; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: #222; font-size: 1.4rem; line-height: 1; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); }
.knp__close:hover { background: #fff; }
.knp__title { margin: 0 2.4rem .3rem 0; font-size: 1.15rem; font-weight: 700; line-height: 1.25; }
.knp__sub { margin: 0 0 .75rem; opacity: .9; font-size: .92rem; }
.knp__input { width: 100%; box-sizing: border-box; padding: .7rem .85rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 8px; font: inherit; color: #222; background: #fff; min-height: 44px; }
.knp__terms { display: flex; gap: .5rem; align-items: flex-start; margin: .6rem 0 .75rem; font-size: .88rem; }
.knp__terms input { flex: none; width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: #c49009; }
.knp .knp__terms a, .knp .knp__terms a:visited { color: #e8bd4d; text-decoration: underline; }
.knp .knp__terms a:hover, .knp .knp__terms a:focus { color: #fff; text-decoration: underline; }
.knp__btn { display: inline-block; padding: .7rem 1.4rem; border: 0; border-radius: 8px; background: #8b0000; color: #fff; font: inherit; font-weight: 700; cursor: pointer; min-height: 44px; }
.knp__btn:hover, .knp__btn:focus-visible { background: #a50d0d; }
.knp__msg { margin: 0 2.4rem .9rem 0; }
.knp__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.knp :focus-visible { outline: 3px solid #e8bd4d; outline-offset: 2px; }
@media (max-width: 30rem) { .knp { right: .5rem; left: .5rem; width: auto; bottom: calc(.5rem + var(--knp-lift)); padding-left: 6.4rem; } .knp::before { width: 6.6rem; height: 8.25rem; } }
@media (prefers-reduced-motion: reduce) { .knp { transition: none; transform: none; } }
