/* Frontend Styles */
.ptnm-crossfade-centerstack {
  --ptnm-title-fg: #fff;
  --ptnm-title-opacity: 0.85;
  --ptnm-title-opacity-active: 1;
  --ptnm-title-gap: .55rem;
  --ptnm-title-size: clamp(1.2rem, 3.2vw, 2.2rem);
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: hidden;
  background: #000;
  color: #fff;
}
.ptnm-stage {
  position: relative;
  width: 100%;
  height: var(--ptnm-height, 65vh);
  overflow: hidden;
  background: #111;
}
.ptnm-stage a.ptnm-imglink,
.ptnm-stage img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.ptnm-stage a.ptnm-imglink { display: block; }
.ptnm-stage img {
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}
.ptnm-stage img.ptnm-active { opacity: 1; }

.ptnm-center-titles {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: left;
  pointer-events: none;
}
.ptnm-center-titles .ptnm-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--ptnm-title-gap);
  padding: 0 8vw;
  max-width: min(80ch, 92vw);
}
.ptnm-center-titles a.ptnm-title {pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  color: var(--ptnm-title-fg);
  text-shadow: 0 3px 14px rgba(0,0,0,.55);
  opacity: var(--ptnm-title-opacity);
  cursor: pointer;
  transition: opacity .25s ease, color .3s ease, transform .08s ease;
  text-decoration: none;

  
  line-height: 1.1;

  font-size: clamp(2rem, 6vw, 5em);
  font-family: inherit;
}
.ptnm-center-titles a.ptnm-title:hover { opacity: var(--ptnm-title-opacity-active); }
.ptnm-center-titles a.ptnm-title:active { transform: scale(.98); }
.ptnm-center-titles a.ptnm-title[aria-selected="true"] {
  opacity: var(--ptnm-title-opacity-active);
  color: var(--ptnm-active-color, #e93f3f);
}

@media (max-width: 768px) {
  .ptnm-crossfade-centerstack {  }
}


.ptnm-crossfade-titles {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  color: #fff;
  gap: 0.5em;
  z-index: 2;
  max-width: 90%;
}


.ptnm-crossfade-titles a {
  color: inherit;
  text-decoration: none;
  font-size: 4em;
  line-
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
.ptnm-crossfade-titles a.active {
  opacity: 1;
  color: var(--ptnm-active-color, #e93f3f);
}


@media (max-width: 480px) {
  .ptnm-center-titles a.ptnm-title { 
    /* Clamp already handles size; keep spacing modest on tiny screens */
    margin-bottom: 0.1em;
  

  font-size: clamp(2rem, 6vw, 5em);
  font-family: inherit;
}
  .ptnm-crossfade-titles {
    gap: 0.35em;
    left: 4%;
    max-width: 92vw;
  }
}
