/* =========================
   MTB Events – optimiert
   (gleiches Erscheinungsbild)
   ========================= */

/* Design-Token */
:root {
  /* aus Block 1 */
  --mtb-gap: 28px;
  --mtb-radius: 10px;
  --mtb-card-pad-x: 24px;
  --mtb-card-pad-y: 32px;
  --mtb-card-pad-b: 28px;
  --mtb-border: #e6e2d9;
  --mtb-bg-img: #eaeef2;
  --mtb-text: #000;
  --mtb-muted: #9aa3ad;

  /* aus Block 2 (TYPO & VARIABLEN) */
  --primary:       #789D70;
  --primary-dark:  #00553B;
  --accent:        #1492A1;
  --bg-light:      #F4F4F4;
  --border:        #D1D5DB;
  --text:          #2E3A59;
  --spacing:       0.5rem;
  --font-base:     'Onest', sans-serif;
  --font-head:     'Joyride', sans-serif;
}

/* === Grid-Layout & gleich hohe Karten === */
.mtb-events-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* Desktop: 4 Spalten */
  gap: var(--mtb-gap);
  justify-content: center;
  align-items: stretch;
  margin: 0;
  padding: 0;
}

/* Tablet (max. 1024px) → 2 Spalten */
@media (max-width: 1024px) {
  .mtb-events-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile (max. 600px) → 1 Spalte */
@media (max-width: 600px) {
  .mtb-events-grid {
    grid-template-columns: 1fr;
  }
}

.event-card {
  min-width: 240px;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: transparent;
}

/* === Bildbereich 3:2, zentriert === */
.image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--mtb-bg-img);
}

/* Solider Fallback, nur wenn aspect-ratio fehlt */
@supports not (aspect-ratio: 3 / 2) {
  .image-wrapper::before {
    content: "";
    display: block;
    padding-top: 66.6667%; /* 3:2 */
  }
  .image-wrapper { height: auto; }
}

/* Bild sauber einpassen, Render-Gaps vermeiden */
.image-wrapper > .event-thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;          /* vermeidet whitespace-gap unter img */
  object-fit: cover;
  object-position: center;
}

/* === Datum-Badge oben links === */
.date-overlay {
  position: absolute;
  top: 0; left: 0;
  background: #000;
  color: #fff;
  padding: 6px 10px;
  border-radius: 0 0 8px 0;
  line-height: 1.1;
  font-weight: 700;
  min-width: 44px;
  text-align: center;
}
.date-overlay .month {
  display: block;
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.date-overlay .day {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
}
.date-overlay--tba {
  display: flex;
  align-items: center;
  min-height: 50px;
}

/* === Inhalt (weißes Panel) === */
.text-content {
  background: #fff;
  padding: var(--mtb-card-pad-y) var(--mtb-card-pad-x) var(--mtb-card-pad-b);
  border-bottom-left-radius: var(--mtb-radius);
  border-bottom-right-radius: var(--mtb-radius);
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  color: var(--mtb-text);
}

/* Kategorie (klein, grau, uppercase) */
.event-category {
  margin: 0 0 8px;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--mtb-muted);
  text-transform: uppercase;
}

/* Titel */
.text-content h4 {
  margin: 0 0 14px;
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: 700;
  color: #1a1f24;
}

.elementor-button-custom {
  background-color: rgba(0,0,0,0) !important;
  fill: var(--e-global-color-primary) !important;
  color: var(--e-global-color-primary) !important;
  border-style: solid !important;
  border-width: 1px 1px 1px 1px !important;
  border-color: #F1F4F0 !important;
  border-radius: 0px 0px 0px 0px !important;
}

/* Datum & Ort */
.event-date {
  margin: 0 0 10px;
  font-size: 0.9rem;
  font-weight: 800;
  color: #000;
}
.event-card--tba .event-date,
.mtb-events-list-item--tba .list-date-time {
  font-size: 1.125rem;
  font-weight: 400;
  color: #000;
  margin-bottom: 28px;
}
.event-location {
  margin: 0 0 28px;
  font-size: 1.125rem;
  font-weight: 400;
  color: #000;
}

/* CTA-Button unten bündig und wie im Screenshot */
.event-button {
  display: inline-block;
  margin: 0 auto;
  padding: .55rem 1.25rem;
  font-size: .95rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  color: #000;
  background: #fff;
  border: 1px solid var(--mtb-border);
  border-radius: 2px;
  transition: transform .08s ease, box-shadow .08s ease;
}

/* Tastatur- & Reduzierte-Animationen */
.event-button:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .event-button { transition: none; }
}

/* CTA immer nach unten drücken */
.event-button-wrap {
  margin-top: auto;
  padding-top: 1rem;
  text-align: center;
}

/* === List-Ansicht (optional) === */
.mtb-events-list { margin: 0; padding: 0; }
.mtb-events-list-item {
  display: grid;
  grid-template-columns: 80px 1fr 220px;
  gap: 24px;
  align-items: start;
  padding: 1.5rem 0;
  border-bottom: 1px solid #eee;
}
.list-date-block .list-day-num { font-size: 1.5rem; font-weight: 800; }
.list-details .list-date-time { font-weight: 700; margin-bottom: .5rem; }
.list-details .list-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #222;
  text-decoration: none;
  margin-bottom: .75rem;
}
@media (max-width: 900px) {
  .mtb-events-list-item { grid-template-columns: 60px 1fr; }
}

/* ===========================
   MTB Bautage – Styling
   =========================== */

.mtb-bautage-wrapper { position: relative; }

/* Header rechts bleibt wie gehabt – nur Abstände sicherstellen */
.mtb-bautage-wrapper .bautage-header h5 {
  margin: 0 0 1.25rem 0;
  line-height: 1.2;
  text-align: right;
  font-weight: 700;
}

/* Monatskopf (z. B. "Mai" + Linie) */
.mtb-bautage-wrapper .bautage-month-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0.25rem 0 1.25rem;
}
.mtb-bautage-wrapper .bautage-month-header .label {
  font-weight: 700;
  font-size: 1.25rem;
}
.mtb-bautage-wrapper .bautage-month-header .line {
  flex: 1 1 auto;
  height: 2px;
  background: #c78a51; /* deine Akzentfarbe */
}

