/**
 * CVG User-Treffen – Frontend 0.1.2
 * Nur Plugin-Elemente gestalten, niemals die allgemeine WordPress-Seite.
 * Nutzt die bereits im CVG-Theme eingebundenen Schriften: Oxanium und Exo 2.
 * Es werden keine externen Schrift- oder CSS-Dienste angesprochen.
 */

/* Grundlayout: weder Header/Navigation noch die übrigen Seiten beeinflussen. */
.cvgut-wrap,
.cvgut-direct-page {
  font-family: "Exo 2", "Trebuchet MS", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
.cvgut-wrap {
  max-width: 860px;
  margin: 1.15rem auto;
  color: inherit;
}
.cvgut-wrap *,
.cvgut-wrap *::before,
.cvgut-wrap *::after {
  box-sizing: border-box;
}
.cvgut-direct-page {
  width: 100%;
  max-width: 940px !important;
  margin: 1.5rem auto !important;
  padding: 0 16px !important;
}
/* Bisher war die separate Bearbeitungsseite nur mit unformatierter h1 versehen. */
.cvgut-direct-page > h1.cvgut-direct-title {
  font-family: "Oxanium", "Trebuchet MS", Arial, sans-serif !important;
  font-size: clamp(25px, 3vw, 32px) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .01em;
  color: #f8faff !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

/* Formularkarte und Zwischentitel. */
.cvgut-wrap .cvgut-panel {
  border: 1px solid rgba(125,157,190,.37);
  border-radius: 12px;
  padding: clamp(16px, 2.3vw, 23px);
  background: #102132;
  color: #f2f6fb;
  font-family: "Exo 2", "Trebuchet MS", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
.cvgut-wrap h3 {
  font-family: "Oxanium", "Trebuchet MS", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  color: #ffad57;
  margin: 0 0 13px !important;
}
.cvgut-wrap p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 14px;
}
.cvgut-wrap .cvgut-panel > p:last-child,
.cvgut-wrap .cvgut-panel > form:last-child {
  margin-bottom: 0;
}
.cvgut-wrap .cvgut-panel form.cvgut-submit {
  display: grid;
  gap: 13px;
  margin: 0;
}
/* Block-Labels lassen Sternchen direkt hinter dem Feldnamen statt in einer Extrazeile. */
.cvgut-wrap .cvgut-panel form > label,
.cvgut-wrap .cvgut-panel .cvgut-confirm > label,
.cvgut-wrap .cvgut-panel > label {
  display: block;
  margin: 0;
  font-family: "Exo 2", "Trebuchet MS", Arial, sans-serif;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.4;
  color: #f2f6fb;
}
.cvgut-wrap .cvgut-panel label > span[aria-hidden="true"] {
  display: inline;
  margin-left: 2px;
  color: #ffbf7e;
}
.cvgut-wrap .cvgut-panel input:not([type="checkbox"]),
.cvgut-wrap .cvgut-panel select,
.cvgut-wrap .cvgut-panel textarea {
  display: block;
  width: 100%;
  min-height: 42px;
  margin: 6px 0 0;
  padding: 9px 12px;
  background: #fff;
  color: #142336;
  border: 1px solid #b5c6d5;
  border-radius: 6px;
  font-family: "Exo 2", "Trebuchet MS", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: normal;
}
.cvgut-wrap .cvgut-panel textarea {
  min-height: 78px;
  resize: vertical;
}
.cvgut-wrap .cvgut-panel input:not([type="checkbox"]):focus-visible,
.cvgut-wrap .cvgut-panel select:focus-visible,
.cvgut-wrap .cvgut-panel textarea:focus-visible {
  outline: 3px solid #ffb56e;
  outline-offset: 2px;
}
.cvgut-wrap .cvgut-panel small,
.cvgut-wrap .cvgut-small {
  display: block;
  margin-top: 5px;
  font-family: "Exo 2", "Trebuchet MS", Arial, sans-serif;
  color: #d8e1e9;
  font-size: 13px !important;
  font-weight: 400;
  line-height: 1.45;
}
.cvgut-wrap .cvgut-panel label.cvgut-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: "Exo 2", "Trebuchet MS", Arial, sans-serif;
  color: #f2f6fb;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.45;
}
.cvgut-wrap .cvgut-check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 3px 0 0;
  accent-color: #e8893a;
}
.cvgut-wrap .cvgut-check span {
  flex: 1;
  min-width: 0;
}

