/* LineEats homepage polish — loaded after landing-v2.css, scoped to body.lv2-home.
   All accent colors derive from --accent (= --pp-theme, set from SaaS branding settings).
   --on-accent (text on accent) is computed server-side from the theme's luminance. */

body.lv2-home {
  --section-y: clamp(4rem, 9vw, 7.5rem);
  --card-bg: color-mix(in srgb, #fff 4%, transparent);
  --card-border: color-mix(in srgb, #fff 9%, transparent);
  --accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);
  font-size: 1rem;
}

body.lv2-home .lv2-section { padding: var(--section-y) 0; }
body.lv2-home .lv2-wrap { width: min(1160px, calc(100% - 2.5rem)); }
body.lv2-home .lv2-wrap--wide { width: min(1240px, calc(100% - 2.5rem)); }

/* Buttons: text color follows theme luminance */
body.lv2-home .lv2-btn--solid,
body.lv2-home .lv2-btn--dark,
body.lv2-home .lv2-btn--glow,
body.lv2-home .lv2-top,
body.lv2-home .lv2-btn--solid:hover,
body.lv2-home .lv2-btn--dark:hover,
body.lv2-home .lv2-btn--glow:hover,
body.lv2-home .lv2-top:hover {
  color: var(--on-accent) !important;
  -webkit-text-fill-color: var(--on-accent) !important;
}
body.lv2-home .lv2-btn { border-radius: 999px; font-weight: 600; letter-spacing: -0.005em; }
body.lv2-home .lv2-section--paper .lv2-btn--dark { box-shadow: none !important; }

/* Headings */
body.lv2-home .lv2-section h2 {
  font-size: clamp(1.75rem, 3.6vw, 2.75rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
body.lv2-home .lv2-section-head { max-width: 46rem; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
body.lv2-home .lv2-section-head--center { margin-inline: auto; text-align: center; }
body.lv2-home .lv2-section-head--center h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); }
body.lv2-home .lv2-kicker {
  padding: 0.32rem 0.8rem;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
body.lv2-home .lv2-section--paper .lv2-kicker {
  color: color-mix(in srgb, var(--accent) 65%, #000);
}
body.lv2-home .lv2-muted { max-width: 60ch; }

/* Header */
body.lv2-home .lv2-header { --header-h: 4.25rem; }
body.lv2-home .lv2-header.is-scrolled {
  background: color-mix(in srgb, var(--ink) 80%, transparent);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
}
body.lv2-home .lv2-logo img { height: 44px; max-width: min(220px, 50vw); }
body.lv2-home .lv2-nav a {
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-size: 0.92rem;
  transition: background 0.2s, color 0.2s;
}
body.lv2-home .lv2-nav a:hover { background: color-mix(in srgb, #fff 8%, transparent); }
body.lv2-home .lv2-header-actions .lv2-btn { white-space: nowrap; }
@media (max-width: 575.98px) {
  body.lv2-home .lv2-header-actions { gap: 0.5rem; }
  body.lv2-home .lv2-header-actions .lv2-btn--solid { padding: 0.5rem 0.85rem; font-size: 0.84rem; }
}
@media (max-width: 399.98px) {
  body.lv2-home .lv2-header-actions .lv2-btn--solid { display: none; }
}

/* Drawer: full-height sheet */
body.lv2-home .lv2-drawer-panel { display: flex; flex-direction: column; padding: 1.25rem; }
body.lv2-home .lv2-drawer-nav { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; margin-top: 1rem; }
body.lv2-home .lv2-drawer-nav a {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  padding: 0.95rem 0.25rem;
  border-bottom: 1px solid var(--line);
}
body.lv2-home .lv2-drawer-panel > .lv2-btn { width: 100%; margin-top: 1rem; min-height: 3.1rem; }

/* Hero */
body.lv2-home .lv2-hero { min-height: 0; padding: calc(var(--header-h) + clamp(2.5rem, 7vw, 5rem)) 0 clamp(3rem, 7vw, 5.5rem); }
body.lv2-home .lv2-hero-bg::before { background:
  radial-gradient(ellipse 60% 55% at 78% 30%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%),
  radial-gradient(ellipse 50% 50% at 5% 90%, color-mix(in srgb, var(--accent-deep) 40%, transparent), transparent 70%); }
body.lv2-home .lv2-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.85rem;
  margin-bottom: 1.25rem;
  border-radius: 999px;
  background: var(--accent-soft);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.lv2-home .lv2-hero-kicker::before {
  content: "";
  width: 0.45rem; height: 0.45rem; border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent);
}
body.lv2-home .lv2-hero h1 {
  font-size: clamp(2.1rem, 4.6vw, 3.6rem);
  line-height: 1.07;
  letter-spacing: -0.035em;
  max-width: 14ch;
  text-wrap: balance;
}
body.lv2-home .lv2-hero-lead { max-width: 44ch; font-size: clamp(1.02rem, 1.6vw, 1.18rem); margin-bottom: 2rem; }
body.lv2-home .lv2-hero-cta .lv2-btn { min-height: 3.1rem; padding-inline: 1.6rem; }
.lv2-trust {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2.25rem;
  margin: 2.25rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid var(--line);
}
.lv2-trust li { display: flex; flex-direction: column; min-width: 0; }
.lv2-trust strong { font-family: var(--font-display); font-size: 1.5rem; letter-spacing: -0.02em; line-height: 1.1; }
.lv2-trust span { font-size: 0.82rem; color: var(--fog); }
body.lv2-home .lv2-plate--3,
body.lv2-home .lv2-plate--4 { display: none; }
@media (max-width: 767.98px) {
  body.lv2-home .lv2-hero-cta { flex-direction: column; }
  body.lv2-home .lv2-plate--1,
  body.lv2-home .lv2-plate--2 { display: none; }
  body.lv2-home .lv2-stage { min-height: 0; height: auto; aspect-ratio: 16 / 11; }
  .lv2-trust { gap: 1rem 1.5rem; }
  .lv2-trust strong { font-size: 1.25rem; }
}

/* Cards (features, steps, plans, quotes) */
body.lv2-home .lv2-feature,
body.lv2-home .lv2-step,
body.lv2-home .lv2-plan {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: 1.4rem;
}
body.lv2-home .lv2-feature:hover,
body.lv2-home .lv2-step:hover,
body.lv2-home .lv2-plan:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--accent) 45%, var(--card-border));
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.3);
}
body.lv2-home .lv2-feature-icon {
  width: 3rem; height: 3rem; border-radius: 0.9rem;
  background: var(--accent-soft);
  border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
  display: grid; place-items: center;
}
body.lv2-home .lv2-feature-icon img { width: 1.6rem; height: 1.6rem; object-fit: contain; }
body.lv2-home .lv2-features { grid-template-columns: 1fr; gap: 1.1rem; }
@media (min-width: 700px) { body.lv2-home .lv2-features { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { body.lv2-home .lv2-features { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.lv2-home .lv2-feature p {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden;
}

/* How it works: connected steps */
body.lv2-home #how-it-works { padding-top: 0; }
body.lv2-home .lv2-steps { gap: 1.1rem; position: relative; }
body.lv2-home .lv2-step { padding: 1.5rem 1.4rem; }
body.lv2-home .lv2-step::before {
  width: 2.75rem; height: 2.75rem; display: grid; place-items: center;
  font-size: 1rem; border-radius: 50%;
  background: var(--accent); color: var(--on-accent);
  box-shadow: 0 0 0 6px var(--accent-soft);
}
@media (min-width: 768px) {
  body.lv2-home .lv2-steps::before {
    content: ""; position: absolute; top: 2.9rem; left: 12%; right: 12%; height: 2px;
    background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent) 45%, transparent) 0 8px, transparent 8px 16px);
  }
  body.lv2-home .lv2-step { z-index: 1; }
}

/* About / key feature bands (paper) */
body.lv2-home .lv2-section--paper { background: var(--paper); }
body.lv2-home #about { padding-bottom: calc(var(--section-y) * 0.6); }
body.lv2-home #about + .lv2-section--paper { padding-top: 0; }
body.lv2-home .lv2-split { gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
body.lv2-home .lv2-stats { gap: 1rem; }
body.lv2-home .lv2-stat {
  padding: 1rem 1.1rem; border-radius: 1rem;
  background: #fff; border: 1px solid var(--line-dark);
}
body.lv2-home .lv2-band { gap: clamp(2rem, 5vw, 4.5rem); align-items: center; margin-bottom: clamp(3rem, 7vw, 5.5rem); }
body.lv2-home .lv2-band:last-child { margin-bottom: 0; }
body.lv2-home .lv2-band-copy li::before { background: var(--accent); color: var(--on-accent); }

/* Pricing */
body.lv2-home .lv2-pricing-tabs {
  display: inline-flex; padding: 0.3rem; gap: 0.2rem; margin-bottom: 2.5rem;
  border-radius: 999px; background: var(--card-bg); border: 1px solid var(--card-border);
}
body.lv2-home .lv2-pricing-tabs button { border-radius: 999px; padding: 0.55rem 1.3rem; font-weight: 600; }
body.lv2-home .lv2-pricing-tabs button.is-active { background: var(--accent); color: var(--on-accent); }
body.lv2-home .lv2-plans { gap: 1.1rem; }
@media (min-width: 768px) { body.lv2-home .lv2-plans { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
body.lv2-home .lv2-plan { padding: 1.9rem 1.6rem 1.6rem; }
body.lv2-home .lv2-plan.is-featured {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent), 0 24px 60px color-mix(in srgb, var(--accent) 20%, transparent);
}
body.lv2-home .lv2-plan-badge {
  position: absolute; top: 1.1rem; right: 1.1rem;
  padding: 0.25rem 0.7rem; border-radius: 999px;
  background: var(--accent); color: var(--on-accent);
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
}
body.lv2-home .lv2-plan-price { font-size: clamp(2rem, 3.4vw, 2.6rem); letter-spacing: -0.03em; }
body.lv2-home .lv2-plan ul { flex: 1; }
body.lv2-home .lv2-plan-more { margin: -0.4rem 0 1.25rem; }
body.lv2-home .lv2-plan-more summary {
  cursor: pointer; list-style: none; color: var(--accent); font-weight: 600; font-size: 0.9rem; padding: 0.25rem 0;
}
body.lv2-home .lv2-plan-more summary::-webkit-details-marker { display: none; }
body.lv2-home .lv2-plan-more .lv2-more-open { display: none; }
body.lv2-home .lv2-plan-more[open] .lv2-more-open { display: inline; }
body.lv2-home .lv2-plan-more[open] .lv2-more-closed { display: none; }
body.lv2-home .lv2-plan-more ul { margin-top: 0.75rem; }
body.lv2-home .lv2-plan .lv2-btn { min-height: 3rem; margin-top: auto; }

/* Testimonials: dark, horizontal snap on mobile */
body.lv2-home .lv2-section--testimonials { background: var(--ink-2); }
body.lv2-home .lv2-quote {
  background: var(--card-bg); border: 1px solid var(--card-border); box-shadow: none; border-radius: 1.4rem;
  color: var(--paper);
}
body.lv2-home .lv2-quote:hover { border-color: color-mix(in srgb, var(--accent) 40%, var(--card-border)); box-shadow: 0 20px 44px rgba(0,0,0,.3); }
body.lv2-home .lv2-quote p { color: var(--paper); }
body.lv2-home .lv2-quote-stars { color: var(--accent); }
body.lv2-home .lv2-quote-meta span { color: var(--fog); }
body.lv2-home .lv2-quote-meta strong { color: #fff; }
@media (max-width: 767.98px) {
  body.lv2-home .lv2-quotes {
    display: flex; overflow-x: auto; gap: 0.9rem;
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    margin-inline: -1.25rem; padding: 0.25rem 1.25rem 1rem;
    scrollbar-width: none;
  }
  body.lv2-home .lv2-quotes::-webkit-scrollbar { display: none; }
  body.lv2-home .lv2-quote { flex: 0 0 84%; scroll-snap-align: center; }
}

/* Final CTA */
body.lv2-home .lv2-cta {
  background:
    radial-gradient(ellipse 70% 90% at 95% 0%, color-mix(in srgb, var(--accent) 35%, transparent), transparent 60%),
    linear-gradient(135deg, var(--ink-3), color-mix(in srgb, var(--accent-deep) 80%, var(--ink)));
  border-radius: 2rem;
}
body.lv2-home .lv2-cta h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); letter-spacing: -0.03em; }
body.lv2-home .lv2-cta .lv2-btn { min-height: 3.2rem; padding-inline: 1.8rem; }

/* Footer */
body.lv2-home .lv2-footer { border-top: 1px solid var(--line); padding-top: clamp(3rem, 6vw, 4.5rem); }
body.lv2-home .lv2-footer-grid { gap: 2rem; }
@media (max-width: 767.98px) {
  body.lv2-home .lv2-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lv2-home .lv2-footer-brand { grid-column: 1 / -1; }
}
body.lv2-home .lv2-footer-brand img { height: 44px; width: auto; max-width: 220px; }
body.lv2-home .lv2-footer h3 { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fog); }
body.lv2-home .lv2-footer-bottom { flex-wrap: wrap; gap: 0.75rem 1.5rem; }

@media (prefers-reduced-motion: reduce) {
  body.lv2-home * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
