/* ============================================
   JM Rencontre - Feuille de style principale
   Palette rouge de jm-rencontres.com (#D40029)
   rouge / corail / bordeaux / fond clair
   Mobile-first, animations subtiles
   ============================================ */

@font-face {
  font-family: 'Playfair Display';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

:root {
  --bg-primary: #FDF6F7;
  --bg-secondary: #FFFFFF;
  --bg-tertiary: #FBE7EB;
  --accent: #D40029;
  --accent-dark: #9A001E;
  --gold: #FF3D63;
  --gold-soft: #8A1538;
  --accent-glow: rgba(212, 0, 41, 0.45);
  --gold-glow: rgba(255, 61, 99, 0.5);
  --text-primary: #241016;
  --text-secondary: #6B4A52;
  --border: #F3D0D7;
  --font-title: 'Playfair Display', Georgia, serif;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --radius: 10px;
  --radius-lg: 16px;
  --transition: 0.3s ease;
  --max-width: 1200px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  background-color: var(--bg-primary);
  color: var(--text-primary);
  line-height: 1.6;
  font-size: 16px;
  overflow-x: hidden;
  padding-bottom: 130px;
}

@media (max-width: 600px) {
  body {
    padding-bottom: 115px;
  }
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--accent);
  text-decoration: none;
  transition: color var(--transition);
}

a:hover {
  color: var(--accent-dark);
}

ul,
ol {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-title);
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-primary);
}

h1 {
  font-size: clamp(2rem, 5vw, 3.75rem);
  letter-spacing: -0.5px;
}

h2 {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  margin-bottom: 1rem;
}

h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  margin-bottom: 0.75rem;
}

p {
  color: var(--text-secondary);
  margin-bottom: 1rem;
}

.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 1.25rem;
}

section {
  padding: 4rem 0;
  position: relative;
}

section.alt {
  background-color: var(--bg-tertiary);
}

.section-title {
  text-align: center;
  margin-bottom: 0.75rem;
}

.section-subtitle {
  text-align: center;
  color: var(--text-secondary);
  margin-bottom: 3rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* ---- Boutons ---- */
.btn {
  display: inline-block;
  padding: 0.95rem 2rem;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 1rem;
  border: 2px solid transparent;
  border-radius: var(--radius);
  cursor: pointer;
  text-align: center;
  transition: all var(--transition);
  letter-spacing: 0.3px;
}

.btn-primary {
  background: linear-gradient(135deg, #27a05a 0%, #3ed48c 100%);
  color: #fff;
  box-shadow: 0 0 25px rgba(39, 160, 90, 0.45), 0 4px 15px rgba(39, 160, 90, 0.25);
  animation: pulse-glow 2.5s ease-in-out infinite;
}

.btn-primary:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 0 40px rgba(39, 160, 90, 0.45), 0 6px 20px rgba(39, 160, 90, 0.35);
  color: #fff;
}

.btn-gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-soft) 100%);
  color: #fff;
  box-shadow: 0 0 22px var(--gold-glow), 0 4px 14px rgba(138, 21, 56, 0.25);
}

.btn-gold:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 0 38px var(--gold-glow), 0 6px 20px rgba(138, 21, 56, 0.35);
  color: #fff;
}

.btn-outline {
  background: transparent;
  color: var(--accent);
  border-color: var(--accent);
}

.btn-outline:hover {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 0 20px var(--accent-glow);
}

.btn-large {
  padding: 1.15rem 2.5rem;
  font-size: 1.125rem;
  line-height: 1.3;
  max-width: 100%;
  word-wrap: break-word;
}

@media (max-width: 600px) {
  .btn {
    line-height: 1.25;
    word-wrap: break-word;
  }
  .btn-large {
    padding: 0.95rem 1.4rem;
    font-size: 1rem;
  }
}

.btn-signup {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
}

.btn-signup-icon {
  font-size: 1rem;
  animation: hero-icon-pulse 1.4s ease-in-out infinite;
  filter: drop-shadow(0 0 6px rgba(212, 0, 41, 0.7));
}

@media (max-width: 600px) {
  .btn-signup {
    gap: 0.3rem;
  }
  .btn-signup-icon {
    font-size: 1.05rem;
  }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 25px rgba(39, 160, 90, 0.45), 0 4px 15px rgba(39, 160, 90, 0.25); }
  50% { box-shadow: 0 0 45px rgba(39, 160, 90, 0.5), 0 6px 20px rgba(39, 160, 90, 0.35); }
}

