/* solution-enhance.css — Interactive layer for solution pages */

/* ── Card Tilt ── */
.sol-tilt{transform-style:preserve-3d;will-change:transform}
.sol-tilt-inner{transform:translateZ(20px)}

/* ── Hero Canvas ── */
.sol-canvas-wrap{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.sol-canvas-wrap canvas{position:absolute;top:0;left:0;width:100%;height:100%}

/* ── Sticky Section Nav ── */
.sol-sticky-nav{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:6px;opacity:0;transition:opacity .4s cubic-bezier(.22,1,.36,1)}
.sol-sticky-nav.visible{opacity:1}
.sol-sticky-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .3s cubic-bezier(.22,1,.36,1);position:relative}
.sol-sticky-dot:hover{background:rgba(255,255,255,.15);transform:scale(1.3)}
.sol-sticky-dot.active{background:rgba(168,85,247,.6);border-color:rgba(168,85,247,.4);box-shadow:0 0 12px rgba(168,85,247,.3)}
.sol-sticky-dot .sol-sticky-label{position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:.6875rem;color:#737373;background:rgba(10,10,10,.9);border:1px solid rgba(255,255,255,.06);padding:4px 10px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;transform:translateY(-50%) translateX(4px)}
.sol-sticky-dot:hover .sol-sticky-label{opacity:1;transform:translateY(-50%) translateX(0)}
@media(max-width:1024px){.sol-sticky-nav{display:none}}

/* ── Progress Bar ── */
.sol-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,#a855f7,#7c3aed);z-index:50;transition:width .15s linear;width:0}

/* ── Interactive Workflow ── */
.sol-workflow-interactive .sol-workflow-step{cursor:pointer;position:relative}
.sol-workflow-interactive .sol-workflow-step::after{content:'';position:absolute;inset:-2px;border-radius:18px;border:2px solid transparent;transition:border-color .3s;pointer-events:none}
.sol-workflow-interactive .sol-workflow-step.active::after{border-color:rgba(168,85,247,.3)}
.sol-workflow-interactive .sol-workflow-step.active{border-color:rgba(168,85,247,.3);background:rgba(168,85,247,.05)}
.sol-workflow-detail{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .3s,padding .3s;opacity:0;padding:0 16px}
.sol-workflow-detail.open{max-height:200px;opacity:1;padding:12px 16px}
.sol-workflow-detail p{font-size:.8125rem;color:#a3a3a3;line-height:1.6}

/* ── Feature Card Expand ── */
.sol-feature-expandable{cursor:pointer}
.sol-feature-extra{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .3s,padding .3s;opacity:0}
.sol-feature-expandable.expanded .sol-feature-extra{max-height:300px;opacity:1;padding-top:12px}
.sol-feature-expandable .sol-expand-icon{transition:transform .3s;display:inline-block}
.sol-feature-expandable.expanded .sol-expand-icon{transform:rotate(180deg)}

/* ── Before/After Slider ── */
.sol-ba-container{position:relative;overflow:hidden;border-radius:20px;cursor:ew-resize;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.sol-ba-before,.sol-ba-after{position:absolute;top:0;bottom:0;overflow:hidden}
.sol-ba-before{left:0;width:50%;z-index:2;border-right:2px solid rgba(168,85,247,.5)}
.sol-ba-after{left:0;right:0;z-index:1}
.sol-ba-before-inner{position:absolute;top:0;left:0;width:200%;height:100%}
.sol-ba-after-inner{position:absolute;top:0;left:0;width:100%;height:100%}
.sol-ba-handle{position:absolute;top:0;bottom:0;width:40px;z-index:3;display:flex;align-items:center;justify-content:center;transform:translateX(-50%)}
.sol-ba-handle-circle{width:40px;height:40px;border-radius:50%;background:rgba(168,85,247,.9);border:3px solid #fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(168,85,247,.4);transition:transform .2s}
.sol-ba-handle-circle:hover{transform:scale(1.1)}
.sol-ba-handle-circle svg{width:16px;height:16px;color:#fff}
.sol-ba-label{position:absolute;top:16px;padding:6px 14px;border-radius:8px;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;z-index:4;pointer-events:none}
.sol-ba-label-before{left:16px;background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.2)}
.sol-ba-label-after{right:16px;background:rgba(34,197,94,.15);color:#4ade80;border:1px solid rgba(34,197,94,.2)}

/* ── Industry Switcher ── */
.sol-industry-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;justify-content:center}
.sol-industry-tab{padding:8px 18px;border-radius:9999px;font-size:.8125rem;font-weight:500;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);color:#737373;cursor:pointer;transition:all .3s cubic-bezier(.22,1,.36,1)}
.sol-industry-tab:hover{background:rgba(255,255,255,.06);color:#a3a3a3;border-color:rgba(255,255,255,.1)}
.sol-industry-tab.active{background:rgba(168,85,247,.1);color:#a855f7;border-color:rgba(168,85,247,.3)}
.sol-industry-content{display:none;animation:solFadeIn .4s cubic-bezier(.22,1,.36,1) forwards}
.sol-industry-content.active{display:block}
@keyframes solFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── FAQ Search ── */
.sol-faq-search-wrap{position:relative;max-width:480px;margin:0 auto 40px}
.sol-faq-search{width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px 16px 14px 44px;color:#fff;font-size:.875rem;outline:none;font-family:inherit;transition:border-color .3s}
.sol-faq-search::placeholder{color:#525252}
.sol-faq-search:focus{border-color:rgba(168,85,247,.4)}
.sol-faq-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#525252;pointer-events:none}
.sol-faq-highlight{background:rgba(168,85,247,.2);color:#fff;border-radius:2px;padding:0 2px}
.sol-faq-categories{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px}
.sol-faq-cat{padding:6px 14px;border-radius:9999px;font-size:.75rem;font-weight:500;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);color:#525252;cursor:pointer;transition:all .3s}
.sol-faq-cat:hover{color:#737373;border-color:rgba(255,255,255,.08)}
.sol-faq-cat.active{background:rgba(168,85,247,.1);color:#a855f7;border-color:rgba(168,85,247,.25)}
.sol-faq-item.hidden{display:none}

/* ── Integration Panel ── */
.sol-integration-detail{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .3s,padding .3s;opacity:0;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:16px;margin-top:16px}
.sol-integration-detail.open{max-height:400px;opacity:1;padding:24px}
.sol-integration-detail h4{color:#fff;font-size:1rem;font-weight:600;margin-bottom:8px}
.sol-integration-detail p{color:#a3a3a3;font-size:.875rem;line-height:1.6}

/* ── Metric Counter ── */
.sol-metric-value{display:inline-block}

/* ── Floating Elements ── */
.sol-float{animation:solFloat 6s ease-in-out infinite}
.sol-float-delay{animation:solFloat 6s ease-in-out infinite;animation-delay:-3s}
@keyframes solFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ── Glow Pulse ── */
.sol-glow-pulse{animation:solGlowPulse 3s ease-in-out infinite}
@keyframes solGlowPulse{0%,100%{box-shadow:0 0 20px rgba(168,85,247,.1)}50%{box-shadow:0 0 40px rgba(168,85,247,.25)}}

/* ── Skeleton Loading ── */
.sol-skeleton{background:linear-gradient(90deg,rgba(255,255,255,.03) 25%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.03) 75%);background-size:200% 100%;animation:solShimmer 1.5s infinite;border-radius:8px}
@keyframes solShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── Typing Indicator ── */
.sol-thinking{display:flex;align-items:center;gap:8px;padding:12px 16px;color:#525252;font-size:.8125rem}
.sol-thinking-dots{display:flex;gap:4px}
.sol-thinking-dot{width:5px;height:5px;border-radius:50%;background:rgba(168,85,247,.4);animation:solThinkBounce .6s infinite alternate}
.sol-thinking-dot:nth-child(2){animation-delay:.15s}
.sol-thinking-dot:nth-child(3){animation-delay:.3s}
@keyframes solThinkBounce{0%{transform:translateY(0)}100%{transform:translateY(-4px)}}

/* ── Streaming Text ── */
.sol-streaming::after{content:'▊';animation:solBlink 1s step-end infinite;color:#a855f7}
@keyframes solBlink{0%,100%{opacity:1}50%{opacity:0}}

/* ── Chip/Tag ── */
.sol-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:500;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:#737373;transition:all .2s}
.sol-chip:hover{background:rgba(255,255,255,.07);color:#a3a3a3}

/* ── Tooltip ── */
.sol-tooltip{position:relative}
.sol-tooltip::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:rgba(10,10,10,.95);border:1px solid rgba(255,255,255,.08);color:#a3a3a3;font-size:.6875rem;padding:6px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:40}
.sol-tooltip:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Connection Lines (for integrations) ── */
.sol-connect-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,rgba(168,85,247,.3),transparent);transform-origin:left center;pointer-events:none}

/* ── Scroll Progress Ring ── */
.sol-progress-ring{position:fixed;bottom:24px;right:24px;z-index:40;width:48px;height:48px;opacity:0;transition:opacity .3s}
.sol-progress-ring.visible{opacity:1}
.sol-progress-ring svg{transform:rotate(-90deg)}
.sol-progress-ring circle{fill:none;stroke-width:3;stroke-linecap:round}
.sol-progress-ring .ring-bg{stroke:rgba(255,255,255,.06)}
.sol-progress-ring .ring-fg{stroke:#a855f7;transition:stroke-dashoffset .15s linear}
.sol-progress-ring .ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:#737373}

/* ── Reduced Motion ── */
@media(prefers-reduced-motion:reduce){
  .sol-float,.sol-float-delay,.sol-glow-pulse,.sol-thinking-dot{animation:none!important}
  .sol-tilt{transform:none!important}
  .sol-streaming::after{animation:none!important;display:none}
  .sol-sticky-dot .sol-sticky-label{display:none}
  .sol-ba-handle-circle{transition:none}
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
}

/* ── Mobile Adjustments ── */
@media(max-width:768px){
  .sol-sticky-nav{display:none}
  .sol-progress-ring{bottom:16px;right:16px;width:40px;height:40px}
  .sol-ba-container{border-radius:12px}
  .sol-ba-handle{width:32px}
  .sol-ba-handle-circle{width:32px;height:32px}
  .sol-industry-tabs{gap:6px}
  .sol-industry-tab{padding:6px 12px;font-size:.75rem}
}
