/* ============================================================
   VoxoLib Homepage V3 - Stylesheet
   Design: Split-screen, storytelling, tabs, carousel
   Prefix: voxolib-v3-
   ============================================================ */

:root {
  --v3-primary: #1E24F5;
  --v3-primary-dark: #0a0e3f;
  --v3-primary-light: #e8e9fe;
  --v3-primary-mid: #717ff5;
  --v3-secondary: #0a8f6e;
  --v3-api-color: #f68c09;
  --v3-text-dark: #012970;
  --v3-text-body: #444;
  --v3-text-muted: #777;
  --v3-bg-light: #fafbff;
  --v3-bg-warm: #f6f9ff;
  --v3-border: #e1ecff;
  --v3-radius-lg: 20px;
  --v3-radius-md: 12px;
  --v3-radius-sm: 8px;
  --v3-shadow: 0 8px 32px rgba(30, 36, 245, 0.08);
  --v3-shadow-lg: 0 16px 48px rgba(30, 36, 245, 0.12);
  --v3-transition: 0.3s ease;
}

/* ============================================================
   GLOBAL V3
   ============================================================ */
.voxolib-v3-page {
  font-family: 'Nunito', sans-serif;
  color: var(--v3-text-body);
  overflow-x: hidden;
}

.voxolib-v3-page section {
  padding: 80px 0;
}

.voxolib-v3-section-tag {
  display: inline-block;
  background: var(--v3-primary-light);
  color: var(--v3-primary);
  font-size: 13px;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.voxolib-v3-section-tag--problem {
  background: #fef2f2;
  color: #c62828;
}

.voxolib-v3-section-tag--solution {
  background: #e6f7f2;
  color: var(--v3-secondary);
}

.voxolib-v3-section-header {
  margin-bottom: 48px;
}

.voxolib-v3-section-header--center {
  text-align: center;
}

.voxolib-v3-section-header h2 {
  color: var(--v3-text-dark);
  font-size: 32px;
  font-weight: 800;
  line-height: 1.3;
  margin: 0;
}

/* Boutons */
.voxolib-v3-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: var(--v3-radius-sm);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all var(--v3-transition);
  border: none;
  cursor: pointer;
}

.voxolib-v3-btn--primary {
  background: var(--v3-primary);
  color: #fff;
}

.voxolib-v3-btn--primary:hover {
  background: var(--v3-primary-dark);
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: var(--v3-shadow);
}

.voxolib-v3-btn--wcb {
  background: var(--v3-primary);
  color: #fff;
}

.voxolib-v3-btn--wcb:hover {
  background: var(--v3-primary-dark);
  color: #fff !important;
}

.voxolib-v3-btn--ct {
  background: var(--v3-primary-mid);
  color: #fff;
}

.voxolib-v3-btn--ct:hover {
  background: var(--v3-primary);
  color: #fff !important;
}

.voxolib-v3-btn--api {
  background: var(--v3-api-color);
  color: #fff;
}

.voxolib-v3-btn--api:hover {
  background: #d97706;
  color: #fff !important;
}

/* ============================================================
   1. HERO SPLIT-SCREEN
   ============================================================ */
.voxolib-v3-hero {
  background: linear-gradient(135deg, var(--v3-bg-warm) 0%, var(--v3-primary-light) 100%);
  padding: 140px 0 100px;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
}

