/**
 * Landing Page Styles
 * 專屬 Landing Page 樣式
 * 基於 Kloudmate + superReply + Miro 風格組合
 */

/* ========================================
   Landing Page 專用變數
   ======================================== */

:root {
  /* 漸變效果 */
  --landing-gradient-text: linear-gradient(135deg, oklch(60% 0.35 220) 0%, oklch(55% 0.3 280) 100%);
  --landing-gradient-hero: linear-gradient(135deg, oklch(60% 0.35 220 / 0.1) 0%, oklch(55% 0.3 280 / 0.1) 100%);
  --landing-gradient-cta: linear-gradient(135deg, oklch(60% 0.35 220 / 0.15) 0%, oklch(55% 0.3 280 / 0.15) 100%);

  /* 間距 */
  --landing-section-padding: clamp(4rem, 8vw, 8rem);
  --landing-max-width: 1200px;

  /* 動畫 */
  --landing-animation-duration: 0.6s;
  --landing-animation-easing: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ========================================
   語言切換系統
   ======================================== */

[data-theme-lang="zh"] [data-lang="en"] { display: none; }
[data-theme-lang="en"] [data-lang="zh"] { display: none; }

.lang-toggle {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  background: var(--bg-level-3);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  cursor: pointer;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  transition: all var(--transition-base);
}

.lang-toggle:hover {
  background: var(--bg-level-4);
  color: var(--color-text-primary);
  border-color: var(--color-cyan);
}

.lang-toggle .active {
  color: var(--color-cyan);
  font-weight: var(--font-weight-semibold);
}

/* Landing Page 導航欄佈局 */
body:has(.landing-hero) .top-nav-container {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}

body:has(.landing-hero) .nav-links {
  flex: 1;
  justify-content: center;
}

/* 手機版：Landing Page 隱藏語言切換（nav-actions），主題按鈕獨立顯示 */
@media (max-width: 767px) {
  body:has(.landing-hero) .nav-actions {
    display: none !important;
  }
}

/* Landing Page：側邊欄預設隱藏（覆蓋 responsive.css 的桌面版顯示規則）*/
body:has(.landing-hero) .sidebar {
  left: -240px;
}

body:has(.landing-hero) .sidebar.active {
  left: 0;
}

/* Landing Page：桌面版也顯示漢堡選單 */
body:has(.landing-hero) .hamburger-menu {
  display: block !important;
  position: static;
  transform: none;
  margin-left: var(--spacing-3);
}

/* 側邊欄 flex 佈局（讓控制按鈕在底部）*/
.sidebar {
  display: flex;
  flex-direction: column;
}

.sidebar .sidebar-nav {
  flex: 1;
}

/* 側邊欄內的語言切換 */
.sidebar-controls {
  display: flex;
  justify-content: center;
  padding: var(--spacing-4);
  border-top: 1px solid var(--color-border-default);
}

/* 桌面版：隱藏側邊欄內的控制按鈕 */
@media (min-width: 768px) {
  .sidebar-controls {
    display: none;
  }
}

/* ========================================
   Hero Section
   ======================================== */

.landing-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(80px + var(--spacing-8)) var(--spacing-4) var(--spacing-16);
  position: relative;
  overflow: hidden;
  background: var(--bg-level-1);
}

/* 背景光暈效果 */
.landing-hero::before {
  content: '';
  position: absolute;
  top: -30%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, oklch(60% 0.35 220 / 0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: hero-glow-1 8s ease-in-out infinite;
  pointer-events: none;
}

.landing-hero::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, oklch(55% 0.3 280 / 0.1) 0%, transparent 70%);
  border-radius: 50%;
  animation: hero-glow-2 10s ease-in-out infinite;
  pointer-events: none;
}

@keyframes hero-glow-1 {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.15; }
  50% { transform: translate(-20px, 30px) scale(1.1); opacity: 0.25; }
}

