/* ==========================================================================
   stage_carousel.css - Multi-Stage Horizontal Viewport Carousel & Slim Edge Nav
   ========================================================================== */

/* Main Carousel Viewport Container */
.app-main {
  position: relative;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  min-height: 0;
}

.stage-carousel-wrapper {
  position: relative;
  width: 300%;
  flex: 1;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  display: flex;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

/* Individual Stage View Container */
.stage-view {
  width: 33.333333%;
  height: 100%;
  min-height: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  overflow: hidden;
}

/* Active Stage Indicator Header Bar (Removed as per user request) */
.stage-breadcrumb-bar {
  display: none !important;
}

.stage-step-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text-muted, #64748b);
  cursor: pointer;
  padding: 3px 10px;
  border-radius: 20px;
  transition: all 0.2s ease;
  font-weight: 600;
}

.stage-step-item:hover {
  color: #f8fafc;
  background: rgba(255, 255, 255, 0.05);
}

.stage-step-item.active {
  color: #ff8c00;
  background: rgba(234, 118, 0, 0.15);
  border: 1px solid rgba(234, 118, 0, 0.4);
}

.stage-step-num {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
}

.stage-step-item.active .stage-step-num {
  background: #ea7600;
  color: #ffffff;
}

.stage-step-sep {
  color: rgba(255, 255, 255, 0.2);
  font-size: 11px;
}

/* Slim Vertical Edge Navigation Chevrons (Bright & High Visibility by Default) */
.edge-nav-chevron {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 45;
  width: 38px;
  height: 185px;
  background: #252525;
  backdrop-filter: blur(12px);
  border: 1px solid #444444;
  color: #f0f0f0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.55);
  padding: 8px 0;
  box-sizing: border-box;
}

.edge-nav-chevron:hover {
  background: #333333;
  border-color: #ea7600;
  color: #ff9f43;
  width: 42px;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.6), 0 0 12px rgba(234, 118, 0, 0.25);
}

.edge-nav-chevron.right-nav {
  right: 0;
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
  border-right: none;
}

.edge-nav-chevron.left-nav {
  left: 0;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  border-left: none;
}

.edge-nav-icon {
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  color: #ff9f43;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}

.edge-nav-chevron.right-nav:hover .edge-nav-icon {
  transform: translateX(2px);
}

.edge-nav-chevron.left-nav:hover .edge-nav-icon {
  transform: translateX(-2px);
}

.edge-nav-label {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-top: 8px;
  color: #f0f0f0;
  white-space: nowrap;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
  transition: color 0.2s ease;
}

.edge-nav-chevron:hover .edge-nav-label {
  color: #ffffff;
}

/* Primary Nesting Start CTA Button in Edge Chevron */
.edge-nav-chevron.cta-start-nest {
  background: linear-gradient(180deg, #ea7600, #d35400);
  border-color: #ff9f43;
  color: #ffffff;
  box-shadow: 0 0 16px rgba(234, 118, 0, 0.35);
}

.edge-nav-chevron.cta-start-nest:hover {
  background: linear-gradient(180deg, #ff8c00, #ea7600);
  border-color: #ffb86c;
  box-shadow: 0 0 22px rgba(234, 118, 0, 0.55);
}

.edge-nav-chevron.cta-start-nest .edge-nav-label {
  color: #ffffff;
}
