.journal-resonance{
  position:relative;
  margin:54px 0 42px;
  padding:34px 28px 30px;
  overflow:hidden;
  text-align:center;
  color:#3a2618;
  background:radial-gradient(circle at 50% 0%,rgba(205,154,59,.14),transparent 58%),#fffaf1;
  border:1px solid rgba(144,91,36,.22);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(58,38,24,.08)
}
.journal-resonance:before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:74px;
  height:3px;
  background:linear-gradient(90deg,#b56a2c,#d6a947,#b56a2c);
  transform:translateX(-50%)
}
.journal-resonance__label{
  margin:0 0 10px;
  color:#93622e;
  font-family:var(--mono,monospace);
  font-size:11px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase
}
.journal-resonance h2{
  max-width:650px;
  margin:0 auto 10px;
  color:#3a2618;
  font-family:var(--display,sans-serif);
  font-size:clamp(1.35rem,3vw,1.8rem);
  line-height:1.15
}
.journal-resonance__intro{
  max-width:610px;
  margin:0 auto 23px;
  color:#725641;
  font-size:.98rem;
  line-height:1.65
}
.journal-resonance__button{
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:12px 21px;
  color:#6f351f;
  background:#fff;
  border:1px solid rgba(181,80,48,.34);
  border-radius:999px;
  box-shadow:0 8px 24px rgba(86,42,26,.08);
  cursor:pointer;
  font:inherit;
  font-weight:700;
  transition:.18s ease
}
.journal-resonance__button:hover:not(:disabled){
  color:#9d321f;
  background:#fff8f4;
  border-color:#c64a31;
  transform:translateY(-2px)
}
.journal-resonance__button:focus-visible{
  outline:3px solid rgba(214,169,71,.45);
  outline-offset:4px
}
.journal-resonance__button:disabled{cursor:default}
.journal-resonance__heart{
  width:25px;
  height:25px;
  flex:0 0 25px;
  fill:transparent;
  stroke:#b64032;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
  transition:.22s ease
}
.journal-resonance__button.is-active{
  color:#7b2d22;
  background:#fff4ef
}
.journal-resonance__button.is-active .journal-resonance__heart{
  fill:#b64032;
  stroke:#b64032;
  animation:resonance-pulse .52s ease
}
.journal-resonance__button.is-loading{opacity:.72}
.journal-resonance__status{
  min-height:24px;
  margin:15px 0 0;
  color:#735743;
  font-size:.88rem
}
.journal-resonance__status.is-error{color:#9b3528}
.journal-resonance__privacy{
  margin:4px 0 0;
  color:#9a8170;
  font-size:.75rem
}
@keyframes resonance-pulse{
  35%{transform:scale(1.25)}
  70%{transform:scale(.92)}
}
@media(max-width:640px){
  .journal-resonance{
    margin:42px 0 34px;
    padding:30px 19px 26px
  }
  .journal-resonance__button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .journal-resonance *{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
}


/* Résonances V3 : cœur immédiatement visible et vivant */
.journal-resonance__button:not(.is-active)
.journal-resonance__heart {
  fill: #c64035;
  stroke: #c64035;
  animation: resonance-breathe 2.4s ease-in-out infinite;
}

.journal-resonance__button:not(.is-active):hover
.journal-resonance__heart {
  animation-duration: 1.25s;
}

.journal-resonance__button.is-active
.journal-resonance__heart {
  animation: resonance-pulse .52s ease;
}

@keyframes resonance-breathe {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 0 rgba(198, 64, 53, 0));
  }

  50% {
    transform: scale(1.1);
    filter: drop-shadow(0 3px 5px rgba(198, 64, 53, 0.22));
  }
}


/* RESONANCES-V4
   Contour avant interaction, cœur plein après validation.
*/
.journal-resonance__button:not(.is-active)
.journal-resonance__heart {
  fill: transparent;
  stroke: #c64035;
  animation: resonance-outline-breathe 2.6s ease-in-out infinite;
}

.journal-resonance__button:not(.is-active) {
  animation: resonance-button-glow 2.6s ease-in-out infinite;
}

.journal-resonance__button.is-active {
  animation: none;
}

.journal-resonance__button.is-active
.journal-resonance__heart {
  fill: #c64035;
  stroke: #c64035;
}

@keyframes resonance-outline-breathe {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.09);
  }
}

@keyframes resonance-button-glow {
  0%, 100% {
    box-shadow: 0 8px 24px rgba(86, 42, 26, 0.08);
  }

  50% {
    box-shadow:
      0 9px 27px rgba(182, 64, 50, 0.16),
      0 0 0 3px rgba(182, 64, 50, 0.035);
  }
}

@media (max-width: 640px) {
  .journal-resonance__button {
    width: auto;
    min-width: 180px;
    max-width: 100%;
    white-space: nowrap;
  }
}

/* Résonances V5 : parole facultative, privée et sans compteur public. */
.journal-resonance__note{max-width:610px;margin:22px auto 10px;padding:20px;text-align:left;background:#fff;border:1px solid rgba(181,80,48,.22);border-radius:14px;box-shadow:0 10px 28px rgba(86,42,26,.06)}
.journal-resonance__note[hidden]{display:none}
.journal-resonance__note-title{display:block;color:#3a2618;font-family:var(--display,sans-serif);font-size:1.12rem;font-weight:700}
.journal-resonance__note-help{margin:5px 0 12px;color:#725641;font-size:.9rem}
.journal-resonance__note textarea{display:block;width:100%;min-height:92px;resize:vertical;padding:12px 14px;color:#3a2618;background:#fffdf9;border:1px solid #d8c3b2;border-radius:10px;font:inherit;line-height:1.45}
.journal-resonance__note textarea:focus{outline:3px solid rgba(214,169,71,.34);border-color:#b56a2c}
.journal-resonance__note-meta{display:flex;justify-content:space-between;gap:12px;margin-top:7px;color:#927b6b;font-size:.72rem}
.journal-resonance__note-actions{display:flex;align-items:center;gap:12px;margin-top:15px}
.journal-resonance__note-actions button{min-height:42px;padding:9px 15px;border:1px solid #a84230;border-radius:999px;background:#a84230;color:#fff;cursor:pointer;font:inherit;font-size:.88rem;font-weight:700}
.journal-resonance__note-actions button.is-skip{border-color:transparent;background:transparent;color:#765b49;font-weight:600}
.journal-resonance__note-actions button:focus-visible{outline:3px solid rgba(214,169,71,.45);outline-offset:3px}
.journal-resonance__note-actions button:disabled{cursor:wait;opacity:.65}
.journal-resonance__note-status{min-height:20px;margin:10px 0 0;color:#9b3528;font-size:.82rem}
.journal-resonance__note-thanks{margin:0;text-align:center;color:#704330;font-weight:700}
@media(max-width:640px){.journal-resonance__note{padding:17px}.journal-resonance__note-meta{display:block}.journal-resonance__note-meta span{display:block;margin-top:4px}.journal-resonance__note-actions{align-items:stretch;flex-direction:column}.journal-resonance__note-actions button{width:100%}}
