/* ======================
   Font imports for TrajanSansPro & Montserrat
   ====================== */
@font-face {
  font-family: 'TrajanSansPro';
  src: url('../fonts/TrajanSansPro-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TrajanSansPro';
  src: url('../fonts/TrajanSansPro-Semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Theme variables */
:root {
  --licorice:#150200;
  --black-bean:#390B01;
  --licorice-2:#170B06;
  --licorice-3:#0F0300;
  --smoky-black:#090201;
  --penn-red:#912000;
  --brown:#A13400;
  --sunset:#F2C67B;
  --mustard:#FFD94E;

  --bg: var(--smoky-black);
  --surface: color-mix(in srgb, var(--licorice-2) 85%, black);
  --text: #f6efe9;
  --muted: #c9b8ab;
  --accent: var(--penn-red);
  --accent-2: var(--brown);
  --accent-warm: var(--sunset);
  --accent-mustard: var(--mustard);
  --ring: color-mix(in srgb, var(--penn-red) 35%, transparent);

  --fg: var(--text);
}

/* Base */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family: 'Montserrat', Arial, sans-serif;
}

body{margin:0;color:var(--fg);font-family:'Montserrat',Arial,sans-serif;line-height:1.5}

h1, h2, h3, h4, h5, h6,
.brand, nav a {
  font-family: 'TrajanSansPro', serif;
}

/* Layout */
.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 16px;
}

/* Header / nav */
.site-header {
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
  border-bottom: 1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: sticky;
  top: 0;
  z-index: 50;
}

.site-header nav,
nav.container {
  display: flex;
  align-items: center;
  gap: 22px;
}

nav .brand {
  font-weight: 700;
  margin-right: 24px;
}

nav .spacer {
  flex: 1;
}

nav a {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #f6efe9;
  opacity: .92;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 12px;
  position: relative;
  text-decoration: none;
  transition: color .2s ease, opacity .2s ease, text-shadow .2s ease;
}

nav a:hover,
nav a:focus-visible {
  color: var(--mustard);
  opacity: 1;
  text-shadow: 0 0 8px rgba(255,217,78,.25);
  outline: none;
}

nav a.active,
nav a[aria-current="page"] {
  color: var(--mustard);
  opacity: 1;
}

nav a.active::after,
nav a[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -6px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--mustard), var(--sunset));
}

/* Nav SVG icons */
nav a::before,
.nav a::before,
.menu a::before {
  content: "";
  width: 18px;
  height: 18px;
  display: inline-block;
  margin-right: 8px;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transform: translateY(1px);
}

/* Home */
nav a[href*="index"]::before,
nav a[href*="home"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5v11h14v-11'/%3E%3Cpath d='M9 20.5v-6h6v6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5v11h14v-11'/%3E%3Cpath d='M9 20.5v-6h6v6'/%3E%3C/svg%3E");
}

/* About */
nav a[href*="about"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 10v6'/%3E%3Cpath d='M12 7.5h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 10v6'/%3E%3Cpath d='M12 7.5h.01'/%3E%3C/svg%3E");
}

/* Files / downloads */
nav a[href*="files"]::before,
nav a[href*="file"]::before,
nav a[href*="download"]::before,
nav a[href*="downloads"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16.5a4.5 4.5 0 0 0-1-8.9 6 6 0 0 0-11.6 1.7A4.5 4.5 0 0 0 4 16.5'/%3E%3Cpath d='M12 12v7'/%3E%3Cpath d='M9.5 17 12 19.5 14.5 17'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16.5a4.5 4.5 0 0 0-1-8.9 6 6 0 0 0-11.6 1.7A4.5 4.5 0 0 0 4 16.5'/%3E%3Cpath d='M12 12v7'/%3E%3Cpath d='M9.5 17 12 19.5 14.5 17'/%3E%3C/svg%3E");
}