/* Schaltflächen nur im CVG-Plugin. */
.cvgut-wrap .cvgut-panel button,
.cvgut-wrap .cvgut-button {
  display: inline-block;
  width: auto;
  min-height: 43px;
  border: 0;
  border-radius: 7px;
  padding: 10px 16px;
  background: #e8893a;
  color: #161b21 !important;
  font-family: "Oxanium", "Trebuchet MS", Arial, sans-serif;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  cursor: pointer;
  text-decoration: none !important;
}
.cvgut-wrap .cvgut-panel button:hover,
.cvgut-wrap .cvgut-button:hover {
  background: #ffab63;
}
.cvgut-wrap .cvgut-panel button:focus-visible,
.cvgut-wrap .cvgut-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
.cvgut-wrap .cvgut-panel button:disabled { opacity: .65; cursor: wait; }
.cvgut-wrap .cvgut-panel .cvgut-submit > button[type="submit"],
.cvgut-wrap .cvgut-panel .cvgut-cancel > button[type="submit"] { width: 100%; }
.cvgut-wrap .cvgut-panel .cvgut-danger {
  background: #f1d4cf;
  color: #6b241b !important;
}
.cvgut-wrap .cvgut-panel .cvgut-danger:hover { background: #ffe3db; }
.cvgut-wrap .cvgut-panel form.cvgut-cancel {
  border-top: 1px solid rgba(255,255,255,.2);
  margin-top: 17px;
  padding-top: 15px;
}
.cvgut-wrap .cvgut-cancel small { margin-top: 9px; }
.cvgut-wrap .cvgut-confirm > p:has(.cvgut-button) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cvgut-wrap .cvgut-confirm > p:has(.cvgut-button) button,
.cvgut-wrap .cvgut-confirm > p:has(.cvgut-button) a { margin: 0; }
.cvgut-wrap .cvgut-confirm input[readonly] {
  font-family: ui-monospace, "Cascadia Code", Consolas, monospace !important;
  font-size: 13px !important;
  letter-spacing: 0;
}

/* Statusmeldungen und Archivliste. */
.cvgut-wrap .cvgut-alert,
.cvgut-wrap .cvgut-success {
  padding: 12px 15px;
  border-radius: 6px;
  line-height: 1.45;
}
.cvgut-wrap .cvgut-alert { background: #ffdbd4; color: #5e1711; }
.cvgut-wrap .cvgut-success { background: #d6f7e2; color: #0c4921; }
.cvgut-wrap .cvgut-trap {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.cvgut-wrap.cvgut-list { max-width: 100%; }
.cvgut-wrap.cvgut-list table { width: 100%; border-collapse: collapse; }
.cvgut-wrap.cvgut-list th,
.cvgut-wrap.cvgut-list td {
  padding: 10px 9px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(125,157,177,.3);
  font-family: "Exo 2", "Trebuchet MS", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.cvgut-wrap.cvgut-list th {
  font-family: "Oxanium", "Trebuchet MS", Arial, sans-serif;
  font-weight: 600;
}

@media (max-width: 640px) {
  .cvgut-direct-page { margin: 1rem auto !important; padding: 0 12px !important; }
  .cvgut-direct-page > h1.cvgut-direct-title { font-size: 25px !important; margin-bottom: 12px !important; }
  .cvgut-wrap { margin: 12px auto; }
  .cvgut-wrap .cvgut-panel { padding: 15px; }
  .cvgut-wrap h3 { font-size: 18px !important; }
  .cvgut-wrap .cvgut-panel form.cvgut-submit { gap: 12px; }
  .cvgut-wrap .cvgut-confirm > p:has(.cvgut-button) { display: grid; }
  .cvgut-wrap .cvgut-confirm > p:has(.cvgut-button) button,
  .cvgut-wrap .cvgut-confirm > p:has(.cvgut-button) a { width: 100%; }
  .cvgut-wrap.cvgut-list th,
  .cvgut-wrap.cvgut-list td { padding: 9px 5px; font-size: 14px; }
}

/* Contest: gleiche Schrift und Farben wie die restliche Anmeldung. */
.cvgut-contest .cvgut-contest-title,
.cvgut-contest .cvgut-contest-description { margin: .45rem 0 0; white-space: normal; }
.cvgut-contest .cvgut-contest-title { font-weight: 700; }
