/* LP 2026 « Compagnons d'espoir » — styles propres à la page (le design system est dans ada.css) */

body { margin: 0; background: var(--color-surface, #fff); }
a { color: var(--ada-bordeaux); }
a:hover { color: var(--ada-red); }
.ada-btn:hover { color: #fff; }
.ada-btn--inverse:hover, .ada-btn--outline:hover { color: var(--ada-bordeaux); }

.lp {
  font-family: var(--font-family);
  color: var(--color-text);
  padding: var(--space-3);
  max-width: 1280px;
  margin: 0 auto;
}

.lp-eyebrow {
  font-size: var(--text-sm);
  font-weight: var(--font-bold);
  color: var(--ada-bordeaux);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.lp-btn-inner { display: inline-flex; align-items: center; gap: .5em; }
.lp-btn-inner svg { flex: none; width: 1.4em; height: 1.4em; }

/* ---------- Barre sticky ---------- */
.lp-sticky {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  background: #fff; box-shadow: var(--shadow-card);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-4); padding: var(--space-2) var(--space-4);
  transform: translateY(-110%); transition: transform .25s ease;
}
.lp-sticky.is-visible { transform: none; }
.lp-sticky__brand { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.lp-sticky__text {
  font-weight: var(--font-medium); color: var(--ada-bordeaux); font-size: var(--text-base);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ---------- Hero ---------- */
.lp-hero { position: relative; }
.ada-hero__badge > * { transform: scale(.78); transform-origin: left center; }
.ada-hero__badge {
  width: clamp(170px, 15vw, 200px);
  aspect-ratio: 1.5;
  padding: 0 0 clamp(12px, 1.5vw, 18px) clamp(14px, 1.6vw, 20px);
  justify-content: flex-start; align-items: center;
}
.ada-hero__lang .ada-lang {
  background: #fff; color: var(--ada-bordeaux);
  font-weight: var(--font-bold); font-size: var(--text-base);
  min-height: 44px; padding: 0 var(--space-4);
  border-radius: var(--radius-pill); box-shadow: var(--shadow-card);
  gap: var(--space-2);
}
.ada-hero__lang .ada-lang:hover { background: var(--ada-pink-50); }

/* ---------- Neige ---------- */
.lp-snow-layer {
  position: absolute; inset: clamp(8px, 1.5vw, 20px);
  border-radius: var(--radius-lg); overflow: hidden;
  pointer-events: none; z-index: 1;
}
.lp-snow-layer--section { inset: 0 clamp(8px, 1.5vw, 20px); z-index: 0; }
.lp-snow-layer span {
  position: absolute; top: -30px; line-height: 1; color: #fff;
  font-family: Arial, sans-serif; text-shadow: 0 0 4px rgba(0,0,0,.15);
  animation-name: adaSnow; animation-timing-function: linear; animation-iteration-count: infinite;
}
@keyframes adaSnow {
  0% { transform: translate3d(0, -10%, 0) rotate(0deg); }
  100% { transform: translate3d(var(--drift), 110vh, 0) rotate(var(--spin)); }
}
@media (prefers-reduced-motion: reduce) { .lp-snow-layer { display: none; } }

/* ---------- Appel au don ---------- */
.lp-appeal {
  max-width: 760px; margin: 0 auto;
  display: flex; flex-direction: column; align-items: center;
  gap: var(--space-5); text-align: center;
}
.lp-accent { color: var(--ada-bordeaux); }
.lp-amounts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: var(--space-4); width: 100%; max-width: 640px; text-align: left;
}
.lp-amount {
  display: flex; flex-direction: column; gap: var(--space-2);
  padding: var(--space-5); background: #fff;
  border: 2px solid var(--ada-bordeaux); border-radius: var(--radius-md);
  text-decoration: none; color: var(--color-text); min-height: 44px;
  transition: background .15s;
}
.lp-amount:hover { background: var(--ada-pink-50); color: var(--color-text); }
.lp-amount__value { font-size: var(--text-2xl); font-weight: var(--font-bold); color: var(--ada-bordeaux); line-height: 1; }
.lp-amount__equiv { font-size: var(--text-base); line-height: 1.35; text-wrap: pretty; }
.lp-amount__net {
  margin-top: auto; padding-top: var(--space-2);
  border-top: 1px solid var(--color-border);
  font-size: var(--text-base); color: var(--ada-bordeaux);
}
.lp-secure { display: flex; align-items: center; gap: var(--space-2); color: var(--color-text-muted); font-size: var(--text-sm); }
.lp-secure svg { flex: none; }

/* ---------- Les trois chiens ---------- */
.lp-dogs-wrap {
  max-width: 1080px; margin: 0 auto;
  padding: var(--space-6) var(--space-5) var(--space-9);
  display: flex; flex-direction: column; gap: var(--space-8); align-items: center;
}
.lp-intro { max-width: 720px; display: flex; flex-direction: column; gap: var(--space-4); text-align: center; align-items: center; }
.lp-intro .ada-text + .ada-text { margin-top: 0; }
.lp-dogs {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: var(--space-6); width: 100%; justify-items: center;
  list-style: none; margin: 0; padding: 0;
}
.lp-dog { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); width: 100%; }
.lp-dog__badge { position: relative; width: 100%; max-width: 320px; aspect-ratio: 1; }
.lp-dog__img { width: 100%; height: 100%; border-radius: var(--radius-md); object-fit: cover; }
.lp-dog__name {
  position: absolute; left: 21%; width: 58.5%; top: 74%; height: 16%;
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight: var(--font-bold);
  color: var(--ada-bordeaux); letter-spacing: .06em; line-height: 1;
}
.lp-dog__meta { font-size: var(--text-base); text-align: center; }

/* ---------- Parcours ---------- */
.lp-journey {
  max-width: 1000px; margin: 0 auto;
  display: flex; flex-direction: column; gap: var(--space-9);
  padding: 0 var(--space-6);
}
.lp-journey__head { max-width: 720px; margin: 0 auto; text-align: center; }
.lp-underline { color: var(--ada-bordeaux); text-decoration: underline; }

.lp-overview {
  list-style: none; margin: 0 auto; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  gap: var(--space-3); width: 100%; max-width: 960px;
}
.lp-overview li { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); text-align: center; }
.lp-dot {
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-weight: var(--font-bold); flex: none;
  background: #fff; color: var(--ada-bordeaux); border: 2px solid var(--ada-bordeaux);
}
.lp-dot--done { background: var(--ada-bordeaux); color: #fff; }
.lp-dot--sm { width: 44px; height: 44px; font-size: var(--text-base); }
.lp-dot--lg { width: 56px; height: 56px; font-size: var(--text-xl); }
.lp-overview__label { font-size: var(--text-sm); font-weight: var(--font-medium); color: var(--color-heading); line-height: 1.25; }
.lp-overview__status { font-size: var(--text-xs); font-weight: var(--font-bold); text-transform: uppercase; letter-spacing: .06em; color: var(--color-text-muted); }
.lp-overview__status--done { color: var(--ada-bordeaux); }

.lp-steps { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }

/* Séparateur « La suite grâce à votre soutien » */
.lp-divider { position: relative; display: flex; justify-content: center; padding: var(--space-4) 0; }
.lp-divider__line {
  position: absolute; top: 0; bottom: 50%; left: 50%;
  width: 2px; margin-left: -1px; background: var(--ada-bordeaux);
}
.lp-steps.is-open .lp-divider__line { bottom: 0; }
.lp-divider__box {
  position: relative; display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: var(--space-3); padding: var(--space-6) var(--space-5); max-width: 640px;
  background: var(--ada-pink-50);
}
.lp-divider__lead { font-size: var(--text-lg); color: var(--color-heading); font-weight: var(--font-medium); line-height: 1.4; }
.lp-reveal {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-4);
  margin-top: var(--space-4); background: none; border: 0; padding: var(--space-2);
  cursor: pointer; font-family: inherit;
}
.lp-reveal:hover { opacity: .85; }
.lp-reveal__label { font-size: var(--text-xl); font-weight: var(--font-bold); color: var(--ada-bordeaux); line-height: 1.2; max-width: 420px; text-wrap: balance; }
.lp-reveal__icon { width: 56px; height: 56px; border-radius: 50%; background: var(--ada-red); color: #fff; display: flex; align-items: center; justify-content: center; }
.lp-steps.is-open .lp-reveal { display: none; }

/* Étape */
.lp-step {
  display: grid; grid-template-columns: 56px minmax(0, 1fr);
  column-gap: var(--space-6); row-gap: var(--space-5);
  padding-bottom: var(--space-8);
}
.lp-step[hidden] { display: none; }
.lp-step__spine { grid-column: 1; grid-row: 1 / span 2; display: flex; flex-direction: column; align-items: center; }
.lp-step__line { width: 2px; background: var(--ada-bordeaux); }
.lp-step__line--top { height: var(--space-4); }
.lp-step__line--bottom { flex: 1; margin-bottom: calc(-1 * var(--space-8)); }
.lp-step:first-child .lp-step__line--top,
.lp-step--last .lp-step__line--bottom { background: transparent; }
.lp-step__body { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); }
.lp-step__meta { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.lp-step__meta .lp-eyebrow { min-width: 0; }
.lp-step__photo { grid-column: 2; grid-row: 2; display: flex; justify-content: center; align-items: flex-start; }
.lp-step .ada-polaroid { max-width: 100%; }

@media (max-width: 859px) {
  .lp-divider { justify-content: flex-start; }
  .lp-divider__line { left: 28px; }
  .lp-divider__box { align-items: flex-start; text-align: left; margin-left: 56px; }
  .lp-reveal { align-items: flex-start; }
}
@media (min-width: 860px) {
  .lp-step { grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr); }
  .lp-step__spine { grid-column: 2; grid-row: 1; }
  .lp-step__body { grid-column: 1; }
  .lp-step__photo { grid-column: 3; grid-row: 1; padding-top: 48px; }
  .lp-step--alt .lp-step__body { grid-column: 3; }
  .lp-step--alt .lp-step__photo { grid-column: 1; padding-top: 0; }
}

.lp-cta-wrap { max-width: 720px; margin: 0 auto; width: 100%; }

/* ---------- Contact + virement ---------- */
.lp-contact {
  max-width: 1000px; margin: 0 auto;
  padding: var(--space-6) var(--space-5) var(--space-8);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: var(--space-6);
}
.lp-person { display: flex; gap: var(--space-5); align-items: center; flex-wrap: wrap; }
.lp-person__photo { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; flex: none; }
.lp-person__info { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.lp-person__name { font-size: var(--text-lg); font-weight: var(--font-medium); color: var(--color-heading); }
.lp-muted { font-size: var(--text-base); color: var(--color-text-muted); }
.lp-break { word-break: break-all; }
.lp-transfer {
  border: 1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); justify-content: center;
}
.lp-iban { font-size: var(--text-xl); font-weight: var(--font-medium); color: var(--color-heading); letter-spacing: .04em; }

/* ---------- Citation ---------- */
.lp-quote-wrap { position: relative; }
.lp-quote-wrap .ada-section > * { position: relative; z-index: 1; }
.lp-quote {
  max-width: 1000px; margin: 0 auto; padding: 0 var(--space-5);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: var(--space-8); align-items: center;
}
.lp-quote__photo { display: flex; justify-content: center; }
.lp-quote__text { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); }
.lp-quote__title { font-weight: var(--font-bold); font-size: clamp(2rem, 4.5vw, 3.5rem); line-height: 1.1; margin: 0; }
.lp-quote__sub { margin: 0; color: #fff; font-size: var(--text-xl); font-weight: var(--font-medium); }
.lp-btn-big { min-width: min(320px, 100%); min-height: 60px; justify-content: center; font-size: var(--text-lg); }

/* ---------- Chiffres ---------- */
.lp-stats-wrap { max-width: 1000px; margin: 0 auto; padding: 0 var(--space-5); display: flex; flex-direction: column; gap: var(--space-7); }
.lp-center { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); text-align: center; }
.lp-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: var(--space-4); list-style: none; margin: 0; padding: 0;
}
.lp-stat { background: #fff; border-radius: var(--radius-lg); padding: var(--space-5); display: flex; flex-direction: column; align-items: center; gap: var(--space-1); text-align: center; }
.lp-stat__value { font-size: clamp(2rem, 4vw, 2.75rem); font-weight: var(--font-bold); color: var(--ada-red); line-height: 1; }
.lp-stat__label { font-size: var(--text-base); line-height: 1.35; text-wrap: pretty; }
.lp-source { font-size: var(--text-sm); color: var(--color-text-muted); }

/* ---------- Footer ---------- */
.ada-footer__socials { gap: var(--space-4); }
.ada-footer__socials a { width: 44px; height: 44px; align-items: center; justify-content: center; }
.ada-footer__socials svg { width: 32px; height: 32px; }