.btn-hero {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  padding: 1.25rem 2.6rem;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 60px;
  background:
    linear-gradient(135deg, #27a05a 0%, #2fbf74 50%, #3ed48c 100%);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow:
    0 0 30px rgba(39, 160, 90, 0.45),
    0 8px 25px rgba(39, 160, 90, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
  overflow: hidden;
  isolation: isolate;
  animation: pulse-glow 2.5s ease-in-out infinite;
}

.btn-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  width: 60%;
  height: 100%;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
  transform: skewX(-20deg);
  animation: hero-shine 3.5s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

.btn-hero-icon,
.btn-hero-text,
.btn-hero-arrow {
  position: relative;
  z-index: 2;
}

.btn-hero-icon {
  font-size: 1.3rem;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
  animation: hero-icon-pulse 1.6s ease-in-out infinite;
}

.btn-hero-arrow {
  font-size: 1.3rem;
  font-weight: 900;
  transition: transform 0.25s ease;
}

.btn-hero:hover {
  transform: translateY(-3px) scale(1.03);
  color: #fff;
  box-shadow:
    0 0 50px rgba(39, 160, 90, 0.5),
    0 14px 35px rgba(39, 160, 90, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.btn-hero:hover .btn-hero-arrow {
  transform: translateX(6px);
}

@keyframes hero-shine {
  0% { left: -130%; }
  55% { left: 150%; }
  100% { left: 150%; }
}

@keyframes hero-icon-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

.btn-hero-text {
  white-space: nowrap;
}

@media (max-width: 600px) {
  .btn-hero {
    padding: 0.9rem 1.3rem;
    font-size: 0.85rem;
    gap: 0.45rem;
    letter-spacing: 0;
    text-transform: none;
    max-width: calc(100% - 1rem);
  }
  .btn-hero-icon,
  .btn-hero-arrow {
    font-size: 1rem;
  }
}

@media (max-width: 380px) {
  .btn-hero {
    padding: 0.85rem 1rem;
    font-size: 0.8rem;
    gap: 0.35rem;
  }
  .btn-hero-arrow {
    display: none;
  }
}

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 1rem 0;
  background: rgba(253, 246, 247, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid transparent;
  transition: all var(--transition);
}

.site-header.scrolled {
  background: rgba(255, 255, 255, 0.95);
  border-bottom-color: var(--border);
  box-shadow: 0 4px 20px rgba(212, 0, 41, 0.12);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.logo {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  font-family: var(--font-title);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: 0.5px;
}

.logo:hover {
  color: var(--text-primary);
}

.logo-img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  object-fit: contain;
  background: #ffffff;
  padding: 4px;
  box-shadow: 0 0 24px var(--accent-glow);
  transition: transform var(--transition), box-shadow var(--transition);
}

.logo:hover .logo-img {
  transform: scale(1.05);
  box-shadow: 0 0 22px var(--gold-glow);
}

.footer-brand .logo-img {
  width: 38px;
  height: 38px;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.header-actions .btn {
  padding: 0.6rem 1.2rem;
  font-size: 0.9rem;
}

.btn-login {
  display: none;
}

@media (min-width: 768px) {
  .btn-login {
    display: inline-block;
  }
}

/* ============================================
   HERO
   ============================================ */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 7rem 1.25rem 4rem;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at top, rgba(255, 120, 140, 0.45) 0%, transparent 60%),
    radial-gradient(ellipse at bottom, rgba(255, 61, 99, 0.35) 0%, transparent 60%),
    var(--bg-primary);
}

@media (max-width: 767px) {
  .hero {
    padding-top: 11rem;
  }
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(253, 246, 247, 0.55), rgba(253, 246, 247, 0.4));
  background-size: cover;
  background-position: center;
  opacity: 0.6;
  z-index: 0;
}

.hero-grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

@media (min-width: 1024px) {
  .hero-grid {
    grid-template-columns: 1.15fr 1fr;
    gap: 3.5rem;
  }
}

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

@media (min-width: 1024px) {
  .hero-content {
    text-align: left;
  }
}

.hero h1 {
  margin-bottom: 1.25rem;
  background: linear-gradient(135deg, var(--accent-dark) 0%, var(--accent) 50%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-subtitle {
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: var(--text-primary);
  margin-bottom: 2.5rem;
}

@media (max-width: 1023px) {
  .hero-subtitle {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
  }
}

.hero-mention {
  margin-top: 1.25rem;
  color: var(--text-secondary);
  font-size: 0.9rem;
  letter-spacing: 0.5px;
}

.hero-image {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.hero-image::before {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  max-width: 100%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 120, 140, 0.4) 0%, transparent 65%);
  filter: blur(20px);
  z-index: 0;
}

.hero-image img {
  position: relative;
  z-index: 1;
  max-width: 290px;
  width: 100%;
  height: auto;
  border-radius: 28px;
  box-shadow:
    0 0 60px rgba(212, 0, 41, 0.35),
    0 25px 60px rgba(154, 0, 30, 0.3);
  transform: rotate(-3deg);
  transition: transform 0.6s ease, box-shadow 0.6s ease;
}

.hero-image img:hover {
  transform: rotate(0deg) scale(1.04);
  box-shadow:
    0 0 80px rgba(255, 61, 99, 0.45),
    0 30px 70px rgba(154, 0, 30, 0.4);
}

@media (min-width: 1024px) {
  .hero-image img {
    max-width: 320px;
  }
}

/* ============================================
   SHOWCASE PROFILS
   ============================================ */
.profiles-showcase {
  padding: 2.5rem 1.25rem;
  background: var(--bg-primary);
}

.showcase-image {
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow:
    0 0 50px rgba(212, 0, 41, 0.18),
    0 20px 50px rgba(154, 0, 30, 0.18);
  position: relative;
  transition: transform var(--transition), box-shadow var(--transition);
}

.showcase-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(253, 246, 247, 0.35) 100%);
  pointer-events: none;
}

.showcase-image:hover {
  transform: translateY(-4px);
  box-shadow:
    0 0 70px rgba(255, 61, 99, 0.35),
    0 25px 60px rgba(154, 0, 30, 0.25);
}

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

@media (max-width: 600px) {
  .showcase-image {
    max-width: 100%;
  }
}

/* ============================================
   STATS
   ============================================ */
.stats {
  background: var(--bg-secondary);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 2.5rem 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  text-align: center;
}

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

.stat-item {
  padding: 0.5rem;
}

.stat-number {
  font-family: var(--font-title);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 700;
  color: var(--accent);
  line-height: 1;
  margin-bottom: 0.5rem;
  text-shadow: 0 0 20px var(--accent-glow);
}

.stat-label {
  font-size: 0.9rem;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ============================================
   GRID DE CARDS
   ============================================ */
.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

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

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

.card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
}

.card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent), var(--gold), transparent);
  opacity: 0;
  transition: opacity var(--transition);
}

