/* Info */
.info-grid{
  margin-top: 1rem;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.info-card{
  border:1px solid #e9e9e9;
  border-radius:12px;
  padding: 1rem 1.1rem;
  background:#fff;
  box-shadow: 0 3px 10px rgba(0,0,0,0.03);
}
.info-card h3{ margin:0 0 .35rem; font-size:1.05rem; }
.info-card p{ margin:0; color:#555; line-height:1.45; }

@media (max-width: 900px){
  .info-grid{ grid-template-columns: 1fr; }
}

/* Events */
.event-grid-rtf{
  margin-top: 1rem;
  display:grid;
  grid-template-columns: 1fr;
  gap: 1.2rem;
}
.event-grid{
  margin-top: 1rem;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}
@media (max-width: 900px){
  .event-grid{ grid-template-columns: 1fr; }
}

.event-card{
  border:1px solid #e9e9e9;
  border-radius:12px;
  padding: 1.1rem 1.2rem;
  background:#fff;
  box-shadow: 0 3px 10px rgba(0,0,0,0.03);
  position: relative;
  overflow: hidden;
}
/* Unterer Bereich der Karte: links Info, rechts Thumbnail – gleiche Höhe */
.event-main{
  display: grid;
  grid-template-columns: 1fr 220px; /* rechts fixe Breite für Thumb */
  gap: 1rem;
  align-items: stretch;            /* beide Spalten gleich hoch */
}

/* Linke Spalte: Button nach unten */
.event-info{
  display: flex;
  flex-direction: column;
  min-height: 100%; /* damit margin-top:auto sauber wirkt */
}

.event-card-detail {padding-bottom: 1rem; }
.event-card h3{ margin:0; font-size:1.15rem; }
.event-card p{ margin:.4rem 0 .8rem; color:#555; line-height:1.5; }

.event-download {display: flex; align-items: center; justify-content: flex-start; gap: 20px; }
.event-download img {display: block; height: 250px; }
.event-download .btn {display: flex; align-items: center; justify-content: center; padding: 10px 16px; }

.event-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom: .5rem;
}
.event-main{
  display: grid;
  grid-template-columns: 1fr 220px; /* rechts fixe Breite für Thumb */
  gap: 1rem;
  align-items: stretch;            /* beide Spalten gleich hoch */
}
.event-info{
  display: flex;
  flex-direction: column;
  min-height: 100%; /* damit margin-top:auto sauber wirkt */
}

.event-tag{
  display:inline-block;
  border-radius:999px;
  padding: .25rem .65rem;
  border: 1px solid #e2e2e2;
  background: #f7f7f7;
  font-weight: 600;
  font-size: .85rem;
  white-space: nowrap;
}
/* Rechte Spalte: Thumb als "Karte" */
.event-thumb{
  display: block;
  align-self: stretch;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e9e9e9;
  background: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,.03);
  text-decoration: none;
}

.event-thumb img{width: 100%;height: 100%;object-fit: cover;display: block;}

/* Button-Leiste in der Card */
.event-actions{position: absolute;left: 12px;bottom: 12px;margin: 0;}

/* Responsive: untereinander */
@media (max-width: 650px){
  .event-main{grid-template-columns: 1fr;}
  .event-thumb{max-width: 160px;}
}
.event-meta{margin:0;padding-left: 1.1rem;color:#444;}
.event-meta{margin: 0; padding-left: 1.1rem;}

/* Form */
label{ font-weight:600; font-size:.95rem; display:block; margin:.2rem 0 .25rem; }

.form-grid{
  margin-top: 1rem;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.field-wide{ grid-column: span 2; }
@media (max-width: 800px){
  .form-grid{ grid-template-columns: 1fr; }
  .field-wide{ grid-column: span 1; }
}

input[type="text"], input[type="email"], input[type="url"], select, textarea{
  width:100%;
  padding:.7rem .8rem;
  border-radius:8px;
  border:1px solid #cfd6d2;
  outline:none;
  background:#fff;
}
textarea{ resize: vertical; }

.checkline{ display:flex; align-items:center; gap:.55rem; margin-top:.2rem; }
.checkline input{ margin-top:2px; }

/* ----- Formular rechts (75%) + Linkblock links ----- */
.rtf-submit-layout{
  margin-top: 1rem;
  display: grid;
  grid-template-columns: 1fr 3fr;  /* links 25%, rechts 75% */
  gap: 2.2rem;
  align-items: start;
}

.rtf-links{
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.rtf-link{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: .8rem .9rem;
  border-radius: 10px;
  border: 1px solid #e9e9e9;
  background: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,0.03);
  text-decoration: none;
  color: inherit;
}

.rtf-link:hover{ background: #f7f7f7;}
.rtf-link img{ width: 110px; height: auto; max-height: 100px; object-fit: contain; flex: 0 0 auto;}
.rtf-link span{ font-weight: 700; font-size: 0.8rem; text-align: center;}

/* Responsiv: untereinander */
@media (max-width: 900px){
  .rtf-submit-layout{grid-template-columns: 1fr; }
  .rtf-submit-layout{ grid-template-columns: 1fr; }
  .rtf-form-block{ justify-self: stretch; max-width: none; }
}

.rtf-form-block { justify-self: center; width: 100%; max-width: 680px;}

p a {font-weight: 600; color: blue;}