.voxolib-v3-hero-eyebrow {
  display: inline-block;
  background: var(--v3-primary-light);
  color: var(--v3-primary);
  font-size: 13px;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.voxolib-v3-hero h1 {
  color: var(--v3-text-dark);
  font-size: 44px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
}

.voxolib-v3-hero-accent {
  background: linear-gradient(135deg, var(--v3-primary), var(--v3-primary-mid));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.voxolib-v3-hero-subtitle {
  color: var(--v3-text-body);
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 32px;
  max-width: 500px;
}

/* Hero Form */
.voxolib-v3-hero-form {
  margin-bottom: 24px;
}

.voxolib-v3-hero-form-row {
  display: flex;
  gap: 0;
  max-width: 460px;
}

.voxolib-v3-hero-input {
  flex: 1;
  padding: 14px 20px;
  border: 2px solid var(--v3-border);
  border-right: none;
  border-radius: var(--v3-radius-sm) 0 0 var(--v3-radius-sm);
  font-size: 15px;
  font-family: 'Nunito', sans-serif;
  background: #fff;
  outline: none;
  transition: border-color var(--v3-transition);
}

.voxolib-v3-hero-input:focus {
  border-color: var(--v3-primary);
}

.voxolib-v3-hero-submit {
  padding: 14px 24px;
  background: var(--v3-primary);
  color: #fff;
  border: 2px solid var(--v3-primary);
  border-radius: 0 var(--v3-radius-sm) var(--v3-radius-sm) 0;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Nunito', sans-serif;
  cursor: pointer;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all var(--v3-transition);
}

.voxolib-v3-hero-submit:hover {
  background: var(--v3-primary-dark);
  border-color: var(--v3-primary-dark);
  color: #fff !important;
}

.voxolib-v3-hero-form-msg {
  display: none;
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: var(--v3-radius-sm);
  font-size: 14px;
  font-weight: 600;
}

/* Hero Trust */
.voxolib-v3-hero-trust {
  display: flex;
  gap: 24px;
  font-size: 13px;
  color: var(--v3-text-muted);
  margin: 0;
}

.voxolib-v3-hero-trust span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.voxolib-v3-hero-trust i {
  color: var(--v3-secondary);
  font-size: 16px;
}

/* Hero Visual */
.voxolib-v3-hero-visual {
  position: relative;
}

.voxolib-v3-hero-illustration {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 16px 40px rgba(30, 36, 245, 0.1));
  animation: v3-float 6s ease-in-out infinite;
}

@keyframes v3-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

/* ============================================================
   2. SOCIAL PROOF BAR
   ============================================================ */
.voxolib-v3-proof-bar {
  padding: 32px 0 40px;
  background: #fff;
  margin-top: -40px;
  position: relative;
  z-index: 2;
}

.voxolib-v3-proof-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

.voxolib-v3-proof-stats {
  display: flex;
  gap: 40px;
}

.voxolib-v3-proof-stat {
  text-align: center;
}

.voxolib-v3-proof-number {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: var(--v3-primary);
  line-height: 1;
}

.voxolib-v3-proof-label {
  display: block;
  font-size: 12px;
  color: var(--v3-text-muted);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.voxolib-v3-proof-divider {
  width: 1px;
  height: 50px;
  background: var(--v3-border);
}

.voxolib-v3-proof-logos {
  display: flex;
  align-items: center;
  gap: 28px;
}

.voxolib-v3-proof-logos img {
  height: 30px;
  width: auto;
  filter: grayscale(100%);
  opacity: 0.5;
  transition: all var(--v3-transition);
}

.voxolib-v3-proof-logos img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* ============================================================
   3. PROBLEME / SOLUTION
   ============================================================ */
.voxolib-v3-problem-solution {
  background: var(--v3-bg-light);
  background-image: radial-gradient(circle at 1px 1px, #e1ecff 1px, transparent 0);
  background-size: 32px 32px;
}

.voxolib-v3-ps-block {
  margin-bottom: 60px;
}

.voxolib-v3-ps-block:last-child {
  margin-bottom: 0;
}

.voxolib-v3-problem-solution h2 {
  color: var(--v3-text-dark);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 16px;
}

.voxolib-v3-ps-text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--v3-text-body);
  margin-bottom: 20px;
}

.voxolib-v3-ps-pain-points {
  list-style: none;
  padding: 0;
  margin: 0;
}

.voxolib-v3-ps-pain-points li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 15px;
  color: var(--v3-text-dark);
  font-weight: 600;
}

.voxolib-v3-ps-pain-points i {
  color: #c62828;
  font-size: 18px;
}

.voxolib-v3-ps-benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.voxolib-v3-ps-benefits li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 15px;
  color: var(--v3-text-dark);
  font-weight: 600;
}

.voxolib-v3-ps-benefits i {
  color: var(--v3-secondary);
  font-size: 18px;
}

.voxolib-v3-ps-visual svg {
  width: 100%;
  height: auto;
  border-radius: var(--v3-radius-lg);
}

/* ============================================================
   4. PRODUITS - ONGLETS
   ============================================================ */
.voxolib-v3-products {
  background: #fff;
}