/* Statistics */
nav a[href*="stats"]::before,
nav a[href*="statistics"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18'/%3E%3Cpath d='M6 20V10'/%3E%3Cpath d='M12 20V4'/%3E%3Cpath d='M18 20v-7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18'/%3E%3Cpath d='M6 20V10'/%3E%3Cpath d='M12 20V4'/%3E%3Cpath d='M18 20v-7'/%3E%3C/svg%3E");
}

/* Donate */
nav a[href*="donate"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E");
}

/* wiki */
nav a[href*="l2wiki.com/main/skills"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M4 6l3.5 12 4.5-9 4.5 9L20 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M4 6l3.5 12 4.5-9 4.5 9L20 6'/%3E%3C/svg%3E");
}

/* Main nav icon tuning */
.site-header nav.container > a:not(.brand)::before {
  width: 20px;
  height: 20px;
  margin-right: 5px;
}
.site-header nav.container > a {
  font-size: 15.5px;
  white-space: nowrap;
}
@media (max-width:1200px) {
  .site-header nav.container > a { font-size: 14.5px; }
}

/* Remove icons from auth/user links */
#userBtn::before,
.site-header nav.container > a.signin::before,
.auth-links a::before,
.user-menu a::before {
  content: none !important;
  background: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  width: 0 !important;
  margin: 0 !important;
}

/* HELLO button */
#userBtn {
  font-size: 13.5px;
  padding: 8px 12px;
  line-height: 1.1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Auth CTA alignment */
.cta, .auth-links {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: nowrap;
}
.cta .btn, .auth-links .btn {
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 12px;
}
@media (max-width:640px) {
  .cta, .auth-links { flex-wrap: wrap; }
}