.card:hover {
  border-color: var(--accent);
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(212, 0, 41, 0.15), 0 0 20px var(--accent-glow);
}

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

.card-icon {
  font-size: 2rem;
  margin-bottom: 1rem;
  display: inline-block;
}

.card h3 {
  margin-bottom: 0.5rem;
  color: var(--text-primary);
}

.card-percent {
  display: inline-block;
  margin-left: 0.5rem;
  font-size: 0.85rem;
  color: var(--accent);
  font-weight: 700;
  font-family: var(--font-body);
}

.card p {
  font-size: 0.95rem;
  margin-bottom: 0;
}

/* ============================================
   PROFILS / SECTION CTA
   ============================================ */
.profiles-cta,
.section-cta {
  text-align: center;
  margin-top: 2.5rem;
}

/* ============================================
   TARIFS - TABLEAU
   ============================================ */
.pricing-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  margin-bottom: 1.5rem;
}

.pricing-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bg-secondary);
}

.pricing-table th,
.pricing-table td {
  padding: 1.1rem 1.25rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
}

.pricing-table th {
  background: var(--bg-tertiary);
  color: var(--accent);
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 1px;
  font-weight: 700;
}

.pricing-table tbody tr:last-child td {
  border-bottom: none;
}

.pricing-table tbody tr:hover {
  background: rgba(212, 0, 41, 0.06);
}

.pricing-table .price {
  color: var(--accent);
  font-weight: 700;
  font-size: 1.05rem;
  white-space: nowrap;
}

.pricing-mention {
  text-align: center;
  font-size: 0.9rem;
  color: var(--text-secondary);
  margin-bottom: 2rem;
}

/* ============================================
   AVIS / TÉMOIGNAGES
   ============================================ */
