/* ============================================================================
   V34 LANDING PAGE — STYLES
   Mobile-first, conversion-optimized
   ============================================================================ */

:root {
  --v34-purple: #7B2CBF;
  --v34-purple-dark: #5A189A;
  --v34-purple-light: #E0AAFF;
  --v34-purple-bg: #F3E8FF;
  --v34-cta-green: #10B981;
  --v34-cta-green-dark: #059669;
  --v34-orange: #F97316;
  --v34-red: #DC2626;
  --v34-trust-blue: #1E40AF;
  --v34-text: #1F2937;
  --v34-text-soft: #6B7280;
  --v34-bg-soft: #F9FAFB;
  --v34-bg-yellow: #FEF3C7;
  --v34-border: #E5E7EB;
  --v34-shadow: 0 4px 12px rgba(0,0,0,0.08);
  --v34-shadow-lg: 0 12px 28px rgba(0,0,0,0.12);
  --v34-radius: 14px;
  --v34-radius-lg: 20px;
  --v34-font-heading: 'Poppins', system-ui, -apple-system, sans-serif;
  --v34-font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --v34-max-width: 1200px;
  --v34-max-width-narrow: 800px;
}

/* ============ RESET / BASE ============ */
*, *::before, *::after { box-sizing: border-box; }
body { font-family: var(--v34-font-body); color: var(--v34-text); line-height: 1.6; margin: 0; padding: 0; }
img { max-width: 100%; height: auto; display: block; }
button { font-family: inherit; cursor: pointer; border: none; }
a { color: var(--v34-purple); text-decoration: none; }

/* ============ CONTAINER ============ */
.v34-container { width: 100%; max-width: var(--v34-max-width); margin: 0 auto; padding: 0 16px; }
.v34-container--narrow { max-width: var(--v34-max-width-narrow); }

/* ============ HEADINGS / TEXT ============ */
.v34-section-title { font-family: var(--v34-font-heading); font-size: 28px; font-weight: 800; line-height: 1.2; text-align: center; margin: 0 0 16px; color: var(--v34-text); }
.v34-section-title--white { color: #fff; }
.v34-section-subtitle { text-align: center; font-size: 16px; color: var(--v34-text-soft); max-width: 720px; margin: 0 auto 40px; }
.v34-section-subtitle--white { color: rgba(255,255,255,0.95); }
.v34-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; color: var(--v34-purple); text-transform: uppercase; margin-bottom: 12px; text-align: center; width: 100%; }
.v34-eyebrow--red { color: var(--v34-red); }

@media (min-width: 768px) {
  .v34-section-title { font-size: 40px; }
  .v34-section-subtitle { font-size: 18px; margin-bottom: 56px; }
}