.voxolib-v3-product-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.voxolib-v3-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--v3-bg-warm);
  border: 2px solid var(--v3-border);
  border-radius: 50px;
  font-size: 15px;
  font-weight: 700;
  color: var(--v3-text-dark);
  cursor: pointer;
  transition: all var(--v3-transition);
  font-family: 'Nunito', sans-serif;
}

.voxolib-v3-tab:hover {
  border-color: var(--v3-primary);
  color: var(--v3-primary);
}

.voxolib-v3-tab.active {
  background: var(--v3-primary);
  border-color: var(--v3-primary);
  color: #fff;
}

.voxolib-v3-tab i {
  font-size: 18px;
}

/* Panels */
.voxolib-v3-product-panel {
  display: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.voxolib-v3-product-panel.active {
  display: block;
  opacity: 1;
}

.voxolib-v3-product-panel h3 {
  color: var(--v3-text-dark);
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 16px;
}

.voxolib-v3-product-desc {
  font-size: 16px;
  line-height: 1.7;
  color: var(--v3-text-body);
  margin-bottom: 20px;
}

.voxolib-v3-product-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.voxolib-v3-product-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 15px;
  color: var(--v3-text-dark);
}

.voxolib-v3-product-features i {
  color: var(--v3-secondary);
  font-size: 16px;
}

/* Product stat highlight */
.voxolib-v3-product-stat {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 16px 20px;
  background: var(--v3-primary-light);
  border-radius: var(--v3-radius-md);
  margin-bottom: 24px;
}

.voxolib-v3-product-stat-number {
  font-size: 32px;
  font-weight: 800;
  color: var(--v3-primary);
  line-height: 1;
}

.voxolib-v3-product-stat-text {
  font-size: 14px;
  color: var(--v3-text-dark);
  font-weight: 600;
}

/* Product visuals */
.voxolib-v3-product-visual svg {
  width: 100%;
  height: auto;
  border-radius: var(--v3-radius-lg);
  box-shadow: var(--v3-shadow);
}

/* ============================================================
   5. COMMENT CA MARCHE
   ============================================================ */
.voxolib-v3-how {
  background: var(--v3-bg-warm);
}

.voxolib-v3-steps {
  display: flex;
  justify-content: center;
  gap: 0;
  position: relative;
}

.voxolib-v3-step {
  flex: 1;
  text-align: center;
  position: relative;
  max-width: 300px;
  padding: 0 24px;
}

.voxolib-v3-step-number {
  width: 48px;
  height: 48px;
  background: var(--v3-primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 800;
  margin: 0 auto 16px;
  position: relative;
  z-index: 2;
}

.voxolib-v3-step-connector {
  position: absolute;
  top: 24px;
  left: calc(50% + 24px);
  width: calc(100% - 48px);
  height: 2px;
  background: repeating-linear-gradient(
    to right,
    var(--v3-primary-mid) 0,
    var(--v3-primary-mid) 8px,
    transparent 8px,
    transparent 16px
  );
  z-index: 1;
}

.voxolib-v3-step:last-child .voxolib-v3-step-connector {
  display: none;
}

.voxolib-v3-step-icon {
  margin-bottom: 16px;
}

.voxolib-v3-step-icon i {
  font-size: 32px;
  color: var(--v3-primary);
}

.voxolib-v3-step h3 {
  color: var(--v3-text-dark);
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
}

.voxolib-v3-step p {
  font-size: 14px;
  color: var(--v3-text-muted);
  line-height: 1.6;
  margin: 0;
}

/* ============================================================
   6. TEMOIGNAGES
   ============================================================ */
.voxolib-v3-testimonials {
  background: #fff;
}

.voxolib-v3-testimonials-slider {
  padding-bottom: 50px;
}

.voxolib-v3-testimonial-card {
  background: var(--v3-bg-light);
  border: 1px solid var(--v3-border);
  border-radius: var(--v3-radius-lg);
  padding: 32px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.voxolib-v3-testimonial-quote {
  flex: 1;
  margin-bottom: 24px;
}

.voxolib-v3-testimonial-quote i {
  font-size: 36px;
  color: var(--v3-primary-light);
  line-height: 1;
  display: block;
  margin-bottom: 12px;
}

.voxolib-v3-testimonial-quote p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--v3-text-dark);
  font-style: italic;
  margin: 0;
}

.voxolib-v3-testimonial-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.voxolib-v3-testimonial-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--v3-primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
}