.testimonial {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  position: relative;
  transition: all var(--transition);
}

.testimonial:hover {
  border-color: var(--gold);
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(212, 0, 41, 0.12);
}

.testimonial::before {
  content: "“";
  position: absolute;
  top: -10px;
  left: 15px;
  font-family: var(--font-title);
  font-size: 5rem;
  color: var(--accent);
  opacity: 0.3;
  line-height: 1;
}

.testimonial-stars {
  color: #FFD700;
  font-size: 1.05rem;
  margin-bottom: 0.75rem;
  letter-spacing: 2px;
}

.testimonial-text {
  font-style: italic;
  color: var(--text-primary);
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}

.testimonial-author {
  font-weight: 600;
  color: var(--accent);
  font-size: 0.95rem;
  border-top: 1px solid var(--border);
  padding-top: 0.75rem;
}

.testimonial-author span {
  display: block;
  color: var(--text-secondary);
  font-weight: 400;
  font-size: 0.85rem;
  margin-top: 0.2rem;
}

@media (max-width: 767px) {
  .testimonials-grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    gap: 1rem;
    margin: 0 -1.25rem;
    padding: 0.5rem 1.25rem 1.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-padding-left: 1.25rem;
  }

  .testimonials-grid::-webkit-scrollbar {
    display: none;
  }

  .testimonials-grid .testimonial {
    flex: 0 0 86%;
    max-width: 86%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .testimonials-grid .testimonial:hover {
    transform: none;
  }

  .testimonials-hint {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    font-size: 0.78rem;
    color: #4A1F28;
    letter-spacing: 0.5px;
    animation: hint-slide 2.4s ease-in-out infinite;
  }

  .testimonials-hint::before {
    content: "←";
    color: var(--accent);
  }

  .testimonials-hint::after {
    content: "→";
    color: var(--accent);
  }

  @keyframes hint-slide {
    0%, 100% { opacity: 0.85; }
    50% { opacity: 1; }
  }
}

@media (min-width: 768px) {
  .testimonials-hint {
    display: none;
  }
}

/* ============================================
   ÉTAPES
   ============================================ */
.steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  counter-reset: step;
}

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

.step {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.75rem 1.25rem;
  text-align: center;
  position: relative;
  transition: all var(--transition);
}

.step:hover {
  border-color: var(--accent);
  transform: translateY(-4px);
}

.step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--gold));
  color: #fff;
  font-family: var(--font-title);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  box-shadow: 0 0 15px var(--accent-glow);
}

.step h3 {
  font-size: 1.05rem;
  margin-bottom: 0.5rem;
}

.step p {
  font-size: 0.875rem;
  margin-bottom: 0;
}

/* ============================================
   FAQ
   ============================================ */
.faq {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 0.75rem;
  overflow: hidden;
  transition: all var(--transition);
}

.faq-item.active {
  border-color: var(--accent);
  box-shadow: 0 0 20px rgba(212, 0, 41, 0.15);
}

.faq-question {
  width: 100%;
  background: none;
  border: none;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  padding: 1.1rem 1.25rem;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  transition: color var(--transition);
}

.faq-question:hover {
  color: var(--accent);
}

