/* The approved foil images settle in two reserved spaces; one cloud connects them. */
.wi-particle-anchor { display:flex; align-items:center; justify-content:center; margin:0 auto 12px; pointer-events:none; }
.invitation-details .wi-particle-anchor[data-particle-shape="heart"] { width:min(calc(var(--heart-size,180px) + 48px),100%); height:var(--heart-space,213px); }
.invitation-details .wi-countdown > .wi-particle-anchor { width:100%; height:var(--infinity-height,104px); margin:0; }
.invitation-details .wi-symbol-image { display:block; height:auto; max-width:calc(100% - 24px); flex:none; object-fit:contain; }
.wi-particle-anchor[data-particle-shape="infinity"] .wi-symbol-image { width:var(--infinity-size,170px); }
.wi-particle-anchor[data-particle-shape="heart"] .wi-symbol-image { width:var(--heart-size,180px); }
.wi-particle-scene { position:absolute; top:0; left:0; width:340px; height:240px; pointer-events:none; z-index:2; }
.wi-particle-scene canvas { display:block; width:100%; height:100%; }
.invitation-details.has-scroll-particles .wi-love-story-end { display:none; }
.invitation-details.has-scroll-particles .wi-countdown { display:grid; grid-template-columns:minmax(0,1fr) min(var(--infinity-space,202px),26vw) minmax(0,1fr); gap:24px; align-items:center; }
.invitation-details.has-scroll-particles .wi-countdown-numbers { justify-self:end; }
.invitation-details .wi-section-icon { display:block; width:48px; height:48px; margin:0 auto 22px; color:var(--wi-champagne); stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.invitation-details .wi-visit-intro > .wi-section-icon { margin-left:0; }
.wi-section-icon.will-reveal { opacity:0; transform:translateY(6px); transition:opacity .8s ease,transform .8s ease; }
.wi-section-icon.will-reveal.is-visible { opacity:1; transform:none; }
#scroll-particle-settings .symbol-controls { border:1px solid #dce2e5; border-radius:6px; padding:12px; margin:16px 0; min-width:0; }
#scroll-particle-settings legend { padding:0 5px; font:600 13px system-ui,sans-serif; }
#scroll-particle-settings .symbol-color-row { display:flex; gap:10px; align-items:center; }
#scroll-particle-settings input[type=color] { width:44px; height:34px; flex:none; padding:2px; }
#scroll-particle-settings .symbol-color-row input[type=text] { width:100%; min-width:0; font:13px ui-monospace,monospace; }
#scroll-particle-settings .symbol-size-row { display:flex; align-items:center; gap:8px; margin-top:8px; font:12px system-ui,sans-serif; }
#scroll-particle-settings .symbol-size-row input { width:80px; }
#scroll-particle-settings .symbol-error { display:block; color:#a32a2a; font:12px/1.4 system-ui,sans-serif; margin-top:6px; }
#scroll-particle-settings .symbol-error[hidden] { display:none; }
#scroll-particle-settings input[aria-invalid=true] { border-color:#a32a2a; }
#scroll-particle-settings .particle-reset { padding:8px 12px; border:1px solid #cdd8e2; border-radius:5px; background:white; font:12px system-ui,sans-serif; cursor:pointer; }
@media(min-width:761px) and (max-width:1000px) {
  .invitation-details.has-scroll-particles .wi-countdown { grid-template-columns:minmax(0,1fr) min(var(--infinity-space,202px),18vw) auto; gap:16px; }
}
@media(max-width:760px) {
  .invitation-details.has-scroll-particles .wi-countdown { display:flex; flex-direction:column; gap:14px; }
  .invitation-details .wi-countdown > .wi-particle-anchor { width:min(var(--infinity-space,202px),100%); }
  .invitation-details .wi-section-icon { width:44px; height:44px; margin-bottom:20px; }
}
@media(prefers-reduced-motion:reduce) { .wi-section-icon.will-reveal { opacity:1; transform:none; transition:none; } }
#scroll-particle-settings .symbol-color-row,
#scroll-particle-settings .symbol-size-row,
#scroll-particle-settings .symbol-error { grid-column:1/-1; }

/* The story ends in a heart, with a clear centre-line path into the countdown. */
.invitation-details.has-scroll-particles .wi-story.wi-love-story { padding-bottom:32px; }
.invitation-details .wi-love-story > .wi-particle-anchor { margin-top:24px; margin-bottom:0; }
@media(max-width:1000px) {
  .invitation-details.has-scroll-particles .wi-countdown { display:flex; flex-direction:column; text-align:center; gap:18px; }
  .invitation-details .wi-countdown > .wi-particle-anchor { order:-1; width:min(var(--infinity-space,202px),100%); }
  .invitation-details.has-scroll-particles .wi-countdown-numbers { justify-self:center; }
}

