/* ==========================================================================
   Telemarkfest 3 – Kompatibilitätsschicht für Inhalte aus dem alten Theme
   Stellt die Bootstrap-3-Klassen bereit, die in bestehenden Seiten (Markdown/HTML)
   verwendet werden: .row/.col-*, .img-responsive, .center-block, .alert, .btn,
   .tmf-text-cta, .partnercard … – kann im Admin abgeschaltet werden, sobald
   alle Inhalte umgestellt sind.
   ========================================================================== */

/* Raster */
.row { display: flex; flex-wrap: wrap; margin-inline: -12px; }
.row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; padding-inline: 12px; min-width: 0; }
.row::before, .row::after { content: none; }
.row > .col-xs-1 { flex: 0 0 8.3333%; max-width: 8.3333%; }
.row > .col-xs-2 { flex: 0 0 16.6667%; max-width: 16.6667%; }
.row > .col-xs-3 { flex: 0 0 25.0000%; max-width: 25.0000%; }
.row > .col-xs-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
.row > .col-xs-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
.row > .col-xs-6 { flex: 0 0 50.0000%; max-width: 50.0000%; }
.row > .col-xs-7 { flex: 0 0 58.3333%; max-width: 58.3333%; }
.row > .col-xs-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
.row > .col-xs-9 { flex: 0 0 75.0000%; max-width: 75.0000%; }
.row > .col-xs-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
.row > .col-xs-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
.row > .col-xs-12 { flex: 0 0 100.0000%; max-width: 100.0000%; }
.row > .col-xs-offset-0 { margin-left: 0.0000%; }
.row > .col-xs-offset-1 { margin-left: 8.3333%; }
.row > .col-xs-offset-2 { margin-left: 16.6667%; }
.row > .col-xs-offset-3 { margin-left: 25.0000%; }
.row > .col-xs-offset-4 { margin-left: 33.3333%; }
.row > .col-xs-offset-5 { margin-left: 41.6667%; }
.row > .col-xs-offset-6 { margin-left: 50.0000%; }
.row > .col-xs-offset-7 { margin-left: 58.3333%; }
.row > .col-xs-offset-8 { margin-left: 66.6667%; }
.row > .col-xs-offset-9 { margin-left: 75.0000%; }
.row > .col-xs-offset-10 { margin-left: 83.3333%; }
.row > .col-xs-offset-11 { margin-left: 91.6667%; }
@media (min-width: 768px) {
.row > .col-sm-1 { flex: 0 0 8.3333%; max-width: 8.3333%; }
.row > .col-sm-2 { flex: 0 0 16.6667%; max-width: 16.6667%; }
.row > .col-sm-3 { flex: 0 0 25.0000%; max-width: 25.0000%; }
.row > .col-sm-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
.row > .col-sm-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
.row > .col-sm-6 { flex: 0 0 50.0000%; max-width: 50.0000%; }
.row > .col-sm-7 { flex: 0 0 58.3333%; max-width: 58.3333%; }
.row > .col-sm-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
.row > .col-sm-9 { flex: 0 0 75.0000%; max-width: 75.0000%; }
.row > .col-sm-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
.row > .col-sm-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
.row > .col-sm-12 { flex: 0 0 100.0000%; max-width: 100.0000%; }
.row > .col-sm-offset-0 { margin-left: 0.0000%; }
.row > .col-sm-offset-1 { margin-left: 8.3333%; }
.row > .col-sm-offset-2 { margin-left: 16.6667%; }
.row > .col-sm-offset-3 { margin-left: 25.0000%; }
.row > .col-sm-offset-4 { margin-left: 33.3333%; }
.row > .col-sm-offset-5 { margin-left: 41.6667%; }
.row > .col-sm-offset-6 { margin-left: 50.0000%; }
.row > .col-sm-offset-7 { margin-left: 58.3333%; }
.row > .col-sm-offset-8 { margin-left: 66.6667%; }
.row > .col-sm-offset-9 { margin-left: 75.0000%; }
.row > .col-sm-offset-10 { margin-left: 83.3333%; }
.row > .col-sm-offset-11 { margin-left: 91.6667%; }
}
@media (min-width: 992px) {
.row > .col-md-1 { flex: 0 0 8.3333%; max-width: 8.3333%; }
.row > .col-md-2 { flex: 0 0 16.6667%; max-width: 16.6667%; }
.row > .col-md-3 { flex: 0 0 25.0000%; max-width: 25.0000%; }
.row > .col-md-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
.row > .col-md-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
.row > .col-md-6 { flex: 0 0 50.0000%; max-width: 50.0000%; }
.row > .col-md-7 { flex: 0 0 58.3333%; max-width: 58.3333%; }
.row > .col-md-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
.row > .col-md-9 { flex: 0 0 75.0000%; max-width: 75.0000%; }
.row > .col-md-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
.row > .col-md-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
.row > .col-md-12 { flex: 0 0 100.0000%; max-width: 100.0000%; }
.row > .col-md-offset-0 { margin-left: 0.0000%; }
.row > .col-md-offset-1 { margin-left: 8.3333%; }
.row > .col-md-offset-2 { margin-left: 16.6667%; }
.row > .col-md-offset-3 { margin-left: 25.0000%; }
.row > .col-md-offset-4 { margin-left: 33.3333%; }
.row > .col-md-offset-5 { margin-left: 41.6667%; }
.row > .col-md-offset-6 { margin-left: 50.0000%; }
.row > .col-md-offset-7 { margin-left: 58.3333%; }
.row > .col-md-offset-8 { margin-left: 66.6667%; }
.row > .col-md-offset-9 { margin-left: 75.0000%; }
.row > .col-md-offset-10 { margin-left: 83.3333%; }
.row > .col-md-offset-11 { margin-left: 91.6667%; }
}
@media (min-width: 1200px) {
.row > .col-lg-1 { flex: 0 0 8.3333%; max-width: 8.3333%; }
.row > .col-lg-2 { flex: 0 0 16.6667%; max-width: 16.6667%; }
.row > .col-lg-3 { flex: 0 0 25.0000%; max-width: 25.0000%; }
.row > .col-lg-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
.row > .col-lg-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
.row > .col-lg-6 { flex: 0 0 50.0000%; max-width: 50.0000%; }
.row > .col-lg-7 { flex: 0 0 58.3333%; max-width: 58.3333%; }
.row > .col-lg-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
.row > .col-lg-9 { flex: 0 0 75.0000%; max-width: 75.0000%; }
.row > .col-lg-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
.row > .col-lg-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
.row > .col-lg-12 { flex: 0 0 100.0000%; max-width: 100.0000%; }
.row > .col-lg-offset-0 { margin-left: 0.0000%; }
.row > .col-lg-offset-1 { margin-left: 8.3333%; }
.row > .col-lg-offset-2 { margin-left: 16.6667%; }
.row > .col-lg-offset-3 { margin-left: 25.0000%; }
.row > .col-lg-offset-4 { margin-left: 33.3333%; }
.row > .col-lg-offset-5 { margin-left: 41.6667%; }
.row > .col-lg-offset-6 { margin-left: 50.0000%; }
.row > .col-lg-offset-7 { margin-left: 58.3333%; }
.row > .col-lg-offset-8 { margin-left: 66.6667%; }
.row > .col-lg-offset-9 { margin-left: 75.0000%; }
.row > .col-lg-offset-10 { margin-left: 83.3333%; }
.row > .col-lg-offset-11 { margin-left: 91.6667%; }
}