.faq-icon {
  font-size: 1.5rem;
  color: var(--accent);
  transition: transform var(--transition);
  flex-shrink: 0;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.faq-answer-inner {
  padding: 0 1.25rem 1.25rem;
  color: var(--text-secondary);
  border-top: 1px solid var(--border);
  padding-top: 1rem;
}

.faq-item.active .faq-answer {
  max-height: 500px;
}

/* ============================================
   CTA FINAL
   ============================================ */
.cta-final {
  text-align: center;
  padding: 5rem 1.25rem;
  background:
    radial-gradient(ellipse at center, rgba(212, 0, 41, 0.18) 0%, transparent 70%),
    var(--bg-tertiary);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.cta-final h2 {
  margin-bottom: 1rem;
}

.cta-final p {
  max-width: 600px;
  margin: 0 auto 2rem;
  color: var(--text-primary);
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: #2A0A12;
  border-top: 1px solid var(--border);
  padding: 3.5rem 0 1.5rem;
  color: #F3D0D7;
}

.site-footer p,
.site-footer .footer-tagline,
.site-footer .footer-bottom,
.site-footer .footer-col p {
  color: #E6B3BE;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
  .footer-grid {
    grid-template-columns: 1.4fr 1fr 1fr;
  }
}

.footer-col-empty {
  display: none;
}

@media (min-width: 768px) {
  .footer-col-empty {
    display: block;
  }
}

.footer-contact {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.9rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(243, 208, 215, 0.2);
  border-radius: var(--radius);
  color: #F3D0D7;
  font-size: 0.92rem;
  text-decoration: none;
  transition: all var(--transition);
}

.footer-contact:hover {
  border-color: var(--gold);
  color: var(--gold);
  box-shadow: 0 0 18px rgba(255, 61, 99, 0.25);
  transform: translateY(-1px);
}

.footer-contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  flex-shrink: 0;
}

.footer-contact-icon svg {
  display: block;
}

.footer-col h4,
.footer-col .footer-titre {
  font-weight: 700;
  line-height: 1.2;
  font-family: var(--font-title);
  font-size: 1.1rem;
  color: var(--gold);
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.footer-col p,
.footer-col li {
  font-size: 0.9rem;
  margin-bottom: 0.6rem;
  line-height: 1.5;
}

.footer-col a {
  color: #E6B3BE;
  transition: color var(--transition);
}

.footer-col a:hover {
  color: var(--gold);
}

.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  text-decoration: none;
  color: inherit;
  transition: opacity var(--transition);
}

.footer-brand:hover {
  opacity: 0.85;
}

.footer-brand:hover .footer-brand-name {
  color: var(--gold);
}

.footer-brand-name {
  transition: color var(--transition);
}

.footer-brand-name {
  font-family: var(--font-title);
  font-size: 1.25rem;
  color: #FFFFFF;
  font-weight: 700;
}

.footer-tagline {
  font-size: 0.9rem;
  max-width: 320px;
}

.footer-age {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.25rem 0.75rem;
  background: var(--accent);
  color: #fff;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
}

.footer-bottom {
  text-align: center;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(243, 208, 215, 0.15);
  font-size: 0.85rem;
}

/* ============================================
   FORMULAIRE PARTENAIRE (override)
   ============================================ */
.ptprelinker-content {
  max-width: 640px;
  margin: 2.5rem auto 0;
  background: linear-gradient(145deg, #FFFFFF, var(--bg-tertiary));
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: 0 0 40px rgba(212, 0, 41, 0.18), 0 8px 24px rgba(154, 0, 30, 0.15);
  padding: 2.5rem;
  font-family: var(--font-body);
  color: var(--text-primary);
  position: relative;
  overflow: hidden;
  text-align: left;
  transition: box-shadow var(--transition);
}

.ptprelinker-content:hover {
  box-shadow: 0 0 55px rgba(255, 61, 99, 0.25), 0 10px 30px rgba(154, 0, 30, 0.2);
}

.ptprelinker-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--gold), var(--gold-soft));
}

.ptprelinker-content h1,
.ptprelinker-content h2,
.ptprelinker-content h3,
.ptprelinker-content h4,
.ptprelinker-content h5 {
  font-family: var(--font-title);
  color: var(--accent);
  text-shadow: 0 0 12px rgba(212, 0, 41, 0.18);
  margin-bottom: 1rem;
  text-align: center;
  font-weight: 700;
}

.ptprelinker-content h2 { font-size: 1.6rem; }
.ptprelinker-content h3 { font-size: 1.3rem; }

.ptprelinker-content p {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.ptprelinker-content label {
  display: block;
  color: var(--text-primary);
  font-weight: 500;
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
}

.ptprelinker-content input[type="text"],
.ptprelinker-content input[type="email"],
.ptprelinker-content input[type="password"],
.ptprelinker-content input[type="tel"],
.ptprelinker-content input[type="number"],
.ptprelinker-content input[type="date"],
.ptprelinker-content input[type="search"],
.ptprelinker-content input[type="url"],
.ptprelinker-content input:not([type]),
.ptprelinker-content select,
.ptprelinker-content textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 1rem;
  margin-bottom: 1rem;
  transition: all var(--transition);
  -webkit-appearance: none;
  appearance: none;
}

.ptprelinker-content input:focus,
.ptprelinker-content select:focus,
.ptprelinker-content textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-glow);
  background: #FFFFFF;
}

.ptprelinker-content input::placeholder,
.ptprelinker-content textarea::placeholder {
  color: var(--text-secondary);
  opacity: 0.7;
}

.ptprelinker-content textarea {
  resize: vertical;
  min-height: 100px;
}