.voxolib-v3-testimonial-avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.voxolib-v3-testimonial-avatar--placeholder {
  background: var(--v3-primary);
}

.voxolib-v3-testimonial-avatar--placeholder span {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.voxolib-v3-testimonial-author strong {
  display: block;
  font-size: 14px;
  color: var(--v3-text-dark);
}

.voxolib-v3-testimonial-author span {
  font-size: 13px;
  color: var(--v3-text-muted);
}

.voxolib-v3-testimonial-stars {
  margin-left: auto;
}

.voxolib-v3-testimonial-stars i {
  color: #f59e0b;
  font-size: 14px;
}

.voxolib-v3-testimonial-product {
  display: inline-block;
  background: var(--v3-primary-light);
  color: var(--v3-primary);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 12px;
}

.voxolib-v3-testimonials-pagination .swiper-pagination-bullet {
  background: var(--v3-primary-mid);
  opacity: 0.3;
}

.voxolib-v3-testimonials-pagination .swiper-pagination-bullet-active {
  background: var(--v3-primary);
  opacity: 1;
}

/* ============================================================
   7. FAQ 2 COLONNES
   ============================================================ */
.voxolib-v3-faq {
  background: var(--v3-bg-light);
  background-image: radial-gradient(circle at 1px 1px, #e1ecff 1px, transparent 0);
  background-size: 32px 32px;
}

.voxolib-v3-faq-intro {
  position: sticky;
  top: 100px;
  align-self: flex-start;
  padding-right: 40px;
}

.voxolib-v3-faq-intro h2 {
  color: var(--v3-text-dark);
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 16px;
}

.voxolib-v3-faq-intro p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--v3-text-body);
  margin-bottom: 12px;
}

.voxolib-v3-faq-accordion .accordion-item {
  border: 1px solid var(--v3-border);
  border-radius: var(--v3-radius-md) !important;
  margin-bottom: 12px;
  overflow: hidden;
  background: #fff;
}

.voxolib-v3-faq-accordion .accordion-button {
  font-size: 16px;
  font-weight: 700;
  color: var(--v3-text-dark);
  background: #fff;
  padding: 18px 24px;
  box-shadow: none;
  font-family: 'Nunito', sans-serif;
}

.voxolib-v3-faq-accordion .accordion-button:not(.collapsed) {
  background: var(--v3-bg-warm);
  color: var(--v3-primary);
}

.voxolib-v3-faq-accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231E24F5'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.voxolib-v3-faq-accordion .accordion-body {
  padding: 0 24px 18px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--v3-text-body);
}

/* ============================================================
   8. CTA FINAL + FORMULAIRE
   ============================================================ */
.voxolib-v3-cta-final {
  background: linear-gradient(135deg, var(--v3-primary-dark) 0%, var(--v3-primary) 100%);
  clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%);
  padding: 120px 0 80px;
}

.voxolib-v3-cta-text h2 {
  color: #fff;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 16px;
}

.voxolib-v3-cta-text p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 32px;
}

.voxolib-v3-cta-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.voxolib-v3-cta-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  font-weight: 600;
}

.voxolib-v3-cta-badge i {
  font-size: 20px;
  color: rgba(255, 255, 255, 0.7);
}

/* Form Card */
.voxolib-v3-cta-form-card {
  background: #fff;
  border-radius: var(--v3-radius-lg);
  padding: 36px;
  box-shadow: var(--v3-shadow-lg);
}

.voxolib-v3-cta-form-card h3 {
  color: var(--v3-text-dark);
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 8px;
}

.voxolib-v3-cta-form-sub {
  color: var(--v3-text-muted);
  font-size: 14px;
  margin-bottom: 24px;
}

.voxolib-v3-input {
  border: 2px solid var(--v3-border) !important;
  border-radius: var(--v3-radius-sm) !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  font-family: 'Nunito', sans-serif !important;
  color: var(--v3-text-dark) !important;
  transition: border-color var(--v3-transition) !important;
}

.voxolib-v3-input:focus {
  border-color: var(--v3-primary) !important;
  box-shadow: 0 0 0 3px rgba(30, 36, 245, 0.1) !important;
}

.voxolib-v3-input::placeholder {
  color: var(--v3-text-muted) !important;
}