/* Buttons */
.btn,
button,
input[type="submit"],
.button {
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .02em;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  padding: 10px 16px;
  background: linear-gradient(180deg, #D93B3B 0%, #9F1F1F 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    0 10px 22px rgba(217,59,59,.25);
  transition: box-shadow .2s, background .25s, border-color .2s;
  text-decoration: none;          /* <-- ΚΑΜΙΑ ΓΡΑΜΜΗ ΣΤΑ BUTTONS */
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
.button:hover {
  background: linear-gradient(180deg, #FF7A2F 0%, #C14A1A 100%);
  box-shadow:
    0 10px 24px rgba(255,122,47,.28),
    0 0 0 10px rgba(255,122,47,.10);
  border-color: rgba(255,255,255,.18);
  text-decoration: none;          /* και στο hover */
}


.btn:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
.button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 8px rgba(255,122,47,.22);
}

/* Ghost/secondary buttons */
.btn.ghost,
.button.ghost {
  background: rgba(255,255,255,.02);
  border-color: rgba(255,255,255,.14);
  color: #fff;
}
.btn.ghost:hover,
.button.ghost:hover {
  background: linear-gradient(180deg, #FF7A2F 0%, #C14A1A 100%);
  box-shadow:
    0 12px 26px rgba(255,122,47,.35),
    0 0 0 8px rgba(255,122,47,.14);
}

/* Old `.btn.outline` support */
.btn.outline {
  background: transparent;
  border: 1px solid rgba(255,255,255,.32);
  color: #f5f7ff;
  box-shadow: none;
}
.btn.outline:hover {
  background: #ffffff0a;
}

/* Forms / inputs / alerts */
form,
.panel,
.box,
.widget {
  max-width: 440px;
  margin: 24px auto;
  background: linear-gradient(180deg, #20232a, #20232a) !important;
  border: 1px solid #ffffff0f !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.45) !important;
  padding: 16px;
}

label {
  display: block;
  margin: 8px 0 4px;
}

input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
  width: 100%;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid #3f4249;
  background: #292d34;
  color: var(--text);
  outline: none;
  transition: box-shadow .2s, border-color .2s, background .2s;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(255,217,78,.45);
  box-shadow: 0 0 0 6px rgba(255,217,78,.10);
}

.error {
  background: #3b0b0b;
  border: 1px solid #7a2d2d;
  padding: 8px;
  border-radius: 8px;
  margin-bottom: 8px;
}
.success {
  background: #0b3b1a;
  border: 1px solid #2d7a4c;
  padding: 8px;
  border-radius: 8px;
  margin-bottom: 8px;
}

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  border-bottom: 1px solid #1f2530;
  padding: 8px;
  text-align: left;
}

/* Hero */
.hero {
  padding: 64px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero::before,
.jumbotron::before,
.page-hero::before {
  content: "";
  position: absolute;
  inset: -20% -20% auto auto;
  width: 70%;
  aspect-ratio: 1;
  filter: blur(30px);
  pointer-events: none;
}
.hero::after,
.jumbotron::after,
.page-hero::after {
  content: "";
  position: absolute;
  inset: -40% -20% auto auto;
  width: 55%;
  aspect-ratio: 1;
  filter: blur(30px);
  pointer-events: none;
}

/* Dragon watermark */
body::after {
  content: ""; position: fixed; right: -30px; bottom: -20px;
  width: min(46vw, 520px); height: auto; aspect-ratio: 1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cg fill='%2523FFD94E'%3E%3Cpath d='M329 30c-17 3-33 12-46 26-18 19-26 41-25 64 1 25 12 46 30 64-10 3-20 6-29 11-53 26-85 82-74 139 3 13 8 26 16 39-23-6-44-17-62-34-51-49-60-124-22-183 39-60 115-87 184-64 10 3 20 7 28 12z' opacity='.7'/%3E%3Cpath d='M475 188c-9-2-19 2-25 10-11 15-28 24-46 25-18 0-35-7-48-18-15-13-23-31-25-50 0-4 0-9-1-13-1-9-8-17-17-19-9-3-18 1-23 8-11 16-16 35-13 55 3 20 13 38 28 52 21 19 48 30 77 30 33 0 65-15 86-42 6-8 7-19 2-27-4-6-10-10-17-11z'/%3E%3Cpath d='M225 428c25 10 52 15 80 13 73-4 136-45 168-105 5-9 3-19-3-26-5-5-12-7-19-6-8 1-14 6-18 13-24 43-71 73-126 76-31 2-60-6-86-20 1 21 2 41 4 55z' opacity='.6'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .10;
  mix-blend-mode: screen;
  filter: drop-shadow(0 12px 40px rgba(255,217,78,.12));
  pointer-events: none;
  z-index: -1;
}

/* Logo animation */
.logo {
  text-align: center;
}
.logo img {
  height: 360px;
  transition: transform 0.3s ease;
  filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.3));
  animation: logo-bounce 3s ease-in-out infinite;
}
@keyframes logo-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* Password reveal */
.password-field label {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  color: #f5f7ff;
}
.password-wrapper {
  position: relative;
}
.password-wrapper input[type="password"],
.password-wrapper input[type="text"] {
  width: 100%;
  padding: 10px 38px 10px 12px;
  border-radius: 10px;
  border: 1px solid #353845;
  background: #181b25;
  color: #f5f7ff;
  outline: none;
  font-size: 14px;
}
.password-wrapper input:focus {
  border-color: #5d6bff;
}
.pw-toggle-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pw-icon {
  width: 18px;
  height: 18px;
  stroke: none;
  fill: #8b8fa8;
  opacity: 0.9;
}
.pw-toggle-btn:hover .pw-icon {
  opacity: 1;
}

/* User dropdown layering */
.user-menu {
  position: absolute;
  z-index: 9999;
}
.user-menu a { position: relative; z-index: 1; }

/* Tabs / badges */
.nav-tabs .nav-link,
.nav-pills .nav-link,
.tabs .tab,
.badge, .pill, .tag {
  color: var(--text);
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
}
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active,
.tabs .tab.active {
  color: #fff;
  background: linear-gradient(180deg, #2a1208, #1a0c08);
  border-color: rgba(255,217,78,.35);
  box-shadow: 0 0 0 6px rgba(255,217,78,.12) inset;
}

/* Auth header CTAs: REGISTER / SIGN IN */
.site-header .cta a[href*="register"],
.site-header .auth-links a[href*="register"] {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #f6efe9 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-family: 'TrajanSansPro', serif;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 12px;
  line-height: 1.1;
  white-space: nowrap;
  font-size: 0 !important;
  position: relative;
}
.site-header .cta a[href*="register"]::after,
.site-header .auth-links a[href*="register"]::after {
  content: "REGISTER";
  font-size: 14px;
  line-height: 1;
}
.site-header .cta a[href*="register"]:hover,
.site-header .auth-links a[href*="register"]:hover {
  color: var(--mustard) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.22) !important;
}
.site-header .cta a[href*="login"],
.site-header .auth-links a[href*="login"] {
  padding: 8px 12px;
  border-radius: 12px;
  line-height: 1.1;
  white-space: nowrap;
  font-size: 14px;
}

/* Footer */
.site-footer {
  position: relative;
  isolation: isolate;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 10px 0 10px;
  color: var(--fg);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.footer-brand { text-align: center; }

/* Footer logo */
.footer-logo {
  text-align: center;
  margin-bottom: 8px;
}
.footer-logo img {
  display: inline-block;
  max-height: 72px;
  width: auto;
  height: auto;
  vertical-align: middle;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.35));
}
@media (max-width:480px) {
  .footer-logo img { max-height: 60px; }
}
.footer-logo .amp { color:#b23c21; margin: 0 4px; }

.copyright {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}
.copyright .mark {
  color:#ffa600;
  font-weight:700;
}

/* Footer columns */
.footer-col h4 {
  margin: 0 0 12px;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .5px;
  font-size: 14px;
  color: #d9a441;
}
.footer-col ul {
  list-style:none;
  padding:0;
  margin:0;
}
.footer-col li { margin: 8px 0; }
.footer-col a {
  color: var(--fg);
  text-decoration: none;
  opacity: .9;
  font-size: 14px;
}
.footer-col a {
  text-decoration: none;
}
.footer-col a:hover {
  opacity: 1;
  text-decoration: none;    /* ΟΧΙ underline */
}

.footer-links a {
  text-decoration: none;
}
.footer-links a:hover {
  text-decoration: none;    /* ΟΧΙ underline */
  color: #fff;
}
/* Footer DOCUMENTATIONS block */
.footer-column {
  min-width: 180px;
  margin-bottom: 20px;
}
.footer-column h4 {
  font-size: 14px;
  font-weight: 600;
  color: #f1c40f;
  margin-bottom: 8px;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li { margin: 4px 0; }
.footer-links a {
  color: #ffffffcc;
  text-decoration: none;
  font-size: 13px;
}
.footer-links a:hover {
  text-decoration: underline;
  color: #fff;
}

/* Footer icons base */
.footer-col ul li a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.footer-col ul li a::before {
  content: none;
  width: 0;
  height: 0;
  margin: 0;
  background: none;
  -webkit-mask: none;
  mask: none;
}

/* Footer: site map icons */
.footer-sitemap a[href*="index"]::before,
.footer-sitemap a[href*="home"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 11L12 3l9 8'/><path d='M5 10v10h14V10'/><path d='M9 20v-6h6v6'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 11L12 3l9 8'/><path d='M5 10v10h14V10'/><path d='M9 20v-6h6v6'/></svg>");
}
.footer-sitemap a[href*="stat"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 20h18'/><path d='M6 20V10'/><path d='M12 20V4'/><path d='M18 20v-7'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 20h18'/><path d='M6 20V10'/><path d='M12 20V4'/><path d='M18 20v-7'/></svg>");
}
.footer-sitemap a[href*="about"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 10v6'/><path d='M12 7.5h.01'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 10v6'/><path d='M12 7.5h.01'/></svg>");
}
.footer-sitemap a[href*="donate"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.8 8.8A4.8 4.8 0 0 0 12 8.6a4.8 4.8 0 0 0-8.8 2.7c0 5.5 8.8 10.7 8.8 10.7S20.8 16.8 20.8 11.3z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.8 8.8A4.8 4.8 0 0 0 12 8.6a4.8 4.8 0 0 0-8.8 2.7c0 5.5 8.8 10.7 8.8 10.7S20.8 16.8 20.8 11.3z'/></svg>");
}

/* Footer social icons */
.footer-social a[href*="discord"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="%23000" d="M13.545 2.907a13.2 13.2 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.2 12.2 0 0 0-3.658 0 8 8 0 0 0-.412-.833.05.05 0 0 0-.052-.025 13.2 13.2 0 0 0-3.257 1.011.04.04 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032q.003.022.021.037a13.3 13.3 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019q.463-.63.818-1.329a.05.05 0 0 0-.01-.059l-.018-.011a9 9 0 0 1-1.248-.595.05.05 0 0 1-.02-.066l.015-.019q.127-.095.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.05.05 0 0 1 .053.007q.121.1.248.195a.05.05 0 0 1-.004.085 8 8 0 0 1-1.249.594.05.05 0 0 0-.03.03.05.05 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.2 13.2 0 0 0 4.001-2.02.05.05 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.03.03 0 0 0-.02-.019M5.347 10.214c-.789 0-1.438-.724-1.438-1.612s.637-1.613 1.438-1.613c.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612m5.316 0c-.788 0-1.438-.724-1.438-1.612s.637-1.613 1.438-1.613c.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612"/></svg>') center/contain no-repeat;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="%23000" d="M13.545 2.907a13.2 13.2 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.2 12.2 0 0 0-3.658 0 8 8 0 0 0-.412-.833.05.05 0 0 0-.052-.025 13.2 13.2 0 0 0-3.257 1.011.04.04 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032q.003.022.021.037a13.3 13.3 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019q.463-.63.818-1.329a.05.05 0 0 0-.01-.059l-.018-.011a9 9 0 0 1-1.248-.595.05.05 0 0 1-.02-.066l.015-.019q.127-.095.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.05.05 0 0 1 .053.007q.121.1.248.195a.05.05 0 0 1-.004.085 8 8 0 0 1-1.249.594.05.05 0 0 0-.03.03.05.05 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.2 13.2 0 0 0 4.001-2.02.05.05 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.03.03 0 0 0-.02-.019M5.347 10.214c-.789 0-1.438-.724-1.438-1.612s.637-1.613 1.438-1.613c.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612m5.316 0c-.788 0-1.438-.724-1.438-1.612s.637-1.613 1.438-1.613c.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612"/></svg>') center/contain no-repeat;
}

.footer-social a[href*="telegram"]::before,
.footer-social a[href*="t.me"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M22 3 3.2 11.1c-.9.4-.8 1.7.2 2L8.2 14l1.1 5.2c.2 1 1.4 1.3 1.9.1l2.2-4.5 5.6 4.1c.7.5 1.6.1 1.8-.8L24 4.3C24 3.2 22.9 2.4 22 3z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M22 3 3.2 11.1c-.9.4-.8 1.7.2 2L8.2 14l1.1 5.2c.2 1 1.4 1.3 1.9.1l2.2-4.5 5.6 4.1c.7.5 1.6.1 1.8-.8L24 4.3C24 3.2 22.9 2.4 22 3z'/></svg>");
}
.footer-social a[href*="instagram"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0C5.8 0 5.507.01 4.675.048c-.832.04-1.402.177-1.898.376a3.917 3.917 0 0 0-1.417.923A3.917 3.917 0 0 0 .437 2.764c-.199.496-.337 1.066-.376 1.898C.01 5.494 0 5.787 0 8c0 2.213.01 2.506.048 3.338.04.832.177 1.402.376 1.898.198.496.47.92.923 1.417.497.452.92.724 1.417.923.496.199 1.066.337 1.898.376C5.494 15.99 5.787 16 8 16s2.506-.01 3.338-.048c.832-.04 1.402-.177 1.898-.376a3.917 3.917 0 0 0 1.417-.923c.452-.497.724-.92.923-1.417.199-.496.337-1.066.376-1.898C15.99 10.506 16 10.213 16 8s-.01-2.506-.048-3.338c-.04-.832-.177-1.402-.376-1.898a3.917 3.917 0 0 0-.923-1.417A3.917 3.917 0 0 0 13.236.437c-.496-.199-1.066-.337-1.898-.376C10.506.01 10.213 0 8 0zm0 3.89a4.11 4.11 0 1 1 0 8.22 4.11 4.11 0 0 1 0-8.22zm5.23-.843a.96.96 0 1 1-1.92 0 .96.96 0 0 1 1.92 0z'/%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 16 16'%3E%3Cpath d='M8 0C5.8 0 5.507.01 4.675.048c-.832.04-1.402.177-1.898.376a3.917 3.917 0 0 0-1.417.923A3.917 3.917 0 0 0 .437 2.764c-.199.496-.337 1.066-.376 1.898C.01 5.494 0 5.787 0 8c0 2.213.01 2.506.048 3.338.04.832.177 1.402.376 1.898.198.496.47.92.923 1.417.497.452.92.724 1.417.923.496.199 1.066.337 1.898.376C5.494 15.99 5.787 16 8 16s2.506-.01 3.338-.048c.832-.04 1.402-.177 1.898-.376a3.917 3.917 0 0 0 1.417-.923c.452-.497.724-.92.923-1.417.199-.496.337-1.066.376-1.898C15.99 10.506 16 10.213 16 8s-.01-2.506-.048-3.338c-.04-.832-.177-1.402-.376-1.898a3.917 3.917 0 0 0-.923-1.417A3.917 3.917 0 0 0 13.236.437c-.496-.199-1.066-.337-1.898-.376C10.506.01 10.213 0 8 0zm0 3.89a4.11 4.11 0 1 1 0 8.22 4.11 4.11 0 0 1 0-8.22zm5.23-.843a.96.96 0 1 1-1.92 0 .96.96 0 0 1 1.92 0z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.footer-social a[href*="tiktok"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 3c1 2 3 3.3 5 3.6v3c-1.9-.2-3.7-.9-5-2v6.3c0 3-2.4 5.5-5.4 5.6C5.7 19.8 3.5 17.7 3.5 15s2.2-4.8 5-4.9v3.1c-1 .1-2 1-2 2.2s1 2.2 2.2 2.2S11 18.6 11 17.4V3z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 3c1 2 3 3.3 5 3.6v3c-1.9-.2-3.7-.9-5-2v6.3c0 3-2.4 5.5-5.4 5.6C5.7 19.8 3.5 17.7 3.5 15s2.2-4.8 5-4.9v3.1c-1 .1-2 1-2 2.2s1 2.2 2.2 2.2S11 18.6 11 17.4V3z'/></svg>");
}
.footer-social a[href*="facebook"]::before {
  content:""; width:18px; height:18px; background-color: currentColor;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 8h3V4h-3a4 4 0 0 0-4 4v2H7v4h3v8h4v-8h3l1-4h-4V8c0-.6.4-1 1-1z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 8h3V4h-3a4 4 0 0 0-4 4v2H7v4h3v8h4v-8h3l1-4h-4V8c0-.6.4-1 1-1z'/></svg>");
}

/* Footer account links: no icons */
.footer-account a::before {
  content: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  width: 0 !important;
  margin: 0 !important;
}

/* Footer responsive */
@media (max-width:980px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 22px 28px;
  }
  .footer-brand { grid-column: 1 / -1; }
}