/* ============ BUTTONS ============ */
.v34-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 24px; font-weight: 700; font-size: 15px; border-radius: 12px; transition: all 0.2s ease; text-decoration: none; line-height: 1.2; min-height: 48px; }
.v34-btn--primary { background: var(--v34-cta-green); color: #fff; box-shadow: 0 4px 14px rgba(16,185,129,0.4); }
.v34-btn--primary:hover { background: var(--v34-cta-green-dark); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(16,185,129,0.5); }
.v34-btn--secondary { background: #fff; color: var(--v34-purple); border: 2px solid var(--v34-purple); }
.v34-btn--secondary:hover { background: var(--v34-purple); color: #fff; }
.v34-btn--xl { padding: 18px 32px; font-size: 17px; min-height: 60px; }
.v34-btn--full { width: 100%; }

/* ============ TOPBAR ============ */
.v34-topbar { background: linear-gradient(90deg, var(--v34-purple), var(--v34-purple-dark)); color: #fff; padding: 8px 0; overflow: hidden; font-size: 13px; font-weight: 600; }
.v34-topbar__track { display: flex; gap: 16px; justify-content: center; align-items: center; flex-wrap: wrap; padding: 0 16px; }
.v34-topbar__track > span { white-space: nowrap; }

@media (max-width: 640px) {
  .v34-topbar { font-size: 11px; }
  .v34-topbar__track { gap: 8px; }
}

/* ============ HERO ============ */
/* ============ BRAND HEADER ============ */
.v34-brand { background: #fff; border-bottom: 1px solid var(--v34-border); padding: 14px 0; position: sticky; top: 0; z-index: 50; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.v34-brand__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.v34-brand__link { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--v34-text); }
.v34-brand__link img { display: block; }
.v34-brand__name { font-family: var(--v34-font-heading); font-size: 20px; font-weight: 900; letter-spacing: 1px; color: var(--v34-purple-dark); }
.v34-brand__name em { font-style: normal; font-weight: 600; color: var(--v34-purple); margin-left: 4px; opacity: 0.85; }
.v34-brand__contact a { font-size: 13px; color: var(--v34-text-soft); text-decoration: none; }
.v34-brand__contact a:hover { color: var(--v34-purple); }

@media (max-width: 640px) {
  .v34-brand__contact { display: none; }
  .v34-brand__name { font-size: 17px; }
}

.v34-hero { background: linear-gradient(135deg, var(--v34-purple-bg) 0%, #fff 100%); padding: 32px 0 48px; }
.v34-hero__grid { display: grid; gap: 32px; align-items: center; }
.v34-hero__badge { display: inline-block; background: rgba(123,44,191,0.1); color: var(--v34-purple); padding: 6px 14px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; margin-bottom: 16px; }
.v34-hero__title { font-family: var(--v34-font-heading); font-size: 32px; font-weight: 900; line-height: 1.1; margin: 0 0 16px; color: var(--v34-text); }
.v34-hero__title-accent { color: var(--v34-purple); }
.v34-hero__subtitle { font-size: 16px; color: var(--v34-text-soft); margin: 0 0 24px; }
.v34-hero__trust { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0 24px; font-size: 13px; color: var(--v34-text-soft); }
.v34-hero__rating { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; color: var(--v34-text-soft); }
.v34-stars { color: #FFB800; font-size: 18px; letter-spacing: 2px; }
.v34-hero__media { position: relative; }
.v34-hero__image { width: 100%; max-width: 540px; margin: 0 auto; border-radius: var(--v34-radius-lg); box-shadow: var(--v34-shadow-lg); }
.v34-hero__badge-floating { position: absolute; top: 12px; right: 12px; background: var(--v34-red); color: #fff; padding: 12px; border-radius: 50%; width: 70px; height: 70px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 800; box-shadow: var(--v34-shadow-lg); transform: rotate(-8deg); }
.v34-hero__badge-discount { font-size: 18px; line-height: 1; }
.v34-hero__badge-text { font-size: 10px; }

@media (min-width: 768px) {
  .v34-hero { padding: 56px 0 80px; }
  .v34-hero__grid { grid-template-columns: 1.1fr 1fr; gap: 56px; }
  .v34-hero__title { font-size: 52px; }
  .v34-hero__subtitle { font-size: 18px; }
}

/* ============ PROBLEM ============ */
.v34-problem { padding: 60px 0; background: #fff; }
.v34-problem__grid { display: grid; gap: 20px; }
.v34-problem__item { background: var(--v34-bg-soft); padding: 24px; border-radius: var(--v34-radius); border-left: 4px solid var(--v34-purple); }
.v34-problem__icon { font-size: 32px; display: block; margin-bottom: 12px; }
.v34-problem__item h3 { font-family: var(--v34-font-heading); font-size: 17px; font-weight: 700; margin: 0 0 8px; color: var(--v34-text); }
.v34-problem__item p { font-size: 14px; color: var(--v34-text-soft); margin: 0; }
.v34-problem__item--quote { background: linear-gradient(135deg, var(--v34-purple), var(--v34-purple-dark)); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; border-left: none; }
.v34-quote { font-style: italic; font-size: 18px; font-weight: 600; margin: 0; line-height: 1.3; }

@media (min-width: 768px) {
  .v34-problem { padding: 100px 0; }
  .v34-problem__grid { grid-template-columns: repeat(3, 1fr); }
  .v34-quote { font-size: 22px; }
}

/* ============ SOLUTION ============ */
.v34-solution { padding: 60px 0; background: var(--v34-bg-soft); }
.v34-solution__science { background: #fff; border: 2px solid var(--v34-purple-light); border-radius: var(--v34-radius-lg); padding: 32px; margin-top: 32px; max-width: 720px; margin-left: auto; margin-right: auto; text-align: center; box-shadow: var(--v34-shadow); }
.v34-solution__science-label { display: inline-block; background: var(--v34-purple-bg); color: var(--v34-purple); padding: 6px 14px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.5px; margin-bottom: 16px; }
.v34-solution__science p { font-family: var(--v34-font-heading); font-size: 18px; font-weight: 600; line-height: 1.5; color: var(--v34-text); margin: 0; }

@media (min-width: 768px) {
  .v34-solution { padding: 100px 0; }
  .v34-solution__science p { font-size: 22px; }
}

/* ============ HOW TO ============ */
.v34-howto { padding: 60px 0; background: #fff; }
.v34-howto__steps { display: grid; gap: 24px; margin-bottom: 32px; }
.v34-howto__step { text-align: center; padding: 32px 24px; background: var(--v34-bg-soft); border-radius: var(--v34-radius-lg); position: relative; }
.v34-howto__num { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; background: var(--v34-purple); color: #fff; border-radius: 50%; font-family: var(--v34-font-heading); font-size: 28px; font-weight: 800; margin-bottom: 16px; }
.v34-howto__step h3 { font-family: var(--v34-font-heading); font-size: 20px; font-weight: 800; letter-spacing: 1px; margin: 0 0 12px; color: var(--v34-purple); }
.v34-howto__step p { font-size: 15px; margin: 0; color: var(--v34-text-soft); }
.v34-howto__tip { background: var(--v34-bg-yellow); border-radius: var(--v34-radius); padding: 20px 24px; max-width: 720px; margin: 0 auto; text-align: center; font-size: 15px; }

@media (min-width: 768px) {
  .v34-howto { padding: 100px 0; }
  .v34-howto__steps { grid-template-columns: repeat(3, 1fr); gap: 32px; }
}

/* ============ BENEFITS ============ */
.v34-benefits { padding: 60px 0; background: var(--v34-bg-soft); }
.v34-benefits__grid { display: grid; gap: 20px; }
.v34-benefit { background: #fff; padding: 28px 24px; border-radius: var(--v34-radius); box-shadow: var(--v34-shadow); transition: transform 0.2s; }
.v34-benefit:hover { transform: translateY(-4px); }
.v34-benefit__icon { font-size: 36px; display: block; margin-bottom: 12px; }
.v34-benefit h3 { font-family: var(--v34-font-heading); font-size: 18px; font-weight: 700; margin: 0 0 8px; color: var(--v34-text); }
.v34-benefit p { font-size: 14px; color: var(--v34-text-soft); margin: 0; }

@media (min-width: 768px) {
  .v34-benefits { padding: 100px 0; }
  .v34-benefits__grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }
}

/* ============ RESULTS / BEFORE-AFTER ============ */
.v34-results { padding: 60px 0; background: #fff; }
.v34-results__grid { display: grid; gap: 24px; }
.v34-result-card { background: var(--v34-bg-soft); border-radius: var(--v34-radius-lg); padding: 20px; }
.v34-result-card__images { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }
.v34-result-card__image { position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #ddd; }
.v34-result-card__image img { width: 100%; height: 100%; object-fit: cover; }
.v34-result-card__label { position: absolute; top: 8px; left: 8px; padding: 4px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: 1px; color: #fff; }
.v34-result-card__label--before { background: var(--v34-text-soft); }
.v34-result-card__label--after { background: var(--v34-cta-green); }
.v34-result-card__quote { font-size: 14px; font-style: italic; color: var(--v34-text); margin: 0 0 8px; }
.v34-result-card__author { font-size: 13px; font-weight: 600; color: var(--v34-text-soft); margin: 0; }
.v34-disclaimer { font-size: 12px; color: var(--v34-text-soft); text-align: center; margin-top: 24px; font-style: italic; }

@media (min-width: 768px) {
  .v34-results { padding: 100px 0; }
  .v34-results__grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
}
@media (min-width: 1024px) {
  .v34-results__grid { grid-template-columns: repeat(4, 1fr); }
}

/* ============ TESTIMONIALS ============ */
.v34-testimonials { padding: 60px 0; background: var(--v34-bg-soft); }
.v34-testimonials__rating { text-align: center; margin-bottom: 40px; }
.v34-testimonials__rating .v34-stars { font-size: 28px; }
.v34-testimonials__rating p { margin: 8px 0 0; font-size: 16px; }
.v34-testimonials__grid { display: grid; gap: 20px; }
.v34-testimonial { background: #fff; padding: 24px; border-radius: var(--v34-radius); box-shadow: var(--v34-shadow); }
.v34-testimonial h3 { font-family: var(--v34-font-heading); font-size: 16px; font-weight: 700; margin: 0 0 8px; color: var(--v34-text); }
.v34-testimonial .v34-stars { font-size: 14px; margin-bottom: 12px; }
.v34-testimonial p { font-size: 14px; color: var(--v34-text-soft); line-height: 1.6; margin: 0 0 16px; }
.v34-testimonial footer { font-size: 12px; color: var(--v34-text-soft); padding-top: 12px; border-top: 1px solid var(--v34-border); }

@media (min-width: 768px) {
  .v34-testimonials { padding: 100px 0; }
  .v34-testimonials__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}

/* ============ COMPARE TABLE ============ */
.v34-compare { padding: 60px 0; background: #fff; }
.v34-compare__wrap { overflow-x: auto; margin: 0 -16px; padding: 0 16px; }
.v34-compare__table { width: 100%; border-collapse: collapse; min-width: 600px; }
.v34-compare__table th, .v34-compare__table td { padding: 14px; text-align: center; border-bottom: 1px solid var(--v34-border); font-size: 14px; }
.v34-compare__table th:first-child, .v34-compare__table td:first-child { text-align: left; font-weight: 600; }
.v34-compare__table th { background: var(--v34-bg-soft); font-weight: 700; }
.v34-compare__col-highlight { background: var(--v34-purple-bg); font-weight: 700; color: var(--v34-purple-dark); }
.v34-compare__conclusion { text-align: center; font-size: 18px; margin-top: 24px; }

@media (min-width: 768px) {
  .v34-compare { padding: 100px 0; }
  .v34-compare__table th, .v34-compare__table td { padding: 18px; font-size: 15px; }
}

/* ============ BUNDLES (most important) ============ */
.v34-bundles { padding: 60px 0; background: linear-gradient(135deg, #FEF3C7 0%, #FFE4E6 100%); }
.v34-bundles__countdown { background: var(--v34-red); color: #fff; padding: 12px 24px; border-radius: var(--v34-radius); display: inline-flex; gap: 8px; font-weight: 700; margin: 0 auto 32px; max-width: 100%; box-shadow: var(--v34-shadow); }
.v34-bundles__countdown-time { font-family: 'Courier New', monospace; font-size: 18px; }
.v34-bundles__grid { display: grid; gap: 24px; max-width: 1100px; margin: 0 auto; }
.v34-bundle { background: #fff; border-radius: var(--v34-radius-lg); padding: 24px; box-shadow: var(--v34-shadow); border: 2px solid var(--v34-border); position: relative; transition: transform 0.2s, box-shadow 0.2s; display: flex; flex-direction: column; }
.v34-bundle:hover { transform: translateY(-4px); box-shadow: var(--v34-shadow-lg); }
.v34-bundle--popular { border-color: var(--v34-purple); transform: scale(1.02); }
.v34-bundle__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--v34-orange); color: #fff; padding: 6px 16px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: 1px; box-shadow: var(--v34-shadow); }
.v34-bundle__header { text-align: center; padding-bottom: 16px; border-bottom: 1px dashed var(--v34-border); margin-bottom: 16px; }
.v34-bundle__icon { font-size: 36px; display: block; margin-bottom: 8px; }
.v34-bundle__name { font-family: var(--v34-font-heading); font-size: 18px; font-weight: 800; letter-spacing: 0.5px; margin: 0 0 4px; color: var(--v34-text); }
.v34-bundle__sub { font-size: 13px; color: var(--v34-text-soft); margin: 0; }
.v34-bundle__pricing { text-align: center; margin-bottom: 20px; }
.v34-bundle__price-old { display: block; font-size: 14px; color: var(--v34-text-soft); text-decoration: line-through; }
.v34-bundle__price { display: block; font-family: var(--v34-font-heading); font-size: 42px; font-weight: 900; color: var(--v34-purple); line-height: 1; margin: 4px 0; }
.v34-bundle__save { display: inline-block; background: var(--v34-cta-green); color: #fff; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.v34-bundle__features { list-style: none; padding: 0; margin: 0 0 20px; flex-grow: 1; }
.v34-bundle__features li { padding: 8px 0; font-size: 14px; padding-left: 24px; position: relative; }
.v34-bundle__features li::before { content: '✓'; position: absolute; left: 0; color: var(--v34-cta-green); font-weight: 800; }
.v34-bundle__note { font-size: 12px; color: var(--v34-text-soft); text-align: center; margin: 12px 0 0; font-style: italic; }
.v34-bundles__urgency { text-align: center; font-size: 16px; margin-top: 32px; color: var(--v34-red); font-weight: 600; }
.v34-trust-row { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 24px; font-size: 14px; font-weight: 600; color: var(--v34-text-soft); }

@media (min-width: 768px) {
  .v34-bundles { padding: 100px 0; }
  .v34-bundles__grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }
}

/* ============ INGREDIENTS ============ */
.v34-ingredients { padding: 60px 0; background: #fff; }
.v34-ingredients__grid { display: grid; gap: 20px; }
.v34-ingredient { padding: 24px; background: var(--v34-bg-soft); border-radius: var(--v34-radius); text-align: center; }
.v34-ingredient__icon { font-size: 32px; display: block; margin-bottom: 12px; }
.v34-ingredient h3 { font-family: var(--v34-font-heading); font-size: 16px; font-weight: 700; margin: 0 0 6px; color: var(--v34-text); }
.v34-ingredient p { font-size: 13px; color: var(--v34-text-soft); margin: 0; }

@media (min-width: 768px) {
  .v34-ingredients { padding: 100px 0; }
  .v34-ingredients__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}

/* ============ FAQ ============ */
.v34-faq { padding: 60px 0; background: var(--v34-bg-soft); }
.v34-faq__list { display: flex; flex-direction: column; gap: 12px; }
.v34-faq__item { background: #fff; border-radius: var(--v34-radius); padding: 0; box-shadow: var(--v34-shadow); overflow: hidden; }
.v34-faq__item summary { padding: 18px 24px; font-weight: 700; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 15px; color: var(--v34-text); }
.v34-faq__item summary::-webkit-details-marker { display: none; }
.v34-faq__item summary::after { content: '+'; font-size: 24px; font-weight: 300; color: var(--v34-purple); transition: transform 0.2s; flex-shrink: 0; }
.v34-faq__item[open] summary::after { transform: rotate(45deg); }
.v34-faq__item p { padding: 0 24px 18px; margin: 0; font-size: 14px; color: var(--v34-text-soft); line-height: 1.7; }

@media (min-width: 768px) {
  .v34-faq { padding: 100px 0; }
  .v34-faq__item summary { font-size: 17px; }
}

/* ============ GUARANTEES ============ */
.v34-guarantees { padding: 60px 0; background: #fff; }
.v34-guarantees__grid { display: grid; gap: 20px; }
.v34-guarantee { text-align: center; padding: 28px 20px; background: var(--v34-bg-soft); border-radius: var(--v34-radius); }
.v34-guarantee__icon { font-size: 48px; display: block; margin-bottom: 12px; }
.v34-guarantee h3 { font-family: var(--v34-font-heading); font-size: 17px; font-weight: 800; margin: 0 0 8px; color: var(--v34-text); }
.v34-guarantee p { font-size: 14px; color: var(--v34-text-soft); margin: 0; }

@media (min-width: 768px) {
  .v34-guarantees { padding: 100px 0; }
  .v34-guarantees__grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}

/* ============ FINAL CTA ============ */
.v34-final-cta { padding: 60px 0; background: linear-gradient(135deg, var(--v34-purple), var(--v34-purple-dark)); color: #fff; text-align: center; }
.v34-final-cta__pack { background: rgba(255,255,255,0.1); backdrop-filter: blur(10px); border: 2px solid rgba(255,255,255,0.2); border-radius: var(--v34-radius-lg); padding: 32px; margin: 32px 0; }
.v34-final-cta__pack-label { display: inline-block; background: var(--v34-orange); color: #fff; padding: 6px 16px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: 1px; margin-bottom: 12px; }
.v34-final-cta__pack p { font-size: 18px; margin: 8px 0; }
.v34-final-cta__price { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 20px 0; }
.v34-final-cta__price-old { text-decoration: line-through; opacity: 0.7; font-size: 22px; }
.v34-final-cta__price-new { font-family: var(--v34-font-heading); font-size: 48px; font-weight: 900; }
.v34-final-cta__trust { list-style: none; padding: 0; margin: 32px 0 0; display: flex; flex-direction: column; gap: 8px; align-items: center; font-size: 14px; }

@media (min-width: 768px) {
  .v34-final-cta { padding: 100px 0; }
  .v34-final-cta__price-new { font-size: 64px; }
}

/* ============ ORDER FORM ============ */
.v34-form { padding: 60px 0; background: var(--v34-bg-soft); }
.v34-form__grid { display: grid; gap: 24px; max-width: 1000px; margin: 0 auto; }
.v34-form__main { background: #fff; padding: 28px; border-radius: var(--v34-radius-lg); box-shadow: var(--v34-shadow); display: flex; flex-direction: column; gap: 16px; }
.v34-form__field { display: flex; flex-direction: column; gap: 6px; }
.v34-form__field label { font-size: 14px; font-weight: 600; color: var(--v34-text); }
.v34-form__field input { padding: 14px 16px; border: 2px solid var(--v34-border); border-radius: 10px; font-size: 16px; font-family: inherit; transition: border 0.2s; }
.v34-form__field input:focus { outline: none; border-color: var(--v34-purple); }
.v34-form__field small { font-size: 12px; color: var(--v34-text-soft); }
.v34-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.v34-form__trust { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 12px; color: var(--v34-text-soft); }
.v34-form__summary { background: #fff; padding: 28px; border-radius: var(--v34-radius-lg); box-shadow: var(--v34-shadow); height: fit-content; position: sticky; top: 20px; }
.v34-form__summary h3 { font-family: var(--v34-font-heading); font-size: 18px; font-weight: 800; margin: 0 0 16px; }
.v34-form__summary-item { padding: 12px 0; border-bottom: 1px dashed var(--v34-border); font-size: 14px; font-weight: 600; }
.v34-form__summary-row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 14px; }
.v34-form__summary-row--total { font-family: var(--v34-font-heading); font-size: 22px; font-weight: 800; color: var(--v34-purple); }
.v34-form__summary-free { color: var(--v34-cta-green); font-weight: 700; }
.v34-form__summary-trust { list-style: none; padding: 0; margin: 16px 0 0; font-size: 13px; color: var(--v34-text-soft); display: flex; flex-direction: column; gap: 6px; }

@media (min-width: 768px) {
  .v34-form { padding: 100px 0; }
  .v34-form__grid { grid-template-columns: 1.5fr 1fr; gap: 32px; }
  .v34-form__main { padding: 40px; }
}

/* ============ FOOTER ============ */
.v34-footer { background: var(--v34-text); color: rgba(255,255,255,0.85); padding: 48px 0 24px; }
.v34-footer__top { text-align: center; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.v34-footer__top h3 { font-family: var(--v34-font-heading); font-size: 18px; color: #fff; margin: 0 0 8px; }
.v34-footer__top p { font-size: 13px; margin: 4px 0; }
.v34-footer__top a { color: var(--v34-purple-light); }
.v34-footer__cols { display: grid; gap: 24px; margin-bottom: 32px; }
.v34-footer__cols h4 { font-size: 13px; color: #fff; letter-spacing: 1px; margin: 0 0 12px; }
.v34-footer__cols ul { list-style: none; padding: 0; margin: 0; }
.v34-footer__cols li { font-size: 13px; padding: 4px 0; }
.v34-footer__cols a { color: rgba(255,255,255,0.7); }
.v34-footer__cols a:hover { color: #fff; }
.v34-footer__disclaimer { font-size: 11px; color: rgba(255,255,255,0.5); padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1); margin-bottom: 12px; line-height: 1.5; }
.v34-footer__copy { font-size: 12px; text-align: center; color: rgba(255,255,255,0.5); margin: 0; }

@media (min-width: 768px) {
  .v34-footer__cols { grid-template-columns: repeat(4, 1fr); }
}

/* ============ STICKY MOBILE CTA ============ */
.v34-sticky-mobile { position: fixed; bottom: 0; left: 0; right: 0; z-index: 100; background: #fff; padding: 12px; box-shadow: 0 -4px 12px rgba(0,0,0,0.1); display: block; }
.v34-sticky-mobile .v34-btn { padding: 16px; font-size: 15px; }

@media (min-width: 768px) { .v34-sticky-mobile { display: none; } }
@media (max-width: 767px) { body { padding-bottom: 80px; } }

/* ============ FOOTER TRUST BADGES ============ */
.v34-footer__badges { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; padding: 20px 0; border-top: 1px solid rgba(255,255,255,0.1); border-bottom: 1px solid rgba(255,255,255,0.1); margin: 24px 0; font-size: 12px; color: rgba(255,255,255,0.85); }
.v34-footer__badges span { padding: 6px 14px; background: rgba(255,255,255,0.05); border-radius: 999px; }
.v34-footer__copy a { color: rgba(255,255,255,0.7); margin: 0 4px; }
.v34-footer__copy a:hover { color: #fff; }

/* ============ COOKIE BANNER (RGPD) ============ */
.cookie-banner { position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 999; background: #fff; border-radius: 14px; box-shadow: 0 16px 40px rgba(0,0,0,0.18); padding: 20px 24px; max-width: 720px; margin: 0 auto; border: 2px solid var(--v34-purple-light); }
.cookie-banner__content { display: flex; flex-direction: column; gap: 16px; }
.cookie-banner__text strong { display: block; font-size: 14px; margin-bottom: 6px; color: var(--v34-purple-dark); }
.cookie-banner__text p { margin: 0; font-size: 13px; color: var(--v34-text-soft); line-height: 1.5; }
.cookie-banner__text a { color: var(--v34-purple); }
.cookie-banner__actions { display: flex; gap: 8px; }
.cookie-banner__btn { flex: 1; padding: 10px 16px; font-size: 13px; font-weight: 700; border-radius: 8px; cursor: pointer; border: 0; font-family: inherit; }
.cookie-banner__btn:hover { opacity: 0.92; }
.cookie-banner__btn--primary { background: var(--v34-purple); color: #fff; }
.cookie-banner__btn--secondary { background: var(--v34-bg-soft); color: var(--v34-text); }

@media (min-width: 768px) {
  .cookie-banner__content { flex-direction: row; align-items: center; gap: 24px; }
  .cookie-banner__actions { flex: 0 0 auto; }
  .cookie-banner__btn { padding: 12px 20px; min-width: 110px; flex: 0 0 auto; }
}

@media (max-width: 767px) {
  .cookie-banner { bottom: 76px; }
}