/* Liste */
.mtb-bautage-wrapper .bautage-events {
  display: grid;
  gap: 1rem;
}

/* Event-Zeile */
.mtb-bautage-wrapper .bautage-event {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 2.5rem;
  padding: 1rem 0 1.1rem;
}

/* dünne Linie oben je Event (wie im Screenshot) */
.mtb-bautage-wrapper .bautage-event::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0.1rem;
  height: 2px;
  background: #c78a51;
}

/* Datumskachel links */
.mtb-bautage-wrapper .date-badge {
  background: #c78a51;
  color: #fff;
  border-radius: 0 0 10px 10px;
  padding: 0.6rem 1rem;
  min-width: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -50px;
}
.mtb-bautage-wrapper .date-badge .day {
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1;
}

/* Info (Titel + Meta) */
.mtb-bautage-wrapper .info h3 {
  margin: 0 0 0.35rem 0;
  font-weight: 800;
  font-size: 1.3rem;
}
.mtb-bautage-wrapper .info .meta {
  font-size: 0.95rem;
  line-height: 1.35;
  color: #333;
}
.mtb-bautage-wrapper .info .meta .time,
.mtb-bautage-wrapper .info .meta .location {
  font-weight: 400;
}

.mtb-bautage-wrapper .info .meta .time {
  font-weight: 700;
}

/* Button rechts */
.mtb-bautage-wrapper .btn-anmelden {
  text-decoration: none;
  padding: 0.45rem 0.85rem;
  border: 1px solid #d7cfc1;
  border-radius: 2px;
  background: #fff;
  color: #1a1a1a;
  font-size: 0.9rem;
  white-space: nowrap;
}
.mtb-bautage-wrapper .btn-anmelden:hover {
  filter: brightness(0.96);
}

/* Footer-Navigation (April — Juni) */
.mtb-bautage-wrapper .bautage-month-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1.25rem;
}
.mtb-bautage-wrapper .bautage-month-footer .footer-line {
  flex: 1 1 auto;
  height: 2px;
  background: #c78a51;
}
.mtb-bautage-wrapper .bautage-month-footer .prev,
.mtb-bautage-wrapper .bautage-month-footer .next {
  color: #c78a51;
  text-decoration: none;
  font-weight: 700;
}


/* Standard: mobiler Badge unsichtbar, Desktop-Badge sichtbar */
.mtb-ev-slot-you-mobile { display: none; }

/* Responsive Feinschliff */
@media (max-width: 640px) {
  .mtb-bautage-wrapper .bautage-event {
    grid-template-columns: auto 1fr;
  }
  .mtb-bautage-wrapper .btn-anmelden {
    grid-column: 1 / -1;
    justify-self: end;
    margin-top: 0.5rem;
  }
  .mtb-ev-slot-time .mtb-ev-slot-you { display: none; }
  .mtb-ev-slot-you-mobile {
    display: inline-block;
    margin-left: .35rem;
    font-size: .9em;
    font-weight: 600;
    white-space: nowrap;
  }
}

/*-------------------------------------
   GLOBAL FORMS & CSS
-------------------------------------*/

/*-------------------------------------
   FORMULARE
-------------------------------------*/
.form-container {
  background: #fff;
  padding: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  margin: 2rem auto;
  position: relative;
}

/*
.form-row,
.form-row-inline {
  margin-bottom: var(--spacing);
}
*/

.form-row-inline {
  display: flex;
  gap: var(--spacing);
}
.form-row-inline .form-row {
  width: 50%;
  flex: 1;
}
.form-row-inline .form-row .form-input {
	width: 100%;
}

.form-row-plz-ort {
	margin-bottom: 0 !important;
}

.form-fieldset,
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
	margin-bottom: var(--spacing);
	border:1px solid var(--border) !important;
/*	border-radius: var(--radius) !important; */
}

.form-row label,
.form-row-inline label {
  display:block;
  margin-bottom:.5rem;
  font-family: var(--font-head);
  font-size:.875rem;
  font-weight:600;
  color: var(--text);
  text-transform: uppercase;
}

.form-input,
textarea.form-input {
  width:100%;
  padding:.75rem;
  border:1px solid var(--border) !important;
  border-radius: var(--radius);
  font-family: var(--font-base);
  font-size:1rem;
  color: var(--text);
  box-sizing:border-box;
  transition:border-color .2s ease;
  margin-bottom: 24px;
}

.form-input:focus,
textarea.form-input:focus {
  outline:none;
  border-color: var(--primary);
}

.form-checkbox,
.form-radio {
  accent-color: var(--primary);
  margin-right:.5rem;
  vertical-align:middle;
}

.form-button,
.form-submit {
  background: var(--primary);
  color: #fff;
  font-family: var(--font-head);
  font-size:1rem;
  font-weight:600;
  padding:.75rem 1.5rem;
  border:none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background .2s, transform .1s;
  display:inline-block;
}

.form-button:hover,
.form-submit:hover {
  background: var(--primary-dark);
  transform: translateY(-1px);
}

.alert {
  font-family: var(--font-base);
  font-size:.9rem;
  padding:.75rem 1rem;
  border-radius: var(--radius);
  margin-bottom: var(--spacing);
}

.alert-success {
  background:#E6F4EA;
  border:1px solid #A8D5B1;
  color:#276738;
}

.alert-error {
  background:#FDECEA;
  border:1px solid #F5C2C0;
  color:#9A2617;
}

/*-------------------------------------
   GRID & CARDS für Lost-&-Found
-------------------------------------*/
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px,1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.card {
  background: #fff;
  transition: transform .2s, box-shadow .2s;
  overflow: hidden;
}

.card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.card-image img {
	display:block;
	width:100%;
	height:auto;
	margin:0;
	padding:0;
}

.card-title {
  margin:.5rem 0 1rem;
}

.card-content {
	padding:1rem;
}

.card-meta,
.card-body p {
  margin:.25rem 0;
}

