.lautstrom-tourbook {
  scroll-behavior: smooth;
}

.ltb-toc {
  margin: 1.25rem 0 1.75rem;
  padding: 1rem 1.25rem;
  border: 1px solid #ccc;
  border-radius: 8px;
}

.ltb-toc-title {
  margin: 0 0 .55rem;
  font-size: 1.25rem;
}

.ltb-toc-list {
  margin: 0;
  padding-left: 1.15rem;
}

.ltb-toc-list li {
  margin: 0;
  line-height: 1.25;
}

.ltb-toc-link {
  text-decoration: none;
}

.ltb-toc-link:hover,
.ltb-toc-link:focus {
  text-decoration: underline;
}

.ltb-gig {
  margin: 1rem 0;
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  scroll-margin-top: 2rem;
}

.ltb-gig-summary {
  cursor: pointer;
  padding: 1rem 1.25rem;
  font-size: 1.15rem;
  line-height: 1.3;
  background: rgba(0,0,0,.025);
}

.ltb-gig[open] .ltb-gig-summary {
  border-bottom: 1px solid #ddd;
}

.ltb-gig-content {
  padding: 1.25rem;
}

.ltb-section {
  margin: 0 0 1.15rem;
}

.ltb-section h3 {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
}

.ltb-section-body {
  margin: 0;
}

.ltb-row {
  margin: .12rem 0;
}

.ltb-group {
  margin: 0 0 .75rem;
}

.ltb-back {
  margin-top: 1.25rem;
  font-size: .95rem;
}

.lautstrom-tourbook-error {
  padding: .8rem 1rem;
  border: 1px solid #b00020;
}

@media (max-width: 600px) {
  .ltb-toc,
  .ltb-gig-content,
  .ltb-gig-summary {
    padding-left: .9rem;
    padding-right: .9rem;
  }
}

/* Gig-Status aus dem JSON-Feld "Status" */
.ltb-status {
  display: inline-block;
  margin-left: .5rem;
  padding: .08rem .42rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.35;
  vertical-align: .08em;
  white-space: nowrap;
  opacity: .82;
}

.ltb-summary-main {
  display: inline;
}

@media (max-width: 600px) {
  .ltb-status {
    margin-left: .35rem;
    font-size: .74rem;
  }
}


/* Oeffentliche Terminliste */
.lautstrom-public-events {
  margin: 1rem 0;
}

.ltb-public-title {
  margin: 0 0 .75rem;
}

.ltb-public-list {
  margin: 0;
}

.ltb-public-row {
  margin: 0;
  padding: .22rem 0;
  line-height: 1.3;
}

.ltb-public-date {
  white-space: nowrap;
}

@media (max-width: 600px) {
  .ltb-public-row {
    padding: .28rem 0;
  }
}