.voxolib-v3-cta-submit {
  width: 100%;
  padding: 14px 24px;
  background: var(--v3-primary);
  color: #fff;
  border: none;
  border-radius: var(--v3-radius-sm);
  font-size: 16px;
  font-weight: 700;
  font-family: 'Nunito', sans-serif;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all var(--v3-transition);
}

.voxolib-v3-cta-submit:hover {
  background: var(--v3-primary-dark);
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: var(--v3-shadow);
}

.voxolib-v3-cta-form-msg {
  display: none;
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: var(--v3-radius-sm);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}

/* ============================================================
   9. BLOG FEATURED + SECONDAIRES
   ============================================================ */
.voxolib-v3-blog {
  background: #fff;
}

.voxolib-v3-blog-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.voxolib-v3-blog-featured {
  background: var(--v3-bg-light);
  border: 1px solid var(--v3-border);
  border-radius: var(--v3-radius-lg);
  overflow: hidden;
}

.voxolib-v3-blog-featured-img {
  display: block;
  height: 100%;
}

.voxolib-v3-blog-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 280px;
}

.voxolib-v3-blog-featured-body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.voxolib-v3-blog-date {
  font-size: 13px;
  color: var(--v3-text-muted);
  font-weight: 600;
  display: block;
  margin-bottom: 8px;
}

.voxolib-v3-blog-featured-body h3 {
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 12px;
}

.voxolib-v3-blog-featured-body h3 a {
  color: var(--v3-text-dark);
  text-decoration: none;
  transition: color var(--v3-transition);
}

.voxolib-v3-blog-featured-body h3 a:hover {
  color: var(--v3-primary);
}

.voxolib-v3-blog-featured-body p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--v3-text-body);
  margin-bottom: 16px;
}

.voxolib-v3-blog-readmore {
  color: var(--v3-primary);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap var(--v3-transition);
}

.voxolib-v3-blog-readmore:hover {
  gap: 12px;
  color: var(--v3-primary-dark);
}

/* Blog secondaire horizontal */
.voxolib-v3-blog-secondary {
  background: var(--v3-bg-light);
  border: 1px solid var(--v3-border);
  border-radius: var(--v3-radius-md);
  overflow: hidden;
}

.voxolib-v3-blog-secondary-img {
  display: block;
  height: 100%;
}

.voxolib-v3-blog-secondary-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 120px;
}

.voxolib-v3-blog-secondary-body {
  padding: 20px 24px;
}

.voxolib-v3-blog-secondary-body h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
}

.voxolib-v3-blog-secondary-body h3 a {
  color: var(--v3-text-dark);
  text-decoration: none;
  transition: color var(--v3-transition);
}