form [type=button],
form [type=submit],
form button {
  border: 1px solid #E8E3D7 !important;
  color: #000 !important;
  margin-top: 16px;
  border-radius: 2px !important;
  padding: 8px 20px !important;
  font-weight: bold !important;
}

form [type=button]:focus,
form [type=button]:hover,
form [type=submit]:focus,
form [type=submit]:hover,
form button:focus,
form button:hover,
.mtb-ev-primary:hover {
	background-color: #fff !important;
    color: #000 !important;
    transform: none !important;
    border: 1px solid #e8e3d7 !important
}

.contact-button {
    display: inline-block;
    text-align: center;
    margin: 0 auto;
    font-weight: 700;
    color: black;
    border: 1px solid #E8E3D7;
    background: transparent;
    text-decoration: none;
    transition: all .2s ease;
    border-radius: 2px !important;
	padding: 8px 20px !important;
	font-weight: bold !important;
}

/* Angemeldeter Benutzer */
.mtb-ev-row--mine {
  background: rgba(120, 157, 112, 0.2); /* sanftes grün */
}

.mtb-ev-slot-you {
  font-weight: 700;
  color: rgba(120, 157, 112, 1);
  margin-left: 4px;
  font-size: 0.9em;
}


.wrapper-volunteers #content {
	margin-bottom: 60px;
	background-color: #FFF;
	padding: 48px;
}
div.wrapper-volunteers.page-header {
	margin-top: 265px;
}

