/* ==========================================================================
   FoldText Component Styles (React Bits JavaScript + CSS Variant)
   ========================================================================== */

.fold-text {
  display: inline-block;
  color: var(--fold-text-color, #1e293b);
  /* 极简人文画廊字体：思源宋体 / 苹方衬线，呼应导航栏与摄影集调性 */
  font-family: var(--fold-text-font-family, 'Noto Serif SC', 'Source Han Serif SC', 'Lora', 'Songti SC', 'SimSun', serif);
  font-size: var(--fold-text-font-size, inherit);
  font-weight: var(--fold-text-font-weight, 600);
  line-height: 1.15;
  letter-spacing: 0.12em;
  white-space: pre-wrap;
  user-select: text;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* 现代冷淡极简变体（可选） */
.fold-text--sans {
  font-family: 'PingFang SC', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  letter-spacing: 0.16em;
}

.fold-text-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.fold-text-visual {
  display: inline;
}

.fold-text-line {
  display: block;
}

.fold-text-whitespace {
  display: inline;
}

.fold-text-segment {
  display: inline-block;
  line-height: inherit;
  perspective: var(--fold-perspective, 700px);
  transform-style: preserve-3d;
  vertical-align: baseline;
}

.fold-text-segment[data-fold-split='line'] {
  display: block;
}

.fold-text-piece {
  position: relative;
  display: inline-block;
  color: inherit;
  line-height: inherit;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  will-change: transform, opacity;
}

.fold-text-piece::after {
  content: '';
  position: absolute;
  inset: -0.08em -0.02em;
  pointer-events: none;
  opacity: var(--fold-crease, 0);
  mix-blend-mode: multiply;
  border-radius: 0.08em;
}

.fold-text-piece[data-fold-hinge='top']::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.22) 42%, rgba(255, 255, 255, 0.26) 100%);
}

.fold-text-piece[data-fold-hinge='bottom']::after {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.22) 42%, rgba(255, 255, 255, 0.26) 100%);
}

.fold-text-piece[data-fold-hinge='left']::after {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.22) 42%, rgba(255, 255, 255, 0.26) 100%);
}

.fold-text-piece[data-fold-hinge='right']::after {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.22) 42%, rgba(255, 255, 255, 0.26) 100%);
}

@media (prefers-reduced-motion: reduce) {
  .fold-text-piece {
    transform: none !important;
  }

  .fold-text-piece::after {
    opacity: 0 !important;
  }
}

/* 摄影精选集 - 图一红框定位适配 */
.photography-fold-title {
  position: absolute;
  top: clamp(1rem, 3.2vh, 2.6rem);
  left: clamp(2rem, 5.5vw, 6.8rem);
  z-index: 15;
  pointer-events: auto;
  cursor: default;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.85s ease;
}

/* 访问者点击照片放大后：整组文字与提示以优雅渐隐动画消失，重新刷新前不再出现 */
.photography-fold-title.is-dismissed {
  opacity: 0 !important;
  transform: translateY(-8px) !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.75s !important;
}

/* 引导副标：点击照片可放大查看 */
.photography-sub-hint {
  margin-top: clamp(0.6rem, 1.15vh, 0.82rem);
  font-family: var(--fold-text-font-family, 'Noto Serif SC', 'Source Han Serif SC', serif);
  font-size: clamp(0.95rem, 1.18vw, 1.08rem);
  font-weight: 450;
  line-height: 1.4;
  letter-spacing: 0.15em;
  color: #475569; /* 清晰优雅的深石板墨灰 */
  opacity: 0;
  transform: translateY(6px);
  visibility: hidden;
  user-select: none;
  pointer-events: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* 到达第一张照片位移临界点时渐显浮现，并持续呈现柔和呼吸灯动效（无缝连续衔接） */
.photography-sub-hint.is-visible {
  visibility: visible;
  transform: translateY(0);
  opacity: 1.0;
  animation: hintBreathePulse 2.6s ease-in-out infinite;
  animation-delay: 0.85s; /* 渐显完成后平滑切入呼吸节奏 */
}

/* 呼吸灯峰值对齐渐显终点 1.0，波谷深至 0.20，大幅拉开明暗反差，呼吸动效更加显著清晰 */
@keyframes hintBreathePulse {
  0%, 100% {
    opacity: 1.0;
    color: #1e293b;
  }
  50% {
    opacity: 0.20;
    color: #94a3b8;
  }
}

@media (max-width: 768px) {
  .photography-fold-title {
    top: 5.2rem;
    left: 1.5rem;
  }
}
