/* Bitcoin im Tullnerfeld — modern meetup/edu, regional */
:root{
  --bg:#14110e;
  --bg-elev:#1c1814;
  --bg-card:#221e19;
  --ink:#f5ede0;
  --ink-muted:#cfc3b0;
  --ink-dim:#9a8c7a;
  --line:rgba(245,237,224,.12);
  --accent:#F7931A;
  --accent-soft:#ffb347;
  --accent-dark:#c47410;
  --cream:#f5ede0;
  --success:#5cb85c;
  --display:'Outfit', system-ui, sans-serif;
  --body:'Source Sans 3', system-ui, -apple-system, sans-serif;
  --max:1120px;
  --prose:720px;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
a{color:var(--accent); text-underline-offset:.15em;}
a:hover{color:var(--accent-soft);}
img{max-width:100%; height:auto; display:block;}
.wrap{max-width:var(--prose); margin:0 auto; padding:0 24px;}
.wrap-wide{max-width:var(--max); margin:0 auto; padding:0 24px;}
@media(max-width:640px){.wrap,.wrap-wide{padding:0 18px;}}

h1,h2,h3,.display{
  font-family:var(--display);
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--ink);
  font-weight:700;
}
h1{font-size:clamp(2rem,4.5vw,3rem);}
h2{font-size:clamp(1.45rem,3vw,1.9rem); margin-bottom:.75rem;}
h3{font-size:1.2rem;}
.eyebrow{
  font-family:var(--display);
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:600;
  margin-bottom:.6rem;
}
.lead{font-size:1.15rem; color:var(--ink-muted); max-width:40rem;}
.muted{color:var(--ink-muted);}
.dim{color:var(--ink-dim);}

