/**
 * Setcard-Frontend (model-kartei-orientiert): Stats, 2-Spalten, Galerien, Foto-Grid, Sidebar.
 */
.dsmdb-sc {
  --dsmdb-sc-bg: #1a1a1a;
  --dsmdb-sc-panel: #242424;
  --dsmdb-sc-line: #333;
  --dsmdb-sc-text: #f2f2f2;
  --dsmdb-sc-muted: #9a9a9a;
  --dsmdb-sc-accent: #c0392b;
  --dsmdb-sc-yes: #2ecc71;
  --dsmdb-sc-maybe: #f1c40f;
  --dsmdb-sc-no: #e74c3c;
  color: var(--dsmdb-sc-text);
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem 3rem;
}

.dsmdb-sc__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem 1.25rem;
  margin: 0.5rem 0 1rem;
}

.dsmdb-sc__title {
  margin: 0;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.dsmdb-sc .dsmdb-back {
  margin: 0;
}

.dsmdb-sc .dsmdb-back a {
  color: var(--dsmdb-sc-muted);
  text-decoration: none;
}

.dsmdb-sc .dsmdb-back a:hover {
  color: var(--dsmdb-sc-text);
}

/* Stats-Balken volle Breite */
.dsmdb-sc__stats {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  overflow-x: auto;
  background: #2a2a2a;
  border: 1px solid var(--dsmdb-sc-line);
  margin: 0 0 1.25rem;
}

.dsmdb-sc__stat {
  flex: 1 1 0;
  min-width: 6.5rem;
  text-align: center;
  padding: 0.75rem 0.5rem;
  border-right: 1px solid var(--dsmdb-sc-line);
}

.dsmdb-sc__stat:last-child {
  border-right: 0;
}

.dsmdb-sc__stat strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
}

.dsmdb-sc__stat span {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--dsmdb-sc-muted);
}

.dsmdb-sc__fb {
  display: flex;
  justify-content: center;
  gap: 0.55rem;
  font-weight: 700;
  font-size: 0.95rem;
}

.dsmdb-sc__fb .is-pos { color: var(--dsmdb-sc-yes); }
.dsmdb-sc__fb .is-neu { color: var(--dsmdb-sc-maybe); }
.dsmdb-sc__fb .is-neg { color: var(--dsmdb-sc-no); }
.dsmdb-sc__fb .is-com { color: var(--dsmdb-sc-text); }

/* 2-Spalten */
.dsmdb-sc__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 1.5rem;
  align-items: start;
}

.dsmdb-sc__main {
  min-width: 0;
}

.dsmdb-sc__hero {
  margin-bottom: 1.5rem;
}

.dsmdb-sc__galleries,
.dsmdb-sc__photos,
.dsmdb-sc__videos {
  margin: 0 0 1.75rem;
}

.dsmdb-sc__galleries h2,
.dsmdb-sc__photos h2,
.dsmdb-sc__videos h2 {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.dsmdb-sc__galleries h2 em,
.dsmdb-sc__photos h2 em {
  font-style: normal;
  font-size: 0.75rem;
  background: #2d5a3d;
  color: #c8f0d4;
  padding: 0.1rem 0.4rem;
  margin-left: 0.35rem;
  border-radius: 2px;
  vertical-align: middle;
}

.dsmdb-sc__gallery-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}

.dsmdb-sc__gallery-card {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #111;
  color: #fff;
  text-decoration: none;
}

.dsmdb-sc__gallery-card img,
.dsmdb-sc__gallery-ph {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dsmdb-sc__gallery-ph {
  background: linear-gradient(135deg, #2a2a2a, #111);
}

.dsmdb-sc__gallery-title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.65rem 0.75rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dsmdb-sc__photos-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.dsmdb-sc__photo-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.35rem;
}

.dsmdb-sc__photo {
  appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  background: #111;
  cursor: pointer;
  aspect-ratio: 1;
  overflow: hidden;
}

.dsmdb-sc__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.25s ease;
}

.dsmdb-sc__photo:hover img,
.dsmdb-sc__photo:focus-visible img {
  transform: scale(1.04);
}

