/* =====================================================================
   UKW-Seefunkkurs · Stylesheet
   DSGVO: nur System-Schriften, keine externen Ressourcen, kein Tracking.
   Alle Klassen mit Präfix  ukw-  bzw.  sim-  (Simulator), um Konflikte
   mit Siquando Pro Web 10 zu vermeiden.
   ===================================================================== */

:root{
  --navy:        #0b2a4a;
  --navy-2:      #123a63;
  --navy-deep:   #07203a;
  --gold:        #c9a24a;
  --gold-soft:   #e2c987;
  --paper:       #f6f8fb;
  --ink:         #1b2733;
  --ink-soft:    #4a5a6a;
  --line:        #d8e0ea;
  --ok:          #2e7d4f;
  --warn:        #b5462f;
  --radius:      12px;
  --shadow:      0 10px 30px rgba(11,42,74,.12);
}

*{ box-sizing:border-box; }

html,body{ margin:0; padding:0; }

body{
  font-family:"Segoe UI", Tahoma, "Helvetica Neue", Arial, sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-text-size-adjust:100%;
}

.ukw-shell{ max-width:1040px; margin:0 auto; padding:0 16px; }

/* ---- Kopf / Navigation ---------------------------------------- */
.ukw-top{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px;
  padding:14px 0; border-bottom:2px solid var(--gold);
}
.ukw-brand{
  display:flex; align-items:center; gap:10px;
  font-weight:700; font-size:1.15rem; color:var(--navy);
  text-decoration:none;
}
.ukw-brand:hover{ color:var(--navy-2); }
.ukw-brand:hover small{ color:var(--navy-2); }
.ukw-brand small{ display:block; font-weight:400; font-size:.7rem; color:var(--ink-soft); }
.ukw-anchor{ color:var(--gold); font-size:1.5rem; line-height:1; }