@keyframes hero-glow-2 {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.1; }
  50% { transform: translate(20px, -20px) scale(1.05); opacity: 0.15; }
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-4);
  background: var(--bg-level-3);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-6);
}

.hero-badge i {
  color: var(--color-cyan);
}

.hero-title {
  font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  margin-bottom: var(--spacing-6);
  background: var(--landing-gradient-text);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-subtitle {
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  color: var(--color-text-secondary);
  max-width: 700px;
  margin: 0 auto var(--spacing-8);
  line-height: 1.6;
}

.hero-buttons {
  display: flex;
  gap: var(--spacing-4);
  justify-content: center;
  flex-wrap: wrap;
}

.hero-stats {
  display: flex;
  justify-content: center;
  gap: var(--spacing-12);
  margin-top: var(--spacing-16);
  padding-top: var(--spacing-8);
  border-top: 1px solid var(--color-border-default);
}

.hero-stat {
  text-align: center;
}

.hero-stat-value {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-cyan);
  display: block;
}

.hero-stat-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

/* ========================================
   Trusted By Section
   ======================================== */

.landing-trusted {
  padding: var(--spacing-16) var(--spacing-4);
  background: var(--bg-level-2);
  border-top: 1px solid var(--color-border-default);
  border-bottom: 1px solid var(--color-border-default);
}

.trusted-title {
  text-align: center;
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--spacing-8);
}

.trusted-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-12);
  flex-wrap: wrap;
  opacity: 0.6;
}

.trusted-logo {
  height: 32px;
  filter: grayscale(100%) brightness(1.5);
  transition: all var(--transition-base);
}

.trusted-logo:hover {
  filter: grayscale(0%) brightness(1);
  opacity: 1;
}

/* ========================================
   Features Section
   ======================================== */

.landing-features {
  padding: var(--landing-section-padding) var(--spacing-4);
  background: var(--bg-level-1);
}

.section-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto var(--spacing-16);
}

.section-badge {
  display: inline-block;
  padding: var(--spacing-1) var(--spacing-3);
  background: oklch(60% 0.35 220 / 0.1);
  color: var(--color-cyan);
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--spacing-4);
}

.section-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-4);
}

.section-description {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--spacing-6);
  max-width: var(--landing-max-width);
  margin: 0 auto;
}

.feature-card {
  background: var(--bg-level-3);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
  position: relative;
  overflow: hidden;
  transition: all var(--transition-base);
}

.feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--color-cyan), transparent);
  opacity: 0;
  transition: opacity var(--transition-base);
}

.feature-card:hover {
  transform: translateY(-4px);
  border-color: oklch(60% 0.35 220 / 0.3);
  box-shadow: var(--glow-cyan), var(--shadow-lg);
}

.feature-card:hover::before {
  opacity: 1;
}

.feature-icon {
  width: 56px;
  height: 56px;
  background: oklch(60% 0.35 220 / 0.1);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-5);
  color: var(--color-cyan);
  transition: all var(--transition-base);
}

.feature-card:hover .feature-icon {
  background: oklch(60% 0.35 220 / 0.2);
  transform: scale(1.05);
}

.feature-title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-3);
}

.feature-description {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  line-height: 1.6;
}

/* ========================================
   Showcase Section
   ======================================== */

.landing-showcase {
  padding: var(--landing-section-padding) var(--spacing-4);
  background: var(--bg-level-2);
}

.showcase-content {
  max-width: var(--landing-max-width);
  margin: 0 auto;
}

.showcase-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-12);
  align-items: center;
  margin-bottom: var(--spacing-20);
}

.showcase-item:nth-child(even) {
  direction: rtl;
}

.showcase-item:nth-child(even) > * {
  direction: ltr;
}

.showcase-item:last-child {
  margin-bottom: 0;
}

.showcase-text {
  max-width: 500px;
}

.showcase-text h3 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-4);
}

