.feature-theater {
  background: linear-gradient(180deg, #f7f4ff 0%, #fbfaff 62%, #fff 100%);
  color: #241c35;
  border-top: 1px solid #e9e3f4;
  border-bottom: 1px solid #eee9f6;
}

.feature-theater .section-label {
  color: #6743d4;
}

.theater-heading h2,
.theater-text h3 {
  color: #241c35;
}

.theater-heading h2 em {
  color: #7650dc;
}

.theater-heading p,
.theater-text > p {
  color: #6b617b;
}

.theater-nav,
.theater-step-controls > button {
  background: #fff;
  border-color: #ded5ef;
  color: #5637b5;
  box-shadow: 0 3px 10px #49337d0c;
}

.theater-tab {
  color: #70647f;
}

.theater-tab:hover {
  color: #4b319c;
  background: #ede7fb;
}

.theater-tab.selected {
  color: #38246d;
}

.theater-tab.selected span {
  color: #fff;
}

.theater-step-copy small {
  color: #6843c2;
}

.theater-step-copy strong {
  color: #2d2340;
}

.theater-step-copy p {
  color: #6b6179;
}

.theater-step-controls > div button {
  background: #c8bfda;
}

.theater-step-controls > div button.active {
  background: #744ce1;
}

.theater-detail-link {
  color: #603bbf;
  border-color: #916fe0;
}

.theater-detail-link:hover {
  color: #3c228d;
}

.theater-display {
  border-color: #e0d8ef;
  box-shadow: 0 28px 60px #49377f24;
}

.theater-benefit-note {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 145px;
  margin: -9px 0 12px;
  color: #6743c9;
  pointer-events: none;
}

.theater-benefit-note[data-side="left"] {
  justify-content: flex-start;
  text-align: left;
}

.theater-benefit-note[data-side="right"] {
  justify-content: flex-end;
  text-align: right;
}

.theater-benefit-note strong {
  display: block;
  max-width: min(45%, 500px);
  font-family: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
  font-size: clamp(1.7rem, 2.25vw, 2.45rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.08;
  transform: rotate(-3deg);
}

.theater-benefit-note strong.benefit-switch {
  animation: benefit-appear .38s ease-out both;
}

.theater-benefit-arrow {
  position: absolute;
  z-index: 2;
  top: -49px;
  left: var(--benefit-arrow-x, 50%);
  width: 72px;
  height: 58px;
  color: #6743c9;
  pointer-events: none;
  transform: translateX(-50%);
  transition: left .15s ease-out;
}

.theater-selector[data-arrow-direction="mirrored"] .theater-benefit-arrow {
  transform: translateX(-50%) scaleX(-1);
}

.theater-selector {
  position: relative;
}

@keyframes benefit-appear {
  from { opacity: 0; transform: translateY(8px) rotate(-4deg); }
  to { opacity: 1; transform: translateY(0) rotate(-3deg); }
}

@media (max-width: 700px) {
  .theater-benefit-note {
    min-height: 160px;
    margin: 0 0 12px;
  }
  .theater-benefit-note strong {
    max-width: 78%;
    font-size: clamp(1.65rem, 7vw, 2.2rem);
  }
  .theater-benefit-arrow {
    top: -42px;
    width: 62px;
    height: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theater-benefit-note strong.benefit-switch {
    animation: none;
  }
  .theater-benefit-arrow {
    transition: none;
  }
}
