/* =========================================
   Landing Page – FeedSync Pro
   ========================================= */

/* ── Hero ── */
.lp-hero {
  background: var(--fs-grad-hero, linear-gradient(135deg, #008060 0%, #0a6d55 50%, #064e3b 100%));
  position: relative;
  overflow: hidden;
  padding: 5rem 0 6rem;
}
.min-vh-75 { min-height: 75vh; }

.lp-hero-title {
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.12;
  letter-spacing: -.02em;
}
.lp-hero-highlight {
  background: linear-gradient(90deg, #a7f3d0, #6ee7b7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.lp-hero-sub {
  font-size: 1.15rem;
  color: rgba(255, 255, 255, .8);
  max-width: 540px;
  line-height: 1.6;
}
@media (max-width: 991.98px) {
  .lp-hero-sub { margin-left: auto; margin-right: auto; }
}

/* Hero CTAs */
.lp-cta-primary {
  font-weight: 700;
  border-radius: var(--fs-radius-md, .75rem);
  padding: .75rem 1.5rem;
  color: var(--fs-green-800, #006b50) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.lp-cta-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}
.lp-cta-secondary {
  font-weight: 600;
  border-radius: var(--fs-radius-md, .75rem);
  padding: .75rem 1.5rem;
}

/* Decorative Orbs */
.lp-hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: .2;
  pointer-events: none;
}
.lp-hero-orb--1 { width: 400px; height: 400px; background: #22c55e; top: -100px; left: -100px; }
.lp-hero-orb--2 { width: 300px; height: 300px; background: #6ee7b7; bottom: -80px; right: 5%; }
.lp-hero-orb--3 { width: 200px; height: 200px; background: #34d399; top: 40%; left: 50%; }

/* Hero Mockup */
.lp-hero-visual { perspective: 800px; }
.lp-hero-mockup {
  max-width: 360px;
  margin: 0 auto;
  transform: rotateY(-4deg) rotateX(2deg);
  transition: transform 300ms ease;
}
.lp-hero-mockup:hover { transform: rotateY(0) rotateX(0); }

.lp-dot { width: .6rem; height: .6rem; border-radius: 50%; display: inline-block; }
.lp-dot--green { background: var(--fs-success, #22c55e); }

.lp-mock-row {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.lp-mock-label {
  background: var(--fs-neutral-100, #f1f5f9);
  padding: .4rem .75rem;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 500;
}
.lp-mock-label--green {
  background: var(--fs-green-50, #eaf7f3);
  color: var(--fs-green-700, #008060);
  font-weight: 600;
}
.lp-mock-arrow { color: var(--fs-neutral-400, #94a3b8); }

.lp-mock-bar {
  height: 8px;
  background: var(--fs-neutral-200, #e2e8f0);
  border-radius: 999px;
  overflow: hidden;
}
.lp-mock-bar-fill {
  height: 100%;
  background: var(--fs-grad-brand, linear-gradient(135deg, #00a37a, #008060));
  border-radius: 999px;
  animation: lp-bar-grow 1.5s ease-out forwards;
}
@keyframes lp-bar-grow {
  from { width: 0; }
}

/* ── Sections ── */
.lp-section {
  padding: 5rem 0;
}
.lp-section--alt {
  background: var(--fs-neutral-50, #f8fafb);
}

/* ── Feature Cards ── */
.lp-feature-card {
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.lp-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, .06), 0 4px 10px rgba(0, 0, 0, .04);
}
.lp-feature-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--fs-radius-md, .75rem);
  background: var(--fs-green-50, #eaf7f3);
  color: var(--fs-green-700, #008060);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}

/* ── Steps ── */
.lp-step-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--fs-grad-brand, linear-gradient(135deg, #00a37a, #008060));
  color: #fff;
  font-size: 1.5rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 128, 96, .2);
}

/* ── Pricing ── */
.lp-price-card {
  transition: transform 200ms ease, box-shadow 200ms ease;
  display: flex;
  flex-direction: column;
}
.lp-price-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, .06), 0 4px 10px rgba(0, 0, 0, .04);
}
.lp-price-card--free {
  border: 2px solid var(--fs-green-200, #8fd9bf);
}
.lp-price-amount {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--fs-neutral-900, #0f172a);
}

/* ── FAQ Accordion ── */
.lp-accordion .accordion-item {
  border: none;
  border-bottom: 1px solid var(--fs-neutral-200, #e2e8f0);
  background: transparent;
}
.lp-accordion .accordion-button {
  font-weight: 600;
  background: transparent;
  box-shadow: none !important;
  padding: 1.1rem 0;
}
.lp-accordion .accordion-button:not(.collapsed) {
  color: var(--fs-green-700, #008060);
  background: transparent;
}
.lp-accordion .accordion-body {
  padding: 0 0 1rem;
}

/* ── Trust Badges ── */
.lp-trust-badge {
  transition: transform 200ms ease;
}
.lp-trust-badge:hover {
  transform: translateY(-2px);
}
.lp-trust-icon {
  font-size: 1.8rem;
  color: var(--fs-green-700, #008060);
}

/* ── Final CTA ── */
.lp-final-cta {
  background: var(--fs-grad-hero, linear-gradient(135deg, #008060 0%, #0a6d55 50%, #064e3b 100%));
  padding: 4rem 0;
  position: relative;
  overflow: hidden;
}

/* ── Responsive ── */
@media (max-width: 767.98px) {
  .lp-hero { padding: 3rem 0 4rem; }
  .min-vh-75 { min-height: auto; }
  .lp-hero-mockup { max-width: 300px; transform: none; }
  .lp-section { padding: 3rem 0; }
}
