.sn-ideas-hero,.sn-idea-form-wrap,.sn-ideas-list,.sn-wordcloud{box-sizing:border-box}.sn-ideas-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:42px;align-items:center;padding:clamp(36px,7vw,92px);border-radius:30px;background:linear-gradient(135deg,var(--sn-ideen-accent),#243044);color:#fff;margin:0 0 48px}.sn-ideas-hero:before{content:"";position:absolute;inset:auto -120px -180px auto;width:420px;height:420px;background:var(--sn-ideen-primary);filter:blur(20px);border-radius:50%;opacity:.38}.sn-eyebrow{letter-spacing:.12em;text-transform:uppercase;font-weight:800;font-size:.78rem;margin:0 0 12px;color:#fff;opacity:.78}.sn-ideas-hero h1{font-size:clamp(2.2rem,5.5vw,5rem);line-height:.95;margin:0 0 18px;color:#fff}.sn-ideas-hero p{font-size:clamp(1rem,2vw,1.28rem);max-width:640px}.sn-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.sn-btn,.sn-vote-btn{appearance:none;border:0;border-radius:999px;padding:14px 22px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;display:inline-flex;align-items:center;justify-content:center}.sn-btn:hover,.sn-vote-btn:hover{transform:translateY(-1px)}.sn-btn.primary{background:var(--sn-ideen-primary);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2)}.sn-btn.secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}.sn-ideas-cloud{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;align-content:center;justify-content:center;min-height:320px}.sn-ideas-cloud span,.sn-wordcloud a{font-size:calc(1rem * var(--s));font-weight:900;line-height:1;border-radius:999px;padding:.72em .92em;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;animation:snFloat 7s ease-in-out infinite}.sn-ideas-cloud span:nth-child(2n){animation-delay:-2s}.sn-ideas-cloud span:nth-child(3n){animation-delay:-4s}@keyframes snFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.sn-idea-form-wrap{padding:clamp(24px,4vw,42px);border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(17,24,39,.1);margin:0 0 48px}.sn-idea-form-wrap h2,.sn-ideas-list h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;margin:0 0 12px}.sn-idea-form{display:grid;gap:18px;margin-top:24px}.sn-idea-form label{display:grid;gap:8px;font-weight:750;color:#111827}.sn-idea-form input,.sn-idea-form textarea,.sn-idea-form select{width:100%;border:1px solid #d7dce5;border-radius:14px;padding:14px 15px;font:inherit;background:#fff;box-sizing:border-box}.sn-idea-form input:focus,.sn-idea-form textarea:focus,.sn-idea-form select:focus{outline:3px solid color-mix(in srgb,var(--sn-ideen-primary),transparent 78%);border-color:var(--sn-ideen-primary)}.sn-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sn-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:600!important}.sn-check input{width:auto!important;margin-top:.25em}.sn-hp{position:absolute!important;left:-9999px!important;opacity:0!important}.sn-privacy-note{font-size:.9rem;color:#4b5563;margin:0}.sn-form-message{min-height:24px;font-weight:750}.sn-form-message.success{color:#166534}.sn-form-message.error{color:#991b1b}.sn-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}.sn-section-head p{margin:0;color:#4b5563}.sn-idea-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sn-idea-card{position:relative;display:flex;flex-direction:column;gap:14px;min-height:240px;padding:22px;border-radius:24px;background:#fff;border:1px solid #eceff4;box-shadow:0 16px 44px rgba(17,24,39,.07);box-sizing:border-box}.sn-card-meta{display:flex;flex-wrap:wrap;gap:8px}.sn-card-meta span{font-size:.78rem;font-weight:900;padding:7px 10px;border-radius:999px;background:#f3f4f6;color:#374151}.sn-card-meta span:first-child{background:color-mix(in srgb,var(--sn-ideen-primary),white 88%);color:var(--sn-ideen-primary)}.sn-idea-card h3{font-size:1.25rem;line-height:1.2;margin:0;color:#111827}.sn-idea-card p{margin:0;color:#4b5563}.sn-submitter{font-size:.9rem;color:#6b7280!important}.sn-vote-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto}.sn-vote-btn{background:var(--sn-ideen-accent);color:#fff;padding:12px 16px}.sn-vote-btn.is-voted{background:#166534}.sn-vote-btn:disabled{opacity:.75;cursor:not-allowed}.sn-vote-count{font-size:.95rem;color:#4b5563}.sn-vote-count strong{font-size:1.3em;color:#111827}.sn-wordcloud{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:26px;border-radius:24px;background:#f7f8fb}.sn-wordcloud a{color:#111827;background:#fff;border:1px solid #e5e7eb;animation:none}.sn-wordcloud a:hover{color:var(--sn-ideen-primary)}@media (max-width:980px){.sn-ideas-hero{grid-template-columns:1fr}.sn-ideas-cloud{min-height:auto;justify-content:flex-start}.sn-idea-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.sn-ideas-hero{padding:28px 20px;border-radius:20px}.sn-hero-actions,.sn-vote-row,.sn-section-head{align-items:stretch;flex-direction:column}.sn-btn,.sn-vote-btn{width:100%}.sn-ideas-cloud{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px}.sn-ideas-cloud span{white-space:nowrap;font-size:1rem!important}.sn-form-grid,.sn-idea-cards{grid-template-columns:1fr}.sn-idea-form-wrap{padding:22px 16px;border-radius:18px}.sn-idea-card{border-radius:18px}.sn-wordcloud{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.sn-wordcloud a{white-space:nowrap;font-size:1rem!important}}

/* v1.0.3 responsive and interaction refinements */
.sn-ideas-hero{isolation:isolate}.sn-ideas-hero-content{position:relative;z-index:2}.sn-ideas-cloud{max-width:100%;overflow:visible}.sn-idea-form,.sn-idea-form *{box-sizing:border-box}.sn-idea-form label{min-width:0}.sn-idea-form input,.sn-idea-form textarea,.sn-idea-form select{display:block;max-width:100%;min-width:0}.sn-wordcloud-section{box-sizing:border-box;margin:0 0 48px}.sn-wordcloud-head{margin:0 0 18px}.sn-wordcloud-head h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;margin:0 0 10px;color:#111827}.sn-wordcloud-head p{margin:0;color:#4b5563;max-width:820px}.sn-wordcloud a.is-active{background:var(--sn-ideen-primary);border-color:var(--sn-ideen-primary);color:#fff}.sn-filter-note{margin-top:14px;font-weight:700;color:#374151}.sn-filter-reset{appearance:none;border:0;border-radius:999px;background:#111827;color:#fff;font:inherit;font-weight:800;padding:8px 12px;margin-left:8px;cursor:pointer}
@media (max-width:980px){.sn-ideas-hero{gap:24px}.sn-ideas-cloud{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:14px;align-content:flex-start}.sn-ideas-cloud span{animation-duration:9s}}
@media (max-width:680px){.sn-ideas-hero{display:flex;flex-direction:column;align-items:stretch;overflow:hidden}.sn-ideas-hero h1{font-size:clamp(2rem,11vw,3rem);line-height:1}.sn-ideas-cloud{width:100%;min-height:0;max-height:168px;flex-wrap:wrap;overflow:hidden;gap:8px;margin-top:6px}.sn-ideas-cloud span{font-size:.92rem!important;padding:.62em .78em;white-space:normal;animation:snFloatMobile 8s ease-in-out infinite}.sn-idea-form{gap:16px}.sn-form-grid{gap:16px}.sn-idea-form input,.sn-idea-form textarea,.sn-idea-form select{border-radius:12px;padding:13px 14px}.sn-check{align-items:flex-start}.sn-check input{flex:0 0 auto}.sn-wordcloud-section{margin-bottom:36px}.sn-wordcloud{padding:18px;gap:8px}.sn-filter-reset{display:block;margin:10px 0 0;width:100%}}@keyframes snFloatMobile{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* v1.0.4 layout hardening */
.sn-ideas-hero,
.sn-idea-form-wrap,
.sn-ideas-list,
.sn-wordcloud-section{
  width:100%;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}
.sn-ideas-hero{
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:clamp(18px,4vw,42px);
  padding:clamp(34px,5vw,72px);
}
.sn-ideas-hero h1{
  font-size:clamp(2.25rem,4.6vw,4.25rem);
  line-height:1.02;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.sn-ideas-hero-content{min-width:0}.sn-ideas-cloud{min-width:0;align-items:center}.sn-ideas-cloud span{line-height:1.05;text-align:center}
.sn-idea-form-wrap{padding:clamp(24px,4vw,44px)}
.sn-idea-form{display:grid;grid-template-columns:1fr;gap:18px;width:100%}.sn-idea-form label{display:block;width:100%;margin:0;font-weight:800;color:#111827}.sn-idea-form input,.sn-idea-form textarea,.sn-idea-form select{width:100%!important;margin-top:7px;background:#fff}.sn-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%}.sn-check{display:flex!important;width:100%;align-items:flex-start;gap:10px!important;line-height:1.35}.sn-check input{width:auto!important;min-width:16px;margin:2px 0 0!important}.sn-section-head{margin-top:0}.sn-ideas-list{margin-bottom:34px}.sn-ideas-list + .sn-ideas-list{margin-top:8px}.sn-section-head h2,.sn-wordcloud-head h2{overflow-wrap:normal;word-break:normal;hyphens:none}.sn-active-filter{display:none;margin:-6px 0 18px;padding:12px 14px;border-radius:14px;background:#f7f8fb;color:#374151;font-weight:700}.sn-active-filter.is-visible{display:block}.sn-wordcloud-section{clear:both}.sn-wordcloud a[data-topic-slug]{cursor:pointer}.sn-wordcloud a.is-active{transform:translateY(-1px)}
@media (max-width:980px){.sn-ideas-hero{grid-template-columns:1fr}.sn-ideas-cloud{max-height:none;overflow:hidden}.sn-section-head{display:block}.sn-section-head h2{margin-bottom:8px}}
@media (max-width:680px){.sn-ideas-hero,.sn-idea-form-wrap,.sn-ideas-list,.sn-wordcloud-section{max-width:calc(100% - 28px)}.sn-ideas-hero{padding:26px 18px;gap:18px}.sn-ideas-hero h1{font-size:clamp(2rem,10vw,2.85rem);line-height:1.04;max-width:100%}.sn-hero-actions{gap:10px}.sn-ideas-cloud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;padding:12px;overflow:hidden}.sn-ideas-cloud span{display:flex;align-items:center;justify-content:center;min-height:34px;white-space:normal!important;font-size:.82rem!important;padding:8px 9px}.sn-idea-form-wrap{padding:22px 16px}.sn-form-grid{grid-template-columns:1fr;gap:18px}.sn-idea-form input,.sn-idea-form textarea,.sn-idea-form select{font-size:16px;padding:13px 14px}.sn-idea-cards{grid-template-columns:1fr}.sn-wordcloud{flex-wrap:wrap;overflow:visible;justify-content:flex-start}.sn-wordcloud a{font-size:.92rem!important;white-space:normal!important}.sn-filter-reset{width:100%;margin:10px 0 0}}
@media (max-width:390px){.sn-ideas-hero h1{font-size:2rem}.sn-ideas-cloud{grid-template-columns:1fr 1fr}.sn-ideas-cloud span{font-size:.76rem!important}}

/* v1.0.5 UX fixes: tighter headings, reliable form rhythm, filter states */
.sn-ideas-hero h1{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.035em;max-width:100%;}
.sn-ideas-hero{max-width:1040px;}
.sn-section-head h2,.sn-wordcloud-head h2,.sn-idea-form-wrap h2{font-size:clamp(1.55rem,2.4vw,2.2rem);letter-spacing:-.025em;line-height:1.08;}
.sn-section-head{display:grid;grid-template-columns:minmax(180px,0.38fr) minmax(0,1fr);align-items:end;gap:24px;margin-bottom:20px;}
.sn-section-head p{font-size:.95rem;line-height:1.45;max-width:760px;}
.sn-idea-form{display:block;width:100%;}
.sn-idea-form > label,.sn-idea-form > .sn-form-grid,.sn-idea-form > .sn-check,.sn-idea-form > .sn-privacy-note,.sn-idea-form > .cf-turnstile,.sn-idea-form > button,.sn-idea-form > .sn-form-message{margin-top:16px;}
.sn-idea-form > label:first-of-type{margin-top:0;}
.sn-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start;}
.sn-idea-form input:not([type="checkbox"]),.sn-idea-form textarea,.sn-idea-form select{display:block;width:100%!important;max-width:none!important;min-height:44px;padding:13px 16px!important;line-height:1.35!important;box-sizing:border-box!important;}
.sn-idea-form input::placeholder,.sn-idea-form textarea::placeholder{color:#6b7280;opacity:1;}
.sn-idea-form textarea{min-height:150px;resize:vertical;}
.sn-idea-form .sn-btn{margin-top:18px;}
.sn-wordcloud a{display:inline-flex;align-items:center;gap:7px;}
.sn-cloud-count{font-size:.72em;font-weight:850;opacity:.72;background:#f3f4f6;border-radius:999px;padding:.28em .55em;}
.sn-wordcloud a.is-active .sn-cloud-count{background:rgba(255,255,255,.18);opacity:1;}
.sn-filter-empty{grid-column:1/-1;margin:0;padding:16px 18px;border-radius:16px;background:#f7f8fb;color:#4b5563;font-weight:700;}
.sn-filter-empty[hidden]{display:none!important;}
@media (max-width:980px){.sn-section-head{grid-template-columns:1fr;gap:8px}.sn-ideas-hero h1{font-size:clamp(2rem,7vw,3.2rem)}}
@media (max-width:680px){.sn-ideas-hero h1{font-size:clamp(1.85rem,8.2vw,2.45rem);letter-spacing:-.04em}.sn-form-grid{grid-template-columns:1fr!important}.sn-section-head h2,.sn-wordcloud-head h2,.sn-idea-form-wrap h2{font-size:clamp(1.45rem,6vw,1.9rem)}.sn-idea-form input:not([type="checkbox"]),.sn-idea-form textarea,.sn-idea-form select{padding:13px 15px!important}.sn-section-head{margin-bottom:16px}.sn-wordcloud a{gap:6px}.sn-cloud-count{font-size:.68em}}
@media (min-width:681px){.sn-idea-form-wrap .sn-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.sn-idea-form-wrap .sn-form-grid > label{margin:0!important}}

/* v1.0.7: robust JS topic filtering with inline fallback */
.sn-ideas-hero{
  width:100vw;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  border-radius:0;
  padding:clamp(36px,5vw,80px) clamp(20px,4vw,64px);
}
.sn-ideas-hero-inner{
  width:100%;
  max-width:1480px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(28px,5vw,80px);
  align-items:center;
  position:relative;
  z-index:2;
}
.sn-ideas-hero-content{max-width:720px;}
.sn-ideas-hero h1{font-size:clamp(2.65rem,4.8vw,5.35rem);line-height:.96;letter-spacing:-.055em;}
.sn-ideas-hero p{max-width:680px;}
.sn-ideas-cloud{min-height:280px;}
.sn-idea-form-wrap,
.sn-ideas-list,
.sn-wordcloud-section{
  max-width:1480px!important;
}
.sn-idea-form-wrap{padding:clamp(30px,4vw,56px);}
.sn-idea-form input:not([type="checkbox"]),
.sn-idea-form textarea,
.sn-idea-form select{
  padding-left:18px!important;
  padding-right:18px!important;
}
.sn-idea-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.sn-idea-card.sn-is-hidden{display:none!important;}
.sn-wordcloud{justify-content:center;gap:14px;padding:30px;}
.sn-wordcloud a{cursor:pointer;user-select:none;}
.sn-wordcloud a.is-active{background:var(--sn-ideen-primary)!important;border-color:var(--sn-ideen-primary)!important;color:#fff!important;box-shadow:0 12px 28px color-mix(in srgb,var(--sn-ideen-primary),transparent 78%);}
.sn-wordcloud a.sn-cloud-all{background:#111827;color:#fff;border-color:#111827;}
.sn-wordcloud a.sn-cloud-all:not(.is-active){background:#fff;color:#111827;border-color:#e5e7eb;}
.sn-active-filter.is-visible{display:block;margin:0 0 18px;}
.sn-filter-note.is-visible{display:block;margin-top:16px;}
@media (max-width:1280px){.sn-idea-cards{grid-template-columns:repeat(3,minmax(0,1fr));}.sn-ideas-hero-inner{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);}.sn-ideas-hero h1{font-size:clamp(2.35rem,4.6vw,4.5rem);}}
@media (max-width:980px){.sn-ideas-hero-inner{grid-template-columns:1fr;}.sn-ideas-cloud{min-height:0;}.sn-idea-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.sn-ideas-hero-content{max-width:none;}.sn-ideas-hero h1{font-size:clamp(2.25rem,7vw,4rem);}}
@media (max-width:680px){.sn-ideas-hero{padding:30px 18px;border-radius:0;}.sn-ideas-hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:20px;}.sn-ideas-hero h1{font-size:clamp(2.05rem,10vw,3rem);line-height:1;}.sn-idea-form-wrap,.sn-ideas-list,.sn-wordcloud-section{max-width:calc(100% - 28px)!important;}.sn-idea-cards{grid-template-columns:1fr;}.sn-wordcloud{justify-content:flex-start;padding:18px;}.sn-wordcloud a{font-size:.94rem!important;}.sn-ideas-cloud{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* v1.0.7: hard fallback for topic filtering */
.sn-idea-card.sn-is-hidden,
.sn-idea-card[data-sn-filter-hidden="1"]{display:none!important;visibility:hidden!important;}
.sn-wordcloud a.is-active{pointer-events:auto;}

/* v1.1.0 hard topic filtering fallback */
.sn-idea-card.sn-is-hidden,
.sn-idea-card[hidden],
.sn-idea-card[data-sn-filter-hidden="1"]{
  display:none!important;
}

/* v1.1.1: section scoped filters, calmer layout, load more */
.sn-ideas-hero-inner{
  max-width:1480px;
  padding-left:clamp(18px,2vw,28px);
  padding-right:clamp(18px,2vw,28px);
}
.sn-ideas-hero-content{max-width:760px;}
.sn-ideas-cloud{max-width:680px;margin-left:auto;}
.sn-idea-form-wrap,
.sn-ideas-list,
.sn-wordcloud-section{
  max-width:1480px!important;
}
.sn-idea-cards{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(20px,2vw,30px)!important;
}
.sn-idea-card{
  min-height:260px;
  padding:clamp(22px,2vw,30px)!important;
}
.sn-idea-card h3{font-size:clamp(1.15rem,1.25vw,1.45rem);line-height:1.15;}
.sn-idea-card p{font-size:1rem;line-height:1.55;}
.sn-section-topic-filter{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 20px;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}
.sn-section-topic-filter .sn-topic-filter-btn,
.sn-wordcloud button.sn-topic-filter-btn,
.sn-wordcloud button.sn-cloud-all{
  border:1px solid #e5e7eb;
  background:#f9fafb;
  color:#111827;
  border-radius:999px;
  padding:10px 14px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.sn-section-topic-filter .sn-topic-filter-btn:hover,
.sn-wordcloud button.sn-topic-filter-btn:hover,
.sn-wordcloud button.sn-cloud-all:hover{transform:translateY(-1px);}
.sn-section-topic-filter .sn-topic-filter-btn.is-active,
.sn-wordcloud button.is-active{
  background:var(--sn-ideen-primary)!important;
  border-color:var(--sn-ideen-primary)!important;
  color:#fff!important;
}
.sn-section-topic-filter .sn-cloud-count,
.sn-wordcloud .sn-cloud-count{
  min-width:1.8em;
  height:1.8em;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.75em;
  background:rgba(17,24,39,.08);
  padding:0 .5em;
}
.sn-section-topic-filter .is-active .sn-cloud-count,
.sn-wordcloud .is-active .sn-cloud-count{background:rgba(255,255,255,.2);}
.sn-active-filter.is-visible{
  background:#f7f8fb;
  border:1px solid #e5e7eb;
  color:#374151;
  font-weight:750;
}
.sn-load-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:28px;
}
.sn-load-more-wrap[hidden]{display:none!important;}
.sn-load-more-btn{
  border:0;
  border-radius:999px;
  padding:14px 24px;
  background:#111827;
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(17,24,39,.18);
}
.sn-load-more-btn:hover{transform:translateY(-1px);}
.sn-load-more-sentinel{height:1px;width:100%;}
.sn-wordcloud a{display:inline-flex;}
.sn-wordcloud button{font-family:inherit;font-size:calc(1rem * var(--s, 1));}
.sn-filter-empty{grid-column:1/-1;}
@media (max-width:980px){
  .sn-idea-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .sn-ideas-cloud{max-width:none;margin-left:0;}
}
@media (max-width:680px){
  .sn-idea-cards{grid-template-columns:1fr!important;}
  .sn-section-topic-filter{gap:8px;padding:12px;border-radius:16px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;}
  .sn-section-topic-filter .sn-topic-filter-btn{white-space:nowrap;padding:10px 12px;}
  .sn-idea-card{min-height:0;}
}

/* v1.1.2: hero alignment, mobile filters, loading states, CSS fallback pagination */
.sn-ideas-hero{
  padding-left:0!important;
  padding-right:0!important;
}
.sn-ideas-hero-inner{
  max-width:1480px!important;
  padding-left:clamp(24px,6vw,96px)!important;
  padding-right:clamp(24px,6vw,96px)!important;
}
.sn-ideas-hero-content{
  max-width:680px!important;
}
.sn-ideas-cloud{
  max-width:620px!important;
}
.sn-topic-filter-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
}
.sn-topic-filter-select-wrap{
  display:none;
  width:100%;
  margin:0;
  font-weight:850;
  color:#111827;
}
.sn-topic-filter-select-wrap span{
  display:block;
  font-size:.82rem;
  margin:0 0 8px;
  color:#6b7280;
}
.sn-topic-filter-select{
  width:100%;
  min-height:46px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  color:#111827;
  padding:0 14px;
  font:inherit;
  font-weight:800;
  box-sizing:border-box;
}
.sn-infinite-loader{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#4b5563;
  font-weight:850;
  font-size:.95rem;
}
.sn-infinite-loader[hidden]{display:none!important;}
.sn-infinite-loader span{
  width:18px;
  height:18px;
  border-radius:50%;
  border:3px solid #e5e7eb;
  border-top-color:var(--sn-ideen-primary);
  animation:snIdeasSpin .8s linear infinite;
}
@keyframes snIdeasSpin{to{transform:rotate(360deg)}}
/* CSS-only fallback when JS is delayed or blocked: show only initial batch. JS overrides via inline style. */
.sn-ideas-list[data-sn-load-more="button"] .sn-idea-cards > .sn-idea-card:nth-of-type(n+7),
.sn-ideas-list[data-sn-load-more="infinite"] .sn-idea-cards > .sn-idea-card:nth-of-type(n+7){
  display:none;
}
@media (max-width:980px){
  .sn-ideas-list[data-sn-load-more="button"] .sn-idea-cards > .sn-idea-card:nth-of-type(n+5),
  .sn-ideas-list[data-sn-load-more="infinite"] .sn-idea-cards > .sn-idea-card:nth-of-type(n+5){
    display:none;
  }
}
.sn-ideas-list[data-sn-load-more="button"] .sn-idea-cards > .sn-idea-card[style],
.sn-ideas-list[data-sn-load-more="infinite"] .sn-idea-cards > .sn-idea-card[style]{
  display:revert;
}
.sn-ideas-list[data-sn-load-more="button"] .sn-idea-cards > .sn-idea-card[style*="display: none"],
.sn-ideas-list[data-sn-load-more="infinite"] .sn-idea-cards > .sn-idea-card[style*="display: none"]{
  display:none!important;
}
@media (max-width:680px){
  .sn-ideas-hero-inner{
    padding-left:22px!important;
    padding-right:22px!important;
  }
  .sn-section-topic-filter{
    overflow:visible!important;
    flex-wrap:wrap!important;
    padding:14px!important;
  }
  .sn-topic-filter-pills{
    display:none!important;
  }
  .sn-topic-filter-select-wrap{
    display:block!important;
  }
}


/* v1.1.3: hero background remains full width, content is centered in a narrower presentation container */
.sn-ideas-hero{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-left:0!important;
  padding-right:0!important;
  border-radius:0!important;
}
.sn-ideas-hero-inner{
  width:min(100% - 48px, 1240px)!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.sn-ideas-hero-content{
  max-width:620px!important;
}
.sn-ideas-cloud{
  max-width:520px!important;
  margin-left:auto!important;
  margin-right:0!important;
}
@media (min-width:1500px){
  .sn-ideas-hero-inner{
    width:min(100% - 96px, 1320px)!important;
    max-width:1320px!important;
  }
}
@media (max-width:980px){
  .sn-ideas-hero-inner{
    width:min(100% - 40px, 760px)!important;
    max-width:760px!important;
  }
  .sn-ideas-cloud{
    max-width:100%!important;
    margin-left:0!important;
  }
}
@media (max-width:680px){
  .sn-ideas-hero-inner{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }
}


/* v1.1.4: fix hero centering inside fullwidth background.
   The section itself must not stay a grid, otherwise Divi/old CSS can place the inner container in the left grid column. */
.sn-ideas-hero{
  display:block!important;
}
.sn-ideas-hero-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)!important;
  gap:clamp(28px,5vw,72px)!important;
  align-items:center!important;
}
@media (max-width:980px){
  .sn-ideas-hero-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
}

/* v1.1.5: Uelzen NEXT visual refinement and improved idea-card spacing */
.sn-ideas-hero{
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08), 0 22px 70px rgba(22,33,48,.16);
}
.sn-ideas-hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(110deg, rgba(255,255,255,.045) 0 1px, transparent 1px 14px),
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 38%);
  opacity:.28;
  z-index:0;
}
.sn-ideas-hero-inner,
.sn-ideas-hero-content,
.sn-ideas-cloud{position:relative;z-index:1;}
.sn-eyebrow,
.sn-section-head h2,
.sn-idea-form-wrap h2{
  letter-spacing:.01em;
}
.sn-section-head h2:after,
.sn-idea-form-wrap h2:after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin-top:14px;
  background:var(--sn-ideen-primary);
}
.sn-idea-form-wrap,
.sn-ideas-list,
.sn-wordcloud-section{
  scroll-margin-top:110px;
}
.sn-idea-card{
  padding:clamp(24px,2.3vw,32px)!important;
  gap:18px!important;
  min-height:270px;
  border-radius:10px!important;
  border-color:#e6ebf1!important;
}
.sn-idea-card:before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--sn-ideen-primary);
  opacity:.75;
}
.sn-idea-card h3{
  margin:2px 0 0!important;
  line-height:1.28!important;
}
.sn-idea-card p{
  line-height:1.75!important;
  margin:0!important;
}
.sn-idea-card > p:not(.sn-submitter){
  padding-top:4px;
  padding-bottom:4px;
}
.sn-submitter{
  margin-top:2px!important;
  line-height:1.55!important;
}
.sn-card-meta{
  margin-bottom:2px;
}
.sn-vote-row{
  padding-top:8px;
}
.sn-section-topic-filter{
  border-radius:8px!important;
}
.sn-topic-filter-btn,
.sn-topic-filter-select,
.sn-btn,
.sn-vote-btn,
.sn-load-more-btn{
  letter-spacing:.02em;
}
@media (max-width:680px){
  .sn-idea-card{
    padding:22px 20px!important;
    min-height:0;
  }
  .sn-idea-card:before{
    top:20px;
    bottom:20px;
  }
  .sn-idea-card p{
    line-height:1.65!important;
  }
}

