/* Gallery skins — packs visuels pour layouts existants */
.gallery-block[data-skin="default"] { --skin-radius: 0; --skin-frame: transparent; --skin-gap-boost: 0px; }
.gallery-block[data-skin="baryte"] {
  --skin-radius: 2px;
  --skin-frame: rgba(255,255,255,.08);
  --skin-caption: #f4efe6;
  --skin-gap-boost: 4px;
}
.gallery-block[data-skin="cinema"] {
  --skin-radius: 0;
  --skin-frame: #0a0a0a;
  --skin-caption: #e8dcc8;
  --skin-gap-boost: 2px;
}
.gallery-block[data-skin="verre"] {
  --skin-radius: 14px;
  --skin-frame: rgba(255,255,255,.14);
  --skin-caption: #eef6ff;
  --skin-gap-boost: 8px;
}
.gallery-block[data-skin="contact-sheet"] {
  --skin-radius: 0;
  --skin-frame: #111;
  --skin-caption: #cfcfcf;
  --skin-gap-boost: 0px;
}

.gallery-block[data-skin] .gallery-item,
.gallery-block[data-skin] .gm-item,
.gallery-block[data-skin] [class*="gallery-"] img,
.gallery-block[data-skin] [class*="gallery-"] video {
  border-radius: var(--skin-radius, 0);
}

.gallery-block[data-skin="baryte"] .gallery-item,
.gallery-block[data-skin="cinema"] .gallery-item,
.gallery-block[data-skin="verre"] .gallery-item {
  box-shadow: 0 0 0 1px var(--skin-frame);
}

.gallery-block[data-skin="cinema"] [class*="-layout"] {
  gap: calc(var(--gal-gap, 10px) + var(--skin-gap-boost)) !important;
  background: #050505;
  padding: 12px;
}

.gallery-block[data-skin="verre"] [class*="-layout"] {
  gap: calc(var(--gal-gap, 10px) + var(--skin-gap-boost)) !important;
}

.gallery-block[data-skin="contact-sheet"] [class*="-layout"] {
  gap: 3px !important;
  background: #1a1a1a;
  padding: 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.gallery-block[data-skin="contact-sheet"] .gallery-item {
  outline: 1px solid #333;
}
.gallery-block[data-skin="contact-sheet"] .gallery-item::after {
  content: attr(data-index);
  position: absolute;
  left: 4px; bottom: 4px;
  font-size: 10px;
  color: #aaa;
  background: rgba(0,0,0,.55);
  padding: 1px 4px;
}

.gallery-block[data-skin="baryte"] .gallery-block-title {
  font-family: "Newsreader", "Libre Baskerville", Georgia, serif;
  letter-spacing: .04em;
}
.gallery-block[data-skin="cinema"] .gallery-block-title {
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .95em;
}

/* Albums imbriqués */
.gallery-block.gallery-nested {
  margin-left: calc(var(--gal-depth, 1) * 18px);
  padding-left: 14px;
  border-left: 2px solid rgba(var(--color-accent-rgb, 201, 169, 110), .35);
}
.gallery-album-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  opacity: .75;
  margin-left: 8px;
}
.gallery-admin-album-meta { font-size: .72rem; opacity: .55; }

/* Skin cards in modal */
.skin-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 8px;
  margin: 8px 0 16px;
}
.skin-card {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color: inherit;
  border-radius: 8px;
  padding: 10px 8px;
  cursor: pointer;
  text-align: center;
  font-size: .78rem;
}
.skin-card.active {
  border-color: var(--color-accent, #c9a96e);
  box-shadow: 0 0 0 1px var(--color-accent, #c9a96e);
}
.skin-card i { display: block; margin-bottom: 6px; opacity: .85; }

/* Media library power toolbar */
.media-power-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin: 8px 0 10px;
}
.media-power-bar .btn-media-tool {
  font-size: .78rem;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: inherit;
  cursor: pointer;
}
.media-power-bar .btn-media-tool:hover { border-color: var(--color-accent, #c9a96e); }
.media-power-bar .btn-media-tool.danger { border-color: rgba(220,80,80,.45); color: #f0a0a0; }
.media-item img { background: #111; }
.media-tools-fab {
  position: absolute;
  left: 4px; bottom: 4px;
  display: none;
  gap: 3px;
}
.media-item:hover .media-tools-fab { display: flex; }
.media-tools-fab button {
  width: 24px; height: 24px;
  border: 0; border-radius: 4px;
  background: rgba(0,0,0,.7);
  color: #fff;
  cursor: pointer;
  font-size: 11px;
}

/* Crop modal */
.crop-stage {
  position: relative;
  max-height: 55vh;
  overflow: auto;
  background: #0b0b0b;
  border-radius: 8px;
  text-align: center;
}
.crop-stage img { max-width: 100%; display: block; margin: 0 auto; }
.crop-presets { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.crop-presets button {
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.15);
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.crop-presets button.active { border-color: var(--color-accent); }

/* Publish card */
.ds-tool-card.publish-busy { opacity: .6; pointer-events: none; }
.publish-status {
  font-size: .8rem;
  margin-top: 8px;
  opacity: .8;
  white-space: pre-wrap;
}