/* Advantage icons row */
.advantage {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
  margin: 40px auto;
  text-align: center;
}
.advantage .item img {
  width: 90px;
  height: auto;
  display: block;
  margin: 0 auto 10px;
  filter: drop-shadow(0 0 8px rgba(0,0,0,0.45));
}
.advantage .item h3 {
  color: #ffffff;
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}
@media (max-width:650px) {
  .advantage {
    flex-direction: column;
    gap: 30px;
  }
}

/* Safe page fade-in animation */
body {
  animation: page-fade-in 0.35s ease-out;
}

@keyframes page-fade-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Auth bottom links: Forgot / Sign in / Sign up */
.auth-alt-link{
  margin-top: 8px;
  text-align: center;
  font-size: 14px;
  color: #e5e7ef;
}

.auth-alt-link a,
.auth-alt-link a:link,
.auth-alt-link a:visited{
  color: #6c5eff;
  text-decoration: none;
  font-weight: 500;
}

.auth-alt-link a:hover{
  color: #9a91ff;
  text-decoration: none;
}

.auth-alt-link a:active{
  color: #b4aaff;
  text-decoration: none;
}

/* Global: no underline on links (το underline το κάνουμε μόνο με ::after όπου θέλουμε) */
a,
a:link,
a:visited{
  text-decoration: none;
}