.voxolib-v3-blog-secondary-body h3 a:hover {
  color: var(--v3-primary);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* Mobile */
@media (max-width: 767px) {
  .voxolib-v3-page section {
    padding: 48px 0;
  }

  /* Hero */
  .voxolib-v3-hero {
    padding: 120px 0 80px;
    clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
  }

  .voxolib-v3-hero h1 {
    font-size: 28px;
  }

  .voxolib-v3-hero-subtitle {
    font-size: 15px;
  }

  .voxolib-v3-hero-form-row {
    flex-direction: column;
    gap: 12px;
  }

  .voxolib-v3-hero-input {
    border-right: 2px solid var(--v3-border);
    border-radius: var(--v3-radius-sm);
  }

  .voxolib-v3-hero-submit {
    border-radius: var(--v3-radius-sm);
    justify-content: center;
  }

  .voxolib-v3-hero-trust {
    flex-direction: column;
    gap: 8px;
  }

  /* Proof bar */
  .voxolib-v3-proof-inner {
    flex-direction: column;
    gap: 24px;
  }

  .voxolib-v3-proof-stats {
    gap: 24px;
  }

  .voxolib-v3-proof-divider {
    width: 100%;
    height: 1px;
  }

  .voxolib-v3-proof-logos {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }

  .voxolib-v3-proof-logos img {
    height: 24px;
  }

  /* Section headers */
  .voxolib-v3-section-header h2 {
    font-size: 24px;
  }

  /* Problem/Solution */
  .voxolib-v3-problem-solution h2 {
    font-size: 24px;
  }

  .voxolib-v3-ps-visual {
    margin-top: 24px;
  }

  /* Products tabs */
  .voxolib-v3-product-tabs {
    gap: 6px;
  }

  .voxolib-v3-tab {
    padding: 10px 16px;
    font-size: 13px;
  }

  .voxolib-v3-tab span {
    display: none;
  }

  .voxolib-v3-tab.active span {
    display: inline;
  }

  .voxolib-v3-product-panel h3 {
    font-size: 22px;
  }

  .voxolib-v3-product-visual {
    margin-top: 24px;
  }

  /* Steps */
  .voxolib-v3-steps {
    flex-direction: column;
    gap: 32px;
    align-items: center;
  }

  .voxolib-v3-step {
    max-width: 100%;
  }

  .voxolib-v3-step-connector {
    display: none;
  }

  /* FAQ */
  .voxolib-v3-faq-intro {
    position: static;
    padding-right: 0;
    margin-bottom: 32px;
  }

  /* CTA */
  .voxolib-v3-cta-final {
    clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 100%);
    padding: 80px 0 60px;
  }

  .voxolib-v3-cta-text {
    margin-bottom: 32px;
  }

  .voxolib-v3-cta-text h2 {
    font-size: 26px;
  }

  .voxolib-v3-cta-form-card {
    padding: 24px;
  }

  /* Blog grid cols */
  .voxolib-v3-blog-grid-cols {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .voxolib-v3-blog-card-img img {
    height: 180px;
  }

  /* Newsletter */
  .voxolib-v3-newsletter-inner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
    gap: 24px;
  }

  .voxolib-v3-newsletter-text p {
    max-width: 100%;
  }

  .voxolib-v3-newsletter-form {
    flex-direction: column;
    gap: 12px;
  }

  .voxolib-v3-newsletter-input {
    width: 100%;
    border-right: 2px solid var(--v3-border);
    border-radius: var(--v3-radius-sm);
  }

  .voxolib-v3-newsletter-btn {
    border-radius: var(--v3-radius-sm);
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .voxolib-v3-hero h1 {
    font-size: 34px;
  }

  .voxolib-v3-steps {
    gap: 16px;
  }

  .voxolib-v3-step-connector {
    width: calc(100% - 32px);
    left: calc(50% + 16px);
  }

  .voxolib-v3-blog-grid-cols {
    grid-template-columns: repeat(2, 1fr);
  }

  .voxolib-v3-blog-grid-cols .voxolib-v3-blog-card:last-child {
    grid-column: span 2;
    max-width: 50%;
    margin: 0 auto;
  }
}

/* ============================================================
   HERO CTA BUTTON (no form)
   ============================================================ */
.voxolib-v3-hero-cta {
  margin-bottom: 24px;
}

.voxolib-v3-hero-cta .voxolib-v3-hero-submit {
  display: inline-flex;
  text-decoration: none;
}

/* ============================================================
   PROOF BAR - STATIC NUMBERS
   ============================================================ */
.voxolib-v3-proof-number-static {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: var(--v3-primary);
  line-height: 1;
}

/* ============================================================
   9b. BLOG - 3 COLONNES VERTICALES
   ============================================================ */
.voxolib-v3-blog-grid-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.voxolib-v3-blog-card {
  background: var(--v3-bg-light);
  border: 1px solid var(--v3-border);
  border-radius: var(--v3-radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--v3-transition), box-shadow var(--v3-transition);
}

.voxolib-v3-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--v3-shadow);
}

.voxolib-v3-blog-card-img {
  overflow: hidden;
}

.voxolib-v3-blog-card-img a {
  display: block;
}

.voxolib-v3-blog-card-img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform var(--v3-transition);
}

.voxolib-v3-blog-card:hover .voxolib-v3-blog-card-img img {
  transform: scale(1.05);
}

.voxolib-v3-blog-card-body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.voxolib-v3-blog-card-body h3 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.4;
}

.voxolib-v3-blog-card-body h3 a {
  color: var(--v3-text-dark);
  text-decoration: none;
  transition: color var(--v3-transition);
}

.voxolib-v3-blog-card-body h3 a:hover {
  color: var(--v3-primary);
}

.voxolib-v3-blog-card-body p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--v3-text-body);
  margin-bottom: 16px;
  flex: 1;
}

.voxolib-v3-blog-card-body .voxolib-v3-blog-readmore {
  margin-top: auto;
}

