/* AENIGMA 0.6.21 (13/11/2026) — διαφήμιση εκδότη GEO-SAT 1940–1949 (ίδιο γραφικό με noetic-lab r106 / x6-greece 3.5.9). */
.g40, .g40-banner { --g-bg:#020617; --g-s1:#0f172a; --g-s2:#1e293b; --g-cyan:#00e5ff; --g-fx:#7fe7ff; --g-fx2:#4dd0e1;
	--g-dim:#94a3b8; --g-or:#ff6b35; --g-line:rgba(127,231,255,.16);
	/* μεταβλητές των κουμπιών app-fx (ορίζονται μόνο μέσα στο .wn) */
	--wn-cyan:#00e5ff; --wn-fx:#7fe7ff; --wn-fx2:#4dd0e1; --wn-dim:#94a3b8; }
.g40 { background:var(--g-bg); color:#f8fafc; overflow-x:clip; }
.g40-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
.g40-new { display:inline-block; margin-right:.55rem; padding:.18rem .55rem; border-radius:999px; background:var(--g-or); color:#1b0a00;
	font:800 .7rem/1.2 var(--font-mono, monospace); letter-spacing:.08em; box-shadow:0 0 16px rgba(255,107,53,.55); animation:g40-glow 2.4s ease-in-out infinite; }
@keyframes g40-glow { 50% { box-shadow:0 0 28px rgba(255,107,53,.9); } }
.g40-dot-live { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--g-cyan); margin-right:.45rem; box-shadow:0 0 10px var(--g-cyan); animation:g40-blink 1.4s infinite; }
@keyframes g40-blink { 50% { opacity:.25; } }
.g40-illus { position:absolute; right:14px; bottom:10px; margin:0; font:500 .68rem/1.3 var(--font-mono, monospace); color:rgba(148,163,184,.8); z-index:3; }
.g40-illus--inline { position:static; text-align:center; margin-top:.8rem; }
.g40-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.g40-actions--center { justify-content:center; }

.g40-banner .fx { position:relative; isolation:isolate; transition:transform .45s cubic-bezier(.3,1.9,.5,1); -webkit-tap-highlight-color:transparent; }
.g40-banner .fx.pressed { transform:scale(.9); transition:transform 70ms ease-out; }
.g40-banner .fx::before { content:""; position:absolute; inset:-30%; z-index:-1; pointer-events:none; border-radius:50%;
  background:radial-gradient(closest-side, rgba(255,255,255,.22), transparent); animation:fx-breathe 3.2s ease-in-out infinite alternate; }
@keyframes fx-breathe { from { opacity:.45; } to { opacity:1; } }
.g40-banner .fx-clip { position:absolute; inset:0; overflow:hidden; border-radius:inherit; pointer-events:none; }
.g40-banner .fx-clip::after { content:""; position:absolute; top:-40%; bottom:-40%; left:0; width:45%; mix-blend-mode:plus-lighter;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
  transform:translateX(-160%) skewX(-20deg); animation:fx-shimmer 7s linear infinite; animation-delay:var(--stagger,0s); }
@keyframes fx-shimmer { 0% { transform:translateX(-160%) skewX(-20deg); } 12.86%,100% { transform:translateX(360%) skewX(-20deg); } }
.g40-banner .fx-bloom { position:absolute; left:var(--x,50%); top:var(--y,50%); width:240%; aspect-ratio:1; border-radius:50%; opacity:0; mix-blend-mode:plus-lighter;
  transform:translate(-50%,-50%) scale(.3); background:radial-gradient(closest-side, #fff, rgba(127,231,255,.6), transparent); }
.g40-banner .fx-bloom.go { animation:fx-bloom 480ms linear; }
@keyframes fx-bloom { from { opacity:.55; transform:translate(-50%,-50%) scale(.3); } to { opacity:0; transform:translate(-50%,-50%) scale(1.2); } }
.g40-banner .fx-primary::before { inset:-45%; background:radial-gradient(closest-side, rgba(127,231,255,.55), transparent); animation-duration:1.6s; }
.g40-banner .fx-primary::after { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; border:2px solid var(--wn-fx,#7fe7ff); pointer-events:none; animation:fx-pulse 1.6s linear infinite; }
@keyframes fx-pulse { from { transform:scale(1); opacity:.6; } to { transform:scale(1.12,1.35); opacity:0; } }

.g40-banner .wn-btn { display:inline-flex; align-items:center; gap:.45rem; font:600 .9rem/1 inherit; color:#e2f9ff; text-decoration:none;
  background:rgba(15,23,42,.75); border:1px solid rgba(127,231,255,.38); border-radius:12px; padding:.72rem 1.05rem; cursor:pointer;
  box-shadow:0 0 14px rgba(0,229,255,.12); }
.g40-banner .wn-btn:hover { border-color:var(--wn-fx); color:#fff; box-shadow:0 0 20px rgba(0,229,255,.28); }
.g40-banner .wn-btn:focus-visible { outline:3px solid var(--wn-fx); outline-offset:3px; }
.g40-banner .wn-btn--primary { color:#020617; background:linear-gradient(180deg,#5ff0ff,var(--wn-cyan) 55%,#26c6da); border:0; font-size:1.02rem; padding:.95rem 1.6rem; border-radius:14px; box-shadow:0 0 22px rgba(0,229,255,.35); }
.g40-banner .wn-btn--primary:hover { color:#020617; }
.g40-banner .wn-btn .wn-arrow { transition:transform .3s; }
.g40-banner .wn-btn:hover .wn-arrow { transform:translateX(3px); }

.g40-banner__pop { position:absolute; z-index:2; left:70%; top:50%; transform:translate(18px, -110%) scale(.85); opacity:0; display:flex; flex-direction:column; gap:.15rem;
	padding:.6rem .8rem; border-radius:12px; background:rgba(15,23,42,.94); border:1px solid rgba(127,231,255,.45); box-shadow:0 12px 30px rgba(0,0,0,.45); white-space:nowrap;
	transition:opacity .35s, transform .35s cubic-bezier(.2,.8,.2,1), left .9s, top .9s; pointer-events:none; }
.g40-banner__pop.is-on { opacity:1; transform:translate(18px, -110%) scale(1); }
.g40-banner__pop small { color:#fb923c; font-weight:700; font-size:.7rem; }
.g40-banner__pop b { font-size:.8rem; color:#38bdf8; }
.g40-banner__pop i { font-style:normal; font-size:.72rem; color:#e2f9ff; }

/* ═══ AENIGMA: κάρτα «Από τον εκδότη» στη θέση χορηγούμενου (1 ή 2 στήλες, ύψος κελιού 300px) ═══ */
.g40t { container-type:inline-size; height:100%; }
.g40t__card { position:relative; display:block; height:100%; min-height:300px; overflow:hidden; isolation:isolate; border-radius:.5rem; background:#020617;
	color:#fff; text-decoration:none; border:1px solid rgba(127,231,255,.22); transition:border-color .3s, box-shadow .3s; }
.g40t__card:hover { border-color:rgba(127,231,255,.55); box-shadow:0 0 28px -10px rgba(0,229,255,.6); }
.g40t__card:focus-visible { outline:3px solid #7fe7ff; outline-offset:2px; }
.g40t__shade { position:absolute; inset:0; z-index:1; pointer-events:none;
	background:linear-gradient(180deg, rgba(2,6,23,.55) 0%, rgba(2,6,23,0) 26%, rgba(2,6,23,.15) 42%, rgba(2,6,23,.92) 68%, #020617 100%); }
.g40t__from { position:absolute; z-index:3; top:8px; inset-inline-start:8px; max-width:55%; padding:.18rem .5rem; border-radius:4px; background:rgba(2,6,23,.78);
	font-size:11px; line-height:1.3; color:#cbd5e1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.g40t__layer { position:absolute; z-index:3; top:48px; inset-inline-end:8px; display:flex; align-items:center; max-width:42%; padding:.22rem .5rem; border-radius:999px;
	background:rgba(2,6,23,.75); border:1px solid rgba(127,231,255,.16); font:600 10px/1.2 ui-monospace, monospace; color:#e2f9ff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.g40t__layer .g40-dot-live { width:6px; height:6px; flex:none; margin-inline-end:.35rem; }
.g40t__body { position:absolute; z-index:2; inset-inline:12px; bottom:12px; display:flex; flex-direction:column; align-items:flex-start; gap:.4rem; }
.g40t__badge { display:inline-flex; align-items:center; flex-wrap:wrap; font:700 10px/1.3 ui-monospace, monospace; letter-spacing:.08em; text-transform:uppercase; color:#7fe7ff; }
.g40t__badge .g40-new { font-size:9px; padding:.12rem .45rem; margin-inline-end:.45rem; margin-right:0; }
.g40t__title { font-weight:800; font-size:1.22rem; line-height:1.12; letter-spacing:-.01em;
	background:linear-gradient(90deg, #fff 35%, #7fe7ff 75%, #f59e0b); -webkit-background-clip:text; background-clip:text; color:transparent; }
.g40t__sub { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#cbd5e1; font-size:.8rem; line-height:1.4; }
.g40t__cta.wn-btn--primary { margin-top:.2rem; padding:.55rem 1rem; font-size:.85rem; border-radius:999px; }
.g40t__illus { position:absolute; z-index:3; top:34px; inset-inline-start:8px; max-width:70%; font:500 9px/1.25 ui-monospace, monospace; color:rgba(203,213,225,.85);
	padding:.1rem .35rem; border-radius:3px; background:rgba(2,6,23,.6); }
.g40t__pop { display:none; }
/* πλατιά κάρτα (2 στήλες): κείμενο αριστερά, γραφικό δεξιά — όπως το banner του noetic-lab */
@container (min-width: 520px) {
	.g40t__shade { background:linear-gradient(90deg, rgba(2,6,23,.95) 0%, rgba(2,6,23,.82) 40%, rgba(2,6,23,.15) 70%, rgba(2,6,23,0) 100%); }
	.g40t__body { inset-inline-end:auto; top:50%; bottom:auto; transform:translateY(-50%); width:56%; gap:.6rem; }
	.g40t__title { font-size:1.9rem; }
	.g40t__sub { font-size:.92rem; -webkit-line-clamp:3; }
	.g40t__illus { top:auto; bottom:8px; inset-inline-start:auto; inset-inline-end:8px; }
	.g40t__from { max-width:40%; }
	.g40t__pop { display:flex; }
}
[dir="rtl"] .g40t__pop { display:none !important; }
@container (min-width: 520px) { [dir="rtl"] .g40t__shade { background:linear-gradient(270deg, rgba(2,6,23,.95) 0%, rgba(2,6,23,.82) 40%, rgba(2,6,23,.15) 70%, rgba(2,6,23,0) 100%); } }
[dir="rtl"] .g40t__body { align-items:flex-start; text-align:right; }
[dir="rtl"] .g40t__title { background:linear-gradient(270deg, #fff 35%, #7fe7ff 75%, #f59e0b); -webkit-background-clip:text; background-clip:text; }
@media (max-width: 639px) { .g40t__card { min-height:360px; } .g40t__title { font-size:1.35rem; } }
@media (prefers-reduced-motion: reduce) { .g40-new, .g40-dot-live { animation:none !important; } }

/* 0.6.23: λωρίδα πάνω από το υποσέλιδο σε σελίδες χωρίς θέση χορηγούμενου */
.g40t-strip { height:300px; }
@media (max-width: 639px) { .g40t-strip { height:auto; } }