/* Header */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(20,17,14,.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header .inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:12px 0;
}
.logo{display:flex; align-items:center; text-decoration:none; gap:.75rem;}
.logo img{height:40px; width:auto;}
.logo-mark{
  width:40px; height:40px; border-radius:10px;
  background:var(--accent); color:#1a1612;
  display:grid; place-items:center;
  font-family:var(--display); font-weight:800; font-size:.95rem;
}
.logo-text{display:flex; flex-direction:column; line-height:1.15;}
.logo-text strong{color:var(--ink); font-size:.95rem; font-family:var(--display);}
.logo-text span{color:var(--ink-dim); font-size:.7rem; letter-spacing:.04em;}
.nav{display:flex; flex-wrap:wrap; gap:4px 16px; align-items:center; font-size:.92rem; font-weight:550;}
.nav a{color:var(--ink-muted); text-decoration:none;}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink);}
.nav-cta{
  background:var(--accent)!important; color:#1a1612!important;
  padding:.45rem .9rem; border-radius:999px; font-weight:700;
}
.nav-cta:hover{background:var(--accent-soft)!important; color:#1a1612!important;}
.nav-toggle{
  display:none; background:transparent; border:1px solid var(--line);
  color:var(--ink); border-radius:8px; padding:.4rem .65rem; cursor:pointer;
}
@media(max-width:820px){
  .nav-toggle{display:inline-flex;}
  .nav{
    display:none; width:100%; flex-direction:column; align-items:flex-start;
    padding:8px 0 12px; gap:10px;
  }
  .nav.is-open{display:flex;}
  .site-header .inner{flex-wrap:wrap;}
}

/* Sections */
.section{padding:4rem 0;}
.section-tight{padding:2.5rem 0;}
.section-alt{background:var(--bg-elev); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.hero{
  padding:4.5rem 0 3.5rem;
  background:
    radial-gradient(ellipse 80% 60% at 90% 0%, rgba(247,147,26,.18), transparent 55%),
    radial-gradient(ellipse 50% 40% at 10% 80%, rgba(247,147,26,.08), transparent 50%),
    var(--bg);
}
.hero-grid{display:grid; gap:2rem; align-items:center;}
@media(min-width:880px){.hero-grid{grid-template-columns:1.2fr .8fr; gap:3rem;}}
.hero h1{margin:.4rem 0 1rem;}
.hero-actions{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem;}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  padding:.7rem 1.15rem; border-radius:999px; font-weight:700;
  text-decoration:none; border:none; cursor:pointer; font-size:.95rem;
  font-family:var(--body);
}
.btn-primary{background:var(--accent); color:#1a1612;}
.btn-primary:hover{background:var(--accent-soft); color:#1a1612;}
.btn-ghost{
  background:transparent; color:var(--ink);
  border:1px solid var(--line);
}
.btn-ghost:hover{border-color:var(--accent); color:var(--accent-soft);}

.pill-card{
  background:var(--bg-card); border:1px solid var(--line);
  border-radius:var(--radius); padding:1.4rem 1.5rem;
}
.pill-card .stat{font-family:var(--display); font-size:1.6rem; color:var(--accent); font-weight:700;}
.pill-list{list-style:none; margin-top:1rem; display:grid; gap:.65rem;}
.pill-list li{display:flex; gap:.65rem; color:var(--ink-muted); font-size:.95rem;}
.pill-list li::before{content:""; width:8px; height:8px; margin-top:.45rem; border-radius:50%; background:var(--accent); flex-shrink:0;}

/* Cards grid */
.grid-3{display:grid; gap:1.1rem;}
@media(min-width:760px){.grid-3{grid-template-columns:repeat(3,1fr);}}
.card{
  background:var(--bg-card); border:1px solid var(--line);
  border-radius:var(--radius); padding:1.35rem 1.4rem;
  height:100%;
}
.card h3{margin:.35rem 0 .5rem;}
.card p{color:var(--ink-muted); font-size:.95rem;}
.card a.card-link{text-decoration:none; color:inherit; display:block; height:100%;}
.card a.card-link:hover h3{color:var(--accent);}
.badge{
  display:inline-block; font-size:.72rem; letter-spacing:.08em;
  text-transform:uppercase; font-weight:700; color:var(--accent);
  border:1px solid rgba(247,147,26,.35); border-radius:999px;
  padding:.2rem .55rem; margin-bottom:.4rem;
}
.badge-muted{color:var(--ink-dim); border-color:var(--line);}

/* Event / blog lists */
.list{display:grid; gap:1rem;}
.list-item{
  display:grid; gap:.75rem; align-items:start;
  background:var(--bg-card); border:1px solid var(--line);
  border-radius:var(--radius); padding:1.2rem 1.35rem;
}
@media(min-width:640px){.list-item{grid-template-columns:7.5rem 1fr auto; align-items:center;}}
.list-date{
  font-family:var(--display); font-weight:700; color:var(--accent);
  font-size:.95rem; line-height:1.3;
}
.list-item h3{font-size:1.05rem; margin-bottom:.25rem;}
.list-item p{color:var(--ink-muted); font-size:.92rem;}

/* Newsletter */
.nl-box{
  background:linear-gradient(135deg, rgba(247,147,26,.14), transparent 55%), var(--bg-card);
  border:1px solid rgba(247,147,26,.35);
  border-radius:calc(var(--radius) + 4px);
  padding:2rem 1.6rem;
}
.nl-box .ml-embedded{margin-top:1rem; min-height:120px;} /* legacy embed unused */

/* Custom newsletter form (MailerLite-backed) */
.bit-nl-form{margin-top:1.15rem; display:grid; gap:1rem;}
.bit-nl-fields{display:grid; gap:.85rem;}
@media(min-width:560px){.bit-nl-fields{grid-template-columns:1.2fr .8fr;}}
.bit-nl-field{display:grid; gap:.35rem;}
.bit-nl-label{font-size:.85rem; color:var(--ink-muted); font-weight:600;}
.bit-nl-optional{font-weight:400; color:var(--ink-dim);}
.bit-nl-form input[type="email"],
.bit-nl-form input[type="text"]{
  width:100%; padding:.7rem .9rem; border-radius:10px;
  border:1px solid var(--line); background:var(--bg);
  color:var(--ink); font:inherit; font-size:1rem;
}
.bit-nl-form input:focus{
  outline:2px solid rgba(247,147,26,.45); outline-offset:1px; border-color:var(--accent);
}
.bit-nl-check{
  display:flex; gap:.65rem; align-items:flex-start;
  font-size:.88rem; color:var(--ink-muted); line-height:1.45;
}
.bit-nl-check input{margin-top:.25rem; accent-color:var(--accent); flex-shrink:0;}
.bit-nl-submit{justify-self:start; min-width:9rem;}
.bit-nl-submit[disabled]{opacity:.65; cursor:wait;}
.bit-nl-status{font-size:.92rem; margin:0;}
.bit-nl-status.is-ok{color:var(--success);}
.bit-nl-status.is-err{color:#e07070;}
.nl-box .bit-nl-form{margin-top:1rem;}

.nl-placeholder{
  margin-top:1rem; padding:1rem; border:1px dashed var(--line);
  border-radius:10px; color:var(--ink-muted); font-size:.9rem;
}

/* Prose / article */
.prose{max-width:var(--prose); margin:0 auto;}
.prose p{margin:0 0 1.1rem; color:var(--cream);}
.prose h2{margin:2rem 0 .8rem;}
.prose h3{margin:1.5rem 0 .6rem;}
.prose ul,.prose ol{margin:0 0 1.1rem 1.2rem; color:var(--cream);}
.prose li{margin:.35rem 0;}
.prose .disclaimer{
  margin:2rem 0; padding:1rem 1.15rem;
  border-left:3px solid var(--accent);
  background:rgba(247,147,26,.08);
  color:var(--ink-muted); font-size:.92rem;
}
.article-meta{color:var(--ink-dim); font-size:.9rem; margin:0 0 1.5rem;}
.page-hero{padding:3rem 0 1.5rem;}
.article-hero{
  margin:0 0 1.5rem;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  background:#1a1612;
}
.article-hero img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center;
}
@media(min-width:720px){
  .article-hero img{
    aspect-ratio:16 / 10;
    max-height:420px;
  }
}

.page-hero h1{margin:.35rem 0 .75rem;}

.placeholder-box{
  border:2px dashed rgba(247,147,26,.45);
  background:rgba(247,147,26,.06);
  border-radius:var(--radius);
  padding:1.25rem 1.4rem;
  color:var(--ink-muted);
}
.placeholder-box strong{color:var(--accent);}

#rsvp-embed, .rsvp-box{
  min-height:80px; margin-top:1rem;
  border:1px dashed var(--line); border-radius:12px;
  padding:1.25rem; color:var(--ink-dim); text-align:center;
}

/* Footer */
.site-footer{
  margin-top:2rem; padding:2.5rem 0 2rem;
  border-top:1px solid var(--line);
  background:#100e0b;
}
.footer-inner{
  display:grid; gap:1.5rem;
}
@media(min-width:720px){
  .footer-inner{grid-template-columns:1.4fr 1fr; align-items:start;}
}
.footer-brand p{color:var(--ink-muted); font-size:.92rem; margin-top:.5rem; max-width:28rem;}
.footer-nav{display:flex; flex-wrap:wrap; gap:.65rem 1.1rem;}
.footer-nav a{color:var(--ink-muted); text-decoration:none; font-size:.9rem;}
.footer-nav a:hover{color:var(--accent);}
.footer-meta{margin-top:1.5rem; color:var(--ink-dim); font-size:.8rem;}

/* Consent banner — clean regional, not receipt clone */
#bit-consent{
  position:fixed; left:0; right:0; bottom:0; z-index:100;
  padding:14px;
  background:transparent;
  pointer-events:none;
}
.bit-consent-inner{
  pointer-events:auto;
  max-width:720px; margin:0 auto;
  background:var(--bg-elev);
  border:1px solid rgba(247,147,26,.4);
  border-radius:16px;
  padding:1.1rem 1.2rem;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
}
.bit-consent-inner p{color:var(--ink-muted); font-size:.9rem; margin-bottom:.9rem;}
.bit-consent-link{color:var(--accent);}
.bit-consent-actions{display:flex; flex-wrap:wrap; gap:.6rem;}
.bit-consent-btn{
  border:none; border-radius:999px; padding:.55rem 1rem;
  font-weight:700; cursor:pointer; font-family:var(--body); font-size:.9rem;
}
.bit-consent-essential{
  background:transparent; color:var(--ink);
  border:1px solid var(--line);
}
.bit-consent-accept{background:var(--accent); color:#1a1612;}

.is-hidden{display:none!important;}
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0;
}
