/* x6-greece — banner GEO-SAT 1940–1949 (ίδιο με noetic-lab r106, owner 13/11/2026). Από noetic-lab geosat-1940s.css + app-fx.css. */
/* ═══════════════════════════════════════════════════════════════════════
   ★ r106 (owner 13/11/2026) — GEO-SAT 1940–1949: σελίδα + banner αρχικής.
   Παλέτα NOETIC: #020617 · #0F172A/#1E293B · κυανό #00E5FF · FX #7FE7FF/#4DD0E1 ·
   #94A3B8 · πορτοκαλί #FF6B35. Περίοδοι = εφαρμογή: #38BDF8 · #F59E0B · #F1F5F9.
   ═══════════════════════════════════════════════════════════════════════ */
.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; }

/* ═══ BANNER ΑΡΧΙΚΗΣ (ύφος Πλαισίου: μεγάλη στρογγυλεμένη κάρτα πλάτους περιεχομένου) ═══ */
.g40-banner { position:relative; z-index:2; padding:18px 0 6px; background:var(--g-bg); }
.g40-banner__container { width:min(1280px, calc(100% - 32px)); margin:0 auto; }
.g40-banner__card { position:relative; display:block; height:clamp(300px, 31vw, 420px); border-radius:16px; overflow:hidden; isolation:isolate; text-decoration:none; color:#fff;
	box-shadow:0 0 0 1px rgba(127,231,255,.22), 0 24px 60px -28px rgba(0,229,255,.5); transition:box-shadow .35s, transform .35s; }
.g40-banner__card:hover { box-shadow:0 0 0 1px rgba(127,231,255,.5), 0 30px 70px -26px rgba(0,229,255,.7); }
.g40-banner__card:focus-visible { outline:3px solid var(--g-fx); outline-offset:4px; }
.g40-banner__shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, rgba(2,6,23,.96) 0%, rgba(2,6,23,.86) 34%, rgba(2,6,23,.2) 62%, rgba(2,6,23,0) 100%); }
.g40-banner__body { position:absolute; z-index:2; left:clamp(22px, 4.5vw, 64px); top:50%; transform:translateY(-50%); width:min(560px, 52%); display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
.g40-banner__badge { display:inline-flex; align-items:center; font:700 .74rem/1.2 var(--font-mono, monospace); letter-spacing:.12em; text-transform:uppercase; color:var(--g-fx); }
.g40-banner__title { font-size:clamp(1.8rem, 3.6vw, 3.1rem); line-height:1.04; font-weight:800; letter-spacing:-.02em;
	background:linear-gradient(90deg, #fff 30%, #7fe7ff 70%, #f59e0b); -webkit-background-clip:text; background-clip:text; color:transparent; }
.g40-banner__sub { color:#cbd5e1; font-size:clamp(.92rem, 1.25vw, 1.06rem); line-height:1.55; }
.g40-banner__cta { margin-top:.4rem; border-radius:999px !important; }
.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; }
.g40-banner__illus { position:absolute; z-index:3; right:14px; bottom:10px; font:500 .64rem/1.2 var(--font-mono, monospace); color:rgba(148,163,184,.85); }


/* ---------- Εφέ κουμπιών ---------- */
.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-x6 { padding-top:.625rem; }
@media screen and (min-width:64em) { .g40-x6 { padding-top:1.25rem; } }
.g40-x6 .g40-banner { padding:0; background:transparent; }
.g40-x6 .g40-banner__container { width:100%; }
.g40-x6 .g40-banner__card, .g40-x6 .g40-banner__card:hover { color:#fff; text-decoration:none; }
@media (max-width: 720px) {
	/* banner κινητού: ψηλή κάρτα, γραφικό πάνω, κείμενο κάτω (όπως οι mobile διαφημίσεις Πλαισίου) */
	.g40-banner__card { height:auto; min-height:470px; border-radius:14px; }
	.g40-banner__card .g40-canvas { height:58%; }
	.g40-banner__shade { background:linear-gradient(180deg, rgba(2,6,23,0) 0%, rgba(2,6,23,.15) 34%, rgba(2,6,23,.94) 56%, #020617 70%); }
	.g40-banner__body { position:relative; top:auto; left:auto; transform:none; width:auto; padding:205px 18px 22px; gap:.6rem; }
	.g40-banner__title { font-size:1.75rem; }
	.g40-banner__sub { font-size:.9rem; }
	.g40-banner__pop { display:none; }
	.g40-banner__layer { top:10px; right:10px; font-size:.64rem; }
	.g40-banner__illus { left:10px; right:auto; top:10px; bottom:auto; max-width:48%; padding:.25rem .45rem; border-radius:6px; background:rgba(2,6,23,.72); }
}
@media (prefers-reduced-motion: reduce) { .g40-new, .g40-dot-live { animation:none !important; } }

/* 3.5.10: σελίδες προϊόντων (μέσα στο .pp-after, πριν από τις προτάσεις) */
.g40-x6--pp { padding:1.25rem 0 .5rem; }
