/* Ύφος «Reunion Class of '15» — ασπρόμαυρο vintage, όπως η ομάδα στο Messenger */
:root {
  --paper: #f2f2f0;
  --paper-hi: #ffffff;
  --paper-lo: #e6e6e3;
  --ink: #111111;
  --ink-2: #444444;
  --ink-3: #7a7a7a;
  --line: #dadad6;
  --film: #0d0d0d;
  --cream: #ffffff;
  --stamp: #111111;
  --stamp-glow: transparent;
  --kodak: #ffffff;
  --slab: 'Alfa Slab One', Rockwell, Georgia, serif;
}
body { background: var(--paper); }

/* hero σαν αφίσα */
.hero { background: var(--film); }
.hero-grid { justify-items: center; text-align: center; }
.hero-copy { display: grid; justify-items: center; }
.badge-wrap { margin-bottom: 18px; }
.badge { width: 150px; height: 150px; display: block; filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .5)); }
@media (min-width: 900px) { .badge { width: 180px; height: 180px; } }
.kicker { color: #bdbdbd; }
.h1-small { font: 400 clamp(18px, 5vw, 24px)/1 var(--slab) !important; letter-spacing: .32em; text-transform: uppercase; color: #fff; margin: 0 0 8px; padding-left: .32em; }
.h1-big { font: 400 clamp(40px, 12vw, 104px)/1 var(--slab) !important; letter-spacing: 0; margin: 0; color: #fff !important; text-transform: uppercase; white-space: nowrap; }
.hero-sub { color: #cfcfcf; margin-top: 16px; }
.hero-venue { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .18); }
.hero-venue .go { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.stamp-row { justify-content: center; }
.datestamp { color: #fff; }
.hero-cta { justify-content: center; }
.hero-login { text-align: center; display: grid; justify-items: center; }
.hero-login .notice { text-align: left; }
.gate-lead { color: #d6d6d6; }
.gate-fine { color: #8a8a8a; }

/* κουμπιά ασπρόμαυρα */
.btn-stamp { --bg: #111; --fg: #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }
.hero .btn-stamp { --bg: #fff; --fg: #111; box-shadow: none; }
.fab-btn { background: #111; color: #fff; box-shadow: 0 12px 28px rgba(0, 0, 0, .35); }
.score.cta { background: #111; border-color: #111; }
.score.cta b, .score.cta small, .score.cta span { color: #fff; }
.score.hot b { color: #fff; text-shadow: none; }
.step { color: var(--ink-3); }

/* τίτλοι ενοτήτων με slab, όπως το σήμα */
h2 { font: 400 clamp(24px, 6vw, 34px)/1.1 var(--slab) !important; letter-spacing: .01em; }

/* λεπτομέρειες */
.input:focus { box-shadow: 0 0 0 4px rgba(0, 0, 0, .08); }
.emoji-grid button[aria-checked="true"] { border-color: #111; background: #f0f0f0; box-shadow: 0 0 0 3px rgba(0, 0, 0, .12); }
.bar i.paid { background: #fff; box-shadow: none; }
.bar i.reg { background: rgba(255, 255, 255, .28); }
.car-dots i.on { background: #fff; }
.kid.me .av { box-shadow: 0 0 0 3px #111, 0 6px 14px rgba(0, 0, 0, .25); }
.drop:hover, .drop.over { border-color: #111; background: #fafafa; }
.fab-menu button:hover { border-color: #111; }
.classphoto { background: #fff; }
.prof-preview { background: #fafafa; }
.tabs { background: rgba(242, 242, 240, .92); }
.show-brand em { color: #fff; }

/* εγκεκριμένες φωτογραφίες σχολείου (12/11) */
.hero { position: relative; isolation: isolate; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(/img/entrance.jpg) center 40% / cover no-repeat; filter: grayscale(1) contrast(1.08); opacity: .42; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 13, 13, .55) 0%, rgba(13, 13, 13, .78) 45%, rgba(13, 13, 13, .96) 100%); }
.school-line { display: inline-flex; align-items: center; gap: 10px; }
.seal { width: 40px; height: 40px; border-radius: 50%; background: #fff; padding: 2px; box-shadow: 0 2px 8px rgba(0, 0, 0, .4); }