/* v1.1.6 style settings hooks */
.sn-ideas-hero-inner{max-width:var(--sn-ideen-hero-inner-max,1320px)!important;}
.sn-idea-form-wrap,.sn-ideas-list,.sn-wordcloud-section{max-width:var(--sn-ideen-content-max,1480px)!important;margin-bottom:var(--sn-ideen-section-spacing,48px)!important;}
.sn-ideas-hero h1{font-size:var(--sn-ideen-hero-title,clamp(2.65rem,4.8vw,5.35rem))!important;}
.sn-idea-form-wrap h2,.sn-ideas-list h2,.sn-wordcloud-head h2{font-size:var(--sn-ideen-section-title,clamp(1.8rem,3vw,2.6rem))!important;}
.sn-idea-cards{grid-template-columns:repeat(var(--sn-ideen-grid-desktop,3),minmax(0,1fr))!important;}
.sn-idea-card{padding:var(--sn-ideen-card-padding,30px)!important;min-height:var(--sn-ideen-card-min-height,260px)!important;}
@media (max-width:980px){.sn-idea-cards{grid-template-columns:repeat(var(--sn-ideen-grid-tablet,2),minmax(0,1fr))!important;}}
@media (max-width:680px){.sn-idea-cards{grid-template-columns:1fr!important;}}