/* ============================================================
   10. NEWSLETTER V3
   ============================================================ */
.voxolib-v3-newsletter {
  background: var(--v3-bg-warm);
  padding: 60px 0;
}

.voxolib-v3-newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: #fff;
  border: 1px solid var(--v3-border);
  border-radius: var(--v3-radius-lg);
  padding: 40px 48px;
  box-shadow: var(--v3-shadow);
}

.voxolib-v3-newsletter-text h2 {
  color: var(--v3-text-dark);
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 8px;
}

.voxolib-v3-newsletter-text p {
  color: var(--v3-text-body);
  font-size: 15px;
  margin: 0;
  max-width: 400px;
}

.voxolib-v3-newsletter-form-wrapper {
  flex-shrink: 0;
}

.voxolib-v3-newsletter-form {
  display: flex;
  gap: 0;
}

.voxolib-v3-newsletter-input {
  padding: 14px 20px;
  border: 2px solid var(--v3-border);
  border-right: none;
  border-radius: var(--v3-radius-sm) 0 0 var(--v3-radius-sm);
  font-size: 15px;
  font-family: 'Nunito', sans-serif;
  width: 280px;
  outline: none;
  transition: border-color var(--v3-transition);
}

.voxolib-v3-newsletter-input:focus {
  border-color: var(--v3-primary);
}

.voxolib-v3-newsletter-btn {
  padding: 14px 28px;
  background: var(--v3-primary);
  color: #fff;
  border: 2px solid var(--v3-primary);
  border-radius: 0 var(--v3-radius-sm) var(--v3-radius-sm) 0;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Nunito', sans-serif;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--v3-transition);
}

.voxolib-v3-newsletter-btn:hover {
  background: var(--v3-primary-dark);
  border-color: var(--v3-primary-dark);
  color: #fff !important;
}

.voxolib-v3-newsletter-message {
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: var(--v3-radius-sm);
  font-size: 14px;
  font-weight: 600;
}

.voxolib-v3-newsletter-message--success {
  background: #e6f7f2;
  color: var(--v3-secondary);
}

.voxolib-v3-newsletter-message--error {
  background: #fef2f2;
  color: #c62828;
}

/* ============================================================
   GLOBAL HOVER FIX (override style.css a:hover {color:#717ff5})
   ============================================================ */
.voxolib-v3-page .voxolib-v3-btn:hover,
.voxolib-v3-page .voxolib-v3-hero-submit:hover,
.voxolib-v3-page .voxolib-v3-cta-submit:hover,
.voxolib-v3-page .voxolib-v3-newsletter-btn:hover,
.voxolib-v3-page .voxolib-v3-tab.active:hover,
.voxolib-v3-page .voxolib-v3-faq-intro .voxolib-v3-btn:hover {
  color: #fff !important;
}

/* ============================================================
   HERO SCROLL ARROW
   ============================================================ */
.voxolib-v3-hero-arrow {
  text-align: center;
  margin-top: 32px;
}

.voxolib-v3-hero-arrow a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--v3-primary);
  border-radius: 50%;
  color: var(--v3-primary);
  font-size: 22px;
  text-decoration: none;
  animation: v3-bounce 2s ease-in-out infinite;
  transition: background var(--v3-transition), color var(--v3-transition);
}

.voxolib-v3-hero-arrow a:hover {
  background: var(--v3-primary);
  color: #fff !important;
}

@keyframes v3-bounce {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(10px); }
  60% { transform: translateY(5px); }
}

/* ============================================================
   FOOTER PADDING FIX V3
   ============================================================ */
.voxolib-v3-page .footer {
  padding: 0 !important;
  margin: 0 !important;
}

.voxolib-v3-page .footer .footer-top {
  padding: 40px 0 20px 0 !important;
}

.voxolib-v3-page .footer .footer-top .footer-info,
.voxolib-v3-page .footer .footer-top .footer-links {
  margin-bottom: 16px;
}

.voxolib-v3-page .footer .copyright {
  padding: 16px 0 12px 0 !important;
}

/* ============================================================
   HEADER COMPATIBILITY V3
   ============================================================ */
.voxolib-v3-page .header {
  background: transparent;
  transition: background 0.3s;
}

.voxolib-v3-page .header.header-scrolled {
  background: #fff;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
}
