/* === suite.css — Fundament-Stylesheet des Bewerberportals ===
   Eigenständig rekonstruiert (das Original der Mutter-Suite lag dem Standalone-
   Paket nicht bei). Definiert die Design-Tokens + Basis-Stile (Body, Typo,
   Formularfelder, Buttons), auf denen portal.css aufbaut. Dunkles, warmes
   Messing/Ink-System. portal.css wird NACH dieser Datei geladen. */

:root{
  --paper:#f1e8d8;   /* helle Schrift & helle Flächen auf Dunkel */
  --ink:#1b1408;     /* dunkle Schrift auf Akzent-/Hellflächen */
  --ink-2:#241b10;   /* oberer Ton der Karten-Verläufe */
  --brass:#cf9a45;   /* Primär-Akzent (Messing) */
  --amber:#e3b35f;   /* Werte/Scores — wärmer & heller */
  --rust:#c0572f;    /* Warnung / Gefahr / Risiko */
  --sage:#86a06a;    /* Erfolg / „voll" */
  --muted:#a3917a;   /* sekundärer Text */
  --line:#3a2e1f;    /* Rahmen/Trennlinien */
  --shadow:0 20px 45px -24px rgba(0,0,0,.75);
  --r:14px;          /* Standard-Rundung */
  --bg:#0b0805;      /* Seitenhintergrund */
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:
    radial-gradient(1200px 600px at 100% -10%, rgba(207,154,69,.06), transparent 60%),
    var(--bg);
  color:var(--paper);
  font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  min-height:100vh;
}

h1,h2,h3,h4{ font-family:'Fraunces', Georgia, "Times New Roman", serif;
  font-weight:600; line-height:1.2; color:var(--paper); }
h1{ font-size:1.9rem; margin:.1em 0 .5em; }
h2{ font-size:1.35rem; margin:.2em 0 .5em; }
h3{ font-size:1.05rem; }

a{ color:var(--brass); text-decoration:none; }
a:hover{ text-decoration:underline; }
p{ margin:.55rem 0; }
hr{ border:0; border-top:1px solid var(--line); margin:1.4rem 0; }
small{ color:var(--muted); }
:focus-visible{ outline:2px solid var(--brass); outline-offset:2px; }

/* --- Formularfelder --- */
input, select, textarea{
  font:inherit; color:var(--paper);
  background:#0f0b07; border:1px solid var(--line); border-radius:9px;
  padding:.55rem .7rem; outline:none;
  transition:border-color .15s, box-shadow .15s;
}
input::placeholder, textarea::placeholder{ color:var(--muted); }
input:focus, select:focus, textarea:focus{
  border-color:var(--brass); box-shadow:0 0 0 3px rgba(207,154,69,.18);
}
textarea{ min-height:92px; resize:vertical; }
select{ appearance:none; -webkit-appearance:none; padding-right:2rem;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:calc(100% - 18px) 55%, calc(100% - 13px) 55%;
  background-size:5px 5px, 5px 5px; background-repeat:no-repeat;
}
/* Radio/Checkbox NICHT als Textfeld-Box rendern (sonst Padding/Rahmen ->
   verrutschte Ja/Nein-Optionen). Native Darstellung zurückholen. */
input[type=checkbox], input[type=radio]{
  appearance:auto; -webkit-appearance:auto; accent-color:var(--brass);
  width:auto; margin:0; padding:0; border:0; background:none; border-radius:0;
  box-shadow:none; vertical-align:middle; flex:0 0 auto;
}
input[type=checkbox]:focus, input[type=radio]:focus{ box-shadow:none; }
label{ color:var(--paper); }

/* --- Buttons --- */
button, .btn{
  font:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:.5rem;
  padding:.6rem 1.15rem; border-radius:10px; border:1px solid var(--line);
  background:var(--ink-2); color:var(--paper); font-weight:600;
  text-decoration:none; transition:.16s;
}
button:hover, .btn:hover{ border-color:var(--brass); text-decoration:none; }
button.primary, .btn.primary, .primary{
  background:var(--brass); border-color:var(--brass); color:var(--ink);
}
button.primary:hover, .btn.primary:hover, .primary:hover{
  background:var(--amber); border-color:var(--amber); color:var(--ink); text-decoration:none;
}

/* --- SCHUFA-/Einwilligungs-Zeile + bedingte Folgefelder --- */
.check-row{ display:flex; align-items:flex-start; gap:.55rem; margin:.7rem 0; }
.check-row input{ margin-top:.2rem; }

/* --- Öffentliche Angebots-Startseite (public_index.html) --- */
.po-angebote{ list-style:none; padding:0; margin:1.2rem 0;
  display:grid; gap:14px; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.po-angebot a{ display:block; padding:18px 20px; font-weight:600; color:var(--paper);
  background:linear-gradient(180deg,var(--ink-2),#1b150e);
  border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow);
  transition:.16s; }
.po-angebot a:hover{ border-color:var(--brass); transform:translateY(-2px); text-decoration:none; }