/* v1.2.0 design framework and optional frontend resonance charts */
.sn-idea-form-wrap,.sn-ideas-list,.sn-wordcloud-section,.sn-resonance-section{color:var(--sn-ideen-text,#111827)}
.sn-resonance-section{box-sizing:border-box;margin:0 auto 48px;padding:clamp(24px,4vw,42px);border-radius:24px;background:var(--sn-ideen-surface,#fff);box-shadow:var(--sn-ideen-form-shadow,0 18px 55px rgba(17,24,39,.10))}
.sn-resonance-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:24px}.sn-resonance-head h2{margin:0;line-height:1.08}.sn-resonance-head p{margin:0;max-width:720px;color:var(--sn-ideen-muted,#4b5563)}
.sn-resonance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.sn-resonance-stats>div{border:1px solid var(--sn-ideen-border,#e5e7eb);border-radius:18px;padding:18px;background:var(--sn-ideen-card-bg,#fff)}.sn-resonance-stats strong{display:block;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;color:var(--sn-ideen-primary)}.sn-resonance-stats span{display:block;margin-top:7px;color:var(--sn-ideen-muted,#4b5563);font-weight:800}
.sn-resonance-bars{display:grid;gap:13px}.sn-resonance-row{display:grid;grid-template-columns:170px 1fr 180px;gap:14px;align-items:center}.sn-resonance-row>span{font-weight:900;color:var(--sn-ideen-text,#111827)}.sn-resonance-row>div{height:13px;border-radius:999px;background:color-mix(in srgb,var(--sn-ideen-primary),white 90%);overflow:hidden}.sn-resonance-row i{display:block;height:100%;border-radius:999px;background:var(--sn-ideen-primary)}.sn-resonance-row strong{font-size:.88rem;color:var(--sn-ideen-muted,#4b5563);text-align:right}
@media(max-width:980px){.sn-resonance-head{display:block}.sn-resonance-head p{margin-top:8px}.sn-resonance-stats{grid-template-columns:1fr 1fr}.sn-resonance-row{grid-template-columns:1fr}.sn-resonance-row strong{text-align:left}}
@media(max-width:680px){.sn-resonance-section{max-width:calc(100% - 28px)!important;padding:22px 16px;border-radius:18px}.sn-resonance-stats{grid-template-columns:1fr}}

/* v1.2.1: stronger design framework and richer public resonance visuals */
.sn-idea-form-wrap,
.sn-ideas-list,
.sn-wordcloud-section,
.sn-resonance-section{
  background:var(--sn-ideen-section-bg,var(--sn-ideen-surface,#fff));
}
.sn-btn.primary,
.sn-vote-btn,
.sn-load-more-btn{
  background:var(--sn-ideen-button-bg,#111827)!important;
  color:var(--sn-ideen-button-text,#fff)!important;
}
.sn-btn.primary:hover,
.sn-vote-btn:hover,
.sn-load-more-btn:hover{
  background:var(--sn-ideen-button-hover-bg,#000)!important;
}
.sn-btn.secondary{
  background:var(--sn-ideen-secondary-button-bg,rgba(255,255,255,.12))!important;
  color:var(--sn-ideen-secondary-button-text,#fff)!important;
}
.sn-section-topic-filter{
  background:var(--sn-ideen-filter-bg,#fff)!important;
}
.sn-section-topic-filter .sn-topic-filter-btn{
  color:var(--sn-ideen-filter-text,#111827)!important;
}
.sn-section-topic-filter .sn-topic-filter-btn.is-active{
  background:var(--sn-ideen-filter-active-bg,#111827)!important;
  border-color:var(--sn-ideen-filter-active-bg,#111827)!important;
  color:var(--sn-ideen-filter-active-text,#fff)!important;
}
.sn-idea-form input:not([type="checkbox"]),
.sn-idea-form textarea,
.sn-idea-form select{
  background:var(--sn-ideen-input-bg,#fff)!important;
}
.sn-idea-form input:focus,
.sn-idea-form textarea:focus,
.sn-idea-form select:focus{
  border-color:var(--sn-ideen-input-focus,var(--sn-ideen-primary))!important;
}
.sn-idea-card{
  border-width:var(--sn-ideen-card-border-width,1px)!important;
}
.sn-idea-card:before{
  background:var(--sn-ideen-card-accent,var(--sn-ideen-primary))!important;
}
.sn-resonance-stats{grid-template-columns:repeat(4,minmax(0,1fr));}
.sn-resonance-visuals{display:grid;grid-template-columns:170px 1fr 1.2fr 1fr;gap:18px;margin:0 0 26px;align-items:stretch}.sn-resonance-donut{--p:0%;display:grid;place-items:center;text-align:center;min-height:160px;border-radius:22px;background:conic-gradient(var(--sn-ideen-chart-primary,var(--sn-ideen-primary)) var(--p),var(--sn-ideen-chart-soft,#eef2f7) 0);position:relative;overflow:hidden}.sn-resonance-donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:var(--sn-ideen-section-bg,#fff)}.sn-resonance-donut strong,.sn-resonance-donut span{position:relative;z-index:1}.sn-resonance-donut strong{display:block;font-size:2.2rem;line-height:1;color:var(--sn-ideen-text,#111827)}.sn-resonance-donut span{display:block;max-width:98px;font-weight:850;color:var(--sn-ideen-muted,#4b5563);line-height:1.22}.sn-resonance-progress,.sn-resonance-spark,.sn-resonance-highlight{border:1px solid var(--sn-ideen-border,#e5e7eb);border-radius:22px;background:var(--sn-ideen-card-bg,#fff);padding:20px}.sn-resonance-progress h3,.sn-resonance-spark h3,.sn-resonance-highlight h3{margin:0 0 12px;font-size:1rem;color:var(--sn-ideen-text,#111827)}.sn-resonance-stack{height:18px;border-radius:999px;background:var(--sn-ideen-chart-soft,#eef2f7);overflow:hidden}.sn-resonance-stack i{display:block;height:100%;border-radius:999px;background:var(--sn-ideen-chart-primary,var(--sn-ideen-primary))}.sn-resonance-progress p,.sn-resonance-highlight p{margin:12px 0 0;color:var(--sn-ideen-muted,#4b5563);font-weight:800;line-height:1.42}.sn-resonance-spark>div{height:86px;display:flex;gap:6px;align-items:flex-end}.sn-resonance-spark i{display:block;width:13px;min-height:6px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--sn-ideen-chart-secondary,var(--sn-ideen-primary)),var(--sn-ideen-chart-primary,var(--sn-ideen-accent)))}.sn-resonance-spark .empty{font-weight:800;color:var(--sn-ideen-muted,#4b5563)}.sn-resonance-row>div{background:var(--sn-ideen-chart-soft,#eef2f7)!important}.sn-resonance-row i{background:linear-gradient(90deg,var(--sn-ideen-chart-primary,var(--sn-ideen-primary)),var(--sn-ideen-chart-secondary,var(--sn-ideen-accent)))!important}
@media(max-width:1180px){.sn-resonance-visuals{grid-template-columns:1fr 1fr}.sn-resonance-donut{min-height:190px}.sn-resonance-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.sn-resonance-visuals,.sn-resonance-stats{grid-template-columns:1fr}.sn-resonance-donut{min-height:180px}.sn-resonance-spark>div{overflow-x:auto;align-items:flex-end}.sn-resonance-spark i{min-width:12px}}

/* v1.2.2: Vote-Modal, Teilen und verknuepfte Ideen */
.sn-vote-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(8px);
}
.sn-vote-modal {
  width: min(100%, 520px);
  background: var(--sn-ideen-card-bg, #fff);
  color: var(--sn-ideen-text, #111827);
  border: 1px solid var(--sn-ideen-border, #e5e7eb);
  border-radius: 24px;
  box-shadow: 0 26px 90px rgba(15,23,42,.24);
  padding: 30px;
  position: relative;
}
.sn-vote-modal h3 { margin: 0 0 10px; font-size: 1.55rem; line-height: 1.2; }
.sn-vote-modal p { margin: 0 0 18px; color: var(--sn-ideen-muted, #6b7280); line-height: 1.55; }
.sn-vote-modal label { display: block; margin: 0 0 14px; font-weight: 750; }
.sn-vote-modal input[type="text"],
.sn-vote-modal input[type="email"] {
  display: block;
  width: 100%;
  margin-top: 7px;
  padding: var(--sn-ideen-input-padding, 14px);
  border-radius: var(--sn-ideen-input-radius, 14px);
  border: 1px solid var(--sn-ideen-border, #e5e7eb);
  background: var(--sn-ideen-input-bg, #fff);
  color: var(--sn-ideen-text, #111827);
}
.sn-vote-privacy {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500 !important;
  font-size: .92rem;
  line-height: 1.45;
}
.sn-vote-privacy input { margin-top: 4px; flex: 0 0 auto; }
.sn-vote-modal-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.sn-vote-modal-actions button,
.sn-vote-modal-close {
  border: 0;
  cursor: pointer;
}
.sn-vote-modal-submit {
  background: var(--sn-ideen-button-bg, var(--sn-ideen-primary, #b5121b));
  color: var(--sn-ideen-button-text, #fff);
  border-radius: var(--sn-ideen-button-radius, 999px);
  padding: 12px 18px;
  font-weight: 800;
}
.sn-vote-modal-cancel {
  background: var(--sn-ideen-filter-bg, #f3f4f6);
  color: var(--sn-ideen-text, #111827);
  border-radius: var(--sn-ideen-button-radius, 999px);
  padding: 12px 18px;
  font-weight: 700;
}
.sn-vote-modal-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--sn-ideen-filter-bg, #f3f4f6);
  color: var(--sn-ideen-text, #111827);
  font-size: 1.45rem;
  line-height: 1;
}
.sn-vote-modal-error {
  margin-top: 12px !important;
  color: #b91c1c !important;
  font-weight: 700;
}
.sn-related-ideas {
  margin: 16px 0 4px;
  padding: 12px 14px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--sn-ideen-accent, #111827) 7%, transparent);
  font-size: .92rem;
  line-height: 1.45;
}
.sn-related-ideas a { font-weight: 750; color: var(--sn-ideen-primary, #b5121b); text-decoration: none; }
.sn-share-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--sn-ideen-border, #e5e7eb);
  font-size: .88rem;
  color: var(--sn-ideen-muted, #6b7280);
}
.sn-share-row a,
.sn-share-row button {
  appearance: none;
  border: 1px solid var(--sn-ideen-border, #e5e7eb);
  background: var(--sn-ideen-filter-bg, #f8fafc);
  color: var(--sn-ideen-filter-text, #111827);
  border-radius: 999px;
  padding: 7px 11px;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
  font-size: .84rem;
}
@media (max-width: 680px) {
  .sn-vote-modal { padding: 24px; border-radius: 20px; }
  .sn-vote-modal-actions { display: grid; grid-template-columns: 1fr; }
  .sn-vote-modal-actions button { width: 100%; }
}


/* v1.2.4: robust mobile sharing and voting dialog */
html.sn-vote-modal-open,
html.sn-vote-modal-open body{
  overflow:hidden!important;
}
.sn-vote-modal-overlay{
  align-items:flex-start!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  padding:clamp(14px,4vw,28px)!important;
}
.sn-vote-modal{
  margin:auto 0!important;
  max-height:calc(100dvh - 32px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  box-sizing:border-box!important;
}
.sn-vote-modal input[type="text"],
.sn-vote-modal input[type="email"]{
  box-sizing:border-box!important;
  font-size:16px!important;
}
.sn-share-row{
  display:flex!important;
  visibility:visible!important;
}
.sn-share-native{
  display:none!important;
}
.sn-shared-target{
  outline:3px solid color-mix(in srgb,var(--sn-ideen-primary,#b5121b),transparent 55%);
  outline-offset:4px;
}
@media (max-width:680px){
  .sn-share-row{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px!important;
    align-items:stretch!important;
  }
  .sn-share-row > span{
    grid-column:1/-1;
    font-weight:800;
  }
  .sn-share-row a,
  .sn-share-row button{
    width:100%!important;
    min-height:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }
  .sn-share-native{
    display:inline-flex!important;
    grid-column:1/-1;
    background:var(--sn-ideen-primary,#b5121b)!important;
    color:#fff!important;
    border-color:var(--sn-ideen-primary,#b5121b)!important;
  }
  .sn-vote-modal-overlay{
    padding:12px!important;
  }
  .sn-vote-modal{
    width:100%!important;
    max-height:calc(100dvh - 24px)!important;
    border-radius:18px!important;
    padding:22px 18px!important;
  }
  .sn-vote-modal h3{
    font-size:1.35rem!important;
    padding-right:34px;
  }
  .sn-vote-privacy{
    gap:9px!important;
  }
  .sn-vote-privacy span{
    font-size:.9rem!important;
  }
}


/* v1.2.5: mobile sharing, public child ideas and clearer action layout */
.sn-child-ideas,
.sn-subidea-open{
  margin-top:14px;
}
.sn-child-ideas{
  padding:12px 14px;
  border-radius:16px;
  background:color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 7%, transparent);
  font-size:.92rem;
  line-height:1.45;
}
.sn-child-ideas a{
  color:var(--sn-ideen-primary,#b5121b);
  font-weight:750;
  text-decoration:none;
}
.sn-subidea-open{
  appearance:none;
  width:100%;
  border:1px dashed color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 52%, var(--sn-ideen-border,#e5e7eb));
  background:color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 5%, #fff);
  color:var(--sn-ideen-text,#111827);
  border-radius:16px;
  padding:10px 12px;
  font-weight:800;
  cursor:pointer;
  text-align:center;
}
.sn-subidea-open:hover{
  background:color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 10%, #fff);
}
.sn-subidea-parent{
  padding:10px 12px;
  border-radius:14px;
  background:var(--sn-ideen-filter-bg,#f8fafc);
  color:var(--sn-ideen-text,#111827)!important;
}
.sn-subidea-modal textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--sn-ideen-border,#e5e7eb);
  border-radius:14px;
  padding:12px 14px;
  font-size:16px;
  font-family:inherit;
  resize:vertical;
}
.sn-share-row{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
}
.sn-share-row .sn-share-native,
.sn-share-row .sn-share-copy,
.sn-share-row a{
  min-width:max-content;
}
@media (max-width:680px){
  .sn-share-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .sn-share-row a,
  .sn-share-row button{
    width:100%!important;
    min-height:44px!important;
  }
  .sn-share-row .sn-share-native{
    display:flex!important;
  }
  .sn-subidea-open{
    min-height:46px;
    padding:12px 14px;
  }
  .sn-subidea-modal textarea{
    min-height:130px;
  }
}

/* v1.2.6: moderated child ideas, clearer hierarchy and pie charts */
.sn-child-ideas{
  margin:18px 0 10px;
  padding:16px;
  border:1px dashed color-mix(in srgb,var(--sn-ideen-primary),transparent 62%);
  border-radius:18px;
  background:color-mix(in srgb,var(--sn-ideen-primary),white 94%);
}
.sn-child-ideas>strong{display:block;margin-bottom:10px;color:var(--sn-ideen-text,#111827)}
.sn-child-idea-list{display:grid;gap:10px}
.sn-child-idea-item{padding:12px 14px;border-radius:14px;background:var(--sn-ideen-card-bg,#fff);border:1px solid var(--sn-ideen-border,#e5e7eb)}
.sn-child-idea-item strong{display:block;margin-bottom:4px;color:var(--sn-ideen-text,#111827)}
.sn-child-idea-item span{display:block;color:var(--sn-ideen-muted,#4b5563);line-height:1.45;font-size:.94rem}
.sn-subidea-modal-overlay .sn-vote-modal{max-height:min(760px,calc(100vh - 36px));overflow:auto}
.sn-resonance-pie-block{margin:0 0 24px;padding:22px;border:1px solid var(--sn-ideen-border,#e5e7eb);border-radius:24px;background:var(--sn-ideen-card-bg,#fff)}
.sn-resonance-pie-block h3{margin:0 0 16px;color:var(--sn-ideen-text,#111827);font-size:1.1rem}
.sn-resonance-pie-grid{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}
.sn-resonance-pie{width:180px;height:180px;border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.sn-resonance-pie:after{content:"";position:absolute;inset:34px;border-radius:50%;background:var(--sn-ideen-card-bg,#fff)}
.sn-resonance-pie span{position:relative;z-index:1;font-size:1.55rem;font-weight:900;color:var(--sn-ideen-text,#111827)}
.sn-resonance-pie-block ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sn-resonance-pie-block li{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;font-weight:750;color:var(--sn-ideen-text,#111827)}
.sn-resonance-pie-block li i{width:14px;height:14px;border-radius:50%;display:block}
.sn-resonance-pie-block li strong{font-weight:900;color:var(--sn-ideen-muted,#4b5563)}
@media(max-width:680px){.sn-resonance-pie-grid{grid-template-columns:1fr}.sn-resonance-pie{width:160px;height:160px;margin:auto}.sn-resonance-pie-block{padding:18px;border-radius:18px}}


/* v1.2.7: cleaner subidea hierarchy and child voting */
.sn-child-ideas{
  margin:22px 0 16px;
  padding:18px;
  border-radius:20px;
}
.sn-child-ideas>strong{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  font-size:1rem;
}
.sn-child-ideas>strong:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--sn-ideen-primary);
  display:inline-block;
}
.sn-child-idea-list{
  display:grid;
  gap:12px;
  max-height:440px;
  overflow:auto;
  padding-right:4px;
}
.sn-child-idea-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:end;
  padding:16px 18px;
  border-radius:16px;
}
.sn-child-idea-content strong{
  display:block;
  margin:0 0 7px;
  line-height:1.25;
}
.sn-child-idea-content p{
  margin:0;
  line-height:1.5;
}
.sn-child-idea-byline{
  display:block;
  margin-top:8px;
  color:var(--sn-ideen-muted,#4b5563);
  font-size:.88rem;
}
.sn-child-vote-row{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  white-space:nowrap;
}
.sn-child-vote-btn{
  padding:10px 16px!important;
  font-size:.86rem!important;
}
.sn-child-vote-count{
  font-size:.9rem;
  color:var(--sn-ideen-muted,#4b5563);
}
@media(max-width:680px){
  .sn-child-idea-item{
    grid-template-columns:1fr;
    align-items:start;
  }
  .sn-child-vote-row{
    align-items:stretch;
  }
  .sn-child-vote-btn{
    width:100%;
  }
}


/* v1.2.8: public child submitter names and frontend-only chart shortcode */
.sn-resonance-charts-only .sn-resonance-head{max-width:920px;margin-inline:auto;text-align:center;margin-bottom:26px}
.sn-resonance-pie-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.sn-resonance-charts-only .sn-resonance-pie-block{margin:0}
.sn-subidea-public-wrap{margin-top:-6px}
.sn-child-idea-byline{margin-top:8px;font-size:.9rem;color:var(--sn-ideen-muted,#64748b)!important}
@media (max-width:780px){.sn-resonance-pie-wrap{grid-template-columns:1fr}.sn-resonance-charts-only .sn-resonance-head{text-align:left}}

/* v1.5.1: visible child-idea count and expandable additions */
.sn-child-idea-list{
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.sn-ideen-js .sn-child-idea-extra.is-collapsed{
  display:none;
}
.sn-child-ideas-toggle{
  display:none;
  appearance:none;
  width:100%;
  margin-top:12px;
  padding:11px 14px;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 48%, var(--sn-ideen-border,#e5e7eb));
  border-radius:14px;
  background:var(--sn-ideen-card-bg,#fff);
  color:var(--sn-ideen-text,#111827);
  font:inherit;
  font-weight:800;
  line-height:1.3;
  cursor:pointer;
}
.sn-ideen-js .sn-child-ideas-toggle{
  display:flex;
}
.sn-child-ideas-toggle:after{
  content:"+";
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 12%, transparent);
  color:var(--sn-ideen-primary,#b5121b);
  font-size:1.05rem;
  line-height:1;
}
.sn-child-ideas-toggle[aria-expanded="true"]:after{
  content:"−";
}
.sn-child-ideas-toggle:hover,
.sn-child-ideas-toggle:focus-visible{
  border-color:var(--sn-ideen-primary,#b5121b);
  background:color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 7%, #fff);
}
@media(max-width:680px){
  .sn-child-ideas-toggle{
    min-height:46px;
  }
}

/* v1.5.2–1.5.3: transparent ranking and independent list sorting */
.sn-list-tools{
  display:none;
  justify-content:flex-end;
  align-items:center;
  margin:-4px 0 18px;
}
.sn-list-tools-static,
.sn-ideen-js .sn-list-tools{
  display:flex;
}
.sn-idea-sort-wrap{
  display:none;
  align-items:center;
  gap:10px;
  color:var(--sn-ideen-muted,#4b5563);
  font-size:.88rem;
  font-weight:750;
}
.sn-ideen-js .sn-idea-sort-wrap{
  display:flex;
}
.sn-idea-sort-select{
  min-height:44px;
  padding:0 38px 0 14px;
  border:1px solid var(--sn-ideen-border,#e5e7eb);
  border-radius:12px;
  background:var(--sn-ideen-card-bg,#fff);
  color:var(--sn-ideen-text,#111827);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.sn-idea-sort-select:focus-visible{
  outline:3px solid color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 24%, transparent);
  outline-offset:2px;
  border-color:var(--sn-ideen-primary,#b5121b);
}
.sn-list-order-note{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:999px;
  background:color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 8%, transparent);
  color:var(--sn-ideen-muted,#4b5563);
  font-size:.82rem;
  font-weight:800;
}
.sn-list-order-note:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--sn-ideen-primary,#b5121b);
}
.sn-child-sort-wrap{
  display:none;
  margin:-8px 0 14px 16px;
  align-items:center;
  gap:8px;
  color:var(--sn-ideen-muted,#4b5563)!important;
  font-size:.78rem!important;
  font-weight:750;
}
.sn-ideen-js .sn-child-sort-wrap{
  display:flex;
}
.sn-child-sort-select{
  min-height:36px;
  padding:0 32px 0 10px;
  border:1px solid var(--sn-ideen-border,#e5e7eb);
  border-radius:10px;
  background:var(--sn-ideen-card-bg,#fff);
  color:var(--sn-ideen-text,#111827);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.sn-child-sort-select:focus-visible{
  outline:3px solid color-mix(in srgb,var(--sn-ideen-primary,#b5121b) 24%, transparent);
  outline-offset:2px;
  border-color:var(--sn-ideen-primary,#b5121b);
}
@media(max-width:680px){
  .sn-list-tools{
    justify-content:stretch;
    margin-top:0;
  }
  .sn-idea-sort-wrap{
    width:100%;
    align-items:stretch;
    flex-direction:column;
    gap:7px;
  }
  .sn-idea-sort-select{
    width:100%;
  }
  .sn-list-order-note{
    width:100%;
    justify-content:center;
  }
  .sn-child-sort-wrap{
    margin-left:0;
    align-items:stretch;
    flex-direction:column;
    gap:6px;
  }
  .sn-child-sort-select{
    width:100%;
    min-height:42px;
  }
}

/* v1.4.1: project attribution and editorial trust notice */
.sn-moderation-notice{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:14px;
  align-items:start;
  margin:22px 0 0;
  padding:17px 18px;
  border:1px solid color-mix(in srgb,var(--sn-ideen-primary),transparent 72%);
  border-radius:16px;
  background:color-mix(in srgb,var(--sn-ideen-primary),white 95%);
}
.sn-moderation-notice>span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--sn-ideen-primary);
  color:#fff;
  font-size:.86rem;
  font-weight:900;
}
.sn-moderation-notice strong{display:block;color:var(--sn-ideen-text,#111827);line-height:1.35}
.sn-moderation-notice p{margin:4px 0 0!important;font-size:.9rem;line-height:1.5;color:var(--sn-ideen-muted,#4b5563)!important}
.sn-project-story{
  width:100%;
  max-width:var(--sn-ideen-content-max,1480px);
  margin:0 auto var(--sn-ideen-section-spacing,48px);
  padding:clamp(24px,4vw,42px);
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,.38fr);
  gap:clamp(26px,5vw,70px);
  align-items:center;
  border:1px solid var(--sn-ideen-border,#e5e7eb);
  border-radius:var(--sn-ideen-form-radius,24px);
  background:linear-gradient(135deg,color-mix(in srgb,var(--sn-ideen-primary),white 96%),var(--sn-ideen-surface,#fff));
  box-shadow:var(--sn-ideen-card-shadow,0 16px 44px rgba(17,24,39,.07));
  color:var(--sn-ideen-text,#111827);
}
.sn-project-story-eyebrow{
  margin:0 0 10px!important;
  color:var(--sn-ideen-primary)!important;
  font-size:.78rem!important;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.sn-project-story h2{margin:0 0 14px;font-size:var(--sn-ideen-section-title);line-height:1.12;color:var(--sn-ideen-text,#111827)}
.sn-project-story-copy>p:not(.sn-project-story-eyebrow){max-width:900px;margin:0;color:var(--sn-ideen-muted,#4b5563);line-height:1.65}
.sn-project-story-link{display:inline-flex;margin-top:20px;color:var(--sn-ideen-primary);font-weight:850;text-underline-offset:3px}
.sn-project-story-credits{
  padding:22px;
  border-radius:20px;
  background:var(--sn-ideen-accent,#111827);
  color:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.16);
}
.sn-project-story-credits span,.sn-project-story-credits small{display:block;color:#cbd5e1;font-size:.75rem;line-height:1.4}
.sn-project-story-credits strong{display:block;margin-top:5px;color:#fff;font-size:1rem;line-height:1.35}
.sn-project-story-credits small{margin-top:3px}
.sn-project-story-credits hr{margin:17px 0;border:0;border-top:1px solid rgba(255,255,255,.18)}
@media(max-width:980px){.sn-project-story{grid-template-columns:1fr}.sn-project-story-credits{max-width:520px}}
@media(max-width:680px){
  .sn-moderation-notice{grid-template-columns:28px 1fr;padding:15px;border-radius:14px}
  .sn-moderation-notice>span{width:26px;height:26px}
  .sn-project-story{max-width:calc(100% - 28px);padding:22px 18px;border-radius:18px}
  .sn-project-story h2{font-size:var(--sn-ideen-section-title-mobile)}
  .sn-project-story-credits{padding:18px;border-radius:16px}
}

/* v1.6.1: clear success state after idea and subidea submissions */
.sn-form-entry[hidden],.sn-form-success-panel[hidden]{display:none!important}
.sn-form-success-panel{
  min-height:clamp(330px,42vw,470px);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:clamp(28px,5vw,64px);
  border:1px solid color-mix(in srgb,var(--sn-ideen-primary),transparent 70%);
  border-radius:calc(var(--sn-ideen-form-radius,24px) - 4px);
  background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--sn-ideen-primary),white 91%),transparent 54%),var(--sn-ideen-surface,#fff);
  color:var(--sn-ideen-text,#111827);
  text-align:center;
  outline:none;
}
.sn-submission-success-icon{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin-bottom:22px;
  border-radius:50%;
  background:var(--sn-ideen-primary);
  color:#fff;
  box-shadow:0 14px 34px color-mix(in srgb,var(--sn-ideen-primary),transparent 68%);
  font-size:1.75rem;
  font-weight:900;
}
.sn-form-success-panel h3,.sn-subidea-success-panel h3{
  margin:0 0 12px;
  color:var(--sn-ideen-text,#111827);
  font-size:clamp(1.65rem,3vw,2.35rem);
  line-height:1.12;
  letter-spacing:-.025em;
}
.sn-form-success-panel p,.sn-subidea-success-panel p{
  max-width:720px;
  margin:0;
  color:var(--sn-ideen-muted,#4b5563);
  font-size:1.03rem;
  line-height:1.65;
}
.sn-form-success-panel .sn-form-success-followup,.sn-subidea-success-panel .sn-form-success-followup{
  margin-top:10px;
  color:var(--sn-ideen-muted,#64748b);
  font-size:.93rem;
}
.sn-form-success-panel .sn-form-another{margin-top:28px}
.sn-subidea-success-panel{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:12px 2px 2px;
  text-align:center;
  outline:none;
}
.sn-subidea-success-panel .sn-submission-success-icon{width:56px;height:56px;margin-bottom:18px;font-size:1.5rem}
.sn-subidea-success-panel .sn-vote-modal-actions{justify-content:center;margin-top:24px}
@media(max-width:680px){
  .sn-form-success-panel{min-height:360px;padding:34px 20px}
  .sn-submission-success-icon{width:56px;height:56px;font-size:1.5rem}
  .sn-form-success-panel .sn-form-another{width:100%}
  .sn-subidea-success-panel .sn-vote-modal-actions{width:100%}
  .sn-subidea-success-panel .sn-vote-modal-actions button{width:100%}
}

/* v1.6.2: vote responses belong in a readable status box, never inside the button */
.sn-vote-feedback[hidden],.sn-vote-feedback:empty{display:none!important}
.sn-idea-card > .sn-vote-feedback,.sn-child-idea-item > .sn-vote-feedback{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid transparent;
  border-radius:12px;
  font-size:.84rem!important;
  font-weight:700;
  line-height:1.5!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.sn-child-idea-item > .sn-vote-feedback{grid-column:1/-1}
.sn-vote-feedback.is-success{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#166534!important;
}
.sn-vote-feedback.is-notice{
  border-color:color-mix(in srgb,var(--sn-ideen-primary),transparent 68%);
  background:color-mix(in srgb,var(--sn-ideen-primary),white 94%);
  color:var(--sn-ideen-text,#1f2937)!important;
}
.sn-vote-feedback.is-error{
  border-color:#fecaca;
  background:#fef2f2;
  color:#991b1b!important;
}
.sn-vote-btn{max-width:100%;white-space:normal;text-align:center}