.ptprelinker-content select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23D40029' d='M6 8L0 0h12z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 12px 8px;
  padding-right: 2.5rem;
}

.ptprelinker-content input[type="radio"],
.ptprelinker-content input[type="checkbox"] {
  width: auto;
  margin: 0 0.5rem 0 0;
  accent-color: var(--accent);
  transform: scale(1.1);
  vertical-align: middle;
}

.ptprelinker-content button,
.ptprelinker-content input[type="submit"],
.ptprelinker-content input[type="button"],
.ptprelinker-content .btn {
  display: block;
  width: 100%;
  padding: 1rem 2rem;
  margin-top: 1rem;
  background: linear-gradient(135deg, #27a05a 0%, #3ed48c 100%);
  color: #fff;
  border: 2px solid transparent;
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  cursor: pointer;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 0 25px rgba(39, 160, 90, 0.45), 0 4px 15px rgba(39, 160, 90, 0.3);
  animation: pulse-glow 2.5s ease-in-out infinite;
  transition: transform var(--transition), box-shadow var(--transition);
}

.ptprelinker-content button:hover,
.ptprelinker-content input[type="submit"]:hover,
.ptprelinker-content input[type="button"]:hover,
.ptprelinker-content .btn:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 0 45px rgba(39, 160, 90, 0.5), 0 6px 22px rgba(39, 160, 90, 0.4);
}

.ptprelinker-content small {
  color: var(--text-secondary);
  font-size: 0.85rem;
}

@media (max-width: 768px) {
  .ptprelinker-content {
    padding: 1.75rem 1.25rem;
    margin-top: 2rem;
  }
}

/* ============================================
   BOTTOM BAR FIXE
   ============================================ */
.bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, #9A001E 0%, #D40029 50%, #FF7A8C 100%);
  border-top: 2px solid var(--gold);
  box-shadow: 0 -6px 28px rgba(154, 0, 30, 0.45);
}

.bottom-bar::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  pointer-events: none;
}

.bottom-bar-inner {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
}

.bottom-bar-info {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1.1;
}

.bottom-bar-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #2ecc71;
  box-shadow: 0 0 10px #2ecc71, 0 0 4px #2ecc71;
  animation: dot-pulse-live 1.4s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes dot-pulse-live {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.4); }
}

.bottom-bar-counter {
  font-family: var(--font-title);
  font-size: 1rem;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 0.3px;
}

.bottom-bar-counter span {
  color: #FFD700;
  text-shadow: 0 0 12px rgba(255, 215, 0, 0.6);
  font-size: 1.15em;
}

.bottom-bar-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.95rem 2.2rem;
  background: linear-gradient(135deg, #27a05a 0%, #2fbf74 50%, #3ed48c 100%);
  color: #2A0A12;
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  border-radius: 50px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow:
    0 0 22px var(--gold-glow),
    0 6px 18px rgba(154, 0, 30, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
  animation: pulse-glow-gold 2.2s ease-in-out infinite;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
  isolation: isolate;
}

.bottom-bar-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.6) 50%, transparent 100%);
  transform: skewX(-20deg);
  animation: shine-sweep 3.2s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

.bottom-bar-cta-icon,
.bottom-bar-cta-text,
.bottom-bar-cta-arrow {
  position: relative;
  z-index: 2;
}

.bottom-bar-cta-icon {
  font-size: 1.1rem;
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.4));
}

.bottom-bar-cta-arrow {
  font-size: 1.15rem;
  font-weight: 900;
  transition: transform 0.25s ease;
}

