/*
Theme Name: L2Minoan
Theme URI: https://example.com/l2minoan
Author: minoanDesign
Author URI: https://example.com
Description: Clean, modern dark theme for a Lineage II private server (L2 MINOAN).
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.6
License: GPLv2 or later
Text Domain: l2minoan
*/

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Inter:wght@300;400;600;800&display=swap');

/* =======================
   TOKENS / BASE
======================= */
:root{
  --bg:#0b0d12;            /* deep dark */
  --bg-2:#131720;          /* panels */
  --glass:rgba(255,255,255,0.06);
  --glass-strong:rgba(255,255,255,0.12);
  --text:#e8e8ea;
  --muted:#9aa0a6;
  --accent:#d8b354;        /* warm gold */
  --accent-2:#b8921d;      /* orange-gold */
  --radius:18px;
  --shadow:0 10px 30px rgba(0,0,0,.45);
}

html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: var(--bg);
}



/* Containers / helpers */
.container{max-width:1180px; margin:0 auto; padding:0 20px;}
.flex{display:flex; align-items:center; gap:20px}
.space{justify-content:space-between}
.container-center{max-width:1080px; margin:0 auto;}
.grid{display:grid; gap:22px}
.grid-center{justify-items:center}

/* =======================
   HEADER / NAV
======================= */
/* Topbar = πιο “glass”, χαμηλότερο ύψος */
.topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(140%) blur(10px);
  background:linear-gradient(0deg, rgba(18,20,26,.72), rgba(18,20,26,.72));
  border-bottom:1px solid rgba(255,255,255,.06);
}

/* NAV TABS */
.nav.nav-tabs{
  display:flex; justify-content:center; gap:8px;
  padding:8px 0;
}

.nav.nav-tabs .nav-link{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  font-size:.92rem;
  letter-spacing:.12em;          /* πιο “σοβαρό” */
  text-transform:uppercase;
  color:var(--text);

  /* glass chip */
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(8px) saturate(130%);
  -webkit-backdrop-filter: blur(8px) saturate(130%);
  transition:transform .15s ease, box-shadow .15s ease, color .15s ease;
}

.nav.nav-tabs .nav-link:hover{
  box-shadow:0 6px 16px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  transform:translateY(-1px);
}

/* Χρυσή υπογράμμιση με glow */
.nav.nav-tabs .nav-link::after{
  content:""; position:absolute; left:10px; right:10px; bottom:6px; height:2px;
  background:linear-gradient(90deg, transparent, rgba(216,179,84,.9), transparent);
  opacity:0; transform:translateY(4px);
  transition:opacity .18s ease, transform .18s ease;
  border-radius:2px;
}
.nav.nav-tabs .nav-link:hover::after{ opacity:.7; transform:translateY(0) }

/* Ενεργό link = πιο έντονο + μόνιμη υπογράμμιση */
.nav.nav-tabs .nav-link.is-active{
  color:#0b0d12;
  background:linear-gradient(180deg, var(--accent), var(--accent-2));
  border-color:rgba(255,221,142,.55);
  box-shadow:0 8px 24px rgba(212,179,84,.22), inset 0 1px 0 rgba(255,255,255,.22);
}
.nav.nav-tabs .nav-link.is-active::after{
  opacity:1; bottom:6px; transform:none;
}

/* Mobile: λίγη αναπνοή */
@media (max-width:640px){
  .nav.nav-tabs{ gap:6px; padding:6px 0; flex-wrap:wrap }
  .nav.nav-tabs .nav-link{ padding:9px 12px; font-size:.85rem; letter-spacing:.10em }
}


.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand img{width:40px; height:40px; border-radius:10px}
.brand-title{font-family:Cinzel, serif; letter-spacing:.2em; font-weight:700}
.brand-sub{font-size:.75rem; color:var(--muted); margin-top:-6px}

.nav{display:flex; gap:18px}
.nav a{
  color:var(--text); text-decoration:none; font-weight:700; font-size:.95rem;
  padding:10px 14px; border-radius:12px; border:1px solid transparent;
}
.nav a:hover{
  border-color: rgba(216,179,84,.45);
  background: rgba(216,179,84,.08);
}
.nav .cta{
  background:linear-gradient(180deg, var(--accent), var(--accent-2));
  color:#101214; box-shadow:var(--shadow);
  border-color:rgba(255,221,142,.6);
}

/* =======================
   HERO
======================= */
/* ---- HERO with focal point control ---- */
:root{ --hero-pos-y: 18%; }          /* ανεβοκατεβάζεις το θέμα: 0% top … 100% bottom */

.hero{
  position: relative;
  text-align: center;
  min-height: 100vh;
  background: url('assets/img/hero.jpg') no-repeat center var(--hero-pos-y)/cover;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
  mask-repeat: no-repeat;
  mask-size: cover;
}


.hero-inner{ position:relative; z-index:1; padding:160px 20px 180px; }
.hero::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(11,13,18,.35) 0%, rgba(11,13,18,.75) 70%, rgba(11,13,18,.90) 100%);
}

