/* ============================================================
   EU AI LITERACY — LearnHouse rebrand v7 (2026-06-16)
   Cél: a teljes LH felület egységes a Dan Smith / AI Klub
   sales-landinggel (navy + EU-kék + sárga akcent, Arial Black címek).
============================================================ */

:root {
  --eu-navy:   #001a4d;
  --eu-navy-2: #002266;
  --eu-blue:   #003399;
  --eu-blue-2: #004494;
  --eu-accent: #FFD617;
  --eu-accent-2:#FFE14C;
  --eu-accent-d:#E5AD06;
  --eu-cream:  #eef4fc;
  --eu-cream-bd:#cfe0f5;
  --eu-ink:    #0d1b3e;
  --eu-gray:   #5b6573;
  --eu-line:   #e3e7ef;
  --eu-bg:     #ffffff;
  --eu-surface:#f5f8fd;
  --eu-container: 1200px;
  --eu-f-black: "Arial Black","Helvetica Neue Bold","Helvetica Neue",Arial,system-ui,sans-serif;
  --eu-f-body:  "Helvetica Neue",Arial,system-ui,sans-serif;

  /* Tailwind / LH változó-override */
  --primary: #003399 !important;
  --primary-foreground: #ffffff !important;
}

/* ---------- Natív LH brand + nav + footer elrejtése ---------- */
nav[aria-label="Top navigation"],
img[alt="logo"], img[alt="LearnHouse logo"], img[src*="lrn-text"],
img[src*="black_logo"], img[src*="white_logo"], img[alt*="LearnHouse"],
[class*="learnhouse-logo"], [data-testid="learnhouse-logo"],
body > footer, #__next > footer, main ~ footer {
  display: none !important;
}

/* ---------- Globális tipográfia ---------- */
html, body {
  font-family: var(--eu-f-body) !important;
  color: var(--eu-ink) !important;
  background: var(--eu-bg) !important;
}
h1, h2, h3, h4, h5,
.text-xl, .text-2xl, .text-3xl, .text-4xl, .text-5xl, .text-6xl, .text-7xl {
  font-family: var(--eu-f-black) !important;
  color: var(--eu-ink) !important;
  letter-spacing: -0.5px;
}

/* a fixed natív nav miatti felső padding semlegesítése */
main.animate-fade-in, body > main, main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ---------- Tailwind színek -> EU paletta ---------- */
.bg-blue-500,.bg-blue-600,.bg-blue-700,.bg-blue-800,
.bg-indigo-500,.bg-indigo-600,.bg-indigo-700,.bg-indigo-800,
.bg-sky-500,.bg-sky-600,.bg-sky-700,
.bg-cyan-500,.bg-cyan-600,.bg-cyan-700,
.bg-violet-500,.bg-violet-600,.bg-purple-500,.bg-purple-600,
.bg-black,.bg-zinc-900,.bg-neutral-900,.bg-slate-900,.bg-gray-900 {
  background-color: var(--eu-blue) !important;
}
.bg-yellow-400,.bg-yellow-500,.bg-amber-400,.bg-amber-500 { background-color: var(--eu-accent) !important; }
.text-blue-500,.text-blue-600,.text-blue-700,
.text-indigo-500,.text-indigo-600,.text-indigo-700,
.text-sky-500,.text-sky-600,.text-cyan-500,.text-cyan-600,
.text-violet-500,.text-violet-600,.text-purple-500,.text-purple-600 { color: var(--eu-blue) !important; }
.border-blue-500,.border-blue-600,.border-indigo-500,.border-indigo-600 { border-color: var(--eu-blue) !important; }
a { color: var(--eu-blue); }

/* ---------- Kártyák (kurzus/collection/podcast) egységesítése ---------- */
.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-3xl { border-radius: 16px !important; }
.shadow-sm,.shadow,.shadow-md { box-shadow: 0 1px 3px rgba(13,27,62,.08) !important; }
.shadow-lg,.shadow-xl,.shadow-2xl { box-shadow: 0 10px 30px rgba(13,27,62,.10) !important; }

/* kurzus-kártya: a /course/ linkre épülő kártya */
a[href*="/course/"] > div,
a[href*="/course/"] [class*="rounded"] {
  border-radius: 16px !important;
}
a[href*="/course/"]:hover [class*="rounded"]:first-child {
  box-shadow: 0 14px 34px rgba(0,51,153,.18) !important;
  transform: translateY(-3px);
  transition: all .18s ease;
}

