/**
 * Aktionsleiste der Setkarte (Favorit, Notiz, Drucken), Merkliste und
 * Druckfassung.
 *
 * Eigene Datei, weil an setcard.css mehrere Baustellen hängen. Wird nach
 * setcard.css geladen und darf deshalb einzelne Regeln daraus überschreiben.
 */

/* ------------------------------------------------------------- Favorit */

/* Leeres Herz als Grundzustand, gefüllt sobald gemerkt. */
.dsmdb-sc__action.is-fav::before { content: "\2661"; }
.dsmdb-sc__action.is-fav.is-on::before { content: "\2665"; }
.dsmdb-sc__action.is-fav.is-on {
  border-color: #c0392b;
  color: #e74c3c;
}

.dsmdb-sc__action.is-note.is-on {
  border-color: #c0392b;
  color: #e9b44c;
}

.dsmdb-sc__action.is-busy {
  opacity: 0.55;
  pointer-events: none;
}

.dsmdb-sc__action.is-fav,
.dsmdb-sc__action.is-note,
.dsmdb-sc__action.is-print {
  cursor: pointer;
}

.dsmdb-sc__action:focus-visible {
  outline: 2px solid #e74c3c;
  outline-offset: 2px;
}

/* --------------------------------------------------------------- Notiz */

.dsmdb-note-dialog,
.dsmdb-print-dialog {
  max-width: min(560px, 94vw);
}

/* Das Theme färbt h2 dunkel — auf der dunklen Dialogfläche war die
   Überschrift dadurch praktisch unlesbar. */
.dsmdb-note-dialog .dsmdb-sc-dialog__panel h2,
.dsmdb-print-dialog .dsmdb-sc-dialog__panel h2 {
  color: #f5f5f5;
  text-shadow: none;
}

.dsmdb-note-lead {
  margin: -0.5rem 0 0.8rem;
  color: #9a9a9a;
  font-size: 0.88rem;
}

.dsmdb-note-dialog textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 8.5rem;
  padding: 0.6rem 0.7rem;
  background: #141414;
  color: #f2f2f2;
  border: 1px solid #3a3a3a;
  border-radius: 4px;
  font: inherit;
  line-height: 1.5;
  resize: vertical;
}

.dsmdb-note-dialog textarea:focus {
  border-color: #c0392b;
  outline: none;
}

.dsmdb-note-actions,
.dsmdb-print-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0.85rem 0 0;
}

.dsmdb-note-save,
.dsmdb-note-cancel {
  border: 1px solid #444;
  border-radius: 4px;
  padding: 0.5rem 0.9rem;
  font: inherit;
  cursor: pointer;
  background: #262626;
  color: #f2f2f2;
}

.dsmdb-note-save {
  background: #c0392b;
  border-color: #c0392b;
  font-weight: 600;
}