.ukw-nav{ display:flex; flex-wrap:wrap; gap:4px; margin-left:auto; }
.ukw-nav a{
  text-decoration:none; color:var(--navy); padding:8px 12px;
  border-radius:8px; font-weight:600; font-size:.92rem;
}
.ukw-nav a:hover{ background:#eaf0f7; }
.ukw-nav a.is-current{ background:var(--navy); color:#fff; }
.ukw-nav a.is-locked{ color:#8a98a6; }
.ukw-lock{ font-size:.8em; }

.ukw-account{ display:flex; align-items:center; gap:8px; width:100%; justify-content:flex-end; }
.ukw-hi{ font-size:.9rem; color:var(--ink-soft); }
.ukw-pill{
  text-decoration:none; font-size:.85rem; font-weight:600;
  padding:6px 12px; border-radius:999px; border:1px solid var(--navy);
  color:var(--navy); background:#fff;
}
.ukw-pill:hover{ background:#eef3f9; }
.ukw-pill--gold{ background:var(--gold); border-color:var(--gold); color:#3a2c06; }
.ukw-pill--gold:hover{ background:var(--gold-soft); }

/* ---- Hauptbereich --------------------------------------------- */
.ukw-main{ padding:26px 0 40px; }

h1,h2,h3{ color:var(--navy); line-height:1.25; }
h1{ font-size:1.6rem; margin:.2em 0 .5em; }
h2{ font-size:1.25rem; }
h3{ font-size:1.05rem; margin:1.3em 0 .4em; }
a{ color:var(--navy-2); }

.ukw-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:22px 24px; box-shadow:var(--shadow); margin:0 0 20px;
}
.ukw-lead{ font-size:1.05rem; color:var(--ink-soft); }

.ukw-list{ margin:.4em 0 .8em; padding-left:1.2em; }
.ukw-list li{ margin:.3em 0; }

.ukw-table{ width:100%; border-collapse:collapse; margin:.6em 0 1em; font-size:.94rem; }
.ukw-table th,.ukw-table td{ border:1px solid var(--line); padding:7px 10px; text-align:left; vertical-align:top; }
.ukw-table th{ background:#eef3f9; color:var(--navy); }
.ukw-table--alpha td{ font-size:.9rem; }

.ukw-funk{
  background:var(--navy-deep); color:#d9e6f2; padding:12px 14px;
  border-radius:8px; font-family:Consolas,"Courier New",monospace;
  font-size:.86rem; white-space:pre-wrap; line-height:1.5;
}
.ukw-merke{
  background:#fdf4e0; border-left:4px solid var(--gold);
  padding:10px 14px; border-radius:0 8px 8px 0;
}
.ukw-tip{
  background:#eaf3ef; border-left:4px solid var(--ok);
  padding:10px 14px; border-radius:0 8px 8px 0;
}

/* ---- Lektions-Kacheln (Übersicht) ----------------------------- */
.ukw-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.ukw-tile{
  display:block; text-decoration:none; color:inherit; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px;
  box-shadow:var(--shadow); transition:transform .12s ease, border-color .12s ease;
}
.ukw-tile:hover{ transform:translateY(-2px); border-color:var(--gold); }
.ukw-tile .num{ color:var(--gold); font-weight:700; font-size:.8rem; letter-spacing:.06em; }
.ukw-tile h3{ margin:.25em 0 .35em; }
.ukw-tile p{ margin:0; color:var(--ink-soft); font-size:.9rem; }
.ukw-tile .done{ color:var(--ok); font-size:.8rem; font-weight:600; }

/* ---- Formulare ------------------------------------------------ */
.ukw-form{ max-width:420px; }
.ukw-form label{ display:block; font-weight:600; margin:.8em 0 .25em; color:var(--navy); }
.ukw-form input{
  width:100%; padding:10px 12px; border:1px solid var(--line);
  border-radius:8px; font:inherit; background:#fff;
}
.ukw-form input:focus{ outline:2px solid var(--gold); border-color:var(--gold); }
.ukw-btn{
  display:inline-block; cursor:pointer; border:0; border-radius:8px;
  background:var(--navy); color:#fff; font:inherit; font-weight:600;
  padding:11px 20px; margin-top:14px;
}
.ukw-btn:hover{ background:var(--navy-2); }
.ukw-btn--gold{ background:var(--gold); color:#3a2c06; }
.ukw-btn--gold:hover{ background:var(--gold-soft); }

.ukw-alert{ padding:11px 14px; border-radius:8px; margin:0 0 16px; font-size:.95rem; }
.ukw-alert--info{ background:#eaf0f7; border:1px solid #c6d6e8; }
.ukw-alert--ok{ background:#e7f3ec; border:1px solid #bfe0cb; color:#1d5c39; }
.ukw-alert--warn{ background:#fdeee9; border:1px solid #f3cdc0; color:#8a311d; }

/* ---- Fuß ------------------------------------------------------ */
.ukw-foot{
  border-top:1px solid var(--line); padding:18px 0 30px; margin-top:20px;
  display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between;
  color:var(--ink-soft); font-size:.82rem;
}
.ukw-foot a{ color:var(--navy-2); }

/* =====================================================================
   NOTRUF-SIMULATOR  (Präfix sim-)
   ===================================================================== */
.sim-wrap{ display:grid; grid-template-columns:1fr; gap:18px; }
@media(min-width:820px){ .sim-wrap{ grid-template-columns:300px 1fr; } }

.sim-scenarios{ display:flex; flex-direction:column; gap:8px; }
.sim-scenario{
  text-align:left; cursor:pointer; border:1px solid var(--line); background:#fff;
  border-radius:10px; padding:11px 14px; font:inherit; color:var(--ink);
  display:flex; flex-direction:column; gap:2px;
}
.sim-scenario:hover{ border-color:var(--gold); }
.sim-scenario.is-active{ border-color:var(--navy); box-shadow:0 0 0 2px rgba(11,42,74,.12) inset; }
.sim-scenario .tag{ font-weight:700; letter-spacing:.04em; }
.sim-scenario .tag.mayday{ color:#b5232a; }
.sim-scenario .tag.panpan{ color:#b5701f; }
.sim-scenario .tag.securite{ color:#1d6b8a; }
.sim-scenario .tag.info{ color:var(--navy); }
.sim-scenario small{ color:var(--ink-soft); }

/* Funkgerät */
.sim-radio{
  background:linear-gradient(180deg,var(--navy-2),var(--navy-deep));
  border-radius:18px; padding:18px; color:#cfe0f0;
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.06);
}
.sim-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.sim-ch{ display:flex; align-items:baseline; gap:8px; }
.sim-ch b{ font-size:2rem; color:#fff; font-family:Consolas,"Courier New",monospace; }
.sim-ch span{ font-size:.7rem; letter-spacing:.12em; color:var(--gold-soft); }
.sim-onair{
  font-size:.72rem; font-weight:700; letter-spacing:.12em; color:#5b6b7c;
  border:1px solid #2d4a68; border-radius:999px; padding:5px 12px;
}
.sim-onair.live{ color:#fff; background:#b5232a; border-color:#d23; animation:sim-blink 1s steps(1) infinite; }
@keyframes sim-blink{ 50%{ opacity:.45; } }

/* Display mit Lauftext */
.sim-display{
  background:#06283f; border:1px solid #1d4a6e;
  border-radius:10px; min-height:150px; padding:14px 16px; margin-bottom:14px;
  font-family:Consolas,"Courier New",monospace; font-size:1rem; line-height:1.7;
  color:#1b3a55; /* ungelesen = dunkel/schwach */
}
.sim-display .w{ color:#274a66; transition:color .05s linear; }
.sim-display .w.read{ color:#e8f2ff; }
.sim-display .w.now{ color:#ffe39a; text-shadow:0 0 8px rgba(255,200,80,.5); }
.sim-placeholder{ color:#3f627e; font-style:italic; }

/* PTT-Taste */
.sim-ptt-row{ display:flex; align-items:center; gap:14px; }
.sim-ptt{
  cursor:pointer; border:0; border-radius:14px; padding:18px 22px; min-width:170px;
  font:inherit; font-weight:800; letter-spacing:.06em; color:#3a2c06;
  background:radial-gradient(circle at 50% 30%,var(--gold-soft),var(--gold));
  box-shadow:0 6px 0 #8a6e1f, 0 10px 18px rgba(0,0,0,.35);
  transition:transform .05s ease, box-shadow .05s ease;
}
.sim-ptt:hover{ filter:brightness(1.04); }
.sim-ptt:active,.sim-ptt.pressed{
  transform:translateY(5px);
  box-shadow:0 1px 0 #8a6e1f, 0 3px 8px rgba(0,0,0,.35);
  background:radial-gradient(circle at 50% 30%,var(--gold),#b98f2c);
}
.sim-ptt:disabled{ opacity:.6; cursor:default; }
.sim-ptt small{ display:block; font-size:.66rem; font-weight:600; letter-spacing:.08em; }
.sim-mic{ font-size:1.1rem; }
.sim-hint{ color:#9fb4c9; font-size:.84rem; }

.sim-note{
  margin-top:16px; background:#fff; border:1px solid var(--line); border-radius:10px;
  padding:12px 14px; font-size:.9rem; color:var(--ink-soft);
}
.sim-note b{ color:var(--navy); }

/* ---- Quiz ----------------------------------------------------- */
.ukw-q{ border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin:0 0 14px; background:#fff; }
.ukw-q .qnr{ color:var(--gold); font-weight:700; font-size:.8rem; }
.ukw-q .qtext{ font-weight:600; color:var(--navy); margin:.2em 0 .6em; }
.ukw-opt{ display:block; padding:6px 8px; border-radius:6px; cursor:pointer; }
.ukw-opt:hover{ background:#f1f5fa; }
.ukw-opt input{ margin-right:8px; }
.ukw-opt.correct{ background:#e7f3ec; }
.ukw-opt.wrong{ background:#fdeee9; }
.ukw-reveal{ margin-top:8px; }
.ukw-reveal summary{ cursor:pointer; color:var(--navy-2); font-weight:600; }
.ukw-feedback{ margin-top:6px; font-size:.9rem; }
.ukw-feedback.ok{ color:var(--ok); }
.ukw-feedback.no{ color:var(--warn); }

.ukw-score{
  text-align:center; background:var(--navy); color:#fff; border-radius:12px;
  padding:20px; margin:0 0 18px;
}
.ukw-score .big{ font-size:2.4rem; font-weight:800; color:var(--gold-soft); }

/* Sichtbarer Tastatur-Fokus (Barrierefreiheit) */
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible{
  outline:3px solid var(--gold); outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  .sim-onair.live{ animation:none; }
  .ukw-tile{ transition:none; }
}

/* =====================================================================
   Pakete, Bestellung, Zugangs-Laufzeit, Admin-Navigation
   ===================================================================== */

/* Zwei-Spalten-Zeile in Formularen (Registrierung) */
.ukw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
@media (max-width:540px){.ukw-form-row{grid-template-columns:1fr;}}

/* Consent-/Inline-Checkbox */
.ukw-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;
  font-size:.92rem;color:var(--ink-soft);line-height:1.45;}
.ukw-check input{margin-top:3px;flex:0 0 auto;}
.ukw-check--inline{display:inline-flex;align-items:center;gap:6px;margin:0;}

/* Paketauswahl als Karten */
.ukw-pakete{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;margin-top:8px;}
.ukw-paket{position:relative;display:block;cursor:pointer;}
.ukw-paket input{position:absolute;opacity:0;pointer-events:none;}
.ukw-paket-body{display:flex;flex-direction:column;gap:4px;align-items:center;
  text-align:center;border:2px solid var(--line);border-radius:var(--radius);
  padding:16px 12px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.ukw-paket:hover .ukw-paket-body{border-color:var(--gold-soft);}
.ukw-paket input:checked + .ukw-paket-body{border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,74,.18);}
.ukw-paket-titel{font-weight:700;color:var(--navy);}
.ukw-paket-tage{color:var(--ink-soft);font-size:.88rem;}
.ukw-paket-preis{color:var(--gold);font-weight:800;font-size:1.25rem;margin-top:2px;}

/* Prominente Resttage-Anzeige auf der Startseite */
.ukw-restzeit{background:#fdf6e3;border:1px solid var(--gold);
  border-left:5px solid var(--gold);color:var(--navy);
  padding:14px 16px;border-radius:var(--radius);font-size:1.06rem;
  margin:2px 0 16px;}
.ukw-restzeit strong{color:var(--navy);}

/* Resttage-Badge oben rechts */
.ukw-days{display:inline-block;background:var(--gold);color:var(--navy);
  font-weight:700;font-size:.82rem;padding:4px 11px;border-radius:999px;
  white-space:nowrap;}

/* Admin-Unter-Navigation */
.ukw-adminnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.ukw-adminnav .is-current{background:var(--gold);color:var(--navy);border-color:var(--gold);}

/* Inline-Formular „Neues Paket" + Eingaben in Admin-Tabellen */
.ukw-paketform{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 18px;}
.ukw-paketform input[type=text],.ukw-paketform input[type=number],
.ukw-table input[type=text],.ukw-table input[type=number]{
  padding:7px 9px;border:1px solid var(--line);border-radius:8px;font:inherit;
  background:#fff;color:var(--ink);}

/* =====================================================================
   Zustimmungs-Box (Registrierung) + Rechtstexte
   ===================================================================== */
/* Checkboxen/Radios im Formular nicht auf volle Breite ziehen */
.ukw-form input[type=checkbox],
.ukw-form input[type=radio]{ width:auto; }

/* Zustimmungs-Box */
.ukw-consent{display:flex;gap:12px;align-items:flex-start;
  background:#fdf6e3;border:1px solid var(--gold);border-radius:var(--radius);
  padding:14px 16px;margin:18px 0;}
.ukw-consent input{margin:2px 0 0;flex:0 0 auto;width:18px;height:18px;cursor:pointer;}
.ukw-consent label{margin:0;font-weight:400;color:var(--ink);line-height:1.5;cursor:pointer;}

/* Rechtstexte (Datenschutz / Teilnahmebedingungen) */
.ukw-legal{max-width:820px;}
.ukw-legal h2{color:var(--navy-2);font-size:1.06rem;margin:1.5em 0 .3em;}
.ukw-legal ul{margin:.4em 0 .6em 1.1em;}
.ukw-legal p{margin:.5em 0;}
.ukw-ph{background:#ffe9e6;border-radius:4px;padding:0 4px;font-weight:600;}
