/* EH Group Adventskalender 2026 · Teilnahmebedingungen page, same look as the calendar (robOS, 10.11.2026) */
@font-face{font-family:'HappyFont_Headline';src:url(../fonts/HappyFont_Headline.woff) format('woff');font-weight:normal;font-style:normal;font-display:block;}
@font-face{font-family:'Moderat';font-weight:400;font-style:normal;src:url(../fonts/Moderat-Regular.woff) format('woff');}
@font-face{font-family:'Moderat';font-weight:700;font-style:normal;src:url(../fonts/Moderat-Bold.woff) format('woff');}

:root{
  --nori:#1b5950;--nori-dark:#0f3a34;--pine:#2c6860;
  --coral:#ed6e72;--coral-dark:#d1494f;--blush:#f6dfe3;
  --paper:#fbf3e6;--paper-dim:#efe3cf;--gold:#c8a15c;--ink:#0c211d;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body.tnb26{
  min-height:100vh;background:var(--nori-dark);color:var(--ink);
  font-family:'Moderat','Baloo 2',sans-serif;font-weight:400;font-synthesis:none;
  -webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden;
}

/* ---- background: the winter market, fixed, dimmed so the card reads well ---- */
.tnb-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:var(--nori-dark) url(../img/desktop/background-winter-market.webp) center bottom / cover no-repeat;
}
.tnb-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(15,58,52,.55) 0%, rgba(15,58,52,.25) 35%, rgba(12,33,29,.45) 100%);
}
@media (max-width:767px){
  .tnb-bg{background-image:url(../img/mobile/hintergrund-winter.webp);background-position:center top;}
}

/* ---- snow ---- */
.tnb-snow{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.tnb-snow i{position:absolute;top:-12px;display:block;border-radius:50%;background:#fff;animation:tnbfall linear infinite;}
@keyframes tnbfall{0%{transform:translate(0,0);}100%{transform:translate(var(--drift,20px),110vh);}}

/* ---- header ---- */
.tnb-head{
  position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 28px;background:linear-gradient(180deg, rgba(12,33,29,.72), rgba(12,33,29,.38) 70%, rgba(12,33,29,0));
  backdrop-filter:blur(2px);
}
.tnb-logo{display:block;line-height:0;}
.tnb-logo img{width:150px;height:auto;display:block;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));}

/* ---- back button (the coral pill from the calendar) ---- */
.tnb-back{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-family:'Moderat','Baloo 2',sans-serif;font-weight:700;font-size:15px;line-height:1;color:#fff;text-decoration:none;
  background:var(--coral);border-radius:999px;padding:12px 20px;
  box-shadow:0 4px 12px rgba(0,0,0,.28);transition:background .15s ease, transform .15s ease;
}
.tnb-back:hover{background:var(--coral-dark);transform:translateY(-1px);}
.tnb-back:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.tnb-back-arrow{font-size:18px;line-height:1;transform:translateY(-1px);}
.tnb-back-big{font-size:17px;padding:15px 28px;}

/* ---- card (the ticket/paper look of the doors and the sign-up window) ---- */
.tnb-main{position:relative;z-index:2;padding:36px 16px 72px;}
.tnb-card{
  position:relative;max-width:880px;margin:0 auto;
  background:var(--paper);border-radius:22px;border:2px dashed var(--coral-dark);
  padding:52px 56px 40px;box-shadow:0 30px 70px rgba(0,0,0,.45);
}
.tnb-card-gift{position:absolute;top:-46px;right:34px;width:84px;height:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.3));}
.tnb-kicker{margin:0 0 6px;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-dark);}
.tnb-card h1{
  font-family:'HappyFont_Headline','Baloo 2',sans-serif;font-weight:400;font-synthesis:none;
  font-size:44px;line-height:1.05;margin:0 0 26px;color:var(--nori);
  overflow-wrap:anywhere;hyphens:auto;
}

/* the legal text, as it comes from the editor: <p>, <b>, <ul>, <br> */
.tnb-text{font-size:16px;line-height:1.6;color:var(--ink);}
.tnb-text p{margin:0 0 12px;}
.tnb-text p:first-child{display:none;}          /* the document's own title line, the h1 above replaces it */
.tnb-text p.tnb-h > b{                            /* section headings (VERANSTALTER, GEWINNE, …), class set by the page script */
  display:block;margin:28px 0 10px;padding-top:18px;border-top:1px solid var(--paper-dim);
  font-size:15px;letter-spacing:.08em;color:var(--nori);
}
.tnb-text p > b{color:var(--nori);}
.tnb-text p.tnb-h{margin:0;}
.tnb-text ul{margin:4px 0 14px;padding-left:22px;}
.tnb-text li{margin:0 0 6px;}
.tnb-text li::marker{color:var(--coral);}
.tnb-text a{color:var(--coral-dark);}
.tnb-foot{margin-top:34px;padding-top:26px;border-top:1px solid var(--paper-dim);text-align:center;}

/* ---- tablet / phone ---- */
@media (max-width:767px){
  .tnb-head{padding:12px 14px;}
  .tnb-logo img{width:112px;}
  .tnb-back{font-size:14px;padding:11px 16px;}
  .tnb-main{padding:30px 12px 56px;}
  .tnb-card{padding:40px 22px 30px;border-radius:18px;}
  .tnb-card-gift{width:64px;top:-34px;right:18px;}
  .tnb-kicker{font-size:11px;letter-spacing:.1em;}
  .tnb-card h1{font-size:26px;margin-bottom:18px;}
  .tnb-text{font-size:15px;}
  .tnb-back-big{font-size:16px;padding:14px 22px;}
}
@media (max-width:420px){
  .tnb-card h1{font-size:22px;}
  .tnb-back span + span{display:none;}
  .tnb-back-big{width:100%;justify-content:center;}
}
@media (prefers-reduced-motion:reduce){
  .tnb-back{transition:none;}
}