.dsmdb-note-save:hover { background: #a93226; }
.dsmdb-note-cancel:hover { border-color: #666; }

.dsmdb-note-status {
  color: #9a9a9a;
  font-size: 0.85rem;
}

.dsmdb-note-foot {
  margin: 0.9rem 0 0;
  padding-top: 0.7rem;
  border-top: 1px solid #333;
  font-size: 0.85rem;
}

.dsmdb-note-foot a { color: #e9b44c; }

.dsmdb-print-hint {
  margin: 0.9rem 0 0;
  padding-top: 0.7rem;
  border-top: 1px solid #333;
  color: #bdbdbd;
  font-size: 0.88rem;
  line-height: 1.5;
}

/* ------------------------------------------------------------- Meldung */

.dsmdb-toast {
  position: fixed;
  left: 50%;
  bottom: 1.4rem;
  transform: translate(-50%, 1.5rem);
  z-index: 9999;
  max-width: min(440px, 92vw);
  padding: 0.65rem 1rem;
  border: 1px solid #3a3a3a;
  border-radius: 4px;
  background: #202020;
  color: #f2f2f2;
  font-size: 0.9rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.dsmdb-toast.is-on {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* ------------------------------------------------------- Quellenangabe */

.dsmdb-geo-credit {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.4rem 1rem 1.2rem;
  color: #7d7d7d;
  font-size: 0.72rem;
}

.dsmdb-geo-credit a { color: #8f8f8f; }

/* ----------------------------------------------------------- Merkliste */

.dsmdb-merkliste { margin: 2rem 0 0; }
.dsmdb-merkliste h2 { margin: 0 0 0.9rem; font-size: 1.15rem; }
.dsmdb-merkliste__empty,
.dsmdb-merkliste__hint {
  margin: 0 0 0.9rem;
  color: #8a8a8a;
  font-size: 0.9rem;
}

.dsmdb-merkliste__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.6rem;
}

.dsmdb-merkliste__item {
  border: 1px solid rgba(128, 128, 128, 0.3);
  border-radius: 4px;
  padding: 0.6rem 0.7rem;
}

.dsmdb-merkliste__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
}

.dsmdb-merkliste__link img,
.dsmdb-merkliste__ph {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 3px;
  flex: 0 0 auto;
  background: rgba(128, 128, 128, 0.25);
}

.dsmdb-merkliste__name { font-weight: 600; }
.dsmdb-merkliste__name em {
  font-style: normal;
  font-weight: 400;
  color: #8a8a8a;
}

.dsmdb-merkliste__note {
  margin: 0.55rem 0 0;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(128, 128, 128, 0.25);
  font-size: 0.9rem;
  line-height: 1.5;
}

/* --------------------------------------------------------- Druckfassung */

/*
 * Der Bildschirmstil ist dunkel. Browser drucken Hintergrundfarben nicht,
 * die helle Schrift aber schon — ohne diese Regeln käme weiß auf weiß aufs
 * Papier. Also alles auf schwarz auf weiß zurückdrehen und alles ausblenden,
 * was auf Papier keinen Sinn hat.
 */
@media print {
  html,
  body {
    background: #fff !important;
    color: #000 !important;
  }

  .faof-top,
  .faof-nav,
  .faof-foot,
  .faof-dock,
  .faof-partners,
  .ofm-lang,
  .dsmdb-float,
  .dsmdb-toast,
  .dsmdb-geo-credit,
  .dsmdb-sc__actions,
  .dsmdb-sc__subnav,
  .dsmdb-back,
  .eib-header,
  .eib-nav,
  .eib-footer-links,
  .eib-copy,
  .dsmdb-search,
  .dsmdb-sc__box--shooting,
  .dsmdb-videos,
  .dsmdb-sc__videos,
  .dsmdb-sc__gallery-list,
  .dsmdb-sc__galleries,
  .ds-sedcard-detail__viewer-actions,
  .ds-sedcard-detail__viewer-nav,
  .ds-sedcard-detail__viewer-strip,
  .ds-sedcard-detail__viewer-strip-label,
  .dsmdb-tiles,
  dialog,
  .dsmdb-photo-detail,
  .dsmdb-msg-dialog,
  .dsmdb-sc__shooting-open,
  .dsmdb-sc__box-hint,
  iframe,
  video,
  form {
    display: none !important;
  }

  /* Die Fotokacheln sind Schaltflächen — die bleiben, nur ohne Rahmen. */
  .dsmdb-sc__photo {
    display: block !important;
    border: 0 !important;
    background: none !important;
    padding: 0 !important;
  }

  .dsmdb-sc,
  .dsmdb-sc__layout,
  .dsmdb-sc__main,
  .dsmdb-sc__sidebar,
  .dsmdb-sc__box,
  .dsmdb-sc__about,
  .dsmdb-sc__stats,
  .dsmdb-sc__stat,
  .dsmdb-sc__photos,
  .dsmdb-sc__banner,
  .dsmdb-sc__banner-inner,
  .faof-main {
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .dsmdb-sc {
    padding: 0 !important;
    font-size: 10pt;
  }

  /* Kopfbild als Fläche bringt auf Papier nichts, das Profilbild schon. */
  .dsmdb-sc__banner-media { display: none !important; }

  .dsmdb-sc__banner-inner {
    margin-top: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12pt !important;
    border-bottom: 1pt solid #000;
    padding-bottom: 8pt !important;
    margin-bottom: 10pt !important;
  }

  .dsmdb-sc__avatar {
    width: 90pt !important;
    height: 120pt !important;
    border: 1pt solid #666 !important;
    box-shadow: none !important;
  }

  .dsmdb-sc__title {
    color: #000 !important;
    text-shadow: none !important;
    font-size: 20pt !important;
  }

  .dsmdb-sc__role,
  .dsmdb-sc__stat span,
  .dsmdb-sc__box h3,
  .dsmdb-sc__dl dt {
    color: #333 !important;
  }

  .dsmdb-sc__badge {
    color: #000 !important;
    background: none !important;
    border: 1pt solid #666;
    padding: 0 2pt !important;
  }

  /* Statistikbalken als Tabellenzeile, ohne Scrollbereich. */
  .dsmdb-sc__stats {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    border: 1pt solid #999 !important;
    margin-bottom: 10pt !important;
  }

  .dsmdb-sc__stat {
    border-right: 1pt solid #ccc !important;
    padding: 4pt 8pt !important;
  }

  .dsmdb-sc__stat strong { color: #000 !important; }

  /* Eine Spalte: zwei Spalten brechen im Druck unschön um. */
  .dsmdb-sc__layout {
    display: block !important;
  }

  /* Über die Breite steuern, nicht über die Höhe: setcard.css setzt am
     Bildbetrachter max-height:none!important mit höherer Spezifität, und
     die Bühne hat ein festes Seitenverhältnis von 3:4. 8,2 cm Breite
     ergeben knapp 11 cm Höhe — so bleiben Kopf, Statistikbalken, Bild und
     Vorstellung gemeinsam auf der ersten Seite. */
  .dsmdb-sc__hero {
    max-width: 8.2cm !important;
    margin: 0 auto 10pt !important;
  }

  .dsmdb-sc__hero img,
  .ds-sedcard-detail__viewer-main {
    max-width: 100% !important;
  }

  .dsmdb-sc__about-body,
  .dsmdb-sc__dl,
  .dsmdb-sc__areas,
  .dsmdb-sc__area-legend {
    color: #000 !important;
  }

  .dsmdb-sc__box {
    border: 1pt solid #bbb !important;
    padding: 6pt 8pt !important;
    margin: 0 0 8pt !important;
    break-inside: avoid;
  }

  .dsmdb-sc__sidebar {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8pt;
  }

  .dsmdb-sc__areas li { color: #000 !important; }
  .dsmdb-sc__areas li.is-no { color: #777 !important; }

  .dsmdb-sc__about {
    break-inside: avoid;
  }

  .dsmdb-sc__photos {
    border-top: 1pt solid #999 !important;
    padding-top: 8pt !important;
    margin-top: 8pt !important;
  }

  .dsmdb-sc__photo-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4pt !important;
  }

  /* Ab dem achten Bild wird der Ausdruck nur noch dick. */
  .dsmdb-sc__photo-grid > *:nth-child(n + 9) { display: none !important; }

  /* Ein Seitenumbruch soll zwischen den Bildern liegen, nicht mitten durch. */
  .dsmdb-sc__photo-grid > * { break-inside: avoid; }

  .dsmdb-sc__photo { cursor: auto; }

  a { color: #000 !important; text-decoration: none !important; }

  /* Die Adresse der Setkarte gehört aufs Papier, sonst ist der Ausdruck
     nicht zuzuordnen. */
  .dsmdb-sc::after {
    content: "onlyfans-manager.de";
    display: block;
    margin-top: 10pt;
    padding-top: 4pt;
    border-top: 1pt solid #999;
    font-size: 8pt;
    color: #555;
  }

  @page {
    margin: 12mm;
  }
}