.mtb-ev-card{background:#fff;border:1px solid #e5e7eb;border-radius:2px;padding:20px;margin:32px 0}
.mtb-ev-link{color:#000 !important;text-decoration:underline !important}
.mtb-ev-link:hover{color:#000 !important;text-decoration:underline !important}
.mtb-ev-actions{display:flex;gap:8px}
/* verhindert, dass alte Backdrops Klicks blockieren */
.mtb-reg-toast-backdrop{display:none!important;pointer-events:none!important;background:transparent!important;}

.mtb-ev-wrap{background-color:#fff;}
.mtb-ev-task{margin-bottom: 48px;}
.mtb-ev-task-title{margin:0 0 8px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap; font-family: "Onest", sans-serif; font-weight: 700;}

/* Tabellen */
.mtb-ev-slots{width:100%;border-collapse:collapse;table-layout:fixed}
.mtb-ev-slots col.col-time{width:28%}
.mtb-ev-slots col.col-activity{width:28%}
.mtb-ev-slots col.col-cap{width:12%}
.mtb-ev-slots col.col-taken{width:12%}
.mtb-ev-slots col.col-free{width:12%}
.mtb-ev-slots col.col-action{width:20%}
.mtb-ev-slots th,.mtb-ev-slots td{border:1px solid #e5e5e5;padding:8px;text-align:left;word-wrap:break-word;overflow-wrap:anywhere}

.mtb-ev-form input[type=text],.mtb-ev-form input[type=email],.mtb-ev-form textarea,.mtb-ev-form select{width:100%}
.mtb-ev-msg{padding:10px;border-radius:2px;margin:10px 0}
.mtb-ev-msg.success{background:#e9f8ee;border:1px solid #bfe8cc}
.mtb-ev-msg.error{background:#fdecea;border:1px solid #f5c2be}
.mtb-ev-msg.notice{background:#eef5ff;border:1px solid #c7dbff}
.mtb-ev-export input[type=text]{margin:0 8px}

/* Info-Box unter der Tabelle */
.mtb-ev-task-info{margin-top:10px;padding:12px 14px;border:1px solid #e6e9ef;border-radius:2px;background:#f9fafb;color:#374151;font-size:.95rem}

/* Honeypot ausblenden (zugänglich) */
.mtb-ev-hp{position:absolute !important;left:-10000px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;}

/* Modal Basis */
.mtb-ev-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.mtb-ev-modal {
  position: relative;
  background: #fff;
  max-width: 900px;
  width: 95%;
  box-shadow: 0 10px 40px rgba(0,0,0,.2);
  overflow: hidden;
  display: flex;
  flex-direction: row;
}
.mtb-ev-close {
  position: absolute;
  top: 6px;
  right: 12px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #444;
  cursor: pointer;
  z-index: 20;
  line-height: 1;
  border: none !important;
  opacity: 0.3;
}
.mtb-ev-close:hover {
  color: #000;
  background: none;
}

/* Mobile: Spalten untereinander */
@media (min-width:481px) and (max-width: 768px) {
	.mtb-ev-close {
		color: #fff;
	}
}

/* Linke Spalte (Hero-Bild) */
.mtb-ev-hero {
  flex: 1 1 40%;
  display: block;
  margin: 0;
}
.mtb-ev-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Rechte Spalte (Formular) */
.mtb-ev-modal-body {
  flex: 1 1 60%;
  padding: 32px;
  overflow-y: auto;
  max-height: 80vh;
}
.mtb-ev-modal-body form {
  margin: 0;
}
.mtb-ev-modal-body p {
  margin-bottom: 16px;
}
.mtb-ev-modal-body label {
  font-weight: 600;
  font-size: 0.95rem;
  display: block;
  margin-bottom: 4px;
}
.mtb-ev-modal-body input[type="text"],
.mtb-ev-modal-body input[type="email"],
.mtb-ev-modal-body textarea,
.mtb-ev-modal-body select {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 2px;
  padding: 10px 12px;
  font-size: 1rem;
}
.mtb-ev-modal-body button {
  background: #059669;
  color: #fff;
  padding: 10px 18px;
  font-size: 1rem;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}
.mtb-ev-modal-body button:hover {
  background: #047857;
}

/* Tabs – Karteikartenlook */
.mtb-ev-tabs{ margin-top:8px }

/* Leiste: eine Zeile, 100% breit, kein Gap */
.mtb-ev-tablist{
  display:flex;
  width:100%;
  gap:0;
  flex-wrap:nowrap;
  box-sizing:border-box;
  background:linear-gradient(#fafbfc,#f6f7f9);
  margin:0 0 14px 0;
  padding:0;
}

/* EINZIGE maßgebliche Tab-Regel */
.mtb-ev-tablink{
  box-sizing:border-box;
  flex:1 1 0;         /* gleich breite Tabs */
  min-width:0;        /* Inhalt darf schrumpfen */
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  cursor:pointer;

  background:#f2f4f7;
  color:#6b7280;
  font-weight:600;
  font-size:clamp(16px, 1.2vw + 12px, 18px); /* nie unter 16px */
  line-height:1.2;

  /* dynamisches Padding – schrumpft bei wenig Platz */
  --pad-x: clamp(10px, 1.6vw, 20px);
  --pad-y: clamp(10px, 1.2vw, 14px);
  padding: var(--pad-y) var(--pad-x);

  border-right:1px solid #e6e9ef;
  position:relative;

  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
}

/* linker Rahmen beim ersten Tab */
.mtb-ev-tablink:first-child{ border-left:1px solid #e6e9ef; }

/* Hover/Active */
.mtb-ev-tablink:hover{ background:#eceff3; color:#4b5563; }
.mtb-ev-tablink.is-active{
  background:#fff; color:#1f2937;
  box-shadow:0 -1px 0 #fff inset; z-index:2;
}
.mtb-ev-tablink:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(99,102,241,.25) inset;
}

/* Panels */
.mtb-ev-tabpanel{ background:#fff; padding:36px 48px; }
.mtb-ev-tabpanel[hidden]{ display:none; }

/* Mobile: Panels untereinander */
@media (max-width:768px) {
  .mtb-ev-tablist{ display:none !important; }
  .mtb-ev-tabpanel{ display:block !important; padding:18px 16px; }
}

/* Nur Optik resetten */
.mtb-ev-tablist .mtb-ev-tablink{
  -webkit-appearance:none;
  appearance:none;
  background:#f2f4f7 !important;
  border:0 !important;
  border-right:1px solid #e6e9ef !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 !important;
}
.mtb-ev-tablist .mtb-ev-tablink:first-child{
  border-left:1px solid #e6e9ef !important;
}
.mtb-ev-tablist .mtb-ev-tablink:hover{
  background:#eceff3 !important; color:#4b5563 !important;
}
.mtb-ev-tablist .mtb-ev-tablink.is-active{
  background:#fff !important; color:#1f2937 !important;
  box-shadow:0 -1px 0 #fff inset !important;
}

.mtb-ev-signup,
.mtb-ev-submit {
	border: 1px solid #E8E3D7 !important;
    color: #FFF !important;
    border-radius: 2px !important;
    padding: 8px 20px !important;
    font-weight: bold !important;
    background-color: #97C0D8 !important;
}

.mtb-ev-signup:hover,
.mtb-ev-signup:active {
	background-color: #d9e5f1 !important;
	color: #FFF !important;
}

/* The hidden template form (only cloned into the modal) */
.mtb-ev-wrap .mtb-ev-form{display:none !important;}

/* Tabellen in Panels können horizontal scrollen */
.mtb-ev-tabpanel{ overflow-x:auto; }

/* Standard: auf Desktop nicht anzeigen */
.mtb-ev-slot-activity--mobile {
  display: none;
}

td.col-action {
	text-align: center;
}

/* Mobil: anzeigen (unter 768px) */
@media (max-width: 768px) {
  .mtb-ev-slot-activity--mobile {
    display: block;
    margin: 0;
    font-weight: 600;
    white-space: normal; /* darf umbrechen */
  }
}

/* Mobile: Tabs ausblenden, alle Panels zeigen, Tabellen sinnvoll machen */
@media (max-width:768px){
  .mtb-ev-tablist{ display:none; }
  .mtb-ev-tabpanel{ display:block; margin-bottom:18px; padding:20px; }
  .mtb-ev-tabpanel[hidden]{ display:block; }
  .mtb-ev-slots{ min-width:0; width:100%; table-layout:fixed; }
}

/* Mobile: Slot-Tabellen auf 2 Spalten reduzieren (Zeitfenster + Aktion) */
@media (max-width:768px){
  /* nur 2 Spalten sichtbar: Zeitfenster (links) + Aktion (rechts) */
  .mtb-ev-slots col.col-activity,
  .mtb-ev-slots col.col-cap,
  .mtb-ev-slots col.col-taken,
  .mtb-ev-slots col.col-free { display:none; }

  .mtb-ev-slots thead th:nth-child(2),
  .mtb-ev-slots thead th:nth-child(3),
  .mtb-ev-slots thead th:nth-child(4),
  .mtb-ev-slots thead th:nth-child(5),
  .mtb-ev-slots tbody td:nth-child(2),
  .mtb-ev-slots tbody td:nth-child(3),
  .mtb-ev-slots tbody td:nth-child(4),
  .mtb-ev-slots tbody td:nth-child(5){ display:none; }

  /* links Text mit Ellipsis, rechts fester Platz für Button/Belegt */
  .mtb-ev-slots td.col-time{
    width:auto;
    max-width:100%; /* Platz für rechte Spalte */
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    vertical-align:middle;
  }
  .mtb-ev-slots td.col-action{
    width:100%;                 /* fixe Breite für Button */
    white-space:nowrap;
    vertical-align:middle;
  }
  .mtb-ev-slots td.col-action .button{
    max-width:100%;
  }

	.mtb-ev-slot-time{
	  display:block;          /* eigene Zeile */
	  font-weight:700;
	  margin:0 0 4px 0;       /* kleiner Abstand nach unten */
	  white-space:nowrap;
	}
	.mtb-ev-slot-activity--mobile{
	  display:block;          /* neue Zeile */
	  margin:0;
	  font-weight:600;
	  white-space:normal;     /* darf umbrechen */
	}
}

/* Select + Update-Button in einer Reihe */
.mtb-ev-inline-fields{
  display:flex;
  align-items:center;
  gap:10px;
}

div.mtb-ev-msg.error {
  max-width:800px;
  margin:40px auto;
  padding:16px;
  border:1px solid #ef4444;
  border-radius:2px;
  background:#fef2f2;
}

div.mtb-ev-msg.success {
	margin:40px auto;
	padding:16px;
	border-radius:2px;
	background: rgba(120, 157, 112, 0.2);
    border: 1px solid #789D70;
}

.mtb-ev-toolbar {
	display:flex;
	gap:8px;
	align-items:flex-end;
	margin:12px 0 24px 0;
}

.mtb-ev-toolbar form {
	display:inline-flex;
	gap:8px;
	align-items:flex-end;
	margin:0;
}

.mtb-volunteer-note {
	background:rgba(120, 157, 112, 0.2);
	border:1px solid #789D70;
	border-radius:2px;
	padding:12px 14px;
	margin:0 0 24px 0;
}

.mtb-ev-inline-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;     /* vertikal zentriert */
  gap: 10px;
  margin-top: 10px;
}

/* Beide Formulare gleich behandeln */
.mtb-ev-inline-form {
  display: flex;
  align-items: center;
  margin: 0;
}

/* Select + Buttons in einer Linie */
.mtb-ev-select {
  height: 44px; /* gleiche Höhe wie Buttons */
  padding: 0 12px;
  border: 1px solid #d1d5db;
  border-radius: 2px;
  font-size: 16px;
  line-height: 1.2;
  appearance: none;
}

/* Buttons angleichen */
.button {
	text-decoration: none !important;
	background:#fff;
	color:#000;
	border: 1px solid #e8e3d7 !important;
	border-radius: 2px;
}

.button,
.mtb-ev-primary,
.mtb-ev-danger {
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 2px !important;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  margin-top: 0;
}

/* Farben */
.mtb-ev-primary {
  background: #789D70 !important;
  color: #fff !important;
  border: 1px solid #789D70;
}
.mtb-ev-danger {
  background: #D5622A !important;
  color: #fff !important;
}

/* Responsive */
@media (max-width: 680px) {
  .mtb-ev-inline-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .mtb-ev-inline-form{ width:100%; }
  .mtb-ev-inline-fields{ flex-direction:column; align-items:stretch; }
  .mtb-ev-select,
  .mtb-ev-primary,
  .mtb-ev-danger {
    width: 100% !important;
  }
  .mtb-ev-update-btn{ width:100%; }
}

/* iPad (Portrait & Landscape inkl. iPad Pro 1366) */
@media (min-width: 768px) and (max-width: 1366px) {
  /* Formulare untereinander */
  .mtb-ev-inline-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .mtb-ev-inline-actions .mtb-ev-inline-form {
    width: 100% !important;
  }

  /* WICHTIG: Felder im ersten Formular ebenfalls stapeln */
  .mtb-ev-inline-actions .mtb-ev-inline-fields {
    display: flex !important;
    flex-direction: column !important;   /* statt row */
    align-items: stretch !important;
    gap: 12px !important;
  }

  /* Select wirklich 100% breit */
  .mtb-ev-inline-actions .mtb-ev-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Beide Buttons unten, volle Breite */
  .mtb-ev-inline-actions .mtb-ev-primary,
  .mtb-ev-inline-actions .mtb-ev-danger {
    width: 100% !important;
    height: 44px !important; /* optional einheitliche Höhe */
  }
}

/* Nutzt die in Elementor definierten Global-Typo-Variablen */
div.wrapper-volunteers.page-header h1,
div.wrapper-volunteers.page-header h2,
.mtb-ev-muted {
    font-family: var(--e-global-typography-primary-font-family), system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 700;
    line-height: 1.15;
  }
  
div.wrapper-volunteers.page-header h1 { font-size: 58px }
div.wrapper-volunteers.page-header h2 { font-size: 38px }
  
.mtb-ev-muted {
  text-align: right;
  font-size: 28px;
  margin: 24px 0 48px 0;
}

.mtb-ev-ics-all {
  text-align: right;
}
.mtb-ev-ics-all .button {
  margin-top: .25rem;
}
@media (max-width: 680px) {
  .mtb-ev-ics-all {
    position: static;
    margin-top: .5rem;
  }
}

/* Volunteer-Tabelle: Standard = normale Schreibweise */
.mtb-ev-slots td,
.mtb-ev-slots .mtb-ev-slot-time strong,
.mtb-ev-slots .mtb-ev-slot-activity,
.mtb-ev-slots .mtb-ev-slot-activity--mobile,
.mtb-ev-slots .button {
  font-weight: 500;
}

/* AUSNAHMEN: Überschriften & "(Du bist angemeldet)" bleiben in CAPS */
.mtb-ev-slots thead th,
.mtb-ev-slot-you {
  font-weight: 700;
}

@media (max-width:480px){
  .mtb-ev-wrap{padding:12px;}
  .mtb-ev-form p{margin:0 0 12px;}
  .mtb-ev-form input[type="text"],
  .mtb-ev-form input[type="email"],
  .mtb-ev-form textarea,
  .mtb-ev-form select{width:100%;padding:12px 14px;font-size:16px;} /* 16px verhindert iOS-Zoom */

  /* Tabs besser benutzbar */
  .mtb-ev-tablist{
    display:flex;gap:8px;overflow-x:auto;padding:8px 12px;margin:0 -12px 8px;
    scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  }
  .mtb-ev-tablink{flex:0 0 auto;white-space:nowrap;padding:8px 10px;}

  /* Panels bündig */
  .mtb-ev-tabpanel{padding:0;}

  /* Hinweis-Box kompakter */
  .mtb-volunteer-note{margin:8px 0;padding:10px 12px;}

  /* Tabelle → mobile Liste */
  .mtb-ev-slots{display:block;width:100%;}
  .mtb-ev-slots thead{display:none;}
  .mtb-ev-slots tbody{display:block;}
  .mtb-ev-slots tbody tr{
    display:grid;grid-template-columns:1fr auto;gap:6px;
    padding:10px 0;border-top:1px solid #eee;
  }
  .mtb-ev-slots td{padding:0;border:0;}
  .mtb-ev-slots td.col-time{grid-column:1 / -1;}
  .mtb-ev-slots td.col-activity{grid-column:1 / -1;opacity:.9;}
  /* Kapazitätszahlen ausblenden – sparen Platz */
  .mtb-ev-slots td.col-cap,
  .mtb-ev-slots td.col-taken,
  .mtb-ev-slots td.col-free{display:none;}
  .mtb-ev-slots td.col-action{grid-column:1 / -1;margin-top:4px;}
  .mtb-ev-primary,.mtb-ev-danger,.mtb-ev-signup{width:100%;}
}

/* Kleinere Phones (≤ 360px) noch etwas straffer */
@media (max-width:360px){
  .mtb-ev-tablink{padding:6px 8px;font-size:14px;}
  .mtb-ev-form textarea{min-height:84px;}
}

/* Standard-Layout: Name / E-Mail untereinander */
.mtb-ev-form input[name="mtb_ev_name"],
.mtb-ev-form input[name="mtb_ev_email"] {
  width: 100%;
  display: block;
}

@media (max-width:768px) {
	
	.mtb-ev-task {
		margin: 32px 0 48px 0;
	}
	
	.mtb-ev-task-title {
		font-size: 28px;
	}
	
	.col-time .mtb-ev-slot-activity {
		font-size: 20px;
	}
	
	.mtb-ev-slot-time {
		font-weight: 700;
		font-size: 24px;
	}
	
	table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
		background: none;
	}

}

/* ≤ 480 px: Listenlayout, überzählige Spalten zuverlässig verstecken */
@media (max-width:768px){
  .mtb-ev-slots{ display:block; width:100%; }
  .mtb-ev-slots thead{ display:none; }
  .mtb-ev-slots tbody{ display:block; background: hsla(0,0%,50%,.071) }
  .mtb-ev-slots tbody tr{
    display:grid; grid-template-columns:1fr auto; gap:6px;
    padding:20px 14px; border-top:1px solid #eee;
  }
  .mtb-ev-slots td{ padding:0; border:0; }
  
  .mtb-ev-modal {
    flex-direction: column;
    max-height: 95vh;
  }
  .mtb-ev-hero {
    flex: none;
    height: 180px;
  }
  .mtb-ev-modal-body {
    flex: none;
    padding: 20px;
    max-height: none;
  }
  .mtb-ev-close {
	  color: #FFF;
  }
  
  div.wrapper-volunteers.page-header h1 {
  	font-size: 38px;
  }
  
  div.wrapper-volunteers.page-header h2 {
  	font-size: 28px;	  
  }
  
  .mtb-ev-card-thumb,
  .mtb-sm-hero,
  .mtb-ev-card-thumb {
	  display: none !important;
  }
}

/* Nur Desktop: Breite anpassen */
  @media (min-width: 1025px) {
   
   .wrapper-volunteers {
	   width: 72% !important;
	   max-width: 72% !important;
	   margin-left: auto;
	   margin-right: auto;
   }
   
   div.wrapper-volunteers.page-header h1 {
	   font-size: 58px;
	   max-width: 100%;
	   width: 100%;
   }
   div.wrapper-volunteers.page-header h2 {
	   font-size: 38px;
	   max-width: 100%;
	   width: 100%;
   }

	.mtb-sm-hero {
		width: 43%;
		padding-right: 24px;
		float: left;
	}

}

.wrapper-volunteers h3 {
	font-family: var(--font-base);
	font-weight: bold;
	font-size: 2.5em;
}

.wrapper-volunteers a {
	color: #333;
}

.wrapper-volunteers a:hover {
	color: #333;
}

/* =========================
   MTB Events – Kommentare (Liste + Formular)
   ========================= */

/* Container */
.mtb-ev-comments {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius: 2px;
  padding: 48px;
  margin: 32px 0 0 0;
}

.mtb-ev-comments-title {
  margin: 0 0 18px 0;
  font-family: var(--font-head, 'Joyride', sans-serif);
  font-weight: 800;
  line-height: 1.2;
}

/* Leere-Liste Hinweis */
.mtb-ev-no-comments {
  margin: 0 0 48px 0;
  color: rgb(117, 117, 117);
}

/* -------------------------
   Kommentar-Liste (threaded)
   ------------------------- */
.mtb-ev-comment-list > .comment,
.mtb-ev-comment-list .children > .comment {
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid #eee;
}

.mtb-ev-comment-list > .comment:first-child { border-top: 0; }

/* Avatar */
.mtb-ev-comment-list .avatar {
  width: 44px; height: 44px; border-radius: 50%;
  display: block;
  opacity: 0.7;
}

/* Kopf (Name + Datum) */
.mtb-ev-comment-list .comment-author {
  font-weight: 700;
  color: #1a1f24;
  margin-right: .5rem;
}
.mtb-ev-comment-list .comment-metadata {
  font-size: .875rem;
  color: var(--mtb-muted, #9aa3ad);
}
.mtb-ev-comment-list .comment-metadata a {
  color: inherit; text-decoration: none;
}

/* Inhalt */
.mtb-ev-comment-list .comment-content {
  grid-column: 2;
  color: var(--text, #2E3A59);
}
.mtb-ev-comment-list .comment-content p { margin: .25rem 0 .5rem; }

/* Antwort-Link (WP default .comment-reply-link) */
.mtb-ev-comment-list .reply {
  grid-column: 2;
  margin-top: .25rem;
}
.mtb-ev-comment-list .comment-reply-link {
  display: inline-flex; align-items: center; justify-content: center;
  height: 36px; padding: 0 14px;
  font-weight: 700; font-size: .95rem;
  background: #fff; color: #000; text-decoration: none;
  border: 1px solid #E8E3D7; border-radius: 2px;
  transition: transform .08s ease, box-shadow .08s ease, filter .15s ease;
}
.mtb-ev-comment-list .comment-reply-link:hover { filter: brightness(.98); }

/* Thread-Einzug */
.mtb-ev-comment-list .children {
  margin-left: 56px; /* Avatar (44) + Gap (12) */
  padding-left: 12px;
  border-left: 2px solid rgba(0,0,0,.04);
}

/* -------------------------
   Formular
   ------------------------- */

.mtb-ev-comment-form {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #eee;
}

/* WP comment_form wrapper normalisieren */
.mtb-ev-comment-form p { margin: 0 0 12px; }

/* Label optisch wie deine Form-Labels */
.mtb-ev-comment-form label {
  display:block;
  font-family: var(--font-head, 'Joyride', sans-serif);
  font-size:.875rem;
  font-weight:600;
}

/* Textarea + Inputs */
.mtb-ev-comment-form textarea,
.mtb-ev-comment-form input[type="text"],
.mtb-ev-comment-form input[type="email"],
.mtb-ev-comment-form input[type="url"],
.mtb-ev-comment-form input[type="number"] {
  width:100%;
  padding:.75rem;
  border:1px solid var(--border, #D1D5DB);
  border-radius: 2px;
  font-family: var(--font-base, 'Onest', sans-serif);
  font-size:1rem; color: var(--text, #2E3A59);
  box-sizing:border-box;
  transition:border-color .2s ease;
  background: #fff;
}
.mtb-ev-comment-form textarea:focus,
.mtb-ev-comment-form input:focus {
  outline:none; border-color: var(--primary, #789D70);
}

/* Name/E-Mail/Website – WP default Felder hübsch in 2 Spalten ab ~640px */
.mtb-ev-comment-form .comment-form-author,
.mtb-ev-comment-form .comment-form-email,
.mtb-ev-comment-form .comment-form-url {
  width: 100%;
}
@media (min-width: 640px){
  .mtb-ev-comment-form .comment-form-author,
  .mtb-ev-comment-form .comment-form-email {
    display: inline-block; width: calc(50% - 6px);
  }
  .mtb-ev-comment-form .comment-form-author { margin-right: 12px; }
}

/* Captcha-Zeile (unser selbstgehostetes Math-Captcha) */
.mtb-ev-captcha {
  background:#F9FAFB;
  border:1px solid #E5E7EB;
  border-radius: 2px;
  padding: 10px 12px;
}
.mtb-ev-captcha strong { font-weight: 800; margin: 0 .25rem; }
.mtb-ev-captcha input[type="number"]{
  width: 100%; max-width: 1000%;
}

.mtb-reg-form label {
	margin-bottom: 0.5em;
}

/* Hinweis-Text unter Captcha */
.mtb-ev-captcha .description {
  display:block;
  margin-top: 6px;
  font-size: .85rem;
}

/* Checkbox Datenschutz */
.mtb-ev-comment-form .comment-form-cookies-consent,
.mtb-ev-comment-form .mtb-ev-privacy {
  display:flex; align-items:center; gap:.5rem;
}
.mtb-ev-comment-form input[type="checkbox"]{ accent-color: #97C0D8; }

/* Submit-Button – Matching zu deinen Buttons */
.mtb-ev-comment-form .submit,
.mtb-ev-comment-form .button,
.mtb-ev-comment-form .button-primary {
  height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 8px 20px; font-size: 16px; font-weight: 700;
  border-radius: 2px; border: 1px solid #E8E3D7 !important;
  background: #97C0D8 !important; color: #fff !important;
  cursor: pointer; text-decoration: none;
}
.mtb-ev-comment-form .submit:hover { background:#d9e5f1 !important; }

/* Antwortformular (inline beim Thread) leicht absetzen */
.mtb-ev-comment-list .comment-respond {
  margin: 12px 0 0 56px;
  padding: 12px;
  border:1px solid #eee;
  border-radius: 2px;
  background: #fff;
}

/* Fehlermeldungen / Erfolg – nutzt deine Alerts */
.mtb-ev-comments .alert { margin-top: 12px; }
.mtb-ev-comments .alert-error,
.mtb-ev-comments .alert-success { border-radius:2px; }

/* Accessibility */
.mtb-ev-comment-form .screen-reader-text { position:absolute; left:-9999px; }

/* -------------------------
   Responsive Feinschliff
   ------------------------- */
@media (max-width: 680px){
  .mtb-ev-comments { padding: 18px; }
  .mtb-ev-comment-list .children { margin-left: 28px; }
  .mtb-ev-comment-list .comment,
  .mtb-ev-comment-list .children > .comment {
    grid-template-columns: 36px 1fr;
  }
  .mtb-ev-comment-list .avatar { width:36px; height:36px; }
  .mtb-ev-comment-list .comment-respond { margin-left: 0; }
}

/* Dunkler Fokus für Tastaturbedienung */
.mtb-ev-comment-form textarea:focus,
.mtb-ev-comment-form input:focus,
.mtb-ev-comment-list .comment-reply-link:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}

/* ---- Fix: Kommentar-Meta in die rechte (Text-)Spalte ---- */
.mtb-ev-comment-list .comment .comment-meta {
  grid-column: 2;              /* gleiche Spalte wie content/reply */
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 6px 0;
}

/* Name/Autor passend stylen */
.mtb-ev-comment-list .comment .comment-author .fn,
.mtb-ev-comment-list .comment .comment-author .fn a {
  font-weight: 700;
  color: #1a1f24;
  text-decoration: none;
}

/* Optional: „sagt:“ ausblenden */
.mtb-ev-comment-list .comment .comment-author .says { display: none; }

/* Datum-Link unaufdringlich */
.mtb-ev-comment-list .comment .comment-metadata a {
  color: var(--mtb-muted, #9aa3ad);
  text-decoration: none;
}
.mtb-ev-comment-list .comment .comment-metadata a:hover { text-decoration: underline; }

@supports(selector(:has(*))) {
  .mtb-ev-comment-list .comment:not(:has(.avatar)) {
    grid-template-columns: 1fr;  /* keine leere Avatar-Spalte */
  }
  .mtb-ev-comment-list .comment:not(:has(.avatar)) .comment-content,
  .mtb-ev-comment-list .comment:not(:has(.avatar)) .reply,
  .mtb-ev-comment-list .comment:not(:has(.avatar)) .comment-meta {
    grid-column: 1;
  }
}

/* Grundabstände zurücksetzen */
.mtb-ev-comment-list .comment { margin-left: 0; }

/* Einrücken je Tiefe */
.mtb-ev-comment-list .depth-2 { margin-left: 1.25rem; }
.mtb-ev-comment-list .depth-3 { margin-left: 2.0rem; }
.mtb-ev-comment-list .depth-4 { margin-left: 2.75rem; }
.mtb-ev-comment-list .depth-5 { margin-left: 3.5rem; }

/* dezent verbinden, hilft bei Lesbarkeit */
.mtb-ev-comment-list .comment-body {
  border-left: 2px solid rgba(0,0,0,.08);
  padding-left: .75rem;
}

/* Mobile: weniger Einzug, damit nichts abschneidet */
@media (max-width: 640px) {
  .mtb-ev-comment-list .depth-2 { margin-left: .75rem; }
  .mtb-ev-comment-list .depth-3 { margin-left: 1.25rem; }
  .mtb-ev-comment-list .depth-4 { margin-left: 1.75rem; }
  .mtb-ev-comment-list .depth-5 { margin-left: 2.25rem; }
}

/* --- Reset: kein Grid auf .comment selber --- */
.mtb-ev-comment-list > .comment,
.mtb-ev-comment-list .children > .comment {
  display: block;
  padding: 0;
  border: 0;
  margin: 24px 0 0;
}

/* --- Richtiges Grid: am Artikelkörper --- */
.mtb-ev-comment-list .comment-body {
  display: grid;
  grid-template-columns: 44px 1fr; /* Avatar | Inhalt */
  column-gap: 12px;
  row-gap: 6px;
  padding: 16px 0;
  border-top: 1px solid #eee;
}
.mtb-ev-comment-list > .comment:first-child .comment-body { border-top: 0; }

/* Kopfzeile (Avatar + Name + Datum) als eigenes Mini-Grid */
.mtb-ev-comment-list .comment-body .comment-meta {
  grid-column: 1 / -1;                 /* über beide Spalten */
  display: grid;
  grid-template-columns: 44px 1fr auto; /* Avatar | Name | Datum */
  align-items: center;
  column-gap: 12px;
}

/* Avatar links, rund, feste Größe */
.mtb-ev-comment-list .comment-body .comment-author .avatar {
  width: 44px; height: 44px; border-radius: 50%;
  display: block;
  grid-column: 1;
}

/* Name in Spalte 2, kräftig */
.mtb-ev-comment-list .comment-body .comment-author {
  grid-column: 2;
  font-weight: 700;
}
.mtb-ev-comment-list .comment-body .comment-author .says { display: none; }

/* Datum rechts (dezenter) */
.mtb-ev-comment-list .comment-body .comment-metadata {
  grid-column: 3;
  font-size: .875rem;
  color: var(--mtb-muted, #9aa3ad);
  white-space: nowrap;
}
.mtb-ev-comment-list .comment-body .comment-metadata a {
  color: inherit; text-decoration: none;
}
.mtb-ev-comment-list .comment-body .comment-metadata a:hover { text-decoration: underline; }

/* Inhalt + Reply gehören in die rechte Spalte */
.mtb-ev-comment-list .comment-body .comment-content,
.mtb-ev-comment-list .comment-body .reply {
  grid-column: 2;
}
.mtb-ev-comment-list .comment-body .comment-content p { margin: .25rem 0 .5rem; }
.mtb-ev-comment-list .comment-body .reply { margin-top: .25rem; }

/* Einrückung je Tiefe beibehalten (deine Regeln greifen weiter) */

/* Mobile Feinschliff */
@media (max-width: 680px){
  .mtb-ev-comment-list .comment-body {
    grid-template-columns: 36px 1fr;
    column-gap: 10px;
  }
  .mtb-ev-comment-list .comment-body .comment-meta {
    grid-template-columns: 36px 1fr auto;
    column-gap: 10px;
  }
  .mtb-ev-comment-list .comment-body .comment-author .avatar {
    width: 36px; height: 36px;
  }
}

.comments-area {
	display: none;
}

/* MTB: runder, größerer Hintergrund für Kommentar-Avatare */
.mtb-ev-comment-list .comment-author .avatar {
  display: block;
  border-radius: 50% !important;
  object-fit: cover;
  background: #E8E3D7;              /* Hintergrund-Farbe des Kreises */
  box-shadow: 0 0 0 8px #E8E3D7;     /* "Ring" (Spread-Shadow) – Größe hier anpassen */
  margin-bottom: 12px;
}

/* Optional: kleines Gerät etwas dünnerer Ring */
@media (max-width: 680px){
  .mtb-ev-comment-list .comment-author .avatar {
    box-shadow: 0 0 0 6px #E8E3D7;
  }
  .captcha-true .mtb-reg-hero,
  .captcha-true .mtb-ev-hero {
	display: none;
  }
  .captcha-true .mtb-reg-close,
  .captcha-true .mtb-ev-close {
	  color: #444 !important;
  }
}

.mtb-ev-comments .logged-in-as a {
	color: #000 !important;
	text-decoration: underline !important;
}

/*
@media (max-width:768px){
  .desktop {
    display: none;
  }
  
  .mtb-reg-form .mtb-reg-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .mtb-reg-form .mtb-reg-row p{ margin:0; }
  
}
*/

.info a {
	color: #000;
	text-decoration: underline;
}

.elementor-element-949a49f .elementor-shortcode {
	text-align: center;
}

.mtb-events-load-more {
	border-radius: 50%;
    border: 1px solid white;
    padding: 7px 14px;
    margin: 12px auto 0 auto;
}

.mtb-events-load-more:hover {
	background-color: transparent;
	color: #000;
}

/* === When & Where (Shortcode [event_when_where]) === */
.mtb-ev-when-where {
  margin: 6px 0 12px 0;
  font-family: var(--e-global-typography-text-font-family, inherit), Sans-serif;
  font-size: var(--e-global-typography-text-font-size, 1rem);
  font-weight: var(--e-global-typography-text-font-weight, 400);
  line-height: var(--e-global-typography-text-line-height, 1.5);
  color: #000;
}

.mtb-ev-when-where .row {
  display: flex;
  gap: .5rem;
  align-items: baseline;
  margin: .25rem 0;
}

.mtb-ev-when-where .label {
  min-width: 110px;
  font-weight: 700;
}

@media (max-width: 600px) {
  .mtb-ev-when-where .row {
    flex-direction: column;
    gap: 2px;
  }
  .mtb-ev-when-where .label {
    min-width: 0;
  }
}