.showcase-text p {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin-bottom: var(--spacing-6);
}

.showcase-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.showcase-list li {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-2) 0;
  color: var(--color-text-secondary);
}

.showcase-list li i {
  color: var(--color-green);
  flex-shrink: 0;
}

.showcase-image {
  background: var(--bg-level-3);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}

.showcase-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ========================================
   Benefits Section
   ======================================== */

.landing-benefits {
  padding: var(--landing-section-padding) var(--spacing-4);
  background: var(--bg-level-1);
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--spacing-8);
  max-width: var(--landing-max-width);
  margin: 0 auto;
}

.benefit-item {
  text-align: center;
  padding: var(--spacing-6);
}

.benefit-icon {
  width: 64px;
  height: 64px;
  background: var(--landing-gradient-cta);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--spacing-4);
  color: var(--color-cyan);
}

.benefit-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-2);
}

.benefit-description {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
}

/* ========================================
   Stats Section
   ======================================== */

.landing-stats {
  padding: var(--spacing-16) var(--spacing-4);
  background: var(--landing-gradient-cta);
  border-top: 1px solid oklch(60% 0.35 220 / 0.2);
  border-bottom: 1px solid oklch(60% 0.35 220 / 0.2);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--spacing-8);
  max-width: var(--landing-max-width);
  margin: 0 auto;
  text-align: center;
}

.stat-item {
  padding: var(--spacing-4);
}

.stat-value {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: var(--font-weight-bold);
  background: var(--landing-gradient-text);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
  line-height: 1.2;
}

.stat-label {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin-top: var(--spacing-2);
}

/* ========================================
   Testimonials Section
   ======================================== */

.landing-testimonials {
  padding: var(--landing-section-padding) var(--spacing-4);
  background: var(--bg-level-2);
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: var(--spacing-6);
  max-width: var(--landing-max-width);
  margin: 0 auto;
}

.testimonial-card {
  background: var(--bg-level-3);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
  transition: all var(--transition-base);
}

.testimonial-card:hover {
  border-color: oklch(60% 0.35 220 / 0.3);
  box-shadow: var(--shadow-md);
}

.testimonial-content {
  font-size: var(--font-size-lg);
  color: var(--color-text-primary);
  line-height: 1.6;
  margin-bottom: var(--spacing-6);
  font-style: italic;
}

.testimonial-content::before {
  content: '"';
  font-size: 3rem;
  color: var(--color-cyan);
  line-height: 0;
  vertical-align: -0.5em;
  margin-right: var(--spacing-2);
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}

.testimonial-avatar {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full);
  background: var(--landing-gradient-text);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-lg);
}

.testimonial-info h4 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-1);
}

.testimonial-info p {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

/* ========================================
   Pricing Section
   ======================================== */

.landing-pricing {
  padding: var(--landing-section-padding) var(--spacing-4);
  background: var(--bg-level-1);
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--spacing-6);
  max-width: 1000px;
  margin: 0 auto;
}

.pricing-card {
  background: var(--bg-level-3);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
  text-align: center;
  position: relative;
  transition: all var(--transition-base);
}

.pricing-card.featured {
  border-color: var(--color-cyan);
  box-shadow: var(--glow-cyan);
  transform: scale(1.02);
}

.pricing-card.featured::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--landing-gradient-text);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.pricing-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: var(--spacing-1) var(--spacing-4);
  background: var(--landing-gradient-text);
  color: white;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  border-radius: var(--radius-full);
  text-transform: uppercase;
}

.pricing-name {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-2);
}

.pricing-price {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-cyan);
  margin-bottom: var(--spacing-2);
}

.pricing-price span {
  font-size: var(--font-size-base);
  color: var(--color-text-tertiary);
  font-weight: var(--font-weight-normal);
}

.pricing-description {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-6);
}

.pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--spacing-8);
  text-align: left;
}

