/* ============================================
   Hambound 2026 – Global Typography & Basics
   ============================================ */

/* Basis: moderne Systemschrift, schwarze Schrift, clean */
body,
body * {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: #000000 !important;
  box-shadow: none;
}

/* Grundtypografie */
body {
  font-size: 16px;
  line-height: 1.6;
}

/* Überschriften – Desktop */
h1 {
  font-size: 30px;
  font-weight: 650;
  line-height: 1.2;
}

h2 {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
}

h3 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

/* Fließtext & Listen */
p,
li {
  font-size: 16px;
  line-height: 1.6;
}

/* Links schlicht, aber klar */
a {
  color: #000000 !important;
  text-decoration: none;
}

a:hover,
a:focus {
  text-decoration: underline;
}

/* Formularlabels von Ultimate Member */
.um .um-field-label,
.um .um-field-label label {
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* UM Inputs: gut lesbar & touch-freundlich */
.um input[type="text"],
.um input[type="email"],
.um input[type="password"],
.um select,
.um textarea {
  font-size: 16px !important;
}


/* ============================================
   Hambound 2026 – Account Page (page-id-1345)
   ============================================ */

/* Layout – zentriert, gute Breite für Desktop */
body.page-id-1345 .entry-content {
  max-width: 720px;
  margin: 0 auto 64px auto;
  padding: 20px 16px 40px 16px;
}

/* Headings & Text speziell auf der Account-Seite */
body.page-id-1345 h1 {
  font-size: 28px;
  font-weight: 700;
  margin: 1.5rem 0 0.75rem;
  letter-spacing: 0.2px;
}

body.page-id-1345 h2 {
  font-size: 20px;
  font-weight: 600;
  margin: 1.6rem 0 0.8rem;
}

body.page-id-1345 h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 1.3rem 0 0.75rem;
}

body.page-id-1345 p {
  font-size: 15px;
  margin: 0.25rem 0;
}

body.page-id-1345 p + p {
  margin-top: 0.15rem;
}

/* Optionaler Intro-Text */
body.page-id-1345 .hb-intro {
  margin: 0 0 1rem 0;
  font-size: 15px;
  line-height: 1.6;
}

/* Karten (Status, Strecke, Cancel, Konto) – mobile first */
body.page-id-1345 .hb-card,
body.page-id-1345 .um-account,
body.page-id-1345 .um.um-account,
body.page-id-1345 .um-form {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  padding: 18px 16px;
  margin: 12px 0 16px;
}

/* Etwas mehr Luft zwischen Blöcken auf Desktop */
@media (min-width: 768px) {
  body.page-id-1345 .hb-card,
  body.page-id-1345 .um-account,
  body.page-id-1345 .um.um-account,
  body.page-id-1345 .um-form {
    padding: 22px 24px;
    margin: 16px 0 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
  }

  body.page-id-1345 .hb-card + .hb-card,
  body.page-id-1345 .hb-card + .um-account,
  body.page-id-1345 .um-account + .hb-card {
    margin-top: 28px;
  }
}

/* Status-Badge */
body.page-id-1345 .hb-status {
  background: #e7f9ee;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 14px;
  line-height: 1.4;
  display: inline-block;
}

body.page-id-1345 .hb-status strong {
  color: #0f766e;
}

body.page-id-1345 .hb-status-row {
  margin: 16px 0 12px 0;
}

/* Strecke wählen */
body.page-id-1345 .hb-route-form label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 0.35rem;
}

body.page-id-1345 .hb-route-form select {
  width: 100%;
  max-width: 380px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  font-size: 15px;
  background: #ffffff;
}

/* Feedback-Text unter Strecke */
body.page-id-1345 .hb-feedback {
  margin-top: 8px;
  font-size: 14px;
}

/* Teilnahme zurückziehen Text */
body.page-id-1345 .hb-cancel-form .help {
  margin: 0 0 0.6rem 0;
  font-size: 14px;
  max-width: 620px;
}

body.page-id-1345 .hb-delete-section {
  margin: 22px 0 12px;
}

/* Buttons – einheitlich, modern, mobile-freundlich */
body.page-id-1345 .button,
body.page-id-1345 button,
body.page-id-1345 input[type="submit"],
body.page-id-1345 .um-button,
body.page-id-1345 .um input[type="submit"],
body.page-id-1345 .hb-account-logout,
body.page-id-1345 .hb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.5rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.06s ease;
  text-transform: none;
}

/* Desktop: leichte Shadow */
@media (min-width: 768px) {
  body.page-id-1345 .button,
  body.page-id-1345 button,
  body.page-id-1345 input[type="submit"],
  body.page-id-1345 .um-button,
  body.page-id-1345 .hb-account-logout,
  body.page-id-1345 .hb-btn {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }
}

