/* The Heart Link V2. Présentation des données existantes ; aucun chargement JS.
 * Image illustrative validée pour l'accueil, photos propres aux associations
 * dans leurs mini-sites. Les identités officielles gardent leur traitement or. */
body .heart-page {
  --heart-sage:var(--swop-signal);
  --heart-sage-dark:var(--swop-accent);
  --heart-sage-soft:var(--swop-accent-soft);
}
body .heart-page .heart-landing--v2 {
  box-sizing:border-box; position:relative; isolation:isolate; overflow:hidden;
  width:min(1120px,100%); min-height:390px; display:flex; align-items:center;
  margin:0 auto; padding:38px 24px; background:var(--swop-bg);
}
body .heart-page .heart-landing--v2::after { display:none; }
body .heart-page .heart-landing-scene { position:absolute; inset:0; z-index:0; pointer-events:none; }
body .heart-page .heart-landing-scene img {
  position:absolute; right:0; top:0; width:60%; height:100%; display:block;
  object-fit:contain; object-position:100% 50%;
}
body .heart-page .heart-landing-scene::after {
  content:""; position:absolute; inset:0; opacity:.94;
  background:linear-gradient(90deg,var(--swop-bg) 0%,var(--swop-bg) 30%,rgba(246,242,235,.98) 46%,rgba(246,242,235,.90) 55%,rgba(246,242,235,.16) 64%,rgba(246,242,235,.02) 82%),
    linear-gradient(0deg,var(--swop-bg) 0%,rgba(246,242,235,0) 22%);
}
body .heart-page .heart-landing--v2 .heart-landing-copy {
  box-sizing:border-box; position:relative; z-index:1; width:55%; min-width:0;
  padding:0; text-align:left;
}
body .heart-page .heart-landing--v2 .heart-title-signature { justify-content:flex-start; }
body .heart-page .heart-landing--v2 .heart-hearts { display:none; }
body .heart-page .heart-landing--v2 h1 {
  font-size:38px; line-height:1.2; color:var(--swop-accent); font-weight:600; letter-spacing:-1px;
}
body .heart-page .heart-landing--v2 h2 { font-size:20px; line-height:1.45; font-weight:600; }
body .heart-page .heart-landing--v2 .heart-mark { color:var(--swop-accent); }
body .heart-page .heart-landing--v2 p { font-size:16px; color:var(--swop-text-secondary); line-height:1.7; }
body .heart-page .heart-promise { color:var(--swop-accent); font-size:15px; }
body .heart-page .heart-landing-actions { justify-content:flex-start; }
body .heart-page .heart-landing-actions a { min-width:0; min-height:44px; padding:11px 16px; font-size:14px; }
body .heart-page .heart-sage,
body .association-profile--v2:not(.association-profile--official) .btn-primary {
  background:var(--swop-action)!important; border:1px solid var(--swop-accent-border)!important;
  color:var(--swop-accent)!important;
}
body .heart-page .heart-association-join {
  box-sizing:border-box; max-width:1072px; margin:20px auto 32px; padding:24px;
  background:var(--swop-white); border:1px solid var(--swop-card-border); box-shadow:none;
}
body .heart-page .heart-association-join h2 { color:var(--swop-accent); }
body .heart-page .heart-association-join p { color:var(--swop-text-secondary); }
body .heart-page .heart-card { border-color:var(--swop-card-border); }
body .heart-page .heart-desc { color:var(--swop-text-secondary); }
body .heart-page .heart-tabs a.active,
body .heart-page .heart-causes a.active {
  color:var(--swop-accent)!important; background:var(--swop-action)!important;
  border-color:var(--swop-accent-border)!important;
}
body .association-profile--v2 .association-profile__hero {
  box-sizing:border-box; display:flex; align-items:center; gap:30px;
  width:min(1120px,100%); margin:auto; padding:36px 24px;
  background:var(--swop-accent-soft); border-color:var(--swop-card-border);
}
body .association-profile--v2 .association-profile__identity { min-width:0; flex:1; margin:0; gap:20px; }
body .association-profile--v2 .association-profile__identity > img,
body .association-profile--v2 .association-profile__identity > span {
  box-sizing:border-box; width:110px; height:110px; flex:0 0 110px;
  border-radius:18px; background:var(--swop-action); object-fit:contain; color:var(--swop-accent);
}
body .association-profile--v2 .association-profile__identity h1 {
  color:var(--swop-text); font-weight:600; font-size:clamp(28px,3vw,38px); line-height:1.2;
}
body .association-profile--v2 .association-profile__identity p,
body .association-profile--v2 .association-profile__back,
body .association-profile--v2 .association-needs-grid small,
body .association-profile--v2 .association-profile__nav a { color:var(--swop-accent); }
body .association-profile--v2 .association-profile__identity p { font-size:12px; font-weight:600; }
body .association-profile--v2 .association-profile__intro-photo { width:40%; margin:0; flex:0 0 40%; }
body .association-profile--v2 .association-profile__intro-photo img {
  display:block; width:100%; aspect-ratio:3/2; object-fit:contain; border-radius:16px;
}
body .association-profile--v2 .association-profile__body { max-width:1120px; }
body .association-profile--v2 .association-profile__body > section,
body .association-profile--v2 .association-needs-grid article,
body .association-profile--v2 .association-activity__grid > div,
body .association-profile--v2 .association-gallery__photo { border-color:var(--swop-card-border); }
body .association-profile--v2 .association-profile__body p { color:var(--swop-text-secondary); }
body .association-profile--v2 .association-profile__nav { background:var(--swop-sand); border-color:var(--swop-card-border); }
body .association-profile--v2 .association-profile__nav a { font-size:14px; }
body .association-profile--v2 :is(section[id],.association-gallery) { scroll-margin-top:90px; }
body .association-profile--official .association-profile__hero { background:var(--swop-gold-soft); }
body .association-profile--official .association-profile__official p { color:var(--swop-gold-ink)!important; }
@media(max-width:1099px) {
  body .association-profile--v2 .association-profile__nav { top:68px; }
}
@media(max-width:767px) {
  body .heart-page .heart-landing--v2 {
    display:block; min-height:0; padding:calc(50vw + 14px) 20px 28px;
  }
  body .heart-page .heart-landing--v2 .heart-landing-copy { width:100%; }
  body .heart-page .heart-landing-scene img { width:100%; height:50vw; object-position:50% 0%; }
  body .heart-page .heart-landing-scene::after {
    opacity:1; background:linear-gradient(180deg,rgba(246,242,235,.02) 0px,rgba(246,242,235,.02) 43vw,
      rgba(246,242,235,.94) 50vw,var(--swop-bg) calc(50vw + 14px));
  }
  body .heart-page .heart-landing--v2 h1 { font-size:32px; }
  body .heart-page .heart-landing-actions { gap:10px; }
  body .heart-page .heart-landing-actions a { width:100%; }
  body .heart-page .heart-association-join { margin:0 12px 24px; padding:20px; }
  body .association-profile--v2 .association-profile__hero { flex-direction:column; align-items:stretch; padding:24px 16px; gap:20px; }
  body .association-profile--v2 .association-profile__identity > img,
  body .association-profile--v2 .association-profile__identity > span { width:80px; height:80px; flex-basis:80px; }
  body .association-profile--v2 .association-profile__identity h1 { font-size:28px; overflow-wrap:anywhere; }
  body .association-profile--v2 .association-profile__intro-photo { width:100%; flex-basis:auto; }
  body .association-profile--v2 .association-profile__intro-photo img { max-height:280px; }
}
@media(max-width:359px) {
  body .association-profile--v2 .association-profile__nav { top:116px; }
  body .association-profile--v2 :is(section[id],.association-gallery) { scroll-margin-top:132px; }
}