/* ---------- Gombok ---------- */
button, a.btn,
button.rounded-md, button.rounded-lg, a[class*="rounded"] {
  border-radius: 10px !important;
}
/* elsődleges (kék) akció-gombok */
.bg-blue-600, .bg-blue-700, button[class*="bg-blue"], a[class*="bg-blue"] {
  color:#fff !important; font-weight:700;
}
.bg-blue-600:hover, .bg-blue-700:hover { background-color: var(--eu-blue-2) !important; }

/* ============================================================
   INJEKTÁLT FEJLÉC / LÁBLÉC  (rebrand.js építi)
============================================================ */

/* TOPBAR (kék, mint a landingen) */
#eu-topbar {
  background: var(--eu-blue); color:#fff; height:40px;
  display:flex; align-items:center; font-size:.75rem;
  position:relative; z-index:99999;
}
#eu-topbar .eu-c {
  max-width:var(--eu-container); margin:0 auto; padding:0 24px; width:100%;
  display:flex; align-items:center; justify-content:space-between;
}
#eu-topbar .title { text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
#eu-topbar .lang-switch { position:relative; }
#eu-topbar .lang-current {
  background:transparent; border:1px solid rgba(255,255,255,.5); color:#fff;
  padding:5px 12px; border-radius:6px; display:inline-flex; align-items:center; gap:6px;
  font-size:.75rem; cursor:pointer;
}
#eu-topbar .lang-current:hover { background:rgba(255,255,255,.12); }
#eu-topbar .lang-menu {
  position:absolute; right:0; top:calc(100% + 4px); background:#fff; color:var(--eu-blue);
  border:1px solid var(--eu-line); border-radius:8px; min-width:200px;
  box-shadow:0 8px 26px rgba(0,0,0,.18); padding:4px 0; z-index:100000; display:none;
}
#eu-topbar .lang-switch.open .lang-menu { display:block; }
#eu-topbar .lang-menu button {
  display:flex; width:100%; background:#fff; border:0; text-align:left; padding:8px 14px;
  color:var(--eu-ink); font-size:.85rem; cursor:pointer; font-family:var(--eu-f-body);
}
#eu-topbar .lang-menu button:hover { background:var(--eu-cream); color:var(--eu-blue); }
#eu-topbar .lang-menu .code { display:inline-block; width:30px; font-family:"Courier New",monospace; font-weight:700; }

/* MAIN NAV (navy, mint a landing header) */
#eu-mainnav {
  background: var(--eu-navy); position:sticky; top:0; z-index:99998;
  border-bottom:1px solid rgba(255,255,255,.06);
}
#eu-mainnav .eu-c {
  max-width:var(--eu-container); margin:0 auto; padding:14px 24px; width:100%;
  display:flex; align-items:center; gap:28px;
}
#eu-mainnav .brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
#eu-mainnav .brand:hover { text-decoration:none; }
#eu-mainnav .brand-mark {
  width:46px; height:46px; flex:0 0 46px; border-radius:50%;
  background:var(--eu-blue); border:2px solid var(--eu-accent);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--eu-f-black); color:var(--eu-accent); font-size:16px;
}
#eu-mainnav .brand .bt { line-height:1.2; }
#eu-mainnav .brand .bt b { display:block; color:#fff; font-size:18px; font-family:var(--eu-f-black); }
#eu-mainnav .brand .bt span { color:#9fb0d6; font-size:12px; }
#eu-mainnav .navlinks {
  display:flex; align-items:center; gap:8px; flex:1; margin:0; padding:0; list-style:none;
}
#eu-mainnav .navlinks a {
  color:#dfe6f5; font-size:15px; font-weight:500; padding:9px 14px; border-radius:8px;
  text-decoration:none; transition:.15s;
}
#eu-mainnav .navlinks a:hover { color:#fff; background:rgba(255,255,255,.08); }
#eu-mainnav .navlinks a.active { color:#fff; background:rgba(255,255,255,.12); }
#eu-mainnav .nav-cta { display:flex; align-items:center; gap:14px; }
#eu-mainnav .nav-cta .txt { color:#dfe6f5; font-size:15px; font-weight:500; text-decoration:none; }
#eu-mainnav .nav-cta .txt:hover { color:#fff; }
#eu-mainnav .nav-cta .btn-join {
  background:linear-gradient(to bottom,var(--eu-accent-2),var(--eu-accent));
  color:var(--eu-navy); font-family:var(--eu-f-black); font-size:14px;
  padding:11px 22px; border-radius:100px; text-decoration:none;
  box-shadow:0 3px 0 var(--eu-accent-d); display:inline-block;
}
#eu-mainnav .nav-cta .btn-join:hover { filter:brightness(1.04); }
#eu-mainnav .nav-toggle { display:none; background:transparent; border:1px solid rgba(255,255,255,.4); color:#fff; border-radius:8px; padding:7px 11px; font-size:18px; cursor:pointer; }