.pricing-features li {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-2) 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.pricing-features li i {
  color: var(--color-green);
  flex-shrink: 0;
}

.pricing-card .btn {
  width: 100%;
}

/* ========================================
   CTA Section
   ======================================== */

.landing-cta {
  padding: var(--landing-section-padding) var(--spacing-4);
  background: var(--bg-level-2);
  position: relative;
  overflow: hidden;
}

.landing-cta::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, oklch(60% 0.35 220 / 0.1) 0%, transparent 60%);
  pointer-events: none;
}

.cta-content {
  position: relative;
  z-index: 2;
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.cta-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: var(--font-weight-bold);
  background: var(--landing-gradient-text);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: var(--spacing-4);
}

.cta-description {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-8);
}

.cta-buttons {
  display: flex;
  gap: var(--spacing-4);
  justify-content: center;
  flex-wrap: wrap;
}

/* ========================================
   Footer
   ======================================== */

.landing-footer {
  padding: var(--spacing-16) var(--spacing-4) var(--spacing-8);
  background: var(--bg-level-1);
  border-top: 1px solid var(--color-border-default);
}

.footer-content {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: var(--spacing-12);
  max-width: var(--landing-max-width);
  margin: 0 auto var(--spacing-12);
}

.footer-brand {
  max-width: 300px;
}

.footer-logo {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-4);
}

.footer-logo i {
  color: var(--color-cyan);
}

.footer-brand p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.footer-column h4 {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--spacing-4);
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-column li {
  margin-bottom: var(--spacing-2);
}

.footer-column a {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color var(--transition-base);
}

.footer-column a:hover {
  color: var(--color-cyan);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--spacing-8);
  border-top: 1px solid var(--color-border-default);
  max-width: var(--landing-max-width);
  margin: 0 auto;
}

.footer-copyright {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

.footer-social {
  display: flex;
  gap: var(--spacing-4);
}

.footer-social a {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-level-3);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  transition: all var(--transition-base);
}

.footer-social a:hover {
  background: var(--color-cyan);
  border-color: var(--color-cyan);
  color: var(--bg-level-1);
}

/* ========================================
   滾動動畫
   ======================================== */

.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity var(--landing-animation-duration) var(--landing-animation-easing),
              transform var(--landing-animation-duration) var(--landing-animation-easing);
}

.animate-on-scroll.animate-in {
  opacity: 1;
  transform: translateY(0);
}

.animate-delay-1 { transition-delay: 0.1s; }
.animate-delay-2 { transition-delay: 0.2s; }
.animate-delay-3 { transition-delay: 0.3s; }
.animate-delay-4 { transition-delay: 0.4s; }
.animate-delay-5 { transition-delay: 0.5s; }

/* ========================================
   響應式調整
   ======================================== */

@media (max-width: 1024px) {
  .showcase-item {
    grid-template-columns: 1fr;
    gap: var(--spacing-8);
  }

  .showcase-item:nth-child(even) {
    direction: ltr;
  }

  .showcase-text {
    max-width: 100%;
    text-align: center;
  }

  .showcase-list {
    display: inline-block;
    text-align: left;
  }

  .footer-content {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-8);
  }

  .footer-brand {
    grid-column: span 2;
    max-width: 100%;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .hero-stats {
    flex-direction: column;
    gap: var(--spacing-6);
  }

  .features-grid,
  .benefits-grid,
  .testimonials-grid {
    grid-template-columns: 1fr;
  }

  .pricing-grid {
    grid-template-columns: 1fr;
  }

  .pricing-card.featured {
    transform: none;
  }

  .footer-content {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom {
    flex-direction: column;
    gap: var(--spacing-4);
  }
}

@media (max-width: 480px) {
  .hero-buttons,
  .cta-buttons {
    flex-direction: column;
    width: 100%;
  }

  .hero-buttons .btn,
  .cta-buttons .btn {
    width: 100%;
  }
}