a:hover{
  text-decoration: none;
}

/* =========================
   Global mobile layout
   ========================= */
@media (max-width: 768px) {

  /* Γενικά */
  body {
    font-size: 14px;
  }

  .container,
  .site-header .container,
  .site-footer .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  /* Hero & sections */
  .hero,
  .section,
  .section-pad {
    padding: 32px 0;
    text-align: center;
  }

  .hero img,
  .section img,
  .banner img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  /* Όλες οι “στήλες” γίνονται κάθετες */
  .hero-grid,
  .features-grid,
  .stats-grid,
  .home-columns,
  .cards,
  .cards-grid,
  .don-grid,
  .legal-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  /* Tables (stats, chars, donations κλπ) */
  table,
  .top-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  table thead {
    white-space: nowrap;
  }

  /* Header / menu να μην σπάνε άσχημα */
  .site-header nav.container {
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .site-header nav.container > a {
    font-size: 13px;
    padding: 4px 6px;
  }

  /* Footer */
  .footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    text-align: center;
  }

  .footer-brand {
    order: -1; /* logo πάνω-πάνω στο κινητό */
  }
}

/* Extra μικρές οθόνες */
@media (max-width: 480px) {
  h1 { font-size: 24px; }
  h2 { font-size: 20px; }
  h3 { font-size: 16px; }

  .btn,
  button,
  input[type="submit"] {
    width: 100%;
    justify-content: center;
  }

  form {
    padding: 14px 12px;
  }
}
/* =========================
   COOKIES BAR
   ========================= */
.cookie-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;

  display: none;              /* εμφανίζεται από JS */
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  padding: 10px 18px;
  background: #4a4550;        /* γκρι-μωβ όπως το δείγμα */
  color: #f5f5f5;
  font-size: 13px;
  box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.45);
}

.cookie-text {
  flex: 1;
}

.cookie-more {
  color: #ffd654;
  text-decoration: underline;
}

.cookie-more:hover {
  text-decoration: none;
}

/* κουμπί "Got it!" */
.cookie-btn {
  background: #ffd654;
  border: none;
  color: #2d2d30;
  font-weight: 600;
  font-size: 13px;
  padding: 6px 18px;
  border-radius: 4px;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0,0,0,.25);
  transition: background .15s, transform .1s, box-shadow .15s;
}

.cookie-btn:hover {
  background: #ffe27f;
  box-shadow: 0 3px 7px rgba(0,0,0,.3);
}

.cookie-btn:active {
  transform: translateY(1px);
  box-shadow: 0 1px 3px rgba(0,0,0,.35);
}

/* responsive για κινητό */
@media (max-width: 640px) {
  .cookie-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .cookie-btn {
    align-self: flex-end;
    margin-top: 4px;
  }
}