/* ---- Particles / embers overlay (no grid) ---- */
/* Χρησιμοποιούμε ένα μικρό glow-dot SVG ως data-URL, σε 2 layers με διαφορετικά μεγέθη/ταχύτητες */
.hero::before{
  content:"";
  position:absolute; inset:0; z-index:2; pointer-events:none;
  mix-blend-mode: screen;              /* φωτεινό blend με το bg */
  opacity:.35;                         /* ρύθμισέ το 0.2–0.5 ανά γούστο */

  /* δύο διαφορετικά "τάπητα" σωματιδίων */
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><defs><radialGradient id='g' cx='50%' cy='50%' r='50%'><stop offset='0%' stop-color='%23ffc769'/><stop offset='60%' stop-color='%23ff9b3d' stop-opacity='.8'/><stop offset='100%' stop-color='%23ff9b3d' stop-opacity='0'/></radialGradient></defs><circle cx='4' cy='4' r='4' fill='url(%23g)'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><defs><radialGradient id='g2' cx='50%' cy='50%' r='50%'><stop offset='0%' stop-color='%23ffd98a'/><stop offset='60%' stop-color='%23ffb25a' stop-opacity='.7'/><stop offset='100%' stop-color='%23ffb25a' stop-opacity='0'/></radialGradient></defs><circle cx='5' cy='5' r='5' fill='url(%23g2)'/></svg>");
  background-repeat: repeat, repeat;

  /* μεγάλα "μοτίβα" για να μην φαίνεται grid */
  background-size: 220px 260px, 340px 420px;

  /* αρχικές θέσεις τυχαίες-ish */
  background-position: 0 60%, 20% 80%;

  animation: l2m-embers 38s linear infinite;
}

/* Κίνηση προς τα πάνω, διαφορετικό distance ανά layer για parallax */
@keyframes l2m-embers{
  from {
    background-position: 0 100%, 20% 100%;
  }
  to {
    background-position: 0 -320%, 20% -520%;
  }
}


/* Προσαρμογή ανά οθόνη: όσο μικραίνει, κατεβάζουμε ελάχιστα το focus */
@media (max-width:1400px){ :root{ --hero-pos-y: 22%; } }
@media (max-width:1100px){ :root{ --hero-pos-y: 26%; } }
@media (max-width: 768px){ :root{ --hero-pos-y: 33%; } }
@media (max-width: 480px){ :root{ --hero-pos-y: 40%; } }

/* =======================
   BUTTONS
======================= */
.btn{
  position:relative; overflow:hidden;
  padding:13px 20px; border-radius:18px;
  text-decoration:none; font-weight:800; letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  backdrop-filter: blur(8px) saturate(135%);
  -webkit-backdrop-filter: blur(8px) saturate(135%);
  box-shadow: 0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.22);
  color:var(--text);
}
.btn::after{
  content:""; position:absolute; inset:-120% -60% auto auto;
  width:120%; height:220%;
  background: radial-gradient(60% 60% at 50% 50%, rgba(255,255,255,.25), transparent 60%);
  transform: rotate(18deg); opacity:.25; pointer-events:none;
}
.btn + .btn{margin-left:12px}
.btn-primary{
  color:#0b0d12; border-color: rgba(255, 221, 142, .6);
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
  box-shadow:0 10px 30px rgba(212,179,84,.25), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn-primary:hover{ filter:brightness(1.06) }
.btn-ghost{
  color:var(--text);
  border:1px solid rgba(216,179,84,.6);
  background:linear-gradient(180deg, rgba(216,179,84,.18), rgba(255,255,255,.03));
}
.btn-ghost:hover{ border-color: rgba(216,179,84,.9); }
.btn-outline{
  background:transparent; color:var(--text);
  border:1px solid rgba(216,179,84,.7);
}
.btn-outline:hover{ background:rgba(216,179,84,.08); }

/* =======================
   SECTIONS / CARDS / ICONS
======================= */
.section { margin:70px 0 }
.section .section-title {
  font-family:Cinzel, serif; letter-spacing:.18em; font-size:1.25rem;
  text-align:center; margin:0 0 18px;
}
.section .section-sub { text-align:center; color:var(--muted); margin-top:-6px }
.section .divider {
  width:72px; height:2px; margin:12px auto 0;
  background:linear-gradient(90deg, transparent, rgba(216,179,84,.85), transparent);
  border-radius:2px;
}

.icon-grid{display:grid; gap:16px}
.icon-grid.cols-4{grid-template-columns:repeat(4, minmax(0,1fr))}
@media (max-width:980px){ .icon-grid.cols-4{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .icon-grid.cols-4{grid-template-columns:1fr} }

.kv{
  display:flex; align-items:center; gap:12px; padding:16px;
  background:linear-gradient(180deg, var(--glass), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08); border-radius:16px;
  box-shadow: var(--shadow);
}
.kv .ico{width:24px; height:24px; opacity:.95}
.kv strong{font-size:1.05rem}
.kv small{display:block; color:var(--muted); margin-top:2px}

/* Posts / cards */
.card{
  background:linear-gradient(180deg, var(--glass), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden;
}
.card img{width:100%; display:block; aspect-ratio:16/9; object-fit:cover}
.card-body{padding:18px}
.card-meta{color:var(--muted); font-size:.82rem; margin-bottom:6px}
.card-title{font-size:1.15rem; margin:0 0 10px; color:var(--text)}
.card-title a{color:var(--text); text-decoration:none}
.card-title a:hover{color:var(--accent)}
.card-excerpt{color:var(--muted)}

.news-compact .card{ max-width:360px; }
.news-compact .card-title{ font-size:.95rem }
.news-compact .card-meta{ font-size:.75rem }

/* =======================
   FOOTER
======================= */
.footer{
  margin-top:70px; padding:28px 0; border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted); background:rgba(255,255,255,.02)
}
.footer a{color:var(--text); text-decoration:none}
.footer a:hover{color:var(--accent)}

/* Centered blocks */
.section-narrow {
  max-width: 860px;   /* κεντρικό πλάτος */
  margin: 0 auto 70px auto;
  text-align: center;
}
.section-narrow .icon-grid {
  justify-items: center;
}
.section-narrow .kv {
  width: 180px;   /* όλες οι κάρτες ίδια διάσταση */
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
.section-narrow .kv .ico {
  margin-bottom: 6px;
}

/* Centered nav in topbar */
.topbar .nav {
  display:flex;
  justify-content:center;
  gap:24px;
}
