/* Gemeinsames Stylesheet fuer alle statischen Infoseiten von RIF4students
   (Anmeldung, Badges, Struktur, Zielgruppe, Ueber uns, Kontakt, Impressum,
   Datenschutz, Nutzungsbedingungen). Vorher war dieses CSS neunfach nahezu
   identisch in jede einzelne Seite hineinkopiert - jede Aenderung (Farbe,
   Abstand, Schriftgroesse ...) musste an bis zu neun Stellen gemacht werden.
   Seiten-spezifische Sonderfaelle gab es praktisch keine; die zwei kleinen
   Abweichungen, die es gab, wurden hier vereinheitlicht. */
  @font-face{ font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/inter-400.ttf") format("truetype"); }
  @font-face{ font-family:'Inter'; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/inter-600.ttf") format("truetype"); }
  @font-face{ font-family:'Inter'; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/inter-700.ttf") format("truetype"); }
  @font-face{ font-family:'Space Grotesk'; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/space-grotesk-600.ttf") format("truetype"); }
  @font-face{ font-family:'Space Grotesk'; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/space-grotesk-700.ttf") format("truetype"); }
  :root{
    --paper:#FAF8F3; --ink:#1B2A4A; --ink-soft:#4B5A78; --line:#D9D4C8;
    --rif-blue-dark:#2064AE; --rif-green:#6CB646; --rif-orange:#FF6600; --white:#FFFFFF;
  }
  *{box-sizing:border-box;}
  body{margin:0;font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);min-height:100vh;}
  .wrap{max-width:760px;margin:0 auto;padding:32px 20px 60px;}
  .top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:10px;}
  .top-nav{display:flex;flex-wrap:wrap;gap:8px 18px;}
  .top-nav a{color:var(--ink-soft);font-size:14px;font-weight:600;text-decoration:none;}
  .top-nav a:hover{color:var(--rif-blue-dark);text-decoration:underline;}
  .brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;letter-spacing:-0.02em;text-decoration:none;display:inline-flex;align-items:center;min-height:36px;}
  .brand img{height:28px;width:28px;display:block;flex-shrink:0;margin-right:8px;}
  h1{font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--ink);margin:0 0 4px;}
  .top-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
  .top-right-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:36px;}
  .topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .topbar-actions .link-btn{background:none;border:none;padding:0;color:var(--rif-blue-dark);font-weight:600;font-size:14px;cursor:pointer;font-family:'Inter',sans-serif;text-decoration:underline;}
  .topbar-actions .muted{color:var(--ink-soft);font-size:14px;}
  /* ---- Bestaetigungsdialog (z.B. vor "Abmelden"), siehe rif4sShowConfirmModal() ---- */
  .rif4s-confirm-backdrop{position:fixed;inset:0;background:rgba(27,42,74,0.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:200;}
  .rif4s-confirm-card{background:var(--white);border-radius:16px;max-width:420px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,0.28);padding:24px 26px 26px;}
  .rif4s-confirm-card p{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--ink);}
  .rif4s-confirm-actions{display:flex;gap:10px;justify-content:flex-end;}
  .rif4s-confirm-actions button{font-family:'Inter',sans-serif;font-weight:600;font-size:15px;border-radius:8px;padding:10px 18px;cursor:pointer;border:none;}
  .rif4s-confirm-btn-primary{background:var(--ink);color:var(--white);}
  .rif4s-confirm-btn-primary:hover{background:#0F1A30;}
  .rif4s-confirm-btn-ghost{background:transparent;color:var(--ink-soft);border:1.5px solid var(--line);}
  .rif4s-confirm-btn-ghost:hover{border-color:var(--ink-soft);}
  .search-wrap{position:relative;}
  .search-btn{background:none;border:1.5px solid transparent;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:7px;border-radius:8px;text-decoration:none;}
  .search-btn:hover{background:#EFEDE6;}
  .search-input{width:210px;padding:8px 14px;border:1.5px solid var(--line);border-radius:20px;font-size:14px;font-family:'Inter',sans-serif;background:var(--white);}
  .search-input:focus{outline:none;border-color:var(--rif-blue-dark);}
  .search-results{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border:1.5px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(27,42,74,0.16);min-width:260px;max-height:300px;overflow-y:auto;z-index:60;}
  .search-results button{display:block;width:100%;text-align:left;background:none;border:none;padding:11px 16px;font-size:14px;font-weight:500;cursor:pointer;color:var(--ink);border-bottom:1px solid var(--line);font-family:'Inter',sans-serif;}
  .search-results button:last-child{border-bottom:none;}
  .search-results button:hover{background:var(--paper);}
  .search-results .search-empty{padding:12px 16px;font-size:13px;color:var(--ink-soft);}
  .lang-switch{display:flex;border:1.5px solid var(--line);border-radius:20px;overflow:hidden;flex-shrink:0;width:fit-content;}
  .lang-switch button{background:none;border:none;padding:6px 14px;font-size:12px;font-weight:600;color:var(--ink-soft);letter-spacing:.02em;cursor:pointer;font-family:'Inter',sans-serif;}
  .lang-switch button.active{background:var(--ink);color:white;cursor:default;}
  .lang-switch button:not(.active):hover{background:#EFEDE6;color:var(--rif-blue-dark);}
  .card{background:var(--white);border:1.5px solid var(--line);border-radius:14px;padding:28px;}
  .content p{margin:0 0 14px;line-height:1.7;font-size:15px;}
  .content a{color:var(--rif-blue-dark);}
  .content ol, .content ul{margin:0 0 14px;padding-left:22px;}
  .content li{margin-bottom:8px;font-size:15px;line-height:1.7;}
  .content li ol{margin-top:8px;margin-bottom:0;}
  .badge-list-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:15px;line-height:1.7;font-family:'Inter',sans-serif;}
  .badge-list-item .emoji{font-size:22px;flex-shrink:0;}
  .badge-list-item b{color:var(--ink);}
  .ag-color-icon{width:46px;height:46px;flex-shrink:0;}
  .lang-block[hidden]{display:none;}
  .site-footer{margin-top:40px;padding:22px 0 6px;border-top:1.5px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;}
  .site-footer a{color:var(--ink-soft);font-size:13px;font-weight:500;text-decoration:none;}
  .site-footer a:hover{color:var(--rif-blue-dark);text-decoration:underline;}
  .footer-brandline{width:100%;text-align:center;font-size:12px;color:var(--ink-soft);opacity:.7;margin-top:10px;}
