/**
 * CMS content wrapper — editor output uses the same classes as static templates.
 */
.cms-content {
  width: 100%;
}

/*
 * Homepage: CMS blocks must keep the same 96px vertical rhythm as .page-stack
 * direct children on the reference site (hero → featured → dropped → gender → …).
 */
.page-stack > .cms-content {
  display: flex;
  flex-direction: column;
  gap: 96px;
  width: 100%;
}

.page-stack > .cms-content > .wp-block-html {
  display: block;
  width: 100%;
  margin: 0;
}

.cms-content > :first-child {
  margin-top: 0;
}

/* Editorial images only — do not override layout/media tiles. */
.cms-content :where(p, figure, .wp-block-image) img {
  max-width: 100%;
  height: auto;
}

.cms-content .category-tile img,
.cms-content .gender__card img,
.cms-content .dropped__image,
.cms-content .dropped__media img,
.cms-content img.gallery-reel__slide,
.cms-content .gallery__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.citybilla-link-fields {
  margin: 16px 0;
  padding: 12px 0;
  border-top: 1px solid #dcdcde;
}

.citybilla-link-fields legend {
  padding: 0;
  font-size: 13px;
}

.citybilla-media-field {
  margin: 16px 0;
  padding: 12px 0;
  border-top: 1px solid #dcdcde;
}

.citybilla-media-field__preview img {
  display: block;
  max-width: 220px;
  height: auto;
  margin: 8px 0;
}

.citybilla-media-field__actions {
  display: flex;
  gap: 8px;
}