/* Sidebar */
.dsmdb-sc__sidebar {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.dsmdb-sc__box {
  background: var(--dsmdb-sc-panel);
  border: 1px solid var(--dsmdb-sc-line);
  padding: 0.9rem 1rem 1rem;
}

.dsmdb-sc__box h3 {
  margin: 0 0 0.75rem;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--dsmdb-sc-muted);
}

.dsmdb-sc__dl {
  margin: 0;
}

.dsmdb-sc__dl > div {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 0.35rem 0.75rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.dsmdb-sc__dl > div:last-child {
  border-bottom: 0;
}

.dsmdb-sc__dl dt {
  margin: 0;
  color: var(--dsmdb-sc-muted);
  font-size: 0.8rem;
}

.dsmdb-sc__dl dd {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
}

.dsmdb-sc__empty {
  margin: 0;
  color: var(--dsmdb-sc-muted);
  font-size: 0.85rem;
  font-weight: 400;
}

.dsmdb-sc__areas {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 0.75rem;
}

.dsmdb-sc__areas li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
}

.dsmdb-sc__area-ico {
  width: 1rem;
  text-align: center;
  font-weight: 700;
}

.dsmdb-sc__areas .is-yes .dsmdb-sc__area-ico { color: var(--dsmdb-sc-yes); }
.dsmdb-sc__areas .is-maybe .dsmdb-sc__area-ico { color: var(--dsmdb-sc-maybe); }
.dsmdb-sc__areas .is-no .dsmdb-sc__area-ico { color: var(--dsmdb-sc-no); }

.dsmdb-sc__area-name {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Gruppenüberschrift zwischen den Bereichslisten. */
.dsmdb-sc__area-group {
  margin: 0.85rem 0 0.4rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dsmdb-sc-muted);
}

.dsmdb-sc__area-group:first-of-type {
  margin-top: 0;
}

.dsmdb-sc__box--areas .dsmdb-sc__areas + .dsmdb-sc__area-group {
  padding-top: 0.65rem;
  border-top: 1px solid var(--dsmdb-sc-line);
}

.dsmdb-sc__area-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.9rem;
  margin: 0.9rem 0 0;
  padding-top: 0.6rem;
  border-top: 1px solid var(--dsmdb-sc-line);
  font-size: 0.75rem;
  color: var(--dsmdb-sc-muted);
}

.dsmdb-sc__area-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.dsmdb-sc__area-legend .is-yes .dsmdb-sc__area-ico { color: var(--dsmdb-sc-yes); }
.dsmdb-sc__area-legend .is-maybe .dsmdb-sc__area-ico { color: var(--dsmdb-sc-maybe); }
.dsmdb-sc__area-legend .is-no .dsmdb-sc__area-ico { color: var(--dsmdb-sc-no); }

/* Viewer-Aktionsleiste: Like / Favorit / Vollbild */
.ds-sedcard-detail__viewer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
  margin: 0 0 0.5rem;
}

.ds-sedcard-detail__viewer-action {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--dsmdb-sc-text, #f2f2f2);
  cursor: pointer;
  font-size: 1.15rem;
  line-height: 1;
  padding: 0.25rem;
  opacity: 0.85;
}

