.cd-root {
  position: relative;
  z-index: 0;
  background-image: url('/themes/layout1/orchid-mauve/background-orchid.jpg');
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: top center;
  background-color: var(--color-background);
}

.cd-root::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(40, 27, 32, 0.1);
  pointer-events: none;
  z-index: -1;
}

.cd-cover {
  background-image: url('/themes/layout1/orchid-mauve/background-orchid.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.cd-cover::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(40, 27, 32, 0.22), rgba(40, 27, 32, 0.4));
  pointer-events: none;
}

.cd-cover .cd-cover-subtitle,
.cd-cover .cd-cover-date-hari,
.cd-cover .cd-cover-date-tahun,
.cd-cover .cd-cover-date-bulan,
.cd-cover .cd-cover-recipient-label {
  color: #ffffff;
  text-shadow: 0 1px 6px rgba(40, 27, 32, 0.55);
}

.cd-cover .cd-cover-names,
.cd-cover .cd-cover-date-angka,
.cd-cover .cd-cover-recipient-name {
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(40, 27, 32, 0.6);
}

.cd-cover .cd-cover-date-box {
  border-color: rgba(255, 255, 255, 0.75);
}

/* === COVER — urutan nama: nama1 / & / nama2 masing-masing baris sendiri === */
.cd-cover .cd-ampersand {
  display: block;
  margin: 6px 0;
}

.cd-avatar-frame {
  border: none;
  box-shadow: 0 4px 16px rgba(131, 99, 113, 0.28);
}

/* === CARD — putih cerah, teks tajam, motif bunga tetap sedikit tembus === */
.cd-card {
  background: color-mix(in srgb, var(--color-surface) 86%, transparent);
  box-shadow: 0 8px 28px rgba(131, 99, 113, 0.18);
}