/* Hilfsklassen */
.img-responsive { display: block; max-width: 100%; height: auto; }
.center-block { display: block; margin-inline: auto; }
.clearfix::after { content: ""; display: table; clear: both; }
.pull-left { float: left; } .pull-right { float: right; }
.text-left { text-align: left; } .text-center { text-align: center; } .text-right { text-align: right; }
.hidden { display: none !important; }
@media (max-width: 767.98px) { .hidden-xs { display: none !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .hidden-sm { display: none !important; } }
@media (min-width: 992px) { .hidden-md, .hidden-lg { display: none !important; } }
.visible-xs, .visible-sm, .visible-md, .visible-lg, .visible-xs-block, .visible-sm-block { display: none !important; }
@media (max-width: 767.98px) { .visible-xs, .visible-xs-block { display: block !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .visible-sm, .visible-sm-block { display: block !important; } }
.img-rounded { border-radius: var(--radius-sm); } .img-circle { border-radius: 50%; }
.small, small { font-size: .875em; }

/* Hinweisboxen */
.alert {
  position: relative; margin: 1.5em 0; padding: 18px 20px 18px 56px;
  border-radius: 14px; background: color-mix(in srgb, var(--c-brand) 9%, white);
  border: 1px solid color-mix(in srgb, var(--c-brand) 22%, white);
  color: var(--c-ink);
}
.alert::before {
  content: ""; position: absolute; left: 18px; top: 20px; width: 24px; height: 24px;
  background: var(--c-brand);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.01'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.01'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.alert > i[class^="icon-"], .alert > i[class*=" icon-"], .alert > i.fa { display: none; }
.alert ul, .alert ol { margin: .5em 0 0; }
.alert > :last-child { margin-bottom: 0; }
.alert-warning { background: color-mix(in srgb, var(--c-accent) 22%, white); border-color: color-mix(in srgb, var(--c-accent) 60%, white); }
.alert-warning::before { background: #8a6a00; }
.alert-danger { background: #fbeeed; border-color: #f0c9c6; }
.alert-danger::before { background: #b3261e; }
.alert-success { background: #edf7ee; border-color: #c6e4c8; }
.alert-success::before { background: #2e7d32; }

/* Buttons aus dem alten Theme */
.tmf-text-cta, .btn-primary, .btn-default, a.btn:not([class*="btn--"]), button.btn:not([class*="btn--"]) {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  padding: .8em 1.45em; border-radius: 999px; border: 2px solid transparent;
  background: var(--c-accent); color: var(--c-accent-ink) !important;
  font: 600 1rem/1.1 var(--f-body); text-decoration: none !important;
  box-shadow: 0 6px 18px -8px color-mix(in srgb, var(--c-accent) 80%, black);
  transition: transform .2s var(--ease), background-color .2s;
}
.tmf-text-cta:hover, .btn-primary:hover, .btn-default:hover, a.btn:not([class*="btn--"]):hover { transform: translateY(-1px); background: color-mix(in srgb, var(--c-accent) 88%, white); }
.btn-default { background: transparent; border-color: var(--c-ink); color: var(--c-ink) !important; box-shadow: none; }

/* Partnerkarten (Seite „Partner“) */
.row.cardbox { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 32px 24px; margin: 2em 0; }
.row.cardbox > [class*="col-"] { max-width: none; padding-inline: 0; }
.partnercard > :not(.card-image) { padding-inline: 4px; }
.partnercard { display: flex; flex-direction: column; }
.partnercard .card-image {
  display: grid; place-items: center; height: 220px; padding: 28px; margin-bottom: 18px;
  background: var(--c-surface); border-radius: var(--radius); box-shadow: var(--shadow);
}
.partnercard .card-image img { max-height: 160px !important; max-width: 88% !important; width: auto; margin: 0 !important; border-radius: 0; object-fit: contain; }
.partnercard h2 { font-size: 1.25rem; margin: 0 0 .4em; }
.partnercard p { font-size: .95rem; color: var(--c-muted); overflow-wrap: anywhere; }

/* Tabellen */
.table { width: 100%; }
.table-striped tbody tr:nth-child(odd) td { background: var(--c-tint); }
.table-responsive { overflow-x: auto; }

/* Alter „nach oben“-Link im Inhalt */
#toTop { display: inline-flex; gap: .4em; }

/* Bootstrap-Collapse (wird von js/theme.js bedient) */
.collapse:not(.in):not(.show) { display: none; }