/* FOOTER (navy, mint a landing) */
#eu-footer { margin-top:64px; background:var(--eu-navy); color:#fff; }
#eu-footer .eu-c { max-width:var(--eu-container); margin:0 auto; padding:0 24px; }
#eu-footer .ft-top { padding:56px 0 40px; }
#eu-footer .ft-cols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px; }
#eu-footer .ft-brand .brand-mark {
  width:46px;height:46px;border-radius:50%;background:var(--eu-blue);border:2px solid var(--eu-accent);
  display:flex;align-items:center;justify-content:center;font-family:var(--eu-f-black);color:var(--eu-accent);font-size:16px;margin-bottom:14px;
}
#eu-footer .ft-brand b { font-family:var(--eu-f-black); font-size:20px; color:#fff; display:block; margin-bottom:8px; }
#eu-footer .ft-brand p { color:#9fb0d6; font-size:.9rem; margin:0; max-width:280px; }
#eu-footer h4 { font-family:var(--eu-f-black); font-size:.8rem; color:var(--eu-accent); text-transform:uppercase; letter-spacing:.08em; margin:0 0 16px; }
#eu-footer ul { list-style:none; padding:0; margin:0; }
#eu-footer li { margin-bottom:10px; }
#eu-footer a { color:#cfd8ee; font-size:.9rem; text-decoration:none; }
#eu-footer a:hover { color:#fff; }
#eu-footer .ft-bottom { border-top:1px solid rgba(255,255,255,.1); padding:18px 0; font-size:.8rem; color:#8190b6; }
#eu-footer .ft-bottom .eu-c { display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  #eu-mainnav .navlinks { display:none; position:absolute; left:0; right:0; top:100%; background:var(--eu-navy); flex-direction:column; align-items:stretch; padding:8px 16px; }
  #eu-mainnav.open .navlinks { display:flex; }
  #eu-mainnav .nav-toggle { display:inline-block; }
  #eu-footer .ft-cols { grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px) {
  #eu-topbar .title { font-size:.62rem; }
  #eu-mainnav .nav-cta .txt { display:none; }
  #eu-footer .ft-cols { grid-template-columns:1fr; }
}

/* ============================================================
   v8 — KONTRASZT JAVÍTÁSOK (olvashatóság)
============================================================ */
/* halvány szürke szövegek a VILÁGOS tartalomban -> sötétebb, olvasható */
main .text-gray-300, main .text-gray-400, main .text-neutral-300, main .text-neutral-400,
main .text-zinc-300, main .text-zinc-400, main .text-slate-300, main .text-slate-400 { color:#475569 !important; }
main .text-gray-500, main .text-neutral-500, main .text-zinc-500, main .text-slate-500 { color:#3a4358 !important; }

/* natív legördülő menük / popoverek: fehér háttér -> sötét, olvasható szöveg */
[data-radix-popper-content-wrapper], [data-radix-popper-content-wrapper] *,
[role="menu"], [role="menu"] *, [role="listbox"], [role="listbox"] *,
[role="menuitem"] { color:#1d2433 !important; }
[role="menuitem"]:hover, [role="menu"] a:hover, [role="menu"] button:hover { background:#eef4fc !important; }

/* űrlapmezők és placeholderek olvashatósága */
main input, main textarea, main select { color:#1d2433 !important; }
::placeholder { color:#6b7280 !important; opacity:1 !important; }

/* kártya kategória-címkék (felül) jól látszódjanak */
main .text-white\/70, main .text-white\/60 { color:rgba(255,255,255,.92) !important; }