body.page-id-1345 .button:active,
body.page-id-1345 button:active,
body.page-id-1345 input[type="submit"]:active,
body.page-id-1345 .um-button:active,
body.page-id-1345 .hb-account-logout:active {
  transform: translateY(1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Primäre Buttons – grün, aber dezent */
body.page-id-1345 .button,
body.page-id-1345 button,
body.page-id-1345 input[type="submit"],
body.page-id-1345 .um-button {
  background: #0c7c59;
  border-color: #0c7c59;
  color: #ffffff !important;
}

body.page-id-1345 .button:hover,
body.page-id-1345 button:hover,
body.page-id-1345 input[type="submit"]:hover,
body.page-id-1345 .um-button:hover {
  background: #0a6548;
  border-color: #0a6548;
}

/* Danger-Button – Teilnahme zurückziehen */
body.page-id-1345 .hb-cancel-form button[type="submit"],
body.page-id-1345 .hb-btn-danger {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

body.page-id-1345 .hb-cancel-form button[type="submit"]:hover,
body.page-id-1345 .hb-btn-danger:hover {
  background: #991b1b !important;
  border-color: #991b1b !important;
}

/* Logout Button – invertiert */
body.page-id-1345 .hb-account-logout {
  background: #ffffff !important;
  border-color: #111111 !important;
  color: #111111 !important;
  box-shadow: none;
  margin-top: 24px;
}

body.page-id-1345 .hb-account-logout:hover {
  background: #111111 !important;
  color: #ffffff !important;
}

body.page-id-1345 .hb-account-logout-wrap {
  text-align: left;
  margin-top: 10px;
}

/* Ultimate Member – Kontoformular vereinfachen */

/* Navigation/Sidebars/Meta ausblenden nur auf dieser Seite */
body.page-id-1345 .um-account-nav,
body.page-id-1345 .um-account-side,
body.page-id-1345 .um-account-meta {
  display: none !important;
}

/* Hauptbereich 100% Breite */
body.page-id-1345 .um-account .um-account-main {
  width: 100%;
}

/* Feldabstände */
body.page-id-1345 .um .um-field {
  margin-bottom: 12px;
}

/* Labels */
body.page-id-1345 .um .um-field-label {
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 4px;
}

/* Inputs (auch UM-Felder) */
body.page-id-1345 input[type="text"],
body.page-id-1345 input[type="email"],
body.page-id-1345 input[type="password"],
body.page-id-1345 input[type="url"],
body.page-id-1345 input[type="tel"],
body.page-id-1345 select,
body.page-id-1345 textarea {
  width: 100%;
  box-sizing: border-box;
  height: 44px;
  border-radius: 10px;
  border: 1px solid #dddddd;
  padding: 0 12px;
  font-size: 14px;
  background: #ffffff;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

/* Fokuszustand */
body.page-id-1345 input[type="text"]:focus,
body.page-id-1345 input[type="email"]:focus,
body.page-id-1345 input[type="password"]:focus,
body.page-id-1345 input[type="url"]:focus,
body.page-id-1345 input[type="tel"]:focus,
body.page-id-1345 select:focus,
body.page-id-1345 textarea:focus {
  outline: none;
  border-color: #0c7c59;
  box-shadow: 0 0 0 2px rgba(12, 124, 89, 0.18);
}

/* Username-Feld leicht absetzen */
body.page-id-1345 .um-field-username {
  margin-top: 10px;
}

/* UM-Form-Überschrift verstecken, wir nutzen nur das Seiten-H1 */
body.page-id-1345 .um .um-account .um-form h3 {
  display: none;
}

/* Tabs für Passwort / Privacy / Delete entfernen */
body.page-id-1345 .um-account a[data-tab="password"],
body.page-id-1345 .um-account a[data-tab="privacy"],
body.page-id-1345 .um-account a[data-tab="delete"],
body.page-id-1345 .um-account .um-account-tab[data-tab="password"],
body.page-id-1345 .um-account .um-account-tab[data-tab="privacy"],
body.page-id-1345 .um-account .um-account-tab[data-tab="delete"] {
  display: none !important;
}

/* Konto-Heading (Icon + Text) in einer Linie */
body.page-id-1345 .um-account-main .um-account-heading {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Mobile-Finetuning */
@media (max-width: 600px) {
  body.page-id-1345 .entry-content {
    padding: 16px 12px 32px 12px;
  }

  body.page-id-1345 h1 {
    font-size: 24px;
  }

  body.page-id-1345 h2 {
    font-size: 18px;
  }

  body.page-id-1345 h3 {
    font-size: 16px;
  }

  body.page-id-1345 .hb-card,
  body.page-id-1345 .um-account,
  body.page-id-1345 .um.um-account,
  body.page-id-1345 .um-form {
    padding: 16px 14px;
    margin: 10px 0 14px;
    box-shadow: none;
  }

  body.page-id-1345 .button,
  body.page-id-1345 button,
  body.page-id-1345 input[type="submit"],
  body.page-id-1345 .um-button,
  body.page-id-1345 .hb-account-logout,
  body.page-id-1345 .hb-btn {
    width: 100%;
  }
}