.bottom-bar-cta:hover {
  transform: translateY(-2px) scale(1.03);
  color: #2A0A12;
  box-shadow:
    0 0 38px var(--gold-glow),
    0 10px 25px rgba(154, 0, 30, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.bottom-bar-cta:hover .bottom-bar-cta-arrow {
  transform: translateX(4px);
}

@keyframes pulse-glow-gold {
  0%, 100% {
    box-shadow:
      0 0 22px var(--gold-glow),
      0 6px 18px rgba(154, 0, 30, 0.45),
      inset 0 1px 0 rgba(255, 255, 255, 0.7);
  }
  50% {
    box-shadow:
      0 0 38px var(--gold-glow),
      0 8px 22px rgba(154, 0, 30, 0.55),
      inset 0 1px 0 rgba(255, 255, 255, 0.8);
  }
}

@keyframes shine-sweep {
  0% { left: -120%; }
  60% { left: 140%; }
  100% { left: 140%; }
}

@media (max-width: 600px) {
  .bottom-bar {
    padding: 0.6rem 0.75rem;
  }
  .bottom-bar-counter {
    font-size: 0.85rem;
  }
  .bottom-bar-cta {
    padding: 0.85rem 1.5rem;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
  }
  .bottom-bar-cta-icon {
    font-size: 1rem;
  }
}

@media (max-width: 380px) {
  .bottom-bar-counter {
    font-size: 0.78rem;
  }
  .bottom-bar-cta {
    padding: 0.75rem 1.1rem;
    font-size: 0.8rem;
    gap: 0.4rem;
  }
}

/* ============================================
   ANIMATIONS AU SCROLL
   ============================================ */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.text-center { text-align: center; }
.mt-2 { margin-top: 2rem; }
.mb-2 { margin-bottom: 2rem; }

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--bg-tertiary);
}

::-webkit-scrollbar-thumb {
  background: var(--accent);
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent-dark);
}

::selection {
  background: var(--accent);
  color: #fff;
}

/* ============================================
   JM Rencontre - ajouts (consignes Alban 04/10/2026)
   - visuels de l'application JM Rencontre sous trois chapeaux de section
   - mini-formulaire d'inscription en 4 questions (fenêtre construite par script.js)
   ============================================ */

.jmr-visuel {
  margin: 0 auto 2.5rem;
  text-align: center;
}

.jmr-visuel img {
  display: inline-block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(212, 0, 41, 0.14);
}

.jmr-carre { max-width: 320px; }
.jmr-mobile { max-width: 220px; }
.jmr-large { max-width: 760px; }

/* ---- fenêtre du mini-formulaire ---- */
.jmr-quiz {
  position: fixed;
  inset: 0;
  z-index: 10000;   /* au-dessus de la barre basse (9999) et de l'en-tete (1000) */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(36, 16, 22, 0.62);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.jmr-quiz.is-open { opacity: 1; }

.jmr-quiz-box {
  position: relative;
  width: 100%;
  max-width: 440px;
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  padding: 1.75rem 1.5rem 1.5rem;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
  transform: translateY(12px);
  transition: transform 0.2s ease;
}

.jmr-quiz.is-open .jmr-quiz-box { transform: none; }

.jmr-quiz-close {
  position: absolute;
  top: 0.6rem;
  right: 0.7rem;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: var(--bg-tertiary);
  color: var(--text-primary);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.jmr-quiz-head {
  margin: 0 2.5rem 1rem 0;
  color: var(--accent);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.jmr-quiz-bar {
  height: 6px;
  margin-bottom: 1.25rem;
  border-radius: 6px;
  background: var(--bg-tertiary);
  overflow: hidden;
}

.jmr-quiz-bar span {
  display: block;
  height: 100%;
  width: 25%;
  border-radius: 6px;
  background: linear-gradient(90deg, #27a05a, #3ed48c);
  transition: width 0.25s ease;
}

.jmr-quiz-q {
  margin: 0 0 1rem;
  color: var(--text-primary);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
}

.jmr-quiz-opts {
  display: grid;
  gap: 0.6rem;
}

.jmr-quiz-opt {
  width: 100%;
  min-height: 52px;
  padding: 0.8rem 1rem;
  border: 2px solid var(--border);
  border-radius: 14px;
  background: var(--bg-primary);
  color: var(--text-primary);
  font: inherit;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.jmr-quiz-opt:hover,
.jmr-quiz-opt:focus-visible {
  border-color: var(--accent);
  background: var(--bg-tertiary);
  outline: none;
}

.jmr-quiz-go {
  display: block;
  width: 100%;
  min-height: 54px;
  margin-top: 0.5rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #27a05a 0%, #3ed48c 100%);
  color: #ffffff;
  font: inherit;
  font-size: 1.05rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(39, 160, 90, 0.35);
}

.jmr-quiz-txt {
  margin: 0 0 1rem;
  color: var(--text-secondary);
}

.jmr-quiz-fine {
  margin: 0.9rem 0 0;
  color: var(--text-secondary);
  font-size: 0.8rem;
  text-align: center;
}

body.jmr-quiz-lock { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .jmr-quiz, .jmr-quiz-box, .jmr-quiz-bar span { transition: none; }
}
