.cd-photo-set-intro{
  background: var(--cdpsi-bg);
  color: var(--cdpsi-text);
  border-left: 6px solid var(--cdpsi-accent);
  padding: var(--cdpsi-py) var(--cdpsi-px);
  border-radius: var(--cdpsi-radius);
  box-sizing: border-box;
  margin: 0.75rem auto 1.25rem auto;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
}

/* Inner wrapper */
.cd-photo-set-intro .cd-psi-inner{
  max-width: var(--cdpsi-maxw);
  margin: 0 auto;
}

/* Headline */
.cd-photo-set-intro .cd-psi-title{
  font-family: var(--cdpsi-hfont, inherit);
  font-size: clamp(calc(var(--cdpsi-hsize) * 0.82), 2.2vw, var(--cdpsi-hsize));
  line-height: 1.15;
  font-weight: 700;
  margin: 0 0 0.45rem 0;
  color: inherit;
}

/* Body */
.cd-photo-set-intro .cd-psi-body{
  font-family: var(--cdpsi-bfont, inherit);
  font-size: clamp(calc(var(--cdpsi-bsize) * 0.92), 1.2vw, var(--cdpsi-bsize));
  line-height: 1.42;
  opacity: 0.95;
}

.cd-photo-set-intro .cd-psi-body p{
  margin: 0.35rem 0;
}

/* Contained */
.cd-photo-set-intro.cd-psi-mode-contained{
  width: 100%;
  max-width: var(--cdpsi-maxw);
}

/* ✅ Wide: no sidebar overlap */
.cd-photo-set-intro.cd-psi-mode-wide{
  max-width: none;
  box-sizing: border-box;
  width: calc(100% - (2 * var(--cdpsi-edge, 0px)));
  margin: 0.75rem var(--cdpsi-edge, 0px) 1.25rem var(--cdpsi-edge, 0px);
}

/* Full-bleed viewport breakout + inset */
.cd-photo-set-intro.cd-psi-mode-full{
  width: calc(100vw - (2 * var(--cdpsi-edge, 0px)));
  max-width: none;

  margin-left: calc(50% - 50vw + var(--cdpsi-edge, 0px));
  margin-right: calc(50% - 50vw + var(--cdpsi-edge, 0px));

  overflow: hidden;

  /* keep vertical padding on outer box */
  padding-top: var(--cdpsi-py);
  padding-bottom: var(--cdpsi-py);

  /* remove outer side padding so background bleeds cleanly */
  padding-left: 0;
  padding-right: 0;
}

.cd-photo-set-intro.cd-psi-mode-full .cd-psi-inner{
  max-width: var(--cdpsi-maxw);
  margin: 0 auto;
  padding-left: var(--cdpsi-px);
  padding-right: var(--cdpsi-px);
  box-sizing: border-box;
}

@media (max-width: 768px){
  .cd-photo-set-intro{
    border-left-width: 4px;
    box-shadow: none;
  }

  .cd-photo-set-intro .cd-psi-title{
    line-height: 1.18;
  }

  .cd-photo-set-intro .cd-psi-body{
    line-height: 1.35;
  }
}