/* ==========================================================
   NexusCms 2.22.0 (γύρος 177) — ΤΥΠΟΙ ΑΡΘΡΩΝ, κοινά για ΟΛΑ τα θέματα (κλάσεις nxf-…).
   2.23.0 (γύρος 178): κουίζ / ψηφοφορία = quiz.css του plugin «Κουίζ & ψηφοφορίες» · αντιδράσεις = reactions.css του plugin «Αντιδράσεις».
   Ουδέτερα: παίρνουν το χρώμα του θέματος (--nx-accent) και τη γραμματοσειρά του. Ένα θέμα με δικό του σχέδιο (π.χ. NexusNews)
   τα αλλάζει στο δικό του CSS — δεν χρειάζεται δικό του HTML.
   ========================================================== */
.nxf { --nxf-accent: var(--nx-accent, #2563eb); --nxf-radius: 6px; margin: 28px 0; }
.nxf img { display: block; max-width: 100%; height: auto; }
.nxf button { font: inherit; color: inherit; }

/* παλέτα για ερωτήσεις / κάρτες χωρίς εικόνα */
.nxf-pal-0 { --nxf-c: #111827; }
.nxf-pal-1 { --nxf-c: #c56b5f; } .nxf-pal-2 { --nxf-c: #4cc4bc; } .nxf-pal-3 { --nxf-c: #d98a2b; } .nxf-pal-4 { --nxf-c: #a855a8; }
.nxf-pal-5 { --nxf-c: #94b843; } .nxf-pal-6 { --nxf-c: #5d6595; } .nxf-pal-7 { --nxf-c: #2f8fd6; } .nxf-pal-8 { --nxf-c: #e0567a; }

/* --- Λίστα --- */
.nxf-list-items { list-style: none; margin: 0; padding: 0; }
.nxf-item { margin: 0 0 34px; }
.nxf-item-title { font-size: 1.45em; line-height: 1.25; margin: 0 0 14px; }
.nxf-num { color: var(--nxf-accent); }
.nxf-media { margin: 0 0 14px; }
.nxf-media img { width: 100%; border-radius: var(--nxf-radius); }
.nxf-media figcaption { font-size: 13px; opacity: .7; text-align: center; margin-top: 6px; }
.nxf-source { color: inherit; }
.nxf-text > :first-child { margin-top: 0; }

/* --- Βίντεο --- */
.nxf-video { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: var(--nxf-radius, 6px); overflow: hidden; margin: 0 0 22px; }
.nxf-video iframe, .nxf-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nxf-video-file { aspect-ratio: auto; }
.nxf-video-file video { position: static; display: block; height: auto; }
.nxf-video-play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #000; cursor: pointer; }
.nxf-video-play img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .2s; }
.nxf-video-play:hover img { opacity: 1; }
.nxf-play-ico { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%;
                border: 3px solid #fff; background: rgba(0, 0, 0, .35); }
.nxf-play-ico::after { content: ""; position: absolute; left: 30px; top: 22px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent #fff; }
.nxf-video-note { position: absolute; left: 10px; bottom: 6px; margin: 0; font-size: 11px; color: rgba(255, 255, 255, .75); pointer-events: none; }
.nxf-video.is-playing .nxf-video-note { display: none; }

/* --- Κάρτες που γυρίζουν --- */
.nxf-flip { display: grid; gap: 22px; }
.nxf-card { --nxf-card: var(--nxf-c, #1e88e5); position: relative; display: block; width: 100%; min-height: 320px; padding: 0; border: 0; background: none; cursor: pointer; perspective: 1400px; }
.nxf-card-in { position: absolute; inset: 0 0 40px; transition: transform .6s; transform-style: preserve-3d; }
.nxf-card.is-flipped .nxf-card-in { transform: rotateY(180deg); }
.nxf-face { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; overflow: hidden;
            border-radius: var(--nxf-radius) var(--nxf-radius) 0 0; background: var(--nxf-card); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.nxf-back { transform: rotateY(180deg); background: color-mix(in srgb, var(--nxf-card) 80%, #000); }
.nxf-face-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nxf-face.has-img::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .3); }
.nxf-face-body { position: relative; z-index: 1; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.nxf-face-title { font-size: 1.7em; line-height: 1.2; }
.nxf-face-text { font-size: 1.05em; }
.nxf-flip-hint { position: absolute; left: 0; right: 0; bottom: 0; height: 40px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #fff;
                 font-size: 13px; border-radius: 0 0 var(--nxf-radius) var(--nxf-radius); background: color-mix(in srgb, var(--nxf-card) 75%, #000); }

/* --- Πριν-μετά --- */
.nxf-ba-title { font-size: 1.35em; margin: 26px 0 10px; }
.nxf-ba { margin: 0 0 26px; }
.nxf-ba-wrap { position: relative; overflow: hidden; border-radius: var(--nxf-radius); user-select: none; touch-action: none; cursor: ew-resize; }
.nxf-ba-v .nxf-ba-wrap { cursor: ns-resize; }
.nxf-ba-after { width: 100%; }
.nxf-ba-before { position: absolute; inset: 0; }
.nxf-ba-before-img { width: 100%; height: 100%; object-fit: cover; }
.nxf-ba-handle { position: absolute; top: 50%; left: 50%; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; border: 2px solid #fff; background: rgba(0, 0, 0, .35);
                 color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; pointer-events: none; z-index: 2; }
.nxf-ba-handle::before { content: ""; position: absolute; background: #fff; left: 50%; width: 2px; margin-left: -1px; top: -2000px; bottom: -2000px; z-index: -1; }
.nxf-ba-handle i { position: relative; z-index: 1; }
.nxf-ba-v .nxf-ba-handle::before { top: 50%; bottom: auto; height: 2px; margin: -1px 0 0; left: -2000px; right: -2000px; width: auto; }
.nxf-ba-l { position: absolute; bottom: 10px; padding: 3px 10px; border-radius: 4px; font-size: 12px; font-weight: 700; color: #fff; background: rgba(0, 0, 0, .55); z-index: 2; }
.nxf-ba-l1 { left: 10px; } .nxf-ba-l2 { right: 10px; }
.nxf-ba-v .nxf-ba-l1 { top: 10px; bottom: auto; }
.nxf-ba-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: inherit; z-index: 3; }
.nxf-ba.is-live .nxf-ba-range { pointer-events: none; }
.nxf-ba.is-live .nxf-ba-range:focus-visible { pointer-events: auto; }

/* --- Συζήτηση --- */
.nxf-convo { display: flex; flex-direction: column; gap: 18px; }
.nxf-msg { display: flex; align-items: flex-start; gap: 12px; max-width: 86%; }
.nxf-right { flex-direction: row-reverse; align-self: flex-end; text-align: right; }
.nxf-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.nxf-avatar-txt { display: inline-flex; align-items: center; justify-content: center; font-weight: 800; color: #fff; background: var(--nxf-accent); }
.nxf-msg-in { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.nxf-right .nxf-msg-in { align-items: flex-end; }
.nxf-who { font-size: 13px; }
.nxf-bubble { padding: 12px 14px; border-radius: 4px 14px 14px 14px; background: rgba(127, 127, 127, .12); text-align: left; overflow-wrap: anywhere; }
.nxf-right .nxf-bubble { border-radius: 14px 4px 14px 14px; color: #fff; background: var(--nxf-accent); }
.nxf-bubble p { margin: 0 0 8px; } .nxf-bubble p:last-child { margin-bottom: 0; }
.nxf-bubble-img { border-radius: 6px; margin: 0 0 10px; width: 100%; }

@media (max-width: 640px) {
    .nxf-card { min-height: 260px; }
    .nxf-msg { max-width: 100%; }
}

/* NexusCms 2.22.0: το εικονίδιο του X (λείπει από το Font Awesome 6.4.0 που έχει το NexusHub) — σχήμα από τα Simple Icons (CC0) ως μάσκα */
.fa-x-twitter::before { content: ""; display: inline-block; width: .92em; height: .92em; vertical-align: -.12em; background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* μεγέθη από κλάσεις (το HTML δεν έχει inline style): θέση πριν-μετά nxf-ba-at-N (βήμα 5) */
.nxf-ba-h .nxf-ba-before.nxf-ba-at-0{clip-path:inset(0 100% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-0{left:0%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-0{clip-path:inset(0 0 100% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-0{top:0%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-5{clip-path:inset(0 95% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-5{left:5%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-5{clip-path:inset(0 0 95% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-5{top:5%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-10{clip-path:inset(0 90% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-10{left:10%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-10{clip-path:inset(0 0 90% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-10{top:10%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-15{clip-path:inset(0 85% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-15{left:15%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-15{clip-path:inset(0 0 85% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-15{top:15%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-20{clip-path:inset(0 80% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-20{left:20%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-20{clip-path:inset(0 0 80% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-20{top:20%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-25{clip-path:inset(0 75% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-25{left:25%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-25{clip-path:inset(0 0 75% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-25{top:25%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-30{clip-path:inset(0 70% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-30{left:30%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-30{clip-path:inset(0 0 70% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-30{top:30%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-35{clip-path:inset(0 65% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-35{left:35%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-35{clip-path:inset(0 0 65% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-35{top:35%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-40{clip-path:inset(0 60% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-40{left:40%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-40{clip-path:inset(0 0 60% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-40{top:40%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-45{clip-path:inset(0 55% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-45{left:45%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-45{clip-path:inset(0 0 55% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-45{top:45%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-50{clip-path:inset(0 50% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-50{left:50%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-50{clip-path:inset(0 0 50% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-50{top:50%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-55{clip-path:inset(0 45% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-55{left:55%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-55{clip-path:inset(0 0 45% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-55{top:55%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-60{clip-path:inset(0 40% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-60{left:60%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-60{clip-path:inset(0 0 40% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-60{top:60%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-65{clip-path:inset(0 35% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-65{left:65%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-65{clip-path:inset(0 0 35% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-65{top:65%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-70{clip-path:inset(0 30% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-70{left:70%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-70{clip-path:inset(0 0 30% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-70{top:70%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-75{clip-path:inset(0 25% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-75{left:75%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-75{clip-path:inset(0 0 25% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-75{top:75%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-80{clip-path:inset(0 20% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-80{left:80%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-80{clip-path:inset(0 0 20% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-80{top:80%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-85{clip-path:inset(0 15% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-85{left:85%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-85{clip-path:inset(0 0 15% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-85{top:85%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-90{clip-path:inset(0 10% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-90{left:90%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-90{clip-path:inset(0 0 10% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-90{top:90%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-95{clip-path:inset(0 5% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-95{left:95%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-95{clip-path:inset(0 0 5% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-95{top:95%}
.nxf-ba-h .nxf-ba-before.nxf-ba-at-100{clip-path:inset(0 0% 0 0)}.nxf-ba-h .nxf-ba-handle.nxf-ba-at-100{left:100%}.nxf-ba-v .nxf-ba-before.nxf-ba-at-100{clip-path:inset(0 0 0% 0)}.nxf-ba-v .nxf-ba-handle.nxf-ba-at-100{top:100%}