.ds-sedcard-detail__viewer-action:hover,
.ds-sedcard-detail__viewer-action:focus-visible {
  opacity: 1;
  color: var(--dsmdb-sc-accent, #c0392b);
}

.ds-sedcard-detail__viewer-action.is-on {
  color: var(--dsmdb-sc-accent, #c0392b);
  opacity: 1;
}

.ds-sedcard-detail__viewer-action .dsmdb-sc-count {
  font-size: 0.8rem;
  margin-left: 0.15rem;
  vertical-align: middle;
}

@media (max-width: 960px) {
  .dsmdb-sc__layout {
    grid-template-columns: 1fr;
  }

  .dsmdb-sc__photo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dsmdb-sc__stats {
    flex-wrap: wrap;
  }

  .dsmdb-sc__stat {
    flex: 1 1 33%;
    border-bottom: 1px solid var(--dsmdb-sc-line);
  }
}

@media (max-width: 560px) {
  .dsmdb-sc__photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dsmdb-sc__areas {
    grid-template-columns: 1fr;
  }
}

/* Banner / One-Page Hero */
.dsmdb-sc__banner{
  position:relative;
  margin:0 0 .5rem;
  border-radius:4px;
  overflow:hidden;
  background:#111;
}
.dsmdb-sc__banner-media{
  min-height:220px;
  background-size:cover;
  background-position:center;
}
.dsmdb-sc__banner-media--empty{min-height:160px;background:linear-gradient(120deg,#1a1a1a,#333)}
.dsmdb-sc__banner-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:1rem;
  padding:0 1rem 1rem;
  margin-top:-64px;
  position:relative;
  z-index:2;
}
.dsmdb-sc__avatar{
  width:120px;height:120px;border-radius:4px;overflow:hidden;
  border:3px solid #1a1a1a;background:#222;flex:0 0 auto;
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
.dsmdb-sc__avatar img{display:block;width:100%;height:100%;object-fit:cover}
.dsmdb-sc__avatar-ph{display:block;width:100%;height:100%;background:#333}
.dsmdb-sc__banner-meta{flex:1 1 200px;min-width:0;padding-bottom:.2rem}
.dsmdb-sc__banner-meta .dsmdb-sc__title{margin:0 0 .25rem;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.dsmdb-sc__role{margin:0;color:#ddd;font-size:.92rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.dsmdb-sc__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;font-size:.75rem;font-weight:700}
.dsmdb-sc__badge.is-online{color:#2ecc71}
.dsmdb-sc__badge.is-verified{color:#2ecc71;background:rgba(46,204,113,.15);padding:.1rem .35rem;border-radius:2px}
.dsmdb-sc__badge.is-vip{color:#f1c40f;background:rgba(241,196,15,.12);padding:.1rem .4rem;border-radius:2px;letter-spacing:.06em}
.dsmdb-sc__actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}
.dsmdb-sc__action{
  width:36px;height:36px;border-radius:50%;border:1px solid #444;background:#1f1f1f;
  display:inline-flex;align-items:center;justify-content:center;color:#eee;text-decoration:none;
  position:relative;
}
.dsmdb-sc__action::before{font-size:14px;line-height:1}
.dsmdb-sc__action.is-msg::before{content:"✉"}
.dsmdb-sc__action.is-sub::before{content:"📡"}
.dsmdb-sc__action.is-fav::before{content:"♥"}
.dsmdb-sc__action.is-net::before{content:"⧉"}
.dsmdb-sc__action.is-shoot::before{content:"📷"}
.dsmdb-sc__action.is-note::before{content:"✎"}
.dsmdb-sc__action.is-print::before{content:"⎙"}
.dsmdb-sc__action:hover{border-color:#c0392b;background:#2a2a2a}
.dsmdb-sc__subnav{
  display:flex;gap:1rem;border-bottom:1px solid #333;margin:1rem 0;
  padding:0 0 .5rem;
}
.dsmdb-sc__subnav a{color:#9a9a9a;text-decoration:none;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem}
.dsmdb-sc__subnav a.is-active,
.dsmdb-sc__subnav a:hover{color:#fff;border-bottom:2px solid #c0392b;padding-bottom:.35rem}
.dsmdb-sc__about,
.dsmdb-sc__shooting{
  background:var(--dsmdb-sc-panel);border:1px solid var(--dsmdb-sc-line);
  padding:1rem 1.1rem;margin:0 0 1.1rem;border-radius:4px;
}
.dsmdb-sc__about h2,
.dsmdb-sc__shooting h2{margin:0 0 .75rem;font-size:1.05rem}
.dsmdb-sc__about-body{color:#e8e8e8;line-height:1.55}
.dsmdb-sc__about-body p{margin:0 0 .75rem}
.dsmdb-sc__pay{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 .75rem}
.dsmdb-sc__pay-item{
  width:88px;height:88px;border-radius:50%;border:2px solid #555;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;
  background:#1a1a1a;font-size:.8rem;
}
.dsmdb-sc__pay-item strong{font-size:.95rem}
.dsmdb-sc__pay-item.is-yes{border-color:#2ecc71;color:#2ecc71}
.dsmdb-sc__pay-item.is-no{border-color:#e74c3c;color:#e74c3c}
.dsmdb-sc__shooting-note{margin:0;color:#bdbdbd;font-size:.92rem}
@media print{
  .dsmdb-sc__actions,.dsmdb-back,.faof-header,.faof-footer,.ofm-lang{display:none!important}
}

/* Hauptbild: volle Hauptspalte, kein Filmstreifen darunter */
.dsmdb-sc__layout{
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
  gap: 1rem;
}
.dsmdb-sc__hero{
  margin:0 0 1rem;
  width:100%;
  position:relative;
}
.dsmdb-sc__hero .ds-sedcard-detail__viewer,
.dsmdb-sc__hero .dsmdb-viewer{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}
.dsmdb-sc__hero .ds-sedcard-detail__viewer-toolbar,
.dsmdb-sc__hero .ds-sedcard-detail__viewer-stage-wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.dsmdb-sc__hero .ds-sedcard-detail__viewer-stage{
  width:100%!important;
  max-width:none!important;
  aspect-ratio:3/4;
  min-height:0;
  max-height:none!important;
  background:#111;
  overflow:hidden;
  margin:0!important;
}
.dsmdb-sc__hero .ds-sedcard-detail__viewer-main,
.dsmdb-sc__hero .ds-sedcard-detail__viewer-stage img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center top!important;
  display:block!important;
}
.dsmdb-sc__hero .ds-sedcard-detail__viewer-strip,
.dsmdb-sc__hero .ds-sedcard-detail__viewer-strip-label{
  display:none!important;
}
.dsmdb-sc__hero .ds-sedcard-detail__viewer-actions{
  position:absolute;
  top:.5rem;right:.5rem;z-index:8;
}
.dsmdb-sc__stats{
  margin-left:0;
  margin-right:0;
  width:100%;
  box-sizing:border-box;
}

.dsmdb-sc__about{
  color:#1a1a1a;
  background:#f4f4f4;
  border-color:#ddd;
}
body.dsmdb-front .dsmdb-sc__about,
.dsmdb-sc .dsmdb-sc__about{
  background:var(--dsmdb-sc-panel);
  border:1px solid var(--dsmdb-sc-line);
  color:var(--dsmdb-sc-text);
}

/* Shootingvorgaben Trigger + Dialog */
.dsmdb-sc__box--shooting{padding:.85rem 1rem}
.dsmdb-sc__shooting-open{
  appearance:none;border:0;background:transparent;color:#e8c9a0;
  font:inherit;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  cursor:pointer;padding:0;display:flex;width:100%;justify-content:space-between;align-items:center;
}
.dsmdb-sc__shooting-open:hover{color:#fff}
.dsmdb-sc__box-hint{margin:.35rem 0 0;font-size:.8rem;color:var(--dsmdb-sc-muted)}
.dsmdb-sc-dialog{
  border:0;padding:0;background:transparent;max-width:min(520px,92vw);
}
.dsmdb-sc-dialog::backdrop{background:rgba(0,0,0,.55)}
.dsmdb-sc-dialog__panel{
  background:#1f1f1f;color:#f2f2f2;padding:1.25rem 1.35rem 1.4rem;
  border:1px solid #333;border-radius:6px;position:relative;
}
.dsmdb-sc-dialog__close{
  position:absolute;top:.5rem;right:.65rem;border:0;background:transparent;
  color:#aaa;font-size:1.4rem;cursor:pointer;line-height:1;
}
.dsmdb-sc-dialog__panel h2{margin:0 0 1rem;font-size:1.15rem}

/* Foto-Grid dunkler MK-Stil */
.dsmdb-sc__photos{
  background:#141414;padding:1rem;border-radius:4px;margin-top:1rem;
}
.dsmdb-sc__photo-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.4rem;
}
.dsmdb-sc__photo{
  aspect-ratio:3/4;background:#0d0d0d;cursor:pointer;padding:0;overflow:hidden;
}
.dsmdb-sc__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.dsmdb-sc__photo:hover img{transform:scale(1.03)}

/* Fotodetail Lightbox */
.dsmdb-photo-detail{
  border:0;padding:0;width:min(1280px,96vw);max-width:96vw;
  background:transparent;max-height:94vh;
}
.dsmdb-photo-detail::backdrop{background:rgba(0,0,0,.78)}
.dsmdb-photo-detail__shell{
  background:#1a1a1a;color:#f2f2f2;border:1px solid #333;border-radius:6px;
  max-height:94vh;overflow:auto;
}
.dsmdb-photo-detail__top{
  display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;
  justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #333;
  position:sticky;top:0;background:#1a1a1a;z-index:3;
}
.dsmdb-photo-detail__titles{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.dsmdb-photo-detail__photo-title{font-size:1rem}
.dsmdb-photo-detail__by{font-size:.85rem;color:#aaa}
.dsmdb-photo-detail__by a{color:#e07a6a;text-decoration:none}
.dsmdb-photo-detail__actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.dsmdb-photo-detail__actions button,
.dsmdb-photo-detail__actions a{
  appearance:none;border:1px solid #444;background:#222;color:#eee;
  width:2.2rem;height:2.2rem;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;cursor:pointer;font-size:.95rem;
}
.dsmdb-photo-detail__actions [data-pd-like]{width:auto;padding:0 .55rem;gap:.35rem}
.dsmdb-photo-detail__actions [data-pd-like] em{font-style:normal;font-weight:700}
.dsmdb-photo-detail__actions [data-pd-fav].is-on{color:#f1c40f;border-color:#f1c40f}
.dsmdb-photo-detail__x{font-size:1.25rem!important}
.dsmdb-photo-detail__body{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:0;align-items:start;
}
.dsmdb-photo-detail__stage-col{min-width:0;padding:0 0 1rem}
.dsmdb-photo-detail__stage{
  position:relative;background:#0a0a0a;min-height:420px;
  display:flex;align-items:center;justify-content:center;
}
.dsmdb-photo-detail__stage img{
  max-width:100%;max-height:70vh;object-fit:contain;display:block;
}
.dsmdb-photo-detail__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid rgba(255,255,255,.3);
  background:rgba(0,0,0,.55);color:#fff;font-size:1.6rem;cursor:pointer;
}
.dsmdb-photo-detail__nav.is-prev{left:.75rem}
.dsmdb-photo-detail__nav.is-next{right:.75rem}
.dsmdb-photo-detail__counter{
  position:absolute;left:.75rem;bottom:.65rem;font-size:.75rem;color:#ccc;
  background:rgba(0,0,0,.45);padding:.2rem .45rem;border-radius:2px;
}
.dsmdb-photo-detail__below{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);gap:1rem;
  padding:1rem;
}
.dsmdb-photo-detail__comments h3,
.dsmdb-photo-detail__meta h3{margin:0 0 .65rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}
.dsmdb-photo-detail__comments h3 em{font-style:normal;font-size:.75rem;background:#2d5a3d;color:#c8f0d4;padding:.1rem .35rem;margin-left:.3rem}
.dsmdb-photo-detail__cform{display:grid;gap:.5rem;margin-bottom:.85rem}
.dsmdb-photo-detail__cform textarea{
  width:100%;background:#111;border:1px solid #333;color:#fff;padding:.55rem;border-radius:3px;resize:vertical;
}
.dsmdb-photo-detail__cform button{
  justify-self:start;background:#2f6b57;color:#fff;border:0;padding:.55rem .9rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-radius:2px;
}
.dsmdb-photo-detail__clist{list-style:none;margin:0;padding:0}
.dsmdb-photo-detail__clist li{
  display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;padding:.65rem 0;border-bottom:1px solid #2c2c2c;
}
.dsmdb-photo-detail__clist li p{grid-column:1/-1;margin:.2rem 0 0;color:#ddd}
.dsmdb-photo-detail__clist .is-empty{color:#888;border:0}
.dsmdb-photo-detail__ctime{font-size:.75rem;color:#888}
.dsmdb-photo-detail__report{margin:.75rem 0 0;text-align:right}
.dsmdb-photo-detail__report button{background:transparent;border:0;color:#888;cursor:pointer;font-size:.8rem}
.dsmdb-photo-detail__rail{
  border-left:1px solid #333;padding:1rem;background:#161616;
  position:sticky;top:3.2rem;align-self:start;max-height:calc(94vh - 3.5rem);overflow:auto;
}
.dsmdb-photo-detail__rail-x{
  float:right;border:0;background:transparent;color:#aaa;font-size:1.25rem;cursor:pointer;line-height:1;
}
.dsmdb-photo-detail__rail-desc{color:#ccc;font-size:.9rem;line-height:1.45}
.dsmdb-photo-detail__rail-stats{color:#aaa;font-size:.85rem}
.dsmdb-photo-detail__rating{margin-top:.75rem;color:#f1c40f}
.dsmdb-photo-detail__rating small{display:block;color:#888;margin-top:.25rem}
.dsmdb-photo-detail__admin{margin-top:.75rem}
.dsmdb-photo-detail__seo{margin:0;padding-left:1.1rem;color:#bbb;font-size:.85rem}
.dsmdb-photo-detail__edit-img,
.dsmdb-photo-detail__rail [data-pd-copylink]{
  appearance:none;border:1px solid #555;background:#2a2a2a;color:#eee;
  padding:.5rem .75rem;cursor:pointer;border-radius:3px;width:100%;
}
.dsmdb-photo-detail__edit-img{background:#cda154;border-color:#cda154;color:#111;font-weight:700;margin-top:.35rem}

@media(max-width:960px){
  .dsmdb-photo-detail__body{grid-template-columns:1fr}
  .dsmdb-photo-detail__rail{position:static;border-left:0;border-top:1px solid #333}
  .dsmdb-photo-detail__below{grid-template-columns:1fr}
  .dsmdb-sc__photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .dsmdb-sc__photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}



/* =====================================================================
   Mobil: Umbruch erzwingen.

   Warum am Dateiende und nicht oben bei den anderen Abfragen: Weiter oben
   steht in Zeile ~344 bereits eine Regel, die .dsmdb-sc__layout unter 960px
   einspaltig macht. Sie lief ins Leere, weil das Layout danach in Zeile ~456
   ein zweites Mal ohne Abfrage definiert wird — gleiche Spezifität, spätere
   Stelle, also gewinnt die zweispaltige Fassung auf jeder Breite. Auf dem
   Telefon blieb dadurch eine 260 Pixel breite Seitenspalte stehen, der
   Hauptbereich schrumpfte auf Restbreite und die Panels schoben sich
   übereinander.

   Dieser Block steht hinter allen Definitionen und räumt das auf.
   ===================================================================== */
@media (max-width: 960px) {
  .dsmdb-sc__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .dsmdb-sc__main,
  .dsmdb-sc__sidebar {
    min-width: 0;
    max-width: 100%;
  }

  /* Die Seitenspalte klebte am Desktop oben fest. Untereinander gestellt
     ergibt das ein Panel, das beim Scrollen mitwandert und den Text verdeckt. */
  .dsmdb-sc__sidebar {
    position: static;
    top: auto;
  }
}

@media (max-width: 720px) {
  /* Kennzahlenleiste: sechs Werte nebeneinander ergeben unter 720 Pixel
     Spalten von gut 50 Pixeln, in denen jede Beschriftung abgeschnitten wird. */
  .dsmdb-sc__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }
  .dsmdb-sc__stat {
    flex: none;
    min-width: 0;
    border-right: 1px solid var(--dsmdb-sc-line);
    border-bottom: 1px solid var(--dsmdb-sc-line);
  }
  .dsmdb-sc__stat--feedback {
    grid-column: 1 / -1;
  }

  .dsmdb-sc__gallery-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Der Banner zieht den Titelbereich um 64 Pixel nach oben unter das Bild.
     Auf schmalen Geräten steht der Name dadurch auf dem Motiv statt darunter. */
  .dsmdb-sc__banner-inner {
    margin-top: -32px;
    padding: 0 0.75rem 0.75rem;
  }
  .dsmdb-sc__avatar {
    width: 84px;
    height: 84px;
  }
  .dsmdb-sc__actions {
    margin-left: 0;
    width: 100%;
  }

  .dsmdb-sc__subnav {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    gap: 0.9rem;
  }
  .dsmdb-sc__subnav a {
    white-space: nowrap;
  }
}

@media (max-width: 480px) {
  .dsmdb-sc__gallery-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .dsmdb-sc__pay-item {
    width: 74px;
    height: 74px;
    font-size: 0.72rem;
  }
  .dsmdb-sc__areas {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Letzte Absicherung: Kein Kind der Setkarte darf breiter sein als der
   Bildschirm. Bilder und Tabellen aus Nutzerinhalten halten sich sonst nicht
   an die Rasterbreite. */
@media (max-width: 960px) {
  .dsmdb-sc {
    overflow-x: clip;
  }
  .dsmdb-sc img,
  .dsmdb-sc table,
  .dsmdb-sc pre {
    max-width: 100%;
    height: auto;
  }
}
